让我们一起爱米兰
站内搜搜:
移动设备
请扫描二维码
或访问
m.milan100.com
您所在的位置 -> 米兰百分百 -> 数据库 -> Postgres 9.5 中的新功能

Postgres 9.5 中的新功能

点击数:664 发表时间:2015-12-30 17:55:40 作者: 来源链接:
分享到:
分享到微信

得益于数据分组能力的增强,在Postgres中可以进行数据透视操作了;前提是你要清楚需要返回什么样的结果。

下面以一个部门员工信息例子进行简述。

SELECT department, role, gender, count(*)FROM employeesGROUP BY your_grouping_type_here;

这是一个简单的按部门信息进行数据分组的例子。如果要Postgres实现更复杂的分组操作,该如何做呢?

grouping sets: 将返回每个特定key的计数。结果是你将得到每个部门的key值而同时其它key为null;返回的是根据部门key而得出的计数。

cube: 返回值与上述一样,但是每个单独的数据联合还会进行分组。所以得到的结果除了每个部门的合计数,还会得到部门与性别,部门与职位,部门与职位与性别的分组显示。

rollup: 类似于cube,但是只会返回具体指定的分组项。例如如果使用的分组项是roll (department, role, gender),那么你将不会得到部门与性别的独立分组显示。

导入外部schemas(数据泵) 
如果你已经创建好外部数据库,那么可以透过导入的方式导入到Postgres中;你可以根据需要导入相应的数据表。 
例如:

IMPORT FOREIGN SCHEMA publicFROM SERVER some_other_db INTO reference_to_other_db;

pg_rewind 
如果你正在管理Postgres实例及正运行HA,那么pg_rewind将是好帮手。常规的数据复制操作是先下载物理数据库,然后进行数据传输。

如果操作失败,一般操作是进行回撤并重来。但是如果以pg_rewind模式进行则方便很多。它可以节省当发生错误时需要进行的大量数据移动操作。

Upsert 
Upsert是Postgres9.5的亮点之一。简单来说,当进行数据插入时出现冲突,你可以进行的操作是:

  • 完全放弃

  • 进行部分更新

JSONB 
Postgres9.5对JSONB进行了更新。让我最兴奋的是它使得JSONB在psql中的输出更具可读性。

例如可以尝试运行如下语句,看看其输出结果如何:

SELECT jsonb_pretty(jsonb_column)FROM foo;

更多的特性描述可以参考最新的RC

4
很 好
4
一 般
4
差 劲
热门新闻
相关文章
上一篇: 对比Pig、Hive和SQL,浅看hadoop等大数据工具之间的差异
下一篇: SQL语句优化技术分析
评论区
匿名

返回首页 | 收藏本页 | 回到顶部
Copyright 2010. 米兰百分百 Powered By Bridge.
京ICP备15050557号