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!
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.