The vacuum extension adds an additional changelog tag/command to support vacuuming. As of version 1.0, it only supports database-level vacuuming. Future versions will include table-level config as well as support for controlling vacuum options.
Note: vacuum cannot run in a transaction, so specify runInTransaction="false" in the containing changeset.
There is currently no dedicated .xsd file using an XML-based changelog. Therefore, use the standard extension xsd of http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd.
<vacuum>
Vacuums PostgreSQL database.
These instructions will help you get the extension up and running on your local machine for development and testing purposes. This extension has a prerequisite of Liquibase core in order to use it. Liquibase core can be found at https://www.liquibase.org/download.
Download the latest released Liquibase extension .jar file and place it in the liquibase/lib install directory. If you want to use another location, specify the extension .jar file in the classpath of your liquibase.properties file.
Specify the Liquibase extension in the <dependency> section of your POM file by adding the org.liquibase.ext dependency for the Liquibase plugin.
<plugin>
<!--start with basic information to get Liquibase plugin:
include <groupId>, <artifactID>, and <version> elements-->
<groupId>org.liquibase</groupId>
<artifactId>liquibase-maven-plugin</artifactId>
<version>4.3.2</version>
<configuration>
<!--set values for Liquibase properties and settings
for example, the location of a properties file to use-->
<propertyFile>liquibase.properties</propertyFile>
</configuration>
<dependencies>
<!--set up any dependencies for Liquibase to function in your
environment for example, a database-specific plugin-->
<dependency>
<groupId>org.liquibase.ext</groupId>
<artifactId>liquibase-postgresql</artifactId>
<version>${liquibase-postgresql.version}</version>
</dependency>
</dependencies>
</plugin>
<databaseChangeLog
xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-2.0.xsd
http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd">
<changeSet id="1" author="nvoxland" runInTransaction="false">
<ext:vacuum/>
</changeSet>
</databaseChangeLog>To file a bug, improve documentation, or contribute code, follow our guidelines for contributing.
This step-by-step instructions will help you contribute code for the extension.
Once you have created a PR for this extension you can find the artifact for your build using the following link: https://github.com/liquibase/liquibase-postgresql/actions/workflows/build.yml.
Using Liquibase with PostgreSQL on Windows
Any issues can be logged in the Github issue tracker.
This project is licensed under the Functional Source License, Version 1.1, ALv2 Future License (FSL-1.1-ALv2).