RDS for PostgreSQL メジャーバージョンアップグレード後に CPU 使用率が高くなる事象の対処方法

2021.05.01

困っていた内容

RDS for PostgreSQL のメジャーバージョンアップグレード後に、CPU 使用率が 100 %になります。どうすれば CPU の負荷を下げることができるでしょうか?

どう対応すればいいの?

RDS for PostgreSQL メジャーバージョンアップグレード後の CPU 使用率を下げるには、ANALYZE 操作で統計情報の更新を行ってください。

PostgreSQL はメジャーバージョン更新時に統計情報が移行されません。そのため、アップグレード後の実行計画がボトルネックとなり、CPU 使用率高騰の可能性があります。

AWS ドキュメントでは、RDS PostgreSQL の DB インスタンスをアップグレードする手順が完了した後、以下の操作を実行することを推奨しています。

メジャーバージョンのアップグレードを実施する方法

メジャーバージョンのアップグレードが完了したら、次のことをお勧めします。

  • pg_statistic テーブルを更新する ANALYZE 操作を実行します。

Amazon RDS が DB エンジンアップグレードで使用する pg_upgrade ユーティリティのドキュメントでも、統計情報は転送されないことが明記されています。

Statistics
Because optimizer statistics are not transferred by pg_upgrade, you will be instructed to run a command to regenerate that information at the end of the upgrade. You might need to set connection parameters to match your new cluster.

参考資料

テクニカルサポートノートとは?

クラスメソッドのカルチャー(CLP) の「情報発信を通じて、全ての人々の創造活動に貢献し続ける」という考えから、クラスメソッド メンバーズをご利用のお客様よりいただいたお問い合わせより、他の AWS ユーザーにとっても 有益な情報を一般的な TIPS としてご紹介しています。