PostgreSQLのバージョンアップ » 履歴 » リビジョン 3
リビジョン 2 (白林檎 美和, 2021/09/23 23:07) → リビジョン 3/5 (白林檎 美和, 2021/10/01 16:02)
# PostgreSQLのバージョンアップ 1. 現バージョンを停止,バックアップ,削除。 ``` # service postgresql stop $ pkg create postgresql<現>-server postgresql<現>-contrib $ mkdir /tmp/pg-upgrade $ tar xvf postgresql<現>-server-<バージョン番号>.pkg postgresql<現>-server-<バージョン番号>.txz -C /tmp/pg-upgrade $ tar xvf postgresql<現>-contrib-<バージョン番号>.pkg postgresql<現>-contrib-<バージョン番号>.txz -C /tmp/pg-upgrade # pkg delete -f postgresql<現>-server postgresql<現>-contrib postgresql<現>-client ``` 1. 新バージョンをインストール。 ``` # make -C /usr/ports/databases/postgresql<新>-server config-recursive # make -C /usr/ports/databases/postgresql<新>-server install clean # make -C /usr/ports/databases/postgresql<新>-contrib config-recursive # make -C /usr/ports/databases/postgresql<新>-contrib install clean ``` 1. データを移行。*データ置場* は,デフォルトだと `/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" ``` 1. 新バージョンを起動。 ``` # service postgresql start ``` 1. 新バージョンが走っているのを確かめ,バックアップした旧バージョンを削除。 ``` # service postgresql status pg_ctl: server is running (PID: <プロセス番号>) /usr/local/bin/postgres "-D" "<データ置場>/data<新>" $ rm -fr /tmp/pg-upgrade postgresql<旧>-server-<バージョン番号>.txz postgresql<旧>-contrib-<バージョン番号>.txz ``` 1. postgresqlに依存するぱっけぇぢを,再インストール。 ``` # pkg check -dna Checking all packages: 100% rubygem-pg has a missing dependency: postgresql<旧>-client # portupgrade -f rubygem-pg ```