Applies to:
- Liquibase Enterprise (Datical DB)
Conditions:
- Using DMC
Issue Summary:
Deployment fails with the below error message, but there are no values in the SQL statement that should be causing this character limit where changes are being applied.
Error Message:
ERROR c.d.h.r.d.s.DaticalServerChangeLogFileSync - Exception in Sync Changelog File:
org.postgresql.util.PSQLException: ERROR: value too long for type character varying(255)
at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2532)
at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2267)
at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:510)
at org.postgresql.jdbc.PgStatement.internalExecuteBatch(PgStatement.java:851)
...
ERROR c.d.h.repl.command.CommandsManager - Exception occurred syncing caching tables in datical server
...
ERROR: value too long for type character varying(255) Call getNextException to see other errors in the batch.
at org.postgresql.jdbc.BatchResultHandler.handleError(BatchResultHandler.java:159)
Root Cause:
This error does not indicate a character limit with the values or changes from the SQL statement being run on the database. This error actually stems from a character limit on a table used for Liquibase DMC.
The "label" column on the "changelog_file_changeset" table in your DMC Postgres database had a character limit of 255 prior to version 7.10.
This issue was corrected in DMC version 7.10 by increasing the character limit to 4000, but the update to this table may not have applied to your database since it existed prior to upgrading.
Resolution:
The recommended solution to this issue is to update the "label" column on the "changelog_file_changeset" table in your DMC database to the new character limit of 4000. This will prevent this issue in the future.
Example SQL to modify this table:
ALTER TABLE changelog_file_changeset ALTER COLUMN label TYPE VARCHAR(4000);
Related Article(s):
N/A
Comments
0 comments
Article is closed for comments.