PostgreSQL 16 三则 “新功能更新”
PostgreSQL 16 在其最新的版本中引入了一些新功能和更新,以下是三个主要的更新点:
更好的 JSONB 函数:
PostgreSQL 16 引入了新的 JSONB 函数和操作符,例如
jsonb_strip_nulls()
和@>
操作符用于包含检查。-- 移除 JSONB 对象中所有的 NULL 值 SELECT jsonb_strip_nulls('{"a": 1, "b": null, "c": 3}'::jsonb) -- 结果: {"a": 1, "c": 3} -- 检查左侧 JSONB 值是否包含右侧 JSONB 值 SELECT '{"a": 1, "b": 2}'::jsonb @> '{"b": 2}'::jsonb AS is_contained; -- 结果: true
更好的数组函数:
对于数组操作,PostgreSQL 16 引入了新的函数和操作符,例如
unnest
的增强版本unnest_with_ordinality()
和数组间的差集操作符-
。-- 获取数组元素及其序号 SELECT unnest_with_ordinality('{a,b,c}'::text[]); -- 计算两个数组的差集 SELECT ARRAY['a', 'b', 'c'] - ARRAY['b', 'c']; -- 结果: {a}
更好的 SQL 脚本支持:
PostgreSQL 16 引入了 SQL 脚本的新功能,例如可以在 SQL 脚本中使用非 SQL 语句,如
#include
用于包含其他脚本文件。-- 假设有一个名为 inc.sql 的文件,内容为 'SELECT generate_series(1, 10);' #include "inc.sql"
以上只是三个简单的示例,PostgreSQL 16 还有许多其他的新功能和更新,需要根据实际情况和官方文档进行学习和使用。
评论已关闭