PostgreSQL 進程參數詳解

  • 查看數據庫正在執行的進程
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:快速路徑函數調用,後端正在執行快速路徑函數。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章