内容
postgresqlのメジャーバージョンアップの方法。
ubuntu 14.04で実行。
リポジトリ登録
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ precise-pgdg main" >> /etc/apt/sources.list.d/postgresql.list'
sudo apt-get update
postgresql 9.4 のインストール
sudo apt-get install postgresql-9.4 postgresql-server-dev-9.4 postgresql-contrib-9.4
9.3と9.4のポート確認
別のポートで並列に動いている。
pg_lsclusters
Ver Cluster Port Status Owner Data directory Log file
9.3 main 5432 online postgres /var/lib/postgresql/9.3/main /var/log/postgresql/postgresql-9.3-main.log
9.4 main 5433 online postgres /var/lib/postgresql/9.4/main /var/log/postgresql/postgresql-9.4-main.log
データ移行
ポート5432で起動している9.3から、ポート5433で起動している9.4へ
sudo su postgres
pg_dumpall -p 5432 | psql -d postgres -p 5433
postgresql 9.3 の停止
sudo pg_dropcluster --stop 9.3 main
postgresql 9.4 ポート変更
portの行を変更する。
sudo vi /etc/postgresql/9.4/main/postgresql.conf
postgresql 9.4 再起動
sudo service postgresql restart 9.4
最終確認
pg_lsclusters
9.4 main 5432 down postgres /var/lib/postgresql/9.4/main /var/log/postgresql/postgresql-9.4-main.log