Column t1.tgconstrname does not exist

Description

When using a precondition with <not> + <foreignKeyConstraintExists> on postgresql 10 it throws the error:

liquibase.precondition.core.ForeignKeyExistsPrecondition@1ee1bd3c : ERROR: column t1.tgconstrname does not exist

Searching for the column name on Google i found in the postgresql docs it was into the PG table "pg_trigger" until version 8.4.

Since version 9+ it was removed, but someway the problem didn't happened, probably because PG managed to suppress the error by creating any kind of alias.

Now that the version 10 was released it simply isn't compatible anymore.

This problem need special attention since it is a blocker and it was found on the last released versions of liquibase and postgres, which are already being used in production by many projects worldwide.

Environment

  • Liquibase 3.5+

  • PostgreSQL 10+

Activity

Show:

Alisson Molinari March 16, 2018 at 11:48 AM

In our project, updating postgresql jdbc driver to any 42.x version solved the issue.

we are using this lib:
https://mvnrepository.com/artifact/org.postgresql/postgresql

Yorick van Pelt March 14, 2018 at 9:20 PM

Update: probably another component giving this same error. Will investigate more.

Yorick van Pelt March 14, 2018 at 9:11 PM

I'm still getting this in 3.6.0-beta1.

Nathan Voxland February 19, 2018 at 6:26 AM

Changes in 3.6.0 should address this problem.

December 22, 2017 at 10:01 AM

I am also having the problem

Fixed

Details

Reporter

Components

Fix versions

Affects versions

Priority

Created November 8, 2017 at 1:11 PM
Updated March 16, 2018 at 11:48 AM
Resolved February 19, 2018 at 6:26 AM