コンソールツールでPostgreSQLデータベースに大きなテーブル(250MB)を復元する必要があります。 ps_dumpまたはpsqlを使用してこれを行うにはどうすればよいですか?
psql
を使用してデータベースに接続し、\i /path/to/filename.sql
を実行するだけです。
psql --username yourusername --dbname yourdatabasename -f yourfile.sql
明解なように ここ 。設定によっては、パスワードを要求される場合があります。
データベースがまだインストールされていない、新しくインストールされたデータベースエンジンの場合は、データベース名にpostgres
を使用し、ユーザー名の部分を省略してみてください(通常、新しいインストールでは、インストールした現在のユーザーにフルアクセスが許可されます)。
それでもログインできない場合は、一時的に pg_hba.conf を編集して、インストール内の任意の場所に置き、localhostを一時的に信頼できるように設定します。次に、ユーザー名とデータベース名の両方としてpostgresを指定できます。
完了したら、pg_hba.confの変更を元に戻すことを忘れないでください。
psql dbname < /path/to/dump.sql
必要に応じて、その場でダンプを変更することもできます。
sed 's/OWNER TO olduser/OWNER TO newuser/g' < /path/to/dump.sql | psql dbname
psql -U postgres -d doctor_dev < /home/ravi/mydevelopment