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:

  1. endDelimiter set on a specific changeset, including in rollbackSqlFile (highest precedence)

  2. endDelimiter set in a changelog called by include or includeAll in modifyChangeSets

  3. --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-end-delimiter: "<string>" }

Global CLI parameter

liquibase --global-end-delimiter=<string> update --changelog-file=example-changelog.xml

JVM system property (JAVA_OPTS environment variable)

Unix:

JAVA_OPTS=-Dliquibase.globalEndDelimiter=<string>

Windows:

JAVA_OPTS=-D"liquibase.globalEndDelimiter"=<string>

Liquibase environment variable

LIQUIBASE_COMMAND_CHANGELOG_FILE=<string>

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 --global-end-delimiter.

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>

global-end-delimiter - Liquibase