%3F.png)
Контекст
zsh
оболочка,oh-my-zsh
рамки,- нет специальной
zsh
конфигурации оpostgresql
.
Беда
Я заметил раздражающее поведение: при запросе к базе данных, например:
SELECT * FROM mytable ;
он ведет себя как less
(с (END)
), а для возврата назад необходимо «закрыть» less
(с q
ярлыком), что означает, что я не могу прочитать результат предыдущего запроса при вводе следующего.
Наоборот, bash
не происходит такого поведения: после запроса отображается результат и можно набрать следующий запрос.
Вопрос
Как мне настроить zsh
его так, чтобы он вел себя именно bash
так?
решение1
Вы можете полностью отключить его, написав комментарий
cat ~/.oh-my-zsh/lib/misc.zsh
...
#env_default 'PAGER' 'less'
#env_default 'LESS' '-R'
...
Затем откройте новый терминал и повторите попытку; или..
exec zsh (in the same terminal)
решение2
Возможно, ваша оболочка устанавливает PAGER
переменную окружения.
Попробуйте отключить его перед запуском psql:
user@host% unset PAGER
Вы также можете попробовать установить значение pset пейджера на «off» следующим образом из оболочки postgresql:
user=> \pset pager off
Это включит или выключит использование пейджера. Вы также можете настроить его на использование определенного пейджера (например more
, , less
, cat
, и т. д.).
Дополнительная информация со страницы руководства psql:
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.