Para deshabilitar la paginación pero conservar la salida, use:
\pset pager off
Para recordar esta configuración, agréguela a su ~ / .psqlrc .
Consulte el manual de psql .
En versiones anteriores de Pg era solo una palanca, así que \pset pager
Para suprimir completamente el resultado de la consulta, utilícelo \o /dev/null
en su psql
secuencia de comandos.
Para suprimir psql
el resultado informativo, ejecútelo -q
o configúrelo QUIET=1
en el entorno.
Para producir resultados y tirarlos, puede redirigir stdout
a /dev/null
:
psql db -f sql.sql >/dev/null
Puede redirigir tanto stdout como stderr con:
psql db -f sql.sql >&/dev/null
pero no lo recomiendo, ya que arrojará información de error que podría advertirle que algo no está funcionando bien. También estás produciendo resultados y tirándolos a la basura, lo cual es ineficiente; es mejor no producirlos en primer lugar ajustando sus consultas.
PAGER="/dev/null" psql db -P pager=always -f sql.sql
hacer que siempre elimine la salida.Estaba buscando esto también, encontré el camino en una pregunta similar en ServerFault:
apaga la página de búsqueda, sin suprimir la salida.
fuente
Aquí hay otra opción. Tiene la ventaja de que no tiene que recordar nombres de opciones de psql, etc.
fuente
bash, al ser un shell , tiene 2 transmisiones que puede redirigir los datos de salida: stdout y stderr, ya que esta salida necesita ser redirigida a alguna parte, linux tiene un nodo específico 'descartar todo' accesible a través de / dev / null . Todo lo que envíes allí desaparecerá en el vacío.
(los shells también tienen un flujo de entrada pero lo ignoraré aquí ya que solicitó suprimir la salida)
Estas secuencias están representadas por números: 1 para stdout y 2 para stderr.
Entonces, si desea redirigir simplemente stdout, lo haría con los operadores
<
y>
(básicamente, hacia dónde apunta es hacia dónde fluyen los datos)supongamos que queremos suprimir stdout (redirigir a / dev / null):
psql db -f sql.sql > /dev/null
Como puede ver, esto es stdout predeterminado, no se ha utilizado ningún número de transmisión si desea utilizar el número de transmisión que escribiría
psql db -f sql.sql 1> /dev/null
Ahora, si desea suprimir stderror (secuencia número 2), usaría
psql db -f sql.sql 2> /dev/null
También puede redirigir una secuencia a otra, por ejemplo, stderror a stdout, que es útil si desea guardar toda la salida en algún lugar, regular y errores.
psql db -f sql.sql 2>&1 > log.txt
importa que no puede haber espacios entre
2>&1
Finalmente, y a veces lo más interesante es el hecho de que puede suprimir toda la salida mediante el uso
&>
, para cuando lo desee 'perfectamente silencioso'psql db -f sql.sql &> /dev/null
fuente
fuente
fuente