1119 Stimmen

Speichern der PL/pgSQL-Ausgabe von PostgreSQL in eine CSV-Datei

Wie kann ich die PL/pgSQL-Ausgabe einer PostgreSQL-Datenbank am einfachsten in einer CSV-Datei speichern?

Ich verwende PostgreSQL 8.4 mit pgAdmin III und dem PSQL-Plugin, von dem aus ich Abfragen ausführe.

11voto

fphilipe Punkte 9110

Ich habe ein kleines Tool namens psql2csv die die COPY query TO STDOUT Muster, was zu einer korrekten CSV-Datei führt. Die Schnittstelle ist ähnlich wie bei psql .

psql2csv [OPTIONS] < QUERY
psql2csv [OPTIONS] QUERY

Es wird angenommen, dass die Abfrage der Inhalt von STDIN ist, falls vorhanden, oder das letzte Argument. Alle anderen Argumente werden an psql weitergeleitet, außer diesen:

-h, --help           show help, then exit
--encoding=ENCODING  use a different encoding than UTF8 (Excel likes LATIN1)
--no-header          do not output a header

10voto

pyAddict Punkte 1366

Ich habe verschiedene Dinge ausprobiert, aber nur wenige davon konnten mir die gewünschte CSV-Datei mit Kopfzeilenangaben liefern.

Bei mir hat das folgendermaßen funktioniert.

psql -d dbame -U username \
  -c "COPY ( SELECT * FROM TABLE ) TO STDOUT WITH CSV HEADER " > \
  OUTPUT_CSV_FILE.csv

9voto

Andres Kull Punkte 4216

Wenn Sie eine längere Abfrage haben und psql verwenden möchten, speichern Sie Ihre Abfrage in einer Datei und verwenden Sie den folgenden Befehl:

psql -d my_db_name -t -A -F";" -f input-file.sql -o output-file.csv

5voto

Murli Punkte 506

Um eine CSV-Datei mit Spaltennamen als HEADER herunterzuladen, verwenden Sie diesen Befehl:

Copy (Select * From tableName) To '/tmp/fileName.csv' With CSV HEADER;

-3voto

Dennis Punkte 51330

JackDB , ein Datenbank-Client in Ihrem Webbrowser, macht dies wirklich einfach. Vor allem, wenn Sie auf Heroku sind.

Damit können Sie eine Verbindung zu entfernten Datenbanken herstellen und SQL-Abfragen durchführen.

                                                                                                                                                        Fuente jackdb-heroku
(Quelle: <a href="http://static.jackdb.com/assets/img/blog/jackdb-heroku-oauth-connect.gif" rel="nofollow noreferrer">jackdb.com </a>)


Sobald Ihre DB verbunden ist, können Sie eine Abfrage durchführen und in CSV oder TXT exportieren (siehe unten rechts).


jackdb-export

Anmerkung: Ich bin in keiner Weise mit JackDB verbunden. Ich nutze derzeit deren kostenlose Dienste und halte es für ein großartiges Produkt.

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