Postgresql和旧的持久数据

时间:2012-09-18 18:16:02

标签: postgresql

有没有人对使用PostgreSQL的旧持久数据感到困惑。我最近发了一份报告,得到了两个不同的结果。我第二次报告时失踪了六条记录。

1 个答案:

答案 0 :(得分:0)

几乎完全可以确定问题出在你的代码中或者你是如何使用PostgreSQL的。你还没有给任何人提供足够的信息来解释 - 甚至你的PostgreSQL版本都没有!

影响核心MVCC设计的事务隔离和可见性的错误被报告给邮件列表,但只是很少见,并且它们往往是在通常不会遇到的时髦角落中。

我看到数据从死里复出的唯一时间是:

  • 用户已经使用fsync=off或关于fsync的存储运行,并且他们已经崩溃了& DELETE后重启机器。他们有一些DELETE d数据,以及一些有趣的损坏表和索引。设置fsync=off基本上告诉PostgreSQL“让它更快,我不在乎你是否销毁了我的所有数据”,所以这是一个非常有效的结果。

  • 有人在标记为IMMUTABLE的函数上创建一个根本不可变的函数。这通常只会产生错误的结果,但是对于9.2的覆盖索引,我怀疑它似乎可能会从死者身上带回数据。

老实说,这是你做错了。尝试使用 lot 更多详细信息发布新问题:

  • Pg版
  • 您如何运行报告
  • DDL
  • SQL
  • 数据库工作负载是什么样的
  • 同时发生了什么
  • 还有其他客户

......等等,也许有人可以提供帮助。