操作场景
RDS-PostgreSQL支持 pglogical
插件,为PostgreSQL数据库提供了逻辑流复制发布和订阅的功能。
前提条件
- 请确保您的实例内核大版本满足,本插件所支持的内核版本,请参考支持的版本插件列表。
插件使用
- 安装插件
CREATE EXTENSION IF NOT EXISTS pglogical;
- 卸载插件
DROP EXTENSION IF EXISTS pglogical;
使用示例
1.在发布端创建发布节点(实例A)
SELECT pglogical.create_node(
node_name := 'provider',
dsn := 'host=127.0.0.1 port=<端口号> dbname=test user=root password=密码'
);
2.配置复制集。将public中的所有表添加到default复制集(实例A)
SELECT pglogical.replication_set_add_all_tables('default', ARRAY['public']);
3.在订阅端创建订阅节点。 一旦设置了发布端节点,订阅者就可以订阅它。首先必须创建订阅者节点(实例B):
SELECT pglogical.create_node(
node_name := 'subscriber',
dsn := 'host=127.0.0.1 port=<端口号> dbname=test user=root password=密码'
);
4.在订阅端创建订阅(实例B)。
SELECT pglogical.create_subscription(
subscription_name := 'subscription',
provider_dsn := 'host=<provider内网地址> port=<provider内网端口> dbname=test user=root password=密码'
);
创建订阅后,将在后台启动同步和复制流程。
常见问题
此插件使用方法与开源方法一致,请详见pglogical开源社区。