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

Comando COPY de Postgresql dando permisos denegados error

Una suposición:está utilizando Fedora, Red Hat Enterprise Linux, CentOS, Scientific Linux o una de las otras distribuciones que habilitan SELinux de forma predeterminada.

En su sistema operativo/versión en particular, las políticas de SELinux para PostgreSQL no permiten que el servidor lea archivos fuera del directorio de datos de PostgreSQL, o el archivo fue creado por un servicio cubierto por una política específica, por lo que tiene una etiqueta que indica que PostgreSQL no es permitido leer.

Puede confirmar si este es o no el problema ejecutando, como root:

setenforce 0

luego volver a probar. Ejecutar:

setenforce 1

para volver a habilitar SELinux después de la prueba. setenforce no es permanente; SELinux se volverá a habilitar automáticamente al reiniciar de todos modos. Deshabilitar SELinux permanentemente no suele ser una buena solución para problemas como este; si confirma que el problema es SELinux, se puede explorar más a fondo.

Como no ha especificado el sistema operativo o la versión que está utilizando, la versión de PostgreSQL, el comando exacto que está ejecutando, ls -al en el archivo, \d+ sobre la mesa, etc., es difícil dar más detalles, o saber si esto es más que una suposición. Intente actualizar su respuesta para incluir todo eso y un ls --lcontext del archivo también.