操作
PostgreSQLのバージョンアップ¶
現バージョンを停止,バックアップ,削除。
# service postgresql stop $ pkg create postgresql<現>-server postgresql<現>-contrib $ mkdir /tmp/pg-upgrade $ tar xvf postgresql<現>-server-<バージョン番号>.pkg -C /tmp/pg-upgrade $ tar xvf postgresql<現>-contrib-<バージョン番号>.pkg -C /tmp/pg-upgrade # pkg delete -f postgresql<現>-\*
新バージョンをインストール。
# make -C /usr/ports/databases/postgresql<新>-server config-recursive install clean # make -C /usr/ports/databases/postgresql<新>-contrib config-recursive install clean
データを移行。データ置場 は,デフォルトだと
/var/db/postgres
。$ su -l postgres -c "/usr/local/bin/initdb --encoding=utf-8 --lc-collate=C -D <データ置場>/data<新> -U postgres" $ su -l postgres -c "pg_upgrade -b /tmp/pg-upgrade/usr/local/bin -d <データ置場>/data<旧> -B /usr/local/bin -D <データ置場>/data<新> -U postgres"
新バージョンを起動。
# service postgresql start
新バージョンが走っているのを確かめ,バックアップした旧バージョンを削除。
# service postgresql status pg_ctl: server is running (PID: <プロセス番号>) /usr/local/bin/postgres "-D" "<データ置場>/data<新>" $ rm -fr /tmp/pg-upgrade postgresql<旧>-*
postgresqlに依存するぱっけぇぢを,再インストール。
# pkg check -dna Checking all packages: 100% rubygem-pg has a missing dependency: postgresql<旧>-client # portupgrade -f rubygem-pg