PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Postgres Tempo di esecuzione della query

Usa \timing come spiegato da "Come posso cronometrare le query SQL usando psql?" .

Vedi anche il manuale per psql .

Se vuoi lato server tempi di esecuzione che non includono il tempo per trasferire il risultato al client, puoi impostare log_min_duration_statement = 0 nella configurazione, quindi SET client_min_messages = log in modo da ottenere le informazioni di registro nella console.

Puoi anche usare EXPLAIN ANALYZE per ottenere tempi di esecuzione dettagliati. C'è un sovraccarico di tempo per questo a meno che tu non usi EXPLAIN (ANALYZE TRUE, TIMING FALSE) , che è solo nelle versioni più recenti, e disabilita i tempi dettagliati per fornire invece solo un tempo di esecuzione aggregato.

PgBadger , specialmente se combinato con il auto_explain modulo , può fornire utili statistiche aggregate dall'analisi dei log.

Infine, c'è pg_stat_statements , che può raccogliere utili informazioni aggregate sul sistema in esecuzione.