pg_stat_statements 是 postgresql 的一個擴展,用來統計查詢語句,類似于 mysql 的 慢查詢。
? ?
安裝二進制文件
有些發行版可能沒有附帶這個擴展,則需要用戶自己安裝, 本文演示的發行版均自帶,所以安裝就略過。
? ?
裝載庫
默認情況下,這個擴展是沒有啟用的, 為了要啟用它,需要修改 postgres.conf 配置文件, 增加
? ?
? ?
pg_stat_statements 是該 擴展的名稱, 一般是存放在 $lib 目錄下,此目錄可以使用 命令 pg_config 查看
對于 linux ,它通常位于 /usr/lib/postgresql/9.5/lib/
? ?
對于windows,它通常位于 C:\Program Files\PostgreSQL\9.4\lib
? ?
創建擴展
在配置文件啟用它之后, 重啟 postgreSQL 服務, 登錄到 psql 創建 extension,只有創建擴展之后,它才能被使用。
創建命令是 create extension pg_stat_statements
? ?
使用pg_stat_statements
安裝這個擴展之后,它會創建一個視圖pg_stat_statements
? ?
對 SQL查詢的調研,就是使用此 視圖進行, 例如
? ?
配置和操作
? ?
pg_stat_statements 具有以下幾個配置 參數
參數名稱 | 說明 |
pg_stat_statements.max (integer) | 跟蹤語句的最大數量,也就是該視圖的最大行數,默認是5000 |
pg_stat_statements.track (enum) | 哪些語句將被跟蹤, 可選 top 和 all,top用于追蹤top-level statement(直接由客戶端方發送的),all還會追蹤嵌套的statements(例如在函數中調用的statements),默認是top |
pg_stat_statements.track_utility (boolean) | utility 命令[SELECT, INSERT, UPDATE and DELETE 之外的那些命令]是否被跟蹤,默認是on |
pg_stat_statements.save (boolean) | 服務關機時,是否還保存語句統計,默認是on |
?? | ?? |
? ?
pg_stat_statements 具有以下幾個 函數
函數名 | 說明 |
pg_stat_statements_reset() | 重置 語句統計 |
pg_stat_statements(showtext boolean) | ?? |
?
postgreSQL 統計
技術