2010-08-20 11 views
43

¿Cómo evito que psql (cliente PostgreSQL) genere avisos? p.ej.desactivar las NOTIFICACIONES en la salida psql

psql: schema/auth.sql: 20: AVISO: CREATE TABLE/CLAVE PRIMARIA creará implícita índice "users_pkey" para la tabla "usuarios"

En mi opinión un programa debe estar en silencio a menos tiene un error u otra razón para generar cosas.

Respuesta

49
SET client_min_messages TO WARNING; 

That podría fijarse sólo para la sesión o hizo persistente con ALTER ROLE o ALTER DATABASE.

O podría ponerlo en su ".psqlrc".

+3

Esto también se puede cambiar en postgresql.conf –

+0

... O justo después de 'connect' usando algún comando como' do' o 'ejecutar' a través de cualquier interfaz DBI. –

13

Usa --quiet cuando comienzas psql.

Un aviso no es inútil, pero ese es mi punto de vista.

+2

interesante ... que encierra todas las cosas como 'CREAR TABLE' pero no el' NOTICE's' No estoy seguro de que realmente pienso que todos ellos son inútiles ... pero creo (y creo que lo leí en uno de esos libros que deben leer C o Unix) que los programas deben ser silenciosos a menos que tengan un problema o les dices que no lo hagan. entonces --quiet debería ser el predeterminado y debería haber un --verbose (quizás con niveles personalizables) – xenoterracide

43

Probablemente la explicación más completa está en Peter Eisentrauts blog entry here

me animo encarecidamente que el blog original de ser estudiado y digerido, pero la recomendación final es algo así como:

PGOPTIONS='--client-min-messages=warning' psql -X -q -a -1 -v ON_ERROR_STOP=1 --pset pager=off -d mydb -f script.sql 
+1

Esta publicación de blog es muy informativa. ¡Gracias por compartirlo! – NagyI

+0

Gracias por compartir esta publicación, fue extremadamente útil. – Steph

+2

En general, está mal visto responder solo con un enlace, pero estoy de acuerdo en que esta fue una publicación de blog muy informativa. Considere extraer algunos de los puntos clave y resumirlos en su respuesta, junto con el enlace. –

0

Se puede configurar en el archivo global postgresql.conf también con la modificación del parámetro client_min_messages.

Ejemplo:

client_min_messages = warning 
+0

En realidad, esta respuesta es la misma que @Gavin publicada solo con la parte correspondiente. –

Cuestiones relacionadas