-
Book Overview & Buying
-
Table Of Contents
PostgreSQL 9.0 High Performance
pg_stat_activity provides a way to get a snapshot of what every client on the server is currently doing. Because it includes a process ID, on UNIX-like systems pg_stat_activity is also useful to line up with information collected at the operating system level, by utilities such as top or ps.
The simplest thing to do with this view is to count how many client backends are currently active:
pgbench=# SELECT count(*) FROM pg_stat_activity WHERE NOT procpid=pg_backend_pid(); count ------- 4
As the query itself will normally appear in the results, that's filtered out by looking up its process ID and excluding it. This is a good practice to get into queries against this view. This total gives you an idea how close you are to reaching the server's max_connections at any time, and monitoring a high-water mark for its value is a good practice to let you know when you're likely to exceed it.
You can use pg_stat_activity to see how long a backend...