忘了备份了。现在我有了带数据库的硬盘和空postgres的新系统。我能以某种方式恢复数据库吗?通过简单的文件拷贝,等等?
发布于 2010-05-10 06:29:40
如果您有旧postgresql系统的完整数据目录(如果它是相同的版本,或者只是修订号不同),您可以尝试将其放在新postgresql安装中的数据目录的位置。(当然,在执行此操作之前先停止postgres服务器)。
这基本上与upgrading postgresql时使用的过程相同,当不需要执行备份-恢复时。
编辑:正如评论中指出的,我假设不仅是相同的(或几乎相同的)版本,而且是相同的体系结构(32 - 64位,Linux - Windows等)
发布于 2010-05-10 17:52:07
除了leonbloy的答案之外,你还可以尝试pg_migrator,特别是如果你需要从8.3升级到8.4 (最终是9.0 )。
发布于 2015-12-16 02:01:21
在您的情况下,您有文件,但如果您没有,也许,只有也许,您可以对数据库的日志做一些操作,您可以尝试查看数据库中语句的日志,通常在/var/ log /postgresql/postgresql.log中,如果它在那里或接近它,如果log_statements = 'mod‘或'all’之前设置,您可以恢复一些数据。
通过insert into在数据库的所有或最近历史记录中对该表逐个进行搜索。您可以使用一些Unix工具来剪切文本,以便只获取语句,并在每个语句的末尾加上";“,以及另一个重要的查询,如delete等。
但你必须一个表一个表地做,而且数据必须在那里,而且数据库在没有备份的情况下不会运行太多时间。
在某些情况下,您只需要最后一次操作或类似这样的操作来节省时间。
然而,这只是Apolo 13灾难的时刻,永远不能取代一个好的备份。
https://stackoverflow.com/questions/2799315
复制相似问题