web-dev-qa-db-fra.com

Désactiver le wrapping dans la sortie Psql

Lors de l'utilisation de Psql sous Linux, si le résultat de ma requête SQL contient de nombreuses colonnes ou de longues chaînes de données, la vue initiale sera enveloppée et une seule fois que je le ferai défiler sur le côté, il s'arrêtera et affichera chaque ligne sur une ligne distincte.

J'ai essayé diverses options \pset telles que format unaligned, format aligned, format wrapped, columns 0, columns 1000, mais aucun ne semblait totalement cesser d'encapsuler sauf si je générais une sortie statique dans un fichier.

Comment puis-je le configurer pour ne jamais envelopper la sortie tout en continuant à défiler et en affichant le résultat en utilisant le format de tableau ascii par défaut?

18
Silveri

Pour désactiver la sortie encapsulée de la requête sélectionnée.

\pset pager on et \pset pager off pour revenir à la vue de sortie plus ancienne. 

7
Akshay Shet

l’indicateur -F ou -S de less fera que \d some_table n’affiche aucun résultat dans certains cas. 

-F or --quit-if-one-screen
    Causes less to automatically exit if the entire file can be 
    displayed on the first screen.

-S or --chop-long-lines
    Causes lines longer than the screen width to be chopped rather than folded. 
    That is, the portion of a long line that does not fit in the screen width is 
    not shown. The default is to fold long lines; that is, display the remainder 
    on the next line.

Utilisez-les comme ceci:

PAGER="less -S" psql

Cela semble plus sûr de ne pas avoir à sortir moins manuellement.

6
Arian Daneshvar

vous devriez probablement utiliser le format aligned pour la sortie:

\pset format aligned

Vous pouvez vérifier tous les formats disponibles pour répondre à vos besoins:

\pset format TAB
aligned          html             latex-longtable  unaligned        
asciidoc         latex            troff-ms         wrapped       

Aussi, vous devriez vérifier PAGER valeur configurée dans votre environnement

1
Eugen Konkov