19

私は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

これまでの私のプロセスは次のとおりです。

  1. dvdrental.zipファイルをダウンロードします。
  2. を使用して.tarにtar czf dvd-database.tar.gz dvdrental.zip抽出します(最初にzipをフォルダーに抽出して、同じ結果を得て、.gzをドロップしようとしました)
  3. pg_restore -U postgres -d dvdrental ~[filepath]/dvd-database.tar上記のように実行されます。

現在 Postgres 9.5 を使用しているため、問題が発生している可能性があります。このプロセスでどこが間違っているか、またはPostgresデータベースのアーカイブを9.5に更新する方法を指摘する答えを探しています。

4

6 に答える 6

23

上記のコメントによると、解決策は簡単でした。

チュートリアルの手順で提案されているように、dvdrental.zip ファイルを圧縮されていない .tar に展開する必要はありません。データベース ダンプが抽出されたディレクトリを指定するpg_restore と機能します。

pg_restore -U <username> -d dvdrental <your/path/to/extracted/dir>/dvdrental

于 2016-02-06T22:04:25.360 に答える
0

postgres を実行している場合はDocker、必ずホスト名とポートを渡します。

pg_restore -U postgres -h localhost -p 5432 -d dvdrental ./Downloads/dvdrental

ここで./Downloads/dvdrentalは、dvdrental.zip から抽出されたフォルダーです。

于 2021-07-01T16:55:15.790 に答える