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.