Datenbank%20wie%20%E2%80%9Eless%E2%80%9C%3F.png)
Kontext
zsh
Hülse,oh-my-zsh
Rahmen,- keine besondere
zsh
Konfiguration erforderlichpostgresql
.
Problem
Mir ist ein nerviges Verhalten aufgefallen: beim Abfragen der Datenbank, zB:
SELECT * FROM mytable ;
es verhält sich wie less
(mit (END)
), und beim Zurückgehen muss die Verknüpfung less
(mit q
) „geschlossen“ werden, was bedeutet, dass ich das Ergebnis einer vorherigen Abfrage nicht lesen kann, wenn ich die nächste eingebe.
Im Gegenteil, bash
dieses Verhalten gibt es nicht: Nach einer Abfrage wird das Ergebnis angezeigt und es ist möglich, die nächste Abfrage einzugeben.
Frage
Wie kann ich das anpassen, zsh
damit es sich bash
diesbezüglich so verhält?
Antwort1
Sie können es ganz abschalten, indem Sie einen Kommentar abgeben
cat ~/.oh-my-zsh/lib/misc.zsh
...
#env_default 'PAGER' 'less'
#env_default 'LESS' '-R'
...
Öffnen Sie dann ein neues Terminal und versuchen Sie es erneut; oder ...
exec zsh (in the same terminal)
Antwort2
PAGER
Es ist möglich, dass Ihre Shell die Umgebungsvariable festlegt .
Versuchen Sie, es aufzuheben, bevor Sie psql ausführen:
user@host% unset PAGER
Sie können auch versuchen, den Pager-Pset-Wert in der PostgreSQL-Shell wie folgt auf „Aus“ zu setzen:
user=> \pset pager off
Damit schalten Sie die Verwendung des Pagers ein oder aus. Sie können auch festlegen, dass ein bestimmter Pager verwendet wird (z. B. more
, less
, cat
, usw.).
Weitere Informationen von der psql-Manpage:
pager
Controls use of a pager for query and psql help output. If the
environment variable PAGER is set, the output is piped to the
specified program. Otherwise a platform-dependent default (such as
more) is used.
When the pager is off, the pager is not used. When the pager is on,
the pager is used only when appropriate, i.e. the output is to a
terminal and will not fit on the screen. (psql does not do a perfect
job of estimating when to use the pager.) \pset pager turns the pager
on and off. Pager can also be set to always, which causes the pager to
be always used.