New Webinar: Govern roles, shares, and data movement in Snowflake

Learn how to govern Snowflake roles, shares, and data movement without slowing delivery. Join our live webinar on controlling drift, permissions, and audit readiness.

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>