POSTGRESQL DUMP recovery.conf 从postgresql 12V 开始

之前一直在用POSTGRESQL 11 , 对recovery,conf 的印象比较深,到了PG12 这个文件已经移动到了POSTGRESQL.CONF 文件中了. 是那么的简单吗? 

NO NO NO 

在个人印象里面RECOVERY.CONF 主要的作用是进入恢复模式的一个触发器

我们在捋一捋一些功能参数  standby_mode,  restore_command,  recovery_target, primary_conninfo 等信息.

在PG 12 当中recovery.conf 已经转移到了 postgresql.conf 中

我们需要说说在POSTGRESQL 中的变化

1  随着recovery.conf 融合到POSTGRESQL.conf 中, recovery.singal 和 standby.singal 两个文件被提出 ,其中 recovery.singal  出现这个信息说明POSTGRESQL 处于archive recovery的状态, 如果服务器上有standby.singal说明服务器处于standby 的状态. 

2  当他们不处于这个状态,则说明他们所在的模式已经改变,模式改变,则对应的文件会被清理掉. 这点和PG11 形成了鲜明的对比,如果你的,之前recovery.conf在状态变化后,例如恢复完数据, 则文件名会变为 recovery.done.  在PG12 中会删除对应的上述的 recovery,singal 或者standby.singal文件. 这点是需要在使用PG12中熟悉的.

3  recovery.conf中的参数可以通过alter system 的方式进行配置了

当然如果你非要在PG12的目录中加入revoery.conf 的后果也很简单,你无法在打开的POSTGRESQL 数据库

4  当你的POSTGRESQL12V中存在两个信号文件, 1 standby.singal  2 recovery.singal 到底那个信号量优先被发现和使用,答案是 standby.singal

当在point-in-time恢复的时候,则postgresql 会在恢复完毕后,删除 recovery.singal 文件.

5  其中早先的standby_mode参数,被 standby.singal 和 recovery.singal 代替,trigger_file 被pomote_trigger_file 代替.

下图是POSTGRESQL 12版本中可以在系统中进行配置的RECOVDEY 的变量.

那么这样的情况下有么有需要注意的地方

1  通过alter system 操作recovery的传统参数,的优先级最大,将写入到postgresql.conf 中如果在直接在postgresql,conf中设置同样的变量,则不会生效. 这点就需要通过在系统中展示变量值来确认你当前的配置是如何,不要太相信postgresql.conf 的配置

2 另外对于pg_basebackup 或者 repmgr 读取相关的配置文件中,以最后读取得到信息为准, 如果配置重复的配置选择项,则以最后一次读取到的为准,所以配置文件需要注意,需要注释掉的RECOVERY 的配置需要注释掉.

3 如果误操作存在standby.singal 和 recovery.singal ,则standby.singal的优先级大,则recovery,singal就不在生效,相关的数据恢复工作就会受到影响.

4  当你不熟悉配置参数将 recovery_target, recovery_target_lsn , recovery_target_name, recovery_target_time, recovery_target_xid 等参数配置了多个,则系统日志会记录  FATAL 的致命错误.

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值