22

コンソール ツールで PostgreSQL データベースの大きなテーブル (250 MB) を復元する必要があります。ps_dump または psql を使用してこれを行うにはどうすればよいですか?

4

4 に答える 4

41

でデータベースに接続してpsql実行するだけ\i /path/to/filename.sqlです。

于 2012-02-24T09:30:21.280 に答える
19
psql --username yourusername --dbname yourdatabasename -f yourfile.sql

ここで明確にされているように。設定によっては、パスワードを要求される場合があります。

新しくインストールされたデータベース エンジンであり、まだデータベースがない場合postgresは、データベース名に を使用し、ユーザー名の部分を省略してみてください (通常、新しいインストールでは、それをインストールした現在のユーザーにフル アクセスが許可されます)。

それでもログインできない場合は、一時的にpg_hba.confを編集して、ローカルホストを一時的に信頼済みに設定します。次に、postgres をユーザー名とデータベース名の両方として指定できます。

完了したら、pg_hba.conf の変更を元に戻すことを忘れないでください。

于 2013-01-18T07:49:55.877 に答える
11
psql dbname < /path/to/dump.sql

必要に応じて、その場でダンプを変更することもできます。

sed 's/OWNER TO olduser/OWNER TO newuser/g' <  /path/to/dump.sql | psql dbname
于 2013-02-28T16:16:48.230 に答える