配置 Amazon RDS PostgreSQL 数据库

以下页面介绍了如何为 Amazon RDS for PostgreSQL 数据库配置 CDC。

创建参数组

  1. 启动 Amazon RDS 信息中心。

  2. 抽屉式导航栏中,点击参数组,然后点击创建参数组。此时会显示创建参数组页面。

  3. 选择与您的数据库匹配的数据库系列,为参数组提供名称和说明,然后点击创建

  4. 选中新建参数组左侧的复选框,然后在参数组操作下点击修改

  5. 为您的组设置以下参数。

    参数
    logical_replication1
  6. 点击保存更改

配置来源数据库

  1. 启动 Amazon RDS 信息中心。

  2. 抽屉式导航栏中,点击数据库

  3. 选择您的来源,然后点击修改

  4. 转到其他配置部分。

  5. 选择您创建的参数组。

  6. 点击继续

  7. 安排修改时间下,选择立即应用

验证已将参数组分配给数据库实例

  1. 启动 Amazon RDS 信息中心。

  2. 抽屉式导航栏中,点击数据库,然后选择您的数据库实例。

  3. 点击配置标签页。

  4. 验证您能看到自己创建的参数组,并且其状态为 pending-reboot

  5. 重新启动数据库实例以完成配置。如需重新启动实例,请执行以下步骤:

    1. 抽屉式导航栏中,点击实例
    2. 选择您的数据库实例。
    3. 实例操作菜单中选择重新启动

创建发布内容和复制槽

  1. 创建发布内容。我们建议您仅为要复制的表创建发布内容。这样,Datastream 就可以只读相关数据,并降低数据库和 Datastream 的负载:

    CREATE PUBLICATION PUBLICATION_NAME
    FOR TABLE SCHEMA1.TABLE1, SCHEMA2.TABLE2;

    替换以下内容:

    • PUBLICATION_NAME:发布内容的名称。在 Datastream 数据流创建向导中创建数据流时,您需要提供此名称。
    • SCHEMA:包含表的架构的名称。
    • TABLE:您要复制的表的名称。

    您可以为架构中的所有表创建发布内容。通过此方法,您可以复制对指定架构列表中的表(包括您将来创建的表)的更改:

    CREATE PUBLICATION PUBLICATION_NAME
    FOR TABLES IN SCHEMA1, SCHEMA2;

    您还可以为数据库中的所有表创建发布内容。请注意,此方法会增加源数据库和 Datastream 的负载:

    CREATE PUBLICATION PUBLICATION_NAME FOR ALL TABLES;
    
  2. 输入以下 PostgreSQL 命令以创建复制槽:

    SELECT PG_CREATE_LOGICAL_REPLICATION_SLOT('REPLICATION_SLOT_NAME', 'pgoutput'); 

    替换以下内容:

    • REPLICATION_SLOT_NAME:复制槽的名称。在 Datastream 数据流创建向导中创建数据流时,您需要提供此名称。

创建 Datastream 用户

  1. 如需创建 Datastream 用户,请输入以下 PostgreSQL 命令:

    CREATE USER USER_NAME WITH ENCRYPTED PASSWORD 'USER_PASSWORD';
    

    替换以下内容:

    • USER_NAME:您要创建的 Datastream 用户的名称。
    • USER_PASSWORD:您要创建的 Datastream 用户的登录密码。
  2. 向您创建的用户授予以下特权:

    GRANT RDS_REPLICATION TO USER_NAME;
    GRANT SELECT ON ALL TABLES IN SCHEMA SCHEMA_NAME TO USER_NAME;
    GRANT USAGE ON SCHEMA SCHEMA_NAME TO USER;
    ALTER DEFAULT PRIVILEGES IN SCHEMA SCHEMA_NAME
      GRANT SELECT ON TABLES TO USER_NAME;
    

    替换以下内容:

    • USER_NAME:您要授予权限的用户。
    • SCHEMA_NAME:您要向其授予权限的架构的名称。