1

我有一个大问题——我意外地从我的硬盘上卸载了整个 PostgreSQL DBMS。我也丢失了我的数据库,并且没有对包含的数据进行任何转储。但是,我确实备份了服务器上的所有文件。是否有可能以某种方式从这些文件中恢复数据库?

我使用的操作系统是 Debian 6,DBMS 版本是 PostgreSQL 8.4。

如果确实有可能,那么我应该如何实现这一目标?

附言。对不起我的英语不好。

4

1 回答 1

0

确保您的备份是安全的。只要我们有,我们就可以重新开始。

恢复 PostgreSQL 服务器软件(检查包标题)

apt-get install postgresql-8.4 postgresql-client-8.4 postgresql-contrib-8.4

停止服务器

/etc/init.d/postgresql stop

恢复所有数据文件。确保所有权正确:

cd /var/lib/postgresql/8.4/
mv main main.OLD
cp -a /path/to/backup/main .
/etc/init.d/postgresql start

检查日志 (/var/log/postgresql/...) - 如果您的备份发生在数据库空闲时,您可能很幸运。

请注意,您需要 .../main/ 中的所有内容 - 数据库文件位于 main/base 中,但也需要事务日志和其他各种零碎的东西。

如果你遇到问题,检查你的权限,检查你的 postgresql.conf 文件(如果你有它,也从备份中恢复它,pg_hba.conf 等等)。如果您使用 pl/perl 或其他类似的软件包,您可能还需要安装其他一些软件包

现在。如果您遇到抱怨丢失日志文件或坏块的问题,那么这意味着备份发生在数据库写入磁盘时,并且可能存在损坏。但是,让我们保持乐观并希望最好。

如果可行,请检查一切是否正常,并立即获取您想要的任何数据库的 pg_dump。

于 2013-07-25T18:53:43.403 回答