我想從 Performance Insights 下載 Amazon Aurora PostgreSQL 相容版資料庫執行個體的完整 SQL 文字。
簡短說明
Aurora PostgreSQL 相容版在 Performance Insights 中處理文字的方式與其他引擎類型 (例如 Aurora MySQL 相容版) 不同。根據預設,Performance Insights 儀表板 Top SQL (熱門 SQL) 索引標籤底下的每一列,都會顯示每個 SQL 陳述式的 500 位元組 SQL 文字。當 SQL 陳述式超過 500 位元組時,您可以在 SQL text (SQL 文字) 區段中檢視更多文字。SQL 文字區段中顯示的文字最大長度為 4 KB。如果 SQL 陳述式超過 4096 個字元,則會在 SQL 文字區段中顯示截斷後的版本。不過,您可以從 Top SQL (熱門 SQL) 索引標籤的 SQL 文字區段下載完整的 SQL 文字。
track_activity_query_size 資料庫參數指定了為每個作用中工作階段儲存目前執行中命令文字所保留的記憶體量。這會決定要在 pg_stat_activity 查詢資料行中顯示的最大查詢長度。若要設定 SQL 陳述式的文字限制大小並將該限制儲存於資料庫,請修改 track_activity_query_size 參數。您可以在執行個體或叢集參數群組層級修改此參數。請參閱下列 SQL 陳述式文字限制大小的允許最小值與最大值:
| | |
|---|
| Aurora_Postgres_Version | 最小值 | 最大值 |
| 10.x | 100 | 102400 |
| 11.x | 100 | 102400 |
| 12.x | 100 | 102400 |
| 13.x | 100 | 1048576 |
| 14.x | 100 | 1048576 |
解決方法
您可以使用 Aurora 和 Amazon Relational Database Service (Amazon RDS) 主控台 從 Performance Insights 下載完整的 SQL 文字。如果完整的 SQL 文字大小超過 track_activity_query_size 的值,請在下載 SQL 文字之前增加 track_activity_query_size 的值。track_activity_query_size 參數為靜態,因此您在變更其值後必須重新啟動叢集。
例如,SQL 文字大小可能設定為 1 MB,而 track_activity_query_size 設定為預設值 4096 位元組。在這種情況下,便無法下載完整的 SQL。當引擎將 SQL 文字傳送到 Performance Insights 時,Aurora 和 RDS 主控台僅會顯示前 4 KB。將 track_activity_query_size 的值增加至 1 MB 或更大,然後下載完整的查詢。在這種情況下,檢視與下載 SQL 文字會傳回不同的位元組數。
在 Performance Insights 儀表板中,您可以透過執行下列步驟來檢視或下載完整的 SQL 文字:
- 開啟 Aurora 和 RDS 主控台。
- 在導覽窗格中,選擇 Performance Insights。
- 選擇您要檢視其 Performance Insights 的資料庫執行個體。
- 從 Top SQL (熱門 SQL) 索引標籤中,選擇您要檢視的 SQL 陳述式。
- 在 SQL text (SQL 文字) 索引標籤下,每個 SQL 陳述式您可以檢視最多 4096 位元組。如果 SQL 陳述式在此限制範圍內,請選擇 Copy (複製) 以複製 SQL。
- 如果 SQL 陳述式大於 4096,則在此檢視中會遭截斷。選擇 Download (下載) 以下載完整的 SQL。
注意: 請確保 track_activity_query_size 參數設定為比您要下載的 SQL 陳述式更大的值。
相關資訊
Viewing Aurora PostgreSQL DB cluster and DB parameters (檢視 Aurora PostgreSQL 資料庫叢集與資料庫參數)
Rebooting an Aurora cluster (Aurora PostgreSQL and Aurora MySQL before version 2.10) (重新啟動 Aurora 叢集 (2.10 版本之前的 Aurora PostgreSQL 和 Aurora MySQL))