PostgreSQL 程序引數詳解
阿新 • • 發佈:2018-12-13
- 檢視資料庫正在執行的程序
select * from pg_stat_activity
每個伺服器程序的pg_stat_activity檢視將有一行,顯示與該程序的當前活動相關的資訊。
- 殺死程序
現在我們找出所有連線到資料庫的程序了,那麼如何去殺死那些IDEL的程序從而釋放出連線呢?如果pg的版本是 8.4及以上的,可以很簡單地用下面的語句來殺死所有IDEL程序 :
SELECT pg_terminate_backend(procpid) pg_cancel_backend 只是取消當前某一個程序的查詢操作,但不能釋放資料庫連線 pg_terminate_backend 可以在pg的後臺殺死這個程序,從而釋放出寶貴的連線資源
- 程序引數詳解
Column | Type | 描述 |
---|---|---|
datid | oid | 該後端連線到的資料庫的OID |
datname | name | 該後端連線到的資料庫的名稱 |
pid | integer | 此後端的程序ID |
usesysid | oid | 登入到此後端的使用者的OID |
usename | name | 登入到此後端的使用者的名稱 |
application_name | text | 連線到此後端的應用程式的名稱 |
client_addr | inet | |
client_hostname | text | 已連線客戶端的主機名,由client_addr的反向DNS查詢報告。只有當 啟用log_hostname時,該欄位對於IP連線才是非空的。 |
client_port | integer | 客戶端用於與此後端進行通訊的TCP埠號,如果使用Unix套接字,則為-1 |
backend_start | timestamp | 此過程開始的時間,即客戶端連線到伺服器的時間 |
xact_start | timestamp | 此程序當前事務已啟動的時間;如果沒有事務處於活動狀態,則為null。如果當前查詢是其第一個事務,則此列等於query_start列。 |
query_start | timestamp | 當前活動查詢開始的時間,或者狀態未 處於活動狀態,最後一個查詢開始時的時間 |
state_change | timestamp | 時值狀態 上次更改 |
waiting | boolean | 如果此後端當前正在等待鎖定,則為真 |
query | text | 此後端的最新查詢的文字。如果 state 處於活動狀態,則此欄位顯示當前正在執行的查詢 在所有其他狀態下,它顯示最後執行的查詢。 |
state | text | 當前這個後端的整體狀態。可能的值是:active:後端正在執行查詢。idle:後端正在等待新的客戶端命令。idle in transaction:閒置在事務中,後端處於事務中,但當前未執行查詢。idle in transaction (aborted):與idle in transaction類似 ,除了事務中的某個語句導致錯誤。fastpath function call:快速路徑函式呼叫,後端正在執行快速路徑函式。 |