PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Comando Postgresql COPY dando erro de permissões negadas


Um palpite:você está usando Fedora, Red Hat Enterprise Linux, CentOS, Scientific Linux ou uma das outras distribuições que habilitam o SELinux por padrão.

Em seu SO/versão em particular, as políticas do SELinux para PostgreSQL não permitem que o servidor leia arquivos fora do diretório de dados do PostgreSQL, ou o arquivo foi criado por um serviço coberto por uma política direcionada, portanto, possui um rótulo de que o PostgreSQL não é permitido ler.

Você pode confirmar se este é ou não o problema executando, como root:
setenforce 0

depois reteste. Correr:
setenforce 1

para reativar o SELinux após o teste. setenforce não é permanente; O SELinux será reativado automaticamente na reinicialização de qualquer maneira. Desabilitar o SELinux permanentemente não costuma ser uma boa solução para problemas como este; se você confirmar que o problema é SELinux, ele pode ser mais explorado.

Como você não especificou o SO ou a versão que está usando, a versão do PostgreSQL, o comando exato que está executando, ls -al no arquivo, \d+ sobre a mesa, etc, é difícil dar mais detalhes ou saber se isso é mais do que um palpite. Tente atualizar sua resposta para incluir tudo isso e um ls --lcontext do arquivo também.