从PostgreSQL 9.1表中无意中删除了数据。有没有办法恢复数据?

时间:2013-09-10 15:25:57

标签: postgresql postgresql-9.1 database-restore

我们正在使用PostgreSQL 9.1作为数据库的内部工具。无意中运行删除脚本,我们丢失了三个表中的数据。

我们没有备份。 :(

尝试手册,它没有帮助。快速浏览一下/PostgreSQL/9.1/data/base/中的数据文件,我们发现数据没有被删除(至少没有完全删除)

有没有办法恢复这些数据?

1 个答案:

答案 0 :(得分:2)

谢谢Daniel,方向很有用。

幸运的是,我们找到了一个相同的工具。找到以下链接中的工具和说明

pg_dirtyread

提供的说明简单而准确。

此外,我们必须做的是。

  1. 创建用于恢复的临时表
  2. 而不是指令中的SELECT语句,使用INSERT语句插入备份表。
  3. 过滤损坏的数据(手动)
  4. 插回原始表格。
  5. 条目已损坏,但数量不多,因为我们可以立即停止正在运行的服务,并避免对这些表进行任何更新。

    感谢OmniTI Labs team。这个工具为我们节省了一天(晚上:))。