一、背景
不同库的数据表想要关联查询,但是pg不支持跨库查询
二、解决
使用dblink,首先需要在目标数据库上创建dblink,通过执行`create extension dblink`。
示例:
db1库的user表
db2库的company表
首先访问db1库,执行以下sql便能查询到db2库company表数据
代码语言:javascript复制select id,company_name
from
dblink('host=10.0.0.0 port=5432 dbname=db2 user=db2username password= db2pwd','select id,company_name from company') as t(id varchar,company_name varchar);
关联
代码语言:javascript复制select
a.id
,a.username
,b.id
,b.company_name
from user a
left join (
select
id,company_name
from
dblink('host=10.0.0.0 port=5432 dbname=db2 user=db2username password= db2pwd','select id,company_name from company') as t(id varchar,company_name varchar)
) b
on a.id=b.id
;