1. 程式人生 > >PostgreSQL 程序引數詳解

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:快速路徑函式呼叫,後端正在執行快速路徑函式。