Pour désactiver la pagination mais conserver la sortie, utilisez:
\pset pager off
Pour vous souvenir de ce paramètre, ajoutez-le à votre ~ / .psqlrc .
Consultez le manuel psql .
Sur les anciennes versions de Pg, ce n'était qu'une bascule, donc \pset pager
Pour supprimer complètement la sortie de la requête, utilisez \o /dev/null
dans votre psql
script.
Pour supprimer psql
la sortie d'information de, exécutez-la avec -q
ou définie QUIET=1
dans l'environnement.
Pour produire des résultats et les jeter, vous pouvez vous rediriger stdout
vers /dev/null
avec:
psql db -f sql.sql >/dev/null
Vous pouvez rediriger à la fois stdout et stderr avec:
psql db -f sql.sql >&/dev/null
mais je ne le recommande pas, car cela rejettera les informations d'erreur qui pourraient vous avertir que quelque chose ne va pas. Vous produisez également des résultats et vous les jetez, ce qui est inefficace; vous feriez mieux de ne pas les produire en premier lieu en ajustant vos requêtes.
PAGER="/dev/null" psql db -P pager=always -f sql.sql
toujours le faire tuer la sortie.Je cherchais cela aussi, j'ai trouvé le chemin dans une question similaire sur ServerFault:
désactive la chose de pagination, sans supprimer la sortie.
la source
Voici une autre option. Cela présente l'avantage que vous n'avez pas à vous souvenir des noms d'options psql, etc.
la source
bash, étant un shell , a 2 flux que vous pouvez rediriger ces données de sortie: stdout et stderr, car cette sortie doit être redirigée quelque part, linux a un nœud spécifique `` tout supprimer '' accessible via / dev / null . Tout ce que vous envoyez là-bas disparaîtra dans le vide.
(les shells ont également un flux d'entrée mais je vais l'ignorer ici puisque vous avez demandé la suppression de la sortie)
Ces flux sont représentés par des nombres: 1 pour stdout et 2 pour stderr.
Donc, si vous voulez rediriger juste stdout, vous le feriez avec les opérateurs
<
et>
(essentiellement là où il pointe, c'est vers où les données circulent)supposons que nous voulions supprimer stdout (rediriger vers / dev / null):
psql db -f sql.sql > /dev/null
Comme vous pouvez le voir, stdout est la valeur par défaut, aucun numéro de flux n'a été utilisé si vous vouliez utiliser le numéro de flux que vous écririez
psql db -f sql.sql 1> /dev/null
Maintenant, si vous souhaitez supprimer stderror (flux numéro 2), vous utilisez
psql db -f sql.sql 2> /dev/null
Vous pouvez également rediriger un flux vers un autre, par exemple stderror vers stdout, ce qui est utile si vous souhaitez enregistrer toute la sortie quelque part, régulière et erreurs.
psql db -f sql.sql 2>&1 > log.txt
attention, il ne peut pas y avoir d'espaces entre
2>&1
Enfin et parfois le plus intéressant est le fait que vous pouvez supprimer toutes les sorties en utilisant
&>
, pour quand vous le voulez 'parfaitement silencieux'psql db -f sql.sql &> /dev/null
la source
la source
la source