PostgreSQLのdumpとrestore

pg_dumpall

PostgreSQLの全テーブルをDump

# su - postgres
# pg_dumpall -U postgres -c | gzip > all-pg-db.sql.gz

psqlでリストア

# su - postgres
# gunzeip all-pg-db.sql.gz
# psql -f all-pg-db.sql

■事前に特殊な文字コードのテーブルを作成しておく場合

# su - postgres
# createdb -T template0 -E EUC_JP --locale=C 【TABLE_NAME】

パスワード付きのユーザでDumpする場合

.pgpass

ユーザのホームディレクトリの.pgpassまたはPGPASSFILEで設定されるファイルは、接続にパスワードが必要な場合(かつ、他に指定されたパスワードが無かった場合)に使用するパスワードを格納するファイルです。 Microsoft Windowsでは、このファイルの名前は%APPDATA%\postgresql\pgpass.conf(ここで%APPDATA%はユーザのプロファイル内のアプリケーションデータディレクトリ)です。

このファイル内の行の書式は次の通りです。

hostname:port:database:username:password

このファイルでは、上のような行をコピーし、その先頭に#をつけて忘れないようにコメントとして残すことができます。