Amazon Relational Database Service
用户指南 (API Version 2014-10-31)
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。请点击 Amazon AWS 入门,可查看中国地区的具体差异

创建 PostgreSQL 数据库实例并连接至 PostgreSQL 数据库实例上的数据库

最容易的数据库实例创建方法是使用 RDS 控制台。在创建数据库实例之后,可使用标准 SQL 客户端实用工具 (如 pgAdmin 实用工具) 连接到数据库实例。在此示例中,您将创建一个数据库实例,它运行名为 west2-postgres1 的 PostgreSQL 数据库引擎,拥有 db.m1.small 数据库实例类、10 GB 的存储空间和保留期为 1 天的自动备份。

重要

必须先完成Amazon RDS 设置部分中的任务,然后才能创建或连接到数据库实例。

创建 PostgreSQL 数据库实例

创建运行 PostgreSQL 数据库引擎的数据库实例

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

  2. 在 AWS 管理控制台的右上角,选择您要在其中创建数据库实例的区域。

  3. 在导航窗格中,选择 Instances

  4. 选择 Launch DB Instance 以启动 Launch DB Instance Wizard

    向导在 Select Engine 页面上打开。

     引擎选择
  5. Select Engine 页上,选择 PostgreSQL 图标,然后选择 Select

  6. 接下来,Production? 页询问您是否要使用所创建的数据库实例进行生产。如果是,请在 Production 下选择 PostgreSQL。如果选择此选项,则将在下一步中预先选择故障转移选项、Multi-AZProvisioned IOPS 存储选项。完成后,选择 Next Step

  7. Specify DB Details 页面上,指定数据库实例信息。完成后,选择 Next Step

    对于此参数 请执行此操作

    License Model

    PostgreSQL 只有一个许可模式。选择 postgresql-license 以使用 PostgreSQL 的一般许可协议。

    数据库引擎版本

    选择您要使用的 PostgreSQL 版本。

    数据库实例类

    选择 db.t2.small 以选择相当于 2 GB 内存、1 ECU (一个带 1 ECU 的虚拟核心) 、64 位平台和中度 I/O 容量的配置。有关所有数据库实例类选项的详细信息,请参阅 数据库实例类

    Multi-AZ Deployment

    选择 Yes 在另一个可用区中创建数据库实例的备用副本以支持故障转移。建议将多可用区用于生产工作负载以保持高可用性。对于开发和测试,您可以选择 No

    有关更多信息,请参阅 高可用性 (多可用区)

    存储类型

    选择存储类型 General Purpose (SSD)。有关存储的更多信息,请参阅Amazon RDS 的存储

    分配的存储空间

    输入 5,为您的数据库分配 5 GB 的存储空间。有时,为数据库实例分配的存储空间高于数据库大小时可提高 I/O 性能。有关存储分配的更多信息,请参阅 Amazon Relational Database Service 功能

    DB Instance Identifier

    为数据库实例键入一个名称,该名称在您所选地区中对于您的账户是唯一的。您可以在名称中加入一些有用的信息 (如您选择的区域和数据库引擎信息),例如 postgreSQL-test

    Master Username

    使用字母数字字符键入一个名称,该名称将用作您登录数据库实例的主用户名。有关向主用户名授予的默认权限的信息,请参阅Amazon RDS PostgreSQL 规划信息

    Master PasswordConfirm Password

    键入一个包含 8 到 128 个可打印 ASCII 字符 (不包括 /、" 和 @) 的密码用作您的主密码,然后在 Confirm Password 框中再次键入该密码。

     数据库实例详细信息
  8. Configure Advanced Settings 页面上,需要提供 RDS 启动 PostgreSQL 数据库实例所需的其他信息。该表显示的是示例数据库实例的设置。指定数据库实例信息,然后选择 Launch DB Instance

    对于此参数 请执行此操作

    VPC

    此设置取决于您所处的平台。如果您是 AWS 的新客户,请选择所显示的默认 VPC。如果您要在不使用 VPC 的早期 E2-Classic 平台上创建数据库实例,请选择 Not in VPC。有关 VPC 的更多信息,请参阅 Amazon Virtual Private Cloud (VPCs) 和 Amazon RDS

    子网组

    此设置取决于您所处的平台。如果您是 AWS 的新客户,请选择 default,这是为您的账户创建的默认数据库子网组。如果要在早期 E2-Classic 平台上创建数据库实例,并且想让该数据库实例位于特定 VPC 中,请选择为该 VPC 创建的数据库子网组。有关 VPC 的更多信息,请参阅 Amazon Virtual Private Cloud (VPCs) 和 Amazon RDS

    公开访问

    选择 Yes 为数据库实例提供公有 IP 地址,即可从 VPC 外部对其进行访问;否则选择 No,这样就只能在 VPC 内部访问该数据库实例。有关隐藏数据库实例以防止公开访问的更多信息,请参阅从 Internet 隐藏 VPC 中的数据库实例

    可用区

    使用 No Preference 默认值,除非您想指定可用区。

    VPC 安全组

    如果您是 AWS 的新客户,请选择默认 VPC。如果您创建了 VPC 安全组,请选择此前已创建的 VPC 安全组。

    Database Name

    为您的数据库键入一个含有达 63 位字母和数字字符的名称。如果不提供名称,则创建默认的“postgres”数据库。

    要创建其他数据库,请连接到数据库实例并使用 SQL 命令 CREATE DATABASE。有关连接到数据库实例的更多信息,请参阅连接到运行 PostgreSQL 数据库引擎的数据库实例

    Database Port

    指定您希望用于访问数据库的端口。安装 PostgreSQL 默认采用端口 5432。

    DB Parameter Group

    请使用默认值,除非您已创建了您自己的参数组。

    选项组

    请使用默认值,除非您已创建了您自己的选项组。

    将标签复制到快照

    选择此选项可在创建快照时将任何数据库实例标签复制到数据库快照。有关更多信息,请参阅 标记 Amazon RDS 资源

    启用加密

    选择 Yes 可对此数据库实例启用静态加密。有关更多信息,请参阅 加密 Amazon RDS 资源

    备份保留期

    设置希望保留数据库自动备份的天数。为进行测试,您可以将此值设置为 1

    备份时段

    除非您知道需要何时进行数据库备份,否则请使用 No Preference 默认值。

    Enable Enhanced Monitoring

    选择 Yes 启用实时操作系统监控。Amazon RDS 为数据库实例运行的操作系统 (OS) 实时提供指标。您只需为 Amazon CloudWatch Logs 提供的免费套餐之外的增强监控付费。

    Monitoring Role

    选择 Default 使用默认 IAM 角色。

    粒度

    选择 60 每分钟监控实例。

    Auto Minor Version Upgrade

    选择 Yes,以便在次要数据库引擎版本可用时,让数据库实例能够自动接收这些次要升级。

    Maintenance Window

    选择 30 分钟时段,在这段时间内,将会应用对数据库实例的待处理修改。如果该时段无关紧要,请选择 No Preference

     “Additional Configuration”面板
  9. 在该向导的最后一页,选择 View Your DB Instances

  10. 在 Amazon RDS 控制台中,新数据库实例显示在数据库实例列表中。数据库实例具有 creating 状态,直到该数据库实例完成创建并可供使用。当状态变为 Available 时,您可以连接到该数据库实例。根据所分配的数据库实例类和存储的不同,新实例可能需要数分钟时间才能变得可用。

     “My DB Instances”列表

连接到 PostgreSQL 数据库实例

在 Amazon RDS 预置数据库实例后,您可以使用任何标准 SQL 客户端应用程序连接到该实例。必须注意,在创建分配给该数据库实例的安全组时,该安全组必须允许访问该数据库实例,这一点很重要。如果难以连接到该数据库实例,则在分配给该数据库实例的安全组中设置的访问规则往往是问题所在。

本节展示两种连接到 PostgreSQL 数据库实例的方法。第一个示例使用 pgAdmin,这是一个时下受欢迎的用于 PostgreSQL 的开源管理和开发工具。客户端计算机上不必具有 PostgreSQL 的本地实例,即可下载和使用 pgAdmin。第二个示例使用 psql,这是一个命令行实用工具,包含在 PostgreSQL 安装中。要使用 psql,必须已在客户端计算机上安装 PostgreSQL,或已在您的计算机上安装 psql 客户端。

在本例中,您使用 pgAdmin 连接到一个 PostgreSQL 数据库实例。

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

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

  1. 在您的客户端计算机上启动 pgAdmin 应用程序。可从 http://www.pgadmin.org/ 安装 pgAdmin

  2. File 菜单中选择 Add Server

  3. New Server Registration 对话框中,在 Host 框中输入该数据库实例的终端节点 (例如,mypostgresql.c6c8dntfzzhgv0.us-west-2.rds.amazonaws.com)。请勿如 Amazon RDS 控制台上所示的那样加入冒号或端口号 (mypostgresql.c6c8dntfzzhgv0.us-west-2.rds.amazonaws.com:5432)。

    将分配给该数据库实例的端口输入到 Port 框中。将在创建该数据库实例时输入的用户名和用户密码分别输入到 UsernamePassword 框中。

     Postgres 连接
  4. 选择 OK

  5. Object browser 中,展开 Server Groups。选择您创建的服务器 (数据库实例),然后选择数据库名称。

     Postgres 连接
  6. 选择插件图标并选择 PSQL Console。您创建的默认数据库的 psql 命令窗口将打开。

     Postgres 连接
  7. 使用该命令窗口输入 SQL 或 psql 命令。键入 \q 以关闭该窗口。

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

如果客户端计算机安装有 PostgreSQL,可使用 psql 的本地实例连接到 PostgreSQL 数据库实例。要使用 psql 连接到 PostgreSQL 数据库实例,您需要提供主机信息和访问凭证。

以下格式用于连接到 Amazon RDS 上的 PostgreSQL 数据库实例:

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

排除连接问题

截至目前,尝试连接到数据库实例上的数据库时最常发生的问题是分配给该数据库实例的安全组中的访问规则。如果在创建该数据库实例时用的是默认数据库安全组,则很有可能该安全组没有将允许您访问该实例的规则。有关 Amazon RDS 安全组的更多信息,请参阅 Amazon RDS 个安全组

最常见的错误是 could not connect to server: Connection timed out。如果发生此错误,则确认主机名是该数据库实例的终端节点,并且端口号正确无误。确认分配给该数据库实例的安全组具有必要的规则以允许您的连接通过相应防火墙进行访问。

删除数据库实例

在连接到您创建的示例数据库实例之后,您应当删除数据库实例,因此您无需为其付费。

删除无最终数据库快照的数据库实例

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

  2. Instances 列表中,选择您要删除的数据库实例。

  3. 选择 Instance Actions,然后从下拉菜单中选择 Delete

  4. 在下面的列表框中选择 No:即 Create final Snapshot? 下拉列表框。

  5. 选择 Yes, Delete