January 09, 2008

PostgreSQLでDBの文字コ ードを変更してpg _dumpする方法

PostgreSQLPostgreSQLでDBの移行をすることがあったのだけれども、
移行元DB(含むサーバlocale)の文字コードがかつての主流EUC-JPで、
移行先DBの文字コードがUTF-8だったのでpg_dumpの際にちょっと困ったのでメモ。
dumpファイルがプレーンテキストならばdumpファイル自体の文字コードを変換したあとにdumpファイル内に書かれている"EUC-JP"を"UFT-8"に置換すればよいのだけれども、
ラージオブジェクトが含まれているとそうはいかない。
で、検索してみるとPostgreSQLのML解決方法を発見。


まず移行元(EUC-JP)のpostgresql.confを編集。
client_encoding = UTF-8


で、設定再読み込み。
/etc/init.d/postgresql reload


この状態でpg_dumpをすれば移行先で普通にpg_restoreが成功した。
pg_dumpの引数とかではなくて、postgresql.confをいじるとか結構トリッキーで面白い。


【参考URL】
http://ml.postgresql.jp/pipermail/pgsql-jp/2007-November/022542.html

トラックバックURL

http://trackback.blogsys.jp/livedoor/k1LoW/64925007

コメントする

名前:
URL:
  情報を記憶: 評価:  顔   星