Zum Beispiel habe ich eine Tabelle speichert Wert:
%Vor% Wie kann ich 12345
in einer Variablen in postgresql oder Shell-Skript speichern?
Folgendes habe ich in meinem Shell-Skript versucht:
%Vor% aber echo $var
gibt mir:
Ich habe es auch versucht
%Vor% in psql und wenn ich \set
eintippe, listet es auf:
Nein, nein, nein! Verwenden Sie "Rohdaten" wechseln von psql, wie "-t" oder "\ t" und pipe die Abfrage zu psql statt Ascii-Tabelle zu analysieren, komm schon: -)
%Vor% Wenn Sie wirklich psql-Ausgabe parsen müssen, könnten Sie auch den Schalter -H (aktiviert die HTML-Ausgabe) verwenden und ihn mit einem Perlmodul analysieren, um HTML-Tabellen zu analysieren. Ich habe das ein- oder zweimal benutzt eine pgpass-Datei und ~/.psqlrc
für einige Standardwerte, wie die Standard-DB für die Verbindung, wenn nicht angegeben.
Sie können das Ergebnis filtern, das Sie mit dem Befehl psql
erhalten:
In dieser Antwort erkläre ich eine Möglichkeit, dies zu tun, indem ich einen Co-Prozess für die Kommunikation zwischen Hin-und-Her verwende mit psql
. Das ist Overkill, wenn Sie nur eine Abfrage ausführen müssen und ein einzelnes Ergebnis erhalten, aber vielleicht ist es gut zu wissen, ob Sie Shell-Skripte mit psql
verwenden.
Tags und Links shell postgresql