postgresql跨库创建视图

需求:
A库a表中的字段拆分1个到B库b表,所以b表中只保留唯一标识字段(可以理解为id)和另一个被拆分的字段

需要用到的拓展:CREATE EXTENSION dblink

使用dblink创建连接:

SELECT dblink_connect('other_db', 'hostaddr=【IP地址】 port=【端口号】 dbname=【数据库名称】 user=【连接用户名】password=【连接密码】');

使用连接查询数据:

SELECT * FROM dblink('other_db', 'SELECT id,nameFROM tableName') AS t(id int8,name varchar(255));

重点:跨库创建视图

CREATE VIEW "【schema名称】"."【视图名称】" AS
SELECT a.*,b.name
FROM a a
JOIN  (
    SELECT t.*
    FROM dblink('hostaddr=【IP地址】 port=【端口号】 dbname=【连接b表的数据库名称】 user=【连接b表的用户信息】 password=【连接b表的密码】', 'SELECT id,nameFROM b') t(id int8,name varchar(255))) as b ON a.id= b.id;

你可能感兴趣的:(postgresql,数据库,sql)