PG备份超时?pg_switch_wal不生效?

在生产环境中我们尝试使用非排他备份的方式在从库进行备份,可以遇到经常备份超时的情况,看看这里的逻辑。

非排他备份在pg15之后是唯一的选项了,pg15中修改了基础备份函数名,将pg_start_bckup和pg_stop_backup改为了pg_backup_start以及pg_backup_stop,并且仅提供非排他备份,在老版本中,我们可以在pg_start_backup函数中指定备份方式:

pg_start_backup(`label`  text , `fast` boolean , `exclusive` boolean )
其中lable为备份标签;
fast为是否立即执行checkpoint,这个我们在checkpoint章节有分析过,checkpoint的来源有备份函数pg_start_backup调用
exclusive为是否启用非排他备份,排他备份会将backup_lable写入到data目录下,而非排他备份会将backup_lable写入到备份目录下

而新函数pg_backup_start则只提供两个参数值:

pg_backup_start(`label`  text , `fast` boolean default false)

当然这个函数的调用逻辑依然没有改变,步骤还是和老版本趋于一致,具体的pg_backup_start会进行哪些操作参见备份部分,这里不做展开。

回到具体的使用场景,在从库执行非排他备份,默认从库是开启归档的,由于生产环境中,需要一起备份从库的wal日志,所以就将对于pg_backup_start的第二个参数,设置为需要等待wal归档。我们看看这个场景下的pg_backup_s

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值