本页介绍了如何配置变更数据捕获 (CDC),以将数据从自管理的 PostgreSQL 数据库流式传输到支持的目标位置,例如 BigQuery 或 Cloud Storage。
对数据库启用逻辑复制
- 通过向 - postgresql.conf文件添加- wal_level=logical,在数据库中设置- wal_level参数。
- 重新启动服务器。 
创建发布内容和复制槽
- 以超级用户身份登录 PostgreSQL 控制台。 
- 创建发布内容。我们建议您仅为要复制的表创建发布内容。这样,Datastream 就可以只读取相关数据,从而降低数据库和 Datastream 的负载: - CREATE PUBLICATION PUBLICATION_NAME FOR TABLE SCHEMA1.TABLE1, SCHEMA2.TABLE2; - 替换以下内容: - PUBLICATION_NAME:您的出版物的名称。您需要在 Datastream 数据流创建向导中创建数据流时提供此名称。
- SCHEMA:包含相应表的架构的名称。
- TABLE:您要复制的表的名称。
 - 您可以为架构中的所有表创建发布内容。此方法可让您复制指定架构列表中的表的更改,包括您将来创建的表: - CREATE PUBLICATION PUBLICATION_NAME FOR TABLES IN SCHEMA SCHEMA1, SCHEMA2; - 您还可以为数据库中的所有表创建发布内容。请注意,此方法会增加源数据库和 Datastream 的负载: - CREATE PUBLICATION PUBLICATION_NAME FOR ALL TABLES; 
- 输入以下 SQL 命令,创建复制槽: - SELECT PG_CREATE_LOGICAL_REPLICATION_SLOT('REPLICATION_SLOT_NAME', 'pgoutput');- 替换以下内容: - REPLICATION_SLOT_NAME:复制槽的名称。您需要在 Datastream 数据流创建向导中创建数据流时提供此名称。
 
创建 Datastream 用户
- 如需创建 Datastream 用户,请输入以下 SQL 命令: - CREATE USER USER_NAME WITH ENCRYPTED PASSWORD 'USER_PASSWORD'; - 替换以下内容: - USER_NAME:您要创建的 Datastream 用户的名称。
- USER_PASSWORD:您要创建的 Datastream 用户的登录密码。
 
- 向您创建的用户授予以下特权: - ALTER ROLE USER_NAME WITH REPLICATION; 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; - 替换以下内容: - USER_NAME:您要向其授予相应权限的用户。
- SCHEMA_NAME:您要向其授予相应权限的架构的名称。
 
后续步骤
- 详细了解 Datastream 如何与 PostgreSQL 源配合使用。