前置配置(postgresql.conf):wal_level = logical max_worker_processes = 10 max_replication_slots = 10 max_wal_senders = 10 shared_preload_libraries = 'pglogical' 发布端(Provider)配置与初始化:CREATE EXTENSION pglogical; SELECT pglogical.create_node(node_name := 'pub_node', dsn := 'host=pub-db port=5432 dbname=app user=replicator password=secret'); SELECT pglogical.create_replication_set('default', include_insert := true, include_update := true, include_delete := true, include_truncate := true); SELECT pglogical.replication_set_add_all_tables('default', ARRAY['public'], include_sequences := true); 订阅端(Subscriber)创建订阅并同步:CREATE EXTENSION pglogical; SELECT pglogical.create_node(node_name := 'sub_node', dsn := 'host=sub-db port=5432 dbname=app user=replicator password=secret'); SELECT pglogical.create_subscription( subscription_name := 'sub_default', provider_dsn := 'host=pub-db port=5432 dbname=app user=replicator password=secret', replication_sets := ARRAY['default'], synchronize_data := true, forward_origins := '{}' ); 状态与同步完成检测:SELECT * FROM pglogical.show_subscription_status(); SELECT pglogical.wait_for_subscription_sync_complete('sub_default'); DDL 复制(受控执行):SELECT pglogical.replicate_ddl_command('ALTER TABLE public.users ADD COLUMN last_seen timestamptz');

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部
1.972348s