¿Por qué zsh se comporta menos al consultar una base de datos (postgresql)?

¿Por qué zsh se comporta menos al consultar una base de datos (postgresql)?

Contexto

  • zshcaparazón,
  • oh-my-zshestructura,
  • No hay ninguna zshconfiguración especial al respecto postgresql.

Problema

Noté un comportamiento molesto: al consultar la base de datos, por ejemplo:

SELECT * FROM mytable ;

se comporta como less(con (END)) y para regresar es necesario "cerrar" less(con qacceso directo), lo que significa que no puedo leer el resultado de una consulta anterior cuando escribo la siguiente.

Por el contrario, bashno tiene este comportamiento: después de una consulta, se muestra el resultado y es posible escribir la siguiente consulta.

Pregunta

¿Cómo puedo personalizar zshpara que se comporte como basha este respecto?

Respuesta1

Podrías apagarlo por completo comentando.

cat ~/.oh-my-zsh/lib/misc.zsh
...
#env_default 'PAGER' 'less'                                                        
#env_default 'LESS' '-R'                                                           
...

Luego abre una nueva terminal y vuelve a intentarlo; o..

exec zsh (in the same terminal)

Respuesta2

Es posible que su shell esté configurando la PAGERvariable de entorno.

Intente desarmarlo antes de ejecutar psql:

user@host% unset PAGER

También puede intentar configurar el valor pset del buscapersonas en "desactivado" de esta manera desde el shell de postgresql:

user=> \pset pager off

Esto activará o desactivará el uso del buscapersonas. También puede configurarlo para que utilice un buscapersonas específico (como more, less, catetc.).

Más información de la página de manual de 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.

información relacionada