Re: dblink vs dbi-link (and errors compiling)

From: Erik Jones <erik(at)myemma(dot)com>
To: Ow Mun Heng <Ow(dot)Mun(dot)Heng(at)wdc(dot)com>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: dblink vs dbi-link (and errors compiling)
Date: 2007-09-07 05:17:01
Message-ID: 6F0F7798-DB0A-4287-AB6F-338484D235F6@myemma.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general


On Sep 6, 2007, at 10:54 PM, Ow Mun Heng wrote:

> I'm confused as to the difference between dblink and dbi-link.
>
> dblink is included in the contrib directory and dbi-link is available
> from pgfoundry.
>
> dblink seems like it creates a view of a remote DB and is static,
> which
> means that it needs to be refreshed each time.

Yes. dblink allows you to run queries from one postgres database
against another postgres database.

>
> dbi-link seems like it uses perl's dbi to connect to a remote db.

dbi-link allows you to run queries from one postgres database against
any database that can be accessed via perl's dbi library.
>
> In either of the above, I would like to know which one is able to help
> me to like connect to a remote DB, use the table there and join to a
> local table in PG so that I don't have to use DBI to pull and insert
> those data into the local PG database.

Neither. To the best of my knowledge, there isn't anything that will
allow you to to do that. Select the data you need from the remote
source into a temp table and join against that if you don't want to
keep the data locally after you've used it.

>
> BTW, dblink doesn't compile. (8.2.4)
>
> gcc -O2 -Wall -Wmissing-prototypes -Wpointer-arith -Winline
> -Wdeclaration-after-statement -Wendif-labels -fno-strict-aliasing -
> fpic
> -I../../src/interfaces/libpq -I. -I../../src/include -
> D_GNU_SOURCE -c
> -o dblink.o dblink.c
> dblink.c:56:28: error: utils/fmgroids.h: No such file or directory
> dblink.c: In function 'get_pkey_attnames':
> dblink.c:1684: error: 'F_OIDEQ' undeclared (first use in this
> function)
> dblink.c:1684: error: (Each undeclared identifier is reported only
> once
> dblink.c:1684: error: for each function it appears in.)
> make: *** [dblink.o] Error 1

In the src/contrib/dblink/ directory of the source tree you built
postgres from just do

make
make install

Erik Jones

Software Developer | Emma®
erik(at)myemma(dot)com
800.595.4401 or 615.292.5888
615.292.0777 (fax)

Emma helps organizations everywhere communicate & market in style.
Visit us online at http://www.myemma.com

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Ron Johnson 2007-09-07 05:18:45 Re: Column as arrays.. more efficient than columns?
Previous Message Ron Johnson 2007-09-07 05:07:03 Re: a provocative question?