データを失うことなく PostgreSQL サーバーのバージョンをアップグレードする

  1. PostgreSQL サーバーのバージョンアップの重要性
  2. PostgreSQL サーバーのバージョンを更新するためのさまざまなアプローチ
データを失うことなく PostgreSQL サーバーのバージョンをアップグレードする

通常、多くのユーザーは、プロセス中にデータが失われることを恐れて、PostgreSQL サーバーを最新バージョンにアップグレードしません。 PostgreSQL サーバーを新しいバージョンに更新するのは少し難しく、正しい手順に従わないとデータが完全に失われる可能性があります。

したがって、PostgreSQL サーバーを最新バージョンにアップグレードする前に、十分な調査を行うことが不可欠です。 このチュートリアルでは、データを失うことなく PostgreSQL サーバーのバージョンをアップグレードする段階的なプロセスについて説明します。

PostgreSQL サーバーのバージョンアップの重要性

はい! 以下に示す多くの理由により、PostgreSQL サーバーを最新バージョンにアップグレードすることが不可欠です。

  • 古いバージョンは、他のアプリケーションとの互換性が失われる可能性があります。
  • サイバー犯罪者は、古いバージョンのパッチが適用されていない脅威が原因でシステムの脆弱性を発見し、PostgreSQL サーバーを攻撃する可能性があります。
  • 古いバージョンのバグは、新しいバージョンで修正されます。
  • 新しいバージョンでは、タスクを効率的に実行するのに役立つ拡張機能が提供されています。

この記事には、PostgreSQL サーバーをあるバージョンから別のバージョンに正常に更新する方法が含まれています。

この手順は、すべてのオペレーティング システムに適用されます。

PostgreSQL サーバーのバージョンを更新するためのさまざまなアプローチ

データを失うことなく PostgreSQL サーバーをあるバージョンから別のバージョンに更新するには、複数の方法があります。 ここでは、そのうちの 3つを使用して PostgreSQL サーバーをアップグレードする方法を示します。

要件に応じて、次のいずれかのソリューションを選択できます。

解決策 1: 一般的な解決策

どのオペレーティング システムでも機能し、データを操作することなく、PostgreSQL サーバーを選択した任意のバージョンに更新できます。 これは一般的な解決策であるため、正確な BASH コマンドについては言及されていません。

これらのコマンドは、さまざまなオペレーティング システムを検索して、指示に従って実装できます。

  1. 特定のオペレーティング システムの BASH コマンドを使用して、実行中の PostgreSQL サーバーのインスタンスを停止します。
  2. 移行先の PostgreSQL サーバーの新しいバージョンをインストールして起動します。
  3. インストールしたばかりの PostgreSQL サーバーの新しいバージョンに接続できるかどうかを確認します。
  4. 旧バージョンの PostgreSQL サーバーのポート番号 postgresql.conf -> port5432 から 5433 に変更します。
  5. PostgreSQL サーバーの古いバージョンの新しいポート番号 5433 を起動します。
  6. ターミナルを開き、cd コマンドを使用してディレクトリを新しいバージョンの bin フォルダに変更します。
  7. コマンド pg_dumpall -p 5433 -U <username> | psql -p 5432 -U <username> をターミナルで実行します。
  8. 古い PostgreSQL サーバーの実行中のインスタンスを停止します。

特定のオペレーティング システム用に設計された BASH コマンドを使用して手順全体を実装すると、PostgreSQL サーバーを古いバージョンから新しいバージョンにアップグレードするのに役立ちます。

注: このソリューションで発生する可能性のある問題は、Postgres 構成ファイルの一部を変更した場合 (たとえば、postgresql.conf または pg_hba.conf)、これらの変更を手動で複製する必要があることです。 新しい PostgreSQL サーバーのインストール。 pg_upgradecluster コマンドは、構成ファイルを新しいクラスターにコピーするのに役立ちます。

解決策 2: Homebrew で使用される仮定を使用する

このソリューションは、Postgres のインストールとアップグレードに Homebrew ソフトウェアが使用されているという前提に焦点を当てています。 以下の手順に従って、PostgreSQL サーバーをあるバージョンから別のバージョンにアップグレードします。

簡単にするために、Postgres v9.6 が Postgres v10.1 に更新されていると仮定します。

2 番目のソリューションの改訂

Homebrew では、古い launchctl load および launchctl unload コマンドではなく、brew services start postgresql および brew services stop postgresql コマンドを使用できるようになりました。

醸造サービスに追加されたコマンドは、参考のために以下に強調表示されています。

Bash
 bashCopybrew services stop postgresql
brew upgrade postgresql
brew postgresql-upgrade-database
brew services start postgresql

解決策 3: Ubuntu ユーザー向け

このソリューションは、特に Ubuntu ユーザー向けです。 一般的な手順は、この記事で前述したものと同じです。 ただし、このソリューションには、Ubuntu で使用される端末コマンドが含まれています。

手順は次のとおりです。

PostgreSQL サーバーをあるバージョンから別のバージョンにアップグレードするには、正しいプロセスに従うことが不可欠です。 そうしないと、不適切なアップグレード プロセスによってデータが失われる可能性があります。 したがって、注意を払う必要があります。

チュートリアルを楽しんでいますか? <a href="https://www.youtube.com/@delftstack/?sub_confirmation=1" style="color: #a94442; font-weight: bold; text-decoration: underline;">DelftStackをチャンネル登録</a> して、高品質な動画ガイドをさらに制作するためのサポートをお願いします。 Subscribe
著者: Bilal Shahid
Bilal Shahid avatar Bilal Shahid avatar

Hello, I am Bilal, a research enthusiast who tends to break and make code from scratch. I dwell deep into the latest issues faced by the developer community and provide answers and different solutions. Apart from that, I am just another normal developer with a laptop, a mug of coffee, some biscuits and a thick spectacle!

GitHub

関連記事 - PostgreSQL Update