gpt4 book ai didi

postgresql - 如何使用 psql 从 gzip 文件恢复 postgres 数据库? (arelle : XBRL SEC DB)

转载 作者:行者123 更新时间:2023-11-29 11:41:24 28 4
gpt4 key购买 nike

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

当我尝试使用以下方法恢复数据库时:

desktop:~/Downloads$ sudo postgres zcat xbrldb_SEC_pg_2014-11-02.pg.gzip | psql -U postgres public

我得到:

sudo: postgres: command not found psql: FATAL: Peer authentication failed for user "postgres"

我可以将文件 zcat 成一个文件来展开它。看起来它是一个 pg_dump 文件。

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,我的输出:

/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 月 2 日更新到当前日期?

最佳答案

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

zcat xbrldb_SEC_pg_2014-11-02.pg.gzip | sudo -u postgres psql public

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

关于postgresql - 如何使用 psql 从 gzip 文件恢复 postgres 数据库? (arelle : XBRL SEC DB),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39534971/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com