Re: [HACKERS] Permission problem with COPY FROM - Mailing list pgsql-hackers

From Tom Lane
Subject Re: [HACKERS] Permission problem with COPY FROM
Date
Msg-id 19098.937404002@sss.pgh.pa.us
Whole thread Raw
In response to Re: [HACKERS] Permission problem with COPY FROM  (Nuchanach Klinjun <nuchk@inet.co.th>)
List pgsql-hackers
Nuchanach Klinjun <nuchk@inet.co.th> writes:
>     I've faced that problem too, then I use '\copy' instread
> of 'copy' because 'copy' command will asked for super user previlege.
> example
> ^^^^^^ -> \copy '/your location/your filename' to tablename;

It's not that; the error message Stephane quotes is after the
Postgres superuser-privilege check:

>> "ERROR: COPY command, running in backend with effective uid 501
>> (that's Postgres), could not open file '/usr/local/.../cltclr001' for
>> reading. Error: Permission not allowed (13)."

This is a result of the Unix kernel denying read access to the file.
It's got to be a matter of not having read rights on the file or not
having lookup (x) rights on one of the directories above it.

psql's \copy is often a better choice than the regular SQL COPY command,
though.  It reads or writes the file with the privileges of the user
running psql, rather than those of the Postgres server, which is usually
a Good Thing.  Also, if you are contacting a server on a different
machine, \copy works with files in the local filesystem, not the
server's filesystem.

            regards, tom lane

pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: [HACKERS] BUG with UNIQUE clause
Next
From: Tom Lane
Date:
Subject: Re: [HACKERS] Status report: long-query-string changes