Sou iniciante no psql e preciso de ajuda. Como carregar um CSV local em um banco de dados remoto?
Estou usando o seguinte comando
\COPY test(user_id, product_id, value)
FROM '/Users/testuser/test.tsv' WITH DELIMITER '\t' CSV HEADER;
mas isso pesquisa o arquivo no banco de dados remoto enquanto eu preciso fazer isso no meu PC local.
postgresql
postgresql-9.1
user22149
fonte
fonte
\copy
lê um arquivo local (é umpsql
comando e só pode ser usado de dentropsql
).COPY
no entanto (observe o `` ausente) lerá o arquivo no servidor.E'\t'
. Mas tab deve ser o padrão se você não especificar um delim de qualquer maneira.Respostas:
Existem duas possibilidades aqui.
Se você estiver usando o psql, \ copy é a maneira correta de fazer as coisas como você mencionou.
Se você estiver usando um programa cliente que você criou, será necessário
E, em seguida, alimente o arquivo (consulte a documentação no comando COPY .
O comando COPY é um animal ligeiramente estranho. É o único comando que o PostgreSQL suporta atualmente no Quel e, portanto, não é padrão e é baseado em um paradigma diferente do restante dos comandos. Por esse motivo, é importante ler os documentos com bastante atenção nesse comando.
fonte