web-dev-qa-db-ja.com

pg_dumpまたはpsqlを使用して* .sqlからPostgreSQLテーブルを復元するにはどうすればよいですか?

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

14
NiLL

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

26
Tometzky
psql --username yourusername --dbname yourdatabasename -f yourfile.sql

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

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

それでもログインできない場合は、一時的に pg_hba.conf を編集して、インストール内の任意の場所に置き、localhostを一時的に信頼できるように設定します。次に、ユーザー名とデータベース名の両方としてpostgresを指定できます。

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

9
psql dbname < /path/to/dump.sql

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

sed 's/OWNER TO olduser/OWNER TO newuser/g' <  /path/to/dump.sql | psql dbname
6
Ruslan Kabalin
psql -U postgres -d doctor_dev < /home/ravi/mydevelopment
2