如何使用pgadmin3在PostgreSQL中恢复数据库?

时间:2015-04-17 00:48:42

标签: postgresql pgadmin

我正在使用pgAdmin来恢复PostgreSQL数据库。要恢复数据库,我需要删除,删除并重新制作它。如何在不删除和重新创建数据库的情况下恢复数据库?

1 个答案:

答案 0 :(得分:0)

无法在pgAdmin或任何数据库工具中完成。如果不先删除数据,则无法恢复常规备份文件,因为它们包含正常的COPY语句,如果数据库中有行(主键冲突等),这些语句将失败。

要想在测试环境中回到早期快照的简单方法,请查看PostgreSQL documentation - 24.2. File System Level Backup

备份:

  • 关闭数据库
  • 从数据目录中复制所有文件

恢复:

  • 关闭数据库
  • 将您的数据目录替换为备份目录

注意:

  • 数据的大小可能比常规备份大得多,特别是如果您有很多索引
  • 这是服务器范围的备份,因此您无法在单个数据库上执行此操作
  • 不要尝试在不同版本的PostgreSQL上使用它
  • 这实际上也删除了数据 - 将其替换为备份

如果您使用DROP TABLE进行仅数据还原,那么对于定期备份,您不必执行pg_restore --data-only。你仍然需要删除数据。