postgresql通过dblink操作远程数据库

安装

找到postgresql安装目录,在postgresql-10.3/contrib/dblink下,运行

make && make install

注:可以使用find命令找到dblink文件夹

find .* -name dblink

安装完毕之后,目录下多了dblink.so和dblink.o

在数据库中运行

create extension dblink;

至此,dblink安装完毕

使用

1、连接远程数据库

select dblink_connect('dblinkname','host=host port=port dbname=dbname user=dbuser password=pwd');

其中,dblinkname为别名即此连接的名称(非必填),host为主机ip,port为端口号,dbname为数据库名称,dbuser和password为数据库的用户名和密码。

实例:

select dblink_connect('test','host=localhost port=5432 dbname=postgres user=dbuser password=*********');

2、查询远程数据库

select * from dblink('test','select id from tbtest;') as t1(id int);

tbtest为远程数据库上的表,test为建立连接时取的名字。需注意要给远程数据库上查询的字段标注数据类型。

3、将远程数据库上的数据插入本地数据库

insert into test1 select * from dblink('test','select id tbtest;') as t1(id int);

在查询的基础上,套上insert语句即可。由此可以达到从远程数据库迁移到本地的效果。

4、断开连接

select dblink_disconnect('test');

 

你可能感兴趣的:(postgresql)