1回答
- 新しい順
- 投票が多い順
- コメントが多い順
0
以下に、AWS RDS for PostgreSQL 13 から 15 へのアップグレード時に確認・注意すべき点を、項目別に詳しく解説いたします。
1. RDS上で提供されている拡張機能の互換性
-
RDS for PostgreSQL で利用できる拡張機能はバージョンにより異なります。
-
PostgreSQL 13 で利用していた拡張機能のうち、PostgreSQL 15 で非対応になっているものがある可能性があります。
-
代表的な拡張機能の対応状況例(2024年時点):
拡張機能 13 15 備考 pg_stat_statements
○ ○ 継続使用可 plpgsql
○ ○ 標準 postgis
△ ○ バージョンに注意(PostGIS のバージョンアップが必要) aws_s3
○ ○ 権限設定確認 pg_partman
△ ○ 最新版への更新要
-
-
事前対策:
- RDSコンソールや AWS CLI の
describe-db-engine-versions
コマンドで対象バージョンの利用可能な拡張機能一覧を確認してください。 - バージョン間で仕様が変わっている拡張機能は、個別にアップグレード・設定変更が必要になることがあります。
- RDSコンソールや AWS CLI の
2. pg_upgrade(内部的にAWSが使用)の制約と留意点
-
RDS のメジャーバージョンアップは内部的に
pg_upgrade
を使用していますが、ユーザーが直接操作することはできません。 -
留意点:
- 無停止ではない:マルチAZ構成でもダウンタイム(10〜30分程度)が発生します。
- Large Object(lo)使用時にデータ破損の可能性:PostgreSQL 15 では扱いに変更があるため、
lo_export/lo_import
を使って事前退避・再インポートを検討。 - Rebuild Index が必要なケース:非互換(特に collation や ICU 周り)が絡む場合、
REINDEX
が推奨される場合あり。 pg_upgrade
では統計情報がリセットされるため、アップグレード後に ANALYZE 実行を推奨。
3. PostgreSQL 15に関する既知の問題と設定推奨
-
既知の変更点(互換性に影響):
reindexdb
の挙動強化 → アップグレード後にREINDEX DATABASE
実施を検討。- ICU コレーション(照合順序)の強化 →
collation
に依存するクエリやインデックスに注意。 sql_standard_role
オプション導入:ロール名との互換性エラーが発生することがある。wal_compression
やlogical_replication
のパラメータデフォルトが変更になっている場合あり。
-
推奨設定:
track_io_timing = on
(性能診断向け)log_checkpoints = on
、log_autovacuum_min_duration = 1000
(監視強化)- アップグレード後、
autovacuum
の設定も見直しを推奨(特にvacuum_cost_limit
)
4. RDS固有の非互換・注意点
-
Parameter Group の再作成:
- PostgreSQL 13 用の DB パラメータグループは PostgreSQL 15 に流用できません。
- 事前に PostgreSQL 15 用のパラメータグループを作成し、適用してください。
-
監査・ログ設定:
log_statement
,log_duration
などが初期設定で変わる可能性があるため、ログ出力の挙動が変わる場合あり。
-
IAM 認証設定の一部で非互換や権限エラーが発生する場合あり(公式には未記載だが報告事例あり)。
-
エンコードやロケール変更不可:
- PostgreSQL の
locale
,encoding
は作成時固定のため、アップグレードで変更は不可。変更が必要なら新規作成+データ移行が必要。
- PostgreSQL の
【対応フロー推奨】
- 互換性チェック:
pg_dump
+--load-via-partition-root
などでエラー有無の確認 - ステージング環境でのテストアップグレードを実施(snapshot からの restore を使う)
- 拡張機能・設定項目・クエリの挙動検証
- 本番メンテナンス時間の計画と通知
- アップグレード後に REINDEX / ANALYZE の実施
必要に応じて、現在のRDSの構成情報(パラメータグループ、拡張機能一覧、使用している論理レプリケーションの有無など)をご共有いただければ、さらに具体的なアドバイスも可能です。
回答済み 1ヶ月前
迅速で丁寧なご回答をありがとうございました。あまりに素早いので大変驚きました。Cooool!