配置 Cloud SQL for PostgreSQL 数据库

以下部分介绍了如何配置 Cloud SQL for PostgreSQL 数据库。

启用逻辑复制

  1. 在 Google Cloud 控制台中,前往 Cloud SQL。

  2. 打开 Cloud SQL 实例,然后点击修改

  3. 前往标志部分。

  4. 点击添加标志

  5. 从下拉菜单中选择 cloudsql.logical_decoding 标志。

  6. 将标志值设置为 on

  7. 点击保存以保存更改。您需要重启实例,才能应用更改来更新实例。

  8. 实例重启后,请在概览页面的数据库标志下确认您的更改。

创建发布内容和复制槽

  1. 以具有足够权限的用户身份连接到数据库,以创建复制槽;否则,请运行以下命令:

    ALTER USER USER_NAME WITH REPLICATION;
    

    替换以下内容:

    • USER_NAME:您要向其授权的用户的名称 复制权限。
  2. 创建发布内容。我们建议您仅为 您要复制的表数量这样,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;
    
  3. 输入以下 SQL 命令,创建复制槽:

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

    替换以下内容:

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

创建 Datastream 用户

  1. 使用 PostgreSQL 客户端连接到数据库。

  2. 输入以下 PostgreSQL 命令:

    CREATE USER USER_NAME WITH REPLICATION LOGIN PASSWORD 'USER_PASSWORD';

    替换以下内容:

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

    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:您要向其授予权限的用户。

后续步骤