安装 SnowSQL¶
本主题介绍如何在所有支持的平台上下载和安装 SnowSQL。
要下载 SnowSQL 安装程序,请访问 SnowSQL 下载 (https://developers.snowflake.com/snowsql/) 页面。
备注
要升级到新的补丁版本,您无需下载并运行安装程序。SnowSQL 会自动进行升级。有关更多信息,请参阅 什么是自动升级? (本主题内容)。
本主题内容:
使用安装程序在 Linux 上安装 SnowSQL¶
本节介绍如何下载、验证和运行安装程序包以在 Linux 上安装 SnowSQL。
默认情况下,安装程序会将 SnowSQL 设置为自动升级到补丁版本。有关自动升级功能的信息,请参阅 什么是自动升级? (本主题内容)。
如果您喜欢手动升级 SnowSQL(例如,如果您的软件安装策略禁止自动升级),请使用 RPM 包安装 SnowSQL。RPM 包没有将 SnowSQL 设置为自动升级。有关说明,请参阅 使用 RPM 包在 Linux 上安装 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 下载 (https://developers.snowflake.com/snowsql/) 页面,找到要安装的 SnowSQL 版本,并下载具有以下文件扩展名的文件:
.bash
(安装程序脚本).bash.sig
(可用于 验证下载包 的签名)
使用 Curl 下载 SnowSQL 安装程序¶
如果您想通过脚本或终端窗口下载安装程序(例如,通过使用 curl (https://curl.se/) 而不是您的 Web 浏览器),您可以直接从 Snowflake Client Repository 下载安装程序。为了提高灵活性,Snowflake 为存储库提供 Amazon Web Services (AWS) 和 Azure 端点。托管在任何支持的云平台上的账户都可以从任一端点下载安装程序。
运行 curl
(或等效的命令行工具)下载安装程序。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.2.3,主要版本为 1,次要版本为 2,补丁版本为 3。所以,版本是 1.2.3。<bootstrap_version>
是 SnowSQL 主要版本和次要版本的组合。例如,对于版本 1.2.3,主要版本为 1,次要版本为 2,因此引导程序版本为 1.2。
例如,要下载 SnowSQL 安装程序,其中 <bootstrap_version>
为 1.2,<version>
为 1.3.0:
- AWS 端点:
$ curl -O https://sfc-repo.snowflakecomputing.cn/snowsql/bootstrap/1.2/linux_x86_64/snowsql-1.3.0-linux_x86_64.bash
- Microsoft Azure 端点:
$ curl -O https://sfc-repo.azure.snowflakecomputing.cn/snowsql/bootstrap/1.2/linux_x86_64/snowsql-1.3.0-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.2/linux_x86_64/snowsql-1.3.0-linux_x86_64.bash.sig # Verify the package signature. $ gpg --verify snowsql-1.3.0-linux_x86_64.bash.sig snowsql-1.3.0-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.2/linux_x86_64/snowsql-1.3.0-linux_x86_64.bash.sig # Verify the package signature. $ gpg --verify snowsql-1.3.0-linux_x86_64.bash.sig snowsql-1.3.0-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.2.3
要强制 SnowSQL 安装和使用特定版本,请使用 -v
选项并指定您要安装的版本。例如,对于版本 1.2.5 执行以下命令:
$ snowsql -v 1.2.5
使用 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
(或等效的命令行工具)下载安装程序。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.2.3,主要版本为 1,次要版本为 2,补丁版本为 3。所以,版本是 1.2.3。<bootstrap_version>
是 SnowSQL 主要版本和次要版本的组合。例如,对于版本 1.2.3,主要版本为 1,次要版本为 2,因此引导程序版本为 1.2。
例如,要下载 SnowSQL 安装程序,其中 <bootstrap_version>
为 1.2,<version>
为 1.3.0:
- AWS 端点:
$ curl -O https://sfc-repo.snowflakecomputing.cn/snowsql/bootstrap/1.2/darwin_x86_64/snowsql-1.3.0-darwin_x86_64.pkg
- Microsoft Azure 端点:
$ curl -O https://sfc-repo.azure.snowflakecomputing.cn/snowsql/bootstrap/1.2/darwin_x86_64/snowsql-1.3.0-darwin_x86_64.pkg
有关 SnowSQL 版本的详细信息,请参阅 了解 SnowSQL 版本控制 (本主题内容)。
macOS 操作系统可以自动验证安装程序签名,因此不需要 GPG 签名验证。
使用安装程序安装 SnowSQL¶
在下载位置双击
snowsql-darwin_x86_64.pkg
以运行安装程序 PKG 文件。按照安装程序提供的说明进行操作。
备注
可以通过从命令行运行安装程序来自动进行安装。目标目录可以设置为 CurrentUserHomeDirectory
(~/Applications
目录)或 LocalSystem
(/Applications
目录):
$ installer -pkg snowsql-darwin_x86_64.pkg -target CurrentUserHomeDirectory
当您安装新的主要或次要版本时,SnowSQL 不会立即升级自身。相反,您必须使用 SnowSQL 登录您的 Snowflake 账户并保持连接足够长的时间,以便自动升级功能将客户端升级到最新版本。要验证运行客户端时当前启动的 SnowSQL 版本,请使用不带值的 -v
选项:
$ snowsql -v Version: 1.2.3
要强制 SnowSQL 安装和使用特定版本,请使用 -v
选项并指定您要安装的版本。例如,对于版本 1.2.5 执行以下命令:
$ snowsql -v 1.2.5
配置 Z Shell 别名(仅限 macOS)¶
如果 Z shell(也称为 zsh)是您的默认终端 shell,请为 SnowSQL 可执行文件设置一个别名,以便您可以在终端的命令行中运行 SnowSQL。SnowSQL 安装程序将可执行文件安装在 /Applications/SnowSQL.app/Contents/MacOS/snowsql
中,并将此路径追加到 ~/.profile
中的 PATH 或别名条目。因为 zsh 通常不读取该文件,所以在 zsh 会 读取的 ~/.zshrc
中为该路径添加一个别名。
要向 SnowSQL 可执行文件添加别名,请执行以下操作:
打开(或创建,如果缺少)
~/.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 可执行文件添加别名,请执行以下操作:
打开(或创建,如果缺少)
~/.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
(或等效的命令行工具)下载安装程序。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.2.3,主要版本为 1,次要版本为 2,补丁版本为 3。所以,版本是 1.2.3。<bootstrap_version>
是 SnowSQL 主要版本和次要版本的组合。例如,对于版本 1.2.3,主要版本为 1,次要版本为 2,因此引导程序版本为 1.2。
例如,要下载 SnowSQL 安装程序,其中 <bootstrap_version>
为 1.2,<version>
为 1.3.0:
- AWS 端点:
$ curl -O https://sfc-repo.snowflakecomputing.cn/snowsql/bootstrap/1.2/windows_x86_64/snowsql-1.3.0-windows_x86_64.msi
- Microsoft Azure 端点:
$ curl -O https://sfc-repo.azure.snowflakecomputing.cn/snowsql/bootstrap/1.2/windows_x86_64/snowsql-1.3.0-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.2.3
要强制 SnowSQL 安装和使用特定版本,请使用 -v
选项并指定您要安装的版本。例如,对于版本 1.2.5 执行以下命令:
$ snowsql -v 1.2.5
了解 SnowSQL 版本控制¶
SnowSQL 版本号由三位数字组成:<major version>.<minor version>.<patch version>
。
例如,版本 1.2.3 表示主要版本为 1,次要版本为 2,补丁版本为 3。
要确定运行客户端时当前启动的 SnowSQL 版本,请使用不带值的 -v
选项:
$ snowsql -v Version: 1.2.3
一般来说,以下准则适用于不同的版本类型:
- 主要版本:
主要版本的更改表明底层 Snowflake 服务的显著改进。新的主要版本会中断向后兼容性。您需要从 Web 界面下载并安装最新的 SnowSQL 版本。
- 次要版本:
次要版本的更改表明 SnowSQL 或底层 Snowflake 服务中支持向前兼容性的改进。新的次要版本不会破坏向后兼容性,但我们强烈建议您从 Web 界面下载并安装最新的 SnowSQL 版本。
- 补丁版本:
补丁版本的更改表示应用了小的增强功能或错误修复。自动升级功能会自动安装所有补丁版本。有关自动升级功能的更多信息,请参阅 什么是自动升级? (本主题内容)。
备注
如果发布了次要版本,您当前版本中的功能应该可以继续工作,但是任何新发布的错误修复和功能将 无法 通过自动升级功能获得。因此,如果次要版本增加,我们强烈建议您下载并安装最新的 SnowSQL 版本。
什么是自动升级?¶
默认情况下,SnowSQL 会自动升级到最新的补丁版本。新的主要或次要版本需要手动下载和安装。
当更新的补丁版本可用时,SnowSQL 在后台进程中下载新的二进制文件并执行当前版本。下次运行 SnowSQL 时,新版本将启动。
以下是对这个过程的说明:
对于全新安装,您可以使用 Snowflake Web 界面下载 SnowSQL 安装程序(例如版本 1.2.0)并安装客户端。
每次运行 SnowSQL 时,客户端都会检查 SnowSQL 升级存储库中是否有更新的版本。
如果有更新的版本(例如版本 1.2.1)可用,SnowSQL 会在运行当前安装的版本时以后台进程的形式下载新版本。
下次运行 SnowSQL 时,客户端将执行版本 1.2.1,同时检查是否有更新的版本可用。
禁用自动升级¶
--noup
选项会阻止 SnowSQL 下载新版本(如果有)。您可以在登录 Snowflake 时指定此选项,以防止在该特定会话期间自动升级。
例如:
$ snowsql --noup
或者,在 配置文件 中添加 noup = true
选项,以防止 SnowSQL 自动升级,直到该选项被移除或设置为 false
。
运行以前的 SnowSQL 版本¶
如果您在使用最新的 SnowSQL 版本(例如版本 1.2.2)时遇到问题,您可以暂时运行以前的版本。
要确定运行客户端时当前启动的 SnowSQL 版本,请使用不带值的 -v
选项:
$ snowsql -v Version: 1.2.2
要显示可用 SnowSQL 版本的列表,请使用 --versions
选项:
$ snowsql --versions 1.2.3 1.2.2 1.2.1 1.2.0
要安装列表中较早的 SnowSQL 版本,请使用 -v
选项并指定您要安装的版本。例如,要安装版本 1.2.3:
$ snowsql -v 1.2.3 Installing version: 1.2.3 [####################################] 100%
使用相同的选项指定启动 SnowSQL 时要运行的版本:
$ snowsql -v 1.2.3
更改 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