如需将 Amazon Aurora PostgreSQL 数据库中的变更数据捕获 (CDC) 更新流式传输到 BigQuery、Cloud Storage 或其他受支持的 目标,您需要在您的 源集群上进行逻辑复制。如需为 Datastream 准备数据库,请配置集群参数组,创建发布内容和复制槽,并设置 Datastream 用户。
在开始之前,请确保您已拥有 Amazon Aurora 集群,并且已连接到主数据库服务器的写入器端点。
创建参数组
- 启动 Amazon RDS 信息中心。
- 在抽屉式导航栏中,点击参数组,然后点击创建参数组。此时会显示创建参数组 页面。
- 使用下表填充此页面的字段,然后点击创建:
字段 说明 参数组系列 选择与您的数据库匹配的系列。 类型 选择数据库集群参数组。 群组名称 为参数组提供名称。 说明 提供参数组的说明。 - 选中新建参数组左侧的复选框,然后在参数组操作下点击修改。
- 将
rds.logical_replication参数的值更改为 1 。 - 点击保存更改 。
将参数组分配给数据库实例
- 启动 Amazon RDS 信息中心。
- 在抽屉式导航栏 中,点击数据库 ,然后选择您的 数据库实例。
- 从实例操作 菜单中选择修改 。此时会显示修改数据库实例 对话框。
- 在其他配置 部分中,选择您创建的数据库集群 参数组。
- 将备份保留期限 设置为 7 天 。
- 点击继续 。
- 在修改时间安排 窗格中,选择立即应用 选项。
重启数据库实例
- 启动 Amazon RDS 信息中心。
- 在抽屉式导航栏 中,点击数据库 ,然后选择您的 数据库实例。
- 在操作 下拉菜单中,依次选择重启 和确认 。
创建发布内容和复制槽
为要复制的表中的更改创建发布内容。我们建议您仅为要复制的表创建发布内容。 这样,Datastream 就可以只读取相关数据,并降低数据库和 Datastream 的负载:
CREATE PUBLICATION PUBLICATION_NAME FOR TABLE SCHEMA1.TABLE1, SCHEMA2.TABLE2;
替换以下内容:
- PUBLICATION_NAME:发布内容的名称。您需要在 Datastream 数据流创建向导中创建数据流时提供此名称。
- SCHEMA:包含表的架构的名称。
- TABLE:您要复制的表的名称。
您还可以为数据库中的所有表创建发布内容。请注意,这种方法会增加源数据库和 Datastream 的负载:
CREATE PUBLICATION PUBLICATION_NAME FOR ALL TABLES;
输入以下 PostgreSQL 命令,创建复制槽:
SELECT PG_CREATE_LOGICAL_REPLICATION_SLOT('REPLICATION_SLOT_NAME', 'pgoutput');替换以下内容:
- REPLICATION_SLOT_NAME:复制槽的名称。您需要在 Datastream 数据流创建向导中创建数据流时提供此名称。
创建 Datastream 用户
如需创建 Datastream 用户,请输入以下 PostgreSQL 命令:
CREATE USER USER_NAME WITH ENCRYPTED PASSWORD 'USER_PASSWORD';
替换以下内容:
- USER_NAME:您要创建的 Datastream 用户的名称。
- USER_PASSWORD:您要创建的 Datastream 用户的密码 。
向您创建的用户授予以下特权:
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_NAME; ALTER DEFAULT PRIVILEGES IN SCHEMA SCHEMA_NAME GRANT SELECT ON TABLES TO USER_NAME;
替换以下内容:
- SCHEMA_NAME:您要向其授予 特权的架构的名称。
- USER_NAME:您要向其授予特权的用户。
后续步骤
- 详细了解 Datastream 如何与 PostgreSQL 源搭配使用。