我最近意外地使用step方法回滚了迁移。在运行db:migrate之后,我的所有数据都已经消失了。是否可以检索此数据。
答案 0 :(得分:0)
摘自有关该主题的邮件列表:
要做的第一件事是关闭postgresql并进行完整备份 数据目录,包括您可能拥有的任何存档的WAL(文件在 pg_xlog里面)。确保首先完成此操作。
接下来,你有备份吗?如果你有一个基本备份 删除,以及从基本备份开始直到的所有WAL文件 现在,您可以尝试将时间点恢复到正确的位置 数据丢失:
http://www.postgresql.org/docs/9.1/static/continuous-archiving.html
如果没有,我们是在谈论一行还是多行?如果是的话 单行你可以做一些手动步骤,比如检查 恢复数据的页面。
另一个选择是尝试pg_resetxlog(确保你有一个安全的备份 首先!):
http://www.postgresql.org/docs/9.1/static/app-pgresetxlog.html
尝试将当前事务ID设置为删除之前 跑了。然后你可以使用pg_dump或以其他方式导出已删除的 行。
您可以在此处阅读更多内容:http://postgresql.1045698.n5.nabble.com/Recover-rows-deleted-td5710305.html