PgPedia 周报,2025-01-19
PostgreSQL 18 更改
pg_stat_io
对某些操作, IOs 按字节而不是块计数postgres_fdw
:SCRAM 认证可以通过新的use_scram_passthrough
选项传递psql
- 可以在各种列表命令(例如
\dtx
)后附加x
来强制扩展模式 - 命令
\df+
、\do+
、\dAo+
和\dC+
现在会指示相应对象是否是 leakproof
- 可以在各种列表命令(例如
- 为 DML 语句(
INSERT
/MERGE
/SELECT
/UPDATE
)的RETURNING
子句添加了对OLD
/NEW
的支持 - 区域设置支持
- 内置排序提供程序中的新区域设置
PG_UNICODE_FAST
- 增加了对 Unicode 全大小写映射和转换的支持
- 内置排序提供程序中的新区域设置
- 通过逐字节查找加速十六进制编码
PostgreSQL 18 文章
- 等待 PostgreSQL 18 – 默认启用 EXPLAIN ANALYZE 的 BUFFERS (2025-01-15) - Hubert 'depesz' Lubaczewski
- Postgres UUIDv7 + 每个后端单调性 (2024-12-31) - brandur.org
- 深入探讨
uuidv7()
函数的实现
- 深入探讨
PostgreSQL 声明
- PostgreSQL JDBC 42.7.5 发布 (2025-01-17)
- FOSDEM PGDay 2025 - 时间表已发布,注册仍在进行中! (2025-01-13)
其他有趣的 PostgreSQL 链接
- Postgres Weekly #584 (2025-01-16)
- PostgreSQL 是 2024 年度最佳数据库管理系统 (2025-01-13) - DB-Engines
- ……不,后来更正为 Snowflake
- 2024 年第 51 周和 2025 年第 2 周的贡献 (2025-01-13) - postgres-contrib.org
在 PostgreSQL 的这一天,25 年前
- 2000-01-19:修复 NULL 约束条件的处理
- 2000-01-18:libpq 添加了非阻塞模式支持
- 2000-01-17:像 x::int2::float8 这样的 cast 构造现在如预期般工作
- 2000-01-16:lex 和 yacc 文件现在包含在发行版中
- 2000-01-15:一个杂烩提交
PostgreSQL 提交的值得关注的变更
23d75620 (2025-01-19):
移除 PrintBufferDescs() 和 PrintPinnedBufs().
- ea5ff583 (2025-01-19):
更清晰地说明何时需要 jsonapi 的 need_escapes
- d3d09831 (2025-01-17):
在内置排序提供程序中支持 PG_UNICODE_FAST 区域设置。
- 286a365b (2025-01-17):
支持 Unicode 全大小写映射和转换。
- 86e4efc5 (2025-01-17):
添加关于从 C 调用版本 1 C 函数的文档。
- 43830ecb (2025-01-17):
修复 RETURNING 中限定关系名称的解析。
- e24d7708 (2025-01-15):
通过逐字节查找加速 hex_encode
- 0869ea43 (2025-01-17):
移除 flex 版本检查
- b0eff109 (2025-01-17):
为 base64 函数添加 pg_nodiscard 装饰
- a6c70f68 (2025-01-17):
恢复与处理恢复时的 2PC 文件相关的最近更改
- bf826ea0 (2025-01-16):
修复 setrefs.c 在剪枝步骤上未能进行表达式处理。
回填约 13 个版本 - f7a8fc10 (2025-01-16):
添加和使用 BitmapHeapScanDescData 结构
- d4a43b28 (2025-01-16):
将 libpgport 的 pqsignal() 转换为 void 函数。
- d7674c9f (2025-01-16):
在时区缩写数据之前查找时区缩写。
- bc10219b (2025-01-16):
让 pg_interpret_timezone_abbrev() 也检查 sp->defaulttype。
- 86374c9a (2025-01-16):
将 ATExecValidateConstraint 分解为可重用部分
- 80feb727 (2025-01-16):
在 DML 查询的 RETURNING 中添加 OLD/NEW 支持。
- 7a947ed2 (2025-01-16):
重构:拆分 ATExecAlterConstrRecurse()
- d278541b (2025-01-16):
修复 pg_b64_decode() 的错误处理
- ff030ebe (2025-01-16):
检查 pg_b64_encode() 的返回值是否出错
- 3edc67d3 (2025-01-15):
为 vacuumlazy.c 添加更通用的摘要
- fecc8021 (2025-01-15):
目录头文件的 IWYU pragmas
- 74938d13 (2025-01-15):
IWYU 广泛使用的 pragmas
- 761c7950 (2025-01-15):
postgres_fdw:SCRAM 认证直通
- b6463ea6 (2025-01-15):
将 object_aclmask_ext() 中的错误降级为 internal
- de9037d0 (2025-01-15):
将 object_ownercheck() 中的错误降级为 internal
- 6fdd5d95 (2025-01-15):
移除对 Flex 2.5.35 的无警告支持
- 630f9a43 (2025-01-15):
将 gist stratnum 函数更改为使用 CompareType
- 6339f646 (2025-01-15):
重命名 RowCompareType 为 CompareType
- 9a45a89c (2025-01-14):
避免 pqsignal.c 和 legacy-pqsignal.c 之间的符号冲突。
回填约 13 个版本 - 00f4c295 (2025-01-14):
psql:为所有列表命令添加使用扩展模式的选项。
- 94b914f6 (2025-01-15):
ecpg:恢复对不支持的 COPY FROM STDIN 的检测。
回填约 13 个版本 - 2355e511 (2025-01-14):
psql:为 \df+、\do+、\dAo+ 和 \dC+ 输出添加 leakproof 指示符。
- af8cd163 (2025-01-14):
修复正在构建的列表项的 catcache 无效化
回填约 13 个版本 - ce9a7470 (2025-01-14):
增加 PGSTAT_FILE_FORMAT_ID
- 720e5298 (2025-01-14):
修复 bringetbitmap() 中潜在的整数溢出
回填约 13 个版本 - d35ea27e (2025-01-14):
将 pgstats 种类信息移到其自己的头文件 pgstat_kind.h 中
- d2181b32 (2025-01-14):
移除 pgstat_count_io_op() 中的断言
- f92c854c (2025-01-14):
让 pg_stat_io 对某些操作,IOs 按字节而不是块计数
- b4a07f53 (2025-01-13):
恢复 "TupleHashTable: 沿元组存储附加数据。"
- 1c854eb8 (2025-01-13):
为 nbtree.h 添加 BTOPTIONS_PROC 注释。
- 597b1ffb (2025-01-13):
将 nbtree 预处理移到新的 .c 文件中。
请注意,提交按其在提交日志中的出现顺序显示,这可能不反映单个提交的创建日期。
请参阅 PostgreSQL GIT 提交日志 查看完整的提交列表。
新 PgPedia 条目
已添加以下新条目
更新
以下文章已更新,增加了额外信息或更正
ALTER TABLE
- 注意到在 PostgreSQL 7.0 中添加了
ALTER TABLE ... ADD CONSTRAINT ...
ALTER TABLE ... DROP COLUMN ...
是在 PostgreSQL 7.3 中添加的,而不是 PostgreSQL 7.0
- 注意到在 PostgreSQL 7.0 中添加了
pg_char_to_encoding()
,pg_encoding_to_char()
- 在 PostgreSQL 6.4 中添加,而不是 PostgreSQL 7.0
最后...
如果有什么遗漏,或者您有什么(建设性的)想法,请留下一些 反馈 和/或 买杯咖啡。