psql denies access to file when using COPY FROM
drwxr--r-- 6 peter peter 4096 2011-04-14 14:03 phm postgres@dexter:/home/peter/PyPacks$ cd phm bash: cd: phm: Permission denied
Directories need to be executable to be able to cd into them (or use files within them). All the sub-directory from /
to the /home/peter/PyPacks/phm
need to be executable by the user you want to use for this to work.
Try at least chmod 711 phm
(which should give you rwx--x--x
), or perhaps chmod 755 phm
(rwxr-xr-x
). r
for directories is the ability to list their content, not to go into them (or use files/directories within them).
Assuming the psql
command-line tool, you may use \copy
instead of copy
.
\copy
opens the file and feeds the contents to the server, whereas copy
tells the server the open the file itself and read it, which may be problematic permission-wise, or even impossible if client and server run on different machines with no file sharing in-between.
Under the hood, \copy
is implemented as COPY FROM stdin
and accepts the same options than the server-side COPY
.
from https://stackoverflow.com/questions/19463074/postgres-error-could-not-open-file-for-reading-permission-denied