共用方式為


使用適用於 PostgreSQL 的 Azure 資料庫中的疑難排解指南

在本文中,您將了解如何從 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

附註

請注意,如果您最近啟用了診斷設定、查詢存放區、增強型計量或伺服器參數,可能需要一些時間來填入資料。 此外,如果在特定時間範圍內資料庫沒有任何活動,圖表可能會顯示為空白。 在這種情況下,請嘗試變更時間範圍以擷取相關資料。 請耐心等候,讓系統收集和顯示必要資料,再繼續進行疑難排解作業。

使用疑難排解指南

若要使用疑難排解指南,請遵循下列步驟:

  1. 開啟 Azure 入口網站,尋找您想要檢查的適用於 PostgreSQL 的 Azure 資料庫彈性伺服器執行個體。

  2. 從左側功能表的 [監視] 區段底下,選取 [疑難排解指南]

  3. 瀏覽至頁面頂端,您可以在其中找到一系列索引標籤,每個索引標籤都代表您可能想要解決的六個問題之一。 按一下相關索引標籤。

    螢幕擷取畫面:疑難排解指南的表格式檢視。

  4. 選取您想要分析的時間範圍。

    螢幕擷取畫面:時間範圍選擇器。

  5. 遵循指南所提供的逐步指示。 請密切留意疑難排解步驟內所繪製的圖表和資料視覺效果,因為這些資訊可協助您識別任何不準確之處或異常狀況。 使用這項資訊,可有效診斷並解決當前的問題。

擷取查詢存放區所收集之查詢的文字

基於隱私權考量,查詢文字和使用者名稱等特定資訊可能不會顯示在 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;

螢幕擷取畫面:擷取使用者名稱。