2011-04-06 86 views
2

想要查找PostgreSQL存儲的更多連接信息。postgres爲連接存儲什麼信息

我確實發現這些查詢:

SELECT datname, numbackends 
FROM pg_stat_database 
WHERE numbackends > 0 
ORDER BY numbackends DESC, datname 

SELECT datname, COUNT(*) AS numbackends 
FROM pg_stat_activity 
GROUP BY datname HAVING COUNT(*) > 0 

但我期待找出腳本(S)或IP的連接都必須或PostgreSQL的當前連接,還有什麼抓住了這一信息?

注:啓用日誌記錄是不是我要找的解決方案,更多的是在飛行報告,我可以通過腳本或IP過濾器連接到數據庫

的Postgres版本7.4

+0

任何原因您仍然在7.4? – Kuberchaun 2011-04-06 14:37:40

+1

是的,這不是我的選擇,誰想要這個僱用我 – 2011-04-06 14:39:57

回答

2

的連接客戶端的IP地址也記錄在pg_stat_activity中,就像當前正在運行的語句(如果有)

SELECT usename, 
     application_name, -- only valid for 9.x 
     client_addr, 
     backend_start, 
     query_start, 
     current_query 
FROM pg_stat_activity 
+0

Sry忘了提及Postgres版本7.4運行SELECT * FROM pg_stat_activity LIMIT 1只返回這兩個字段query_start和current_query從您的列表 – 2011-04-06 14:29:02

+1

@Phill Pafford:你應該立即升級到支持的Postgres版本。 7.x已經被支持一段時間了。最後支持的版本是8.2。 – 2011-04-06 15:10:03

+0

很想去,但這不是我的選擇 – 2011-04-06 16:50:02