首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用psql从gzip文件恢复postgres db?(arelle: XBRL SEC DB)

如何使用psql从gzip文件恢复postgres db?(arelle: XBRL SEC DB)
EN

Stack Overflow用户
提问于 2016-09-16 15:18:18
回答 1查看 14.1K关注 0票数 4

我从pg_dump下载了xbrldb_SEC_pg_2014-11-02.pg.gzip postgres文件。然后我在pgAdminIII中运行模式ddl文件,它重新创建了所有的数据库、函数等。

当我尝试使用以下方法还原数据库时:

代码语言:javascript
运行
复制
desktop:~/Downloads$ sudo postgres zcat xbrldb_SEC_pg_2014-11-02.pg.gzip | psql -U postgres public

我得到:

代码语言:javascript
运行
复制
sudo: postgres: command not found psql: FATAL: Peer authentication failed for user "postgres"

我可以将文件压缩到一个文件中来展开它。看起来这是一个pg_dump文件。

代码语言:javascript
运行
复制
postgres=> pg_restore -a /home/jeremy/Downloads/xbrldb_SEC_pg_2014-11-02.txt
postgres-> ;
ERROR:  syntax error at or near "pg_restore"
LINE 1: pg_restore -a /home/jeremy/Downloads/xbrldb_SEC_pg_2014-11-0...
    ^
postgres=> pg_restore -a postgres /home/jeremy/Downloads/xbrldb_SEC_pg_2014-11-02.txt;
ERROR:  syntax error at or near "pg_restore"
LINE 1: pg_restore -a postgres /home/jeremy/Downloads/xbrldb_SEC_pg_...

然后我尝试使用PG Admin III,我的输出:

代码语言:javascript
运行
复制
/usr/bin/pg_restore --host localhost --port 5432 --username "postgres" --dbname "public" --role "postgres" --no-password  --section data --data-only --exit-on-error --table accession --schema public --verbose "/home/jeremy/Downloads/xbrldb_SEC_pg_2014-11-02.backup"
pg_restore: [archiver] input file appears to be a text format dump. Please use psql.

进程返回退出代码1。

请问我需要做些什么才能恢复数据库?

有谁知道我需要做些什么才能让数据库从2014-11-02年更新到目前的日期?

EN

回答 1

Stack Overflow用户

发布于 2016-09-17 12:38:22

您应该以postgres用户的身份运行psql,而不是zcat,因此尝试使用以下命令:

代码语言:javascript
运行
复制
zcat xbrldb_SEC_pg_2014-11-02.pg.gzip | sudo -u postgres psql public

PS pg_restore是实用程序,而不是PostgreSQL命令,这意味着您应该从命令行运行它,而不是从psql运行它。

票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39534971

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档