0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

オフライン環境のPostgreSQLを13から15にアップグレードする

Last updated at Posted at 2024-09-13

前提条件

  • オフライン環境である(インターネットに接続できない)
  • OS: RHEL8
  • DB: PostgreSQL13(現在)

1. 事前準備

必要なファイルを取得

  • 【インターネット接続環境:なし】
    • PostgreSQL 15のRPMパッケージおよび依存パッケージをダウンロードします。
    • ダウンロードしたファイルはオフライン環境に持ち込む必要があります。
  • 【インターネット接続環境:あり】
    • インターネット接続ができない場合、PostgreSQL 公式リポジトリ (https://yum.postgresql.org/) から、PostgreSQL 15のパッケージをダウンロードします。
    • 以下のようなコマンドを使用してダウンロードします。
    yumdownloader --resolve postgresql15-server postgresql15 postgresql15-contrib
    
    • --resolve オプションを使うと依存パッケージも一緒にダウンロードできます。

バックアップ

  • アップグレード前に、データベース全体のバックアップを取得することを強く推奨します。
    # データベース全体のバックアップ
    pg_dumpall > /path/to/backup.sql
    

2. PostgreSQL 13の停止

アップグレードを行う前に、現在動作しているPostgreSQL 13を停止します。

sudo systemctl stop postgresql-13

3. PostgreSQL 15のインストール

オフライン環境にダウンロードしたパッケージを持ち込み、インストールします。

sudo yum localinstall postgresql15-server-15.x.x.rpm postgresql15-15.x.x.rpm postgresql15-contrib-15.x.x.rpm

4. PostgreSQL 15の初期設定

新しいPostgreSQL 15のデータベースクラスタを初期化します。

sudo /usr/pgsql-15/bin/postgresql-15-setup initdb

5. PostgreSQL 13のデータをPostgreSQL 15に移行

pg_upgradeツールを使用してPostgreSQL 13のデータをPostgreSQL 15に移行します。

sudo /usr/pgsql-15/bin/pg_upgrade \
    --old-datadir=/var/lib/pgsql/13/data \
    --new-datadir=/var/lib/pgsql/15/data \
    --old-bindir=/usr/pgsql-13/bin \
    --new-bindir=/usr/pgsql-15/bin

6. PostgreSQL 15の起動

データ移行が完了したら、PostgreSQL 15を起動します。

sudo systemctl start postgresql-15
  • 起動時に問題がないか確認しましょう。

7. PostgreSQL 15の有効化

再起動時にもPostgreSQL 15が自動的に起動するように有効化します。

sudo systemctl enable postgresql-15

8. 古いバージョンのクリーンアップ(オプション)

移行が成功した場合、PostgreSQL 13の不要なデータやパッケージを削除することができます。

sudo yum remove postgresql13-server postgresql13

次に、古いデータディレクトリを削除します。

sudo rm -rf /var/lib/pgsql/13/data

9. PostgreSQLのバージョン確認

最終的に、正しくアップグレードされているかバージョンを確認します。

psql --version

以上

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?