前置配置(postgresql.conf):wal_level = logical max_replication_slots = 10 max_wal_senders = 10 创建 wal2json 复制槽(SQL):SELECT pg_create_logical_replication_slot('slot_wal2json', 'wal2json'); 读取变更(SQL 方式):SELECT data FROM pg_logical_slot_peek_changes('slot_wal2json', NULL, NULL, 'pretty-print', '1'); 命令行流式读取:pg_recvlogical -d app -U replicator --slot slot_wal2json --start -o pretty-print=1 -o include-xids=0 -f - 示例变更(插入触发):INSERT INTO public.orders(id, amount) VALUES (1, 9.99); 清理复制槽:SELECT pg_drop_replication_slot('slot_wal2json');

发表评论 取消回复