开发者社区> 问答> 正文

Postgres数据库文件在linux主机被删除后如何恢复

mmexport1511182335013 在linux环境下安装的PostgreSQL,但是数据文件被其他友商rm -rf了 。有800G以上的数据。通过镜像磁盘(4T) 找了个公司试了恢复,出来的数据见附件。但不知如何使用。不知您是否有研究配置表/表空间/对象与数据文件的关系,以及恢复的思路。恢复出的文件见图片。
mmexport1511182337652mmexport1511182339609mmexport1511182341740mmexport1511182343462

展开
收起
toever 2017-11-23 18:27:43 3988 0
2 条回答
写回答
取消 提交回答
  • 公益是一辈子的事, I am digoal, just do it. 阿里云数据库团队, 擅长PolarDB, PostgreSQL, DuckDB, ADB等, 长期致力于推动开源数据库技术、生态在中国的发展与开源产业人才培养. 曾荣获阿里巴巴麒麟布道师称号、2018届OSCAR开源尖峰人物.

    恢复手段优先级:
    1、如果有增量备份,建议从增量备份+归档文件进行时间点恢复。
    2、如果没有增量备份,建议使用dump文件逻辑恢复,恢复到某个备份的时间点。
    3、如果以上都没有,可以从文件系统层恢复,如果文件是在数据库停库状态下被删的,恢复后建议先备份一下数据文件。然后使用VACUUM 检查一下全库。
    3.1 如果文件是在数据库启动状态下被删,数据库处于不一致状态,或者数据文件没有完全恢复时,需要reset control file才能启动数据库。
    3.2 如果数据文件恢复程度不足以启动数据库,那么可以使用pg filedump,从仅有的数据文件中导出数据内容,并进行人为的恢复。

    2019-07-17 21:45:00
    赞同 展开评论 打赏
  • 看看Barman,pgman这个恢复工具可以不?

    2019-07-17 21:45:00
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Alibaba Cloud Linux 3 发布 立即下载
ECS系统指南之Linux系统诊断 立即下载
ECS运维指南 之 Linux系统诊断 立即下载