

# 在 dba\$1plans 视图中检查 Aurora PostgreSQL 查询计划
<a name="AuroraPostgreSQL.Optimize.ViewPlans"></a>

已被授予 `apg_plan_mgmt` 角色的数据库用户和管理员可以查看和管理存储在 `apg_plan_mgmt.dba_plans` 中的计划。Aurora PostgreSQL 数据库集群的管理员（具有 `rds_superuser` 权限的用户）必须将此角色显式授予需要处理查询计划管理的数据库用户。

`apg_plan_mgmt` 视图包含 Aurora PostgreSQL 数据库集群的写入器实例上每个数据库的所有托管式 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)。