【问题标题】:PostgreSQL database restore from backup [closed]从备份中恢复 PostgreSQL 数据库 [关闭]
【发布时间】:2013-02-19 22:38:01
【问题描述】:

我正在尝试启动并运行一个站点,并拥有 .asp 源文件和 PostgreSQL 数据库的 .backup。

我在尝试恢复 Postgres 备份时不断收到错误消息:“进程返回退出代码 0。”我已经创建了一个新的数据库并通过 pgadmin GUI 添加了表,当我右键单击空表并选择恢复时出现错误。

任何具有 Postgres 经验的人可以提供帮助,或者为我指明一些特定文档的方向?

【问题讨论】:

  • 备份是如何创建的?重点是 1. 是只备份数据吗?如果您已经创建了表,那么您期望它是,所以我们要确保这一点。 2. 备份是否也会尝试创建数据库?同样,如果您已经创建了您期望它不会创建的数据库,而只是检查。 3.备份是压缩的,还是SQL转储?这会改变您恢复它并找出问题 1 和 2 的答案的选项。
  • 我是 postgres 的新手,所以我不确定。我最好的猜测是它是压缩备份(仅基于它是 .backup 而不是 .sql 的事实)。至于它是否会创建表,我看到的唯一允许从“备份”“恢复”的地方是右键单击空数据库中的实际表。
  • 在不将备份恢复到手动创建的数据库/表的情况下恢复备份的过程是什么?
  • 退出码 0 表示成功。如果有的话,之前的错误是什么?至于识别文件,打开它的副本或在文本编辑器中以只读方式打开它;前几个字节是字符PGDMP?如果是这样,它是一个pg_dump -Fc 自定义格式转储,应该使用pg_restore 进行恢复。这就是 PgAdmin-III 将自动执行的操作,听起来这就是您正在使用的,所以您应该没问题。通常您会将整个数据库恢复到空数据库,而不是手动创建表然后尝试恢复到它们中。
  • 是的,它是一个 PGDMP "PGDMPq XXXXXXXXXXXXXXXXXXXXENCODINGENCODINGSET client_encoding = 'UTF8';"这是我可以使用 PgAdmin 中的 GUI 恢复的东西吗,如果可以的话:因为恢复选项不可用(根据我所见),除非我手动创建表并右键单击它?或者这是我需要在 pg_restore 的命令行中执行的操作吗?

标签: postgresql windows-server-2008-r2 database-backups database-restore postgresql-9.2


【解决方案1】:

使用客户端应用程序pg_restorepg_dump 创建的其中一种非纯文本格式的存档中恢复。

【讨论】:

    猜你喜欢
    • 2014-09-03
    • 1970-01-01
    • 1970-01-01
    • 2017-10-10
    • 1970-01-01
    • 1970-01-01
    • 2015-06-29
    • 2013-10-15
    • 2011-11-24
    相关资源
    最近更新 更多