PostgreSQL 13是一款功能强大的开源关系型数据库管理系统(RDBMS),由全球开发者社区共同维护和发展。自发布以来,它以其卓越的性能、丰富的功能、高度的可扩展性和安全性,赢得了广泛的用户群体。
性能提升
查询性能增强:
- 引入了顺序扫描加速(Incremental Sort)算法,显著提高了排序操作的性能。
- 改进了索引和查找系统,包括索引的空间节省和性能提高,使得大型数据库系统能够更快地响应查询。
- 增强了统计信息的使用,通过CREATE STATISTICS可以创建增强的查询计划,优化带有OR子句和IN/ANY查找的查询。
并行处理:
- 支持并行清理(Vacuuming),提高了数据库在更新和删除行后回收存储空间的效率。
- 引入了并行索引创建和并行排序,进一步提升了数据处理的性能。
分区表优化:
- 改进了对分区表的支持,包括支持范围分区表的自动分区创建和删除,以及提高了带有分区表的查询性能。
功能增强
数据类型和SQL支持:
- 增加了对更多类型索引的支持,包括表达式索引、存储计算列的索引以及具有空间数据类型的索引。
- 在SQL/JSON路径支持中添加了datetime()函数,将有效的时间格式转换为PostgreSQL本地类型。
- UUID v4生成函数gen_random_uuid()现在可以直接使用,无需安装任何扩展。
分区系统灵活性:
- 分区表完全支持逻辑复制和BEFORE行级触发器,使得分区管理更加灵活。
事务和安全性:
- 增强了安全性功能,包括对密码哈希算法的改进和支持SCRAM-SHA-256认证。
- 允许客户端在使用SCRAM身份验证时要求通道绑定,增强了身份验证的安全性。
管理优化:
- 增加了更多管理员可以监视数据库活动的方式,包括从EXPLAIN查看WAL使用情况的统计信息、基于流的备份进度以及ANALYZE命令的进度。
- 引入了pg_verifybackup命令来检查pg_basebackup命令输出的完整性。
扩展系统:
- 添加了“可信扩展”的概念,允许数据库用户使用安装超级用户标记为“受信任”的扩展,提高了扩展系统的安全性和易用性。
易用性提升
DROP DATABASE FORCE:
- 新增了FORCE选项,允许在数据库中存在连接时强制删除数据库,提高了数据库管理的灵活性。
FETCH FIRST语法扩展:
- FETCH FIRST语法现已扩展为可包含WITH TIES子句,使得查询结果更加灵活和准确。