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 文章

PostgreSQL 17 功能

命名 NOT NULL 约束

提交列表中一个有趣的新增内容是 b0e96f31Catalog 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 值得关注的提交

请注意,提交按其在提交日志中出现的顺序显示,这可能不反映单个提交的创建日期。

查看 PostgreSQL GIT 提交日志 以获取完整提交列表。

新的 PgPedia 条目

以下新条目已添加

更新

以下文章已更新,包含了更多信息或更正

以下外部链接已添加

最后...

如果缺少任何内容,或者您有一些(建设性的)想法,请留下一些 反馈 和/或 请我喝杯咖啡


发表评论
Name:
*
E-Mail:
address will not be displayed
Homepage:
Comment: