listLocks returns a list of one that includes the hostname, IP address, and the timestamp the connection acquired the lock on the DATABASECHANGELOG table.
listLocks is typically used when an error occurs during a database deployment. The error might indicate that there is a lock on the DATABASECHANGELOG table by another user that is preventing Liquibasefrom applying schema changes to the specified database.
listLocks will read the DATABASECHANGELOGLOCK table and return a list that includes the hostname, IP address, and the timestamp the lock was granted to the DATABASECHANGELOG table and determines the connections to the DATABASECHANGELOG table based on the database URL.
To run the l
istLocks command, you need to specify your URL and user authentication information in your
liquibase.properties file. You can also specify these properties in your command line.
Then run the
liquibase –-changeLogFile=mainchangelog.xml listLocks
Note: Enter the name of the changelog you want to use in place of
main-changelog.xml. You can also add the
changeLogFile to your
listLocks global attributes
||The root changelog||Required|
||The database username||Required|
||The database password||Required|
||The JDBC database connection||Required|
listLocks command produces the following output when there is no lock on the table:
Liquibase Pro 3.9.0 by Datical licensed to Liquibase Pro Customer until Tue Sep 22 19:00:00 CDT 2020 Database change log locks for HR_DEV@jdbc:oracle:thin:@support.datical.net:1521:ORCL - No locks Liquibase command 'listLocks' was executed successfully.
listLocks command produces the following output when there is a lock on the table:
Liquibase Community 3.9.0 by Datical Database change log locks for db2inst1@jdbc:db2://localhost:50000/sample2 - 2605:6000:101c:686:486:f4ae:82fe:3c99%en0 (2605:6000:101c:686:486:f4ae:82fe:3c99%en0) at Jul 6, 2020, 4:45:38 PM Liquibase command 'listlocks' was executed successfully.