• Task
  • Version · 6.0
  • Deliver

Run Liquibase without the DATABASECHANGELOGLOCK table

Last updated: October 19, 2026

If your platform already makes sure only one Liquibase process runs against a database at a time, such as a Kubernetes job that runs a single Liquibase container, you can stop Liquibase from creating and locking the DATABASECHANGELOGLOCK table. Without the lock, nothing stops two Liquibase processes from updating the same database at once, so do this only when your platform guarantees a single process.

Procedure

1

Install the liquibase-nochangeloglock extension

You only need one of these methods: add the JAR file to the Liquibase CLI, or add the Maven dependency to your project.

  • Liquibase CLI: Download liquibase-nochangeloglock-5.0.4.jar from the extension's releases page and copy it into the lib directory of your Liquibase installation, LIQUIBASE_HOME/lib.

  • Maven or an application that runs Liquibase: Add this dependency to your pom.xml, or add the JAR file to your application's classpath.

loading

The lock is off as soon as the extension is on the classpath. You do not need to set anything else.

2

Confirm that Liquibase skips the lock

Run an update with the log level set to info:

liquibase --log-level=info update

The output no longer includes Successfully acquired change log lock. On a new database, Liquibase does not create the DATABASECHANGELOGLOCK table. An existing DATABASECHANGELOGLOCK table stays in the database, but Liquibase no longer reads or writes it, so liquibase list-locks reports No locks.

3

(Optional) Turn the lock back on without removing the extension

Set database-changelog-lock-enabled to true in one of these ways:

Option

Syntax

Liquibase properties file (defaults file)

liquibase.databaseChangelogLockEnabled: true

Global CLI parameter

liquibase --database-changelog-lock-enabled=true update

Liquibase environment variable

LIQUIBASE_DATABASE_CHANGELOG_LOCK_ENABLED=true

Note: The extension also reads the older liquibase.ext.nochangeloglock.enabled Java system property, and that property takes precedence when it is set. A value of true turns the lock off, and false turns it on.