PostgreSQL 13
- 发行说明 (源文件)
- 发布日期:2020-09-24 (发布公告)
- 当前次要版本:13.17 (2024-11-14)
- 结束支持:2025-11(估计)
- 文档:PostgreSQL 13 (索引)
- GIT 分支:REL_13_STABLE
次要版本发布
- 13.17 (2024-11-14; 发行说明; 公告)
- 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; 发行说明, 公告)
后端更改
常规
- 备用服务器的提升将优先于暂停恢复 (提交 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
- 添加了对 opclass 参数的支持(提交911e7020)。
- 移除了对已弃用的早于PostgreSQL 8.0 的 opclass 名称的隐式支持(提交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)。
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()
(提交4c04be9b)。to_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) - 默认情况下在
PROMPT1
和PROMPT2
中包含%x
以显示事务状态(提交 dcdbb5a5)
服务器实用程序
pg_rewind
- 添加了选项
--write-recovery-conf
(提交 927474ce) - 选项
-c
/--restore-target-wal
用于使用目标服务器的 restore_command 来检索所需的 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)
测试模块
已添加
dummy_index_am
(提交 640c1986)test_ginpostinglist
(提交 bde7493d)
预发布测试版本
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)。