拡張機能を利用しているデータベースインスタンスをアップグレードする場合は、移行元の製品バージョンに応じて、以下の手順でアップグレードを実施してください。
FUJITSU Enterprise Postgres 10以降のデータベースインスタンスから移行する場合
拡張機能を利用しているFUJITSU Enterprise Postgres 10以降のデータベースインスタンスをpg_upgradeでアップグレードする場合は、以下の手順でアップグレードを行ってください。
pg_upgradeを実行する前に、pg_dumpでデータベースをバックアップすることを強く推奨します。
移行先でデータベースクラスタを作成
移行元、移行先のインスタンスを停止
pg_upgradeコマンドを実行
移行先のインスタンスを起動
移行先において、ALTER EXTENSIONで使用している拡張機能を最新バージョンにアップデート
ALTER EXTENSION 拡張名 UPDATE;
なお、複数の拡張機能を利用している場合は、各拡張機能に対してアップデートを実行してください。
参照
pg_upgrade、ALTER EXTENSIONについては、“PostgreSQL Documentation”の“Reference”を参照してください。
FUJITSU Enterprise Postgres 9.xのデータベースインスタンスから移行する場合
拡張機能を利用しているFUJITSU Enterprise Postgres 9.xのデータベースインスタンスをpg_upgradeでアップグレードする場合の作業を説明します。
pg_upgradeや“DROP EXTENSION”を実行する前に、pg_dumpでデータベースをバックアップすることを強く推奨します。
pg_upgradeを実行する前に、“template0”を除き、インスタンスのすべてのデータベースから以下の拡張を削除してください。ユーザーテーブルに以下の拡張のデータタイプを使用してカラムが作成されていた場合、“DROP EXTENSION”はそのカラムも削除します。そのような場合、pg_upgradeではなく別のアップグレード方法を検討することが必要です。その場合、pg_dumpやpg_restoreの使用を検討してください。
pg_stat_statements
pgx_io
pgx_paging
pgx_network
pgx_network_err
pgx_cpu
pgx_memory
pgx_swap
pgx_disk
pgx_process
pgx_log
oracle_compatible
pg_dbms_stats
pg_hint_plan
上記の拡張を削除するには、以下のコマンドを使用します。
DROP EXTENSION 拡張名;
pg_upgradeの操作が完了したら、“template0”を除くすべてのデータベースを対象に、以下のコマンドを使用して必要に応じてこれらの拡張を再作成します。
CREATE EXTENSION 拡張名;
参照
pg_upgrade、DROP EXTENSION、CREATE EXTENSIONについては、“PostgreSQL Documentation”の“Reference”を参照してください。