J'utilise PostgreSQL 8.4 sur Ubuntu. J'ai une table avec des colonnes à c1
travers cN
. Les colonnes sont suffisamment larges pour que la sélection de toutes les colonnes entraîne une ligne des résultats de la requête plusieurs fois. Par conséquent, la sortie est difficile à lire.
Lorsque les résultats de la requête ne constituent que quelques lignes, il serait pratique que je puisse afficher les résultats de la requête de telle sorte que chaque colonne de chaque ligne se trouve sur une ligne distincte, par exemple
c1: <value of row 1's c1>
c2: <value of row 1's c1>
...
cN: <value of row 1's cN>
---- some kind of delimiter ----
c1: <value of row 2's c1>
etc.
J'exécute ces requêtes sur un serveur où je préférerais ne pas installer de logiciel supplémentaire. Y a-t-il un paramètre psql qui me permettra de faire quelque chose comme ça?
la source
\x
seul changera la valeur, vous épargnant trois frappes! (Utile lorsque vous basculez rapidement entre les sorties larges et étroites).\G
de Mysql, essayez d'ajouter\x\g\x
à la fin de la requête ou de définir un raccourci dans l'~/.psqlrc
ajout\set G '\\set QUIET 1\\x\\g\\x\\set QUIET 0'
, puis utilisez-le à la fin:G
. (notez le manque de points-virgules)\x on
" ou l'équivalent en ligne de commande? Ce serait bien si je pouvais simplement enregistrer (par exemple, en utilisant un alias de shell bash)psql --something
afin que l'option soit toujours activée par défaut.-P expanded=auto
ou--pset expanded=auto
(Nouveau) Mode automatique étendu: \ x auto
Nouveau pour Postgresql 9.2; PSQL ajuste automatiquement les enregistrements à la largeur de l'écran. auparavant, vous n'aviez que le mode étendu activé ou désactivé et deviez basculer entre les modes si nécessaire.
Pour obtenir cette utilisation: \ x auto
Postgresql 9.5 Documentation sur la commande PSQL.
Grand écran, formatage normal:
Écran étroit, formatage étendu:
Comment démarrer psql avec \ x auto?
Configurez la
\x auto
commande au démarrage en l'ajoutant à.psqlrc
dans votre dossier personnel et en redémarrant psql. Regardez sous la section «Fichiers» dans la doc psql pour plus d'informations .~ / .psqlrc
la source
Vous avez tellement de choix, comment pourriez-vous être confus :-)? Les principaux contrôles sont les suivants:
Chacun a des options et des interactions avec les autres. Les options les plus automatiques sont:
La nouvelle option "\ x auto" passe à l'affichage ligne par ligne uniquement "si nécessaire".
L'ancien "format \ pset encapsulé" est similaire en ce qu'il essaie d'ajuster parfaitement les données à l'écran, mais revient à non aligné si les en-têtes ne tiennent pas. Voici un exemple d'enveloppé:
la source
\x auto
avec\pset pager off
est sympa.\x off; \pset format wrapped
et sont\x auto
destinés à être utilisés ensemble ou s'excluent-ils mutuellement?Une chose intéressante est que nous pouvons visualiser les tables horizontalement, sans plier. nous pouvons utiliser
PAGER
la variable d'environnement. psql en fait usage. vous pouvez définirou juste
less -S
si son déjà disponible en ligne de commande, sinon avec l'emplacement approprié. -S pour afficher les lignes dépliées. vous pouvez passer dans n'importe quelle visionneuse personnalisée ou d'autres options avec elle.J'en ai écrit plus dans Psql Horizontal Display
la source
pspg
est un outil simple qui offre un formatage de tableau avancé, un défilement horizontal, une recherche et bien d'autres fonctionnalités.assurez-vous de mettre à jour la
PAGER
variable, par exemple dans votre~/.bashrc
où
-s
représente le jeu de couleurs (1-14
). Si vous utilisez des référentiels pgdg, installez simplement un paquet (sur une distribution de type Debian):la source
Assurez-vous également de vérifier \ H, qui active / désactive la sortie HTML. Pas nécessairement facile à lire sur la console, mais intéressant pour le dumping dans un fichier (voir \ o) ou le collage dans une fenêtre d'éditeur / navigateur pour le visualiser, en particulier avec plusieurs lignes de données relativement complexes.
la source
vous pouvez utiliser la zénité pour afficher la sortie de la requête sous forme de tableau html.
implémentez d'abord le script bash avec le code suivant:
cat> '/tmp/sql.op'; zenity --text-info --html --filename = '/ tmp / sql.op';
enregistrez-le comme mypager.sh
Exportez ensuite la variable d'environnement PAGER en définissant le chemin d'accès complet du script comme valeur.
par exemple: - export PAGER = '/ path / mypager.sh'
Connectez-vous ensuite au programme psql puis exécutez la commande \ H
Et enfin, exécutez n'importe quelle requête, la sortie présentée s'affichera dans la zénité au format de table html.
la source