阅读原文请点击:
http://click.aliyun.com/m/23939/
摘要: 标签 PostgreSQL , ETL , 数据转换 , 实时转换 , 规则 , 触发器 背景 PostgreSQL是一个功能很强大的数据库,仅仅在数据类型、索引接口的支持方面,就远超各种开源和商业数据库。
标签
PostgreSQL , ETL , 数据转换 , 实时转换 , 规则 , 触发器
背景
PostgreSQL是一个功能很强大的数据库,仅仅在数据类型、索引接口的支持方面,就远超各种开源和商业数据库。
有些用户从其他数据源迁移到PostgreSQL,或者有其他数据源来的数据,大多数是字符串、数字,到了PostgreSQL可以转换为更精准的描述(数据类型),提升性能或功能。
例如
1、经纬度,在其他数据库中可能存成两个字段,分别表示经度和纬度。
PostgreSQL支持geometry类型,支持点、线、面、栅格、TOP等GIS类型。
2、数据范围,在其他数据库中可能存成两个字段,分别表示下限和上限。
PostgreSQL通过range支持数值、时间、IP地址等数据类型的范围。
3、IP地址,在其他数据库中可能存为字符串。
PostgreSQL支持network类型。
4、JSON,在其他数据库中可能存成字符串。
PostgreSQL支持JSON类型。
5、图像特征值、线段、多边形、圆形、UUID、XML、数组等,在其他数据库中可能存成字符串。
PostgreSQL支持以上类型。
6、全文检索,在其他数据库中可能需要借助搜索引擎支持。
PostgreSQL支持全文检索类型。
7、枚举类型,在其他数据库中可能存成字符串。
PostgreSQL支持枚举类型。
那么如何将数据从字符串平滑、实时的在入库阶段转换为PostgreSQL支持的类型呢?
PostgreSQL支持trigger和rule,使用任意方法,都可以做到数据的平滑转换。
rule 转换 例子
数据来源是2个字段表示的经纬度,要求实时转换为geometry类型。
创建来源表结构
postgres=# create table nt(id int, c1 numeric, c2 numeric);
CREATE TABLE
创建目标表结构
postgres=# create table nt_geo (id int, geo geometry);
CREATE TABLE
对来源表创建规则或触发器,例如
postgres=# create rule r1 as on insert to nt do instead insert into nt_geo values (NEW.id, ST_MakePoint(NEW.c1,NEW.c2));
CREATE RULE
使用来源数据结构,将数据插入来源数据表
postgres=# insert into nt values (1,1,1);
INSERT 0 1
数据会自动写入目标表,来源表只是个转换入口,不会落数据
postgres=# select * from nt;
id | c1 | c2
----+----+----
(0 rows)
postgres=# select * from nt_geo ;
id | geo
----+--------------------------------------------
1 | 0101000000000000000000F03F000000000000F03F
(1 row)
阅读原文请点击:
http://click.aliyun.com/m/23939/
分享到:
相关推荐
懒人经济变现指南-凯络-201904.pdf
Carat-懒人经济变现指南-2019.4-41页.pdf.pdf
Carat-懒人经济变现指南-4-41页.pdf
5.1声卡懒人KX-VST-效果库安装包
懒人版小学生1-6年级计算题练习v0.2在v0.1版基础上取消打印页数选择,一次只能打印一页口算题,增加了题目答案二维码
EVE模拟器懒人版-SPOTO重新打包(17G,超强版) a10-vthunder acs-5.6 asa-8.02asa-8.42 asav-941-200 bigip-11.3.0-Trial cips-ips7 cpsg-r77 csr1800v-universalk9-15.4-3S dsm-5.2 esxi-6.5 fortinet-5.2fortinet...
2013年3月27道道通春季版普高清全分辨率懒人包RT-H1A-17AW-K
网红食品行业:自热火锅研究——“网红”火锅来袭,懒人群体迎来福利-201027精品报告2020.pdf
导航地图,凯立德的导航夏季懒人包!最新版是2012年的
DS3622Xs-7.1.1懒人包
Vmware群晖DS918+6.2-25426(懒人包),简单方便,解压导入即可使用。
根据小学数学教材,按不同年级需要的不同题目类型进行编程,不需要输入数据,仅需要点点鼠标即可生成相应年级的计算题。 软件操作流程 1、左侧选择年级 2、点选打印模式或做题模式 3、如果选择打印模式, 3.1、...
懒人专用 - 一键关机 原创工具 懒人专用 一键 关机 bat脚本
ESXI系统专用DS3622xs+7.2-64561(懒人包),导入即可使用!
文件搜索大师 懒人必备神器 记忆力不佳 快速找文件神器"Everything" 是 Windows 上一款搜索引擎,它能够基于文件名快速定文件和文件夹位置。 您在搜索框输入的关键词将会筛选显示的文件和文件夹。"Everything" 仅...
懒人精灵源码懒人精灵源码懒人精灵源码懒人精灵源码
懒人理财APP-Meet组.rp
Jmeter5.3版本,修改源码RequestViewHTTP.class,字符编码修改为utf-8 ,解决上传文件与录制脚本的中文乱码问题,下载jar文件替换到Jmeter的lib/ext目录下即可,重启jmeter,重新选择上传文件,在请求中设置内容编码...
懒人图库图片切换 懒人图库图片切换 懒人图库图片切换 懒人图库图片切换 懒人图库图片切换 懒人图库图片切换 懒人图库图片切换 懒人图库图片切换 懒人图库图片切换 懒人图库图片切换 懒人图库图片切换 懒人图库图片...
A light,网盘文件,本人亲测可用,连接永久有效 docker ubuntu. docx Docker Chrome Node. docx PNET 4.0.2 SD-WAN Lab_For- Dummies _By_ Doge. ova ...he docker wireshark.docx Ubuntu Desktop....