Postgres: Anzeigen aktuell laufender Queries

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

Schreibe einen Kommentar