Postgres l'exécution de la Requête du temps
Dans le MySQL
interface de ligne de commande, lorsque vous exécutez une requête, il vous dira combien de temps la requête a fallu pour exécuter après l'impression des résultats.
Dans la Postgres interface de ligne de commande ( psql
), il ne vous dit pas. Je sais comment faire pour configurer la journalisation afin que je puisse obtenir les informations de journaux, mais il serait plus pratique de l'avoir à imprimer sur la sortie standard, comme il le fait dans MySQL
.
Cela peut-il être fait?
- Il est inutile lorsque le nombre de résultats Google sont des réponses en disant: "l'utilisation de Google" - à peu près aussi utile qu'un chocolat théière!
- \synchronisation-c'est amusant de parler
- C'est une façon de couple. Mais encore, si vous avez essayé et ça ne fonctionne pas, décrivez dans votre question.
- Je pense que un bien meilleur endroit pour commencer à trouver des informations sur un produit est le manuel plutôt qu'un moteur de recherche.
Vous devez vous connecter pour publier un commentaire.
Utilisation
\timing
comme l'a expliqué "Comment puis-je le temps de requêtes SQL à l'aide de psql?".Voir aussi le manuel de
psql
.Si vous voulez côté serveur temps d'exécution qui n'incluent pas le temps de transférer le résultat pour le client, vous pouvez définir
log_min_duration_statement = 0
dans la configuration, puisSET client_min_messages = log
de sorte que vous obtenez le journal d'infos dans la console.Vous pouvez également utiliser
EXPLAIN ANALYZE
obtenir de l'exécution de timing. Il y a certains timing de surcharge pour cela, sauf si vous utilisezEXPLAIN (ANALYZE TRUE, TIMING FALSE)
, qui est seulement dans les nouvelles versions, et désactive le calendrier détaillé pour ne donner qu'un agrégat de temps d'exécution à la place.PgBadger, surtout lorsqu'il est combiné avec le
auto_explain
module, peut fournir des statistiques globales à partir de l'analyse des journaux.Enfin, il y a
pg_stat_statements
, qui peut recueillir pratique de l'information globale sur le système en cours d'exécution.Je pense que
EXPLAIN ANALYSE
pourraient vous être utiles,Syntaxe:
Exemple;
De sortie: