プロジェクト

全般

プロフィール

操作

PostgreSQLのバージョンアップ

  1. 現バージョンを停止,バックアップ,削除。

    # 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<現>-\*
    
  2. 新バージョンをインストール。

    # make -C /usr/ports/databases/postgresql<新>-server config-recursive install clean
    # make -C /usr/ports/databases/postgresql<新>-contrib config-recursive install clean
    
  3. データを移行。データ置場 は,デフォルトだと /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"
    
  4. 新バージョンを起動。

    # service postgresql start
    
  5. 新バージョンが走っているのを確かめ,バックアップした旧バージョンを削除。

    # service postgresql status
    pg_ctl: server is running (PID: <プロセス番号>)
    /usr/local/bin/postgres "-D" "<データ置場>/data<新>"
    $ rm -fr /tmp/pg-upgrade postgresql<旧>-*
    
  6. postgresqlに依存するぱっけぇぢを,再インストール。

    # pkg check -dna
    Checking all packages: 100%
    rubygem-pg has a missing dependency: postgresql<旧>-client
    # portupgrade -f rubygem-pg
    

白林檎 美和 さんが約2年前に更新 · 5件の履歴