现在的位置: 首页 > 综合 > 正文

Windows环境下配置PostgreSql的dblink功能

2013年09月10日 ⁄ 综合 ⁄ 共 1107字 ⁄ 字号 评论关闭

PostgreSql中的dblink功能用于通过当前数据库环境访问远程数据库数据,当然前提您必需有远程数据库的访问权限,它同Oracle中的dblink有相似的功能。

Windows环境下配置dblink其实要比在linux下简单一些,因为在您安装完PostgreSql后,在您的安装目录的PostgreSQL/8.1/lib目录下已经存在有dblink.dll文件(相当于linux下的dblink.so文件),这是使用dblink所必需的函数文件,当然在linux环境下您可以通过以下方式创建.so文件:
#cd contrib/dblink
#make
#make install
接下来的工作就是要在您需要远程访问其它DataBase的数据库中导入dblink的函数了,这些函数官方已经为您写好了,就是存放在PostgreSQL/8.1/share/contrib目录下的dblink.sql文件,您只需要进入PostgreSql命令行执行如下语句:
... ...bin>psql -d [数据库名] -f[sql文件名(即dblink.sql文件的路径+名称)]
就可以了,好了,如果看到一串 CREATE FUNCTION 那就说明成功了,接下来就是去感受一下dblink的功能了
(以下部分为网络摘抄)

下面进入psql:
pgsql=# select dblink_connect('host=localhost user=pgsql password=');
dblink_connect
----------------
OK
(1 row)
这个函数用来建立到远程数据库的连接。

我们可以像这样想远程的数据库中insert一条记录:
pgsql=# select dblink_exec('insert into student values(/'linux_prog/',/'12345/')');
dblink_exec
-------------------
INSERT 22516276 1
(1 row)

现在我们检索我们刚才insert的记录:
pgsql=# select * from dblink('select * from student') as student(name varchar(100),pass varchar(100));
name | pass
------------+-------
linux_prog | 12345
(1 row)

怎么样?刚才insert的记录已经在里面了。

dblink的功能非常强大,我上面列举的只是他的最简单的应用。大家可以参考PostgreSQL的source code下面:
contrib/dblink/sql/dblink.sql仔细看一下。

抱歉!评论已关闭.