Um laufende Tasks auf einer PostgreSQL-DB anzuzeigen eignet sich folgender Query:
SELECT datname,usename,procpid,client_addr,waiting,query_start,current_query FROM pg_stat_activity ;
Dazu muss allerdings in der postgresql.conf folgender Eintrag gesetzt sein:
stats_command_string = true
Ein Neustart der DB ist nicht erforderlich (
pg_ctl reload
reicht) .
Cooles Script von Pfote:
#!/bin/sh # small helper to display nonidle postgres queries # by Andreas Pfotenhauer aka "Pfote" uid=`id -u` if [ $uid == 0 ]; then su postgres -c "watch \"psql -c \\\"select procpid,client_addr,substring(current_query,0,120),now() - query_start as elapsed from pg_stat_activity where current_query!='';\\\"\"" else watch "psql -c \"select procpid,client_addr,substring(current_query,0,120),now() - query_start as elapsed from pg_stat_activity where current_query!='';\"" fi