安装 SnowSQL¶
本主题介绍如何在所有支持的平台上下载和安装 SnowSQL。
要下载 SnowSQL 安装程序,请访问 SnowSQL 下载 (https://developers.snowflake.com/snowsql/) 页面。
备注
SnowSQL 1.3.0 版本禁用了自动升级,因此您必须手动下载并重新安装每个新版本。
本主题内容:
使用安装程序在 Linux 上安装 SnowSQL¶
本节介绍如何下载、验证和运行安装程序包以在 Linux 上安装 SnowSQL。
要手动升级 SnowSQL(例如,如果您的软件安装策略禁止自动升级),请使用 RPM 包安装 SnowSQL。RPM 包没有将 SnowSQL 设置为自动升级。有关说明,请参阅 :ref:`label-snowsql_linux_rpm`(本主题内容)。
设置下载目录和配置文件的位置¶
默认情况下,SnowSQL 安装程序将二进制文件下载到以下目录:
~/.snowsql
因此,配置文件 位于下载目录下:
~/.snowsql/config
要更改配置文件的下载目录和位置,请将 WORKSPACE
环境变量设置为任何用户可写入的目录。如果每个进程都有一个隔离的 SnowSQL 环境,这种方法特别有用。
此外,您可以通过设置 SNOWSQL_DOWNLOAD_DIR
环境变量将下载目录与配置文件分开,以便多个 SnowSQL 进程可以共享二进制文件。例如:
$ SNOWSQL_DOWNLOAD_DIR=/var/shared snowsql -h
请注意,从 SnowSQL 1.1.70 引导版本开始支持 SNOWSQL_DOWNLOAD_DIR
。要检查您正在使用的版本,请在终端窗口提示符下执行以下命令:
$ snowsql --bootstrap-version
下载 SnowSQL 安装程序¶
转到 SnowSQL 下载 (https://developers.snowflake.com/snowsql/) 页面,找到要安装的 SnowSQL 版本,并下载具有以下文件扩展名的文件:
使用 Curl 下载 SnowSQL 安装程序¶
如果您想通过脚本或终端窗口下载安装程序(例如,通过使用 curl (https://curl.se/) 而不是您的 Web 浏览器),您可以直接从 Snowflake Client Repository 下载安装程序。为了提高灵活性,Snowflake 为存储库提供 Amazon Web Services (AWS) 和 Azure 端点。托管在任何支持的云平台上的账户都可以从任一端点下载安装程序。
运行 curl`(或等效的命令行工具)下载安装程序。:code:`curl
语法如下:
- AWS 端点:
$ curl -O https://sfc-repo.snowflakecomputing.cn/snowsql/bootstrap/<bootstrap_version>/linux_x86_64/snowsql-<version>-linux_x86_64.bash
- Microsoft Azure 端点:
$ curl -O https://sfc-repo.azure.snowflakecomputing.cn/snowsql/bootstrap/<bootstrap_version>/linux_x86_64/snowsql-<version>-linux_x86_64.bash
其中:
<version>
是 SnowSQL 主要版本、次要版本和补丁版本的组合。例如,对于版本 1.3.1,主要版本为 1,次要版本为 3,补丁版本为 1。所以,版本是 1.3.1。<bootstrap_version>
是 SnowSQL 主要版本和次要版本的组合。例如,对于版本 1.3.1,主要版本为 1,次要版本为 3,因此引导程序版本为 1.3。
例如,要下载 SnowSQL 安装程序,其中 <bootstrap_version>
为 1.3,<version>
为 1.3.2:
- AWS 端点:
$ curl -O https://sfc-repo.snowflakecomputing.cn/snowsql/bootstrap/1.3/linux_x86_64/snowsql-1.3.2-linux_x86_64.bash
- Microsoft Azure 端点:
$ curl -O https://sfc-repo.azure.snowflakecomputing.cn/snowsql/bootstrap/1.3/linux_x86_64/snowsql-1.3.2-linux_x86_64.bash
有关 SnowSQL 版本的详细信息,请参阅 `了解 SnowSQL 版本控制`_(本主题内容)。
验证包签名¶
要验证下载的包的签名,请执行以下操作:
从 Classic Console 或公钥服务器下载并导入最新的 Snowflake GPG 公钥。
- 从 Web 界面下载:
- 从密钥服务器下载:
使用与 SnowSQL 版本相关联的 GPG 密钥输入以下命令:
对于 SnowSQL 1.2.24 及更高版本:
$ gpg --keyserver hkp://keyserver.ubuntu.com --recv-keys 630D9F3CAB551AF3
对于 SnowSQL 版本 1.2.11 至 1.2.23:
$ gpg --keyserver hkp://keyserver.ubuntu.com --recv-keys 37C7086698CB005C
对于 SnowSQL 版本 1.1.75 至 1.2.10:
$ gpg --keyserver hkp://keyserver.ubuntu.com --recv-keys EC218558EABB25A1
对于 SnowSQL 版本 1.1.74 及更低版本:
$ gpg --keyserver hkp://keyserver.ubuntu.com --recv-keys 93DB296A69BE019A
备注
如果此命令失败并出现以下错误:
gpg: keyserver receive failed: Server indicated a failure
然后指定您要将端口 80 用于密钥服务器:
gpg --keyserver hkp://keyserver.ubuntu.com:80 ...
下载 GPG 签名并验证签名:
# If you prefer to use curl to download the signature file, run this command: curl -O \https://sfc-repo.snowflakecomputing.cn/snowsql/bootstrap/1.3/linux_x86_64/snowsql-\ |snowsql-version|\ -linux_x86_64.bash.sig # Verify the package signature. gpg --verify snowsql-\ |snowsql-version|\ -linux_x86_64.bash.sig snowsql-\ |snowsql-version|\ -linux_x86_64.bash
或者,如果您正在从 Azure 端点 下载签名文件:
# If you prefer to use curl to download the signature file, run this command: curl -O \https://sfc-repo.azure.snowflakecomputing.cn/snowsql/bootstrap/1.3/linux_x86_64/snowsql-\ |snowsql-version|\ -linux_x86_64.bash.sig # Verify the package signature. gpg --verify snowsql-\ |snowsql-version|\ -linux_x86_64.bash.sig snowsql-\ |snowsql-version|\ -linux_x86_64.bash
备注
验证签名会产生类似于以下内容的警告:
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.
为了避免警告,您可以授予 Snowflake GPG 公钥隐式信任。
您的本地环境可以包含多个 GPG 密钥;然而,出于安全原因,Snowflake 会定期轮换 GPG 公钥。作为最佳实践,我们建议在确认最新密钥适用于最新签名的包后删除现有公钥。例如:
gpg --delete-key "Snowflake Computing"
使用安装程序安装 SnowSQL¶
打开终端窗口。
从下载位置运行 Bash 脚本安装程序:
bash snowsql-linux_x86_64.bash
按照安装程序提供的说明进行操作。
备注
可以通过设置以下环境变量来自动进行安装:
SNOWSQL_DEST
:snowsql
可执行文件的目标目录。SNOWSQL_LOGIN_SHELL
:登录 shell 初始化文件,其中包括PATH
环境更新。
SNOWSQL_DEST=~/bin SNOWSQL_LOGIN_SHELL=~/.profile bash snowsql-linux_x86_64.bash
当您安装新的主要或次要版本时,SnowSQL 不会立即升级自身。相反,您必须使用 SnowSQL 登录您的 Snowflake 账户 并保持连接足够长的时间,以便自动升级功能将客户端升级到最新版本。要验证运行客户端时当前启动的 SnowSQL 版本,请使用不带值的 -v
选项:
snowsql -v
Version: 1.3.1
要强制 SnowSQL 安装和使用特定版本,请使用 -v
选项并指定您要安装的版本。例如,对于版本 1.3.0 执行以下命令:
snowsql -v 1.3.0
使用 RPM 包在 Linux 上安装 SnowSQL¶
要手动升级软件,可以使用 RPM 包(而不是 安装程序)来安装 SnowSQL。RPM 包不支持自动升级。
下载 SnowSQL RPM 包¶
转到 SnowSQL 下载 (https://developers.snowflake.com/snowsql/) 页面,找到要安装的 SnowSQL 版本,并下载具有 .rpm
文件扩展名的文件。
安装 SnowSQL RPM 包¶
下载的 RPM 文件可以按照任何其他 RPM 包的安装方式进行安装:
rpm -i <package_name>
使用安装程序在 macOS 上安装 SnowSQL¶
本节介绍如何下载并运行安装程序包以在 macOS 上安装 SnowSQL。
设置下载目录和配置文件的位置¶
默认情况下,SnowSQL 安装程序将二进制文件下载到以下目录:
~/.snowsql
因此,配置文件 位于下载目录下:
~/.snowsql/config
通过将 WORKSPACE
环境变量设置为任何用户可写入的目录,可以更改配置文件的下载目录和位置。如果每个进程都有一个隔离的 SnowSQL 环境,这将特别有用。
此外,您可以通过设置 SNOWSQL_DOWNLOAD_DIR
环境变量将下载目录与配置文件分开,以便多个 SnowSQL 进程可以共享二进制文件。例如:
SNOWSQL_DOWNLOAD_DIR=/var/shared snowsql -h
请注意,从 SnowSQL 1.1.70 引导版本开始支持 SNOWSQL_DOWNLOAD_DIR
。要检查您正在使用的版本,请在终端窗口提示符下执行以下命令:
snowsql --bootstrap-version
下载 SnowSQL 安装程序¶
要下载 SnowSQL 安装程序,请访问 SnowSQL 下载 (https://developers.snowflake.com/snowsql/) 页面。此版本的 SnowSQL 安装程序支持补丁自动升级。
使用 Curl 下载 SnowSQL 安装程序¶
如果您想通过脚本或终端窗口下载安装程序(例如,通过使用 curl (https://curl.se/) 而不是您的 Web 浏览器),您可以直接从 Snowflake Client Repository 下载安装程序。为了提高灵活性,Snowflake 为存储库提供 Amazon Web Services (AWS) 和 Azure 端点。托管在任何支持的云平台上的账户都可以从任一端点下载安装程序。
运行 curl`(或等效的命令行工具)下载安装程序。:code:`curl
语法如下:
- AWS 端点:
curl -O https://sfc-repo.snowflakecomputing.cn/snowsql/bootstrap/<bootstrap_version>/darwin_x86_64/snowsql-<version>-darwin_x86_64.pkg
- Microsoft Azure 端点:
curl -O https://sfc-repo.azure.snowflakecomputing.cn/snowsql/bootstrap/<bootstrap_version>/darwin_x86_64/snowsql-<version>-darwin_x86_64.pkg
其中:
<version>
是 SnowSQL 主要版本、次要版本和补丁版本的组合。例如,对于版本 1.3.1,主要版本为 1,次要版本为 3,补丁版本为 1。所以,版本是 1.3.1。<bootstrap_version>
是 SnowSQL 主要版本和次要版本的组合。例如,对于版本 1.3.1,主要版本为 1,次要版本为 3,因此引导程序版本为 1.3。
例如,要下载 SnowSQL 安装程序,其中 <bootstrap_version>
为 1.3,<version>
为 1.3.2:
- AWS 端点:
curl -O \https://sfc-repo.snowflakecomputing.cn/snowsql/bootstrap/1.3/darwin_x86_64/snowsql-\ |snowsql-version|\ -darwin_x86_64.pkg
- Microsoft Azure 端点:
curl -O \https://sfc-repo.azure.snowflakecomputing.cn/snowsql/bootstrap/1.3/darwin_x86_64/snowsql-\ |snowsql-version|\ -darwin_x86_64.pkg
有关 SnowSQL 版本的详细信息,请参阅 `了解 SnowSQL 版本控制`_(本主题内容)。
macOS 操作系统可以自动验证安装程序签名,因此不需要 GPG 签名验证。
使用安装程序安装 SnowSQL¶
在下载位置打开
snowsql-darwin_x86_64.pkg
以运行安装程序 PKG 文件。按照安装程序提供的说明进行操作。
备注
可以通过从命令行运行安装程序来自动进行安装。目标目录可以设置为 CurrentUserHomeDirectory`(:file:`~/Applications
目录)或 LocalSystem`(:file:
/Applications` 目录):
installer -pkg snowsql-darwin_x86_64.pkg -target CurrentUserHomeDirectory
当您安装新的主要或次要版本时,SnowSQL 不会立即升级自身。相反,您必须使用 SnowSQL 登录您的 Snowflake 账户并保持连接足够长的时间,以便自动升级功能将客户端升级到最新版本。要验证运行客户端时当前启动的 SnowSQL 版本,请使用不带值的 -v
选项:
snowsql -v
Version: 1.3.0
要强制 SnowSQL 安装和使用特定版本,请使用 -v
选项并指定您要安装的版本。例如,对于版本 1.3.1 执行以下命令:
snowsql -v 1.3.1
配置 Z Shell 别名(仅限 macOS)¶
如果 Z shell(也称为 zsh)是您的默认终端 shell,请为 SnowSQL 可执行文件设置一个别名,以便您可以在终端的命令行中运行 SnowSQL。SnowSQL 安装程序将可执行文件安装在 /Applications/SnowSQL.app/Contents/MacOS/snowsql
中,并将此路径追加到 ~/.profile
中的 PATH 或别名条目。因为 zsh 通常不读取该文件,所以在 zsh 会 读取的 ~/.zshrc
中为该路径添加一个别名。
要向 SnowSQL 可执行文件添加别名,请执行以下操作:
打开(或创建,如果缺少):file:
~/.zshrc
文件。添加以下行:
alias snowsql=/Applications/SnowSQL.app/Contents/MacOS/snowsql
保存文件。
使用 Homebrew Cask 在 macOS 上安装 SnowSQL¶
Homebrew Cask (https://caskroom.github.io/) 是 Homebrew (https://brew.sh/) 的一种常用扩展程序,用于包的分发、安装和维护。没有单独的 SnowSQL 安装程序可供下载。如果您的 macOS 平台上安装了 Homebrew Cask,则可以直接安装 Snowflake。
运行 brew install
命令,指定 snowflake-snowsql
作为要安装的 cask:
$ brew install --cask snowflake-snowsql
配置 Z Shell 别名(仅限 macOS)¶
如果 Z shell(也称为 zsh)是您的默认终端 shell,请为 SnowSQL 可执行文件设置一个别名,以便您可以在终端的命令行中运行 SnowSQL。SnowSQL 安装程序将可执行文件安装在 /Applications/SnowSQL.app/Contents/MacOS/snowsql
中,并将此路径追加到 ~/.profile
中的 PATH 或别名条目。因为 zsh 通常不读取该文件,所以在 zsh 会 读取的 ~/.zshrc
中为该路径添加一个别名。
要向 SnowSQL 可执行文件添加别名,请执行以下操作:
打开(或创建,如果缺少):file:
~/.zshrc
文件。添加以下行:
alias snowsql=/Applications/SnowSQL.app/Contents/MacOS/snowsql
保存文件。
使用安装程序在 Microsoft Windows 上安装 SnowSQL¶
本节介绍如何下载并运行安装程序包以在 Microsoft Windows 上安装 SnowSQL。
设置下载目录和配置文件的位置¶
默认情况下,SnowSQL 安装程序将二进制文件下载到以下目录:
%USERPROFILE%\.snowsql
因此,配置文件 位于下载目录下:
%USERPROFILE%\.snowsql\config
通过将 WORKSPACE
环境变量设置为任何用户可写入的目录,可以更改配置文件的下载目录和位置。如果每个进程都有一个隔离的 SnowSQL 环境,这将特别有用。
此外,您可以通过设置 SNOWSQL_DOWNLOAD_DIR
环境变量将下载目录与配置文件分开,以便多个 SnowSQL 进程可以共享二进制文件。例如:
SNOWSQL_DOWNLOAD_DIR=/var/shared snowsql -h
请注意,从 SnowSQL 1.1.70 引导版本开始支持 SNOWSQL_DOWNLOAD_DIR
。要检查您正在使用的版本,请在终端窗口提示符下执行以下命令:
snowsql --bootstrap-version
下载 SnowSQL 安装程序¶
要下载 SnowSQL 安装程序,请访问 SnowSQL 下载 (https://developers.snowflake.com/snowsql/) 页面。此版本的 SnowSQL 安装程序支持补丁自动升级。
使用 Curl 下载 SnowSQL 安装程序¶
如果您想通过脚本或终端窗口下载安装程序(例如,通过使用 curl (https://curl.se/) 而不是您的 Web 浏览器),您可以直接从 Snowflake Client Repository 下载安装程序。为了提高灵活性,Snowflake 为存储库提供 Amazon Web Services (AWS) 和 Azure 端点。托管在任何支持的云平台上的账户都可以从任一端点下载安装程序。
运行 curl`(或等效的命令行工具)下载安装程序。:code:`curl
语法如下:
- AWS 端点:
curl -O https://sfc-repo.snowflakecomputing.cn/snowsql/bootstrap/<bootstrap_version>/windows_x86_64/snowsql-<version>-windows_x86_64.msi
- Microsoft Azure 端点:
curl -O https://sfc-repo.azure.snowflakecomputing.cn/snowsql/bootstrap/<bootstrap_version>/windows_x86_64/snowsql-<version>-windows_x86_64.msi
其中:
<version>
是 SnowSQL 主要版本、次要版本和补丁版本的组合。例如,对于版本 1.3.1,主要版本为 1,次要版本为 3,补丁版本为 1。所以,版本是 1.3.1。<bootstrap_version>
是 SnowSQL 主要版本和次要版本的组合。例如,对于版本 1.3.1,主要版本为 1,次要版本为 3,因此引导程序版本为 1.3。
例如,要下载 SnowSQL 安装程序,其中 <bootstrap_version>
为 1.3,<version>
为 1.3.2:
- AWS 端点:
curl -O \https://sfc-repo.snowflakecomputing.cn/snowsql/bootstrap/1.3/windows_x86_64/snowsql-\ |snowsql-version|\ -windows_x86_64.msi
- Microsoft Azure 端点:
curl -O \https://sfc-repo.azure.snowflakecomputing.cn/snowsql/bootstrap/1.3/windows_x86_64/snowsql-\ |snowsql-version|\ -windows_x86_64.msi
有关 SnowSQL 版本的详细信息,请参阅 `了解 SnowSQL 版本控制`_(本主题内容)。
Windows 操作系统可以自动验证安装程序签名,因此不需要 GPG 签名验证。
使用安装程序安装 SnowSQL¶
在下载位置打开
snowsql-windows_x86_64.msi
以运行安装程序 MSI 文件。按照安装程序提供的说明进行操作。
备注
可以通过从命令行运行 MSI 安装程序 msiexec
来自动安装。目标目录 %ProgramFiles%Snowflake SnowSQL
无法更改。例如:
C:\Users\<username> msiexec /i snowsql-windows_x86_64.msi /q
当您安装新的主要或次要版本时,SnowSQL 不会立即升级自身。相反,您必须使用 SnowSQL 登录您的 Snowflake 账户并保持连接足够长的时间,以便自动升级功能将客户端升级到最新版本。要验证运行客户端时当前启动的 SnowSQL 版本,请使用不带值的 -v
选项:
snowsql -v
Version: 1.3.1
要强制 SnowSQL 安装和使用特定版本,请使用 -v
选项并指定您要安装的版本。例如,对于版本 1.3.0 执行以下命令:
snowsql -v 1.3.0
了解 SnowSQL 版本控制¶
SnowSQL 版本号由三位数字组成:<major version>.<minor version>.<patch version>
。
例如,版本 1.3.1 表示主要版本为 1,次要版本为 3,补丁版本为 1。
要确定运行客户端时当前启动的 SnowSQL 版本,请使用不带值的 -v
选项:
snowsql -v
Version: 1.3.1
一般来说,以下准则适用于不同的版本类型:
- 主要版本:
主要版本的更改表明底层 Snowflake 服务的显著改进。新的主要版本会中断向后兼容性。您需要从 Web 界面下载并安装最新的 SnowSQL 版本。
- 次要版本:
次要版本的更改表明 SnowSQL 或底层 Snowflake 服务中支持向前兼容性的改进。新的次要版本不会破坏向后兼容性,但 Snowflake 强烈建议您从 Web 界面下载并安装最新的 SnowSQL 版本。
- 补丁版本:
补丁版本的更改表示应用了小的增强功能或错误修复。
自动升级功能会自动安装所有补丁版本。有关自动升级功能的更多信息,请参阅 什么是自动升级? (本主题内容)。
备注
如果 Snowflake 发布了新的次要版本或补丁版本,您当前版本中的功能应该可以继续工作,但是任何新发布的错误修复和功能将 无法 通过自动升级功能获得。因此,我们强烈建议您在有新 SnowSQL 版本可用时下载并安装最新版本。
什么是自动升级?¶
重要
从版本 1.3.0 开始,SnowSQL 默认禁用自动升级,以避免发生自动升级时可能影响生产环境的潜在问题。要升级,您应该手动下载和安装新版本,最好是在非生产环境中。Snowflake 强烈建议您禁用此设置,但如果要在新版本发布时自动安装新版本,则可以禁用 SnowSQL --noup
选项。
如果您选择为 SnowSQL 启用自动升级,则 SnowSQL 会在后台进程中自动下载新的二进制文件并执行当前版本。下次运行 SnowSQL 时,新版本将启动。
以下是对这个过程的说明:
对于全新安装,您可以使用 Snowflake Web 界面下载 SnowSQL 安装程序(例如版本 1.3.0)并安装客户端。
每次运行 SnowSQL 时,客户端都会检查 SnowSQL 升级存储库中是否有更新的版本。
如果有更新的版本(例如版本 1.3.1)可用,SnowSQL 会在运行当前安装的版本时以后台进程的形式下载新版本。
下次运行 SnowSQL 时,客户端将执行版本 1.3.1,同时检查是否有更新的版本可用。
启用自动升级¶
-o noup=<value>
选项允许您覆盖 SnowSQL 要求手动安装新版本的默认行为,其中:
True
启用不升级行为(1.3.0 及更高版本的默认值)。SnowSQL 不会自动检查升级,也不会自动升级。False
禁用不升级行为(版本 1.2.32 及更低版本的默认值)。SnowSQL 自动检查是否有升级,如果同一major.minor
版本中有任何新升级可用,则自动升级
您可以在登录 Snowflake 时指定此选项,以启用在该特定会话期间自动升级。
例如:
snowsql -o noup=False
或者,在 配置文件 中添加 noup = False
选项,为 SnowSQL 启用自动升级。
运行以前的 SnowSQL 版本¶
备注
如果您运行的是 SnowSQL 1.3.0 或更高版本,则无法使用此过程运行 1.2.x 版本。如果要运行 1.2.x 版本,则必须手动下载并安装较早的版本。
如果您在使用最新的 SnowSQL 版本(例如版本 1.3.1)时遇到问题,您可以暂时运行另一个 1.3.x 版本。
要确定运行客户端时当前启动的 SnowSQL 版本,请使用不带值的 -v
选项:
$ snowsql -v Version: 1.3.1
要显示可用 SnowSQL 版本的列表,请使用 --versions
选项:
$ snowsql --versions 1.3.1 1.3.0
要安装列表中较早的 SnowSQL 版本,请使用 -v
选项并指定您要安装的版本。例如,如果您运行的是较新的版本,例如 1.3.1,则要安装 1.3.0 版,请执行以下操作:
$ snowsql -v 1.3.0 Installing version: 1.3.0 [####################################] 100%
使用相同的选项指定启动 SnowSQL 时要运行的版本:
$ snowsql -v 1.3.0
更改 SnowSQL 自动升级功能使用的 Snowflake Client Repository 端点¶
默认情况下,SnowSQL 自动升级功能使用 Snowflake Client Repository 的 AWS 端点。要更改 SnowSQL 配置文件中的端点,请完成本节中的步骤。
新用户¶
要将 Snowflake Client Repository 的 Microsoft Azure 端点指定为新的 SnowSQL 用户,请执行以下命令:
snowsql -o repository_base_url=https://sfc-repo.azure.snowflakecomputing.cn/snowsql
验证配置文件(即 ~/.snowsql/config
或 %USERPROFILE%\.snowsql\config
)是否包含以下行。
repository_base_url=https://sfc-repo.azure.snowflakecomputing.cn/snowsql
现有用户¶
要将 Snowflake Client Repository 的 Microsoft Azure 端点指定为现有 SnowSQL 用户,请将以下行添加到配置文件(即 ~/.snowsql/config
或 %USERPROFILE%\.snowsql\config
)中:
repository_base_url=https://sfc-repo.azure.snowflakecomputing.cn/snowsql