「適用於 PostgreSQL 的 Azure 資料庫彈性伺服器」中的記錄

適用於 PostgreSQL 的 Azure 資料庫 讓你能夠設定並存取 Postgres 的標準日誌。 利用這些日誌來識別、排除故障並修正設定錯誤及效能不佳。 你可以設定並存取錯誤、查詢資訊、自動真空記錄、連線和檢查點的日誌資訊。 (無法存取交易記錄)。

可透過 Postgres 擴充功能 pgaudit 使用稽核記錄功能。 欲了解更多,請參閱 審計概念 文章。

設定記錄

在你的伺服器上使用日誌參數來設定 Postgres 標準日誌。 想了解更多關於 Postgres 日誌參數的資訊,請參閱 Postgres 文件中的 「何時登錄 」與 「什麼日誌」 章節。 你可以在 適用於 PostgreSQL 的 Azure 資料庫 中設定大部分(但不是全部)Postgres 的日誌參數。

若要瞭解如何在適用於 PostgreSQL 的 Azure 資料庫中設定參數,請參閱 入口網站檔CLI 檔

備註

設定大量日誌會增加顯著的效能負擔。 例如,語句記錄會影響效能。

存取記錄

適用於 PostgreSQL 的 Azure 資料庫彈性伺服器會與 Azure 監視器診斷設定整合。 診斷設定可讓您將 JSON 格式的 PostgreSQL 記錄傳送至 Azure 監視器記錄,以進行分析和警示。 您也可以將它們串流至事件中樞,或封存在 Azure 儲存體中。

日誌的存取控制

透過Azure Role-Based 存取控制(RBAC)控制伺服器日誌的存取。 任何提供伺服器讀取權限的角色也會授權下載日誌。 此存取包含內建角色,例如:

  • 讀者
  • 監視讀取器
  • Log Analytics 讀取器
  • 或對等的自訂角色

警告

根據你的日誌設定,日誌可能包含敏感資訊,例如憑證。

資料保留原則和價格

對於傳送到事件中心或儲存帳號的日誌,設定保留政策,在一定期間後自動刪除資料。 Log Analytics 成本取決於兩個因素:

  • 資料擷取: 收費是根據被匯入工作區的資料量來計算的。
  • 資料保存:儲存在您的 Log Analytics 工作區中的日誌在前 31 天內會免費提供。 在此免費保留期之後,將收取儲存資料的費用,根據每月保留的資料量(以 GB 為單位)按每日比例計算。

如需與資料擷取和保留相關聯的成本明細,請流覽 Azure 監視器定價頁面

記錄格式

下列資料表描述 PostgreSQLLogs 類型的欄位。 根據您選擇的輸出端點,包含的欄位及其顯示順序可能會有所不同。

欄位 說明
租戶識別碼 (TenantId) 您的租用戶識別碼
SourceSystem Azure
生成時間 [UTC] 以 UTC 記錄記錄時的時間戳記
類型 記錄的類型。 一律為 AzureDiagnostics
SubscriptionId (訂閱識別碼) 伺服器所屬訂用帳戶的 GUID
資源組 伺服器所屬資源群組的名稱
資源提供者 資源提供者名稱。 一律為 MICROSOFT.DBFORPOSTGRESQL
資源類型 FlexibleServers
資源識別碼 (ResourceId) 資源 URI
Resource 伺服器的名稱
類別 PostgreSQLLogs
作業名稱 LogEvent
errorLevel_s 記錄層級,範例:LOG、ERROR、NOTICE
processId_d PostgreSQL 後端的流程識別碼
sqlerrcode_s 遵循 SQL 標準 SQLSTATE 程式碼慣例的 PostgreSQL 錯誤碼
Message 主要記錄訊息
詳細資料 次要記錄訊息 (如果適用)
ColumnName 資料行的名稱 (如果適用)
SchemaName 結構描述的名稱 (如果適用)
DatatypeName 資料類型的名稱 (如果適用)
_ResourceId (資源識別碼) 資源 URI

已知的限制

  • 日誌事件大小:Azure 監視器 日誌無法捕捉查詢計畫或超過 65 KB 的日誌訊息。 這個限制適用於整個 Azure 監視器。 因此,複雜的查詢 (例如,涉及巢狀檢視的查詢) 可能會在伺服器日誌中產生不完整或遺漏的查詢計劃輸出。
  • 其他條件約束:其他全平臺限制適用於 Azure 監視器記錄,例如警示規則配額和查詢結果大小。 完整清單請參閱 Azure 監視器 服務限制文件。