Amazon Redshift
集群管理指南 (API Version 2012-12-01)
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。请点击 Amazon AWS 入门,可查看中国地区的具体差异

使用 psql 工具连接到您的集群

创建 Amazon Redshift 集群后,您可以使用 psql 工具(PostgreSQL 中基于终端的前端)来查询集群中的数据。您能以交互方式键入查询,或从文件中读取查询。要通过 psql 进行连接,您必须指定集群终端节点、数据库和端口。

注意

Amazon Redshift 不提供 psql 工具;它随 PostgreSQL 一起安装。有关使用 psql 的信息,请转至 http://www.postgresql.org/docs/8.4/static/app-psql.html。有关安装 PostgreSQL 客户端工具的信息,请访问以下位置的 PostgreSQL 二进制文件下载页面并选择您的操作系统:http://www.postgresql.org/download/

使用 psql 默认设置进行连接

默认情况下,psql 不会验证 Amazon Redshift 服务,但会使用安全套接字层 (SSL) 建立加密连接。

使用 psql 默认设置进行连接

  1. 登录 AWS 管理控制台 并通过以下网址打开 Amazon Redshift 控制台:https://console.amazonaws.cn/redshift/

  2. 在左侧导航窗格中,单击 Clusters。单击您的集群以将其打开。在 Cluster Database Properties 下,记录 EndpointPortDatabase Name 的值。

  3. 在命令提示符处,使用命令行参数或连接信息字符串来指定连接信息。使用以下参数:

    psql -h <endpoint> -U <userid> -d <databasename> -p <port>

    其中:

    • <endpoint> 是您在上一步中记录的 Endpoint

    • <userid> 是有权连接到集群的用户 ID。

    • <databasename> 是您在上一步中记录的 Database Name

    • <port> 是您上一步中记录的 Port

    例如:

    psql -h examplecluster.<XXXXXXXXXXXX>.us-west-2.redshift.amazonaws.com -U masteruser -d dev -p 5439
  4. 在 psql 密码提示符处,输入 <userid> 用户的密码。

您现已连接到集群,并能以交互方式输入命令。

使用证书进行连接

要控制 psql 是否要使用证书对服务进行身份验证,您必须使用连接信息字符串指定连接信息,并指定 sslmode 关键字。默认情况下,psql 采用的是 sslmode=prefer。要指定 psql 打开加密连接并使用 Amazon Redshift 证书验证服务,请将 Amazon Redshift 证书下载到您的计算机上。除非您不使用 DNS 别名,请指定 verify-full。如果您使用 DNS 别名,请选择 verify-ca。通过 sslrootcert 指定证书的位置。有关 sslmode 的更多信息,请参阅 配置连接的安全选项

有关连接信息字符串参数的更多信息,请参阅 http://www.postgresql.org/docs/8.4/static/libpq-connect.html

使用证书进行连接

  1. 保存并将 Redshift 证书颁发机构捆绑 .crt 文件下载到您的计算机。如果您使用的是 Internet Explorer,要执行文件\另存为操作,请将文件类型指定为文本文件 (*.txt),并删除 .txt 扩展名。例如,将其另存为文件 C:\MyDownloads\redshift-ca-bundle.crt

  2. 在 Amazon Redshift 控制台中,选择集群以显示 Cluster Database Properties。记录在 EndpointPortDatabase Name 字段中显示的值。

  3. 在命令提示符处,使用连接信息字符串指定连接信息:

    psql "host=<endpoint> user=<userid> dbname=<databasename> port=<port> sslmode=verify-ca sslrootcert=<certificate>"

    其中:

    • <endpoint> 是您在上一步中记录的 Endpoint

    • <userid> 是有权连接到集群的用户 ID。

    • <databasename> 是您在上一步中记录的 Database Name

    • <port> 是您上一步中记录的 Port

    • <certificate> 是证书文件的完整路径。在 Windows 系统上,指定证书路径必须使用 Linux 式分隔符“/”而非 Windows 式分隔符“\”。

      在 Linux 和 Mac OS X 操作系统上,路径为

      ~/.postgresql/root.crt

      在 Microsoft Windows 上,路径为

      %APPDATA%/postgresql/root.crt

    例如:

    psql "host=examplecluster.<XXXXXXXXXXXX>.us-west-2.redshift.amazonaws.com user=masteruser dbname=dev port=5439 sslmode=verify-ca sslrootcert=C:/MyDownloads/redshift-ca-bundle.crt"
  4. 在 psql 密码提示符处,输入 <userid> 用户的密码。

您现已连接到集群,并能以交互方式输入命令。