プロジェクト

全般

プロフィール

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

白林檎 美和, 2025/03/12 17:55

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