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 に保存されているデータに影響はありません。