PostgreSQL 11
- 发布说明 (源文件)
- 发布日期: 2018-10-18 (发布公告)
- 最终次要版本: 11.22 (2023-11-09)
- 停止维护: 2023-11
- 文档: PostgreSQL 11 (索引)
- GIT 分支: REL_11_STABLE
次要版本发布
- 11.22 (2023-11-09); 发布说明, 公告)
- 11.21 (2023-08-10); 发布说明, 公告
- 11.20 (2023-05-11); 发布说明, 公告
- 11.19 (2023-02-09; 发布说明, 公告)
- 11.18 (2022-11-10; 发布说明, 公告)
- 11.17 (2022-08-11; 发布说明, 公告)
- 11.16 (2022-05-12; 发布说明, 公告)
- 11.15 (2022-02-10; 发布说明, 公告)
- 11.14 (2021-11-11; 发布说明, 公告)
- 11.13 (2021-08-12; 发布说明, 公告)
- 11.12 (2021-05-13; 发布说明, 公告)
- 11.11 (2021-02-11; 发布说明, 公告)
- 11.10 (2020-11-12; 发布说明, 公告)
- 11.9 (2020-08-13; 发布说明, 公告)
主要功能
- 分区功能改进
- 并行性改进
- 支持嵌入式事务的 SQL 存储过程 (初始提交 e4128ee7)
- 某些 SQL 代码的可选即时 (JIT) 编译
- 扩展了对窗口函数的支持
- 现在可以创建覆盖索引 (提交 8224de4f)
ALTER TABLE ... ADD COLUMN
具有非空常量默认值不再需要表重写 (初始提交 16828d5c)
有用链接
- PostgreSQL 11 可观测性 (来自 DataEgret 的交互式图表)
SQL 更改
一般
- 为窗口框架子句添加了对所有 SQL:2011 选项的支持 (提交 0a459cec)
已添加:
ALTER PROCEDURE
(提交 e4128ee7)ALTER ROUTINE
(提交 e4128ee7)CALL
(提交 e4128ee7)CREATE PROCEDURE
(提交 e4128ee7)DROP PROCEDURE
(提交 e4128ee7)DROP ROUTINE
(提交 e4128ee7)
已修改
ALTER EXTENSION
- 添加了对
PROCEDURE
和ROUTINE
成员对象的支持 (提交 e4128ee7)
- 添加了对
ALTER INDEX
ANALYZE
- 添加了语法
ANALYZE (option [, ...] )
(提交 854dd8cf)
- 添加了语法
COMMENT ON
COPY
CREATE AGGREGATE
- 支持跟踪聚合最终函数是否修改了过渡状态 (提交 4de2d4fb)
CREATE EVENT TRIGGER
EXECUTE FUNCTION
语法已添加 (提交 3b983c33)
CREATE FUNCTION
- 已过时且不符合标准的
WITH
子句已删除 (提交 4971d2a3)
- 已过时且不符合标准的
CREATE INDEX
- 通过
INCLUDE
子句添加了对覆盖索引的支持 (提交 8224de4f)
- 通过
CREATE OPERATOR
CREATE OPERATOR ... FUNCTION ...
语法已添加 (提交 fd4417e8)
CREATE TABLE
创建触发器
- 添加了
EXECUTE FUNCTION
语法(提交 0a63f996)。
- 添加了
解释
- 在输出中显示并行工作者的排序活动(提交 bf11e7ee)。
插入
- 允许在分区表上使用
INSERT ... ON CONFLICT ...
(提交 555ee77a)。
- 允许在分区表上使用
后端更改
一般
- 现在可以将数据目录设为组可读(提交 c37b3d08)。
- WAL 段大小现在可以在运行
initdb
时配置(提交 fc49e24f)。 - 通过 vacuum 和 analyze 操作对 pg_class.
reltuples
的估计值进行一致化(提交 7c91a036)。
源代码配置
- 添加了选项
--with-llvm
(提交 5b2526c8)。
引导
- 将目录数据格式转换为使用 Perl 数据结构(初始提交 372728b0)。
后台工作进程
- 添加了
bgw_type
字段;此处设置的值将在pg_stat_activity
的backend_type
列中显示,而不是通用的值 "background worker
",也会显示为ps
进程显示标签(提交 5373bc2a)。 - 后台工作者可以连接到通常不允许连接的数据库(提交 eed1ce72)。
执行器
- 添加了并行感知哈希连接(提交 18042840)。
LIMIT
可以传递给并行工作者(提交 3452dc52)。- 支持并行追加计划节点(提交 ab727167)。
UNION [ALL]
能够并行运行每个SELECT
,如果单个SELECT
不能并行化(提交 88ba0ae2)。
优化器
- 改进了对统计数据中最常见值 (MCV) 的选择(提交 b5db1d93)。
存储参数
添加了
toast_tuple_target
(提交 c2513365)。
Vacuum
- 更积极地删除了孤立的临时表(提交 943576bd)。
WAL
- 删除了二级检查点,这意味着 WAL 不会保留在最近的检查点之外(提交 4b0d28de)。
系统目录更改
表
已修改
pg_aggregate
- 添加了以下列pg_class
- 删除了列
relhaspkey
(提交 f66e8bf8)。
- 删除了列
pg_index
- 添加了列
indnkeyatts
(提交 8224de4f)。
- 添加了列
pg_partitioned_table
- 添加了列
partdefid
(提交 6f6b99d1)。
- 添加了列
pg_proc
- 将列
proisagg
和proiswindow
替换为prokind
(提交 fd1a421f)。
- 将列
pg_publication
添加了列
pubtruncate
(提交 039eb6e9)。
视图
已修改
pg_stat_activity
pg_stat_wal_receiver
- 添加了以下列(提交 9a895462)。sender_host
sender_port
系统函数更改
添加了
json_to_tsvector()
(提交 1c1791e0)jsonb_to_tsvector()
(提交 1c1791e0)。pg_jit_available()
(提交 432bb9e0)。pg_replication_slot_advance()
(提交 9c7d06d6)。sha224()
(提交 10cfce34)。sha256()
(提交 10cfce34)。sha384()
(提交 10cfce34)。sha512()
(提交 10cfce34)。starts_with()
(提交 710d90da)。websearch_to_tsquery()
(提交 1664ae19)。
已修改
to_char()
- 添加了
TZH
和TZM
格式模式,用于指定时区相对于UTC
的偏移量(以小时和分钟为单位)(提交 11b623dd)。
- 添加了
to_timestamp()
- 添加了
TZH
和TZM
格式模式,用于指定时区相对于UTC
的偏移量(以小时和分钟为单位)(提交 11b623dd)。
- 添加了
索引更改
btree
- 添加了对并行索引构建的支持(提交 9da0cc35)。
GIN
- 添加了谓词锁定(提交 43d1ed60)。
GiST
- 添加了谓词锁定(提交 3ad55863)。
hash
- 添加了谓词锁定(提交 b508a56f)。
SP-GiST
分区更改
- 添加了对默认分区的支持(提交 6f6b99d1)。
- 分区修剪能够处理任何稳定的表达式(提交 73b7f48f)。
- 添加了对执行时分区修剪的支持(提交 499be013)。
- 添加了哈希分区支持(提交 1aba8e65)。
UPDATE
现在可以将元组从一个分区移动到另一个分区(初始提交 2f178441)。- 允许在分区表上使用唯一索引(提交 eb7ed3f3)。
- 允许在分区表上使用
INSERT ... ON CONFLICT ...
(提交 555ee77a)。 - 允许在分区表上使用外键(提交 3de241db)。
- 允许在分区表上使用
FOR EACH ROW
触发器(提交 86f57594)。 - 启用了分区级联接(提交 f49842d1)。
- 启用了分区级分组/聚合(提交 e2f1eb0e)。
配置更改
添加了
enable_parallel_append
(提交 ab727167)。enable_parallel_hash
(提交 18042840)。enable_partition_pruning
(提交 055fb8d3)。enable_partitionwise_join
(提交 f49842d1)。enable_partitionwise_aggregate
(提交 e2f1eb0e)。jit
(提交 432bb9e0)。jit_above_cost
(提交 cc415a56)。jit_debugging_support
(提交 250bca7f)。jit_dump_bitcode
(提交 b96d550e)。jit_expressions
(提交 2a0faed9)。jit_inline_above_cost
(提交 9370462e)。jit_optimize_above_cost
(提交 cc415a56)jit_profiling_support
(提交 250bca7f)jit_provider
(提交 432bb9e0)jit_tuple_deforming
(提交 32af96b2)max_parallel_maintenance_workers
(提交 9da0cc35)parallel_leader_participation
(提交 e5253fdc)ssl_passphrase_command
(提交 8a3d9425)ssl_passphrase_command_supports_reload
(提交 8a3d9425)vacuum_cleanup_index_scale_factor
(提交 857f9c36)
已修改
log_executor_stats
- 输出中显示内存使用情况(提交 c039ba07)
log_parser_stats
- 输出中显示内存使用情况(提交 c039ba07)
log_planner_stats
- 输出中显示内存使用情况(提交 c039ba07)
log_statement_stats
- 输出中显示内存使用情况(提交 c039ba07)
已移除
replacement_sort_tuples
(提交 8b304b8b)
用户/角色
复制更改
逻辑复制
外部数据包装器更改
服务器实用程序
添加了
已修改
initdb
pg_ctl
- 添加了
kill
选项(提交 2e83db3a)
- 添加了
pg_resetwal
pg_rewind
- 从源服务器复制时,省略了
pg_basebackup
省略的相同文件和目录(提交 266b6acb) - 不再可以作为系统
root
用户执行(提交 5d5aedda)
- 从源服务器复制时,省略了
核心实用程序
已修改
pg_basebackup
- 添加了选项
--create-slot
,用于使用--slot
选项自动创建指定的复制槽(提交 3709ca1c)
- 添加了选项
pgbench
- 主要脚本语言改进(提交 bc7fa0c1)
pow()
/power()
函数已添加(提交 7a727c18)\if
支持已添加(提交 f67b113a)- 变量名中允许使用非 ASCII 字符(提交 9d36a386)
- 添加了散列函数
hash()
、hash_murmur2()
和hash_fnv1a()
(提交 e51a0484) random_zipfian()
函数已添加(提交 1fcd0ade)- 添加了选项
--init-steps
(提交 591c504f) - 添加了选项
--random-seed
(提交 64f85894) - 使用
--latency-limit
和--rate
生成的统计信息的准确性得到改进(提交 c23bb6ba 和 16827d44)
pg_dump
pg_dumpall
pg_receivewal
pg_restore
- 添加了选项
--no-comments
(提交 1368e92e)
- 添加了选项
psql 更改
\gdesc
命令已添加(提交 49ca462e)- 添加了显示 SQL 查询成功/失败的变量(提交 69835bc8)
- 添加了测试变量是否存在的功能(提交 d57c7a7c)
- 添加了环境变量
PSQL_PAGER
,用于控制 psql 的分页器(提交 5e8304fd) - 使 tab 补全功能独立于服务器(提交 722408bc)
- 添加了
quit
和exit
命令,类似于 MySQL 的命令行客户端(提交 df9f599b)
Contrib 模块
添加了
已修改
adminpack
amcheck
添加了对属于 B 树索引的堆关系的验证(提交 7f563c09)
btree_gin
citext
citext_pattern_ops
已添加(提交 f2464997)
cube
fuzzystrmatch
- 添加了测试套件(提交 6141123a)
pg_prewarm
- 添加了自动预热功能(提交 79ccd7cb)
pg_stat_statements
queryid
已扩展到 64 位,以减少冲突的可能性(提交 cff440d3)
pg_trgm
- 添加了函数
strict_word_similarity()
(提交 be8a7a68)
- 添加了函数
postgres_fdw
seg
- 添加了对索引仅扫描的支持(提交 de1d042f)
start-scripts
test_decoding
- 添加了选项
include-rewrites
(提交 325f2ec5)
- 添加了选项
unaccent
- 添加了越南语字符处理(提交 ec0a69e4)
已移除
文档
- 文档已转换为 DocBook XML(提交 3c49c6fa)
测试
测试模块
添加了
test_bloomfilter
(提交 51bc2717)test_predtest
(提交 44468f49)test_rbtree
(提交 610bbdd8)
预发布测试版本
标记 PostgreSQL 11
开发开始的初始提交是 9f14dc39(2017-08-14)。