多台服务器共享挂载同一套底层 SAN 或 NAS 存储网络阵列。同一时刻仅允许一台主库挂载并执行读写;主库宕机后,备机接管并挂载该共享存储,像崩溃恢复一样拉起实例。优点是零数据丢失且无网络同步开销;缺点是共享存储本身构成了单点故障(SPOF)。
在操作系统内核块设备层级,将主库块设备上的所有底层物理 I/O 写入实时网络镜像到对端节点。对数据库系统完全透明,但故障转移时同样需要经历崩溃重放过程。
PostgreSQL 原生内置的物理级高可用主备架构。主库将生成的 WAL 日志流实时通过 TCP 连接推送至一个或多个备库节点,备库在后台持续执行 REDO 日志回放。支持异步复制与同步复制,是现代高可用生产部署的首选工业级标准方案。
基于发布/订阅(Pub/Sub)模式在表或数据库级别复制具体的数据行变更,支持跨大版本异构复制与双向分布式数据同步(详见 Chapter 29)。
Table 26.1. 高可用与数据复制方案对比
| 特性 | 物理流复制 | 逻辑复制 |
|---|---|---|
| 复制粒度 | 全实例物理块 | 表级逻辑行 |
| 跨大版本支持 | 否(必须相同大版本) | 是 |
| 备库可读写 | 只读(Hot Standby) | 可读可写 |