ページの先頭行へ戻る
Enterprise Postgres 15 運用ガイド

1.7.1 カラム型インデックス(VCI)が有効なFujitsu Enterprise Postgresをアップグレードする場合の追加手順

pg_upgradeを使用して、VCIの拡張を使用しているFUJITSU Enterprise Postgres 11以前のインスタンスをFUJITSU Enterprise Postgres 12以降にアップグレードする場合、FUJITSU Enterprise Postgres 12以降とFUJITSU Enterprise Postgres 11以前の間でVCIの拡張の互換性がないため、以下を実行する必要があります。

FUJITSU Enterprise Postgres 11以前の"template0"以外のすべてのデータベースにおいて、以下の手順に従います。

アップグレード前の手順

  1. CREATE INDEX定義の取得

    以下のクエリを実行して、データベースに作成されたすべてのVCIインデックスを確認します。pg_upgrade完了後、これらのインデックスがFUJITSU Enterprise Postgres 12以降で再作成されていることを確認してください。

    SELECT nspname || '.' || relname AS index_relname,* FROM pg_class, pg_namespace
      WHERE relnamespace = pg_namespace.oid AND relam IN (SELECT oid FROM pg_am WHERE amname='vci');

    上記の各index_relnameに対して、以下のコマンドを実行してCREATE INDEX定義を取得します(取得したCREATE INDEX定義は、FUJITSU Enterprise Postgres 12以降でインデックスを再作成する際に使用します)。

    SELECT pg_get_indexdef('indexName'::regclass);
  2. VCIインデックスとVCI拡張の削除

    Fujitsu Enterprise Postgres で作成されているVCIインデックスおよびVCI内部オブジェクトをすべて削除するには、以下のコマンドを実行します。VCI内部オブジェクトは、FUJITSU Enterprise Postgres 12以降で、VCIに対してCREATE EXTENSIONコマンドを実行すると自動的に作成されます。

    DROP EXTENSION VCI CASCADE;

    注意

    FUJITSU Enterprise Postgres 11以前のインスタンスでVCIの拡張をリストアするには、CREATE EXTENSIONコマンドを実行します。

アップグレード後の手順

"template0"以外のすべてのデータベースに対するpg_upgradeが完了したら、"template0"を除くすべてのデータベースに対してCREATE EXTENSIONを実行してVCIの拡張を作成し、必要に応じてすべてのVCIインデックスに対してCREATE INDEXを実行します。