在 PostgreSQL 数据库中,主从复制是一种常见的高可用性和数据冗余方案。它通过将一个主数据库的更改操作同步到一个或多个从数据库来实现数据的复制和同步。本文将介绍基于物理复制的 PostgreSQL 主从复制方案,并提供相应的源代码示例。
- 环境设置
首先,确保已经在主数据库和从数据库上安装了 PostgreSQL,并且两者的版本相同。在主数据库上进行以下配置:
- 修改主数据库的
postgresql.conf
文件,启用 WAL(Write-Ahead Logging)记录:
wal_level = replica
max_wal_senders = 10
wal_keep_segments = 32
- 修改
pg_hba.conf
文件,允许从数据库连接到主数据库:
host replication <从数据库IP地址>/32 trust
- 重启主数据库以使配置生效。
在从数据库上进行以下配置:
- 修改从数据库的
postgresql.conf
文件,启用热备和流复制:
hot_standby = on
- 创建主数据库备份
在主数据库上,创建一个基准备份,用于初始化从数据库。执行以下命令:
<