暂无图片
postgreSQL 主从角色切换的时候,是否还需要再来一遍pg_basebackup?
我来答
分享
暂无图片 匿名用户
postgreSQL 主从角色切换的时候,是否还需要再来一遍pg_basebackup?

postgreSQL 主从角色切换的时候,是否还需要再来一遍pg_basebackup?

我来答
添加附件
收藏
分享
问题补充
3条回答
默认
最新
李宏达

不需要

暂无图片 评论
暂无图片 有用 0
打赏 0
暂无图片
哇哈哈

不需要,详细的步骤可以参考以下例子


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
打赏 0
严少安
2022-11-16
👍‍

不需要

暂无图片 评论
暂无图片 有用 1
打赏 0
回答交流
Markdown


请输入正文
提交
相关推荐
应用请求以后,postgresql响应时间长, 怎么排查?
回答 1
看看执行计划。以及单次执行一下多久?如果慢,优化SQL
postgresql 如何检查数据库中是否有坏块或者坏页?
回答 1
一般在查询的时候会知道是否有坏块,如果需要知道全库是否有坏块,可以进行一次pgdump备份,如果某个表出现坏块,会有报错出来
pg中的三权分立怎么做?有了解的不?
回答 1
这里的三权分立可以理解为多权限分管吗?也就是安全策略。分立不同的角色对数据库进行管理:1、为每个应用程序创建单独的角色确保在必要时可以分离用户和数据的一种方法是为每个应用程序分配不同的角色。2、将用户
postgresql timeline简单来说是不是就是方便了备份恢复?
回答 1
具体是哪个timeline?如果是recoverytargettimeline这个timeline,那就是。
pg高可用失效
回答 1
已采纳
希望能帮到你https://www.modb.pro/db/15359timeline不一致问题,如何同步1.备库执行checkpoint2.关闭备库,执行noderejoin
pg_filenode.map 这个文件在什么位置??
回答 1
对于PostgreSQL中的每张表在磁盘上都有与之相关的文件,而这些文件的名字便是relfilenode,我们可以通过pgclass的relfilenode字段去查询。selectoid,relnam
pg中覆盖索引中的Heap Fetches 是啥意思??
回答 1
HeapFetches表明需要扫描数据块的个数。HeapFetches:1表明准确扫描到数据块的个数是1虽然IndexOnlyScan可以从索引直接输出结果。但是因为PostgreSQLMVCC机制的
postgreSQL中update set a=(select ) 应该如何写?
回答 1
updatetest1a setname(selectnamefromtest2b wherea.ageb.age)
postgresql数据库性能调优设置哪些参数?
回答 1
已采纳
可以参考sharedbufferswalbufferseffectivecachesizeworkmemmaintenanceworkmemsynchronouscommitcheckpointtim
在一个高并发的PostgreSQL环境中,你观察到系统在高峰时段遇到了锁等待的问题。为了更好地理解和解决这个问题,下面哪个工具或特性最有助于分析和诊断事务间的锁竞争情况?
回答 1
已采纳
A.使用pglocks和pgstatactivity视图结合查询