目录
一、背景
数据库类型:postgres
需要将两个数据库(pg_a/pg_b)下的表在pg里面跨库关联查询。
pg_a数据库的table_a表;pg_b数据库的table_b表。
二、实践
sql
--pg_b库表信息
SELECT *
FROM dblink('dbname=pg_b host=ip user=pg_b_user password=pg_b_pwd port=5432',
'SELECT id, amount FROM table_b')
AS t(id varchar,amount int8);
--跨库关联
select
t1.id,t1.amount,t2.id,t2.amount
from pg_a.table_a t1
left join (
SELECT *
FROM dblink('dbname=pg_b host=ip user=pg_b_user password=pg_b_pwd port=5432',
'SELECT id, amount FROM table_b')
AS t(id varchar,amount int8)
) t2
on t1.id=t2.id
;