Re: \x auto SAUF explain

From: "Daniel Verite" <daniel(at)manitou-mail(dot)org>
To: "Rodolphe Quiedeville" <rodolphe(at)quiedeville(dot)org>
Cc: "Pgsql Fr Generale" <pgsql-fr-generale(at)postgresql(dot)org>
Subject: Re: \x auto SAUF explain
Date: 2015-10-20 11:20:52
Message-ID: dd01dc99-c21d-43e0-a170-266bf97aff6b@mm
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-fr-generale

Rodolphe Quiedeville wrote:

> Un des camarades ici présent m'a fait découvrir il y a quelques temps le
> magique \x auto que j'ai rapidement adopté, mais celui-ci ne me
> satisfait pas complètement, un EXPLAIN est simplement moche quand \x est
> activé, alors est-il possible d'avoir "\x auto exclude EXPLAIN" ?

Ca supposerait que psql sait qu'il est train d'afficher un EXPLAIN, mais il
n'en sait rien, c'est une requête comme une autre pour lui.

Peut-être qu'une extension de \g ferait l'affaire.
\g à la place du point virgule permet déjà de terminer une requête
(et d'envoyer le résultat dans un fichier).

Imaginons qu'on ait:
\gx qui affiche le résultat en extended indépendamment du \x en cours
\gnx qui l'affiche en non-extended indépendamment du \x en cours

On pourrait alors faire
EXPLAIN SELECT ...etc...
\gnx

ou
EXPLAIN SELECT ... etc... \gnx

ou au contraire
SELECT [plein de colonnes] ...etc... \gx
qui forcerait un affichage étendu juste pour la requête qui précède.

ou encore \gx tout seul pour réexécuter la requête dans le buffer
mais avec un affichage étendu, ou \gnx pour l'inverse.

Ce serait utile pour d'autres cas, comme les requêtes ponctuelles dans
pg_stat_statements ou pg_stat_activity.

Une autre alternative qui peut être intéressante est d'utiliser
"less -XFS" comme pager au lieu de \x auto, -S permettant d'afficher plus
large que l'écran et de scroller horizontalement avec les touches du
curseur. Ces options peuvent être changées de l'intérieur de
psql avec \setenv LESS options

Cordialement,
--
Daniel Vérité
PostgreSQL-powered mailer: http://www.manitou-mail.org
Twitter: @DanielVerite

--
Envoi via la liste pgsql-fr-generale (pgsql-fr-generale(at)postgresql(dot)org)

In response to

Responses

Browse pgsql-fr-generale by date

  From Date Subject
Next Message Rodolphe Quiedeville 2015-10-20 12:29:54 Re: \x auto SAUF explain
Previous Message Guillaume Lelarge 2015-10-20 10:19:50 Re: \x auto SAUF explain