プロジェクト

全般

プロフィール

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

白林檎 美和, 2021/09/23 23:07

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