Estoy usando PostgreSQL 8.4 en Ubuntu. Tengo una tabla con columnas a c1
través cN
. Las columnas son lo suficientemente anchas como para que seleccionar todas las columnas provoque que una fila de resultados de consultas se ajuste varias veces. En consecuencia, la salida es difícil de leer.
Cuando los resultados de la consulta constituyen solo unas pocas filas, sería conveniente si pudiera ver los resultados de la consulta de manera que cada columna de cada fila esté en una línea separada, por ejemplo
c1: <value of row 1's c1>
c2: <value of row 1's c1>
...
cN: <value of row 1's cN>
---- some kind of delimiter ----
c1: <value of row 2's c1>
etc.
Estoy ejecutando estas consultas en un servidor donde preferiría no instalar ningún software adicional. ¿Hay una configuración de psql que me permita hacer algo así?
fuente
\x
solo alternará el valor, ¡ahorrándole tres pulsaciones de teclas! (Útil cuando cambia rápidamente entre salidas anchas y estrechas).\G
de Mysql, intente agregar\x\g\x
al final de la consulta o defina un acceso directo al~/.psqlrc
agregar\set G '\\set QUIET 1\\x\\g\\x\\set QUIET 0'
, luego use al final:G
. (nota falta de punto y coma)\x on
" o el equivalente en la línea de comando? Sería bueno si pudiera guardar (por ejemplo, usando un alias de shell bash)psql --something
para que siempre tenga la opción activada de forma predeterminada.-P expanded=auto
o--pset expanded=auto
(Nuevo) Modo automático ampliado: \ x auto
Nuevo para Postgresql 9.2; PSQL ajusta automáticamente los registros al ancho de la pantalla. anteriormente solo tenía activado o desactivado el modo expandido y tenía que cambiar entre los modos según fuera necesario.
Para obtener este uso: \ x auto
Postgresql 9.5 Documentación sobre el comando PSQL.
Pantalla ancha, formato normal:
Pantalla estrecha, formato ampliado:
¿Cómo iniciar psql con \ x auto?
Configure el
\x auto
comando al inicio agregándolo a.psqlrc
su carpeta de inicio y reiniciando psql. Mire en la sección 'Archivos' en el documento psql para obtener más información .~ / .psqlrc
fuente
Tienes tantas opciones, ¿cómo puedes confundirte :-)? Los controles principales son:
Cada uno tiene opciones e interacciones con los demás. Las opciones más automáticas son:
La nueva opción "\ x auto" cambia a la visualización línea por línea solo "si es necesario".
El "formato \ pset envuelto" anterior es similar en el sentido de que intenta ajustar los datos de forma ordenada en la pantalla, pero vuelve a estar desalineado si los encabezados no caben. Aquí hay un ejemplo de envuelto:
fuente
\x auto
con\pset pager off
es agradable.\x off; \pset format wrapped
y\x auto
destinados a ser utilizados juntos o son mutuamente excluyentes?Una cosa interesante es que podemos ver las tablas horizontalmente, sin doblar. Podemos usar
PAGER
variables de entorno. psql lo usa. puedes configuraro simplemente
less -S
si ya está disponible en la línea de comandos, si no con la ubicación adecuada. -S para ver líneas desplegadas. puede pasar cualquier visor personalizado u otras opciones con él.He escrito más en Psql Horizontal Display
fuente
pspg
es una herramienta simple que ofrece formato avanzado de tabla, desplazamiento horizontal, búsqueda y muchas más funciones.luego asegúrese de actualizar la
PAGER
variable, por ejemplo, en su~/.bashrc
donde
-s
significa combinación de colores (1-14
). Si está utilizando repositorios pgdg, simplemente instale un paquete (en una distribución similar a Debian):fuente
También asegúrese de revisar \ H, que activa / desactiva la salida HTML. No necesariamente fácil de leer en la consola, pero interesante para descargar en un archivo (ver \ o) o pegar en una ventana de editor / navegador para ver, especialmente con múltiples filas de datos relativamente complejos.
fuente
puede usar el zenity para mostrar el resultado de la consulta como tabla html.
Primero implemente el script bash con el siguiente código:
cat> '/tmp/sql.op'; zenity --text-info --html --filename = '/ tmp / sql.op';
guárdelo como mypager.sh
Luego, exporte la variable de entorno PAGER estableciendo la ruta completa del script como valor.
por ejemplo: - export PAGER = '/ path / mypager.sh'
Luego inicie sesión en el programa psql y luego ejecute el comando \ H
Y finalmente ejecute cualquier consulta, la salida en tabla se mostrará en el zenity en formato de tabla html.
fuente