AlloyDB Omni バージョン 15.5.2 以前から最新バージョンに移行する

AlloyDB Omni 15.5.4 以降では、一般的なパッケージ管理ツールを使用して AlloyDB Omni を制御します。

AlloyDB Omni が既にインストールされている場合は、このページの手順に沿って、新しい単一イメージ インストールに移行します。

前提条件

AlloyDB Omni の最新バージョンへのアップグレードを開始する前に、まだ行っていない場合は、次の前提条件を完了してください。

AlloyDB Omni 15.5.2 へのアップグレード

AlloyDB Omni CLI をサポートする最新の AlloyDB Omni バージョンは 15.5.2 です。AlloyDB Omni のバージョンを確認するには、次のコマンドを実行します。

sudo alloydb version

出力は次のようになります。

AlloyDB Omni CLI version: 1.6
AlloyDB Omni database server version: 15.5.2

出力に 15.5.2 より前のバージョンのデータベースが表示された場合は、次のコマンドを実行してアップグレードします。

sudo alloydb database-server upgrade

既存のインストールに関する情報を収集する

  1. 次のコマンドを実行します。

    cat /var/alloydb/config/dataplane.conf
  2. cat コマンドの出力から、次の変数の値をメモしておきます。

    • DATADIR_PATH - 例: /var/alloydb/main
    • ENABLE_ALLOYDB_AI - 例: FALSE
    • PGPORT - 例: 5432
    • INSTANCE_TYPE - 例: PRIMARY/READ_REPLICA

インプレース アップグレードを実行する

  1. 既存のデータベースを停止します。

    sudo alloydb database-server stop
  2. 新しい単一イメージの AlloyDB Omni を起動し、以前の既存のデータディレクトリをマウントします。

    docker run --name CONTAINER_NAME \
        -e POSTGRES_PASSWORD=PASSWORD \
        -e PGDATA=/var/lib/postgresql/data \
        -v /var/alloydb/main/data:/var/lib/postgresql/data \
        -v /dev/shm:/dev/shm \
        -p PGPORT:5432 \
        --network=host \
        --ulimit=nice=-20:-20 \
        --ulimit=core=-1:-1 \
        --log-driver=journald \
        -d google/alloydbomni:15.5.4

    次のように置き換えます。

    • CONTAINER_NAME: ホストマシンのコンテナ レジストリにこの新しい AlloyDB Omni コンテナを割り当てる名前(例: my-omni)。

    • PASSWORD: 作成後に新しいコンテナの postgres ユーザーに割り当てられたパスワード。

    • PGPORT: AlloyDB Omni が実行されているポートの IP アドレス。これは、既存のインストールに関する情報を収集するのステップ 2 でメモした値です。

    docker run の引数は、以前のバージョンの AlloyDB Omni で使用されていたものと同じですが、さらにカスタマイズできます。詳細については、AlloyDB Omni のインストールをカスタマイズするをご覧ください。

  3. データベース インスタンス タイプが PRIMARY の場合は、次のコマンドを実行して次のユーザーを作成します。これらは現在使用されていないユーザー名ですが、今後の拡張のために予約されています。

    for name in alloydbagent alloydbexport alloydbiamgroupuser alloydbiamuser alloydbimportexport alloydbobservability alloydbsqllogical alloydbsuperuser; do
      echo docker exec -it CONTAINER_NAME psql -h localhost -U postgres alloydbadmin \
        -c "CREATE ROLE ${name} NOLOGIN;" \
        -c "CREATE TABLE ${name}_table();" \
        -c "ALTER TABLE ${name}_table OWNER TO ${name};"
    done
  4. ENABLE_ALLOYDB_AITRUE に設定されている場合は、AlloyDB AI で AlloyDB Omni をインストールするの手順に沿って AlloyDB AI を設定します。

  5. データベースに接続して、データが変更されていないことを確認します。

    docker exec -it CONTAINER_NAME psql -h localhost -U postgres
  6. AlloyDB Omni CLI をアンインストールします。

    sudo alloydb database-server uninstall

    AlloyDB Omni CLI のアンインストールは、AlloyDB Omni に保存されているデータには影響しません。