PG逻辑复制入门与配置
学习PostgreSQL逻辑复制实现跨数据库实时同步 · 难度:入门 · +15XP
逻辑复制概述
逻辑复制基于发布/订阅模型,允许将表级别的更改实时复制到其他数据库,支持跨版本和跨平台。
发布端配置
-- 设置wal_level
ALTER SYSTEM SET wal_level = logical;
SELECT pg_reload_conf();
-- 创建发布
CREATE PUBLICATION my_pub FOR TABLE users, orders;
-- 查看发布
SELECT * FROM pg_publication;
订阅端配置
-- 创建订阅
CREATE SUBSCRIPTION my_sub
CONNECTION 'host=192.168.1.100 port=5432 dbname=sourcedb user=replicator password=secret'
PUBLICATION my_pub;
-- 查看复制状态
SELECT * FROM pg_stat_subscription;
复制特性
| 特性 | 说明 |
|---|---|
| 表级复制 | 可选择复制哪些表 |
| 过滤能力 | 支持WHERE子句过滤 |
| 列子集 | 可复制部分列 |
练习提示
在本地创建两个数据库,配置逻辑复制同步一张表,插入数据后验证目标表数据一致性。