3.11. RHEL 10 バージョンの PostgreSQL 16 から PostgreSQL 18 へのアップグレード


RHEL 10 上で PostgreSQL データベースサーバーをバージョン 16 から 18 にアップグレードすることで、新機能や改善点を利用できます。

主な機能拡張や変更点については、RHEL 10.2 リリースノートの リリースノート を参照してください。

前提条件

  • RHEL 10 上で既存のデータベースサーバーが PostgreSQL 16 を使用している。
  • ホストの /var/lib/pgsql/ ディレクトリーが格納されているディスクに十分な空き領域がある。

    たとえば、ディレクトリーのサイズが 10 GiB の場合、少なくとも 10 GiB の空きディスク容量が必要です。

手順

  1. データページチェックサムの現在のステータスを表示します。

    # pg_controldata /var/lib/pgsql/data | grep "Data page checksum"
    Data page checksum version:           0

    コマンドが 0 を返した場合、データページチェックサムは無効です。

  2. postgresql サービスを停止します。

    # systemctl stop postgresql
  3. データページチェックサムが無効な場合は、方針を決定します。

    • データ整合性を向上させるために、アップグレード前にデータページチェックサムを有効にする場合:

      1. データページチェックサムを有効にします。

        # pg_checksums --enable -D /var/lib/pgsql/data/

        データベースの規模によっては、この操作にかなりの時間がかかる場合があります。

      2. 有効化を検証します。

        # pg_controldata /var/lib/pgsql/data | grep "Data page checksum"
        Data page checksum version:           1
    • データページのチェックサムを無効にしたままにする場合は、PGSETUP_INITDB_OPTIONS 環境オプションを --no-data-checksums に設定します。

      # export PGSETUP_INITDB_OPTIONS="--no-data-checksums"
  4. PostgreSQL 18 に切り替えます。

    # dnf install --allowerasing postgresql18-server
    重要

    続行する前に、提示された dnf トランザクションを慎重に確認してください。以前のバージョンの各パッケージが、新しいバージョンの同等のパッケージに置き換えられていることを確認してください。インストールリストが不完全な場合、--allowerasing オプションにより、意図しないパッケージ削除が発生し、インストールするソフトウェアよりも多くのソフトウェアが削除される可能性があります。

  5. postgresql18-upgrade パッケージをインストールします。

    # dnf install postgresql18-upgrade
  6. アップグレードプロセスを実行します。

    # postgresql-setup --upgrade

    postgresql-setup シェルスクリプトは、/var/lib/pgsql/data/ ディレクトリーの名前を /var/lib/pgsql/data-old/ に変更し、pg_upgrade ユーティリティーを使用して、データベースを再作成された /var/lib/pgsql/data/ ディレクトリーに移行します。

    重要

    pg_upgrade ユーティリティーは、データベースのみを移行し、設定ファイルは移行しません。移行後、/var/lib/pgsql/data/ にはデフォルトの .conf ファイルのみが含まれます。以前にカスタム設定ファイルがあった場合は、それらを /var/lib/pgsql/data-old/ ディレクトリーからコピーし、新しい PostgreSQL バージョンと互換性があることを確認します。

  7. postgresql サービスを開始します。

    # systemctl start postgresql
  8. すべてのデータベースをクリーンアップして分析します。

    # su postgres -c 'vacuumdb --all --analyze-in-stages'
  9. データベースを検証し、PostgreSQL サーバーを使用するアプリケーションが期待どおりに動作することを確認します。
  10. オプション: 移行前のデータベースと設定ファイルが含まれている /var/lib/pgsql/data-old/ ディレクトリーを削除します。

    # rm -r /var/lib/pgsql/data-old/
  11. オプション: postgresql18-upgrade パッケージを削除します。

    # dnf remove postgresql18-upgrade
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

Red Hat ドキュメントについて

Legal Notice

Theme

© 2026 Red Hat
トップに戻る