es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Por qué no funciona Copy o \copy para mí en Pgsql?

Estoy intentando importar datos de un archivo .csv a Postgres. He intentado lo siguiente y obtuve los siguientes errores:

Copiar TA_Files
DESDE 'C:\Usuarios\ABla47\Documentos\TA 11.19.21.csv'
DELIMITADOR ','
CSV HEADER;

ERROR: no se puede abrir el archivo “C:\Usuarios\ABla47\Documentos\TA
11.19.21.csv” para su lectura: Permiso denegado

PISTA: COPY FROM indica al proceso del servidor PostgreSQL que lea un
archivo. Quizás desee una función a nivel del cliente, como \copy de psql.

Estado SQL: 42501

Después intenté:

\Copiar TA_Files
DESDE '\Documentos\TA 11.19.21.csv'
DELIMITADOR ','
CSV HEADER;

ERROR: error de sintaxis en o cerca de “\”

LÍNEA 1: \Copiar TA_Files

¿Alguien puede ayudarme a saber qué formato necesito usar para llevar los datos del archivo .csv a la tabla?

Gracias

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Parece que el primer intento de copiar el archivo CSV en postgres falló debido a problemas de permisos. El mensaje de error sugiere usar una facilidad del lado del cliente, como el \copy de psql. El segundo intento causó un error de sintaxis ya que el carácter \ no es reconocido en este contexto.

    Para importar datos desde un archivo CSV en una tabla postgres utilizando \copy de psql, siga estos pasos:

    1. Abra psql y conéctese a la base de datos deseada.
    2. Navegue hasta el directorio que contiene el archivo CSV utilizando la interfaz de línea de comandos.
    3. Use el siguiente comando para importar los datos:

      \copy TA_Files FROM ‘TA 11.19.21.csv’ DELIMITER ‘,’ CSV HEADER;

    • Reemplace “TA_Files” con el nombre de la tabla en la que desea copiar los datos.
    • Reemplace “TA 11.19.21.csv” con la ruta completa del archivo CSV, o solo el nombre del archivo si está en el mismo directorio que la sesión o terminal de psql.
    • Especifique el tipo de delimitador, en este caso una coma (,).
    • CSV HEADER indica que la primera fila en el archivo CSV contiene los nombres de las columnas.
    1. Después de ejecutar el comando anterior, debería ver un mensaje que dice “COPY n” donde n es la cantidad de filas copiadas.

    Si sigue teniendo problemas con la importación, verifique los permisos adecuados en el archivo y asegúrese de que se haya guardado en un formato compatible con postgres.

Comments are closed.