PgPedia 周报,2023年8月27日
提醒即将发布的 PostgreSQL 16 版本发布日期 已公布
- 2023年8月31日发布 PostgreSQL 16
rc1
(待解决问题 截止日期为 2023年8月26日 12:00 UTC) - 2023年9月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年8月27日):在 pg_stat_statements 中显示 DEALLOCATE 的名称为常量
- e48b19c5(2023年8月26日):
在 log_connections 下为“信任”连接生成新的 LOG
- b0e96f31(2023年8月25日):
Catalog not-null constraints
- 252dcb32(2023年8月24日):
在测试中使用“模板”数据目录
- b575a26c(2023年8月24日):
将 proargnames 添加到多参数聚合函数
- 260a1f18(2023年8月23日):
添加 to_bin() 和 to_oct()。
- f4b54e1e(2023年8月22日):
引入协议字符的宏。
- 6fde2d9a(2023年8月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月发表的博客文章
最后...
如果缺少任何内容,或者您有一些(建设性的)想法,请留下一些 反馈 和/或 请我喝杯咖啡。
发表评论