Amazon Relational Database Service
用户指南 (API 版本 2014-10-31)
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 Amazon AWS 入门

连接到运行 PostgreSQL 数据库引擎的数据库实例

在 Amazon RDS 预置数据库实例后,您可以使用任何标准 SQL 客户端应用程序连接到该实例。要列出 Amazon RDS 数据库实例的详细信息,可以使用 AWS 管理控制台、AWS CLI describe-db-instances 命令或 Amazon RDS API DescribeDBInstances 操作。您需要以下信息才能进行连接:

  • 数据库实例的主机或主机名称,例如:

    myinstance.123456789012.us-east-1.rds.amazonaws.com
  • 数据库实例侦听的端口。例如,默认 PostgreSQL 端口是 5432。

  • 数据库实例的用户名和密码。

下面是两种连接到 PostgreSQL 数据库实例的方法。第一个示例使用 pgAdmin,这是一个时下受欢迎的用于 PostgreSQL 的开源管理和开发工具。第二个示例使用 psql,这是一个命令行实用工具,包含在 PostgreSQL 安装中。

使用 pgAdmin 连接到 PostgreSQL 数据库实例

您可以使用开源工具 pgAdmin 连接到 PostgreSQL 数据库实例。

要使用 pgAdmin 连接到 PostgreSQL 数据库实例,请执行以下操作

  1. http://www.pgadmin.org/ 安装 pgAdmin。客户端计算机上不必具有 PostgreSQL 的本地实例,即可下载和使用 pgAdmin。

  2. 在您的客户端计算机上启动 pgAdmin 应用程序。

  3. Dashboard (控制面板) 选项卡上,选择 Add New Server (添加新服务器)。

  4. Create - Server (创建 - 服务器) 对话框中,在 General (常规) 选项卡上键入名称以在 pgAdmin 中标识该服务器。

  5. Connection (连接) 选项卡上,键入您的数据库实例的以下信息:

    • 对于 Host (主机),键入终端节点,例如 mypostgresql.c6c8dntfzzhgv0.us-east-2.rds.amazonaws.com

    • 对于 Port (端口),键入分配的端口。

    • 对于 Username (用户名),键入您在创建数据库实例时输入的用户名。

    • 对于 Password (密码),键入您在创建数据库实例时输入的密码。

  6. 选择 Save

    如果您有任何连接问题,请参阅排除连接问题

  7. 要在 pgAdmin 浏览器中访问数据库,请依次展开 Servers (服务器)、数据库实例和 Databases (数据库)。选择数据库实例的数据库名称。

  8. 要打开可在其中输入 SQL 命令的面板,请依次选择 Tools (工具) 和 Query Tool (查询工具)。

使用 psql 连接到 PostgreSQL 数据库实例

可使用 psql 命令行实用工具的本地实例连接到 PostgreSQL 数据库实例。需要在您的客户端计算机上安装 PostgreSQL 或 psql 客户端。要使用 psql 连接到 PostgreSQL 数据库实例,您需要提供主机信息和访问凭证。

使用以下格式之一连接到 Amazon RDS 上的 PostgreSQL 数据库实例。在连接时,系统将提示您输入密码。对于批处理作业或脚本,请使用 --no-password 选项。

对于 Unix,使用以下格式。

psql \ --host=<DB instance endpoint> \ --port=<port> \ --username=<master user name> \ --password \ --dbname=<database name>

对于 Windows,使用以下格式。

psql ^ --host=<DB instance endpoint> ^ --port=<port> ^ --username=<master user name> ^ --password ^ --dbname=<database name>

例如,以下命令使用虚构的凭证连接到名为 mypgdb 的 PostgreSQL 数据库实例上名为 mypostgresql 的数据库。

psql --host=mypostgresql.c6c8mwvfdgv0.us-west-2.rds.amazonaws.com --port=5432 --username=awsuser --password --dbname=mypgdb

排除连接问题

如果无法连接到数据库实例,则最常见的错误是 Could not connect to server: Connection timed out.如果出现此错误,请执行以下操作:

  • 检查所使用的主机名是否是数据库实例终端节点,以及所使用的端口号是否正确。

  • 确保数据库实例的公开可访问性设置为

  • 检查分配给数据库实例的安全组是否具有允许您的连接通过相应防火墙进行访问的规则。 例如,如果数据库实例是使用默认端口 5432 创建的,您公司的防火墙规则可能不允许公司设备连接到该端口。

    要修复此故障,请修改数据库实例以使用不同的端口。另外,确保应用于数据库实例的安全组允许连接到新端口。

  • 检查数据库实例是否是使用安全组创建的,而该安全组没有授权来自运行应用程序的设备或 Amazon EC2 实例的连接。要使连接运行,您在创建数据库实例时分配给它的安全组必须允许访问该数据库实例。例如,如果数据库实例是在 VPC 中创建的,则它必须具有授权连接的 VPC 安全组。或者,如果数据库实例是在 VPC 外部创建的,则它必须具有授权这些连接的数据库安全组。

到目前为止,最常见的连接问题与分配给数据库实例的安全组的访问规则有关。如果在创建数据库实例时使用的是默认数据库安全组,则该安全组可能没有允许您访问该实例的访问规则。有关 Amazon RDS 安全组的更多信息,请参见 使用 Amazon RDS 安全组控制访问