逻辑复制 在 特定表 的层面复制数据更改(使用 publish/subscribe 模型),而不是像物理(流式)复制那样逐字节复制整个数据库集群。这使其具有灵活性 — 选择性的、跨版本的,以及到不同 schema 的 — 非常适合迁移和集成。
逻辑复制与物理复制
PHYSICAL (streaming) → replicates the ENTIRE cluster at the storage/WAL level
✓ exact copy, simple ✗ all-or-nothing, same Postgres version, read-only replica
LOGICAL → replicates specific TABLES' changes via a publish/subscribe model
✓ SELECTIVE (choose tables), CROSS-VERSION, to DIFFERENT schemas, replica is WRITABLE
✗ more setup, some limitations (DDL not replicated automatically, etc.)
设置逻辑复制 (pub/sub)
PUBLICATION my_pub users, orders;
SUBSCRIPTION my_sub
CONNECTION
PUBLICATION my_pub;
