加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

如何将PostgreSQL转储文件恢复到Postgres数据库?

发布时间:2020-12-13 16:41:59 所属栏目:百科 来源:网络整理
导读:我有一个具有.SQL扩展名的转储文件(实际上它是一个纯文本的SQL文件)。我想恢复到我创建的数据库。我使用 pgAdmin III,当我使用它的“恢复向导”它不突出显示“恢复”按钮。而是期待一个.backup文件扩展名。 我尝试使用shell来恢复转储的命令,但仍然没有起
我有一个具有.SQL扩展名的转储文件(实际上它是一个纯文本的SQL文件)。我想恢复到我创建的数据库。我使用 pgAdmin III,当我使用它的“恢复向导”它不突出显示“恢复”按钮。而是期待一个.backup文件扩展名。

我尝试使用shell来恢复转储的命令,但仍然没有起作用。

我是这个新手。如果有人能帮助我,我有义务。

编辑

我在PostGres的Shell SQL窗格中使用以下命令,而坐在newTestDB上。

newTestDB-# i E:db-rbl-restore-20120511_Dump-20120514.sql

它仍然提供相同的错误(“权限被拒绝”)。

升级权限后,它只显示PostgreSQL的默认表:

List of tablespaces
Name       |  Owner   | Location
-----------+----------+----------
pg_default | postgres |
pg_global  | postgres |

(2 rows)

我不知道如何从SQL文件导入/恢复数据库。

你没有提到你的备份是如何做的,所以通用的答案是:通常使用psql工具。

根据指定要转储的pg_dump,SQL文件可以有不同的SQL命令集。
例如,如果您指示pg_dump使用–clean和-schema-only转储数据库,则无法期望能够从该转储恢复数据库,因为没有用于COPYing的SQL命令(或者INSERTing if – 使用插入表)表中的实际数据。像这样的转储将仅包含DDL SQL命令,并且将能够重新创建模式而不是实际的数据。

使用psql恢复典型的SQL转储:

psql (connection options here) database  < yourbackup.sql

或者从psql会话中,

psql (connection options here) database
database=# i /path/to/yourbackup.sql

在使用pg_dump -Fc(“自定义格式”)进行备份的情况下,这不是纯文本而是压缩文件,您需要使用pg_restore工具。

如果您正在使用unix,请尝试:

man psql
man pg_dump
man pg_restore

否则,看看the html docs.祝你好运!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读