Estoy usando PostgreSQL 9.1.X
Estoy tratando de crear un psql
script para imprimir resultados sin un encabezado pero incluyendo un pie de página.
http://www.postgresql.org/docs/9.1/static/app-psql.html
Del documento anterior
\pset tuples_only
apagará tanto el encabezado como el pie de página. y
\pset footer off
solo desactivará el pie de página.
¿Hay alguna manera psql
de apagar el encabezado y mantener el pie de página?
Sé que hay muchas formas de solucionar este problema utilizando shell / perl / cualquier herramienta de texto que desee, sin embargo, me pregunto por qué hay una configuración para el pie de página pero no una para el encabezado.
id <--this line I don't want
---- <-- this line I don't want either
1 <-- this line, yes
(1 row) <-- yes, I want it!
postgresql
psql
skong
fuente
fuente
Respuestas:
Al ejecutar
psql
desde shell puede usar la-t
opción (solo imprime tuplas):En
psql
uso\t
para desactivar el encabezado de impresión y el conteo de filasfuente
Mi solución no es simplemente apagar, sino descartar encabezados.
Puede intentar
tail
el resultado de la consulta:Con
\o
, puede redirigir la salida a un archivo o una tubería, como en este caso. Esta solución también tiene su defecto: al menos en mi caso, después de la ejecución deSELECT [...]
, no vuelvo a un mensaje a menos que presione una tecla. Y la primera fila de salida aparece después de una solicitud. Si luego redirige la salida a un archivo, no debería ser un problema.Este comportamiento se puede evitar si configura la
PAGER
variable de entorno de forma adecuada y siempre utiliza el localizadorpsql
:En la
psql
versión que viene con PostgreSQL 9.2, puede usar el\setenv
comando por conveniencia (quiero decir que no tiene que establecer una variable env que pueda afectar también a otras aplicaciones).fuente
Debe agregar una opción de línea de comando psql
-P "footer=off"
. Esta opción mantiene los títulos de las columnas en el resultado.fuente