我正在使用 实现还原点pg_create_restore_point
,然后将有一组脚本使我的用户能够还原到其中一个还原点。显然,我有工作要做备份和归档 WAL 等,但这一切都在手边。
我的问题是,是否有一个列出所有可用还原点的数据库表?
干杯戴夫
我正在使用 实现还原点pg_create_restore_point
,然后将有一组脚本使我的用户能够还原到其中一个还原点。显然,我有工作要做备份和归档 WAL 等,但这一切都在手边。
我的问题是,是否有一个列出所有可用还原点的数据库表?
干杯戴夫
看起来不像。
pg_create_restore_point
只是在经过一系列健全性检查后调用XLogRestorePoint(...)
,将还原点记录写入事务日志。还原点信息仅在 中引用recoveryStopsAfter(...)
,这是恢复的一部分。无论如何,我不确定 PostgreSQL 如何在目录中公开还原点。它如何知道还原点已过时并且可以删除?
我建议您自己使用常规表跟踪此问题,您的系统在清除旧 WAL 时会从该表中删除。您的表应包含还原点名称和创建该点的 LSN(xlog 位置)。这样,您可以在清除相应备份时删除旧的还原点。
所以,像:
另一种方法是使用
pg_xlogdump
xlog 扫描还原点,但这会很慢而且很笨拙。另外,我不确定 9.2 的 pg_xlogdump 是否足够好。