Frage Schalten Sie den Pager für die interaktive Ausgabe von psql aus


Wir haben von PostgreSQL 8.3 auf 9.0 umgestellt. Vielleicht ist es ein neues Feature oder vielleicht nur eine Konfigurationsänderung, aber jetzt, wenn von Befehlen (wie \d tablename) übersteigt sichtbarer vertikaler Raum, psql scheint die Ausgabe durch etwas ähnliches zu leiten less. Ich konnte keinen Weg finden, dieses Verhalten abzulegen. Irgendein Rat? Vielen Dank.

P.S. Ich scrolle den Puffer mit PuTTYs Shift+PgUp/PgDn also brauche ich psqls paging nicht. Plus, wenn ich drücke q Im Paging des Psql verschwindet seine Ausgabe vollständig vom Bildschirm (genau wie nach dem Ausführen) less in bash), was aus Sicht der allgemeinen Anwendungsfälle falsch ist.


25
2018-02-14 09:18


Ursprung


Wenn Sie hier von Google sind, der gerade versucht, durch den Pager zu scrollen, ist es das Space - nicht n oder PgDn oder Abwärtspfeil wie ich es versucht habe. - Noumenon


Antworten:


Dafür gibt es Unterlagen.

Aus dem \ pset-Abschnitt des Psql Handbuch:

Pager

Steuert die Verwendung eines Pager-Programms für die Abfrage- und psql-Hilfeausgabe. Wenn die Umgebungsvariable PAGER gesetzt ist, wird die Ausgabe an das angegebene Programm weitergeleitet. Andernfalls wird ein plattformabhängiger Standard (wie zB mehr) verwendet.

Wenn die Pager-Option deaktiviert ist, wird das Pager-Programm nicht verwendet. Wenn die Pager-Option eingeschaltet ist, wird der Pager gegebenenfalls verwendet, d. H. 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 Terminalausgaben verwendet wird, unabhängig davon, ob er auf den Bildschirm passt. \ pset Pager ohne Wert schaltet den Pager ein und aus.


28
2018-02-14 09:34



Vielen Dank. Die komplette Lösung sieht so aus: psql -P pager. - Yuri Ushakov
Ich denke, Sie können sogar eine Option in Ihre ~ / .psqlrc-Datei einfügen, um zu vermeiden, dass Sie diese jedes Mal eingeben müssen. - Sven♦
Wie auch immer, um Argumente an weniger zu übergeben? - snapfractalpop
Ich stieß auch auf Yuris Problem. Wie oben beschrieben. Sie können verwenden \pset pager in psql um zu schalten, ob die Ausgabe zum Pager geht. Sie sollten jedoch in der Lage sein, einen Pager zu verwenden und die Ausgabe beim Beenden nicht vom Bildschirm verschwinden zu lassen. Die Antwort ist, mehr als weniger als Pager zu verwenden. Sie können dies entweder tun, indem Sie die PAGER-Umgebungsvariable in Ihrer Shell setzen oder indem Sie eine PAGER-Umgebungsvariable zu einer ~ / .psqlrc-Datei hinzufügen. - Michael Rush
@MichaelRush: Eingestellt PAGER zu less -X und es wird den Bildschirm nicht löschen. - Sven♦


Probier Switcher:

database_name=# \pset pager
Pager is used for long output.
database_name=# \pset pager
Pager usage is off.

13
2017-12-09 15:38



Ebenfalls \pset pager [on|off] für konstantes Ergebnis. - lolesque


Schalten Sie den Pager mit aus

\pset pager off

2
2018-06-21 12:12



Das ist einfach die akzeptierte Antwort für mich. Vielen Dank. - Nam G VU