PG物理复制剖析
在PostgreSQL中,物理复制(也称为流复制或hot standby)是一种将数据从主服务器复制到备服务器的机制。以下是如何进行PG物理复制的简要步骤:
- 在主服务器上,确保
wal_level
至少设置为replica
。 - 确保
max_wal_senders
设置足够高以支持预期的WAL发送器数量。 - 配置主服务器的
postgresql.conf
,以允许流复制。 - 创建复制用户并获取适当的权限。
- 在备服务器上,初始化数据目录并启动PostgreSQL服务。
- 配置备服务器以连接至主服务器并开始复制过程。
以下是相关的配置示例和命令:
主服务器的postgresql.conf
配置:
wal_level = 'replica'
max_wal_senders = 3 # 根据需求调整
创建复制用户:
CREATE ROLE replica LOGIN PASSWORD 'replica_password';
GRANT REPLICATION SLAVE ON DATABASE yourdb TO replica;
备服务器的初始化和启动:
initdb -D /path/to/data/directory
pg_basebackup -h master_host_ip -U replica -D /path/to/data/directory -X stream -P
备服务器的recovery.conf
配置(在初始化完成后创建或修改):
primary_conninfo = 'host=master_host_ip port=5432 user=replica password=replica_password sslmode=prefer sslcompression=1'
primary_slot_name = 'replica_slot'
recovery_target_timeline = 'latest'
启动备服务器:
postgres -D /path/to/data/directory
这些步骤提供了一个基本的物理复制设置。在实际部署中,可能需要考虑更多的配置选项,如同步的时间点、恢复目标、备机设置等。
评论已关闭