Ich verwende PostgreSQL 8.4 unter Ubuntu. Ich habe eine Tabelle mit Spalten c1
durch cN
. Die Spalten sind breit genug, sodass durch Auswahl aller Spalten eine Reihe von Abfrageergebnissen mehrmals 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 sich jede Spalte jeder Zeile in einer separaten Zeile befindet, z
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 machen kann?
quelle
\x
Allein wird der Wert umgeschaltet und Sie sparen drei Tastenanschläge! (Nützlich, wenn Sie schnell zwischen breiten und schmalen Ausgängen wechseln).\G
MySQL suchen, versuchen Sie, es\x\g\x
an das Ende der Abfrage anzuhängen oder eine Verknüpfung beim~/.psqlrc
Hinzufügen zu definieren\set G '\\set QUIET 1\\x\\g\\x\\set QUIET 0'
, und verwenden Sie es dann am Ende:G
. (Beachten Sie das Fehlen von Semikolons)\x on
" oder das Äquivalent an der Kommandozeile zu übergeben? Es wäre schön, wenn ich nur speichern könnte (zum Beispiel mithilfe eines Bash-Shell-Alias),psql --something
damit ich die Option immer standardmäßig aktiviert habe.-P expanded=auto
oder--pset expanded=auto
(Neu) Erweiterter Auto-Modus: \ x Auto
Neu für Postgresql 9.2; PSQL passt Datensätze automatisch an die Bildschirmbreite an. Bisher hatten Sie nur den erweiterten Modus ein- oder ausgeschaltet und mussten bei Bedarf zwischen den Modi wechseln.
Um dies zu erhalten, verwenden Sie: \ x auto
Postgresql 9.5 Dokumentation zum PSQL-Befehl.
Breitbild, normale Formatierung:
Schmaler Bildschirm, erweiterte Formatierung:
Wie starte ich psql mit \ x auto?
Konfigurieren Sie den
\x auto
Befehl beim Start, indem Sie ihn.psqlrc
in Ihrem Home-Ordner hinzufügen und psql neu starten. Weitere Informationen finden Sie im Abschnitt "Dateien" im psql-Dokument .~ / .psqlrc
quelle
Sie haben so viele Möglichkeiten, wie könnten Sie verwirrt sein :-)? Die Hauptsteuerelemente sind:
Jeder hat Optionen und Interaktionen mit den anderen. Die automatischsten Optionen sind:
Die neuere Option "\ x auto" wechselt nur "bei Bedarf" zur zeilenweisen Anzeige.
Das ältere "verpackte \ pset-Format" ist insofern ähnlich, als es versucht, die Daten ordentlich auf dem Bildschirm anzupassen, aber auf nicht ausgerichtet zurückgreift, wenn die Überschriften nicht passen. Hier ist ein Beispiel für verpackt:
quelle
\x auto
mit\pset pager off
ist eine schöne.\x off; \pset format wrapped
und\x auto
sollen sie zusammen verwendet werden oder schließen sie sich gegenseitig aus?Eine interessante Sache ist, dass wir die Tische horizontal betrachten können, ohne sie zu falten. Wir können
PAGER
Umgebungsvariablen verwenden. psql macht davon Gebrauch. Sie können einstellenoder nur,
less -S
wenn es bereits in der Befehlszeile verfügbar ist, wenn nicht an der richtigen Stelle. -S, um ungefaltete Linien anzuzeigen. Sie können damit jeden benutzerdefinierten Viewer oder andere Optionen übergeben.Ich habe mehr in Psql Horizontal Display geschrieben
quelle
pspg
ist ein einfaches Tool, das erweiterte Tabellenformatierung, horizontales Scrollen, Suchen und viele weitere Funktionen bietet.Stellen Sie dann sicher, dass Sie die
PAGER
Variable aktualisieren , z~/.bashrc
wo
-s
steht für Farbschema (1-14
). Wenn Sie pgdg-Repositorys verwenden , installieren Sie einfach ein Paket (in einer Debian-ähnlichen Distribution):quelle
Schauen Sie sich auch \ H an, um die HTML-Ausgabe ein- und auszuschalten. Nicht unbedingt einfach an der Konsole zu lesen, aber interessant zum Speichern in eine Datei (siehe \ o) oder zum Einfügen in ein Editor- / Browserfenster zum Anzeigen, insbesondere bei mehreren Zeilen mit relativ komplexen Daten.
quelle
Sie können die Zenität verwenden, um die Abfrageausgabe als HTML-Tabelle anzuzeigen .
Implementieren Sie zuerst das Bash-Skript mit folgendem Code:
cat> '/tmp/sql.op'; zenity --text-info --html --filename = '/ tmp / sql.op';
Speichern Sie es wie mypager.sh
Exportieren Sie dann die Umgebungsvariable PAGER, indem Sie den vollständigen Pfad des Skripts als Wert festlegen.
Zum Beispiel: - export PAGER = '/ path / mypager.sh'
Melden Sie sich dann beim psql-Programm an und führen Sie den Befehl \ H aus
Wenn Sie eine Abfrage ausführen, wird die angegebene Ausgabe im HTML-Tabellenformat im Zenity angezeigt.
quelle