On 6 March 2012 11:08, Majid Azimi <majid.merkava@gmail.com> wrote:
> hi guys,
>
> I'm going to run COPY from a shell script. But this script is running
> on my local PC. The database is not local. Now which permission should
> the output file?This is the command:
>
> psql -U <user> -h <remote_ip> -d testdb -c "COPY (SELECT * FROM
> main.data) TO /home/backup.sql WITH CSV HEADER;"
>
> postgresql doc says:
>
> Files named in a COPY command are read or written directly by the
> server, not by the client application. Therefore, they must reside on
> or be accessible to the database server machine, not the client. They
> must be accessible to and readable or writable by the PostgreSQL user
> (the user ID the server runs as), not the client.
>
> I'm confused about permissions of the output when the DB is remote and
> the output file is local.
No you have misunderstood the documentation.
What it is trying to say is that your COPY command will try to create
a file ON THE SERVER called /home/backup.sql.
--
Michael Wood <esiotrot@gmail.com>