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.
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.