加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

postgresql的外部表

发布时间:2020-12-13 18:08:41 所属栏目:百科 来源:网络整理
导读:CREATE EXTENSION postgres_fdw; 先用上面的命令安装扩展,按照网上的说法还要先编译什么的我也没执行,反正上面就成功了. 然后是创建远程服务: CREATE SERVER server156 FOREIGN DATA WRAPPER postgres_fdwOPTIONS (host '192.168.1.156',dbname 'bossdb',por
CREATE EXTENSION postgres_fdw;

先用上面的命令安装扩展,按照网上的说法还要先编译什么的我也没执行,反正上面就成功了.

然后是创建远程服务:

CREATE SERVER server156
  FOREIGN DATA WRAPPER postgres_fdw
OPTIONS (host '192.168.1.156',dbname 'bossdb',port '5432');

这里有个坑,就是如果192.168.1.156连不上的情况下上面语句也会执行成功.其实真正的连接到远程服务器是要等到后面dml执行时才会连接

然后是创建用户映射:

CREATE USER MAPPING FOR postgres
  SERVER server156
  OPTIONS (user 'postgres',password '000000');

这里如果输错了也不会知道.

最后是创建远程表

CREATE FOREIGN TABLE if NOT EXISTS qbit_test (
  id INTEGER,name CHARACTER VARYING(50),class CHARACTER VARYING(50),time CHARACTER VARYING(50)
)
  SERVER server156
OPTIONS (schema_name 'public',table_name 'qbit_test');

如果要删除则执行下面命令:
DROP FOREIGN TABLE IF EXISTS qbit_test;

试了一下用本地的表和外边join查询还挺快的:-)

发现一个悲剧,我按照官网alter server 报错.网上也没说法

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读