web-dev-qa-db-fra.com

PSQL nie l'accès au fichier lors de l'utilisation de la copie de

Quand je fais ça:

COPY "mytable" FROM '/my/file.csv' WITH DELIMITER AS ',' CSV;

Sur ce:

-rw-r--r-- 1 peter peter 54819176 2011-07-21 13:17 file.csv

psql me dit ceci:

ERROR:  could not open file "/my/file.csv" for reading: Permission denied

Comment puis-je lire mon fichier ?? Merci!

--- Mettre à jour

Il ressemble à quelque chose appelé apparmor est installé par défaut à Ubuntu.
[.____] Semble avoir la même fonctionnalité que SELINUX, mentionnée dans les commentaires.

--- Mettre à jour

Après avoir supprimé apparmor, j'ai toujours le même problème. selinux n'est pas installé.

En ce qui concerne le commentaire ci-dessous à propos de l'accès, la copie d'un compte superutilisateur est exécutée (il donne un message d'erreur différent si non) et les autorisations de fichier, copiées ci-dessus, je comprends "lisible par tout le monde".

--- Mettre à jour

J'ai essayé d'accéder au fichier sous l'utilisateur postgres. Il reste coincé à un endroit particulier dans l'arbre

drwxr--r-- 6 peter peter 4096 2011-04-14 14:03 phm

postgres@dexter:/home/peter/PyPacks$ cd phm

bash: cd: phm: Permission denied

Je suppose que je vais simplement mettre le dossier ailleurs, mais c'est étrange!

6
Pete

Sur Linux, l'utilisateur Postgres doit avoir le droit de lire les fichiers et d'exécuter les répertoires. Il a également besoin d'un redémarrage du serveur PSQL.

1
Darth Kangooroo