在本文中,您將了解如何從 Azure 入口網站使用適用於 PostgreSQL 的 Azure 資料庫彈性伺服器的疑難排解指南。 若要深入了解疑難排解指南,請參閱概觀。
先決條件
若要有效地針對特定問題進行疑難排解,您必須確定您已具備所有必要的資料。 每個疑難排解指南都需要一組特定的資料,而這些資料來源於三個不同的功能:診斷設定、查詢存放區和增強型計量。 所有疑難排解指南都需要將記錄傳送至 Log Analytics 工作區,但要擷取的特定記錄類別可能會因特定指南而異。
請遵循 設定和存取記錄 - 適用於 PostgreSQL 的 Azure 資料庫彈性伺服器 中所述的步驟,以設定診斷設定,並將記錄傳送至 Log Analytics 工作區。
查詢存放區和增強型計量是透過伺服器參數設定的。 請遵循 Azure 入口網站或 Azure CLI 版本的適用於 PostgreSQL 的 Azure 資料庫彈性伺服器文章中,針對設定伺服器參數所述的步驟來進行。
下表提供每個疑難排解指南所需的記錄類別資訊,以及必要的查詢存放區、增強型計量和伺服器參數必要條件。
| 疑難排解指南 | 診斷設定記錄類別和計量 | 查詢存放區 | 增強型計量 | 伺服器參數 |
|---|---|---|---|---|
| CPU | PostgreSQL 伺服器記錄 PostgreSQL 伺服器工作階段資料 PostgreSQL 伺服器查詢存放區執行階段 AllMetrics |
pg_qs.query_capture_mode 設定為 TOP 或 ALL | metrics.collector_database_activity | N/A |
| 記憶體 | PostgreSQL 伺服器記錄 PostgreSQL 伺服器工作階段資料 PostgreSQL 伺服器查詢存放區執行階段 |
pg_qs.query_capture_mode 設定為 TOP 或 ALL | metrics.collector_database_activity | N/A |
| IOPS | PostgreSQL 伺服器查詢存放區執行階段 PostgreSQL 伺服器記錄 PostgreSQL 伺服器工作階段資料 PostgreSQL 伺服器查詢存放區等候統計資料 |
pg_qs.query_capture_mode 設定為 TOP 或 ALL pgms_wait_sampling.query_capture_mode 設定為 ALL |
metrics.collector_database_activity | track_io_timing 設定為 ON |
| 暫存檔案 | PostgreSQL 伺服器工作階段資料 PostgreSQL 伺服器查詢存放區執行階段 PostgreSQL 伺服器查詢存放區等候統計資料 |
pg_qs.query_capture_mode 設定為 TOP 或 ALL pgms_wait_sampling.query_capture_mode 設定為 ALL |
metrics.collector_database_activity | N/A |
| 自動資料清理監視 | PostgreSQL 伺服器記錄 PostgreSQL 自動資料清理和結構描述統計資料 PostgreSQL 剩餘交易 |
N/A | N/A | log_autovacuum_min_duration |
| 自動資料清理封鎖程式 | PostgreSQL 伺服器工作階段資料 PostgreSQL 剩餘交易 |
N/A | N/A | N/A |
附註
請注意,如果您最近啟用了診斷設定、查詢存放區、增強型計量或伺服器參數,可能需要一些時間來填入資料。 此外,如果在特定時間範圍內資料庫沒有任何活動,圖表可能會顯示為空白。 在這種情況下,請嘗試變更時間範圍以擷取相關資料。 請耐心等候,讓系統收集和顯示必要資料,再繼續進行疑難排解作業。
使用疑難排解指南
若要使用疑難排解指南,請遵循下列步驟:
開啟 Azure 入口網站,尋找您想要檢查的適用於 PostgreSQL 的 Azure 資料庫彈性伺服器執行個體。
從左側功能表的 [監視] 區段底下,選取 [疑難排解指南]。
瀏覽至頁面頂端,您可以在其中找到一系列索引標籤,每個索引標籤都代表您可能想要解決的六個問題之一。 按一下相關索引標籤。
選取您想要分析的時間範圍。
遵循指南所提供的逐步指示。 請密切留意疑難排解步驟內所繪製的圖表和資料視覺效果,因為這些資訊可協助您識別任何不準確之處或異常狀況。 使用這項資訊,可有效診斷並解決當前的問題。
擷取查詢存放區所收集之查詢的文字
基於隱私權考量,查詢文字和使用者名稱等特定資訊可能不會顯示在 Azure 入口網站內。
若要擷取查詢存放區所收集的這些查詢的文字,您必須登入適用於 PostgreSQL 的 Azure 資料庫彈性伺服器執行個體。
使用您選擇的 PostgreSQL 用戶端,存取查詢存放區的資料存放所在的 azure_sys 資料庫。
連線後,請查詢 query_store.query_texts_view view 以擷取所需的查詢文字。
擷取使用者或角色的名稱
基於隱私權考量,Azure 入口網站會顯示 PostgreSQL 中繼資料的角色識別碼 (pg_catalog),而不是實際的使用者名稱。
若要擷取使用者名稱,您可以查詢 pg_roles 檢視,或在所選 PostgreSQL 用戶端 (例如 Azure Cloud Shell 和 psql 工具) 中使用下面顯示的查詢:
SELECT 'UserID'::regrole;
在下列範例中,您會擷取識別碼為 24776 之使用者或角色的名稱。
SELECT '24776'::regrole;
相關內容
- 為 Azure Database for PostgreSQL 彈性伺服器設定智慧調整。
- 適用於 PostgreSQL 的 Azure 資料庫彈性伺服器的疑難排解指南。
- 適用於 PostgreSQL 的 Azure 資料庫彈性伺服器中的自動資料清理微調 (部分內容可能是機器或 AI 翻譯)。
- 針對適用於 PostgreSQL 的 Azure 資料庫彈性伺服器中的高 IOPS 使用率進行疑難排解。
- 在適用於 PostgreSQL 的 Azure 資料庫彈性伺服器中大量上傳資料的最佳做法。
- 針對適用於 PostgreSQL 的 Azure 資料庫彈性伺服器中的高 CPU 使用率進行疑難排解。
- Azure Database for PostgreSQL 彈性伺服器中的查詢效能分析。