dba_plans ビューで Aurora PostgreSQL クエリ計画を検証する
apg_plan_mgmt
ロールを付与されたデータベースユーザーと管理者は、apg_plan_mgmt.dba_plans
に保存されている計画を表示および管理できます。Aurora PostgreSQL DB クラスターの管理者 (rds_superuser
権限を持つ人) は、クエリプラン管理を行う必要があるデータベースユーザーにこのロールを明示的に付与する必要があります。
apg_plan_mgmt
ビューには、Aurora PostgreSQL DB クラスターのライターインスタンス上のすべてのデータベースのあらゆるマネージド SQL ステートメントの計画履歴が含まれます。このビューでは、計画、その状態、最終使用日時、その他すべての関連詳細を確認できます。
「正規化と SQL ハッシュ」で説明しているように、管理計画はそれぞれ、SQL ハッシュ値と計画ハッシュ値を組み合わせて識別されます。これらの識別子を使用すると、Amazon RDS Performance Insights などのツールを使用して個別の計画のパフォーマンスを追跡できます。Performance Insights の詳細については、「Amazon RDS Performance Insights の使用」を参照してください。
管理計画のリスト化
管理計画をリスト化するには、apg_plan_mgmt.dba_plans
ビューの SELECT ステートメントを使用します。次の例では、dba_plans
ビューに、承認済みの計画および未承認の計画を識別する status
などの列が表示されます。
SELECT sql_hash, plan_hash, status, enabled, stmt_name
FROM apg_plan_mgmt.dba_plans;
sql_hash | plan_hash | status | enabled | stmt_name
------------+-----------+------------+---------+------------
1984047223 | 512153379 | Approved | t | rangequery
1984047223 | 512284451 | Unapproved | t | rangequery
(2 rows)
読みやすくするために、表示されるクエリと出力には、dba_plans
ビューの一部の列のみがリストされています。詳細については、「Aurora PostgreSQL 互換エディションの apg_plan_mgmt.dba_plans ビューのリファレンス」を参照してください。