Postgres DVDチュートリアル で作業していて、サンプルデータベースのインポートで問題が発生しています。
pg_restore -U postgres -d dvdrental ~[filepath]/dvd-database.tar.gz
を実行すると、pg_restore: [archiver] input file does not appear to be a valid archive
が得られます。
これまでの私のプロセスは次のとおりです。
tar czf dvd-database.tar.gz dvdrental.Zip
を使用して.tarに抽出します(Zipを最初にフォルダーに抽出して同じ結果を得て、.gzもドロップしてみました)pg_restore -U postgres -d dvdrental ~[filepath]/dvd-database.tar
を実行します。現在Postgres 9.5を使用しているため、問題が発生している可能性があります。このプロセスのどこが間違っているのか、またはPostgresデータベースのアーカイブを9.5に更新する方法を指摘する回答を探しています。
上記のコメントによると、解決策は簡単でした。
チュートリアルの指示で提案されているように、dvdrental.Zipファイルを圧縮されていない.tarに抽出する必要はありません。 pg_restore
動作します データベースダンプが抽出されたディレクトリをポイントしている場合:
pg_restore -U <username> -d dvdrental <your/path/to/extracted/dir>/dvdrental
私のために働いた時間を試した後、以下のコマンドです。 PgAdmin 4以降では、操作が非常に困難です。
/Library/PostgreSQL/10/bin/pg_restore -U postgres -p 5433 -d dvdrental /pg-db/dvdrental/
Zipをフォルダーに抽出し、pg_restore
これらのオプションを使用したコマンド、私の場合Mac OSの場合/pg-db/dvdrental/
は、Zipで抽出されたディレクトリです。