创建dblink
查看是否已安装dblink插件
--查看当前数据库是否安装dblingk插件
SELECT * FROM pg_extension WHERE extname = 'dblink';
未安装
安装dblink插件
--安装dblink
CREATE EXTENSION dblink;
再次查询
--查看当前数据库是否安装dblingk插件
SELECT * FROM pg_extension WHERE extname = 'dblink';
创建dblink连接
有效期:当前会话
若想长期有效的话,可以利用dblink_fdw 或 postgres_fdw 建立外部服务器使用
--连接远程数据库,执行完后显示OK即连接建立成功
SELECT dblink_connect('连接名称','hostaddr=要连接数据库的IP port=要连接数据库的端口 dbname=要连接的数据库名 user=要连接数据库的用户名 password=要连接数据库的密码');
查看该库已创建的连接
-- 查询所有已连接的dblink
select dblink_get_connections();
利用dblink实现跨库查询
SELECT * FROM dblink('连接名称','SELECT name,id_no FROM "user_info"') as t_temp(name text,id_no text)
UNION ALL
select name,id_no from user_info
sql解释:
连接名称: 为创建dblink时所设置的名称
SELECT name,id_no FROM "user_info:在远程库查询语句
as t_temp(name text,id_no text):t_temp 临时表名,name text,id_no text 字段对应数据类型
删除dblink连接
--删除dblink连接
SELECT dblink_disconnect('连接名称');
-- 查询所有已链接的dblink
select dblink_get_connections();