# Installing SnowSQL¶

This topic describes how to download SnowSQL and install it on all supported platforms.

The primary SnowSQL installer is provided as a file that can be downloaded from the Snowflake Client Repository.

Note

• The Amazon S3 artifact repository is still available to provide updates for SnowSQL versions 1.1.86 and earlier. In order to obtain new features and bug fixes from SnowSQL 1.2.0 and later, download the SnowSQL installer following the instructions below.

In this Topic:

## Installing SnowSQL on Linux Using the Installer¶

This section describes how to download, verify, and run the installer package to install SnowSQL on Linux.

By default, SnowSQL upgrades patch versions automatically. For information about the auto-upgrade feature, see What is Auto-upgrade? (in this topic). Linux users can install SnowSQL using an alternate RPM package that does not support this capability. For instructions, see Installing SnowSQL on Linux Using the RPM Package (in this topic).

By default, the SnowSQL installer downloads the binaries to the following directory:

~/.snowsql

~/.snowsql/config

You can change both the download directory and location of the configuration file by setting the WORKSPACE environment variable to any user-writable directory. This is particularly useful if you have an isolated SnowSQL environment for each process.

In addition, you can separate the download directory from the configuration file by setting the SNOWSQL_DOWNLOAD_DIR environment variable so that multiple SnowSQL processes can share the binaries. For example:

$SNOWSQL_DOWNLOAD_DIR=/var/shared snowsql -h  Note that SNOWSQL_DOWNLOAD_DIR is supported starting with the SnowSQL 1.1.70 bootstrap version. To check the version you are using, execute the following command from the terminal window prompt: $ snowsql --bootstrap-version


The SnowSQL installer can be downloaded from the Snowflake Client Repository. No authentication is required. This version of the SnowSQL installer enables auto-upgrade for patches.

For increased flexibility, Snowflake provides both Amazon Web Services (AWS) and Azure endpoints for downloading the SnowSQL installer. Accounts hosted on any supported cloud platform can download the installer from either endpoint.

Run curl (or an equivalent command line tool) to download the installer. The curl syntax is as follows:

AWS endpoint
$curl -O https://sfc-repo.snowflakecomputing.com/snowsql/bootstrap/<bootstrap_version>/linux_x86_64/snowsql-<version>-linux_x86_64.bash  Microsoft Azure endpoint $ curl -O https://sfc-repo.azure.snowflakecomputing.com/snowsql/bootstrap/<bootstrap_version>/linux_x86_64/snowsql-<version>-linux_x86_64.bash


Where:

• <version> is the combined SnowSQL major, minor, and patch versions. For example, for version 1.2.3, the major version is 1, the minor version is 2, and the patch version is 3. So, the version is 1.2.3.

• <bootstrap_version> is the combined SnowSQL major and minor versions. For example, for version 1.2.3, the major version is 1 and the minor version is 2, so the bootstrap version is 1.2.

For example, to download the SnowSQL installer where <bootstrap_version> is 1.2 and <version> is 1.2.9:

AWS endpoint
$curl -O https://sfc-repo.snowflakecomputing.com/snowsql/bootstrap/1.2/linux_x86_64/snowsql-1.2.9-linux_x86_64.bash Microsoft Azure endpoint $ curl -O https://sfc-repo.azure.snowflakecomputing.com/snowsql/bootstrap/1.2/linux_x86_64/snowsql-1.2.9-linux_x86_64.bash

### Verifying the Package Signature¶

1. Download and import the latest Snowflake GPG public key from the Snowflake web interface or the public keyserver.

2. Select CLI Client (snowsql) on the left, then click the Snowflake GPG Public Key icon on the right.

$gpg --keyserver hkp://keys.gnupg.net --recv-keys EC218558EABB25A1 Note If reinstalling SnowSQL version 1.1.74 or lower, use GPG key ID 93DB296A69BE019A instead of EC218558EABB25A1. 2. Download the GPG signature along with the bash installer and verify the signature: $ curl -O https://sfc-repo.snowflakecomputing.com/snowsql/bootstrap/1.2/linux_x86_64/snowsql-1.2.9-linux_x86_64.bash
$curl -O https://sfc-repo.snowflakecomputing.com/snowsql/bootstrap/1.2/linux_x86_64/snowsql-1.2.9-linux_x86_64.bash.sig$ gpg --verify snowsql-1.2.9-linux_x86_64.bash.sig snowsql-1.2.9-linux_x86_64.bash

or

$curl -O https://sfc-repo.azure.snowflakecomputing.com/snowsql/bootstrap/1.2/linux_x86_64/snowsql-1.2.9-linux_x86_64.bash$ curl -O https://sfc-repo.azure.snowflakecomputing.com/snowsql/bootstrap/1.2/linux_x86_64/snowsql-1.2.9-linux_x86_64.bash.sig
$gpg --verify snowsql-1.2.9-linux_x86_64.bash.sig snowsql-1.2.9-linux_x86_64.bash Note Verifying the signature produces a warning similar to the following:  gpg: Signature made Mon 24 Sep 2018 03:03:45 AM UTC using RSA key ID <gpg_key_id> gpg: Good signature from "Snowflake Computing <snowflake_gpg@snowflake.net>" unknown gpg: WARNING: This key is not certified with a trusted signature! gpg: There is no indication that the signature belongs to the owner. To avoid the warning, you could grant the Snowflake GPG public key implicit trust.  3. Your local environment can contain multiple GPG keys; however, for security reasons, Snowflake periodically rotates the public GPG key. As a best practice, we recommend deleting the existing public key after confirming that the latest key works with the latest signed package. For example: $ gpg --delete-key "Snowflake Computing"


### Installing SnowSQL Using the Installer¶

1. Open a terminal window.

$bash snowsql-linux_x86_64.bash  3. Follow the instructions provided by the installer. Note The installation can be automated by setting the following environment variables: • SNOWSQL_DEST: Target directory of the snowsql executable. • SNOWSQL_LOGIN_SHELL: The login shell initialization file, which includes the PATH environment update. $ SNOWSQL_DEST=~/bin SNOWSQL_LOGIN_SHELL=~/.profile bash snowsql-linux_x86_64.bash


When you install a new major or minor version, SnowSQL does not upgrade itself immediately. Rather, you must log into your Snowflake account using SnowSQL and remain connected for a sufficient period of time for the auto-upgrade feature to upgrade the client to the latest release. To verify the SnowSQL version that currently starts when you run the client, use the -v option without a value:

$snowsql -v Version: 1.2.3  To force SnowSQL to install and use a specific version, use the -v option and specify the version you want to install. For example, execute the following command for version 1.2.5: $ snowsql -v 1.2.5


## Installing SnowSQL on Linux Using the RPM Package¶

The software installation policy in some organizations prohibits automatic upgrading. For this reason, and to provide more choice to users who prefer to upgrade software manually, Snowflake provides an alternative version of the SnowSQL installer for Linux that does not support automatic upgrades. This version of the installer is provided as an RPM package, which you can download from:

https://sfc-repo.snowflakecomputing.com/snowsql/bootstrap/1.2/linux_x86_64/index.html

### Installing the SnowSQL RPM Package¶

The downloaded RPM file can be installed the way that any other RPM package is installed:

rpm -i <package_name>


## Installing SnowSQL on macOS Using the Installer¶

This section describes how to download and run the installer package to install SnowSQL on macOS.

By default, the SnowSQL installer downloads the binaries to the following directory:

~/.snowsql

~/.snowsql/config

You can change both the download directory and location of the configuration file by setting the WORKSPACE environment variable to any user-writable directory. This is particularly useful if you have an isolated SnowSQL environment for each process.

In addition, you can separate the download directory from the configuration file by setting the SNOWSQL_DOWNLOAD_DIR environment variable so that multiple SnowSQL processes can share the binaries. For example:

$SNOWSQL_DOWNLOAD_DIR=/var/shared snowsql -h  Note that SNOWSQL_DOWNLOAD_DIR is supported starting with the SnowSQL 1.1.70 bootstrap version. To check the version you are using, execute the following command from the terminal window prompt: $ snowsql --bootstrap-version


The SnowSQL installer can be downloaded from the Snowflake Client Repository. No authentication is required. This version of the SnowSQL installer enables auto-upgrade for patches.

For increased flexibility, Snowflake provides both AWS and Azure endpoints for downloading the SnowSQL installer. Accounts hosted on any supported cloud platform can download the installer from either endpoint.

Run curl (or an equivalent command line tool) to download the installer. The curl syntax is as follows:

AWS endpoint
$curl -O https://sfc-repo.snowflakecomputing.com/snowsql/bootstrap/<bootstrap_version>/darwin_x86_64/snowsql-<version>-darwin_x86_64.pkg  Microsoft Azure endpoint $ curl -O https://sfc-repo.azure.snowflakecomputing.com/snowsql/bootstrap/<bootstrap_version>/darwin_x86_64/snowsql-<version>-darwin_x86_64.pkg


Where:

• <version> is the combined SnowSQL major, minor, and patch versions. For example, for version 1.2.3, the major version is 1, the minor version is 2, and the patch version is 3. So, the version is 1.2.3.

• <bootstrap_version> is the combined SnowSQL major and minor versions. For example, for version 1.2.3, the major version is 1 and the minor version is 2, so the bootstrap version is 1.2.

For example, to download the SnowSQL installer where <bootstrap_version> is 1.2 and <version> is 1.2.9:

AWS endpoint
$curl -O https://sfc-repo.snowflakecomputing.com/snowsql/bootstrap/1.2/darwin_x86_64/snowsql-1.2.9-darwin_x86_64.pkg Microsoft Azure endpoint $ curl -O https://sfc-repo.azure.snowflakecomputing.com/snowsql/bootstrap/1.2/darwin_x86_64/snowsql-1.2.9-darwin_x86_64.pkg

The macOS operating system can verify the installer signature automatically, so GPG signature verification is not needed.

### Installing SnowSQL Using the Installer¶

1. Double-click snowsql-darwin_x86_64.pkg in the download location to run the installer PKG file.

2. Follow the instructions provided by the installer.

Note

The installation can be automated by running the installer from the command line. The target directory can be set to either CurrentUserHomeDirectory (~/Applications directory) or LocalSystem (/Applications directory):

$installer -pkg snowsql-darwin_x86_64.pkg -target CurrentUserHomeDirectory  When you install a new major or minor version, SnowSQL does not upgrade itself immediately. Rather, you must log into your Snowflake account using SnowSQL and remain connected for a sufficient period of time for the auto-upgrade feature to upgrade the client to the latest release. To verify the SnowSQL version that currently starts when you run the client, use the -v option without a value: $ snowsql -v

Version: 1.2.3


To force SnowSQL to install and use a specific version, use the -v option and specify the version you want to install. For example, execute the following command for version 1.2.5:



## Installing SnowSQL on Microsoft Windows Using the Installer¶

This section describes how to download and run the installer package to install SnowSQL on Microsoft Windows.

By default, the SnowSQL installer downloads the binaries to the following directory:

%USERPROFILE%\.snowsql

%USERPROFILE%\.snowsql\config

You can change both the download directory and location of the configuration file by setting the WORKSPACE environment variable to any user-writable directory. This is particularly useful if you have an isolated SnowSQL environment for each process.

In addition, you can separate the download directory from the configuration file by setting the SNOWSQL_DOWNLOAD_DIR environment variable so that multiple SnowSQL processes can share the binaries. For example:

$SNOWSQL_DOWNLOAD_DIR=/var/shared snowsql -h  Note that SNOWSQL_DOWNLOAD_DIR is supported starting with the SnowSQL 1.1.70 bootstrap version. To check the version you are using, execute the following command from the terminal window prompt: $ snowsql --bootstrap-version


The SnowSQL installer can be downloaded from the Snowflake Client Repository. No authentication is required. This version of the SnowSQL installer enables auto-upgrade for patches.

For increased flexibility, Snowflake provides both AWS and Azure endpoints for downloading the SnowSQL installer. Accounts hosted on any supported cloud platform can download the installer from either endpoint.

Run curl (or an equivalent command line tool) to download the installer. The curl syntax is as follows:

AWS endpoint
$curl -O https://sfc-repo.snowflakecomputing.com/snowsql/bootstrap/<bootstrap_version>/windows_x86_64/snowsql-<version>-windows_x86_64.msi  Microsoft Azure endpoint $ curl -O https://sfc-repo.azure.snowflakecomputing.com/snowsql/bootstrap/<bootstrap_version>/windows_x86_64/snowsql-<version>-windows_x86_64.msi


Where:

• <version> is the combined SnowSQL major, minor, and patch versions. For example, for version 1.2.3, the major version is 1, the minor version is 2, and the patch version is 3. So, the version is 1.2.3.

• <bootstrap_version> is the combined SnowSQL major and minor versions. For example, for version 1.2.3, the major version is 1 and the minor version is 2, so the bootstrap version is 1.2.

For example, to download the SnowSQL installer where <bootstrap_version> is 1.2 and <version> is 1.2.9:

AWS endpoint
$curl -O https://sfc-repo.snowflakecomputing.com/snowsql/bootstrap/1.2/windows_x86_64/snowsql-1.2.9-windows_x86_64.msi Microsoft Azure endpoint $ curl -O https://sfc-repo.azure.snowflakecomputing.com/snowsql/bootstrap/1.2/windows_x86_64/snowsql-1.2.9-windows_x86_64.msi

The Windows operating system can verify the installer signature automatically, so GPG signature verification is not needed.

### Installing SnowSQL Using the Installer¶

1. Double-click snowsql-windows_x86_64.msi in the download location to run the installer MSI file.

2. Follow the instructions provided by the installer.

Note

The installation can be automated by running the MSI installer msiexec from the command line. The target directory cannot be changed from %ProgramFiles%\Snowflake SnowSQL. For example:

C:\Users\<username> msiexec /i snowsql-windows_x86_64.msi /q


When you install a new major or minor version, SnowSQL does not upgrade itself immediately. Rather, you must log into your Snowflake account using SnowSQL and remain connected for a sufficient period of time for the auto-upgrade feature to upgrade the client to the latest release. To verify the SnowSQL version that currently starts when you run the client, use the -v option without a value:

$snowsql -v Version: 1.2.3  To force SnowSQL to install and use a specific version, use the -v option and specify the version you want to install. For example, execute the following command for version 1.2.5: $ snowsql -v 1.2.5


## Understanding SnowSQL Versioning¶

SnowSQL version numbers consist of three digits: <major version>.<minor version>.<patch version>.

For example, version 1.2.3 indicates the major version is 1, the minor version is 2, the patch version is 3.

To determine the SnowSQL version that currently starts when you run the client, use the -v option without a value:

$snowsql -v Version: 1.2.3  In general, the following guidelines apply to the different version types: Major version A change in the major version indicates dramatic improvements in the underlying Snowflake service. A new major version breaks backward compatibility. You will need to download and install the latest SnowSQL version from the web interface. Minor version A change in the minor version indicates improvements to support forward compatibility in either SnowSQL or the underlying Snowflake service. A new minor version does not break backward compatibility, but we strongly recommend that you download and install the latest SnowSQL version from the web interface. Patch version A change in the patch version indicates small enhancements or bug fixes were applied. The auto-upgrade feature automatically installs all patch versions. For more information about the auto-upgrade feature, see What is Auto-upgrade? (in this topic). Note If a minor version is released, the functionality in your current version should continue to work, but any newly-released bug fixes and features will not be available via the auto-upgrade feature. Therefore, we strongly recommended that you download and install the latest SnowSQL version if the minor version is increased. ### What is Auto-upgrade?¶ By default, SnowSQL upgrades itself automatically to the latest patch version. A new major or minor version requires a manual download and installation. When a newer patch version is available, SnowSQL downloads the new binary in a background process and executes the current version. The next time you run SnowSQL, the new version starts. To illustrate the process: 1. For a fresh installation, you download the SnowSQL installer (e.g., version 1.2.0) using the Snowflake web interface and install the client. 2. Each time you run SnowSQL, the client checks whether a newer version is available in the SnowSQL upgrade repository. 3. If a newer version (e.g., version 1.2.1) is available, SnowSQL downloads it as a background process while the current installed version. 4. The next time you run SnowSQL, the client executes version 1.2.1 while checking if a newer version is available. ### Disabling Auto-upgrade¶ The --noup option prevents SnowSQL from downloading a new version, if available. You can specify this option while logging into Snowflake to prevent an auto-upgrade during that specific session. For example: $ snowsql --noup


Alternatively, add the noup = true option to the configuration file to prevent SnowSQL from auto-upgrading until the option is removed or set to false.

### Running a Previous SnowSQL Version¶

If you encounter an issue with the latest SnowSQL version, e.g., version 1.2.2, you can temporarily run a previous version.

To determine the SnowSQL version that currently starts when you run the client, use the -v option without a value:

$snowsql -v Version: 1.2.2  To display a list of available SnowSQL versions, use the --versions option: $ snowsql --versions

1.2.3
1.2.2
1.2.1
1.2.0


To install an earlier SnowSQL version from the list, use the -v option and specify the version you want to install. For example, to install version 1.2.3:

$snowsql -v 1.2.3 Installing version: 1.2.3 [####################################] 100%  Use the same option to specify the version you want to run when you start SnowSQL: $ snowsql -v 1.2.3


## Changing the Snowflake Client Repository Endpoint Used by the SnowSQL Auto-Upgrade Feature¶

By default, the SnowSQL auto-upgrade feature uses the AWS endpoint of the Snowflake Client Repository. To change the endpoint in the SnowSQL configuration file, complete the steps in this section.

### New Users¶

To specify the Microsoft Azure endpoint of the Snowflake Client Repository as a new SnowSQL user, execute the following command:

snowsql -o repository_base_url=https://sfc-repo.azure.snowflakecomputing.com/snowsql


Verify the configuration file (i.e. ~/.snowsql/config or %USERPROFILE%\.snowsql\config) includes the following line.

repository_base_url=https://sfc-repo.azure.snowflakecomputing.com/snowsql


### Existing Users¶

To specify the Microsoft Azure endpoint of the Snowflake Client Repository as an existing SnowSQL user, add the following line to the configuration file (i.e. ~/.snowsql/config or %USERPROFILE%\.snowsql\config):

repository_base_url=https://sfc-repo.azure.snowflakecomputing.com/snowsql