478 votes

Format de sortie alternative pour psql

Je suis à l'utilisation de PostgreSQL 8.4 sur Ubuntu. J'ai une table avec des colonnes c1 par cN. Les colonnes sont suffisamment larges que la sélection de toutes les colonnes provoque une rangée de résultats de la requête à enrouler 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 si je pouvais voir les résultats de la requête, de sorte que chaque colonne de chaque ligne est 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.

Je suis en cours d'exécution de ces requêtes sur un serveur où je préfère ne pas installer de logiciel supplémentaire. Est-il un psql réglage qui me permettra de faire quelque chose comme ça?

789voto

user100464 Points 1851

J’ai juste besoin de passer plus de temps à regarder la documentation. Cette commande :

va faire exactement ce que je voulais. Voici quelques exemple de sortie :

363voto

Rich Points 593

(Nouveau) Élargi en Mode Automatique: \x auto

Nouveau pour Postgresql 9.2; PSQL ajuste automatiquement des enregistrements à la largeur de l'écran. auparavant, vous n'aviez étendu ou désactive le mode et avait pour basculer entre les modes que nécessaire.

  • Si l'enregistrement peut s'adapter à la largeur de l'écran; psql utilisations normales mise en forme.
  • Si le dossier peut pas tenir dans la largeur de l'écran; psql utilise en mode détaillé.

Pour obtenir cette utilisation: \x auto

Postgresql 9.2 de la Documentation sur la commande PSQL.


Écran large, normale de mise en forme:

 id | time  |       humanize_time             | value 
----+-------+---------------------------------+-------
  1 | 09:30 |  Early Morning - (9.30 am)      |   570
  2 | 11:30 |  Late Morning - (11.30 am)      |   690
  3 | 13:30 |  Early Afternoon - (1.30pm)     |   810
  4 | 15:30 |  Late Afternoon - (3.30 pm)     |   930
(4 rows)

L'écran étroit, élargi mise en forme:

-[ RECORD 1 ]-+---------------------------
id            | 1
time          | 09:30
humanize_time | Early Morning - (9.30 am)
value         | 570
-[ RECORD 2 ]-+---------------------------
id            | 2
time          | 11:30
humanize_time | Late Morning - (11.30 am)
value         | 690
-[ RECORD 3 ]-+---------------------------
id            | 3
time          | 13:30
humanize_time | Early Afternoon - (1.30pm)
value         | 810
-[ RECORD 4 ]-+---------------------------
id            | 4
time          | 15:30
humanize_time | Late Afternoon - (3.30 pm)
value         | 930

94voto

Bryce Points 1709

Vous avez autant de choix, comment pourriez-vous être confondues :-)? Les commandes principales sont:

# \pset format
# \H
# \x
# \pset pager off

Chacun a des options et des interactions avec les autres. Le automatique de la plupart des options sont les suivantes:

# \x off;\pset format wrapped
# \x auto

Le plus récent "\x auto" commutateurs de ligne-par-ligne afficher que "si nécessaire".

-[ RECORD 1 ]---------------
id          | 6
description | This is a gallery of oilve oil brands.
authority   | I love olive oil, and wanted to create a place for
reviews and comments on various types.
-[ RECORD 2 ]---------------
id          | 19
description | XXX Test A 
authority   | Testing

L'ancien "\pset format enveloppé" est similaire en ce qu'elle essaie de faire correspondre les données proprement sur l'écran, mais retombe à des non alignés si les en-têtes ne sont pas adaptées. Voici un exemple de la enveloppé:

 id |          description           |            authority            
----+--------------------------------+---------------------------------
  6 | This is a gallery of oilve     | I love olive oil, and wanted to
    ; oil brands.                    ;  create a place for reviews and
    ;                                ;  comments on various types.
 19 | Test Test A                    | Testing

7voto

Wexxor Points 1347

Veillez également à vérifier \H, qui active/désactive la sortie HTML marche/arrêt. Pas nécessairement facile à lire sur la console, mais intéressant pour le déversement dans un fichier (voir \o) ou coller dans une fenêtre d’éditeur/navigateur pour l’affichage, surtout avec plusieurs lignes de données relativement complexes.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X