global-end-delimiter
Last updated: September 2, 2025
--global-end-delimiter is a global parameter that lets you specify a default delimiter to use for all changesets. This is useful if you can't use the default delimiter of ;.
It is available in Liquibase Secure 5.0 and later and requires a valid Liquibase Secure license key to use.
From Liquibase Pro version 4.25.1 through 4.33, this parameter was called --pro-global-end-delimiter. See the change history table at the end of this article for pre-5.0 version syntax.
The --global-end-delimiter
argument is similar to the endDelimiter
attribute for the sql
, sqlFile
, partiql
, and partiqlFile
Change Types, but has a global scope.
If you set--global-end-delimiter
and do not set endDelimiter
, then Liquibase applies the value of --global-end-delimiter
to all changesets. If you set a delimiter both ways, Liquibase determines which delimiter to use for a changeset in the following order:
endDelimiter
set on a specific changeset, including inrollbackSqlFile
(highest precedence)endDelimiter
set in a changelog called byinclude
orincludeAll
inmodifyChangeSets
--global-end-delimiter
set globally (lowest precedence)
You can give --global-end-delimiter
the highest precedence of all delimiter settings by also using the --global-end-delimeter-override
parameter.
It is a best practice not to use --global-end-delimiter
on changesets you are running with a native executor. Native executors handle delimiters natively.
Uses
If you need to deploy SQL using a non-standard delimiter, such as if the SQL you're deploying contains the ;
character, you can use --global-end-delimiter
to set a custom delimiter across all your changesets. This is easier than manually specifying endDelimiter
on every individual changeset. Also, having one central parameter for a delimiter reduces inconsistencies resulting from manual updates to changesets.
Syntax
You can set this parameter in the following ways:
Option | Syntax |
Liquibase properties file (defaults file) | liquibase.globalEndDelimiter: <string> |
Global flow file argument | globalArgs: { |
Global CLI parameter | liquibase
-- |
JVM system property (JAVA_OPTS environment variable) | Unix: JAVA_OPTS=-Dliquibase.globalEndDelimiter=<string> Windows: JAVA_OPTS=-D"liquibase.globalEndDelimiter"=<string> |
Liquibase environment variable |
|
For more information, see Working with command parameters.
Command history
Version | Change |
---|---|
Liquibase Secure, version 5.0 | Parameter changed from --pro-global-end-delimiter to -- Here are the previous values from when it was --pro-global-end-delimeter. Liquibase properties file(defaults file) liquibase.pro.globalEndDelimiter: <string> Global flow file argument globalArgs: { pro-global-end-delimiter: "<string>" } Global CLI parameter liquibase --pro-global-end-delimiter=<string> update --changelog-file=example-changelog.xml JVM system property(JAVA_OPTS environment variable) Unix: JAVA_OPTS=-Dliquibase.pro.globalEndDelimiter=<string> Windows: JAVA_OPTS=-D"liquibase.pro.globalEndDelimiter"=<string> |