PostgreSQLで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が