postgresql主从部署

119 阅读1分钟

前置工作

安装pgsql

主库ip:18.0.145.8 从库ip:18.0.145.4

主库配置

编辑 vi /var/lib/pgsql/pg_hba.conf,允许18.0.145.4从节点连入

host   replication      replica         18.0.145.4/32          md5 

编辑 vi /var/lib/pgsql/postgresql.conf

# 绑定监听所有IP
listen_addresses = '*'  
# 允许归档
archive_mode = on  
# 通过命令指定归档路径/
archive_command = 'cp %p /home/data/pg/pg_archive/%f' 
#  写入WAL的级别(minimal:不能通过基础备份和wal日志恢复数据库; replica: 支持wal归档和复制; logical: 在replica级别添加了逻辑解码所需的信息)
wal_level = logical 
# 允许最多的流复制连接发送数量, 根据从节点数量来设定
max_wal_senders = 32 
# 设置流复制保留的最多的xlog数目
wal_keep_segments = 256 
# 设置流复制发送数据的超时时间
wal_sender_timeout = 60s 
# 最大连接数量,根据从节点与客户端连接数来设定
max_connections = 1000 

新建主从同步用户

CREATE ROLE replica login replication encrypted password 'replica';

重启服务

systemctl restart postgresql.service

从库配置

进入从库的数据目录并清空目录内容

su - postgres 
cd /var/lib/pgsql
rm -rf *

从主库复制数据到从库

pg_basebackup -D 数据目录 -Fp -Xstream -R -c fast -v -P -h 18.0.145.8 -U replica -W

完成后重启pgsql

systemctl restart postgresql.service