PostgreSQL tabel exporteren naar CSV bestand

Samenvatting: in deze tutorial leert u verschillende technieken om gegevens uit PostgreSQL tabellen te exporteren naar CSV bestanden.

In de vorige tutorial hebben we laten zien hoe u gegevens uit een CSV bestand kunt importeren in een tabel. We zullen de persons tabel gebruiken die we hebben gemaakt voor het importeren van gegevens uit een CSV-bestand.

posgresql export csv

Laten we de gegevens van de persons tabel controleren.

SELECT*FROMpersons;
Code language: SQL (Structured Query Language) (sql)
posgresql import csv from pgAdmin tool persons table

We hebben twee records in de tabel.

Exporteren van gegevens van een tabel naar CSV met behulp van KOPIEER verklaring

De eenvoudigste manier om gegevens van een tabel naar een CSV-bestand te exporteren is door gebruik te maken van COPY verklaring. Als u bijvoorbeeld de gegevens van de tabel persons wilt exporteren naar een CSV-bestand met de naam persons_db.csv in de map C:\tmp, dan kunt u het volgende statement gebruiken:

COPY persons TO 'C:\tmp\persons_db.csv' DELIMITER ',' CSV HEADER;
Code language: SQL (Structured Query Language) (sql)

PostgreSQL exporteert alle gegevens van alle kolommen van de persons tabel naar het persons_db.csv bestand.

postgresql export csv

In sommige gevallen wilt u gegevens uit slechts enkele kolommen van een tabel naar een CSV-bestand exporteren. Om dit te doen, specificeert u de kolomnamen samen met de tabelnaam na het COPY sleutelwoord. Bijvoorbeeld, het volgende statement exporteert gegevens van de first_namelast_name, en email kolommen van de persons tabel naar person_partial_db.csv

COPY persons(first_name,last_name,email) TO 'C:\tmp\persons_partial_db.csv' DELIMITER ',' CSV HEADER;
Code language: SQL (Structured Query Language) (sql)
postgresql export csv gedeeltelijk

Als u de koptekst niet wilt exporteren, die de kolomnamen van de tabel bevat, verwijdert u gewoon de vlag HEADER in het COPY statement. Het volgende statement exporteert alleen gegevens uit de email kolom van de persons tabel naar een CSV bestand.

COPY persons(email) TO 'C:\tmp\persons_email_db.csv' DELIMITER ',' CSV;
Code language: SQL (Structured Query Language) (sql)
postgresql export csv gedeeltelijk zonder header

Merk op dat de CSV-bestandsnaam die u opgeeft in het COPY-commando rechtstreeks door de server moet worden geschreven. Dit betekent dat het CSV-bestand op de database server moet staan, niet op uw lokale machine. Het CSV bestand moet ook beschrijfbaar zijn door de gebruiker als wie de PostgreSQL server draait.

Exporteren van gegevens uit een tabel naar een CSV bestand met behulp van het \copy commando

In het geval dat u toegang heeft tot een externe PostgreSQL database server, maar u heeft niet voldoende rechten om daarop naar een bestand te schrijven, dan kunt u het PostgreSQL ingebouwde commando \copy gebruiken.

Het \copy commando voert in principe het COPY statement hierboven uit. Echter, in plaats van dat de server het CSV bestand schrijft, schrijft psql het CSV bestand, en zet de gegevens van de server over naar je lokale bestandssysteem. Om \copy commando te gebruiken, hoeft u alleen maar voldoende privileges te hebben op uw lokale machine. Het vereist geen PostgreSQL superuser rechten.

Als u bijvoorbeeld alle gegevens van de persons tabel naar een persons_client.csv bestand wilt exporteren, kunt u het \copy commando als volgt vanuit de psql client uitvoeren:

\copy (SELECT * FROM persons) to 'C:\tmp\persons_client.csv' with csv
Code language: SQL (Structured Query Language) (sql)

In deze tutorial hebben we u laten zien hoe u COPY statement en \copy commando kunt gebruiken om gegevens uit een tabel naar CSV-bestanden te exporteren.

  • Was deze handleiding nuttig?
  • Ja/Nee

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *