PostgreSQL 19
PostgreSQL 19
是当前 PostgreSQL 的开发版本,计划于 2026 年末发布。
- 文档: PostgreSQL 19 (索引)
标志着 PostgreSQL 19
开发开始的初始提交是 2652835d (2025-07-01)。
CommitFests
在 PostgreSQL 19
开发周期中将举行以下 CommitFests:
- CommitFest PG19-3 (2025-11-01 - 2025-11-30;开放)
- CommitFest PG19-2 (2025-09-01 - 2025-09-30;已关闭)
- CommitFest PG19-1 (2025-07-01 - 2025-07-31;已关闭)
- CommitFest PG19-Drafts (2025-03-01 - 2025-04-08;进行中)
请注意,CommitFest 的命名格式已随着 PostgreSQL 19
的开始而更改,并且新增了一个“草稿” (Drafts) CommitFest,用于管理当前不可审阅但计划在 PostgreSQL 19
发布周期中进一步开发的补丁。
源代码和构建更改
- C 语言要求已从
C99
提高到C11
(提交 f5e0186f)。
后端更改
函数处理
- 现在将为函数查找失败提供更具体的错误详细信息/提示 (提交 83a56419)
钩子
数据类型更改
已修改
对象标识符类型
- 添加了
regdatabase
(提交 bd09f024)
SQL 更改
已修改
ALTER DOMAIN
ALTER DOMAIN ... VALIDATE CONSTRAINT
以ShareUpdateExclusivelock
锁级别执行,而不是ShareLock
(提交 16a0039d)
ALTER SUBSCRIPTION
- 添加了参数
max_retention_duration
(提交 a850be2f)
- 添加了参数
CHECKPOINT
COPY
COPY FROM
中增加了对多行标头的支持 (提交 bc2f348e)
CREATE_PUBLICATION
- 添加了语法
ALL SEQUENCES
(提交 96b37849)
- 添加了语法
CREATE SUBSCRIPTION
- 添加了参数
max_retention_duration
(提交 a850be2f)
- 添加了参数
EXPLAIN
- 现在显示了 memoize 计划程序估算值 (提交 4bc62b86)
SELECT
系统目录更改
视图
已添加
已修改
pg_publication
- 添加了列
puballsequences
(提交 96b37849)
- 添加了列
pg_statio_all_indexes
- 添加了列
stats_reset
(提交 a5b54325)
- 添加了列
pg_statio_all_tables
- 添加了列
stats_reset
(提交 a5b54325)
- 添加了列
pg_statio_sys_indexes
- 添加了列
stats_reset
(提交 a5b54325)
- 添加了列
pg_statio_sys_tables
- 添加了列
stats_reset
(提交 a5b54325)
- 添加了列
pg_statio_user_indexes
- 添加了列
stats_reset
(提交 a5b54325)
- 添加了列
pg_statio_user_tables
- 添加了列
stats_reset
(提交 a5b54325)
- 添加了列
pg_stat_all_indexes
- 添加了列
stats_reset
(提交 a5b54325)
- 添加了列
pg_stat_all_tables
- 添加了列
stats_reset
(提交 a5b54325)
- 添加了列
pg_stat_progress_basebackup
- 添加了列
backup_type
(提交 deb67445)
- 添加了列
pg_stat_replication_slots
- 添加了列
mem_exceeded_count
(提交 d3b6183d)
- 添加了列
pg_stat_sys_indexes
- 添加了列
stats_reset
(提交 a5b54325)
- 添加了列
pg_stat_sys_tables
- 添加了列
stats_reset
(提交 a5b54325)
- 添加了列
pg_stat_user_functions
- 添加了列
stats_reset
(提交 b71bae41)
- 添加了列
pg_stat_user_indexes
- 添加了列
stats_reset
(提交 a5b54325)
- 添加了列
pg_stat_user_tables
- 添加了列
stats_reset
(提交 a5b54325)
- 添加了列
pg_subscription
- 添加了列
submaxretention
和subretentionactive
(提交 a850be2f)
- 添加了列
pg_statio_all_indexes
- 添加了列
stats_reset
(提交 a5b54325)
- 添加了列
pg_statio_all_tables
- 添加了列
stats_reset
(提交 a5b54325)
- 添加了列
pg_statio_sys_indexes
- 添加了列
stats_reset
(提交 a5b54325)
- 添加了列
pg_statio_sys_tables
- 添加了列
stats_reset
(提交 a5b54325)
- 添加了列
pg_statio_user_indexes
- 添加了列
stats_reset
(提交 a5b54325)
- 添加了列
pg_statio_user_tables
- 添加了列
stats_reset
(提交 a5b54325)
- 添加了列
pg_stat_all_indexes
- 添加了列
stats_reset
(提交 a5b54325)
- 添加了列
pg_stat_all_tables
- 添加了列
stats_reset
(提交 a5b54325)
- 添加了列
pg_stat_progress_basebackup
- 添加了列
backup_type
(提交 deb67445)
- 添加了列
pg_stat_replication_slots
- 添加了列
mem_exceeded_count
(提交 d3b6183d)
- 添加了列
pg_stat_sys_indexes
- 添加了列
stats_reset
(提交 a5b54325)
- 添加了列
pg_stat_sys_tables
- 添加了列
stats_reset
(提交 a5b54325)
- 添加了列
pg_stat_user_functions
- 添加了列
stats_reset
(提交 b71bae41)
- 添加了列
pg_stat_user_indexes
- 添加了列
stats_reset
(提交 a5b54325)
- 添加了列
pg_stat_user_tables
- 添加了列
stats_reset
(提交 a5b54325)
- 添加了列
pg_subscription
- 添加了列
submaxretention
和subretentionactive
(提交 a850be2f)
- 添加了列
系统函数更改
已添加
to_regdatabase()
(提交 bd09f024)
已修改
decode()
- 增加了对
base64url
格式的支持 (提交 e1d91718)
- 增加了对
encode()
- 增加了对
base64url
格式的支持 (提交 e1d91718)
- 增加了对
pg_get_sequence_data()
- 输出了列
page_lsn
(提交 b93172ca)
- 输出了列
pg_replication_origin_session_setup()
- 添加了参数
pid
(提交 5b148706)
- 添加了参数
random()
- 为
date
和timestamp
值添加了random(min, max)
变体 (提交 faf071b5)
- 为
width_bucket()
- 非数组变体现在允许
operand
输入为NaN
(提交 7374b3a5)
- 非数组变体现在允许
配置更改
已添加
debug_print_raw_parse
(提交 06473f5a)
已修改
extension_control_path
- 在
pg_available_extensions
/pg_available_extension_versions
视图中,仅显示在路径中找到的第一个扩展名 (提交 bf5da5d6)
- 在
log_lock_waits
- 默认值更改为
on
(提交 2aac62be)
- 默认值更改为
sync_replication_slots
Vacuum 更改
- 如果在 vacuum 操作期间发现 VM 损坏,将发出
ERRCODE_DATA_CORRUPTED
错误代码 (提交 8ec97e78)
日志记录更改
- 移除了关于“意外数据超出 EOF”错误的有关有缺陷内核的误导性提示 (提交 d5b9b2d4)
过程语言更改
PL/pgSQL
- 关键字
EXECUTE
和STRICT
不再是保留字 (提交 999f172d)
PL/Python
libpq 更改
- 添加了连接参数
servicefile
(提交 092f3c63)
复制更改
逻辑复制 (Logical replication)
- 冲突相关数据的保留将自动恢复 (提交 0d48d393)
服务器实用程序
pg_upgrade
- 如果可能,将传输
pg_largeobject_metadata
的文件 (提交 3bcfcd81)
- 如果可能,将传输
psql 更改
- 添加了变量
SERVICEFILE
(提交 6b1c4d32)
Contrib模块
已修改
btree_gin
pg_stat_statements
- 添加了以下列来跟踪通用和自定义计划调用 (提交 3357471c)
generic_plan_calls
custom_plan_calls
- 添加了以下列来跟踪通用和自定义计划调用 (提交 3357471c)