Soy un novato en psql y necesito ayuda. ¿Cómo puedo cargar un CSV local en una base de datos remota?
Estoy usando el siguiente comando
\COPY test(user_id, product_id, value)
FROM '/Users/testuser/test.tsv' WITH DELIMITER '\t' CSV HEADER;
pero esto busca el archivo en la base de datos remota mientras necesito hacerlo en mi PC local.
postgresql
postgresql-9.1
usuario22149
fuente
fuente
\copy
lee un archivo local (es unpsql
comando y solo se puede usar desde adentropsql
).COPY
sin embargo (tenga en cuenta que la falta ``) leerá el archivo en el servidor.E'\t'
. Pero la pestaña debería ser la predeterminada si no especifica un delim de todos modos.Respuestas:
Hay dos posibilidades aquí.
Si está utilizando psql, entonces \ copy es la forma correcta de hacer las cosas como usted menciona.
Si está utilizando un programa cliente que ha creado, entonces necesita
Y luego alimente el archivo (consulte la documentación sobre el comando COPIAR) .
El comando COPIAR es una bestia un poco extraña. Es el único comando que PostgreSQL admite actualmente de Quel, por lo que no es estándar y se basa en un paradigma diferente al resto de los comandos. Por esta razón, es importante leer los documentos con relativa atención en este comando.
fuente