

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

# Aurora PostgreSQL 查詢計畫管理更新
<a name="auroraqpm.updates"></a>

延伸為 AWS `apg_plan_mgmt` Aurora PostgreSQL 資料庫叢集提供查詢計畫管理功能。它可讓您管理最佳化工具針對 SQL 應用程式產生的查詢執行計畫，以提高穩定性並防止迴歸發生。如需詳細資訊，請參閱《Amazon Aurora 使用者指南》**中的[管理 Aurora PostgreSQL 的查詢執行計畫](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraPostgreSQL.Optimize.html)。

**Topics**
+ [PostgreSQL 17 版本](#auroraqpm-version17)
+ [PostgreSQL 16 版](#auroraqpm-version16)
+ [PostgreSQL 15 版](#auroraqpm-version15)
+ [PostgreSQL 14 版](#auroraqpm-version14)
+ [PostgreSQL 13 版](#auroraqpm-version13)
+ [PostgreSQL 12 版](#auroraqpm-version12)
+ [Aurora PostgreSQL apg\_plan\_mgmt 延伸模組的 2.3 版](#auroraqpm-version.23)
+ [Aurora PostgreSQL apg\_plan\_mgmt 延伸模組的 2.1 版](#auroraqpm-version.21)
+ [Aurora PostgreSQL apg\_plan\_mgmt extension 的 2.0 版](#auroraqpm-version.20)
+ [Aurora PostgreSQL apg\_plan\_mgmt 擴充功能 1.0.1 版](#auroraqpm-version.101)

## PostgreSQL 17 版本
<a name="auroraqpm-version17"></a>

**Topics**
+ [apg\_plan\_mgmt 2.9 版，適用於 Aurora PostgreSQL 17.9，2026 年 4 月 6 日](#auroraqpm-version17-179)
+ [apg\_plan\_mgmt 2.9 版，適用於 Aurora PostgreSQL 17.7，2025 年 12 月 18 日](#auroraqpm-version17-177)
+ [apg\_plan\_mgmt 2.9 版，適用於 Aurora PostgreSQL 17.5，2025 年 6 月 30 日](#auroraqpm-version17-175)
+ [apg\_plan\_mgmt 2.8 版，適用於 Aurora PostgreSQL 17.4，2025 年 5 月 1 日](#auroraqpm-version17-174)

### apg\_plan\_mgmt 2.9 版，適用於 Aurora PostgreSQL 17.9，2026 年 4 月 6 日
<a name="auroraqpm-version17-179"></a>

Aurora PostgreSQL 17.9 的 2.9 版`apg_plan_mgmt`擴充功能改進包括下列項目：

**擴充功能改善項目**
+ 修正查詢計畫管理中導致計畫無法擷取的問題。

### apg\_plan\_mgmt 2.9 版，適用於 Aurora PostgreSQL 17.7，2025 年 12 月 18 日
<a name="auroraqpm-version17-177"></a>

Aurora PostgreSQL 17.7 的 2.9 版`apg_plan_mgmt`擴充功能改進包括下列項目：

**擴充功能改善項目**
+ 在查詢計畫管理中新增了改進，以自動擷取從先前版本存放的參數清單。

### apg\_plan\_mgmt 2.9 版，適用於 Aurora PostgreSQL 17.5，2025 年 6 月 30 日
<a name="auroraqpm-version17-175"></a>

Aurora PostgreSQL 17.5 的 2.9 版`apg_plan_mgmt`擴充功能改進包括下列項目：

**其他改善項目和增強功能**
+ 修正當 BitmapOr/BitmapAnd 運算子存在時，執行平行 Bitmap 掃描的查詢計劃管理問題。 BitmapAnd 
+ 已修正查詢計畫管理中強制執行多個資料表分割區加入一個資料表分割區的計畫的問題。
+ 修正在單一資料表分割區上強制執行附加節點的查詢計畫管理問題。
+ 查詢計畫管理中`apg_plan_mgmt`的角色會保留，使用者無法再建立、變更或捨棄。
+ 修正處理查詢計畫管理先前版本之參數清單的問題。

### apg\_plan\_mgmt 2.8 版，適用於 Aurora PostgreSQL 17.4，2025 年 5 月 1 日
<a name="auroraqpm-version17-174"></a>

Aurora PostgreSQL 17.4 的 2.8 版`apg_plan_mgmt`擴充功能改進包括下列項目：

**新功能**
+ 查詢計畫管理可以強制執行具有關聯子查詢轉換的計畫。
+ 查詢計畫管理可以強制執行具有關聯子查詢快取的計畫。

**其他改善項目和增強功能**
+ 修正在查詢`dba_plans`檢視或呼叫查詢計畫管理中的 `validate_plans`和 `evolve_plan_baselines`函數時，導致錯誤或重新啟動的參數清單問題。
+ 修正透過查詢計畫管理中關聯式任何轉換最佳化的計畫強制執行問題。
+ 修正在安裝擴充功能或重設共用記憶體後立即執行公用程式陳述式的查詢計劃管理問題。
+ 已修正在查詢計畫管理中呼叫不可變函數之查詢的強制執行、驗證和發展計畫的問題。
+ 修正在查詢計畫管理中強制執行、驗證和發展計畫的問題。

## PostgreSQL 16 版
<a name="auroraqpm-version16"></a>

**Topics**
+ [apg\_plan\_mgmt 2.9 版，適用於 Aurora PostgreSQL 16.13，2026 年 4 月 6 日](#auroraqpm-version16-1613)
+ [apg\_plan\_mgmt 2.9 版，適用於 Aurora PostgreSQL 16.11，2025 年 12 月 18 日](#auroraqpm-version16-1611)
+ [apg\_plan\_mgmt 2.9 版，適用於 Aurora PostgreSQL 16.9，2025 年 6 月 30 日](#auroraqpm-version16-169)
+ [apg\_plan\_mgmt 2.8 版，適用於 Aurora PostgreSQL 16.8，2025 年 4 月 8 日](#auroraqpm-version16-168)
+ [apg\_plan\_mgmt 2.7 版，適用於 Aurora PostgreSQL 16.6，2024 年 12 月 27 日](#auroraqpm-version16-166)
+ [適用於 Aurora PostgreSQL 16.3 的 apg\_plan\_mgmt 2.7 版](#auroraqpm-version16-163)
+ [適用於 Aurora PostgreSQL 16.2 的 apg\_plan\_mgmt 2.6 版](#auroraqpm-version16-162)
+ [適用於 Aurora PostgreSQL 16.1 的 apg\_plan\_mgmt 2.6 版](#auroraqpm-version16-161)

### apg\_plan\_mgmt 2.9 版，適用於 Aurora PostgreSQL 16.13，2026 年 4 月 6 日
<a name="auroraqpm-version16-1613"></a>

Aurora PostgreSQL 16.13 的 2.9 版`apg_plan_mgmt`擴充功能改進包括下列項目：

**擴充功能改善項目**
+ 修正查詢計畫管理中導致計畫無法擷取的問題。

### apg\_plan\_mgmt 2.9 版，適用於 Aurora PostgreSQL 16.11，2025 年 12 月 18 日
<a name="auroraqpm-version16-1611"></a>

Aurora PostgreSQL 16.11 的 2.9 版`apg_plan_mgmt`擴充功能改進包括下列項目：

**擴充功能改善項目**
+ 在查詢計畫管理中新增了改進，以自動擷取從先前版本存放的參數清單。

### apg\_plan\_mgmt 2.9 版，適用於 Aurora PostgreSQL 16.9，2025 年 6 月 30 日
<a name="auroraqpm-version16-169"></a>

Aurora PostgreSQL 16.9 的 2.9 版`apg_plan_mgmt`擴充功能改進包括下列項目：

**其他改善項目和增強功能**
+ 修正當 BitmapOr/BitmapAnd 運算子存在時，執行平行 Bitmap 掃描的查詢計劃管理問題。 BitmapAnd 
+ 已修正查詢計畫管理中強制執行多個資料表分割區加入一個資料表分割區的計畫的問題。
+ 修正在單一資料表分割區上強制執行附加節點的查詢計畫管理問題。
+ 查詢計畫管理中`apg_plan_mgmt`的角色會保留，使用者無法再建立、變更或捨棄。
+ 修正處理查詢計畫管理先前版本之參數清單的問題。

### apg\_plan\_mgmt 2.8 版，適用於 Aurora PostgreSQL 16.8，2025 年 4 月 8 日
<a name="auroraqpm-version16-168"></a>

Aurora PostgreSQL 16.8 的 2.8 版`apg_plan_mgmt`擴充功能改進包括下列項目：

**新功能**
+ 查詢計畫管理可以強制執行具有關聯子查詢轉換的計畫。
+ 查詢計畫管理可以強制執行具有關聯子查詢快取的計畫。

**其他改善項目和增強功能**
+ 修正在查詢`dba_plans`檢視或呼叫查詢計畫管理中的 `validate_plans`和 `evolve_plan_baselines`函數時，導致錯誤或重新啟動的參數清單問題。
+ 修正透過查詢計畫管理中關聯式任何轉換最佳化的計畫強制執行問題。
+ 修正在安裝擴充功能或重設共用記憶體後立即執行公用程式陳述式的查詢計劃管理問題。
+ 已修正在查詢計畫管理中呼叫不可變函數之查詢的強制執行、驗證和發展計畫的問題。
+ 修正在查詢計劃管理中強制執行、驗證和發展計劃的問題。

### apg\_plan\_mgmt 2.7 版，適用於 Aurora PostgreSQL 16.6，2024 年 12 月 27 日
<a name="auroraqpm-version16-166"></a>

Aurora PostgreSQL 16.6 的 2.7 版`apg_plan_mgmt`擴充功能改進包括下列項目：

**其他改善項目和增強功能**
+ 修正查詢計畫管理中在複本上擷取計畫的問題，其中複本中的共用記憶體陣列會變滿。
+ 修正查詢計畫管理背景工作者導致計畫保留期間未強制執行且上次使用日期未更新的問題。
+ 修正與查詢計畫管理背景工作者相關的問題。
+ 修正了強制執行包含點陣圖掃描的查詢計畫管理計畫的問題。
+ 修正查詢計畫管理的問題，其中針對具有多個查詢的函數或程序錯誤擷取計畫。
+ 修正在查詢計畫管理中擷取巢狀查詢執行計畫的問題。
+ 已修正使用延伸查詢通訊協定在查詢計劃管理中擷取計劃的問題。

### 適用於 Aurora PostgreSQL 16.3 的 apg\_plan\_mgmt 2.7 版
<a name="auroraqpm-version16-163"></a>

Aurora PostgreSQL 16.3 的 2.7 版`apg_plan_mgmt`擴充功能改進包括下列項目：

**新功能**
+ 您不再需要更新 `plan_hash_version`。升級資料庫引擎後，QPM 會自動啟用新功能。您不需要採取任何動作即可使用新功能。

**其他改善項目和增強功能**
+ 修正強制執行包含超過 64 個分割資料表的 QPM 計劃的問題。
+ 修正強制執行包含附加運算子的 QPM 計劃的問題。
+ 修正具有 update\_plan\_hash 動作的 QPM validate\_plans 問題。

### 適用於 Aurora PostgreSQL 16.2 的 apg\_plan\_mgmt 2.6 版
<a name="auroraqpm-version16-162"></a>

Aurora PostgreSQL 16.2 的 2.6 版`apg_plan_mgmt`擴充功能改進包括下列項目：

**新功能**
+ QPM 可以強制執行具有彙總運算子的計劃。

**其他改善項目和增強功能**
+ 修正捨棄資料庫並未從共用記憶體移除相關聯擷取計劃的問題。
+ 修正了強制執行包含檢視的計劃的問題。
+ 改善平行附加計畫強制執行。
+ 修正與計劃擷取相關的問題。
+ 修正了強制執行包含收集節點的計劃的問題。

### 適用於 Aurora PostgreSQL 16.1 的 apg\_plan\_mgmt 2.6 版
<a name="auroraqpm-version16-161"></a>

Aurora PostgreSQL 16.1 的 2.6 版`apg_plan_mgmt`擴充功能改進包括下列項目：

**新功能**
+ 計畫大綱將更新為最新的格式版本，這是 `apg_plan_mgmt.validate_plans` 函數的 `update_plan_hash` 動作的一部分。
+ 新增了平行附加強制執行的支援，這是平行查詢強制執行的一部分。若要正確強制執行平行附加節點，您必須執行下列動作：

  1. 將 `apg_plan_mgmt.plan_hash_version` 設定為 5。

  1. 呼叫 `apg_plan_mgmt.validate_plans('update_plan_hash')`。

**其他改善項目和增強功能**
+ 計畫雜湊計算的效能改進。
+ 增強了包含重複性子計畫之計畫大綱的記憶體使用率。
+ 已修正平行查詢強制執行中 `GatherMerge` 無法強制執行的問題。
+ 已修正強制執行計畫的預估成本不正確的問題。
+ 已修正強制執行大綱包含分割資料表和子計畫之已核准計畫的問題。

## PostgreSQL 15 版
<a name="auroraqpm-version15"></a>

**Topics**
+ [apg\_plan\_mgmt 2.9 版，適用於 Aurora PostgreSQL 15.17，2026 年 4 月 6 日](#auroraqpm-version15-1517)
+ [apg\_plan\_mgmt 2.9 版，適用於 Aurora PostgreSQL 15.15，2025 年 12 月 18 日](#auroraqpm-version15-1515)
+ [apg\_plan\_mgmt 2.9 版，適用於 Aurora PostgreSQL 15.13，2025 年 6 月 30 日](#auroraqpm-version15-1513)
+ [apg\_plan\_mgmt 2.8 版，適用於 Aurora PostgreSQL 15.12，2025 年 4 月 8 日](#auroraqpm-version15-1512)
+ [apg\_plan\_mgmt 2.7 版，適用於 Aurora PostgreSQL 15.10，2024 年 12 月 27 日](#auroraqpm-version15-1510)
+ [apg\_plan\_mgmt 2.7 版，適用於 Aurora PostgreSQL 15.8，2024 年 9 月 30 日](#auroraqpm-version15-158)
+ [apg\_plan\_mgmt 2.7 版，適用於 Aurora PostgreSQL 15.7，2024 年 8 月 8 日](#auroraqpm-version15-157)
+ [適用於 Aurora PostgreSQL 15.6 的 apg\_plan\_mgmt 2.6 版](#auroraqpm-version15-156)
+ [適用於 Aurora PostgreSQL 15.5 的 apg\_plan\_mgmt 2.6 版](#auroraqpm-version15-155)
+ [適用於 Aurora PostgreSQL 15.4 的 apg\_plan\_mgmt 2.5 版](#auroraqpm-version15-154)
+ [適用於 Aurora PostgreSQL 15.3 的 apg\_plan\_mgmt 2.4 版](#auroraqpm-version15-153)

### apg\_plan\_mgmt 2.9 版，適用於 Aurora PostgreSQL 15.17，2026 年 4 月 6 日
<a name="auroraqpm-version15-1517"></a>

Aurora PostgreSQL 15.17 的 2.9 版`apg_plan_mgmt`擴充功能改進包括下列項目：

**擴充功能改善項目**
+ 修正查詢計畫管理中導致計畫無法擷取的問題。

### apg\_plan\_mgmt 2.9 版，適用於 Aurora PostgreSQL 15.15，2025 年 12 月 18 日
<a name="auroraqpm-version15-1515"></a>

Aurora PostgreSQL 15.15 的 2.9 版`apg_plan_mgmt`擴充功能改進包括下列項目：

**擴充功能改善項目**
+ 在查詢計畫管理中新增了改進，以自動擷取從先前版本存放的參數清單。

### apg\_plan\_mgmt 2.9 版，適用於 Aurora PostgreSQL 15.13，2025 年 6 月 30 日
<a name="auroraqpm-version15-1513"></a>

Aurora PostgreSQL 15.13 的 2.9 版`apg_plan_mgmt`擴充功能改進包括下列項目：

**其他改善項目和增強功能**
+ 修正當 BitmapOr/BitmapAnd 運算子存在時，執行平行 Bitmap 掃描的查詢計劃管理問題。 BitmapAnd 
+ 已修正查詢計畫管理中強制執行多個資料表分割區加入一個資料表分割區的計畫的問題。
+ 修正在單一資料表分割區上強制執行附加節點的查詢計畫管理問題。
+ 查詢計畫管理中`apg_plan_mgmt`的角色會保留，使用者無法再建立、變更或捨棄。
+ 修正處理查詢計畫管理先前版本之參數清單的問題。

### apg\_plan\_mgmt 2.8 版，適用於 Aurora PostgreSQL 15.12，2025 年 4 月 8 日
<a name="auroraqpm-version15-1512"></a>

Aurora PostgreSQL 15.12 的 2.8 版`apg_plan_mgmt`擴充功能改進包括下列項目：

**其他改善項目和增強功能**
+ 已修正在查詢`dba_plans`檢視或查詢計畫管理中呼叫 `validate_plans`和 `evolve_plan_baselines`函數時，導致錯誤或重新啟動的參數清單問題。
+ 修正透過查詢計畫管理中關聯式任何轉換最佳化的計畫強制執行問題。
+ 修正在安裝擴充功能或重設共用記憶體後立即執行公用程式陳述式的查詢計劃管理問題。
+ 已修正在查詢計畫管理中呼叫不可變函數之查詢的強制執行、驗證和發展計畫的問題。
+ 修正在查詢計劃管理中強制執行、驗證和發展計劃的問題。

### apg\_plan\_mgmt 2.7 版，適用於 Aurora PostgreSQL 15.10，2024 年 12 月 27 日
<a name="auroraqpm-version15-1510"></a>

Aurora PostgreSQL 15.10 的 2.7 版`apg_plan_mgmt`擴充功能改進包括下列項目：

**其他改善項目和增強功能**
+ 修正查詢計畫管理中在複本上擷取計畫的問題，其中複本中的共用記憶體陣列會變滿。
+ 已修正查詢計畫管理背景工作者導致計畫保留期間未強制執行，且上次使用日期未更新的問題。
+ 已修正與查詢計畫管理背景工作者相關的問題。
+ 修正了強制執行包含點陣圖掃描的查詢計畫管理計畫的問題。
+ 修正查詢計畫管理的問題，其中針對具有多個查詢的函數或程序錯誤擷取計畫。
+ 修正在查詢計畫管理中擷取巢狀查詢執行計畫的問題。
+ 已修正使用延伸查詢通訊協定在查詢計劃管理中擷取計劃的問題。

### apg\_plan\_mgmt 2.7 版，適用於 Aurora PostgreSQL 15.8，2024 年 9 月 30 日
<a name="auroraqpm-version15-158"></a>

Aurora PostgreSQL 15.8 的 2.7 版`apg_plan_mgmt`擴充功能改進包括下列項目：

**其他改善項目和增強功能**
+ 已修正執行包含雜湊彙總的查詢計畫管理計畫的問題。

### apg\_plan\_mgmt 2.7 版，適用於 Aurora PostgreSQL 15.7，2024 年 8 月 8 日
<a name="auroraqpm-version15-157"></a>

Aurora PostgreSQL 15.7 的 2.7 版`apg_plan_mgmt`擴充功能改進包括下列項目：

**新功能**
+ 您不再需要更新 `plan_hash_version`。升級資料庫引擎後，QPM 會自動啟用新功能。您不需要採取任何動作即可使用新功能。

**其他改善項目和增強功能**
+ 修正強制執行包含超過 64 個分割資料表的 QPM 計劃的問題。
+ 修正了強制執行包含附加運算子的 QPM 計劃的問題。
+ 修正具有 update\_plan\_hash 動作的 QPM validate\_plans 問題。

### 適用於 Aurora PostgreSQL 15.6 的 apg\_plan\_mgmt 2.6 版
<a name="auroraqpm-version15-156"></a>

2.6 版中 Aurora PostgreSQL 15.6 `apg_plan_mgmt`擴充功能的改進包括下列項目：

**新功能**
+ QPM 可以強制執行具有彙總運算子的計劃。

**其他改善項目和增強功能**
+ 修正捨棄資料庫並未從共用記憶體移除相關聯擷取計劃的問題。
+ 修正了強制執行包含檢視的計劃的問題。
+ 改善平行附加計畫強制執行。
+ 修正與計劃擷取相關的問題。
+ 修正了強制執行包含收集節點的計劃的問題。

### 適用於 Aurora PostgreSQL 15.5 的 apg\_plan\_mgmt 2.6 版
<a name="auroraqpm-version15-155"></a>

Aurora PostgreSQL 15.5 的 2.6 版`apg_plan_mgmt`擴充功能改進包括下列項目：

**新功能**
+ 計畫大綱將更新為最新的格式版本，這是 `apg_plan_mgmt.validate_plans` 函數的 `update_plan_hash` 動作的一部分。
+ 新增了平行附加強制執行的支援，這是平行查詢強制執行的一部分。若要正確強制執行平行附加節點，您必須執行下列動作：

  1. 將 `apg_plan_mgmt.plan_hash_version` 設定為 5。

  1. 呼叫 `apg_plan_mgmt.validate_plans('update_plan_hash')`。

**其他改善項目和增強功能**
+ 計畫雜湊計算的效能改進。
+ 增強了包含重複性子計畫之計畫大綱的記憶體使用率。
+ 已修正平行查詢強制執行中 `GatherMerge` 無法強制執行的問題。
+ 已修正強制執行計畫的預估成本不正確的問題。
+ 已修正強制執行大綱包含分割資料表和子計畫之已核准計畫的問題。

### 適用於 Aurora PostgreSQL 15.4 的 apg\_plan\_mgmt 2.5 版
<a name="auroraqpm-version15-154"></a>

Aurora PostgreSQL 15.4 的 2.5 版`apg_plan_mgmt`擴充功能改進包括下列項目：

**新功能**
+ QPM 可以強制查詢計畫包含平行運算子，但平行附加節點除外。若要正確強制執行平行查詢計畫，您必須在升級至 15.4 或 14.9 之後執行下列操作：
  + 將 `apg_plan_mgmt.plan_hash_version` 設定為 4 或以上。
  + 呼叫 `apg_plan_mgmt.validate_plans('update_plan_hash')`。
  + 重新擷取在 plan\_outline 中有收集節點的已核准計畫。
+ QPM 可以對具體化節點強制執行查詢計畫。若要強制執行具體化節點，您必須在升級至 15.4 或 14.9 之後執行下列操作：
  + 將 `apg_plan_mgmt.plan_hash_version` 設定為 4 或以上。
  + 呼叫 `apg_plan_mgmt.validate_plans('update_plan_hash')`。
+ 若要從複本擷取查詢計畫，您必須呼叫 ALTER EXTENSION apg\_plan\_mgmt UPDATE 來更新 `apg_plan_mgmt` 延伸模組。
+ 您必須指定 `apg_plan_mgmt.plan_capture_threshold`，才能不允許 QPM 擷取任何查詢計畫。

**其他改善項目和增強功能**
+ `plan_hash` 計算的效能提升。

### 適用於 Aurora PostgreSQL 15.3 的 apg\_plan\_mgmt 2.4 版
<a name="auroraqpm-version15-153"></a>

Aurora PostgreSQL 15.3 的 2.4 版`apg_plan_mgmt`擴充功能改進包括下列項目：

**新功能**
+ 導入了新的 GUC auto\_explain.hashes。當它設定為 true (預設值：false) 時，sql\_hash 和 plan\_hash 會在 auto explain 結果的結尾顯示。
+ 導入了新的 GUC apg\_plan\_mgmt.explain\_hashes。當它設定為 true (預設值：false) 時，即使沒有雜湊 true 選項，EXPLAIN 結果仍會顯示 sql\_hash 和 plan\_hash。
+ 導入了新的 GUC apg\_plan\_mgmt.log\_plan\_enforcement\_result。根據其值 (預設值：無) 而定，計畫強制執行的結果會寫入 Postgres 日誌檔案。
+ 導入了新的計畫雜湊計算版本，以支援分割資料表。使用者需要將 apg\_plan\_mgmt.plan\_hash\_version 設定為 3，並在已安裝 `apg_plan_mgmt` 且計畫資料表中包含項目的每一個資料庫中呼叫 apg\_plan\_mgmt.validate\_plans('update\_plan\_hash')。
+ QPM 可以對記憶節點強制執行查詢計畫。
+  `apg_plan_mgmt.copy_outline` 函數可以採用新的第 5 個參數 `force_update_target_plan_hash`。如果設定為 true，即使來源計畫無法針對目標 sql\_hash 重現，目標計畫雜湊仍會更新。

**其他改善項目和增強功能**
+ 已修正 JDBC 預備陳述式計畫強制執行的問題。
+ 已改進 pg\_stat\_statements 和 apg\_plan\_mgmt.dba\_plans 之間有關 queryid 的同位檢查。
+ 已修正索引名稱結尾為數字時的計畫強制執行問題。
+  apg\_plan\_mgmt.copy\_outline 函數現在會複製 environment\_variables。
+  apg\_plan\_mgmt.plan\_retention\_period 的最小值從 32 變更為 1。
+  查詢計畫管理現在可以針對來自寫入器節點的唯讀交易中的查詢儲存計畫。
+  已修正 apg\_plan\_mgmt.evolve\_plan\_baselines 函數中的問題。
+  已修正 apg\_plan\_mgmt 啟用時會導致無法使用的問題。

若要了解如何安裝、升級和使用 `apg_plan_mgmt` 延伸模組，請參閱《Amazon Aurora 使用者指南》**中的[管理 Aurora PostgreSQL 的查詢執行計畫](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraPostgreSQL.Optimize.html)。

## PostgreSQL 14 版
<a name="auroraqpm-version14"></a>

**Topics**
+ [apg\_plan\_mgmt 2.9 版，適用於 Aurora PostgreSQL 14.22，2026 年 4 月 6 日](#auroraqpm-version14-1422)
+ [apg\_plan\_mgmt 2.9 版，適用於 Aurora PostgreSQL 14.20，2025 年 12 月 18 日](#auroraqpm-version14-1420)
+ [apg\_plan\_mgmt 2.9 版，適用於 Aurora PostgreSQL 14.18，2025 年 6 月 30 日](#auroraqpm-version14-1418)
+ [apg\_plan\_mgmt 2.8 版，適用於 Aurora PostgreSQL 14.17，2025 年 4 月 8 日](#auroraqpm-version14-1417)
+ [apg\_plan\_mgmt 2.7 版，適用於 Aurora PostgreSQL 14.15，2024 年 12 月 27 日](#auroraqpm-version14-1415)
+ [apg\_plan\_mgmt 2.7 版，適用於 Aurora PostgreSQL 14.12，2024 年 8 月 8 日](#auroraqpm-version14-1412)
+ [適用於 Aurora PostgreSQL 14.11 的 apg\_plan\_mgmt 2.6 版](#auroraqpm-version14-1411)
+ [適用於 Aurora PostgreSQL 14.10 的 apg\_plan\_mgmt 2.6 版](#auroraqpm-version14-1410)
+ [適用於 Aurora PostgreSQL 14.9 的 apg\_plan\_mgmt 2.5 版](#auroraqpm-version14-149)
+ [適用於 Aurora PostgreSQL 14.8 的 apg\_plan\_mgmt 2.4 版](#auroraqpm-version14-148)

### apg\_plan\_mgmt 2.9 版，適用於 Aurora PostgreSQL 14.22，2026 年 4 月 6 日
<a name="auroraqpm-version14-1422"></a>

Aurora PostgreSQL 14.22 的 2.9 版`apg_plan_mgmt`擴充功能改進包括下列項目：

**擴充功能改善項目**
+ 修正查詢計畫管理中導致計畫無法擷取的問題。

### apg\_plan\_mgmt 2.9 版，適用於 Aurora PostgreSQL 14.20，2025 年 12 月 18 日
<a name="auroraqpm-version14-1420"></a>

Aurora PostgreSQL 14.20 的 2.9 版`apg_plan_mgmt`擴充功能改進包括下列項目：

**擴充功能改善項目**
+ 在查詢計畫管理中新增了改進，以自動重新擷取從先前版本存放的參數清單。

### apg\_plan\_mgmt 2.9 版，適用於 Aurora PostgreSQL 14.18，2025 年 6 月 30 日
<a name="auroraqpm-version14-1418"></a>

Aurora PostgreSQL 14.18 的 2.9 版`apg_plan_mgmt`擴充功能改進包括下列項目：

**其他改善項目和增強功能**
+ 修正當 BitmapOr/BitmapAnd 運算子存在時，執行平行 Bitmap 掃描的查詢計劃管理問題。 BitmapAnd 
+ 已修正查詢計畫管理中強制執行多個資料表分割區加入一個資料表分割區的計畫的問題。
+ 修正在單一資料表分割區上強制執行附加節點的查詢計畫管理問題。
+ 查詢計畫管理中`apg_plan_mgmt`的角色會保留，使用者無法再建立、變更或捨棄。
+ 修正處理查詢計畫管理先前版本之參數清單的問題。

### apg\_plan\_mgmt 2.8 版，適用於 Aurora PostgreSQL 14.17，2025 年 4 月 8 日
<a name="auroraqpm-version14-1417"></a>

Aurora PostgreSQL 14.17 的 2.8 版`apg_plan_mgmt`擴充功能改進包括下列項目：

**其他改善項目和增強功能**
+ 已修正在查詢`dba_plans`檢視或查詢計畫管理中呼叫 `validate_plans`和 `evolve_plan_baselines`函數時，導致錯誤或重新啟動的參數清單問題。
+ 修正透過查詢計畫管理中關聯式任何轉換最佳化的計畫強制執行問題。
+ 修正在安裝擴充功能或重設共用記憶體後立即執行公用程式陳述式的查詢計劃管理問題。
+ 已修正在查詢計畫管理中呼叫不可變函數之查詢的強制執行、驗證和發展計畫的問題。
+ 修正在查詢計劃管理中強制執行、驗證和發展計劃的問題。

### apg\_plan\_mgmt 2.7 版，適用於 Aurora PostgreSQL 14.15，2024 年 12 月 27 日
<a name="auroraqpm-version14-1415"></a>

Aurora PostgreSQL 14.15 的 2.7 版`apg_plan_mgmt`擴充功能改進包括下列項目：

**其他改善項目和增強功能**
+ 修正查詢計畫管理中在複本上擷取計畫的問題，其中複本中的共用記憶體陣列會變滿。
+ 已修正查詢計畫管理背景工作者導致計畫保留期間未強制執行，且上次使用日期未更新的問題。
+ 已修正與查詢計畫管理背景工作者相關的問題。
+ 修正了強制執行包含點陣圖掃描的查詢計畫管理計畫的問題。
+ 修正查詢計畫管理的問題，其中針對具有多個查詢的函數或程序錯誤擷取計畫。
+ 修正在查詢計畫管理中擷取巢狀查詢執行計畫的問題。
+ 已修正使用延伸查詢通訊協定在查詢計劃管理中擷取計劃的問題。

### apg\_plan\_mgmt 2.7 版，適用於 Aurora PostgreSQL 14.12，2024 年 8 月 8 日
<a name="auroraqpm-version14-1412"></a>

Aurora PostgreSQL 14.12 的 2.7 版`apg_plan_mgmt`擴充功能改進包括下列項目：

**新功能**
+ 您不再需要更新 `plan_hash_version`。升級資料庫引擎後，QPM 會自動啟用新功能。您不需要採取任何動作即可使用新功能。

**其他改善項目和增強功能**
+ 修正強制執行包含超過 64 個分割資料表的 QPM 計劃的問題。
+ 修正了強制執行包含附加運算子的 QPM 計劃的問題。
+ 修正具有 update\_plan\_hash 動作的 QPM validate\_plans 問題。

### 適用於 Aurora PostgreSQL 14.11 的 apg\_plan\_mgmt 2.6 版
<a name="auroraqpm-version14-1411"></a>

Aurora PostgreSQL 14.11 的 2.6 版`apg_plan_mgmt`擴充功能改進包括下列項目：

**新功能**
+ QPM 可以強制執行具有彙總運算子的計劃。

**其他改善項目和增強功能**
+ 修正捨棄資料庫並未從共用記憶體移除相關聯擷取計劃的問題。
+ 修正了強制執行包含檢視的計劃的問題。
+ 改善平行附加計畫強制執行。
+ 修正與計劃擷取相關的問題。
+ 修正了強制執行包含收集節點的計劃的問題。

### 適用於 Aurora PostgreSQL 14.10 的 apg\_plan\_mgmt 2.6 版
<a name="auroraqpm-version14-1410"></a>

Aurora PostgreSQL 14.10 的 2.6 版`apg_plan_mgmt`擴充功能改進包括下列項目：

**新功能**
+ 計畫大綱將更新為最新的格式版本，這是 `apg_plan_mgmt.validate_plans` 函數的 `update_plan_hash` 動作的一部分。
+ 新增了平行附加強制執行的支援，這是平行查詢強制執行的一部分。若要正確強制執行平行附加節點，您必須執行下列動作：

  1. 將 `apg_plan_mgmt.plan_hash_version` 設定為 5。

  1. 呼叫 `apg_plan_mgmt.validate_plans('update_plan_hash')`。

**其他改善項目和增強功能**
+ 計畫雜湊計算的效能改進。
+ 增強了包含重複性子計畫之計畫大綱的記憶體使用率。
+ 已修正平行查詢強制執行中 `GatherMerge` 無法強制執行的問題。
+ 已修正強制執行計畫的預估成本不正確的問題。
+ 已修正強制執行大綱包含分割資料表和子計畫之已核准計畫的問題。

### 適用於 Aurora PostgreSQL 14.9 的 apg\_plan\_mgmt 2.5 版
<a name="auroraqpm-version14-149"></a>

Aurora PostgreSQL 14.9 的 2.5 版`apg_plan_mgmt`擴充功能改進包括下列項目：

**新功能**
+ QPM 可以強制查詢計畫包含平行運算子，但平行附加節點除外。若要正確強制執行平行查詢計畫，您必須在升級至 15.4 或 14.9 之後執行下列操作：
  + 將 `apg_plan_mgmt.plan_hash_version` 設定為 4 或以上。
  + 呼叫 `apg_plan_mgmt.validate_plans('update_plan_hash')`。
  + 重新擷取在 plan\_outline 中有收集節點的已核准計畫。
+ QPM 可以對具體化節點強制執行查詢計畫。若要強制執行具體化節點，您必須在升級至 15.4 或 14.9 之後執行下列操作：
  + 將 `apg_plan_mgmt.plan_hash_version` 設定為 4 或以上。
  + 呼叫 `apg_plan_mgmt.validate_plans('update_plan_hash')`。
+ 若要從複本擷取查詢計畫，您必須呼叫 ALTER EXTENSION apg\_plan\_mgmt UPDATE 來更新 `apg_plan_mgmt` 延伸模組。
+ 您必須指定 `apg_plan_mgmt.plan_capture_threshold`，才能不允許 QPM 擷取任何查詢計畫。

**其他改善項目和增強功能**
+ `plan_hash` 計算的效能提升。

### 適用於 Aurora PostgreSQL 14.8 的 apg\_plan\_mgmt 2.4 版
<a name="auroraqpm-version14-148"></a>

Aurora PostgreSQL 14.8 的 2.4 版`apg_plan_mgmt`擴充功能改進包括下列項目：

**新功能**
+ 導入了新的 GUC auto\_explain.hashes。當它設定為 true (預設值：false) 時，sql\_hash 和 plan\_hash 會在 auto explain 結果的結尾顯示。
+ 導入了新的 GUC apg\_plan\_mgmt.explain\_hashes。當它設定為 true (預設值：false) 時，即使沒有雜湊 true 選項，EXPLAIN 結果仍會顯示 sql\_hash 和 plan\_hash。
+ 導入了新的 GUC apg\_plan\_mgmt.log\_plan\_enforcement\_result。根據其值 (預設值：無) 而定，計畫強制執行的結果會寫入 Postgres 日誌檔案。
+ 導入了新的計畫雜湊計算版本，以支援分割資料表。使用者需要將 apg\_plan\_mgmt.plan\_hash\_version 設定為 3，並在已安裝 `apg_plan_mgmt` 且計畫資料表中包含項目的每一個資料庫中呼叫 apg\_plan\_mgmt.validate\_plans('update\_plan\_hash')。
+ QPM 可以對記憶節點強制執行查詢計畫。
+  `apg_plan_mgmt.copy_outline` 函數可以採用新的第 5 個參數 `force_update_target_plan_hash`。如果設定為 true，即使來源計畫無法針對目標 sql\_hash 重現，目標計畫雜湊仍會更新。

**其他改善項目和增強功能**
+ 已修正 JDBC 預備陳述式計畫強制執行的問題。
+ 已改進 pg\_stat\_statements 和 apg\_plan\_mgmt.dba\_plans 之間有關 queryid 的同位檢查。
+ 已修正索引名稱結尾為數字時的計畫強制執行問題。
+  apg\_plan\_mgmt.copy\_outline 函數現在會複製 environment\_variables。
+  apg\_plan\_mgmt.plan\_retention\_period 的最小值從 32 變更為 1。
+  查詢計畫管理現在可以針對來自寫入器節點的唯讀交易中的查詢儲存計畫。
+  已修正 apg\_plan\_mgmt.evolve\_plan\_baselines 函數中的問題。
+  已修正 apg\_plan\_mgmt 啟用時會導致無法使用的問題。

若要了解如何安裝、升級和使用 `apg_plan_mgmt` 延伸模組，請參閱《Amazon Aurora 使用者指南》**中的[管理 Aurora PostgreSQL 的查詢執行計畫](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraPostgreSQL.Optimize.html)。

## PostgreSQL 13 版
<a name="auroraqpm-version13"></a>

**Topics**
+ [apg\_plan\_mgmt 2.9 版，適用於 Aurora PostgreSQL 13.23，2025 年 12 月 18 日](#auroraqpm-version13-1323)
+ [apg\_plan\_mgmt 2.9 版，適用於 Aurora PostgreSQL 13.21，2025 年 6 月 30 日](#auroraqpm-version13-1321)
+ [apg\_plan\_mgmt 2.8 版，適用於 Aurora PostgreSQL 13.20，2025 年 4 月 8 日](#auroraqpm-version13-1320)
+ [apg\_plan\_mgmt 2.7 版，適用於 Aurora PostgreSQL 13.18，2024 年 12 月 27 日](#auroraqpm-version13-1318)
+ [apg\_plan\_mgmt 2.7 版，適用於 Aurora PostgreSQL 13.15，2024 年 8 月 8 日](#auroraqpm-version13-1315)
+ [適用於 Aurora PostgreSQL 13.14 的 apg\_plan\_mgmt 2.6 版](#auroraqpm-version13-1314)
+ [適用於 Aurora PostgreSQL 13.13 的 apg\_plan\_mgmt 2.6 版](#auroraqpm-version13-1313)
+ [適用於 Aurora PostgreSQL 13.12 的 apg\_plan\_mgmt 2.5 版](#auroraqpm-version13-1312)
+ [Aurora PostgreSQL 13.11 的 apg\_plan\_mgmt 2.4 版](#auroraqpm-version13-1311)

### apg\_plan\_mgmt 2.9 版，適用於 Aurora PostgreSQL 13.23，2025 年 12 月 18 日
<a name="auroraqpm-version13-1323"></a>

Aurora PostgreSQL 13.23 的 2.9 版`apg_plan_mgmt`擴充功能改進包括下列項目：

**擴充功能改善項目**
+ 在查詢計畫管理中新增了改進，以自動擷取從先前版本存放的參數清單。

### apg\_plan\_mgmt 2.9 版，適用於 Aurora PostgreSQL 13.21，2025 年 6 月 30 日
<a name="auroraqpm-version13-1321"></a>

Aurora PostgreSQL 13.21 的 2.9 版`apg_plan_mgmt`擴充功能改進包括下列項目：

**其他改善項目和增強功能**
+ 修正當 BitmapOr/BitmapAnd 運算子存在時，執行平行 Bitmap 掃描的查詢計劃管理問題。 BitmapAnd 
+ 已修正查詢計畫管理中強制執行多個資料表分割區加入一個資料表分割區的計畫的問題。
+ 修正在單一資料表分割區上強制執行附加節點的查詢計畫管理問題。
+ 查詢計畫管理中`apg_plan_mgmt`的角色已保留，使用者無法再建立、變更或捨棄。
+ 修正處理查詢計畫管理先前版本之參數清單的問題。

### apg\_plan\_mgmt 2.8 版，適用於 Aurora PostgreSQL 13.20，2025 年 4 月 8 日
<a name="auroraqpm-version13-1320"></a>

Aurora PostgreSQL 13.20 的 2.8 版`apg_plan_mgmt`擴充功能改進包括下列項目：

**其他改善項目和增強功能**
+ 修正在查詢`dba_plans`檢視或呼叫查詢計畫管理中的 `validate_plans`和 `evolve_plan_baselines`函數時，導致錯誤或重新啟動的參數清單問題。
+ 修正透過查詢計畫管理中關聯式任何轉換最佳化的計畫強制執行問題。
+ 修正在安裝擴充功能或重設共用記憶體後立即執行公用程式陳述式的查詢計劃管理問題。
+ 已修正在查詢計畫管理中呼叫不可變函數之查詢的強制執行、驗證和發展計畫的問題。
+ 修正在查詢計劃管理中強制執行、驗證和發展計劃的問題。

### apg\_plan\_mgmt 2.7 版，適用於 Aurora PostgreSQL 13.18，2024 年 12 月 27 日
<a name="auroraqpm-version13-1318"></a>

針對 Aurora PostgreSQL 13.18 的 2.7 版`apg_plan_mgmt`擴充功能改進如下：

**其他改善項目和增強功能**
+ 修正查詢計畫管理中在複本上擷取計畫的問題，其中複本中的共用記憶體陣列會變滿。
+ 修正查詢計畫管理背景工作者導致計畫保留期間未強制執行且上次使用日期未更新的問題。
+ 修正與查詢計畫管理背景工作者相關的問題。
+ 修正了強制執行包含點陣圖掃描的查詢計畫管理計畫的問題。
+ 修正查詢計畫管理的問題，其中針對具有多個查詢的函數或程序錯誤擷取計畫。
+ 修正在查詢計畫管理中擷取巢狀查詢執行計畫的問題。
+ 已修正使用延伸查詢通訊協定在查詢計劃管理中擷取計劃的問題。

### apg\_plan\_mgmt 2.7 版，適用於 Aurora PostgreSQL 13.15，2024 年 8 月 8 日
<a name="auroraqpm-version13-1315"></a>

Aurora PostgreSQL 13.15 的 2.7 版`apg_plan_mgmt`擴充功能改進包括下列項目：

**新功能**
+ 您不再需要更新 `plan_hash_version`。升級資料庫引擎後，QPM 會自動啟用新功能。您不需要採取任何動作即可使用新功能。

**其他改善項目和增強功能**
+ 修正強制執行包含超過 64 個分割資料表的 QPM 計劃的問題。
+ 修正強制執行包含附加運算子的 QPM 計劃的問題。
+ 修正具有 update\_plan\_hash 動作的 QPM validate\_plans 問題。

### 適用於 Aurora PostgreSQL 13.14 的 apg\_plan\_mgmt 2.6 版
<a name="auroraqpm-version13-1314"></a>

Aurora PostgreSQL 13.14 的 2.6 版`apg_plan_mgmt`擴充功能改進包括下列項目：

**新功能**
+ QPM 可以強制執行具有彙總運算子的計劃。

**其他改善項目和增強功能**
+ 修正捨棄資料庫並未從共用記憶體移除相關聯擷取計劃的問題。
+ 修正了強制執行包含檢視的計劃的問題。
+ 改善平行附加計畫強制執行。
+ 修正與計劃擷取相關的問題。
+ 修正了強制執行包含收集節點的計劃的問題。

### 適用於 Aurora PostgreSQL 13.13 的 apg\_plan\_mgmt 2.6 版
<a name="auroraqpm-version13-1313"></a>

Aurora PostgreSQL 13.13 的 2.6 版`apg_plan_mgmt`擴充功能改進包括下列項目：

**新功能**
+ 計畫大綱將更新為最新的格式版本，這是 `apg_plan_mgmt.validate_plans` 函數的 `update_plan_hash` 動作的一部分。
+ 新增了平行附加強制執行的支援，這是平行查詢強制執行的一部分。若要正確強制執行平行附加節點，您必須執行下列動作：

  1. 將 `apg_plan_mgmt.plan_hash_version` 設定為 5。

  1. 呼叫 `apg_plan_mgmt.validate_plans('update_plan_hash')`。

**其他改善項目和增強功能**
+ 計畫雜湊計算的效能改進。
+ 增強了包含重複性子計畫之計畫大綱的記憶體使用率。
+ 已修正平行查詢強制執行中 `GatherMerge` 無法強制執行的問題。
+ 已修正強制執行計畫的預估成本不正確的問題。
+ 已修正強制執行大綱包含分割資料表和子計畫之已核准計畫的問題。

### 適用於 Aurora PostgreSQL 13.12 的 apg\_plan\_mgmt 2.5 版
<a name="auroraqpm-version13-1312"></a>

Aurora PostgreSQL 13.12 的 2.5 版`apg_plan_mgmt`擴充功能改進包括下列項目：

**新功能**
+ QPM 可以強制查詢計畫包含平行運算子，但平行附加節點除外。若要正確強制執行平行查詢計畫，您必須在升級至 15.4 或 14.9 之後執行下列操作：
  + 將 `apg_plan_mgmt.plan_hash_version` 設定為 4 或以上。
  + 呼叫 `apg_plan_mgmt.validate_plans('update_plan_hash')`。
  + 重新擷取在 plan\_outline 中有收集節點的已核准計畫。
+ 若要從複本擷取查詢計畫，您必須呼叫 ALTER EXTENSION apg\_plan\_mgmt UPDATE 來更新 `apg_plan_mgmt` 延伸模組。
+ 您必須指定 `apg_plan_mgmt.plan_capture_threshold`，才能不允許 QPM 擷取任何查詢計畫。

### Aurora PostgreSQL 13.11 的 apg\_plan\_mgmt 2.4 版
<a name="auroraqpm-version13-1311"></a>

Aurora PostgreSQL 13.11 的 2.4 版`apg_plan_mgmt`擴充功能改進包括下列項目：

**新功能**
+ 導入了新的 GUC auto\_explain.hashes。當它設定為 true (預設值：false) 時，sql\_hash 和 plan\_hash 會在 auto explain 結果的結尾顯示。
+ 導入了新的 GUC apg\_plan\_mgmt.explain\_hashes。當它設定為 true (預設值：false) 時，即使沒有雜湊 true 選項，EXPLAIN 結果仍會顯示 sql\_hash 和 plan\_hash。
+ 導入了新的 GUC apg\_plan\_mgmt.log\_plan\_enforcement\_result。根據其值 (預設值：無) 而定，計畫強制執行的結果會寫入 Postgres 日誌檔案。
+ 導入了新的計畫雜湊計算版本，以支援分割資料表。使用者需要將 apg\_plan\_mgmt.plan\_hash\_version 設定為 3，並在已安裝 `apg_plan_mgmt` 且計畫資料表中包含項目的每一個資料庫中呼叫 apg\_plan\_mgmt.validate\_plans('update\_plan\_hash')。
+  `apg_plan_mgmt.copy_outline` 函數可以採用新的第 5 個參數 `force_update_target_plan_hash`。如果設定為 true，即使來源計畫無法針對目標 sql\_hash 重現，目標計畫雜湊仍會更新。

**其他改善項目和增強功能**
+ 已修正 JDBC 預備陳述式計畫強制執行的問題。
+ 已修正索引名稱結尾為數字時的計畫強制執行問題。
+  apg\_plan\_mgmt.copy\_outline 函數現在會複製 environment\_variables。
+  apg\_plan\_mgmt.plan\_retention\_period 的最小值從 32 變更為 1。
+  查詢計畫管理現在可以針對來自寫入器節點的唯讀交易中的查詢儲存計畫。
+  已修正 apg\_plan\_mgmt.evolve\_plan\_baselines 函數中的問題。
+  已修正 apg\_plan\_mgmt 啟用時會導致無法使用的問題。

若要了解如何安裝、升級和使用 `apg_plan_mgmt` 延伸模組，請參閱《Amazon Aurora 使用者指南》**中的[管理 Aurora PostgreSQL 的查詢執行計畫](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraPostgreSQL.Optimize.html)。

## PostgreSQL 12 版
<a name="auroraqpm-version12"></a>

**Topics**
+ [apg\_plan\_mgmt 2.7 版，適用於 Aurora PostgreSQL 12.22，2024 年 12 月 27 日](#auroraqpm-version12-1222)
+ [apg\_plan\_mgmt 2.7 版，適用於 Aurora PostgreSQL 12.19，2024 年 8 月 8 日](#auroraqpm-version12-1219)
+ [適用於 Aurora PostgreSQL 12.18 的 apg\_plan\_mgmt 2.6 版](#auroraqpm-version12-1218)
+ [適用於 Aurora PostgreSQL 12.17 的 apg\_plan\_mgmt 2.6 版](#auroraqpm-version12-1217)
+ [適用於 Aurora PostgreSQL 12.16 的 apg\_plan\_mgmt 2.5 版](#auroraqpm-version12-1216)

### apg\_plan\_mgmt 2.7 版，適用於 Aurora PostgreSQL 12.22，2024 年 12 月 27 日
<a name="auroraqpm-version12-1222"></a>

Aurora PostgreSQL 12.22 的 2.7 版`apg_plan_mgmt`擴充功能改進包括下列項目：

**其他改善項目和增強功能**
+ 修正查詢計畫管理中在複本上擷取計畫的問題，其中複本中的共用記憶體陣列會變滿。
+ 修正查詢計畫管理背景工作者導致計畫保留期間未強制執行且上次使用日期未更新的問題。
+ 修正與查詢計畫管理背景工作者相關的問題。

### apg\_plan\_mgmt 2.7 版，適用於 Aurora PostgreSQL 12.19，2024 年 8 月 8 日
<a name="auroraqpm-version12-1219"></a>

2.7 版中 Aurora PostgreSQL 12.19 `apg_plan_mgmt`擴充功能的改進包括下列項目：

**新功能**
+ 您不再需要更新 `plan_hash_version`。升級資料庫引擎後，QPM 會自動啟用新功能。您不需要採取任何動作即可使用新功能。

**其他改善項目和增強功能**
+ 修正強制執行包含超過 64 個分割資料表的 QPM 計劃的問題。
+ 修正強制執行包含附加運算子的 QPM 計劃的問題。
+ 修正具有 update\_plan\_hash 動作的 QPM validate\_plans 問題。

### 適用於 Aurora PostgreSQL 12.18 的 apg\_plan\_mgmt 2.6 版
<a name="auroraqpm-version12-1218"></a>

針對 Aurora PostgreSQL 12.18 的 2.6 版`apg_plan_mgmt`擴充功能改進如下：

**其他改善項目和增強功能**
+ 修正與計劃擷取相關的問題。

### 適用於 Aurora PostgreSQL 12.17 的 apg\_plan\_mgmt 2.6 版
<a name="auroraqpm-version12-1217"></a>

Aurora PostgreSQL 12.17 2.6 版中`apg_plan_mgmt`擴充功能的改進包括下列項目：

**新功能**
+ 計畫大綱將更新為最新的格式版本，這是 `apg_plan_mgmt.validate_plans` 函數的 `update_plan_hash` 動作的一部分。

### 適用於 Aurora PostgreSQL 12.16 的 apg\_plan\_mgmt 2.5 版
<a name="auroraqpm-version12-1216"></a>

Aurora PostgreSQL 12.16 的 2.5 版`apg_plan_mgmt`擴充功能改進包括下列項目：

**新功能**
+ 若要從複本擷取查詢計畫，您必須呼叫 ALTER EXTENSION apg\_plan\_mgmt UPDATE 來更新 `apg_plan_mgmt` 延伸模組。
+ 您必須指定 `apg_plan_mgmt.plan_capture_threshold`，才能不允許 QPM 擷取任何查詢計畫。

## Aurora PostgreSQL apg\_plan\_mgmt 延伸模組的 2.3 版
<a name="auroraqpm-version.23"></a>

2.3 版中 `apg_plan_mgmt` 延伸模組的改進功能包括下列各項：

**新擴充功能功能**
+ 支援新函數，即 `apg_plan_mgmt.copy_outline` 函數。此函數可讓您將某一個 SQL 雜湊和計畫雜湊的計畫雜湊和計畫大綱複製到另一個。當您想要將使用提示的計畫複製到其他類似的陳述式，而不需在每一處使用內嵌提示陳述式時，可使用此函數。如果查詢的更新產生無效的計畫，則函數會引發錯誤並復原更新。如需詳細資訊，請參閱《Amazon Aurora 使用者指南》**中的 [Aurora PostgreSQL 查詢計畫管理的函數參考](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraPostgreSQL.Optimize.Functions.html#AuroraPostgreSQL.Optimize.Functions.copy_outline)。

**擴充功能改善項目**
+ 查詢計畫管理功能現在會儲存程序和 DO 區塊內查詢的計畫。對於 2.3 版以前的 `apg_plan_mgmt` 版本，這已是一項限制。

若要了解如何安裝、升級和使用 `apg_plan_mgmt` 延伸模組，請參閱《Amazon Aurora 使用者指南》**中的[管理 Aurora PostgreSQL 的查詢執行計畫](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraPostgreSQL.Optimize.html)。

## Aurora PostgreSQL apg\_plan\_mgmt 延伸模組的 2.1 版
<a name="auroraqpm-version.21"></a>

2.1 版中針對 Aurora PostgreSQL 11.20 的 `apg_plan_mgmt` 延伸模組的改進功能包括下列各項：

**Aurora PostgreSQL 11.20 中新的延伸模組功能**
+ 導入了新的 GUC apg\_plan\_mgmt.log\_plan\_enforcement\_result。根據其值 (預設值：無) 而定，計畫強制執行的結果會寫入 Postgres 日誌檔案。

**Aurora PostgreSQL 11.20 中的延伸模組改進功能**
+ 已修正 JDBC 預備陳述式計畫強制執行的問題。

若要了解如何安裝、升級和使用 `apg_plan_mgmt` 延伸模組，請參閱《Amazon Aurora 使用者指南》**中的[管理 Aurora PostgreSQL 的查詢執行計畫](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraPostgreSQL.Optimize.html)。

## Aurora PostgreSQL apg\_plan\_mgmt extension 的 2.0 版
<a name="auroraqpm-version.20"></a>

2.0 版的 `apg_plan_mgmt` 擴充功能變更包括下列各項：

**新擴充功能功能**

1. 您現在可以管理 SQL 函數中的所有查詢，無論查詢是否具有參數。

1. 您現在可以管理 PL/pgSQL 函數中的所有查詢，無論查詢是否具有參數。

1. 您現在可以管理一般計劃中的查詢，不論查詢是否具有參數。若要進一步了解一般計畫與自訂計畫的相關資訊，請參閱 [PostgreSQL 文件](https://www.postgresql.org/docs/current/sql-prepare.html)中的 `PREPARE` 陳述式。

1. 您現在可以使用查詢計劃管理，強制在查詢計劃中使用特定類型的彙整方法。

**擴充功能改善項目**

1. 您現在可以儲存最多可達 `max_worker_processes` 參數設定 8 KB 倍的計劃。先前的計劃大小上限為 8KB。

1. 已修正未命名的預備陳述式 (例如來自 JDBC 的陳述式) 錯誤。

1. 先前，當您嘗試在未載入 `CREATE EXTENSION apg_plan_mgmt` 的情況下執行 `shared_preload_libraries` 時，中斷了 PostgreSQL 後端連線。現在，錯誤訊息列印出，並且連線未捨棄。

1. 在 `cardinality_error` 中 `apg_plan_mgmt.plans table` 的預設值為「NULL」(無)，但可以在 `apg_plan_mgmt.evolve_plan_baselines` 函數期間將其設定為 -1。現在一致使用「NULL」(無)。

1. 現在已儲存計劃以供參考暫存資料表的查詢使用。

1. 計劃的預設最大數目已從 1000 增加至 10000。

1. 下列 pgss 參數已被取代，因為應該使用自動計劃擷取模式而非這些參數。
   + `apg_plan_mgmt.pgss_min_calls`
   + `apg_plan_mgmt.pgss_min_mean_time_ms`
   + `apg_plan_mgmt.pgss_min_stddev_time_ms`
   + `apg_plan_mgmt.pgss_min_total_time_ms`

## Aurora PostgreSQL apg\_plan\_mgmt 擴充功能 1.0.1 版
<a name="auroraqpm-version.101"></a>

1.0.1 版的 `apg_plan_mgmt` 擴充功能變更包括下列項目：

**新擴充功能功能**

1. 該 `validate_plans` 函數具有稱為 `action` 的新 `update_plan_hash` 值。此動作會更新無法完全複製的計劃的 `plan_hash` ID。該 `update_plan_hash` 值還會透過重寫 SQL 讓您修正計劃。您也可以接著將良好的計劃註冊為原始 SQL 的 `Approved` 計劃。以下是 `update_plan_hash` 動作的使用範例。

   ```
   UPDATE apg_plan_mgmt.plans SET plan_hash = {{new _plan_hash}}, plan_outline = {{good_plan_outline}}
      WHERE sql_hash = {{bad_plan_sql_hash}} AND plan_hash = {{bad_plan_plan_hash}};
   SELECT apg_plan_mgmt.validate_plans({{bad_plan_sql_hash}}, {{bad_plan_plan_hash}}, 'update_plan_hash');
   SELECT apg_plan_mgmt.reload();
   ```

1. 新 `get_explain_stmt` 函數可用來產生指定 SQL 陳述式的 `EXPLAIN` 陳述式文字。其中包含參數 `sql_hash`、`plan_hash` 和 `explain_options`。

   參數 `explain_options` 可以是任何以逗點分隔的有效 `EXPLAIN` 選項清單，如下所示。

   ```
   analyze,verbose,buffers,hashes,format json
   ```

   如果參數 `explain_options` 是 NULL 或空字串，`get_explain_stmt` 函數會產生簡單的 `EXPLAIN` 陳述式。

   若要為工作負載建立 `EXPLAIN` 指令碼或其中的一部份，請使用 `\a`、`\t` 和 `\o` 選項來將輸出重新導向至檔案。例如，您可以使用 `EXPLAIN` 依照 `pg_stat_statements` 順序排序的 PostgreSQL `total_time` 檢視來為排名最高 (前 K 個) 陳述式建立 `DESC` 指令碼。

1. 蒐集平行查詢運算子的精準位置是由費用所決定，且可能會隨著時間稍微變更。若要避免這些差異使得整個計劃失效，即使蒐集運算子移到計劃樹狀圖中的不同位置時，查詢計劃管理仍會立即計算相同的`plan_hash`。

1. 已新增 pl/pgsql 函數中非參數化陳述式的支援。

1. 將 `apg_plan_mgmt` 擴充功能安裝在相同叢集中的多個資料庫，而兩個以上的資料庫同時受到存取時，負荷會降低。同時，此版本會修正此區域中導致計劃無法存放在共用記憶體的錯誤。

**擴充功能改善項目**

1. `evolve_plan_baselines` 函數的改進項目。

   1. `evolve_plan_baselines` 函數現會計算計劃中所有節點的 `cardinality_error` 指標。您可以使用此指標，識別包含很多基數評估錯誤且計劃品質難以預測的任何計劃。`cardinality_error` 值很高的長時間執行陳述式是查詢調校的高優先次序候選人。

   1. `evolve_plan_baselines` 產生的報告現在包含 `sql_hash`、`plan_hash` 和計劃 `status`。

   1. 您現在可以允許 `evolve_plan_baselines` 核准先前的 `Rejected` 計劃。

   1. `speedup_factor` 的 `evolve_plan_baselines` 意義現在隨時與基線計劃相對。例如，值 1.1 現在表示較基線計劃快 10 %。值 0.9 表示較基線計劃慢 10 %。系統會僅使用執行時間 (而非總時間) 來進行比較。

   1. `evolve_plan_baselines` 函數現會以新方式準備快取。此函數會透過執行基線計劃、接著再執行一次基線計劃並執行一次候選計劃來這麼做。`evolve_plan_baselines` 先前會執行兩次候選計劃。此方法會明顯增加執行時間，尤其是較慢的候選計劃。然而，在候選計劃使用基線計劃中未使用的索引時，執行兩次候選計劃會更可靠。

1. 查詢計劃管理不再儲存會參考系統資料表或檢視、暫時資料表或查詢計劃管理自身資料表的計劃。

1. 錯誤修正包含在儲存和修正會導致後端終止的錯誤時立即進行計劃快取。