经过一年的发展
- 实施的
重复数据删除 B树索引中的记录,这使得在对具有重复数据的记录建立索引时可以提高查询性能并减少磁盘空间消耗。 重复数据删除是通过定期启动处理程序来执行的,该处理程序合并重复元组组并用指向一个存储副本的链接替换重复项。 - 改进了使用的查询的性能
聚合函数 ,分组集 (分组集)或分区的 (分区)表。 优化涉及在聚合时使用哈希而不是实际数据,这避免了在处理大型查询时将所有数据放入内存中。 分区时,扩大了可以丢弃或合并分区的情况。 - 添加了使用能力
高级统计 使用 CREATE STATISTICS 命令创建的查询可以提高包含 OR 条件的查询或使用 IN 或 ANY 表达式的列表搜索的调度效率。 - 加快了运行期间索引的清理速度
真空 通过并行索引中的垃圾收集。 使用新的“PARALLEL”参数,管理员可以确定将同时运行 VACUUM 的线程数。 添加了在数据插入后启动自动 VACUUM 执行的功能。 - 增加了对增量排序的支持,允许您使用前一阶段排序的数据来加快后续查询处理阶段的排序速度。 为了在查询规划器中启用新的优化,有一个设置“
启用增量排序 ”,默认情况下启用。 - 添加了限制大小的功能
复制槽 ,允许您自动保证保留写延迟日志 (WAL) 段,直到所有接收副本的备份服务器都收到它们为止。 复制槽还可以防止主服务器删除可能导致冲突的行,即使备份服务器处于脱机状态也是如此。 使用参数max_slot_wal_keep_size 您现在可以限制 WAL 文件的最大大小,以防止磁盘空间不足。 - 监控 DBMS 活动的功能得到了扩展:EXPLAIN 命令提供了有关 WAL 日志使用情况的附加统计信息的显示; V
pg_basebackup 提供跟踪连续备份状态的机会; ANALYZE 命令提供操作进度的指示。 - 添加了新命令
pg_verifybackup 检查 pg_basebackup 命令创建的备份的完整性。 - 使用运算符处理 JSON 时
路径 允许使用 datetime() 函数转换时间格式(ISO 8601 字符串和本机 PostgreSQL 时间类型)。 例如,您可以使用结构 "jsonb_path_query('["2015-8-1", "2015-08-12"]', '$[*] ? (@.datetime() < "2015-08-2 “.datetime ())')”和“jsonb_path_query_array('["12:30", "18:40"]', '$[*].datetime("HH24:MI")')"。 - 添加内置功能
gen_random_uuid() 生成 UUID v4。 - 分区系统完全支持逻辑复制和“BEFORE”表达式指定的复制
在行级别工作的触发器。 - 句法 ”
先获取 ”现在允许使用“WITH TIES”表达式返回位于应用“ORDER BY”后获得的结果集末尾的附加行。 - 实施了值得信赖的附加组件的概念(“
可信扩展 "),可以由没有 DBMS 管理员权限的普通用户安装。 此类附加组件的列表最初是预定义的,并且可以由超级用户扩展。 值得信赖的附加组件包括PG加密 ,表函数 ,商店 等等 - 连接外部表的机制外部数据包装器(postgres_fdw)实现了对基于证书的身份验证的支持。 当使用 SCRAM 身份验证时,允许客户端请求“
通道绑定 “(通道绑定)。
来源: opennet.ru