admin管理员组文章数量:1666863
postgresql主从切换测试步骤:
1. 在master机器上执行
pg_controldata /data/pg_data/data/ |grep -i ‘database cluster state’
Database cluster state: in production
2. 在slave机器上执行
pg_controldata /data/pg_data/data/ |grep -i ‘database cluster state’
Database cluster state: in archive recovery
3.将只读节点提升为主节点
sudo -u postgres ./pg_ctl promote -D /data/pg_data/data/
waiting for server to promote… done
server promoted
select * from pg_stat_replication;
- recovery.conf文件将会被改成recovery.done
- 将丢失主从状态,变成两个独立的单点
4.在slave机器上执行,发现从库已经被提升为主库
pg_controldata /data/pg_data/data/ |grep -i ‘database cluster state’
Database cluster state: in production
5.将原来master转变成从节点
1)创建recovery.conf配置文件
standby_mode = ‘on’
primary_conninfo = ‘user=postgres password=123456 host=172.16.0.103 port=5432 sslmode=disable sslcompression=0 target_session_attrs=any’
recovery_target_timeline=‘latest’
2)授权
chown postgres. recovery.conf
3)检查原主库的时间线是否超前
##target server must be shut down cleanly
sudo -u postgres /usr/local/pgsql/bin/pg_rewind --target-pgdata=/data/pg_data/data --source-server=‘host=172.16.0.103 port=5432 user=postgres password=123456’
source and target cluster are on the same timeline
no rewind required
4)启动从库服务
sudo -u postgres /usr/local/pgsql/bin/pg_ctl -D /data/pg_data/data -l /data/pg_data/log/pg.log start
遇到问题
1)权限不够,从库添加了recovery.conf文件权限是root,需要修改用户权限为postgres
FATAL: terminating connection due to administrator command
2)原主库时间线超前于从库
DETAIL: End of WAL reached on timeline 1 at 0/301E510.
LOG: new timeline 2 forked off current database system timeline 1 before current recovery point 0/301E580
3)使用pg_rewind必须开启相关参数,可以选择开启wal_log_hints或者选择开启data_checksums。data_checksums只能在数据库初始化的时候设置,后续数据库服务建立后是无法修改的。
target server needs to use either data checksums or “wal_log_hints = on”
- wal_log_hints:能够记录特定提示位的变化。默认为off,静态参数,修改需要重启服务
- data_checksums:数据校验,保证从redo buffe写入redo file里面的数据是一直的,读取 的时候也会根据每个redo page的checksum检查redo page的内容是否正确。默认off,动态参数。开启checksum会增加CPU的消耗,但是开销并不是很大,对比不开启情况下增加CPU消耗不超过1%。因此,开启checksum,实际引入的开销并不大。
- full_page_writes:默认是开启
本文标签: 主从postgresql
版权声明:本文标题:postgresql主从切换 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/xitong/1730076452a1221837.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论