PostgreSQL 提供了非常强大且灵活的复制(Replication)功能,以满足高可用性(HA)、灾难恢复(DR)、读写分离以及数据集成等不同场景的需求。 总体来说,PostgreSQL 的复制方式主要分为两大阵营:物理复制(Physical Replication) 和 逻辑复制(Logical Replication)。此外,还有一些基于第三方的解决方案。 以下是 PostgreSQL 支持的主要复制方式详解: --- 一、 物理复制 (Physical Replication) 物理复制是基于块(Block)级别的复制,即备库(Standby)是主库(Primary)在磁盘层面的完全一致的逐位拷贝(Bit-for-bit copy)。它通过传输和应用 WAL(Write-Ahead Log,预写式日志) 来实现。 物理复制主要有以下几种形式: 1. 流复制 (Streaming Replication) —— 最常用 这是目前 PostgreSQL 最常用、推荐的高可用和读写分离方案。主库在生成 WAL 记录时,不需要等 WAL 文件写满,而是直接通过网络流式传输给备...