PG学习日记PG13.7部署standby库
在PostgreSQL 13.7中部署一个standby(备用)数据库可以通过以下步骤实现:
- 准备主库(Primary)和备用库(Standby)的环境。
- 在主库上创建备份。
- 将备份文件传输到备用服务器。
- 在备用服务器上恢复备份。
- 配置recovery.conf文件以连接到主库。
以下是具体的操作步骤和示例配置:
主库配置(Primary):
确保主库的postgresql.conf中有以下设置:
wal_level = replica
max_wal_senders = 3 # 可以根据需要调整
max_replication_slots = 3 # 可以根据需要调整
- 备份主库:
pg_basebackup -h hostname_or_ip -U replication_user -D /path/to/data/directory -X stream -P
- 将备份文件传输到备用服务器:
scp -r /path/to/data/directory user@standby_host:/path/to/data/directory
- 在备用服务器上恢复备份:
chown -R postgres:postgres /path/to/data/directory
psql -d postgres -c "SELECT pg_start_backup('backup_label', true)"
# 复制数据目录内容到对应位置
psql -d postgres -c "SELECT pg_stop_backup()"
配置recovery.conf文件:
在备用服务器的PostgreSQL数据目录中创建或编辑recovery.conf文件,添加以下内容:
primary_conninfo = 'host=hostname_or_ip port=5432 user=replication_user password=replication_password sslmode=prefer sslcompression=1'
primary_slot_name = 'replication_slot'
recovery_target_timeline = 'latest'
- 启动备用服务器上的PostgreSQL服务:
pg_ctl -D /path/to/data/directory start
确保替换hostname\_or\_ip, user, replication\_user, replication\_password, /path/to/data/directory为实际的值。
以上步骤将设置一个基本的PostgreSQL备用服务器,根据实际情况可能需要额外的配置,比如配置网络和连接参数,设置监听地址,调整资源限制等。
评论已关闭