PgPedia 周报,2023-08-27
提醒:即将发布的 PostgreSQL 16 版本发布日期 已公布
- 2023-08-31 发布 PostgreSQL 16
rc1
(待解决问题 截止日期为 2023-08-26 12:00 UTC) - 2023-09-14 发布公开版 (GA) (暂定)
rc1
现已标记 (提交 d94dadcc),但截至撰写本文时尚未标记版本。
PostgreSQL 16 文章
- Postgres v16:14 个很酷的新功能(Laurenze Albe / CyberTec)
PostgreSQL 17 功能
命名 NOT NULL 约束
提交列表中一个有趣的新增内容是 b0e96f31“Catalog not-null constraints
”,经过漫长的开发过程和几次错误的开始后,它添加了命名的 NOT NULL
约束。在实践中,这意味着在 PostgreSQL 16 及更早版本中这样定义的表
postgres=# CREATE TABLE foo (id INT NOT NULL); CREATE TABLE postgres=# \d+ foo Table "public.foo" Column | Type | Collation | Nullable | Default | Storage | Compression | Stats target | Description --------+---------+-----------+----------+---------+---------+-------------+--------------+------------- id | integer | | not null | | plain | | | Access method: heap
在 PostgreSQL 17 中变为
postgres=# CREATE TABLE foo (id INT NOT NULL); CREATE TABLE postgres=# \d+ foo Table "public.foo" Column | Type | Collation | Nullable | Default | Storage | Compression | Stats target | Description --------+---------+-----------+----------+---------+---------+-------------+--------------+------------- id | integer | | not null | | plain | | | Not-null constraints: "foo_id_not_null" NOT NULL "id" Access method: heap
NOT NULL
约束也可以显式定义
postgres=# CREATE TABLE foo ( id INT, CONSTRAINT foo_id_is_not_null NOT NULL id ); CREATE TABLE postgres=# \d+ foo Table "public.foo" Column | Type | Collation | Nullable | Default | Storage | Compression | Stats target | Description --------+---------+-----------+----------+---------+---------+-------------+--------------+------------- id | integer | | not null | | plain | | | Not-null constraints: "foo_id_is_not_null" NOT NULL "id" Access method: heap
PostgreSQL 值得关注的提交
- bb45156f(2023-08-27):在 pg_stat_statements 中显示 DEALLOCATE 的名称为常量
- e48b19c5(2023-08-26):
在 log_connections 下为“信任”连接生成新的 LOG
- b0e96f31(2023-08-25):
Catalog not-null constraints
- 252dcb32(2023-08-24):
在测试中使用“模板”数据目录
- b575a26c(2023-08-24):
将 proargnames 添加到多参数聚合函数
- 260a1f18(2023-08-23):
添加 to_bin() 和 to_oct()。
- f4b54e1e(2023-08-22):
为协议字符引入宏。
- 6fde2d9a(2023-08-21):
修复 pg_stat_reset_single_table_counters() 以支持共享关系
请注意,提交按其在提交日志中出现的顺序显示,这可能与各个提交的创建日期不符。
请参阅 PostgreSQL GIT 提交日志 以获取完整的提交列表。
新的 PgPedia 条目
已添加以下新条目
add_missing_from
json_array_elements()
jsonb_array_elements()
json_array_elements_text()
jsonb_array_elements_text()
json_array_length()
jsonb_array_length()
json_build_array()
jsonb_build_array()
json_build_object()
jsonb_build_object()
json_object()
jsonb_object()
row_to_json()
to_bin()
to_json()
to_jsonb()
to_oct()
更新
以下文章已更新,增加了信息或更正错误
CREATE RULE
- 已记录
PostgreSQL 8.0
中添加ALSO
关键字
- 已记录
PostgreSQL 8.2
- 已记录添加
LDAP
支持
- 已记录添加
外部链接
已添加以下外部链接
pg_backend_memory_contexts
- pg_backend_memory_contexts - Taraka Vuyyuru / OpenSource DB 于 2023 年 2 月发布的博客文章
最后…
如果缺少任何内容,或者您有任何(建设性的)想法,请留下一些 反馈 和/或 请我喝杯咖啡。
发表评论