云数据库 RDS-使用pglogical插件:基本使用

时间:2024-11-15 14:53:01

基本使用

使用pglogical插件的功能,需要修改配置参数。

wal_level = 'logical'

shared_preload_libraries = 'pglogical'

shared_preload_libraries参数的修改可以参考修改shared_preload_libraries参数

  1. 配置逻辑流复制。在发布端创建发布节点:
    SELECT pglogical.create_node(
        node_name := 'provider',
        dsn := 'host=127.0.0.1 port=5432 dbname=test user=provider_user'
    );
  2. 配置复制集。将public中的所有表添加到default复制集:
    SELECT pglogical.replication_set_add_all_tables('default', ARRAY['public']);

    复制集用来控制将发布节点数据库中的哪些表以及这些表上的哪些操作发布给订阅者。

    default复制集,表示发布所有表及这些表的所有操作。

    更多复制集定义请参见pglogical官方文档

  3. 在订阅端创建订阅节点。 一旦设置了发布端节点,订阅者就可以订阅它。首先必须创建订阅者节点:
    SELECT pglogical.create_node(
        node_name := 'subscriber',
        dsn := 'host=127.0.0.1 port=5432 dbname=test user=subscriber_user'
    );
  4. 在订阅端创建订阅。在订阅者节点创建订阅后,将在后台启动同步和复制过程:
    SELECT pglogical.create_subscription(
        subscription_name := 'subscription',
        provider_dsn := 'host=providerhost port=5432 dbname=test user=provider_user'
    );
    SELECT pglogical.wait_for_subscription_sync_complete('subscription');
support.huaweicloud.com/usermanual-rds/rds_09_0064.html