GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

So exportieren Sie eine PostgreSQL-Tabelle in CSV

Einführung

PostgreSQL (oder Postgres ) ist ein objektrelationales Datenbankverwaltungssystem ähnlich wie MySQL, unterstützt jedoch erweiterte Funktionalität und Stabilität. Eine hervorragende Funktion ist, dass Sie eine Postgres-Tabelle in eine .CSV-Datei exportieren können Datei. Dies kann besonders hilfreich sein, wenn Sie eine Tabelle in ein anderes System übertragen oder in eine andere Datenbankanwendung importieren.

In diesem Tutorial erfahren Sie, wie Sie eine Postgres-Tabelle mithilfe von \copy in eine CSV-Datei exportieren und COPY Befehle.

Voraussetzungen

  • PostgreSQL auf dem System installiert
  • Eine vorhandene Datenbank in PostgreSQL
  • Ein Terminalfenster / Befehlszeile (Strg+Alt+T)

Bevor Sie mit PostgreSQL beginnen

Postgres kann unter Windows, Mac, Linux installiert und sogar in einem Docker-Container bereitgestellt werden. Diese Anleitung führt Sie durch das Verfahren mit Ubuntu Linux. Alle Befehle exportieren kann in jedem anderen unterstützten Betriebssystem verwendet werden.

Wenn Sie Postgres nicht haben, können Sie es installieren, indem Sie die Software von der Website des Entwicklers herunterladen. Installieren Sie Postgres unter Ubuntu aus den Standard-Repositories, indem Sie Folgendes eingeben:

sudo apt-get install postgresql

Sobald der Dienst startet, müssen Sie eine Datenbank erstellen oder importieren.

Exportieren Sie Daten aus der Tabelle in .CSV mit dem COPY-Befehl

In psql gibt es zwei verschiedene Befehle.

Die grundlegende Verwendung von COPY Befehl lautet wie folgt:

COPY db_name TO [/path/to/destination/db_name.csv] DELIMITER ‘,’ CSV HEADER;

Ersetzen Sie db_name mit dem tatsächlichen Namen Ihrer Datenbank und dem /path/to/destination durch den tatsächlichen Speicherort, an dem Sie die .CSV-Datei speichern möchten.

Unter Windows möchten Sie beispielsweise eine Kopie unter C:\tmp\db_name.csv speichern . Unter Linux könnte der Standardpfad /tmp/db_name.csv sein . Dann können Sie die .CSV-Datei öffnen und den Inhalt der Tabelle in einem etwas anderen Format sehen. Sie können den Unterschied im Beispiel unten sehen.

Zuerst listen wir den Inhalt einer bestimmten Tabelle in der psql-Shell auf mit dem Befehl:

SELECT * FROM [table_name]

Die Ausgabe zeigt die Werte in unserer Beispieltabelle wie im Bild unten:

Jetzt können Sie es mit der entsprechenden .CSV-Datei vergleichen. Die aus der zuvor erwähnten Tabelle exportierten Daten erscheinen in einer .CSV-Datei, wie in der folgenden Abbildung zu sehen:

Exportieren Sie bestimmte Spalten aus der Tabelle in .CSV

Sie können den COPY verwenden Befehl, um auf bestimmte Spalten abzuzielen:

COPY [db_name](column1,column2,column3) TO [/path/to/destination/db_name_partial.csv] DELIMITER ‘,’ CSV HEADER;

Exportieren Sie Daten aus der Tabelle in .CSV mit dem \copy-Befehl

Verwenden Sie \copy Befehl, wenn Sie aus der Ferne arbeiten. Es ermöglicht Ihnen, Daten von einem Server in eine CSV-Datei auf einem lokalen Client-Computer zu exportieren. Verwenden Sie es wie folgt:

\copy (SELECT * FROM [db_name]) to [/path/to/destination] CSV HEADER

Ersetzen Sie db_name mit dem Namen der Quelldatenbank. Ersetzen Sie /path/to/destination mit dem tatsächlichen Speicherort für die .CSV-Datei. Unter Windows können Sie nach C:tmpdb_name.csv exportieren . Unter Linux können Sie nach /tmp/db_name.csv exportieren .

Die Datei \copy Der Befehl erfordert nur erhöhte Berechtigungen für das Clientsystem. Dies ist hilfreich, wenn Sie nicht über ausreichende Berechtigungen zum Ausführen von COPY verfügen Befehl auf dem Server. Auch die Datei \copy Befehl können Sie einen relativen Pfad verwenden.

Sie könnten beispielsweise desktop/db_name.csv angeben auf einem Windows-System, und es würde auf dem Desktop des aktuellen Benutzers gespeichert.


Ubuntu
  1. So erstellen Sie eine Tabelle in Hive

  2. So erstellen Sie eine Tabelle in MySQL

  3. So erstellen Sie eine externe Tabelle in Hive

  4. So installieren Sie PostgreSQL unter Ubuntu 18.04

  5. So exportieren Sie eine Tabelle von MySQL nach CSV

So installieren Sie TimescaleDB unter Ubuntu 20.04

Wie installiere ich PostgreSQL unter Debian 11?

So installieren Sie PostgreSQL unter Ubuntu 14.04

So installieren Sie PostgreSQL unter Ubuntu 15.04

So installieren Sie PostgreSQL unter Ubuntu 16.04

Wie exportiere ich meine PostgreSQL-Datenbank?