PostgreSQL HA环境分析
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,本篇内容介绍了"PostgreSQL HA环境分析"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!基于
千家信息网最后更新 2026年11月02日PostgreSQL HA环境分析
本篇内容介绍了"PostgreSQL HA环境分析"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
基于streaming replication搭建的PostgreSQL HA环境,Old Standby节点升级为New Master节点后,时间线会切换为新的时间线,比如从n变为n + 1.而Old Master节点的时间线仍然为原来的时间线,比如仍为n,通过使用pg_rewind工具,可使原来其实"完好"的Old Master成为New Standby节点.
图解
如下图所示:
在执行主备切换后,New Master节点的时间线切换为n + 1,通过pg_rewind可使Old Master在分叉点开始与New Master同步,成为New Standby节点.
实测
New Master
切换后为New Master后,执行以下SQL:
testdb=# create table t_new(id int,flag varchar(40));CREATE TABLEtestdb=# insert into t_new select c,'flag'||c from generate_series(1,1000000) as c;INSERT 0 1000000testdb=#
Old Master
执行pg_rewind前,重启主库,执行以下SQL
testdb=# create table t_fork(id int,flag varchar(40));CREATE TABLEtestdb=# insert into t_fork select c,'flag'||c from generate_series(1,1000000) as c;INSERT 0 1000000testdb=#
执行pg_rewind
[xdb@localhost testdb]$ cp /data/archivelog/* ./pg_wal[xdb@localhost testdb]$ pg_rewind --target-pgdata=$PGDATA --source-server="host=192.168.26.25 port=5432 dbname=testdb" --progressconnected to serverservers diverged at WAL location 0/B41F12B8 on timeline 23rewinding from last common checkpoint at 0/AFCF99E0 on timeline 23reading source file listreading target file listreading WAL in targetneed to copy 360 MB (total source directory size is 501 MB)369312/369312 kB (100%) copiedcreating backup label and updating control filesyncing target data directoryDone!
配置recovery.conf文件
[xdb@localhost testdb]$ mv recovery.done recovery.conf[xdb@localhost testdb]$ vim recovery.conf [xdb@localhost testdb]$ cat recovery.conf standby_mode = 'on'primary_conninfo = 'user=replicator password=replicator host=192.168.26.26 port=5432 sslmode=prefer sslcompression=0 krbsrvname=postgres target_session_attrs=any'restore_command = 'cp /data/archivelog/%f %p'
重启数据库
[xdb@localhost testdb]$ pg_ctl startwaiting for server to start....2019-03-28 12:39:31.918 CST [1961] LOG: listening on IPv4 address "0.0.0.0", port 54322019-03-28 12:39:31.918 CST [1961] LOG: listening on IPv6 address "::", port 54322019-03-28 12:39:31.920 CST [1961] LOG: listening on Unix socket "/tmp/.s.PGSQL.5432"2019-03-28 12:39:31.970 CST [1961] LOG: redirecting log output to logging collector process2019-03-28 12:39:31.970 CST [1961] HINT: Future log output will appear in directory "pg_log".... doneserver started
与New Master数据同步了,而在原TL上的t_fork数据表消失了.
testdb=# select count(*) from t_new; count --------- 1000000(1 row)testdb=# select count(*) from t_old; count --------- 1000000(1 row)testdb=# select count(*) from t_fork;ERROR: relation "t_fork" does not existLINE 1: select count(*) from t_fork; ^testdb=#
"PostgreSQL HA环境分析"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!
节点
时间
切换
环境
数据
分析
内容
更多
知识
同步
完好
实用
学有所成
接下来
困境
实际
工具
情况
数据库
数据表
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
手磨咖啡
精品咖啡豆
互联网科技公司简介
蓝思科技飞鸽互联网
北京路客互联网科技有限公司
广州百单互联网科技有限公司
新华互联网科技学院
朗新科技与工业互联网
互联网 卓越科技
宜安科技 互联网金融
银优互联网科技有限公司
滨湖区互联网智能科技产品供应
欧洲十大科技互联网公司
佳云科技和互联网广告
岳阳华臻互联网科技有限公司
广州市恰铎互联网科技有限公司
怎样加入科技互联网
陕西云淼互联网科技公司
杭州融税互联网科技有限公司
互联网科技企业文化
手冲咖啡和咖啡机区别
西安纸贵互联网科技有限公司
互联网科技有限公司图片
北京互联网科技有限公司
远拓互联网科技
云电互联网科技
欧洲十大科技互联网公司
互联网科技公司实习生
广州新华互联网科技学校电竞方面
产业互联网科技服务公司