Wir haben von PostgreSQL 8.3 auf 9.0 umgestellt. Vielleicht ist es eine neue Funktion oder nur eine Konfigurationsänderung, aber wenn die Ausgabe von Befehlen (wie \d tablename
) den sichtbaren vertikalen Raum überschreitet, scheint psql die Ausgabe durch etwas Ähnliches zu leiten less
. Ich konnte keine Möglichkeit finden, dieses Verhalten auszuschalten. Irgendein Rat? Vielen Dank.
PS Ich scrolle den Puffer mit PuTTYs, Shift+PgUp/PgDn
damit ich kein psql-Paging benötige. Wenn ich q
auf das Paging des Psql drücke , verschwindet dessen Ausgabe vollständig vom Bildschirm (genau wie nach dem Ausführen less
von Bash), was aus der Sicht der allgemeinen Anwendungsfälle falsch ist.
Space
- nicht n oder PgDn oder Pfeil nach unten, wie ich es versucht habe.Antworten:
Dafür gibt es Dokumentation.
Aus dem \ pset-Abschnitt des psql-Handbuchs :
Pager
Steuert die Verwendung eines Pager-Programms für die Ausgabe von Abfragen und Psql-Hilfe. Wenn die Umgebungsvariable PAGER gesetzt ist, wird die Ausgabe an das angegebene Programm weitergeleitet. Andernfalls wird ein plattformabhängiger Standardwert (z. B. more) verwendet.
Wenn die Pager-Option deaktiviert ist, wird das Pager-Programm nicht verwendet. Wenn die Pager-Option aktiviert ist, wird der Pager bei Bedarf verwendet, dh wenn die Ausgabe an ein Terminal erfolgt und nicht auf den Bildschirm passt. Die Pager-Option kann auch auf immer eingestellt werden, wodurch der Pager für alle Terminal-Ausgaben verwendet wird, unabhängig davon, ob er auf den Bildschirm passt. \ pset Pager ohne Wert schaltet die Pager-Verwendung ein und aus.
quelle
psql -P pager
.\pset pager
in psql umschalten, ob die Ausgabe an den Pager geht. Sie sollten jedoch einen Pager verwenden können und die Ausgabe beim Beenden nicht vom Bildschirm verschwinden lassen. Die Antwort ist, als Pager "mehr" statt "weniger" zu verwenden. Sie können dies entweder tun, indem Sie die Umgebungsvariable PAGER in Ihrer Shell festlegen oder indem Sie einer ~ / .psqlrc-Datei eine PAGER-Umgebungsvariable hinzufügen.PAGER
aufless -X
und es wird der Bildschirm nicht löschen.Switcher ausprobieren:
quelle
\pset pager [on|off]
für konstantes Ergebnis.Schalten Sie den Pager mit aus
quelle
Fügen Sie den folgenden Code in ~ / .psqlrc hinzu, um das Verhalten beizubehalten
\ pPager ausschalten
quelle
So schalten Sie den Pager bei Verwendung
psql
in der Shell aus:Sie können auch eine leere
PAGER
Umgebungsvariable exportieren , damit Sie die Option nicht jeder Anweisung hinzufügen müssen. Es bleibt gesetzt, bis Sie Ihre aktuelle Shell schließen.Abschließend noch eine Problemumgehung, an die Sie sich möglicherweise leichter erinnern können: Leiten Sie die Ausgabe durch
cat
, wodurch der Standard-Pager deaktiviert wirdquelle