liquibase-tablespace-name
The liquibase-tablespace-name
global parameter is a string that sets which tablespace Liquibase uses to store objects that are being deployed to your database.
liquibase-tablespace-name
only affects objects managed by Liquibase, the DATABASECHANGELOG and DATABASECHANGELOGLOCK tracking tables.
Uses
Each type of database allocates its own default tablespaces in memory, such as SYSTEM
and SYSAUX
in Oracle. You can set liquibase-tablespace-name
to one of these values. Alternatively, you can create an additional tablespace and set it as the value of liquibase-tablespace-name
.
Setting the liquibase-tablespace-name
parameter
You can set liquibase-tablespace-name
in four ways:
- In the Liquibase properties file
- As a global parameter in the CLI
- As a JVM system property
- As an environment variable (Liquibase Pro)
Liquibase properties file parameter
In Liquibase 4.1+, add the following to Liquibase properties file:
liquibase.liquibaseTablespaceName
: <string>
CLI global parameter
In your command line, use a global parameter with a single Liquibase command:
liquibase --liquibase-tablespace-name
=<string>
update
--changelog-file=dbchangelog.xml
Java system property
In your command line, use the JAVA_OPTS Environment Variable to set a JVM system property:
Mac/Linux syntax:
JAVA_OPTS=-Dliquibase.liquibaseTablespaceName
=<string>
Windows syntax:
set JAVA_OPTS=-Dliquibase.liquibaseTablespaceName
=<string>
Note: To use a Liquibase command alongside JAVA_OPTS
, add && liquibase <command>
to the end of your input.
Environment variable (Liquibase Pro)
In Liquibase Pro, set an environment variable:
Mac/Linux syntax:
LIQUIBASE_LIQUIBASE_TABLESPACE_NAME
=<string>
Windows syntax:
set LIQUIBASE_LIQUIBASE_TABLESPACE_NAME
=<string>
Note: These environment variable commands only apply to the current shell. If you need to pass an environment variable to a child process without affecting the parent process, you can use the export
command on Mac/Linux or the setx
command on Windows.