Utilisez \timing
comme expliqué par "Comment puis-je chronométrer les requêtes SQL à l'aide de psql ?"
.
Voir aussi le manuel de psql
.
Si vous voulez côté serveur les temps d'exécution qui n'incluent pas le temps de transfert du résultat au client, vous pouvez définir log_min_duration_statement = 0
dans la configuration, puis SET client_min_messages = log
afin que vous obteniez les informations de journal dans la console.
Vous pouvez également utiliser EXPLAIN ANALYZE
pour obtenir des délais d'exécution détaillés. Il y a une surcharge de temps pour cela, sauf si vous utilisez EXPLAIN (ANALYZE TRUE, TIMING FALSE)
, qui n'existe que dans les versions plus récentes, et désactive le minutage détaillé pour ne donner qu'un temps d'exécution global à la place.
PgBadger
, en particulier lorsqu'il est combiné avec le auto_explain
modules
, peut fournir des statistiques agrégées utiles à partir de l'analyse des journaux.
Enfin, il y a pg_stat_statements
, qui peut collecter des informations agrégées pratiques sur le système en cours d'exécution.