Thread: dblink / Insert several records into remote table

dblink / Insert several records into remote table

From
"P. Broennimann"
Date:
Hello

I'd like to use dblink to insert records (several) from a local table to a remote table. Is it possible to do this in one statement? Something like:

    insert into <remotetable> select col1, col2, col3 from <localtable>

Can someone give me an example or tell me what commands to use? What I have so far:

    l_connect_str = 'hostaddr=192.168.10.21 port=5432 dbname=db1 user=postgres password=test';
    perform public.dblink_connect('con1', l_connect_str);

    ...
                         
    perform public.dblink_disconnect('conn1');

P.S: I could "pull" the data (select) from the remote DB using dblink, but I prefer to "push" the data (insert) from the local DB to reduce the network traffic.

Thanks,
Peter

Re: dblink / Insert several records into remote table

From
Michael Paquier
Date:
On Mon, Aug 5, 2013 at 6:22 PM, P. Broennimann
<peter.broennimann@gmail.com> wrote:
> Hello
>
> I'd like to use dblink to insert records (several) from a local table to a
> remote table. Is it possible to do this in one statement? Something like:
>
>     insert into <remotetable> select col1, col2, col3 from <localtable>
dblink_exec can be of a certain help in this case. Documentation
provides a couple of examples:
http://www.postgresql.org/docs/9.2/static/contrib-dblink-exec.html
--
Michael