sql >> Base de Datos >  >> RDS >> PostgreSQL

Función COPIAR en PostgreSQL

Parece que está confundido por la notación de ruta de archivo de Linux frente a Windows. Lo que tienes allí es una ruta de Linux anclada a la raíz. Windows usa letras de unidad, que puede especificar igual de bien cuando ejecuta Windows.

Si usa la notación de Windows, tenga cuidado de tener que barras invertidas de escape si no está utilizando standard_conforming_strings = on - que es el predeterminado en Postgres 9.1 o posterior, pero no en versiones anteriores. Me gusta:

COPY data_table from E'C:\\tmp\\outputdata.csv' WITH ...

Con standard_conforming_strings = on simplemente puede escribir:

COPY data_table from 'C:\tmp\outputdata.csv' WITH ...

Tenga en cuenta que un servidor PostgreSQL de Windows también entiende la notación de ruta predeterminada con barras diagonales en lugar de barras diagonales inversas.

Para SQL COPY FROM / TO puede usar cualquier ruta que procese el propietario del servidor (postgres por defecto) tiene permiso de lectura/escritura.

Para el \copy metacomando del cliente psql se aplican los permisos del usuario local actual.