postgre:远程数据库访问db_link

本文介绍如何在PostgreSQL中配置和使用dblink功能来访问远程数据库。通过安装dblink.dll文件并导入dblink.sql中的函数,可以实现从本地数据库查询远程数据库的数据。示例展示了连接远程数据库、插入记录及查询的操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

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仔细看一下。


上面例子是自己引用别人的文章

有了db_link,PostgreSQL就有了很强的分布式处理能力

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值