

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 在 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` 檢視包含每個資料庫之所有受管 SQL 陳述式的計劃歷史記錄，而這些資料庫位於 Aurora PostgreSQL 資料庫叢集的寫入器執行個體上。此檢視可讓您檢查計劃、其狀態、上次使用時間，以及所有其他相關詳細資訊。

如 [標準化和 SQL 雜湊](AuroraPostgreSQL.Optimize.Start.md#AuroraPostgreSQL.Optimize.Start.hash-and-normalization) 中所討論，每個受管計劃是以結合的 SQL 雜湊值和計劃雜湊值來識別。您可以使用工具 (例如 Amazon RDS Performance Insights) 搭配這些識別符，以追蹤個別計劃效能。如需績效詳情的更多資訊，請參閱[使用 Amazon RDS 績效詳情]( 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)。