Vamos supor que precisamos importar para a tabela "tb_esporte" os dados do arquivo "'C:/temp/arq_esporte.csv'". Conforme imagem a seguir:
Arquivo: arq_esporte.csv
Para importar o arquivo utilizamos o comando sql COPY e o arquivo deve estar armazenado no servidor do banco de dados.
Caso você precise acessar remotamente um arquivo, ou seja, o arquivo está em uma outra máquina você deve utilizar o comando psql \copy. Acesse o link em:
COPY tb_esporte
(
id,
esporte_desc,
disponibilidade
)
FROM 'C:/temp/arq_esporte.csv'
DELIMITER ';'
CSV HEADER;
Significado:
Para visualizar a tabela com os dados importados execute um select:
- COPY: comando utilizado para importar a tabela;
- tb_esporte: nome da tabela que receberá os dados;
- (...): dentro do parenteses colocamos as colunas que receberão os dados. Neste caso, utilizamos as colunas id, esporte_desc e disponibilidade;
- FROM: após o "FROM" devemos colocar o diretório que está localizado o arquivo. O diretório sempre deve usar "/", nunca "\", tanto para Windows quanto para Linux. O arquivo que será importado tem a extensão csv, também poderiamos importar um arquivo com a extensão "txt";
- DELIMITER: após o delimiter devemos colocar o separador que o arquivo utiliza. O separador poder ser ";", ",", "|" entre outros. Neste caso, o separador do arquivo é ";" ;
- CSV HEADER: utilize "CSV HEADER" caso não queira importar a primeira linha. Para este arquivo não importamos a primeira linha, pois é o cabeçalho;
Para visualizar a tabela com os dados importados execute um select:
SELECT * FROM tb_esportes;
Veja o resultado na imagem abaixo.
Possíveis problemas com a codificação
Se a codificação do arquivo for diferente do seu banco, pode ocorrer um erro e o seu arquivo não ser importado. Exemplo: se o seu arquivo tiver a codificação "ANSI" e o da sua tabela tiver a codificação "UTF-8". A mensagem de erro exibida será:
ERRO: sequência de bytes é inválida para codificação "UTF8": 0xe7e36f
Para resolver este erro você poder salvar o arquivo com a codificação "UTF-8". No campo "tipo" escolha a codificação "UTF-8" e depois pressione o botão Salvar. Veja a imagem abaixo.