484 Stimmen

Alternatives Ausgabeformat für psql mit einer Spalte pro Zeile und Spaltenname

Ich verwende PostgreSQL 8.4 auf Ubuntu. Ich habe eine Tabelle mit Spalten c1 über cN . Die Spalten sind so breit, dass die Auswahl aller Spalten dazu führt, dass eine Zeile der Abfrageergebnisse mehrfach umbrochen wird. Folglich ist die Ausgabe schwer zu lesen.

Wenn die Abfrageergebnisse nur wenige Zeilen umfassen, wäre es praktisch, wenn ich die Abfrageergebnisse so anzeigen könnte, dass jede Spalte jeder Zeile in einer eigenen Zeile steht, z. B.

 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.

Ich führe diese Abfragen auf einem Server aus, auf dem ich keine zusätzliche Software installieren möchte. Gibt es eine psql-Einstellung, mit der ich so etwas tun kann?

11voto

Nam G VU Punkte 30552

Wenn Sie auf der Suche nach psql sind command-line mode wie ich,

aquí ist die Syntax --pset expanded=auto

psql-Befehlszeilenoptionen:
-P expanded=auto
--pset expanded=auto
-x
--erweitert
...

Eine andere Möglichkeit ist -q Option ref

7voto

Wexxor Punkte 1914

Schauen Sie sich auch Folgendes an \H der die HTML-Ausgabe ein- und ausschaltet. Nicht unbedingt einfach auf der Konsole zu lesen, aber interessant, um sie in eine Datei zu schreiben (siehe \o ) oder das Einfügen in ein Editor-/Browser-Fenster zur Ansicht, insbesondere bei mehreren Zeilen mit relativ komplexen Daten.

2voto

Können Sie die zenity um die Abfrageausgabe als html-Tabelle anzuzeigen.

  • implementieren Sie zunächst ein Bash-Skript mit folgendem Code:

    cat > '/tmp/sql.op'; zenity --text-info --html --filename='/tmp/sql.op';

    speichern Sie es wie mypager.sh

  • Dann exportieren Sie die Umgebungsvariable PAGER, indem Sie den vollständigen Pfad des Skripts als Wert angeben.

    zum Beispiel:- export PAGER='/pfad/mypager.sh'

  • Loggen Sie sich dann in das Programm psql ein und führen Sie den Befehl \H

  • Und schließlich führen Sie eine beliebige Abfrage aus, die tabellarische Ausgabe wird in zenity im html-Tabellenformat angezeigt.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X