psql - schreibt eine Abfrage und die Ausgabe der Abfrage in eine Datei

8

In postgresql 9.3.1, wenn Sie interaktiv eine Abfrage mit dem Befehl psql entwickeln Das Endergebnis besteht manchmal darin, die Abfrageergebnisse in eine Datei zu schreiben:

%Vor%

Das funktioniert gut. Aber wie kann ich die -Abfrage selbst zusammen mit den Abfrageergebnissen in die Datei schreiben lassen?

Ich habe versucht, psql den --echo-queries -Schalter zu geben:

%Vor%

Aber dies wiederholt sich immer auf stdout, nicht auf die Datei, die ich mit dem \ o-Befehl angegeben habe.

Ich habe auch den Schalter --echo-all ausprobiert, aber es scheint keine interaktiven Eingaben zu geben.

Mit der Bearbeitung von Befehlen kann ich die Abfrage mit \qecho davor wiederholen. Das funktioniert, ist aber langweilig.

Gibt es eine Möglichkeit, eine interaktive Psql-Sitzung zu leiten, um sowohl die Abfrage als auch die Abfrageausgabe in eine Datei zu schreiben?

    
Wayne Conrad 06.12.2013, 20:28
quelle

2 Antworten

11

Sie können versuchen, das stdout direkt von Ihrer Shell in eine Datei umzuleiten (Win oder Linux sollte funktionieren)

%Vor%

Dies hat den Nachteil, dass Sie die Ausgabe nicht interaktiv sehen können. Wenn das ein Problem ist, können Sie entweder die Ausgabedatei in einem separaten Terminal zusammenfassen oder, wenn Sie in * nix sind, das Dienstprogramm tee verwenden:

%Vor%

Hoffe, das hilft!

Luca

    
Luca Abbati 17.12.2013, 11:34
quelle
5

Ich weiß, dass dies eine alte Frage ist, aber zumindest in 9.3 und aktuellen Versionen ist dies mit den in der Dokumentation gezeigten Meta-Befehlen für den Abfragepuffer möglich, oder \? Von der PSQL-Konsole: Ссылка

%Vor%     
Blockhead 20.07.2016 19:44
quelle

Tags und Links