• 1
  • 2
  • 3
  • 4
  • 5
mysql数据库问题 首 页  »  帮助中心  »  数据库  »  mysql数据库问题
Postgres 9.5 版本的新特性
发布日期:2016-4-28 18:4:32

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

  我们以一个部门员工信息例子进行简述。如下所示:

  SELECT department, role, gender, count(*)

  FROM employees

  GROUP BY your_grouping_type_here;

  上面是一个简单的按部门信息进行数据分组的例子。若要Postgres实现更复杂的分组操作,该怎样做呢?

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

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

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

  一、导入外部schemas(数据泵)

  若你已经创建好外部数据库,那么可以透过导入的方式导入到Postgres中;可以根据需要导入相应的数据表。

  例如如下所示的例子:

  IMPORT FOREIGN SCHEMA public

  FROM SERVER some_other_db INTO reference_to_other_db;

  pg_rewind

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

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

  二、Upsert

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

  (1)完全放弃

  (2)进行部分更新

  三、JSONB

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

  比如运行如下语句,看看其输出结果如何:

  SELECT jsonb_pretty(jsonb_column)

  FROM foo;

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

  原文出自:Craigkerstiens

  以后会更新关于mysql的相关信息,关注mysql的朋友敬请期待。