前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Postgres 10 开发者新特性

Postgres 10 开发者新特性

作者头像
Debian中国
发布2018-12-20 16:22:34
1.9K0
发布2018-12-20 16:22:34
举报
文章被收录于专栏:Debian中国Debian中国

目前非常流行的RDBMS PostgresSQL已经在几周前发布了它的第10个版本。由于Postgres的可靠性、节约成本、成熟,当然还有它的开源,已经21岁的Postgres在开发者之中仍旧非常流行。

Postgres 10带来了一些新特性,其中一些特性另开发者感到十分兴奋。10Clouds博客中详细介绍了其中的一些特性。通过消除主表(master table)中触发器(trigger)的需求,本地分区(native partitioning)现在变得更简单了。这意味着创建分区表将变得更简单,并且从开发者的角度来看,现在从分区数据表中进行查询和插入与在非分区的数据表进行这些操作是完全一致的。

多列统计(multicolumn statistics)是Postgres 10的另一项改进。通过把来自不同列的数据关联起来,查询规划器(query planner)现在可以避免一些边缘情况,在那些边缘情况下,之前的Postgres版本会认为WHERE语句更强的选择性,并且会导致选择了错误计划从而拖慢执行时间。Postgres的这个改进在整个SQL世界中都是极具创新性的。

Postgres 10还对并行性进行了改进。开发者现在可以使用索引扫描(index scans)和仅索引扫描(index-only scans)、并行合并连接(merge joint)以及位图堆扫描。并行查询是通过不同的workers来实现的,因此在某些情况下,设置和分解的成本会超过并行化的好处。默认情况下,可以在大于8MB大小的表以及大于512KB的索引上启用并行表扫描(parallel table scan),但是这些选项可以根据需要进行配置。

(adsbygoogle = window.adsbygoogle || []).push({});

Postgres 10另一个重要的新特性是支持JSON和JSONB类型列的全文搜索。一旦我们创建了一个特定语言的全文索引,我们就可以通过JSON字段对值进行直接搜索。在JSON列上的全文索引与其他列是类似的,因此我们的查询需要使用to_tsquery函数和to_tsvector函数的文本搜索的语法。

标识列(Identity columns)和自增列(Auto-increment columns)也是Postgres 10进行改进的一个地方。新的实现方法会有一点冗长,但是它是符合SQL标准的,使得在不同数据库之间的迁移会更加容易。最重要的是,使用Postgres 10时,我们在从一个不同的id重启时,不再需要修改序列(alter sequences)了,但是我们可以对这一列进行修改(alter),Postgres就会将这一列识别为一个序列,这样操作会简化我们数据库中的日常操作。

正如我们预料到的那样,Postgres 10存在一些不向后兼容的改动。对浮点时间戳的支持已经被抛弃了,对于低于版本8的 pg_dump也已经不再提供支持,有关复制(replication)和pg_basebackup工具的一些默认值也有所变化。版本编号由三部分改为了两部分,同时开发者的脚本不能直接运行,而是使用类似于server_version_num这种查询,它返回的是一致的的可排序的和可比较的(sortable and comparable)版本号。

查看英文原文:Postgres 10 Features for Developers,本文转载自InfoQ.com

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017-12-30 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
Elasticsearch Service
腾讯云 Elasticsearch Service(ES)是云端全托管海量数据检索分析服务,拥有高性能自研内核,集成X-Pack。ES 支持通过自治索引、存算分离、集群巡检等特性轻松管理集群,也支持免运维、自动弹性、按需使用的 Serverless 模式。使用 ES 您可以高效构建信息检索、日志分析、运维监控等服务,它独特的向量检索还可助您构建基于语义、图像的AI深度应用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档