Importando e Exportando dados

<< Click to Display Table of Contents >>

Navigation:  PostgreSQL > Manutenção >

Importando e Exportando dados

Previous pageReturn to chapter overviewNext page

O comando Copy é usado como forma rápida para importação de dados e exportação

Importando de um arquivo texto:

 

Imagine ter a tabela exemplo:

CREATE TABLE tempo (cidade VARCHAR(80), data DATE, valor REAL)

 

e ter o arquivo texto (d:\cid.txt):

Criciuma;2007-09-14;1.23

Floripa;2007-09-13;2.87

Sao Paulo;2007-09-14;1.23

Icara;2007-09-13;2.87

Rincao;2004-10-11;1.99
 

Observação: valores null devem estar com \N no lugar do campo, exemplo:

Criciuma;2007-09-14;1.23

Floripa;2007-09-13;\N

Sao Paulo;2007-09-14;1.23

Icara;\N;2.87

Rincao;2004-10-11;1.99
 

Para importar do texto (formato CVS) para a base:

COPY tempo FROM 'd:/cid.txt' WITH DELIMITER ';';

 

Agora fazendo o Select para retornar os valores:

SELECT * FROM tempo;

 

  cidade   |    data    | valor

-----------+------------+-------

 Criciuma  | 2007-09-14 |  1.23

 Floripa   | 2007-09-13 |  2.87

 Sao Paulo | 2007-09-14 |  1.23

 Icara     | 2007-09-13 |  2.87

 Rincao    | 2004-10-11 |  1.99

(5 rows)

 

Exportando para um arquivo texto:

 

COPY tempo TO 'd:/cid.txt' WITH DELIMITER ';';
 

O comando copy também aceita SELECT no lugar do nome da tabela:

COPY (SELECT * FROM tempo WHERE valor < 2) TO STDOUT WITH DELIMITER ';';

 

Criciuma;2007-09-14;1.23

Sao Paulo;2007-09-14;1.23

Rincao;2004-10-11;1.99
 

Neste exemplo stdout indica tela ao invés de arquivo

Copiando apenas alguns campos

COPY TEMPO (cidade, data) FROM 'd:/cid.txt' WITH DELIMITER ';';