创建 PostgreSQL 数据库实例并连接到 PostgreSQL 数据库实例上的数据库 - Amazon Relational Database Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

创建数据库实例的最轻松方法是使用 Amazon Web Services Management Console。在创建数据库实例之后,可使用标准 SQL 客户端实用程序(如 pgAdmin 实用程序)连接到数据库实例。在该示例中,您创建一个数据库实例,它运行带有 db.r6g.large 数据库实例类和 100 GiB 存储空间的 PostgreSQL 数据库引擎 database-1

重要

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

创建 Amazon 账户并不会收费;但是,在完成本教程过程中使用Amazon资源可能会产生费用。完成本教程后,如果不再需要这些资源,可以将其删除。

创建 PostgreSQL 数据库实例

Amazon RDS 的基本构建基块是数据库实例。这是您将要在其中运行 PostgreSQL 数据库的环境。

您可以通过 Easy create (轻松创建) 使用Amazon Web Services Management Console创建运行 PostgreSQL 的数据库实例。借助 Easy create (轻松创建),您可以仅指定数据库引擎类型、数据库实例大小和数据库实例标识符。Easy create (轻松创建) 为其他配置选项使用默认设置。如果使用 Easy create (轻松创建)(而不是 Standard create (标准创建)),您在创建数据库时需要指定更多配置选项,包括用于可用性、安全性、备份和维护的选项。

在该示例中,您使用 Easy create (轻松创建) 创建一个数据库实例,它运行带有 db.r6g.large 数据库实例类的 PostgreSQL 数据库引擎。

注意

有关使用 Standard create (标准创建) 创建数据库实例的信息,请参阅 创建 Amazon RDS 数据库实例。如果您想使用免费套餐,请使用 Standard create (标准创建)

在启用“Easy create (轻松创建)”的情况下创建 PostgreSQL 数据库实例
  1. 登录 Amazon Web Services Management Console 并通过以下网址打开 Amazon RDS 控制台:https://console.aws.amazon.com/rds/

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

  3. 在导航窗格中,选择 Databases (数据库)

  4. 选择 Create database (创建数据库),并确保已选择 Easy create (轻松创建)

    
    							“Easy create”(轻松创建) 选项
  5. 对于引擎类型,选择 PostgreSQL

  6. 对于数据库实例大小,选择免费套餐

  7. 对于数据库实例标识符,输入数据库实例的名称,或者保留默认名称。

  8. 对于 Master username(主用户名),输入主用户的名称,或者保留默认名称(postgres)。

    创建数据库页面应类似于以下图像。

    
    							“创建数据库”页面
  9. 要为数据库实例使用自动生成的主密码,请确保选中 Auto generate a password (自动生成密码) 框。

    要输入主密码,请清除 Auto generate a password (自动生成密码) 框,然后在 Master password (主密码)Confirm password (确认密码) 中输入相同的密码。

  10. (可选)打开查看轻松创建的默认设置

    
    							用于 PostgreSQL 实例设置的 RDS

    您可以检查在启用 Easy create (轻松创建) 时使用的默认设置。Editable after database is created (可以在创建数据库后编辑) 列显示您可以在创建数据库后更改的选项。

    • 要更改在该列中具有 No (否) 的设置,请使用 Standard create (标准创建)

    • 要更改在该列中具有 Yes (是) 的设置,您可以使用 Standard create (标准创建),也可以在创建后修改数据库实例以更改该设置。

    以下是更改默认设置的重要注意事项:

    • 在某些情况下,您可能希望数据库实例使用基于 Amazon VPC 服务的特定 Virtual Private Cloud(VPC)。或者,您可能需要特定的子网组或安全组。如果是这样,则使用 Standard create (标准创建) 指定这些资源。在为 Amazon RDS 设置时,您可能已创建了这些资源。有关更多信息,请参阅 通过创建安全组提供对 VPC 中的数据库实例的访问

    • 如果您希望能够通过 VPC 外部的客户端访问数据库实例,请使用 Standard create (标准创建)Public access (公有访问权限)设置为 Yes (是)

      如果数据库实例应为私有实例,请将 Public access (公有访问权限) 设置为 No (否)

    • 如果您想使用免费套餐,请使用 Standard create (标准创建) 将 PostgreSQL 版本设置为低于版本 13,然后在 Templates (模板) 中选择 Free tier (免费套餐)

  11. 选择创建数据库

    如果选择使用自动生成的密码,则数据库页面上将显示查看凭证详细信息按钮。

    要查看数据库实例的主用户名和密码,请选择查看凭证详细信息

    要以主用户身份连接到数据库实例,请使用显示的用户名和密码。

    重要

    您无法再次查看主用户密码。如果您不记录它,您可能需要更改它。

    如果需要在数据库实例可用后更改主用户密码,则可以修改数据库实例以执行此操作。有关修改 数据库实例的更多信息,请参阅 修改 Amazon RDS 数据库实例

  12. 对于数据库,选择新 PostgreSQL 数据库实例的名称。

    在 RDS 控制台上,将显示新数据库实例的详细信息。数据库实例具有 Creating (正在创建) 状态,直到该数据库实例可供使用。当状态变为 Available (可用) 时,您可以连接到该数据库实例。根据数据库实例类和存储量,新实例可能需要等待 20 分钟时间才可用。

    
    							数据库实例详细信息的屏幕截图。

自动连接 EC2 实例和 PostgreSQL 数据库实例

您可以从 RDS 控制台中自动将现有 EC2 实例连接到数据库实例。RDS 控制台简化了设置 EC2 实例与 PostgreSQL 数据库实例之间的连接的过程。

在 EC2 实例与 RDS 数据库之间设置连接之前,请确保满足与 EC2 实例的自动连接概述中所述的要求。

如果您在配置连接后更改这些安全组,则这些更改可能会影响 EC2 实例与 RDS 数据库之间的连接。

注意

您只能使用 Amazon Web Services Management Console自动在 EC2 实例与 RDS 数据库之间设置连接。您无法使用 Amazon CLI 或 RDS API 自动设置连接。

自动连接 EC2 实例与 RDS 数据库
  1. 登录 Amazon Web Services Management Console 并通过以下网址打开 Amazon RDS 控制台:https://console.aws.amazon.com/rds/

  2. 在导航窗格中,选择 Databases(数据库),然后选择 RDS 数据库

  3. 对于 Actions(操作),选择 Set up EC2 connection(设置 EC2 连接)。

    将出现 Set up EC2 connection(设置 EC2 连接)页面。

  4. Set up EC2 connection(设置 EC2 连接)页上,选择 EC2 实例。

    
                    “设置 EC2 连接”页面。

    如果同一 VPC 中不存在任何 EC2 实例,请选择 Create EC2 instance(创建 EC2 实例)来创建一个此类实例。在这种情况下,请确保新的 EC2 实例与 RDS 数据库位于同一 VPC 中。

  5. 选择 Continue(继续)。

    将出现 Review and confirm(检查并确认)页面。

    
                    “EC2 连接检查和确认”页面。
  6. Review and confirm(检查并确认)页面上,检查 RDS 为设置与 EC2 实例的连接而将进行的更改。

    如果更改正确,请选择确认并设置

    如果更改不正确,请选择 Previous(上一步)或 Cancel(取消)。

连接到 PostgreSQL 数据库实例

在 Amazon RDS 预置数据库实例后,您可以使用任何标准 SQL 客户端应用程序连接到该实例。下面是两种连接到 PostgreSQL 数据库实例的方法。第一个示例使用 pgAdmin,这是一个时下受欢迎的用于 PostgreSQL 的开源管理和开发工具。客户端计算机上不必具有 PostgreSQL 的本地实例,即可下载和使用 pgAdmin。第二个示例使用 psql,这是一个命令行实用工具,包含在 PostgreSQL 安装中。要使用 psql,确保已在客户端计算机上安装 PostgreSQL,或已在您的计算机上安装 psql 客户端。

在尝试连接到数据库实例之前,请确保数据库实例与提供对其访问权限的安全组相关联。有关更多信息,请参阅通过创建安全组提供对 VPC 中的数据库实例的访问

在某些情况下,您可能在连接到数据库实例时遇到困难。如果是这样,则您设置的访问规则往往是问题所在。它们位于您分配给该数据库实例的安全组中。如果在创建数据库实例时没有指定相应的安全组,则可以修改数据库实例以更改其安全组。有关更多信息,请参阅修改 Amazon RDS 数据库实例

如果您的数据库实例可公开访问,请确保其关联的安全组具有您想要访问的 IP 地址的入站规则。如果您的数据库实例是私有的,请确保其关联的安全组对于您想要访问的每个资源的安全组具有入站规则。用 Amazon EC2 实例的安全组来举例。

有关连接到 PostgreSQL 数据库实例的更多信息,请参阅 连接到运行 PostgreSQL 数据库引擎的数据库实例。如果您无法连接到数据库实例,请参阅 排除与您的 RDS for PostgreSQL 实例的连接故障

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

要使用 pgAdmin 连接到 PostgreSQL 数据库实例,请执行以下操作
  1. 找到您的数据库实例的终端节点(DNS 名称)和端口号。

    1. 打开 RDS 控制台,然后选择 Databases (数据库) 以显示数据库实例的列表。

    2. 选择 PostgreSQL 数据库实例名称以显示其详细信息。

    3. 连接和安全性选项卡上,复制终端节点。另请注意端口号。您需要终端节点和端口号才能连接到数据库实例。

      
    										连接到 PostgreSQL 数据库实例
    4. Configuration(配置)选项卡中,记下数据库名称。您不需要它来使用 pgAdmin 进行连接,但是您确实需要它来使用 psql 进行连接。

      
    										Configuration(配置)选项卡上的数据库名称(数据库名称)
  2. https://www.pgadmin.org/ 安装 pgAdmin。客户端计算机上不必具有 PostgreSQL 的本地实例,即可下载和使用 pgAdmin。

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

  4. File 菜单中选择 Add Server

  5. New Server Registration (新服务器注册) 对话框中,在 Host (主机) 框中输入数据库实例终端节点(例如,database-1.123456789012.us-west-1.rds.amazonaws.com)。请勿包含 Amazon RDS 控制台 (database-1.c6c8dntfzzhgv0.us-west-1.rds.amazonaws.com:5432) 上显示的冒号或端口号。

    对于 Port (端口),输入分配给该数据库实例的端口。对于 Username (用户名)Password (密码),输入在创建该数据库实例时输入的用户名和用户密码。

    
								PostgreSQL 连接
  6. 选择 OK

  7. 在“Object browser”(对象浏览器) 中,展开 Server Groups (服务器组)。选择您创建的服务器(数据库实例),然后选择数据库名称。

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

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

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

如果客户端计算机安装有 PostgreSQL,可使用 psql 的本地实例连接到 PostgreSQL 数据库实例。要使用 psql 连接到 PostgreSQL 数据库实例,请提供主机信息、端口号、访问凭证和数据库名称。您可以按照 使用 pgAdmin 连接到 PostgreSQL 数据库实例 的过程中的第一步获取这些详细信息

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

psql --host=DB_instance_endpoint --port=port --username=master_user_name --password --dbname=database_name

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

psql --host=database-1.123456789012.us-west-1.rds.amazonaws.com --port=5432 --username=awsuser --password --dbname=postgres

删除数据库实例

在连接到您创建的示例数据库实例之后,删除它,以便不再为其付费。

删除无最终数据库快照的数据库实例
  1. 登录Amazon Web Services Management Console并通过以下网址打开 Amazon RDS 控制台:https://console.aws.amazon.com/rds/

  2. 在导航窗格中,选择 Databases (数据库)

  3. 选择要删除的数据库实例。

  4. 对于 Actions,选择 Delete

  5. 对于 Create final snapshot? (是否创建最终快照?),选择 No (否),然后确认选择。

  6. 选择 Delete