Nous sommes passés de PostgreSQL 8.3 à 9.0. C'est peut-être une nouvelle fonctionnalité ou peut-être juste un changement de configuration, mais maintenant, lorsque la sortie des commandes (comme \d tablename
) dépasse l'espace vertical visible, psql semble diriger la sortie par quelque chose de similaire à less
. Je ne pouvais pas trouver un moyen de désactiver ce comportement. Aucun conseil? Merci.
PS Je fais défiler le tampon en utilisant PuTTY, Shift+PgUp/PgDn
je n'ai donc pas besoin de la pagination de psql. De plus, lorsque j'appuie sur q
la pagination du psql, sa sortie disparaît complètement de l'écran (comme après une exécution less
en bash), ce qui est faux du point de vue des cas d'utilisation généraux.
Space
- ni n, ni PgDn, ni la flèche vers le bas, comme j’ai essayé.Réponses:
Il y a de la documentation pour ça.
Dans la section \ pset du manuel psql :
téléavertisseur
Contrôle l'utilisation d'un programme de pagination pour la sortie de requête et d'aide psql. Si la variable d'environnement PAGER est définie, la sortie est dirigée vers le programme spécifié. Sinon, une valeur par défaut dépendante de la plate-forme (telle que more) est utilisée.
Lorsque l'option de téléavertisseur est désactivée, le programme de téléavertisseur n'est pas utilisé. Lorsque l'option de téléavertisseur est activée, le téléavertisseur est utilisé le cas échéant, c'est-à-dire lorsque la sortie est destinée à un terminal et ne tient pas à l'écran. L'option de pagination peut également être définie sur Toujours, ce qui fait que le pageur sera utilisé pour toutes les sorties du terminal, qu'il s'adapte à l'écran ou non. \ pset pager sans valeur active ou désactive l’utilisation du pager.
la source
psql -P pager
.\pset pager
dans psql pour déterminer si la sortie est transmise au pageur. Cependant, vous devriez pouvoir utiliser un téléavertisseur et ne pas laisser la sortie disparaître de l'écran lorsque vous quittez. La réponse consiste à utiliser «plus» au lieu de «moins» comme pagette. Vous pouvez le faire en définissant la variable d’environnement PAGER dans votre shell ou en ajoutant une variable d’environnement PAGER à un fichier ~ / .psqlrc.PAGER
surless -X
et l'écran ne sera pas effacé .Essayez le sélecteur:
la source
\pset pager [on|off]
pour un résultat constant.Eteignez le téléavertisseur avec
la source
ajoutez le code ci-dessous dans ~ / .psqlrc pour conserver le comportement
\ pset pager off
la source
Pour éteindre le téléavertisseur lors de l'utilisation
psql
dans le shell:Vous pouvez également exporter une
PAGER
variable d'environnement vide . Il n'est donc pas nécessaire d'ajouter l'option à chaque instruction. Il restera en place jusqu'à la fermeture de votre shell actuel.Enfin, une solution de contournement peut-être plus facile à retenir: acheminer la sortie
cat
, ce qui désactivera le pager par défaut.la source
En résumé, la meilleure méthode consiste à définir une variable d’environnement pour le pager, par exemple:
PAGER='less -X' psql
ou pour le régler une fois
export PAGER='less -X'
puis courir
psql
la source