zl程序教程

您现在的位置是:首页 >  数据库

当前栏目

postgresql 各版本新特性

postgresql 版本 特性
2023-09-27 14:26:42 时间

9.0 版本
1.引入with 子句。
通过with子句,通过它可以实现带添加的记录级触发,
即只有当某条记录符合制定的WHTN条件时,触发器才会被调用。

2.引入UPDATE子句。
通过它可以实现精准到字段级的触发条件设置。

 

9.1 版本
1.支持了针对视图的触发器。

 

9.3 版本
1.支持了针对DDL的触发器。

 

9.4 版本
1.物化视图特性的改进。
在9.3版本中,刷新物化视图期间会对其加锁并禁止访问。
此版本取消了刷新时的加锁动作。
注意:此特性的前提是物化视图必须拥有一个唯一索引。

2.新增支持用于计算百分比的分析函数
新增了对 percentile_disc 不连续百分比 和
percentile_count 连续百分比 这两个分析函数的支持。
须配合 WITHIN GROUP (ORDER BY...) 子句使用。

3.支持对视图更新操作的结果范围进行限制。
子句 WITH CHECK OPTION 确保在视图上执行更新或者插入操作时,
修改后或者新插入的记录仍然在本视图可见范围内。

4.新增对 JSONB 数据类型的支持。
该数据类型时JSON 类型的二进制存储版本。
该类型可以对JSON格式的文档数据建立索引,并可加快对内部元素的访问速度。

5. GIN 索引改进。

6. 支持更多JSON函数
具体包括 json_build_array、json_build_object、json_object、json_to_record和json_to_recordset几个函数。

7.加速跨表空间的对象搬迁。
支持使用如下语法轻松地将所有数据库对象从一个表空间移动到另一个表空间:
ALTER TABLESPACE old_space MOVE ALL TO new_space;

8.支持对返回的结果集中的记录加上数字编号
当需要将存储为数组、hstore键值对或者复合类型的非格式化数据转为格式化记录时,该功能特别有用。

9.支持通过执行SQL命令来更改系统配置设置。
利用ALTER system SET ... 语法,无须修改postgresql.conf 文件即可设置全局全部系统配置。

10.支持了针对外部表的触发器。

11.数据行转列能力增强。
unnest函数用于函数数据的行列操作,即将一个横向的数组转换为纵向的一个字段的多行记录。
该函数可接受多个数组作为入参,每个数组转换后成为单独的一列,即输入几个数组转换后就有几列。

12.新增 ROWS FROM 语法。

13.支持动态启用后台工作线程。

 

9.5 版本
1. 外部表架构的改进。
支持了新的 import foreign schema命令。
通过该命令可以从外部服务器中加载表结构信息从而实现批量创建外部表。

2.支持无日志表直接升级为日志表。

3. array_agg 函数支持数组入参。

4.支持 BRIN 索引类型。

5.支持 GROUPING SETS、ROLLUP 和CUBE 聚合语法。

6.仅索引扫描。
如果要查询的字段再索引中全部包含,则仅仅扫描索引即可获得查询结果,而不用访问表数据。

7.支持"无则插入有则更新"处理(即UPSERT能力)

8.支持跳过无法写锁定的记录。
提供了 SKIP LOCKED 子句语法,可以跳过那些已经被别人锁定的记录,这样就不会报错。

9.行级安全控制。
支持对用户设置记录级的读写权限,即同一张表中,部分记录只允许某个用户读写,
另外一部分记录只允许另外一个用户读写。

 

9.6 版本
1.支持并行查询。

2.支持关联词组全文索引。

3.psql工具支持 \gexec 参数。
该参数的功能是读取并执行一个根据查询语句动态生成的SQL。

4.postgres_fdw 增强。
对于简单的更新、插入和删除来说,速度有很大提升。

5.FDW关联操作下推。