如果我从第一天起就启用连续归档,生成的日志是否是保留所有数据库操作的完整时间点历史记录的实用方法?我猜交易量是一个因素,所以假设每天交易量少于 1000 笔。
最佳答案
这取决于“所有数据库操作的完整时间点历史记录”的含义。
基础备份和从备份开始开始的所有预写日志 (WAL) 文件(通常也称为事务日志或 xlog)应该允许您recover to any point in time 。不过,为了最大限度地缩短恢复时间,最好定期进行新的基础备份。 (很多人每周或每月都会这样做,但我听说有人这样做的频率要低得多。)
这些日志面向数据的物理存储,而不是逻辑语句,因此目前无法确定生成 xlog 的 SQL 语句。因此,如果您正在寻找所发生事件的审计跟踪,目前不适合这样做。
有一个 PostgreSQL 开发团队致力于逻辑复制,以允许更广泛地使用 xlog 数据,可能会在版本 9.3 中发布,该版本将在一年多后发布。在那之前,人们会使用基于触发器的日志记录来进行此类审计跟踪。
关于postgresql - Postgresql 连续归档对于维护完整的数据库历史记录是否实用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11181498/