PostgreSQLサーバーの更新

これらの手順は、pgsqlのホームディレクトリが/ usr / local / pgsqlにあり、データが/ usr / local / pgsql / dataにあることを前提としています。



構成が異なる場合は、適切なパスを自分のものに置き換えます。 通常、内部データストレージ形式は、PostgreSQLのメジャーリリースごとに変更されます。 したがって、バージョン「8.3.x」よりも前の既存のインストールをアップグレードする場合は、バックアップを作成してからデータを復元する必要があります。 PostgreSQL“ 8.3.x”を更新すると、新しいバージョンは現在のデータファイルを使用できるため、バックアップと復元の手順をスキップできます。



1.バックアップを作成するときは、データベースが更新されていないことを確認してください。 これはバックアップの整合性には影響しませんが、変更されたデータは提供されません。 必要に応じて、ファイル/ usr / local / pgsql / data / pg_hba.confのパーミッションを編集して、自分以外のすべてのユーザーからのアクセスをブロックします。 データベースのバックアップコピーを作成するには、次のように入力します。



pg_dumpall > outputfile







OIDを保存する必要がある場合は、-oスイッチを使用します。 バックアップを作成するには、現在インストールされているバージョンからpg_dumpallコマンドを使用できます。 ただし、最良の結果を得るには、PostgreSQL 8.3.5のpg_dumpallコマンドを使用してください。このバージョンにはバグ修正と旧バージョンの改善が含まれています。 新しいバージョンをまだインストールしていないので、アドバイスは奇妙に思えるかもしれません。最初に古いバージョンをアンインストールせずに新しいバージョンをインストールする場合は、それに従うことができます。 この場合、最初にインストールを完了してからデータを転送できます。 また、ダウンタイムも削減されます。



2.古いサーバーを停止します。



pg_ctl stop







または(システムへのPgSQLのインストールに応じて)



/etc/rc.d/init.d/postgresql stop







3.古いpgsqlホームディレクトリの名前を変更または削除します。 ディレクトリを削除する代わりに、ディレクトリの名前を変更できます。インストール中に問題が発生した場合は、古いバージョンに戻すことができます。 データベースのホームディレクトリはかなりのディスク領域を占有する可能性があることに注意してください。 ディレクトリの名前を変更するには、次のコマンドを使用します。



mv /usr/local/pgsql /usr/local/pgsql.old







4.新しいバージョンのPostgreSQLをインストールします(http://www.postgresql.org/docs/current/static/install-procedure.html)



5.新しくインストールされたデータベースを初期化します(データベースサーバーが動作するユーザー、通常はpgsqlユーザーからコマンドを実行する必要があります)。



/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data







6.必要な設定pg_hba.confおよびpostgresql.confを復元します。



7.データベースサーバーを起動します(データベースサーバーが動作するユーザーから再度)。



/usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data







8.最後に、バックアップからデータを復元します



/usr/local/pgsql/bin/psql -d postgres -f outputfile







PgSQLの新しいバージョンを使用してください!



オリジナル記事



upd:更新する前に、あなたがやっていることを注意深く考えてください。 バージョンは常に互換性があるわけではなく、以前にサーバーで機能していたアプリケーションが機能しなくなる場合があります。

upd2:アプリケーションが更新されたバージョンと互換性がないという事実に遭遇した場合は、以前のバージョンを再インストールし、/ usr / local / pgsql / dataディレクトリを以前に保存したディレクトリに置き換えます(削除せずにpに名前を変更した場合) 3 )。



All Articles