On Thu, Apr 23, 2015 at 10:17 AM, Heikki Linnakangas <hlinnaka@iki.fi> wrote:
On 04/23/2015 08:00 PM, Radovan Jablonovsky wrote:
During current encounters with amazon web services - RDS, the DBA does not have access to OS/linux shell of underlying instance. That render some postgresql monitoring technique of process CPU and memory usage, not useful. Even if the AWS provide internal tools/programming interface for monitoring, it could be very useful to have this information provided by postgresql system table(s)/view/functions/api. The information about how much postgresql background/process is using CPU (similar to command top result) and memory. it could be something as simple as adding cpu,memory information fields to pg_stat_activity.
You can write an extension to do that. Of course, Amazon won't let you run your own C extension either (otherwise you could use that to escape into shell), but if you do it well and publish and get it included into standard distributions, they just might pick it up. Unless they don't want you to see that information. If they don't, then they wouldn't let you use the system views either.
In a nutshell, I don't think PostgreSQL should get involved in that...
I have often wanted an SQL function which would expose the back-end's rusage statistics to the front-end. This could support a \timing feature variant to psql that reports more than just wall-clock time.
I don't use RDS, and use shell access and "top" (and "strace" and "gdb") quite enthusiastically, but still it is a pain to correlate any given front-end to any given back-end.