Cambiamos de PostgreSQL 8.3 a 9.0. Tal vez sea una nueva característica o tal vez solo un cambio de configuración, pero ahora cuando la salida de los comandos (como, \d tablename
) excede el espacio vertical visible, psql parece canalizar la salida a través de algo similar less
. No pude encontrar una manera de desactivar este comportamiento. ¿Algún consejo? Gracias.
PD: estoy desplazando el búfer usando PuTTY, Shift+PgUp/PgDn
así que no necesito la paginación de psql. Además, cuando q
presiono la paginación de psql, su salida desaparece por completo de la pantalla (al igual que después de ejecutar less
en bash), lo cual es incorrecto desde el punto de vista de los casos de uso generales.
Space
n o PgDn o flecha hacia abajo como lo intenté.Respuestas:
Hay documentación para eso.
Desde la sección \ pset del manual de psql :
buscapersonas
Controla el uso de un programa de buscapersonas para la consulta y la salida de ayuda psql. Si se establece la variable de entorno PAGER, la salida se canaliza al programa especificado. De lo contrario, se utiliza un valor predeterminado dependiente de la plataforma (como más).
Cuando la opción del localizador está desactivada, el programa del localizador no se utiliza. Cuando la opción de buscapersonas está activada, el buscapersonas se usa cuando corresponde, es decir, cuando la salida es a un terminal y no cabe en la pantalla. La opción de buscapersonas también se puede establecer en siempre, lo que hace que el buscapersonas se use para todas las salidas de terminal, independientemente de si cabe en la pantalla. \ pset pager sin un valor activa y desactiva el uso del localizador.
fuente
psql -P pager
.\pset pager
en psql para alternar si la salida va al localizador. Sin embargo, debería poder usar un buscapersonas y no hacer que la salida desaparezca de la pantalla cuando salga. La respuesta es usar 'más' en lugar de 'menos' como buscapersonas. Puede hacerlo configurando la variable de entorno PAGER en su shell o agregando una variable de entorno PAGER a un archivo ~ / .psqlrc.PAGER
enless -X
y no borrará la pantalla.Pruebe el conmutador:
fuente
\pset pager [on|off]
por resultado constante.Apague el buscapersonas con
fuente
agregue el siguiente código en ~ / .psqlrc para retener el comportamiento
\ pset buscapersonas
fuente
Para apagar el buscapersonas cuando se usa
psql
en el shell:También puede exportar una
PAGER
variable de entorno vacía , por lo que no necesita agregar la opción a cada declaración. Permanecerá configurado hasta que cierre su shell actual.Finalmente, una solución que puede ser más fácil de recordar: canalice la salida
cat
, lo que deshabilitará el buscapersonas predeterminadofuente
La mejor manera en resumen es establecer una variable de entorno para el localizador, por ejemplo
PAGER='less -X' psql
o para configurarlo una vez
export PAGER='less -X'
entonces corre
psql
fuente