【发布时间】: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