2011-04-06 80 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