我需要从转储中恢复数据库,但无法做到
Posted
技术标签:
【中文标题】我需要从转储中恢复数据库,但无法做到【英文标题】:I need to restore db from dump and cannot do it 【发布时间】:2016-09-08 08:52:50 【问题描述】:我在 D:/backup.dump 有一个数据库转储。我尝试恢复我的数据库min_ro
:我打开 psql.exe 插件。有话
min_ro=#
然后我写恢复命令:
min_ro=# psql min_ro < D:/backup.dump
然后什么都没有发生。我的数据库没有恢复。怎么了?第一次使用psql
。
更新。我不仅需要 psql - 我需要从转储中恢复 db,但无法做到。
【问题讨论】:
【参考方案1】:psql
不是 SQL 语句,因此在运行 SQL 语句 的psql
prompt 处输入它没有意义(或psql
元命令)。
c:\> psql min_ro < D:/backup.dump
需要在 (Windows) 命令行中输入,不是在 psql
中。
但是,您可以通过使用 `psql`` 中的 \i
("include") 元命令来运行 SQL 脚本(我假设您的转储是)
c:\> psql min_ro
min_ro=# \i D:/backup.dump
【讨论】:
首先你必须进入psql.exe
所在的文件夹。例如它是C:/Program Files/PostgreSQL9.4/bin/
@NewDevelop:你只需要psql
不在PATH
中。但你的问题不是“我该如何开始psql
”,而是如何使用你拥有的转储。
查看问题图块。 这是第一次使用 psql。 当然它不在 PATH )【参考方案2】:
当您在pgAdminIII
还原数据库时(通过右键单击数据库名称然后选择“还原”),默认情况下您无法在备份列表中看到.dump
文件。那是我的错误迫使我尝试另一种从转储中恢复数据库的方法。
但是,如果您只是将文件类型更改为'All files'
,您可以像往常一样从转储中恢复您的数据库。
【讨论】:
以上是关于我需要从转储中恢复数据库,但无法做到的主要内容,如果未能解决你的问题,请参考以下文章