sql >> Database >  >> RDS >> PostgreSQL

Gegevens met regelfeeds exporteren als CSV vanuit PostgreSQL

Om het bestand naar een andere server te exporteren heeft u twee opties:

  • Een gedeelde map maken tussen de twee servers, zodat de database ook toegang heeft tot deze map.

COPY (SELECT field1,field2 FROM your_table) TO '[shared directory]' DELIMITER ',' CSV HEADER;

  • De export van de doelserver activeren met behulp van de STDOUT vanCOPY . psql gebruiken u kunt dit bereiken door de volgende opdracht te gebruiken:

psql yourdb -c "COPY (SELECT * FROM your_table) TO STDOUT" > output.csv

BEWERKEN :Het probleem aanpakken van velden die regelinvoer bevatten (\n )

Als je van de regelfeeds af wilt, gebruik dan de REPLACE functie.

Voorbeeld:

 SELECT E'foo\nbar';
 ?column? 
----------
 foo     +
 bar
(1 Zeile)

De regelinvoer verwijderen:

SELECT REPLACE(E'foo\nbaar',E'\n','');
 replace 
---------
 foobaar
(1 Zeile)

Dus uw COPY zou er als volgt uit moeten zien:

COPY (SELECT field1,REPLACE(field2,E'\n','') AS field2 FROM your_table) TO '[shared directory]' DELIMITER ',' CSV HEADER;


  1. mysql-gebeurtenis werkt niet

  2. met behulp van pl/sql hoe open ik een map?

  3. MySQL-connector voor Python

  4. PgBouncer Connection Pooler voor PostgreSQL gebruiken met ClusterControl 1.8.2