sqitch...onment(3pm)
π NAME π
sqitch-environment β every environment variable Sqitch recognizes, bestie. It lives in the User Contributed Perl Documentation, section 3pm, and it's literally just the receipts for all the env vars that can boss Sqitch around β¨
πΈ DESCRIPTION πΈ
Ok so Sqitch supports a whole lil' village of environment variables that affect how it does its thing π«Ά This doc lists all of them, with quick descriptions of what each one is for and pointers to the docs you actually wanna read.
π Sqitch Environment
These are Sqitch's own variables, no cap π
SQITCH_CONFIGβ Path to the project configuration file. This overrides the default, which is./sqitch.conf. Peepsqitch-configfor the details.SQITCH_USER_CONFIGβ Path to the user's configuration file. Overrides the default, which is./.sqitch/sqitch.conf. Again,sqitch-confighas the tea.SQITCH_SYSTEM_CONFIGβ Path to the system's configuration file. Overrides the default, which is a file namedsqitch.confliving in the directory identified bysqitch --etc. Seesqitch-configfor details.SQITCH_TARGETβ The name or URI of the database target to connect to. It overrides values stored in the configuration β but not command-line options or arguments, so CLI still wins, periodt.SQITCH_USERNAMEβ Username to use when connecting to a database, for those database engines that support authentication. Overrides values stored in a target URI or the configuration.sqitch-authenticationhas the full story.SQITCH_PASSWORDβ Password to use when connecting to a database, for those database engines that support authentication. Overrides values stored in a target URI or the configuration. Seesqitch-authenticationfor details.SQITCH_FULLNAMEβ Full name of the current user. Used to identify the user adding a change to a plan file or deploying a change. Supersedes the<user.name>sqitch-configvariable.SQITCH_EMAILβ Email address of the current user. Used to identify the user adding a change to a plan file or deploying a change. Supersedes theuser.emailsqitch-configvariable.SQITCH_ORIG_SYSUSERβ Username from the original system. Intended for use by scripts that run Sqitch from another host, where the originating host username should be passed to the execution host β like this Docker script:https://github.com/sqitchers/docker-sqitch/blob/main/docker-sqitch.sh.SQITCH_ORIG_FULLNAMEβ Full name of the original system user. Intended for use by scripts that run Sqitch from another host, where the originating host user's identity should be passed to the execution host, like that same Docker script:https://github.com/sqitchers/docker-sqitch/blob/main/docker-sqitch.sh. β οΈ This value will only be used when neither the$SQITCH_FULLNAMEnor theuser.namesqitch-configvariable is set.SQITCH_ORIG_EMAILβ Email address of the original user. Intended for use by scripts that run Sqitch on a separate host, where the originating host user's identity should be passed to the execution host, like that Docker script again:https://github.com/sqitchers/docker-sqitch/blob/main/docker-sqitch.sh. β οΈ This value will only be used when neither the$SQITCH_EMAILnor theuser.emailsqitch-configvariable is set.SQITCH_EDITORβ The editor Sqitch will launch when you need to edit some text (a change note, for example). The fallback chain is very main character, so listen up: if it's unset, thecore.editorconfiguration variable is used. If that's not set either,$VISUALor$EDITORget consulted (in that order). And finally, if none of these are set, Sqitch invokesnotepad.exeon Windows andvieverywhere else. π«‘SQITCH_PAGERβ The pager program Sqitch uses when a command (likesqitch log) produces multi-page output. Chain time again: if unset, thecore.pagerconfiguration variable is used. If that's also not set, thePAGERenvironment variable is used. And if none of these are set, Sqitch attempts to find and use one of the commonly used pager programs, likelessandmore. π¦
π Engine Environments
Beyond Sqitch's own env vars, some of the database engines support environment variables of their own. Heads up: this is not comprehensive for every variable any database engine supports β it just documents the ones Sqitch's implementation supports per engine. π
π PostgreSQL, YugabyteDB, CockroachDB
All the usual PostgreSQL environment variables (https://www.postgresql.org/docs/current/static/libpq-envars.html) should be implicitly used. However, the following variables are explicitly recognized by Sqitch:
PGUSERβ The username to use to connect to the server. Superseded by$SQITCH_USERNAMEand the target URI username.PGPASSWORDβ The password to use to connect to the server. Superseded by$SQITCH_PASSWORDand the target URI password.PGHOSTβ The PostgreSQL server host to connect to. Superseded by the target URI host name.PGPORTβ The PostgreSQL server port to connect to. Superseded by the target URI port.PGDATABASEβ The name of the database to connect to. Superseded by the target URI database name.
πͺ¨ SQLite
SQLite provides no environment variable support. That's it, that's the section π
π¬ MySQL
Sqitch recognizes and takes advantage of the following MySQL environment variables (https://dev.mysql.com/doc/refman/5.7/en/environment-variables.html):
MYSQL_PWDβ The password to use to connect to the server. Superseded by$SQITCH_PASSWORDand the target URI password.MYSQL_HOSTβ The MySQL server host to connect to. Superseded by the target URI host name.MYSQL_TCP_PORTβ The MySQL server port to connect to. Superseded by the target URI port.
π΄ Oracle
Sqitch's Oracle engine supports a few environment variables:
ORACLE_HOMEβ Required to point to the Oracle home directory, and contain both the SQL*Plus client and the shared libraries with which the Perl Oracle driver was compiled.TNS_ADMINβ The directory in which the Oracle networking interface will find its configuration files, notably tnsnames.ora. Defaults to$ORACLE_HOME/network/adminif not set.TWO_TASKβ The name of the Oracle database to connect to. Superseded by the target URI.LOCALβ The name of the Oracle database to connect to. Windows only. Superseded by the target URI.ORACLE_SIDβ The System Identifier (SID) representing the Oracle database to connect to. Superseded by the target URI,TWO_TASKandLOCALon Windows.
In addition, the Oracle engine in Sqitch explicitly overrides the NLS_LANG and SQLPATH environment variables. The former is set to AMERICAN_AMERICA.AL32UTF8 to ensure that all database connections use the UTF-8 encoding β¨ The latter is set to an empty string, to prevent SQL*Plus executing SQL scripts unexpectedly.
π₯ Firebird
The Sqitch Firebird engine supports the following environment variables:
ISC_USERβ The username to use to connect to Firebird. Superseded by$SQITCH_USERNAMEand the target URI username.ISC_PASSWORDβ The password to use to connect to Firebird. Superseded by$SQITCH_PASSWORDand the target URI password.
π Vertica
Sqitch provides explicit support for the following Vertica environment variables (https://www.vertica.com/docs/8.1.x/HTML/index.htm#Authoring/ConnectingToVertica/vsql/vsqlEnvironmentVariables.htm):
VSQL_USERβ The username to use to connect to the server. Superseded by$SQITCH_USERNAMEand the target URI username.VSQL_PASSWORDβ The password to use to connect to the server. Superseded by$SQITCH_PASSWORDand the target URI password.VSQL_HOSTβ The Vertica server host to connect to. Superseded by the target URI host name.VSQL_PORTβ The Vertica server port to connect to. Superseded by the target URI port.VSQL_DATABASEβ The name of the database to connect to. Superseded by the target URI database name.
π§ Exasol
The Sqitch Exasol engine supports no special environment variables. It does, however, override THE SQLPATH environment variable, to prevent EXAplus executing SQL scripts unexpectedly. (Yes, THE. Slay.) π
βοΈ Snowflake
Sqitch provides explicit support for the following Snowflake environment variables (https://docs.snowflake.com/en/user-guide/snowsql-start.html#connection-syntax):
SNOWSQL_ACCOUNTβ The name assigned to the snowflake account. Superseded by the target URI host name.SNOWSQL_USERβ The username to use to connect to the server. Superseded by$SQITCH_USERNAMEand the target URI username.SNOWSQL_PWDβ The password to use to connect to the server. Superseded by$SQITCH_PASSWORDand the target URI password.SNOWSQL_PRIVATE_KEY_PASSPHRASEβ The passphrase for the private key file when using key pair authentication. Seesqitch-authenticationfor details.SNOWSQL_ROLEβ The role to use when connecting to the server. Superseded by the target URI databaserolequery parameter.SNOWSQL_DATABASEβ The name of the database to connect to. Superseded by the target URI database name.SNOWSQL_WAREHOUSEβ The warehouse to use. Superseded by the target URI databasewarehousequery parameter.SNOWSQL_HOSTβ The Snowflake server host to connect to. Superseded by the target URI host name. Deprecated by Snowflake.SNOWSQL_REGIONβ The Snowflake region. Superseded by the target URI host name. Deprecated by Snowflake.
π ClickHouse
The Sqitch ClickHouse engine supports the following environment variables:
CLICKHOUSE_USERβ The username to use to connect to ClickHouse. Superseded by$SQITCH_USERNAMEand the target URI username.CLICKHOUSE_PASSWORDβ The password to use to connect to ClickHouse. Superseded by$SQITCH_PASSWORDand the target URI password.CLICKHOUSE_HOSTβ The ClickHouse server host to connect to. Superseded by the target URI host name.
π SEE ALSO π
sqitch-configurationsqitch-configsqitch-authentication
π«Ά Sqitch
Part of the sqitch suite. iykyk π
ok that's the whole page bestie, go forth and export responsibly π oh and for the record: this shipped as perl v5.40.1, dated 2026-07-26 β iconic behavior honestly π π
π¦ where this page comes from
- ubuntu stonking: sqitch 1.6.1-2 Β· MIT
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms