Donnerstag, Oktober 24, 2013

Postgres: csv Export

Das Thema ist andernorts schon hundertfach erläutert worden, aber da ich inzwischen mehrfach danach gesucht habe, hier eine kurze Notiz zu den beiden Möglichkeiten, csv-Dateien für die Ergebnisse von postgres-Queries zu erzeugen.

COPY-Kommando in PSQL

In diesem Fall erfolgt der Aufruf in psql und schreibt die csv-Datei test.csv ins aktuelle Arbeitsverzeichnis:

-- in psql
-- mit header und Semikolon als Feld-Delimiter
test=# \copy (select * from t) to test.csv with csv header delimiter ';'

PSQL-Aufruf mit Ausgabe in Datei

Hier erfolgt der Aufruf in der Shell und erzeugt die angegebene csv-Datei:

-- Beispiel mit windows cmd
-- --pset footer: unterdrückt feedback zur Anzahl glieferter Zeilen
-- -A: unaligned output mode; ohne die Einstellung liefert psql eine tabellarische Darstellung
-- -F: definiert den Feldseparator (hier also das Semikolon)
-- -c: Angabe der auszuführenden Query
psql.exe -U postgres -d test --pset footer -A -F; -c "select * from t" > c:\temp\test.csv

Keine Kommentare:

Kommentar veröffentlichen