4

xbrldb_SEC_pg_2014-11-02.pg.gzip postgres pg_dump ファイルを arelle.org からダウンロードしました。次に、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-02 から現在の日付に更新するために何をする必要があるか知っている人はいますか?

4

1 に答える 1

8

zcat ではなく、postgresユーザーとして psql を実行する必要があるため、以下を使用してみてください。

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

PS pg_restore はユーティリティであり、PostgreSQL コマンドではありません。つまり、psql からではなく、コマンド ラインから実行する必要があります。

于 2016-09-17T12:38:22.957 に答える