

# dba\$1plans ビューで Aurora PostgreSQL クエリ計画を検証する
<a name="AuroraPostgreSQL.Optimize.ViewPlans"></a>

`apg_plan_mgmt` ロールを付与されたデータベースユーザーと管理者は、`apg_plan_mgmt.dba_plans` に保存されている計画を表示および管理できます。Aurora PostgreSQL DB クラスターの管理者 (`rds_superuser` 権限を持つ人) は、クエリプラン管理を行う必要があるデータベースユーザーにこのロールを明示的に付与する必要があります。

`apg_plan_mgmt` ビューには、Aurora PostgreSQL DB クラスターのライターインスタンス上のすべてのデータベースのあらゆるマネージド SQL ステートメントの計画履歴が含まれます。このビューでは、計画、その状態、最終使用日時、その他すべての関連詳細を確認できます。

「[正規化と SQL ハッシュ](AuroraPostgreSQL.Optimize.Start.md#AuroraPostgreSQL.Optimize.Start.hash-and-normalization)」で説明しているように、管理計画はそれぞれ、SQL ハッシュ値と計画ハッシュ値を組み合わせて識別されます。これらの識別子を使用すると、Amazon RDS Performance Insights などのツールを使用して個別の計画のパフォーマンスを追跡できます。Performance Insights の詳細については、「[Amazon RDS Performance Insights の使用]( https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.html)」を参照してください。

## 管理計画のリスト化
<a name="AuroraPostgreSQL.Optimize.ViewPlans.List"></a>

管理計画をリスト化するには、`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\$1plan\$1mgmt.dba\$1plans ビューのリファレンス](AuroraPostgreSQL.Optimize.dba_plans_view_Reference.md)」を参照してください。