PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Kann ich die Ausführungszeit von Abfragen in PostgreSQL 8.4 protokollieren?

Wenn Sie

setzen
log_min_duration_statement = 0
log_statement = all 

in Ihrer postgresql.conf, dann sehen Sie, dass alle Anweisungen in der Postgres-Protokolldatei protokolliert werden.

Wenn Sie

aktivieren
log_duration

Dadurch wird auch die für jede Anweisung benötigte Zeit gedruckt. Dies ist standardmäßig deaktiviert.

Mit dem log_statement Parameter können Sie steuern, welcher Typ der Anweisung, die Sie protokollieren möchten (DDL, DML, ...)

Dies erzeugt eine Ausgabe wie diese in der Protokolldatei:

2012-10-01 13:00:43 CEST postgres LOG:  statement: select count(*) from pg_class;
2012-10-01 13:00:43 CEST postgres LOG:  duration: 47.000 ms

Mehr Details im Handbuch:

Wenn Sie eine tägliche Liste wünschen, möchten Sie wahrscheinlich die Protokolldatei so konfigurieren, dass sie täglich rotiert. Auch dies ist im Handbuch beschrieben.