我们代表 PostgreSQL 社区和MigOps团队祝所有读者新年快乐 - 2022 年,PostgreSQL 是唯一一个每年都在不断增加采用率的开源数据库。2021 年是 PostgreSQL 世界的另一个里程碑。PostgreSQL 的每个用户都直接或间接地通过补丁提交或评论、特性请求、博客和文章、在 PostgreSQL 会议上发言、在postgres 邮件列表中讨论提议的特性,直接或间接地对 PostgreSQL 的采用产生了积极影响, 在本文中,我们将看到 PostgreSQL 生态系统中 2021 年的总结。

本文讨论的是什么?
- DB-Engines Rankings - PostgreSQL 是 2021 年 DB-Engines Rankings 的亚军。
- PostgreSQL 14 发布 - 让我们看看它的一些特性。
- 2021 年发布的次要版本。
- 2021 年 EOL 的 PostgreSQL 版本。
- 2021 年诞生的扩展。
- 检测到并修补的安全漏洞
- Ora2Pg 包含更多功能,可简化 Oracle 到 PostgreSQL 的迁移。
- 2021 年核心团队报告。
DB-Engines Rankings - PostgreSQL 在 2021 年 DB-Engines Rankings 中获得亚军
DB-引擎 决定通过减去当年的人气得分年度的DBMS普及得分上一年的所有数据库。同样,当 MigOps 从 2021 年 12 月的得分中减去 2020 年 12 月的数据库流行度得分以找到年度 DBMS - 2021 年时,PostgreSQL 自豪地赢得了比赛。
然而,在 2021 年 12 月,Snowflake 的人气得分急剧上升。这使得 Snowflake,2021年度 DBMS PostgreSQL 以 7 分的优势获得亚军。
根据DB-Engines Rankings, PostgreSQL 已经在 2017、2018 和 2020 年成为年度 DBMS。它现在成为唯一一个在过去 5 年中 3 次获得该称号的数据库。
PostgreSQL 14 发布 - 它的一些特性
PostgreSQL 社区已宣布将于 2021 年发布 PostgreSQL 14。此版本包括对繁重和分布式工作负载的性能、管理、可观察性和安全性的多项改进。
PostgreSQL 14 的一些特性
- 存储过程支持 OUT 参数
- CTE 分层查询现在支持CYCLE 和 SEARCH。
- 当数据库开始接近事务 ID 环绕条件时,跳过不必要的真空清理。对于每小时处理数百万次事务的数据库来说,这是一个巨大的改进。
- 微调 B-Tree 索引,从而减少膨胀。
- 现在可以从 PostgreSQL 14 使用流水线查询。这允许在单个网络事务中发送/接收多个查询/结果,从而改善具有高延迟连接的繁重工作负载。
- PostgreSQL FDW 现在可以利用并行查询和批量插入。
- JSON 现在支持多范围和数据下标。
- 使用预定义角色 - pg_read_all_data 和 pg_write_all_data简化读/写访问。
- 从 PostgreSQL 14 开始,默认的客户端身份验证是SCRAM-SHA-256。
- 现在添加了更多系统视图以进一步了解数据库活动 - pg_stat_wal、pg_stat_progress_copy、pg_backend_memory_context。
- 从 PostgreSQL 14 开始,进行中的事务也将在逻辑复制中流式传输到订阅者。
- 现在可以根据表达式收集统计信息,从而提供更好的查询计划结果。
- 并行 sql 查询、繁重的并发工作负载、vacuum、分区表等方面的许多性能改进。
2021 年发布的次要版本
支持的 PostgreSQL 主要版本的次要版本通常在每个季度第二个月的第二个星期二发布。PostgreSQL 14 已经在 2021 年发布了 1 个次要版本。其余 PostgreSQL 主要版本如 9.6、10、11、12 和 13 在今年都发布了 4 个次要版本。
以下是 2021 年发布的各个主要版本的次要版本。请确认您使用的是最新的次要版本。
- PostgreSQL 14 - 14.1
- PostgreSQL的13 - 13.2,13.3,13.4,13.5
- PostgreSQL的12 - 12.6,12.7,12.8,12.9
- PostgreSQL的11 - 11.11,11.12,11.13,11.14
- PostgreSQL的10 - 10.16,10.17,10.18,10.19
- PostgreSQL的9.6 - 21年6月9日,22年9月6日,23年9月6日,24年6月9日
2021 年后 EOL 的 PostgreSQL 版本
PostgreSQL 9.6 的最终次要版本 9.6.24 于 2021 年 11 月 11 日发布。在此版本之后,PostgreSQL 社区将不会为这个主要版本 9.6 发布任何安全补丁或错误修复。这确实为尚未计划尽快升级的使用 PostgreSQL 9.6 的客户带来了紧迫感。MigOps 已经在博客中介绍了一种使用带有硬链接的 pg_upgrade将 PostgreSQL 9.6 升级到 PostgreSQL 13 的方法。该热议的办法做工作,为从9.6或更高版本到PostgreSQL 14直接升级。
请参阅PostgreSQL 版本控制政策以了解主要版本被视为不受支持的日期。
2021 年诞生的扩展
PostgreSQL 的一大优点是能够为各种目的提供扩展。世界各地的开发人员为几个新的扩展做出了贡献,我们将列出一些在 2021 年诞生的扩展。
- pg_dbms_job:适用于 PostgreSQL 的 Oracle 兼容 DBMS_JOB 功能。(由 MigOps 宣布)
- orafce_mail:通过提供对 PostgreSQL 中 Oracle 的 UTL_MAIL 和 DBMS_MAIL 包的一些兼容性,减少了从 Oracle 迁移到 PostgreSQL 期间所需的工作量。
- credcheck:为 PostgreSQL 实施严格的用户和密码策略的扩展(由 MigOps 宣布)
- pg_dbms_errlog:模拟 Oracle 风格的 DBMS_ERRLOG 与 PostgreSQL 的兼容性。这通过避免对应用程序代码进行大量更改来减少迁移时间。(由 MigOps 宣布)
- jdbc_fdw:支持写功能,使用JDBC_FDW不像国外表 jdbc_fdw只支持读取。
- dynamodb_fdw:AWS dynamodb 的外部数据包装器,支持 where 条件的选择、写入和下推。
- pg_validate_ext_upgrade:开发人员验证 PostgreSQL 扩展升级脚本的友好工具。有关详细信息,请参阅此博客文章。
已识别并修复安全漏洞
2021年共检测到35个安全漏洞,分别针对核心服务器、客户端库、contrib模块、客户端contrib模块和二进制打包。正如PostgreSQL 社区维护的安全文档中所见,通过通过次要版本推送的补丁程序已经修复了相同的问题。
简而言之,每个 PostgreSQL 主要版本检测到并修复的安全漏洞数量如下。请确保验证您是否使用截至当前日期的最新稳定版本,如PostgreSQL 发行说明中所示。
- PostgreSQL 10 - 29
- PostgreSQL 11 - 25
- PostgreSQL 12 - 15
- PostgreSQL 13 - 11
- PostgreSQL 14 - 2
联系MigOps TOD,如果你的PostgreSQL数据库是否患有任何安全漏洞都没有意识到。MigOps 还提供运行状况审计,以识别性能瓶颈、调整数据库大小的需求,并为不断增加的工作负载提供短期、中期和长期建议。
Ora2Pg 包含更多功能,可简化 Oracle 到 PostgreSQL 的迁移
Ora2Pg是唯一支持 Oracle 到 PostgreSQL 迁移的开源工具,活跃了 21 年。它现在包括通过集成 Oracle_FDW 优化迁移速度的特性,如其中一篇文章所示。除此之外,Ora2Pg 现在支持在从 Oracle 迁移到 PostgreSQL 时验证行数和迁移数据。今年通过 3 个版本添加了许多功能。更多详细信息请参阅v23.0和v22.0 和 v21.0的发行说明。
顺便说一句,Ora2Pg 自豪地由 MigOps 赞助。我们致力于为 Ora2Pg 添加更多功能并简化从 Oracle 到 PostgreSQL 的数据库迁移过程。
订阅我们的时事通讯以接收有关 PostgreSQL 和支持迁移到 PostgreSQL 的解决方案的最新更新。
2021年核心团队报告
核心团队通过详细报告提供对所执行活动的透明度。该报告自 2019 年以来尚未发布,但该团队现已发布了 2019 年 6 月至 2021 年 12 月期间执行的活动的报告。您可以在此处查看报告。
结论
在这篇博文中,您可以看到 PostgreSQL 数据库的流行度逐年上升。在 MigOps,我们在 2021 年遇到了对迁移评估和数据库迁移支持的需求增加。大型组织的领导团队正在考虑通过以下方式节省成本:(1) 迁移到 PostgreSQL 并支付零许可费用;(2) 迁移到云以减少基础设施维护费用。MigOps 很高兴有一个团队来支持您迁移到 PostgreSQL 和云。
文章来源:Avinash Vallarapu
https://www.migops.com/blog/2021/10/14/stored-procedure-out-parameters-in-postgresql-14/




