1. ホーム

[解決済み】データを失うことなく、PostgreSQLをバージョン9.6からバージョン10.1にアップグレードする方法は?[クローズド]

2022-04-07 18:13:50

質問

Ruby on Railsアプリケーション(Mac OS X 10.9上)でPostgreSQLデータベースを使用しているのですが、PostgreSQLはどのように動作しますか?

PostgreSQLデータベースのアップグレード方法について、詳しい説明はありますか?

データベースのデータが壊れたり、ぐちゃぐちゃにならないか心配です。

どのように解決するのですか?

Postgresのインストールとアップグレードにhome-brewを使用したと仮定して、次の手順を実行します。

  1. 現在のPostgresサーバを停止します。

    launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist

  2. 新しい10.1データベースを初期化します。

    initdb /usr/local/var/postgres10.1 -E utf8

  3. 走る pg_upgrade (注意:下記以外からアップグレードする場合はbinのバージョンを変更すること) :

    pg_upgrade -v \
        -d /usr/local/var/postgres \
        -D /usr/local/var/postgres10.1 \
        -b /usr/local/Cellar/postgresql/9.6.5/bin/ \
        -B /usr/local/Cellar/postgresql/10.1/bin/
    
    

    -v 冗長な内部ロギングを有効にする

    -d 古いデータベースクラスタ設定ディレクトリ

    -D 新しいデータベースクラスタ構成ディレクトリ

    -b 旧 PostgreSQL 実行可能ディレクトリ

    -B 新しいPostgreSQLの実行可能ディレクトリ

  4. 新しいデータを所定の位置に移動する。

    cd /usr/local/var
    mv postgres postgres9.6
    mv postgres10.1 postgres
    
    
  5. Postgresを再起動します。

    launchctl load ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist

  6. チェック /usr/local/var/postgres/server.log の詳細と、新しいサーバーが正しく起動したことを確認します。

  7. 最後に、railsを再インストールします。 pg ジェム

    gem uninstall pg
    gem install pg
    
    

をじっくりと読んでみることをお勧めします。 PostgreSQLのドキュメント を読んで、上記の手順でやっていることを正確に理解し、フラストレーションを最小限に抑えてください。