Articles

Copia

Tweet

Che cos’è la copia

Postgres viene fornito con diverse grandi utility per spostare i tuoi dati. Quelle ovvie sono pg_dump e pg_restore per i backup e i ripristini dei database. Un’utilità simile di cui si parla molto meno, ma altrettanto preziosa, è l’utilità copy di Postgres. Copy ti permette di copiare dati dentro e fuori le tabelle del tuo database. Supporta diverse modalità tra cui:

  • binario
  • tab delimitato
  • csv delimitato

Che sia per il caricamento di massa dei dati per i test, per fare un ETL leggero, o semplicemente per prendere un estratto di dati da inviare a qualcuno, è una utility che ogni sviluppatore vorrà utilizzare ad un certo punto.

Copy in azione

Estrazione di tutti i dipendenti in un file delimitato da tabulazione:

\copy (SELECT * FROM employees) TO '~/employees.tsv';

Estrazione di tutti i dipendenti in un file delimitato da csv:

\copy (SELECT * FROM employees) TO '~/employees.csv' WITH (FORMAT CSV);

Estrarre tutti i dipendenti in un file binario (notare le virgolette intorno alla parola Binario):

\copy (SELECT * FROM employees) TO '~/employees.dat' WITH (FORMAT "Binary");

E per caricare i dati in una tabella l’equivalente per ognuno dei precedenti:

\copy employees FROM '~/employees.tsv';\copy employees FROM '~/employees.csv' WITH CSV;\copy employees FROM '~/employees.dat' WITH BINARY;

Lascia una risposta

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *