Thread: local disk access for a remote psql connection

local disk access for a remote psql connection

From
P Kapat
Date:
I am connecting to a remote machine using (both local client and
remote server are RedHat EL 5.3):

psql -d mydb -h remote.machine.example.com -U myuser -W

After giving the password, the connection is made and I can
list/create tables etc. Now I want to copy a csv file, which is on the
local client machine, into a table on the remote server machine. I try
to do so via:

COPY  myschm.mytb  FROM  '/home/myuser/myfile.csv'  WITH CSV header
QUOTE AS '\"';

which clearly doesn't work, giving: ERROR:  could not open file ......
No such file or directory

I could transfer the file from my local client to the remote host, but
I would prefer not to. This creates a syncing headache between the
local and remote machines. Similarly when copying an existing table to
disk, I would prefer it to write to the local client's disk rather
than to the remote server's disk.

Is any/both of these possible?

--
Regards
PK
--------------------------------------
http://counter.li.org  #402424

Re: local disk access for a remote psql connection

From
Tom Lane
Date:
P Kapat <kap4lin@gmail.com> writes:
> ... Now I want to copy a csv file, which is on the
> local client machine, into a table on the remote server machine. I try
> to do so via:

> COPY  myschm.mytb  FROM  '/home/myuser/myfile.csv'  WITH CSV header
> QUOTE AS '\"';

> which clearly doesn't work, giving: ERROR:  could not open file ......
> No such file or directory

Of course it won't work; that command reads files on the server's
filesystem.  Use psql's \copy command to copy files from/to the client
filesystem.

            regards, tom lane