Cópia
Tweet
O que é a cópia
Naves Postgres com várias grandes utilidades para mover os seus dados. Os óbvios são pg_dump e pg_restore para backups e restaurações de bases de dados, claro. Um utilitário semelhante que é muito menos falado, mas igualmente tão valioso é o utilitário de cópia do Postgres. A cópia permite a cópia de dados para dentro e para fora das tabelas da sua base de dados. Suporta vários modos, incluindo:
- binário
- separador delimitado
- csv delimitado
p>Se é para carregamento de dados em massa para testes, fazer algum ETL leve, ou simplesmente agarrar um extracto de dados para enviar a alguém o seu utilitário que todos os programadores irão querer utilizar em algum momento.
Cópia em Acção
Extraindo todos os funcionários para um ficheiro csv delimitado:
\copy (SELECT * FROM employees) TO '~/employees.tsv';
Extraindo todos os funcionários para um ficheiro csv delimitado:
\copy (SELECT * FROM employees) TO '~/employees.csv' WITH (FORMAT CSV);
Extraindo todos os empregados para um ficheiro binário (notar as citações em torno da palavra Binário):
\copy (SELECT * FROM employees) TO '~/employees.dat' WITH (FORMAT "Binary");
E para carregar dados numa tabela o equivalente para cada um dos acima referidos:
\copy employees FROM '~/employees.tsv';\copy employees FROM '~/employees.csv' WITH CSV;\copy employees FROM '~/employees.dat' WITH BINARY;