18720358503 在线客服 人才招聘 返回顶部
企业动态 技术分享 行业动态

Postgresql 9.3外界数据信息封裝的新作用

2021-04-22分享 "> 对不起,没有下一图集了!">

Postgresql 9.3外界数据信息封裝的新作用


短视頻,自新闻媒体,达人种草1站服务 这周postgresql公布了9.3宣布版,该版本号包括可写的外界数据信息封裝、数据信息页 checksums、迅速的常见故障迁移和 streaming-only remastering 这些。很有幸,企业第1時间让我试下外界数据信息分装可写的这个作用。原先postgresql 9出示可远程控制载入数据信息库的作用,如今更是添加远程控制可写。因此根据fdw(Foreign Data Wrappers),简易讲可让大家在当地数据信息库实际操作远程控制数据信息库了。这和以前详细介绍的dblink有类似的地方,可是fdw出示更多全透明和规范的英语的语法,并且特性也比dblink好。

第1步:安裝postgres_fdw拓展

postgres=# create extension postgres_fdw;

假如提醒 CREATE EXTENSION ,表明安裝取得成功。

第2步:建立远程控制数据信息库服务器

//先在远程控制数据信息库vm05中新建数据信息库zhang和数据信息表world。

postgres=# create database zhang ;

postgres=# c zhang

zhang=# create table world (greeting text) ;

//随后psql登录当地数据信息库建立vm05-zhang

postgres=# create server vm05_zhang foreign data wrapper postgres_fdw options (host 192.168.0.235 ,dbname zhang ,port 3500

create server指令英语的语法:

CREATE SERVER server_name [ TYPE server_type ] [ VERSION server_version ] FOREIGN DATA WRAPPER fdw_name [ OPTIONS ( option value [, ... ] ) ]

server_name:远程控制数据信息库的名字,在1个数据信息库中务必是唯1的。

server_type、server_version:可选,将会对1些外界数据信息封裝有效。

fdw_name:外界数据信息分装姓名,这里大家是postgres_fdw。

options:别的可选主要参数,包含数据信息库详细地址,数据信息库名字和端口号等。

第3步:建立投射客户

CREATE USER MAPPING特定联接远程控制数据信息库的客户,这些数据信息和建立的foreign server远程控制服务器1起被封裝起来。有着foreign server管理权限的客户能够建立投射客户。

postgres=# create user mapping FOR PUBLIC server vm05_zhang options (password xxx

create user mapping指令英语的语法:

CREATE USER MAPPING FOR { user_name | USER | CURRENT_USER | PUBLIC }

SERVER server_name

[ OPTIONS ( option value [ , ... ] ) ]

user_name:现有的客户投射到远程控制server。USER和CURRENT_USER配对当今的客户,沒有特殊客户能用便可以挑选PUBLIC。

server_name:当今必须客户投射到的远程控制数据信息库服务器名,第2步早已建立。

options:别的可选像,包含客户名、登陆密码等。

比如:CREATE USER MAPPING FOR bob SERVER foo OPTIONS (user bob , password secret );

第4步:建立远程控制表

这里必须留意,建立表的列要和远程控制表的列要配对,种类最好是是1样。远程控制表的列能够少些,次序能够不关键,由于fdw是依据姓名来配对的。

postgres=# create foreign table vm05_world (greeting text) server vm05_zhang options (table_name world

第5步:查询实际效果

//在vm05_world表格中插进3条数据信息

postgres=# insert into vm05_world values ( Take me to your leader

postgres=# insert into vm05_world values ( Take me to your leader.........

postgres=# insert into vm05_world values ( Hello World!!!!!

//查询vm05_world表格中数据信息

postgres=# select * from vm05_world ;

greeting

---------------------------------

Take me to your leader

Take me to your leader.........

Hello World!!!!!

(3 rows)

//实际上这个是在vm05这台服务器上,大家登录vm05查询是不是了解据。

zhang=# select * from world ;

greeting

---------------------------------

Take me to your leader

Take me to your leader.........

Hello World!!!!!

(3 rows)

能够看到插进数据信息取得成功,自然大家还可以在update和delete from表vm05_world ,假如投射的客户有这个管理权限的话。

至此postgres_fdw外界数据信息封裝可写宣布检测进行,针对实际操作多张表很有效。总结的较为浅显,也有不搞清楚的能够参照postgresql的官方文本文档:


"> 对不起,没有下一图集了!">
在线咨询