postgres_fdw模块
PostgreSQL 9.3 add postgres_fdw extension for accessing remote tables
PostgreSQL 9.3新增了一个postgres_fdw模块, 已经整合在源码包中. 用于创建postgres外部表.
注:db_des为目标库,developer_month_orders_data为表名。意思就是从查询库a中建立同名FOREIGN关联表,
可以查询目标库中的数据。以下命令在需要建立的关联库中执行。
目标库中的表必须存在,也就是先建立好,否则从a库,查询会报找不到表错误
阿里云RDS,数据库:PostgreSQL 9.4,跨实例数据库不支持postgres_fdw建立外部表,坑啊!
阿里云技术回复RDS需要10.0版本的 postgresql才支持跨实例。不然只能同一个实例下的不同数据库之间的外部表。
-- 安装 postgres_fdw 插件 CREATE EXTENSION postgres_fdw; -- 创建远程服务 CREATE SERVER remote_server FOREIGN DATA WRAPPER postgres_fdw; -- 查看远程服务 select * from pg_foreign_server ; -- 修改远程服务 alter server remote_server options (add hostaddr '11.216.10.215', add port '5432', add dbname 'db_des'); -- SERVER赋权 grant usage on foreign server remote_server to postgres; -- 在本地数据库中创建user mapping CREATE USER MAPPING FOR postgres server remote_server options (user 'postgres', password 'xxxxx'); -- 同样创建枚举 CREATE TYPE db_enum AS ENUM ('postgres', 'sqlserver', 'mysql'); -- 查看枚举类型的oid select oid from pg_type where typname='db_enum'; -- 创建外部表developer_month_orders_data CREATE FOREIGN TABLE developer_month_orders_data( id integer not null, developer_user_id integer, package_id integer, order_month date, create_datetime timestamp ) SERVER remote_server options (schema_name 'public',table_name 'developer_month_orders_data'); -- 查看外部表 select * from developer_month_orders_data;
ddl维护操作:
drop user mapping for postgres server server_remote ; drop server server_remote; drop extension postgres_fdw ; drop foreign table test1;
补充:postgresql postgres_fdw 跨库查询
1 安装扩展
create extension postgres_fdw;
2 本地创建server并查看 该server作用是在本地配置一个连接远程的信息,下面的配置是要连接到远程DB名称是postgres数据库
create server server_remote_rudy_01 foreign data wrapper postgres_fdw options(host ‘192.168.11.44',port ‘5432',dbname ‘vsphere_info');
查询:
select * from pg_foreign_server ;**
3 创建用户匹配信息并查看,在本地
for后面的postgres是本地登录执行的用户名,option里存储的是远程的用户密码
create user mapping for postgres server server_remote_rudy_01 options(user ‘vsphere',password ‘viadmin');
4 本地创建外部表,指定server
CREATE FOREIGN TABLE v1_cost(sample_time TIMESTAMP,datacenter_id int4,host_id int4 ,cost NUMERIC) server server_remote_rudy_01 options (schema_name ‘public',table_name ‘vi_cost');
5 –导入指定的表,也可以不导入指定的表,也可以导入整个schema下面的表(可有可无的一步)
IMPORT FOREIGN SCHEMA public FROM SERVER server_remote_rudy_01 INTO public; IMPORT FOREIGN SCHEMA public limit to(t1) FROM SERVER server_remote_rudy_01 INTO public;
以上为个人经验,希望能给大家一个参考,也希望大家多多支持。如有错误或未考虑完全的地方,望不吝赐教。
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。