得益于数据分组能力的增强,在Postgres中可以进行数据透视操作了;前提是你要清楚需要返回什么样的结果。 下面以一个部门员工信息例子进行简述。
这是一个简单的按部门信息进行数据分组的例子。如果要Postgres实现更复杂的分组操作,该如何做呢? grouping sets: 将返回每个特定key的计数。结果是你将得到每个部门的key值而同时其它key为null;返回的是根据部门key而得出的计数。 cube: 返回值与上述一样,但是每个单独的数据联合还会进行分组。所以得到的结果除了每个部门的合计数,还会得到部门与性别,部门与职位,部门与职位与性别的分组显示。 rollup: 类似于cube,但是只会返回具体指定的分组项。例如如果使用的分组项是roll (department, role, gender),那么你将不会得到部门与性别的独立分组显示。 导入外部schemas(数据泵)
pg_rewind 如果操作失败,一般操作是进行回撤并重来。但是如果以pg_rewind模式进行则方便很多。它可以节省当发生错误时需要进行的大量数据移动操作。 Upsert
JSONB 例如可以尝试运行如下语句,看看其输出结果如何:
更多的特性描述可以参考最新的RC。 原文出自:Craigkerstiens |