wake-up-neo.net

Deaktivieren Sie das Umbrechen in der Psql-Ausgabe

Wenn Sie in Linux Psql verwenden und das Ergebnis meiner SQL-Abfrage viele Spalten oder lange Datenstrings enthält, wird die ursprüngliche Ansicht umbrochen. Erst wenn ich zur Seite scrolle, wird der Zeilenumbruch beendet und jede Zeile wird in einer separaten Zeile angezeigt.

Ich habe verschiedene \pset-Optionen ausprobiert wie format unaligned, format aligned, format wrapped, columns 0, columns 1000, aber es schien, als ob full das Wrapping nicht anhalten würde, es sei denn, ich generiere eine statische Ausgabe in einer Datei.

Wie kann ich festlegen, dass die Ausgabe nie umbrochen wird, obwohl noch scrollbar ist und das Ergebnis im Standard-ASCII-Tabellenformat angezeigt wird?

18
Silveri

Psql verwendet einen System-Viewer, um seine Ausgabe in der Konsole anzuzeigen. In bash wird less wahrscheinlich für die darin enthaltenen scrollbaren/seitenfähigen Funktionen verwendet. Um einen anderen Viewer oder andere Einstellungen zu verwenden, müssen Sie nur die Umgebungsvariable PAGER festlegen.

Das Ausführen von psql, um less mit der Option -S Oder --chop-long-lines Zu verwenden, schien für mich zu funktionieren:

PAGER="less -S" psql

Sie können diese Funktion auch aktivieren, während Sie die Ausgabe in less anzeigen, indem Sie -S Und eingeben Enter.

42
Silveri

Deaktivieren der umschlossenen Ausgabe der Auswahlabfrage.

\pset pager on und \pset pager off , um zur älteren Ausgabeansicht zurückzukehren. 

7
Akshay Shet

das -F- oder -S-Flag von less bewirkt, dass \d some_table in einigen Fällen keine Ausgabe anzeigt. 

-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.

Verwenden Sie sie wie folgt:

PAGER="less -S" psql

Scheint sicherer, wenn Sie weniger manuell abfahren müssen.

6
Arian Daneshvar

wahrscheinlich sollten Sie für die Ausgabe das Format aligned verwenden:

\pset format aligned

Sie können alle verfügbaren Formate nach Ihren Bedürfnissen überprüfen:

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

Sie sollten auch PAGER konfigurierten Wert in Ihrer Umgebung überprüfen

1
Eugen Konkov