我目前使用的是Postgres 12.6 Enterprisedb版本。我有一个灾难恢复数据库,它以只读模式与生产数据库同步。现在,我想暂时中断同步,并在特定的持续时间内以读写模式打开灾难恢复数据库。然后,我计划将其同步回生产数据库。PostgreSQL中是否有任何机制允许我暂时暂停或停止写前日志记录(WAL)进程?另外,我也很好奇PostgreSQL是否有类似于Oracle文件闪回功能的概念。
基本上打破了在读写模式下临时打开的同步,并再次回到与prod同步
我目前使用的是Postgres 12.6 Enterprisedb版本。我有一个灾难恢复数据库,它以只读模式与生产数据库同步。现在,我想暂时中断同步,并在特定的持续时间内以读写模式打开灾难恢复数据库。然后,我计划将其同步回生产数据库。PostgreSQL中是否有任何机制允许我暂时暂停或停止写前日志记录(WAL)进程?另外,我也很好奇PostgreSQL是否有类似于Oracle文件闪回功能的概念。
基本上打破了在读写模式下临时打开的同步,并再次回到与prod同步
1条答案
按热度按时间8ehkhllq1#
如果您使用的是12.6,则表明您不太关心数据的健康状况。今天更新到12.15
不需要暂停或停止复制;你必须“提升”备用数据库,使其成为一个独立的数据库,在那里你可以读和写。一种方法是调用
pg_promote()
函数。将升级后的备用文件恢复到原始状态的简单方法是擦除数据目录并使用新的
pg_basebackup()
启动。然而,有一个实用程序可以大大加快这一速度:pg_rewind
。它将撤消自备用升级以来发生的所有修改。要使
pg_rewind
正常工作,有一些先决条件:wal_keep_segments
来实现该目的)initdb --data-checksums
创建群集,才能具有数据校验和,或者wal_log_hints
必须设置为on