支援的版本:目前 (17) / 16 / 15 / 14 / 13
開發版本:devel
不支援的版本:12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2 / 8.1

19.9. 執行階段統計資訊 #

19.9.1. 累計查詢與索引統計資訊 #

這些參數控制伺服器範圍內的累計統計資訊系統。啟用後,可以透過 pg_statpg_statio 系統檢視系列存取所收集的資料。有關更多資訊,請參閱第 27 章

track_activities (boolean) #

啟用收集每個工作階段目前正在執行的命令的資訊,以及其識別碼和該命令開始執行的時間。 預設情況下,此參數為開啟狀態。 請注意,即使啟用,此資訊也僅對超級使用者、具有 pg_read_all_stats 角色權限的角色以及擁有正在報告的工作階段的使用者(包括屬於他們具有權限的角色的工作階段)可見,因此它不應代表安全風險。 只有超級使用者和具有適當 SET 權限的使用者才能變更此設定。

track_activity_query_size (integer) #

指定保留用於儲存每個活動工作階段目前正在執行的命令文字的記憶體量,用於 pg_stat_activity.query 欄位。 如果未指定單位,則此值被視為位元組。 預設值為 1024 位元組。 此參數只能在伺服器啟動時設定。

track_counts (boolean) #

啟用收集資料庫活動的統計資訊。 預設情況下,此參數為開啟狀態,因為自動回收精靈需要收集的資訊。 只有超級使用者和具有適當 SET 權限的使用者才能變更此設定。

track_io_timing (boolean) #

啟用資料庫 I/O 呼叫的計時。 預設情況下,此參數為關閉狀態,因為它會重複查詢作業系統以取得目前時間,這可能會在某些平台上造成顯著的負擔。 您可以使用 pg_test_timing 工具來測量系統上計時的負擔。 I/O 計時資訊顯示在 pg_stat_databasepg_stat_io 中、當使用 BUFFERS 選項時,在 EXPLAIN 的輸出中、當使用 VERBOSE 選項時,在 VACUUM 的輸出中、由自動回收精靈用於自動回收和自動分析,當設定 log_autovacuum_min_duration 時,以及由 pg_stat_statements 顯示。 只有超級使用者和具有適當 SET 權限的使用者才能變更此設定。

track_wal_io_timing (boolean) #

啟用 WAL I/O 呼叫的計時。 預設情況下,此參數為關閉狀態,因為它會重複查詢作業系統以取得目前時間,這可能會在某些平台上造成顯著的負擔。 您可以使用 pg_test_timing 工具來測量系統上計時的負擔。 I/O 計時資訊顯示在 pg_stat_wal 中。 只有超級使用者和具有適當 SET 權限的使用者才能變更此設定。

track_functions (enum) #

啟用追蹤函數呼叫次數和使用時間。指定 pl 只追蹤程序語言函數,all 也追蹤 SQL 和 C 語言函數。預設值為 none,表示停用函數統計追蹤。只有超級使用者和具有適當 SET 權限的使用者才能變更此設定。

注意

足夠簡單以致於可以 內聯 到呼叫查詢中的 SQL 語言函數,無論此設定為何,都不會被追蹤。

stats_fetch_consistency (enum) #

決定在一個事務中多次存取累積統計資料時的行為。當設定為 none 時,每次存取都會從共享記憶體重新提取計數器。當設定為 cache 時,對一個物件的統計資料的第一次存取會快取這些統計資料,直到事務結束,除非呼叫 pg_stat_clear_snapshot()。當設定為 snapshot 時,第一次統計資料存取會快取目前資料庫中所有可存取的統計資料,直到事務結束,除非呼叫 pg_stat_clear_snapshot()。在事務中變更此參數會捨棄統計資料快照。預設值為 cache

注意

none 最適合用於監控系統。如果值只被存取一次,它是最有效率的。cache 確保重複存取產生相同的值,這對於涉及例如自我聯結的查詢很重要。snapshot 在互動式檢查統計資料時很有用,但具有較高的開銷,特別是當存在許多資料庫物件時。

19.9.2. 統計資料監控 #

compute_query_id (enum) #

啟用查詢識別碼的核心計算。查詢識別碼可以顯示在 pg_stat_activity 檢視中,使用 EXPLAIN,或透過 log_line_prefix 參數配置在日誌中發出。pg_stat_statements 擴充套件也需要計算查詢識別碼。請注意,如果核心查詢識別碼計算方法不可接受,則可以選擇使用外部模組。在這種情況下,必須始終停用核心計算。有效值為 off (始終停用)、on (始終啟用)、auto,它允許諸如 pg_stat_statements 之類的模組自動啟用它,以及 regress,其效果與 auto 相同,只是查詢識別碼不會顯示在 EXPLAIN 輸出中,以便於自動迴歸測試。預設值為 auto

注意

為了確保只計算和顯示一個查詢識別碼,如果已經計算了查詢識別碼,計算查詢識別碼的擴充套件應該拋出錯誤。

log_statement_stats (boolean)
log_parser_stats (boolean)
log_planner_stats (boolean)
log_executor_stats (boolean) #

針對每個查詢,將相應模組的效能統計資料輸出到伺服器日誌。這是一種粗略的效能分析工具,類似於 Unix getrusage() 作業系統工具。log_statement_stats 報告總計的語句統計資料,而其他選項報告每個模組的統計資料。log_statement_stats 不能與任何每個模組的選項一起啟用。所有這些選項預設都是停用的。只有超級使用者和具有適當 SET 權限的使用者才能變更這些設定。

提交更正

如果您在文件中發現任何不正確、與特定功能的經驗不符或需要進一步澄清的地方,請使用此表單來報告文件問題。