PostgreSQL 13
- 发行说明 (源文件)
- 发布日期: 2020-09-24 (发布公告)
- 当前次要版本: 13.16 (2024-08-08)
- EOL: 2025-11 (估计)
- 文档: PostgreSQL 13 (索引)
- GIT 分支: REL_13_STABLE
次要版本发布
- 13.16 (2024-08-08; 发行说明; 公告)
- 13.15 (2024-05-09; 发行说明; 公告)
- 13.14 (2024-02-08); 发行说明, 公告)
- 13.13 (2023-11-09); 发行说明, 公告)
- 13.12 (2023-08-10; 发行说明, 公告)
- 13.11 (2023-05-11; 发行说明, 公告)
- 13.10 (2023-02-09; 发行说明, 公告)
- 13.9 (2022-11-10; 发行说明, 公告)
- 13.8 (2022-08-11; 发行说明, 公告)
- 13.7 (2021-05-12; 发行说明, 公告)
- 13.6 (2021-02-10; 发行说明, 公告)
- 13.5 (2021-11-11; 发行说明, 公告)
- 13.4 (2021-08-12; 发行说明, 公告)
- 13.3 (2021-05-13; 发行说明, 公告)
- 13.2 (2021-02-11; 发行说明, 公告)
- 13.1 (2020-11-12; 发行说明, 公告)
有用链接
- PostgreSQL 13 可观测性 (来自 DataEgret 的交互式图表)
后端更改
一般
- 备用服务器的提升将优先于暂停恢复 (提交 496ee647)
openssl_tls_init_hook
添加 (提交 896fcdb2)
数据类型更改
添加
修改
移除
- 移除对已弃用的
opaque
伪类型支持 (提交 bb03010b)
索引更改
一般
- 添加增量排序 (提交 d2d8a229)
btree
- 添加索引去重 (初始提交 0d861bbb)
GIN
Vacuum 更改
VACUUM PARALLEL
选项添加 (提交 40d964ec)autovacuum
现在可以根据 INSERT 操作的数量触发 (提交 b07642db)- 将在 vacuum 操作期间遇到的错误中显示更多信息 (提交 b61d161c)
日志记录更改
分区更改
ROW
表达式现在可以用来定义分区 (提交 bb4114a4)- 扩展了可以应用分区修剪的范围 (提交 4e85642d)
- 扩展了可以应用分区连接的范围 (提交 c8434d64 和 981643dc)
BEFORE
行级触发器允许在 分区表 上使用 (提交 487e9861)- 分区表 可以通过 发布 进行逻辑复制 (提交 17b9e7f9 和 83fd4532)
- 分区表 现在可以成为 逻辑复制 中的复制目标 (提交 f1ac27bf)
SQL 更改
修改
ALTER FOREIGN TABLE
ALTER FOREIGN TABLE ... RENAME COLUMN
在命令成功完成时返回ALTER FOREIGN TABLE
(而不是ALTER TABLE
) (提交 979766c0)
ALTER FUNCTION
NO DEPENDS ON EXTENSION
语法已添加(提交 5fc70394)
ALTER INDEX
NO DEPENDS ON EXTENSION
语法已添加(提交 5fc70394)
ALTER MATERIALIZED VIEW
ALTER PROCEDURE
NO DEPENDS ON EXTENSION
语法已添加(提交 5fc70394)
ALTER ROUTINE
NO DEPENDS ON EXTENSION
语法已添加(提交 5fc70394)
ALTER STATISTICS
ALTER STATISTICS
…
SET STATISTICS
子句已添加(提交 d06215d0)…
ALTER TABLE
ALTER TABLE … ALTER COLUMN … DROP EXPRESSION
子句已添加,用于将 生成列 转换为普通列(提交 f595117e)- 对使用 PostgreSQL 7.3 之前的语法的外部键约束的支持已删除(提交 e58a5997)
ALTER TRIGGER
NO DEPENDS ON EXTENSION
语法已添加(提交 5fc70394)
ALTER TYPE
ALTER TYPE ... SET ( property = value [, ... ] )
语法已添加(提交 fe30e7eb)
ALTER VIEW
ALTER VIEW ... RENAME COLUMN ...
语法已添加(提交 30840c92)
CREATE DATABASE
LOCALE
选项已添加,合并了现有的LC_COLLATE
和LC_CTYPE
选项(提交 06140c20)
CREATE EXTENSION
CREATE EXTENSION … FROM …
语法已删除(提交 70a77320)
CREATE INDEX
- 添加了对操作类参数的支持(提交 911e7020)
- 对早已废弃的 PostgreSQL 8.0 之前的操作类名称的隐式支持已删除(提交 84eca14b)
deduplicate_items
存储参数已添加(提交 0d861bbb)
CREATE LANGUAGE
- 删除
pg_pltemplate
,并创建受信任扩展的概念,使非核心 语言 的不受信任版本能够被安装(提交 50fc694e)
- 删除
CREATE MATERIALIZED VIEW
USING method
语法已添加(提交 8586bf7e)
CREATE PUBLICATION
- 参数
publish_via_partition_root
已添加(提交 83fd4532)
- 参数
CREATE TABLE
CREATE TABLE ... LIKE
现在将CHECK
约束的NO INHERIT
属性传播到创建的表(提交 cacef172)
DROP DATABASE
- 现在可以使用
FORCE
选项来删除数据库,即使其他用户已连接(提交 1379fd53)
- 现在可以使用
EXPLAIN
WAL
选项已添加(提交 33e05f89)
SELECT
FETCH FIRST n ROWS [ WITH TIES ]
语法已添加(提交 357889eb)
系统目录更改
表
修改
pg_publication
- 列
pubviaroot
已添加(提交 83fd4532)
- 列
pg_statistic_ext
- 列
stxstattarget
已添加(提交 d06215d0)
- 列
pg_trigger
- 列
tgparentid
已添加(提交 b9b408c4)
- 列
移除
视图
添加
pg_shmem_allocations
(提交 ed10f32e)pg_stat_slru
(提交 28cac71b)pg_stat_progress_analyze
(提交 a166d408)pg_stat_progress_basebackup
(提交 e65497df)
修改
pg_available_extension_versions
- 列
trusted
已添加(提交 50fc694e)
- 列
pg_replication_slots
pg_stat_activity
- 列
leader_pid
已添加(提交 b025f32e)
- 列
pg_stat_all_tables
- 列
n_ins_since_vacuum
已添加;同样适用于pg_stat_sys_tables
和pg_stat_user_tables
(提交 b07642db)
- 列
pg_stat_gssapi
- 仅显示具有连接的进程,即不包括不接收网络连接的各种辅助进程(提交 5c46e7d8)
- 仅显示具有连接的进程,即不包括不接收网络连接的各种辅助进程(提交 5c46e7d8)
pg_stat_ssl
- 仅显示具有连接的进程,即不包括不接收网络连接的各种辅助进程(提交 5c46e7d8)
pg_stat_wal_receiver
系统函数更改
添加
gen_random_uuid()
(提交 5925e554)gcd()
(提交 13661ddd)jsonb_set_lax()
(提交 a83586b5)jsonb_path_exists_tz()
(提交 bffe1bd6)jsonb_path_match_tz()
(提交 bffe1bd6)jsonb_path_query_array_tz()
(提交 bffe1bd6)jsonb_path_query_first_tz()
(提交 bffe1bd6)jsonb_path_query_tz()
(提交 bffe1bd6)lcm()
(提交 13661ddd)min_scale()
(提交 20d6225d)pg_current_snapshot()
(提交 4c04be9b)pg_current_xact_id()
(提交 4c04be9b)pg_current_xact_id_if_assigned()
(提交 4c04be9b)pg_snapshot_xip()
(提交 4c04be9b)pg_snapshot_xmax()
(提交 4c04be9b)pg_snapshot_xmin()
(提交 4c04be9b)pg_stat_reset_slru()
(提交 28cac71b)pg_visible_in_snapshot()
(提交 4c04be9b)pg_xact_status()
(提交 4c04be9bto_regcollation()
(提交 0886fc6a)trim_scale()
(提交 20d6225d)
配置更改
添加
autovacuum_vacuum_insert_scale_factor
(提交 b07642db)autovacuum_vacuum_insert_threshold
(提交 b07642db)backtrace_functions
(提交 71a8a4f6)enable_incremental_sort
(提交 d2d8a229)hash_mem_multiplier
(提交 d6c08e29)ignore_invalid_pages
(提交 41c184bc)logical_decoding_work_mem
(提交 cec2edfa)log_min_duration_sample
(提交 6e3e6cc0)log_parameter_max_length
(提交 0b34e7d3)log_parameter_max_length_on_error
(提交 0b34e7d3)log_statement_sample_rate
(提交 6e3e6cc0)maintenance_io_concurrency
(提交 fc34b0d9)max_slot_wal_keep_size
(提交 c6550776)wal_receiver_create_temp_slot
(提交 32973082)wal_skip_threshold
(提交 c6b92041)
修改
allow_system_table_mods
effective_io_concurrency
- 该值现在直接使用,而不是自动调整(提交 b09ff536)
log_line_prefix
%b
参数添加以显示后端类型(提交 70a7b477)
max_files_per_process
- 最小值从
25
更改为64
(提交 3d475515)
- 最小值从
ssl_min_server_version
- 默认值从
1.0
更改为1.2
(提交 b1abfec8)
- 默认值从
ssl_passphrase_command
track_activity_query_size
- 最大值提高到 1MB(提交 81472785)
wal_keep_segments
- 重命名为
wal_keep_size
(提交 f5dff459)
- 重命名为
索引更改
GIN
GIN
索引可以更有效地处理 tsquery 搜索中的!
(NOT
)子句(提交 4b754d6c)
身份验证更改
- 对 OpenSSL
0.9.8
和1.0.0
的支持已移除(提交 7b283d0e)
全文搜索 更改
- 添加了对希腊语的词干提取支持,以及对丹麦语和法语词干提取器的改进(提交 7b925e12)
复制更改
- 现在可以使用新的 GUC 参数
max_slot_wal_keep_size
限制复制槽保留的 WAL 量(提交 c6550776) - 如果设置了
wal_receiver_create_temp_slot
,walreceiver
现在将使用临时复制槽(初始提交 32973082) primary_conninfo
和primary_slot_name
(以及新添加的wal_receiver_create_temp_slot
参数)可以通过配置重新加载进行更改,这意味着备用服务器不再需要重启才能跟随新的主服务器或上游节点(提交 1e614803)- 如果未达到定义的 恢复目标,恢复现在将失败(提交 dc788668)
- 分区子表 现在可以自动添加到 逻辑复制 发布 中(初始提交 17b9e7f9)
- 分区子表 现在可以作为 逻辑复制 目标添加(f1ac27bf)
libpq 更改
- 添加了连接参数
ssl_min_protocol_version
和ssl_min_protocol_version
(初始提交 ff8ca5fa)
psql 更改
- 添加了
\warn
命令(提交 02e95a50) - 添加了以下与操作符相关的 斜杠命令(提交 b0b5e20c)
\dAc
- 列出操作符类\dAf
- 列出操作符族\dAo
- 列出操作符族的操作符\dAp
- 列出操作符族的过程
\d+
现在显示对象是永久的、临时的还是非日志的(提交 9a2ea618)- 改进了 TOAST 表的
\d
输出(提交 eb5472da) \e
现在将未终止的查询插入 psql 的查询缓冲区中,从而可以在提交之前查看或进一步编辑查询(提交 d1c866e5)\g
和\gx
可以接受额外的格式选项,例如\g (format=csv csv_fieldsep=',')
(提交 b63c293b)- "不可见"
PROMPT2
提示配置选项%w
添加(提交 7f338369) %x
默认包含在PROMPT1
和PROMPT2
中,以显示事务状态(提交 dcdbb5a5)
服务器实用程序
pg_rewind
- 添加了选项
--write-recovery-conf
(提交 927474ce) - 使用目标服务器的 restore_command 来检索所需的 WAL 的选项
-c
/--restore-target-wal
(提交 a7e8ece4) - 崩溃恢复现在将在回滚之前自动运行,选项
--no-ensure-shutdown
可以禁用此功能(提交 5adafaf1)
- 添加了选项
pg_upgrade
- 默认的新 bindir 现在与正在执行的
pg_upgrade
二进制文件位于同一位置,在大多数情况下消除了显式指定-B newbindir
的需要(提交 959f6d6a)
- 默认的新 bindir 现在与正在执行的
pg_waldump
核心实用程序
createuser
- 已弃用的选项
--adduser
和--no-adduser
已移除(提交 4fa5edcd)
- 已弃用的选项
dropdb
- 添加了选项
--force
(提交 80e05a08)
- 添加了选项
pg_basebackup
- 为基本备份生成备份清单,可以使用新的实用程序
pg_verifybackup
进行验证(提交 0d8c9c12) - 默认情况下显示的备份总估计大小(提交 fab13dc5)
- 添加了选项
--no-estimate-size
(提交 fab13dc5)
- 为基本备份生成备份清单,可以使用新的实用程序
pgbench
pg_dump
reindexdb
- 添加选项
--jobs
(提交 5ab892c3)
- 添加选项
vacuumdb
- 添加选项
--parallel
(提交 47bc9ced)
- 添加选项
扩展模块 更改
修改
adminpack
- 添加函数
pg_file_sync()
(提交 d694e0bb)
- 添加函数
dict_int
- 添加
ABSVAL
参数(提交 806eb92c)
- 添加
ltree
pageinspect
pg_stat_statements
- 配置选项
pg_stat_statements.track_utility
用于跟踪 WAL 使用统计信息(提交 6b466bf5) - 配置选项
pg_stat_statements.track_planning
用于跟踪计划统计信息(提交 17e03282) - 添加对计划统计信息跟踪的支持(提交 17e03282)
- 以下
pg_stat_statements
列已重命名total_time
→total_exec_time
min_time
→min_exec_time
max_time
→max_exec_time
mean_time
→mean_exec_time
stddev_time
→stddev_exec_time
- 以下
pg_stat_statements
列已添加plans
total_plan_time
min_plan_time
max_plan_time
mean_plan_time
stddev_plan_time
- 以下
- 添加对 WAL 使用统计信息跟踪的支持(提交 6b466bf5)
- 以下附加列已添加到
pg_stat_statements
视图wal_records
wal_fpi
wal_bytes
- 以下附加列已添加到
- 配置选项
postgres_fdw
sepgsql
以下 扩展模块 被标记为 可信扩展(提交 eb67623c)
btree_gin
btree_gist
citext
cube
dict_int
earthdistance
fuzzystrmatch
hstore
hstore_plperl
intarray
isn
jsonb_plperl
lo
ltree
pg_trgm
pgcrypto
seg
tablefunc
tcn
tsm_system_rows
tsm_system_time
unaccent
uuid-ossp
其他更改
- 已删除对非 ELF BSD 系统的支持(提交 c72f9b95)
测试
pg_regress
- 已删除选项
--load-language
(提交 751c63ce)
测试模块
添加
预发布测试版本
rc1
(REL_13_RC1
) - 提交 efea2b85 (2020-09-14); 公告 (2020-09-17)beta3
(REL_13_BETA3
) - 提交 1754a719 (2020-08-10); 公告 (2020-08-13)beta2
(REL_13_BETA2
) - 提交 bc4d7817 (2020-06-22); 公告 (2020-06-25)beta1
(REL_13_BETA1
) - 提交 7966b798 (2020-05-18); 公告 (2020-05-21)
标记 PostgreSQL 13
开发开始的初始提交是 615cebc9 (2019-07-01)。