プロジェクト

全般

プロフィール

PostgreSQLのバージョンアップ » 履歴 » バージョン 3

白林檎 美和, 2021/10/01 16:02

1 1 白林檎 美和
# PostgreSQLのバージョンアップ
2
3
1. 現バージョンを停止,バックアップ,削除。
4
5
    ```
6
# service postgresql stop
7
$ pkg create postgresql<現>-server postgresql<現>-contrib
8
$ mkdir /tmp/pg-upgrade
9 3 白林檎 美和
$ tar xvf postgresql<現>-server-<バージョン番号>.pkg -C /tmp/pg-upgrade
10
$ tar xvf postgresql<現>-contrib-<バージョン番号>.pkg -C /tmp/pg-upgrade
11 1 白林檎 美和
# pkg delete -f postgresql<現>-server postgresql<現>-contrib postgresql<現>-client
12
```
13
1. 新バージョンをインストール。
14
    ```
15 3 白林檎 美和
# make -C /usr/ports/databases/postgresql<新>-server config-recursive install clean
16
# make -C /usr/ports/databases/postgresql<新>-contrib config-recursive install clean
17 1 白林檎 美和
```
18
1. データを移行。*データ置場* は,デフォルトだと `/var/db/postgres`。
19
    ```
20
$ su -l postgres -c "/usr/local/bin/initdb --encoding=utf-8 --lc-collate=C -D <データ置場>/data<新> -U postgres"
21
$ su -l postgres -c "pg_upgrade -b /tmp/pg-upgrade/usr/local/bin -d <データ置場>/data<旧> -B /usr/local/bin -D <データ置場>/data<新> -U postgres"
22
```
23
1. 新バージョンを起動。
24
    ```
25
# service postgresql start
26
```
27 2 白林檎 美和
1. 新バージョンが走っているのを確かめ,バックアップした旧バージョンを削除。
28
    ```
29
# service postgresql status
30
pg_ctl: server is running (PID: <プロセス番号>)
31
/usr/local/bin/postgres "-D" "<データ置場>/data<新>"
32
$ rm -fr /tmp/pg-upgrade postgresql<旧>-server-<バージョン番号>.txz postgresql<旧>-contrib-<バージョン番号>.txz
33
```
34 1 白林檎 美和
1. postgresqlに依存するぱっけぇぢを,再インストール。
35
    ```
36
# pkg check -dna
37
Checking all packages: 100%
38
rubygem-pg has a missing dependency: postgresql<旧>-client
39
# portupgrade -f rubygem-pg
40
```