Postgresql Continuous Archiving是否可用于维护完整的数据库历史记录?

时间:2012-06-24 21:53:19

标签: postgresql

如果从第一天开始启用连续存档,生成的日志是否是保存所有数据库操作的完整时间点历史记录的实用方法?我猜交易量将是一个因素,因此假设每天少于1000笔交易。

1 个答案:

答案 0 :(得分:5)

这取决于“所有数据库操作的完整时间点历史记录”的含义。

从备份转发开始,基本备份和所有预写日志(WAL)文件(通常也称为事务日志或xlog)应该允许您recover to any point in time。但是,为了尽可能缩短恢复时间,最好定期进行新的基本备份。 (许多人每周或每月都这样做,但我听说人们做的事情要少得多。)

这些日志面向数据的物理存储,而不是逻辑语句,因此目前无法确定生成xlog的SQL语句。因此,如果您正在寻找所发生情况的审计跟踪,那么它目前还不适合。

有一个PostgreSQL开发团队致力于逻辑复制,允许更广泛地使用xlog数据,以便在9.3版本中发布,这将不会超过一年。在此之前,人们使用基于触发器的日志记录来进行此类审计跟踪。