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. dbi-link seems like it uses perl's dbi to connect to a remote db. 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. 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 ---------------------------(end of broadcast)--------------------------- TIP 2: Don't 'kill -9' the postmaster