What support does Liquibase have for PostgreSQL?
Last updated: March 24, 2026
PostgreSQL is an open-source, object-relational database system that supports a large part of the SQL standard and offers many modern features. For more information, see the PostgreSQL documentation page.
You can use Liquibase with several PostgreSQL database management systems, including PostgreSQL, PostgreSQL AWS RDS, Postgres AWS Aurora, Google Cloud SQL, and Azure Database on Postgres.
Verified database versions
PostgreSQL | PostgreSQL AWS RDS | PostgreSQL AWS Aurora | PostgreSQL Azure Database | Google Cloud SQL |
17 16 15 14 13 12 (deprecated) | 17 16 15 14 13 12 (deprecated) | 17 16 15 14 13 12 11 | Flexible Server: 16 15 13 | 16 15 14 13 12 11 |
Change Type | Supported |
addAutoIncrement | Supported |
addCheckConstraint | Supported |
addColumn | Supported |
addDefaultValue | Supported |
addForeignKeyConstraint | Supported |
addLookupTable | Supported |
addNotNullConstraint | Supported |
addPrimaryKey | Supported |
addUniqueConstraint | Supported |
alterSequence | Supported |
createFunction | Supported |
createIndex | Supported |
createPackage | Supported |
createPackageBody | Supported |
createProcedure | Supported |
createSequence | Supported |
createSynonym | Not Supported |
createTable | Supported |
createTrigger | Supported |
createView | Supported |
customChange | Supported |
delete | Supported |
disableCheckConstraint | Not Supported |
disableTrigger | Supported |
dropAllForeignKeyConstraints | Supported |
dropCheckConstraint | Supported |
dropColumn | Supported |
dropDefaultValue | Supported |
dropForeignKeyConstraint | Supported |
dropFunction | Supported |
dropIndex | Supported |
dropNotNullConstraint | Supported |
dropPackage | Supported |
dropPackageBody | Supported |
dropPrimaryKey | Supported |
dropProcedure | Supported |
dropSequence | Supported |
dropSynonym | Not Supported |
dropTable | Supported |
dropTrigger | Supported |
dropUniqueConstraint | Supported |
dropView | Supported |
enableCheckConstraint | Not Supported |
enableTrigger | Supported |
executeCommand | Supported |
insert | Supported |
loadData | Supported |
loadUpdateData | Supported |
markUnused | Not Supported |
mergeColumns | Supported |
modifyDataType | Supported |
output | Supported |
renameColumn | Supported |
renameSequence | Supported |
renameTable | Supported |
renameTrigger | Supported |
renameView | Supported |
setColumnRemarks | Supported |
setTableRemarks | Supported |
sql | Supported |
sqlFile | Supported |
stop | Supported |
tagDatabase | Supported |
update | Supported |
Command | Supported |
calculate-checksum | Supported |
changelog-sync | Supported |
changelog-sync-sql | Supported |
changelog-sync-to-tag | Supported |
changelog-sync-to-tag-sql | Supported |
clear-checksums | Supported |
db-doc | Supported |
diff | Supported |
diff JSON | Supported |
diff-changelog | Supported |
drop-all | Supported |
future-rollback-count-sql | Supported |
future-rollback-from-tag-sql | Supported |
future-rollback-sql | Supported |
generate-changelog | Supported |
help | Supported |
history | Supported |
list-locks | Supported |
mark-next-changeset-ran | Supported |
mark-next-changeset-ran-sql | Supported |
release-locks | Supported |
rollback | Supported |
rollback-count | Supported |
rollback-count-sql | Supported |
rollback-one-changeset | Supported |
rollback-one-changeset-sql | Supported |
rollback-one-update | Supported |
rollback-one-update-sql | Supported |
rollback-sql | Supported |
rollback-to-date | Supported |
rollback-to-date-sql | Supported |
snapshot | Supported |
snapshot-reference | Supported |
status | Supported |
tag | Supported |
tag-exists | Supported |
unexpected-changesets | Supported |
update | Supported |
update-sql | Supported |
update-count | Supported |
update-count-sql | Supported |
update-testing-rollback | Supported |
update-to-tag | Supported |
update-to-tag-sql | Supported |
validate | Supported |
Data type handling
Change Type | Description | Supported |
|---|---|---|
datatypes.arrays | INT[], TEXT[], BOOLEAN[] | Yes |
datatypes.binary | BYTEA | Yes |
datatypes.bitstring | BIT(8), BIT VARYING(16) | Yes |
datatypes.boolean | true, false | Yes |
datatypes.character | CHAR, VARCHAR, TEXT | Yes |
datatypes.datetime | DATE, TIME, TIMESTAMP, TIMESTAMPTZ, INTERVAL | Yes |
datatypes.geometric | POINT, LINE, LSEG, BOX, PATH, POLYGON, CIRCLE | Yes |
datatypes.json | JSON, JSONB | Yes |
datatypes.money | MONEY column creates successfully but INSERT fails: invalid input syntax for type numeric: "$12.34" — Lakebase maps MONEY to NUMERIC internally and does not accept currency-prefix notation. Use plain numeric literals (e.g., 12.34) in insert or loadData changesets. | No |
datatypes.network | INET, CIDR, MACADDR | Yes |
datatypes.numeric | INT2/4/8, FLOAT4/8, NUMERIC, DECIMAL | Yes |
datatypes.serial | SERIAL, BIGSERIAL, SMALLSERIAL | Yes |
datatypes.smallint | SMALLINT | Yes |
datatypes.uuid | UUID | Yes |
datatypes.xml | XML | Yes |