sql卸载(可能只要 1 分钟)

精英怪
广告

RemovePromoteSignalFiles函数强制删除signaling standby promotion请求的文件。如果不删除,这些文件的存在会过早触发promotion。删除这些文件通常是没有必要的,因为它们仅仅在standby promotion过程中存在。然而会存在竞态情况:

sql卸载(可能只要 1 分钟)

如果pg_ctl promote被执行并在提升过程中创建了这些文件,这些文件会存在,即使数据库已经是新的master了。然后,新的standby使用该master产生的备份启动,这些文件会在数据库启动过程中存在,因此必须在这里删除以避免产生没有必要的promotion。

void RemovePromoteSignalFiles(void){

unlink(PROMOTE_SIGNAL_FILE);

unlink(FALLBACK_PROMOTE_SIGNAL_FILE);

}

同样,对于日志回卷的信号文件也需要操作

void RemoveLogrotateSignalFiles(void) {

unlink(LOGROTATE_SIGNAL_FILE);

}

发表评论

快捷回复: 表情:
AddoilApplauseBadlaughBombCoffeeFabulousFacepalmFecesFrownHeyhaInsidiousKeepFightingNoProbPigHeadShockedSinistersmileSlapSocialSweatTolaughWatermelonWittyWowYeahYellowdog
评论列表 (暂无评论,296人围观)

还没有评论,来说两句吧...