postgresql 9.2中将引入生成json数据功能 -凯发k8国际

12顶
1踩

postgresql 9.2中将引入生成json数据功能

2012-01-17 14:41 by 资深编辑 luiang1018 评论(22) 有16260人浏览
postgresql开发者andrew dunstan:
引用
上周三,也就是postgresql 9.2最后一个到来的前四天,robert haas提交了一个名为的补丁,欲将json列为postgresql的核心类型。基本上,该补丁功能是对文本进行解析,确保它是有效的json数据,并加以存储。这个功能我原本打算在9.2版本中放弃的,不过我考虑了下发现robert的补丁太小了点,因此决定继续并又添加了一些功能,包括:query_to_json()、array_to_json()以及record_to_json(),完成了从prostgresql生成json数据。

以下是来自回归测试中的一些简单示例:
select query_to_json('select x as b, x * 2 as c from generate_series(1,3) x',false);
                query_to_json                
---------------------------------------------
 [{"b":1,"c":2},{"b":2,"c":4},{"b":3,"c":6}]
(1 row)
select array_to_json('{{1,5},{99,100}}'::int[]);
  array_to_json   
------------------
 [[1,5],[99,100]]
(1 row)
-- row_to_json
select row_to_json(row(1,'foo'));
     row_to_json     
---------------------
 {"f1":1,"f2":"foo"}
(1 row)

更简单一点的:
select row_to_json(q) 
from (select $$a$$ || x as b, 
         y as c, 
         array[row(x.*,array[1,2,3]),
               row(y.*,array[4,5,6])] as z 
      from generate_series(1,2) x, 
           generate_series(4,5) y) q;
                            row_to_json                             
--------------------------------------------------------------------
 {"b":"a1","c":4,"z":[{"f1":1,"f2":[1,2,3]},{"f1":4,"f2":[4,5,6]}]}
 {"b":"a1","c":5,"z":[{"f1":1,"f2":[1,2,3]},{"f1":5,"f2":[4,5,6]}]}
 {"b":"a2","c":4,"z":[{"f1":2,"f2":[1,2,3]},{"f1":4,"f2":[4,5,6]}]}
 {"b":"a2","c":5,"z":[{"f1":2,"f2":[1,2,3]},{"f1":5,"f2":[4,5,6]}]}
(4 rows)


via 

12
1
评论 共 22 条 请登录后发表评论
22 楼 2014-09-20 22:00
快乐的牛 写道
小功能嘛,自己实现也就几行代码了。
而且,让ps在后台做这些事情,不一定合适;数据库本身负担变重了不说,可能影响系统的分层设计:我要转换成xml输出,难道再另外写一个 xxx_to_xml()?

这个还真有,xml和json现在实在用得太广泛了
21 楼 2012-01-20 00:10
快乐的牛 写道
kjj 写道
你用过了?没用过就泼这种莫须有的脏水!!!



又没强迫你用这个功能= =不知道你在展示你的什么高屋建瓴。
20 楼 2012-01-19 17:32
kjj 写道
你用过了?没用过就泼这种莫须有的脏水!!!


19 楼 2012-01-19 16:59
这个功能一下省了好多事,强大!!!不知性能如何?
18 楼 kjj 2012-01-19 16:39
快乐的牛 写道
kjj 写道
快乐的牛 写道
小功能嘛,自己实现也就几行代码了。
而且,让ps在后台做这些事情,不一定合适;数据库本身负担变重了不说,可能影响系统的分层设计:我要转换成xml输出,难道再另外写一个 xxx_to_xml()?

会用数据库不!!
人家强迫你一定用json了吗?

你会不会用数据库啊!
不是强迫的问题,这只是一个额外的功能,你用了,可能不一定合适的,明白?

可能不一定合适? 什么可能?
你用过了?没用过就泼这种莫须有的脏水!!!
17 楼 2012-01-19 12:23
kjj 写道
快乐的牛 写道
小功能嘛,自己实现也就几行代码了。
而且,让ps在后台做这些事情,不一定合适;数据库本身负担变重了不说,可能影响系统的分层设计:我要转换成xml输出,难道再另外写一个 xxx_to_xml()?

会用数据库不!!
人家强迫你一定用json了吗?

你会不会用数据库啊!
不是强迫的问题,这只是一个额外的功能,你用了,可能不一定合适的,明白?
16 楼 kjj 2012-01-19 11:21
快乐的牛 写道
小功能嘛,自己实现也就几行代码了。
而且,让ps在后台做这些事情,不一定合适;数据库本身负担变重了不说,可能影响系统的分层设计:我要转换成xml输出,难道再另外写一个 xxx_to_xml()?

会用数据库不!!
人家强迫你一定用json了吗?
15 楼 2012-01-19 08:52
小功能嘛,自己实现也就几行代码了。
而且,让ps在后台做这些事情,不一定合适;数据库本身负担变重了不说,可能影响系统的分层设计:我要转换成xml输出,难道再另外写一个 xxx_to_xml()?
14 楼 2012-01-18 16:19
postgresql的中文文档太少啦,大牛多翻译点资料吧。
13 楼 2012-01-18 14:35
这个帅气的功能让我想尽快试试这个版本了。postgresql真牛啊。
12 楼 2012-01-18 13:39
支持一下 学习一下
11 楼 2012-01-18 13:15
我去,好强大,这个在web开发下能火一下啊
10 楼 kjj 2012-01-18 12:57
damoqiongqiu 写道
这功能真牛逼,反向的能不能给力?
把一个json串直接撸成跟数据表字段对应

那逼近nosql格式了
9 楼 kjj 2012-01-18 12:56
果断转向postgresql!!!!!!!
8 楼 2012-01-18 12:44
这功能真牛逼,反向的能不能给力?
把一个json串直接撸成跟数据表字段对应
7 楼 2012-01-18 10:12
welcome!
6 楼 2012-01-18 09:40
nice job
5 楼 2012-01-18 09:12
  果断学习postgresql,不能再托了!
4 楼 osacar 2012-01-18 02:39
我也转向postgresql了。支持!
3 楼 2012-01-17 20:52
还能再牛逼一点吗

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • 表数据读取方式 (1)全表扫描 全表扫描在postgresql中也称为顺序扫描(seq scan),全表扫描就是把表中所有数据块从头到尾扫描一遍,然后从数据块中找到符合条件的数据块。 全表扫描在 explain 执行计划结果中用 ...

  • explain (analyze true|false,verbose true|false,costs true|false,buffers true|false,format text|xml|json|yaml) analyze:真实执行sql获取执行计划,dml语句不想改变数据库数据可放入事务,执行完后回滚,该...

  • 1.1.2天然缺少对事务的支持 数据库将不会包含事务的语义(用于保·证数据一致性和存储的元素), 1.1.3 bson和mongodb bson(二进制json的英文简称)的开放数据格式。大多数情况下,使用bson取代json并不会改变处理数据的...

  • flinkcdc是基于flink开发的变化数据获取组件(change data capture),目前支持mysql、postgresql、mongodb、tidb、oracle等数据库的同步。 hudi是一个流式数据湖平台,使用hudi可以直接打通数据库与数据仓库,hudi...

  • 本文档为postgresql 9.6.0文档,本转载已得到原译者彭煜玮授权。 1. 逻辑操作符 常用的逻辑操作符有: and or not sql使用三值的逻辑系统,包括真、假和null,null表示"未知"。观察下面的真值表: 操作符and和or是...

  • c id -f value) ${vm_name} fixed_ip=$(openstack server show "${vm_name}" -caddresses -fjson |jq -r '.addresses.private[0]') public_network=$(openstack network show public -f value -c id) fip=$...

  • b) 之后你会发现,在/home/hadoop/.ssh 目录下生成了公钥文件 [hadoop@cdh03 ~]$ cd .ssh c) 使用一个更简单的方式,使用命令: ssh-copy-id cdh03 建立 cdh02 到 cdh03 的免密登录 d)测试ssh...

  • 而磁盘 i/o 需要消耗的时间很多,而在内存中进行操作,效率则会高很多,为了能让数据表或者索引中的数据随时被我们所用,dbms 会申请 占用内存来作为数据缓冲池 ,在真正访问页面之前,需要把在磁盘上的页缓存到内存...

  • 当今的社会,是一个信息大爆炸的社会,社会在高速发展,科技发达,信息流通,人们之间的交流越来越密切,生活也越来越方便,大量的数据在这个高科技时代快速产生。大数据到底有多大?一组名为“互联网上一天”的数据...

  • 4、logback.xml,jndi数据源,jdbc的方式只需要改下connectionsource配置就好 <!-- example for logging into the build folder of your project --> ${pafa.log.home:-/logs}/yxdcommcc"/> value=...

  • 数据导入1.1导入数据到hdfs1.1.1全量导入(1)全表导入,--table子句:(2)数据子集导入①--where子句:②按需导入--query子句③--column子句1.1.2增量导入1.1.2.1 append方式1.1.2.2 lastmodify方式1.1导入数据到...

  • int是整型,是java8中的基本数据类型之一; integer是int对应的包装类,有一个final修饰的int字段,并提供了数学运算、字int和字符串之间转换等常用的方法 integer和string一样,也是不可变类型 查看源码可知,在...

  • 1.2 数据架构4 1.3 主要覆盖模块5 1.4 开发阶段流程7 1.4.1 开发上线流程7 1.4.2 各阶段关键产出9 1.5 画像应用的落地10 1.6 某用户画像案例11 1.6.1 案例背景介绍11 1.6.2 相关元数据12 1.6.3 ...

  • mot sql覆盖和限制 9.1 不支持的特性 9.2 mot限制 9.3 不支持的ddl操作 9.4 不支持的数据类型 9.5 不支持的索引ddl和索引 9.6 不支持的dml 9.7 原生编译和轻量执行不支持的查询 1.授予用户权限 以授予数据库用户对...

  • go 语言发行版中, 包含了 150 个标准包, 其中包含大部分的基本功能, 比如 fmt,os 等, 这些包也被称为标准 库, 除了一些底层包之外, 其他大部分包的文档, 都可在页面http://golang.org/pkg/中找到. 在本书的大部分...

  • 5.2.3 jpa对象绑定 5.2.4 自定义绑定 5.3 结果返回 5.3.1 返回文本内容 5.3.2 返回json字符串 5.3.3 返回xml字符串 5.3.4 返回二进制内容 5.3.5 下载附件功能 5.3.6 执行模板 5.2.7 为模板作用域添加数据 ...

  • 所以,它主要的功能就是对数据的集成能力。 exmobi服务端主要包含4大组件:exmobi管理平台(emp)、基本核心引擎(bcs)、统一推送引擎(pns)、统一文档转换引擎(dcs)。 emp为exmobi的管理平台,对exmobi...

  • 比如说,如果一个网站提供了信用卡支付功能,那么按照支付卡行业数据安全标准(payment card industry data security standard),这个网站就必须对客户端和服务器之间的通信进行加密。像gmail和facebook这样带有...

  • 所以,它主要的功能就是对数据的集成能力。 exmobi服务端主要包含4大组件:exmobi管理平台(emp)、基本核心引擎(bcs)、统一推送引擎(pns)、统一文档转换引擎(dcs)。 emp为exmobi的管理平台,对exmobi...

  • 管理系统是一种通过计算机技术实现的用于组织、监控和控制各种活动的软件系统。这些系统通常被设计用来提高效率、减少错误、加强安全性,同时提供数据和信息支持。以下是一些常见类型的管理系统: 学校管理系统: 用于学校或教育机构的学生信息、教职员工信息、课程管理、成绩记录、考勤管理等。学校管理系统帮助提高学校的组织效率和信息管理水平。 人力资源管理系统(hrm): 用于处理组织内的人事信息,包括员工招聘、培训记录、薪资管理、绩效评估等。hrm系统有助于企业更有效地管理人力资源,提高员工的工作效率和满意度。 库存管理系统: 用于追踪和管理商品或原材料的库存。这种系统可以帮助企业避免库存过剩或不足的问题,提高供应链的效率。 客户关系管理系统(crm): 用于管理与客户之间的关系,包括客户信息、沟通记录、销售机会跟踪等。crm系统有助于企业更好地理解客户需求,提高客户满意度和保留率。 医院管理系统: 用于管理医院或医疗机构的患者信息、医生排班、药品库存等。这种系统可以提高医疗服务的质量和效率。 财务管理系统: 用于记录和管理组织的财务信息,包括会计凭证、财务报表、预算管理等。财务管理系统

global site tag (gtag.js) - google analytics
网站地图