Postgresql 如何使用psql从gzip文件恢复postgres db?(阿雷尔:XBRL秒DB)
我从arelle.org下载了xbrldb_SEC_pg_2014-11-02.pg.gzip postgres pg_dump文件。然后我在pgAdminIII中运行模式ddl文件,它重新创建了所有数据库、函数等 当我尝试使用以下方法还原数据库时:Postgresql 如何使用psql从gzip文件恢复postgres db?(阿雷尔:XBRL秒DB),postgresql,ubuntu-16.04,arelle,Postgresql,Ubuntu 16.04,Arelle,我从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 zcat xbrldb_SEC_pg_2014-
desktop:~/Downloads$ sudo postgres zcat xbrldb_SEC_pg_2014-11-02.pg.gzip | psql -U postgres public
zcat xbrldb_SEC_pg_2014-11-02.pg.gzip | sudo -u postgres psql public
我得到:
sudo: postgres: command not found psql: FATAL: Peer authentication failed for user "postgres"
我可以将文件压缩成一个文件来展开它。看起来它是一个pg_转储文件
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-02更新到当前日期吗?您应该作为postgres用户而不是zcat运行psql,因此请尝试使用以下方法:
desktop:~/Downloads$ sudo postgres zcat xbrldb_SEC_pg_2014-11-02.pg.gzip | psql -U postgres public
zcat xbrldb_SEC_pg_2014-11-02.pg.gzip | sudo -u postgres psql public
PS pg_restore是一个实用程序,不是PostgreSQL命令,这意味着您应该从命令行而不是从psql运行它