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?
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.
Deaktivieren der umschlossenen Ausgabe der Auswahlabfrage.
\pset pager on und \pset pager off , um zur älteren Ausgabeansicht zurückzukehren.
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.
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