搭建PostgreSQL本地Slave的详细步骤

选购ECS实例
在阿里云上选购两台专有网络类型的云服务器ECS实例,建议不分配公网IP,您可以根据需要购买弹性公网IP并绑定至对应的ECS实例进行配置操作,后续可以根据实际使用情况考虑配置升级或架构调优变更。
主节点安装配置
1、安装 PostgreSQL
更新系统:# yum update y
安装 PostgreSQL 9.5 版本:# yum install postgresql95server postgresql95contrib y
初始化数据库:# /usr/pgsql9.5/bin/postgresql95setup initdb
启动服务:# systemctl start postgresql9.5.service

设置开机自启:# systemctl enable postgresql9.5.service
2、创建复制账号
切换到postgres
用户:# su postgres
创建具有复制权限的用户:CREATE ROLE replica login replication encrypted password 'replica';
3、配置文件修改
编辑pg_hba.conf
文件以允许特定IP范围和用户访问:
“`
host all all 192.168.1.0/24 md5

host replication replica 192.168.1.0/24 md5
“`
修改postgresql.conf
以启用热备模式及其他相关参数:
“`
wal_level = hot_standby
synchronous_commit = on
max_wal_senders = 32
wal_sender_timeout = 60s
max_connections = 100
“`
4、重启服务
重启 PostgreSQL 服务以应用更改:# systemctl restart postgresql9.5.service
从节点安装配置
1、安装 PostgreSQL
更新系统:# yum update y
安装 PostgreSQL 9.5 版本:# yum install postgresql95server postgresql95contrib y
2、基础备份
使用pg_basebackup
工具从主节点获取数据备份:
“`
# pg_basebackup D /var/lib/pgsql/9.5/data h 主节点IP p 5432 U replica X stream P
“`
3、配置文件修改
复制并修改recovery.conf
文件:
“`
standby_mode = on
primary_conninfo = ‘host=主节点IP port=5432 user=replica password=replica’
recovery_target_timeline = ‘latest’
“`
修改postgresql.conf
文件设置从节点参数:
“`
max_connections = 1000
hot_standby = on
max_standby_streaming_delay = 30s
wal_receiver_status_interval = 1s
hot_standby_feedback = on
“`
4、权限与启动
更改数据目录属组属主:# chown R postgres.postgres /var/lib/pgsql/9.5/data
启动服务:# systemctl start postgresql9.5.service
设置开机自启:# systemctl enable postgresql9.5.service
检测验证
1、查看进程
在主节点中查看 sender 进程:# ps aux | grep sender
在从节点中查看 receiver 进程以确保数据同步正常。
相关问题与解答
1、如何确保主从数据的同步效率?
确保网络状态良好,避免因网络延迟影响数据同步。
调整max_wal_senders
和wal_sender_timeout
参数以优化数据传输性能。
监控主从节点的 CPU 和内存使用情况,适时进行资源扩展。
2、如果主节点出现故障,如何快速切换到从节点继续提供服务?
使用高可用性工具如 Pacemaker 和 Corosync 来实现自动故障转移。
确保trigger_file
正确配置在从节点的recovery.conf
文件中,以便在必要时手动触发切换。
定期演练故障转移流程,确保实际操作时能够迅速恢复服务。
【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!
发表回复