postgreSQLをEUCからUTF-8に変更してデータ移行する

vagrant上のCentOS7で確認。




データのダンプをとる



PostgresがインストールされているOS上で実行。
su -l postgres -c "pg_dump olddatabase >db_backup.dump"

文字コード変換
ダンプファイルの文字コードをUTF-8に変更してファイル内でEUCで指定している箇所をUTF-8に置き換えする。
10GB近くなるとエディタでは開けない。
nkf -w db_backup.dump | sed s/EUC_JP/UTF-8/ > database_utf8.dump



データのインポート



新データベース作成


su postgres
> postgresのパスワード入力
psql
> create database newdatabase;
> exit;


データ取り込み


rootで実行する。

su -l postgres -c "psql -d newdatabase -f /vagrant/db_backup.dump > restore.log" 2>&1
> postgresのパスワード入力



参考



https://qiita.com/saba1024/items/f1da6e4aa0837259cff4
https://qiita.com/rice_american/items/ceae28dad13c3977e3a8


2019年10月9日水曜日