硬件崩溃后从文件夹还原postgres db

时间:2018-10-17 11:52:45

标签: postgresql database-restore ubuntu-18.04 pg-restore

我有一个在Ubunto 18.04上运行的postgres 10数据库。 转储备份太旧而无法使用。 硬件崩溃后,我设法保存了旧磁盘上的所有目录和文件,但是无法使用该磁盘。 在运行18.04的其他计算机上安装了新的postgres 10。 试图将文件复制到新的postgres环境-收到大量致命错误消息。 我究竟做错了什么?谢谢

1 个答案:

答案 0 :(得分:0)

感谢您的回答。我找到了解决方案,然后我很乐意分享它:

如果您有数据库的[目录备份]并且想要恢复它。 更好的方法是使用Postgres Backup和Restore。此答案仅适用于没有良好PG备份或更新后的PG的人。

请确保您的计算机上已安装Postgres。如果该数据库被其他用户使用-请确保在测试无效的PG服务器上进行所有还原。

Postgres数据目录通常看起来像这样(Ubuntu 18.04 Postgres 10): Postgres 10 data directory structure

将用户切换到postgres(这不是必需的,但是使事情变得容易得多):

su postgres

确保Postgres已停止。

pg_ctl stop

移动当前目录进行备份。 $ PGDATA应该指向数据目录。 在我的安装中,它是“ / var / lib / postgresql / 10 / main /”。确保[target_dir]存在

cd $PGDATA
mv -r . [target_dir]

将备份目录复制到$ PGDATA

cp -r [directory backup] $PGDATA

更改权限(postgres不喜欢其他权限...)

chmod -R 0700 $PGDATA

检查是否没有文件或目录丢失...

启动postgres

pg_ctl start

祝你好运!