PostgreSQL 11
- 发布说明 (源文件)
- 发布日期:2018-10-18 (版本公告)
- 最终次要版本:11.22 (2023-11-09)
- EOL: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)
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 INDEXANALYZE- 添加了
ANALYZE (option [, ...] )语法(提交 854dd8cf)
- 添加了
COMMENT ONCOPYCREATE AGGREGATE- 支持跟踪聚合最终函数是否修改转换状态(提交 4de2d4fb)
CREATE EVENT TRIGGER- 添加了
EXECUTE FUNCTION语法(提交 3b983c33)
- 添加了
CREATE FUNCTION- 移除了过时和非标准的
WITH子句(提交 4971d2a3)
- 移除了过时和非标准的
CREATE INDEX- 通过
INCLUDE子句添加了对覆盖索引的支持(提交 8224de4f)
- 通过
CREATE OPERATOR- 添加了
CREATE OPERATOR ... FUNCTION ...语法(提交 fd4417e8)
- 添加了
CREATE TABLE
CREATE TRIGGER- 添加了
EXECUTE FUNCTION语法(提交 0a63f996)
- 添加了
EXPLAIN- 并行工作程序的排序活动将显示在输出中(提交 bf11e7ee)
INSERT- 允许在分区表上使用
INSERT ... ON CONFLICT ...(提交 555ee77a)
- 允许在分区表上使用
后端更改
通用
- 数据目录现在可以设置为组可读(提交 c37b3d08)
- WAL 段大小现在在运行
initdb时可配置(提交 fc49e24f) - vacuum 和 analyze 操作对 pg_class.
reltuples的估算已得到一致性处理(提交 7c91a036)
源配置
- 添加了
--with-llvm选项(提交 5b2526c8)
bootstrap
- 目录数据格式已转换为使用 Perl 数据结构(初始提交 372728b0)
background workers
- 添加了
bgw_type字段;在此设置的值将显示在pg_stat_activity的backend_type列中,而不是通用的值“background worker”,并显示为ps进程显示标签(提交 5373bc2a) - 后台工作程序可以连接到通常禁止连接的数据库(提交 eed1ce72)
执行器
- 添加了并行感知哈希连接(提交 18042840)
LIMIT可以传递给并行工作程序(提交 3452dc52)- 支持并行 Append 计划节点(提交 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_activitypg_stat_wal_receiver- 添加了以下列(提交 9a895462)sender_hostsender_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()- 为指定时区相对于
UTC的偏移量(以小时和分钟为单位)添加了TZH和TZM格式模式(提交 11b623dd)
- 为指定时区相对于
to_timestamp()- 为指定时区相对于
UTC的偏移量(以小时和分钟为单位)添加了TZH和TZM格式模式(提交 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)
Users/roles
复制更改
逻辑复制 (Logical replication)
外部数据包装器更改
服务器实用程序
已添加
已修改
initdbpg_ctl- 添加了
kill选项(提交 2e83db3a)
- 添加了
pg_resetwalpg_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_dumppg_dumpall
pg_receivewalpg_restore- 添加了选项
--no-comments(提交 1368e92e)
- 添加了选项
psql 更改
- 添加了
\gdesc命令(提交 49ca462e) - 添加了显示 SQL 查询成功/失败的变量(提交 69835bc8)
- 添加了检查变量是否存在的测试(提交 d57c7a7c)
- 添加了环境变量
PSQL_PAGER,用于控制 psql 的分页器(提交 5e8304fd) - 标签自动完成功能已实现服务器独立(提交 722408bc)
- 添加了
quit和exit命令,与 MySQL 的命令行客户端类似(提交 df9f599b)
Contrib模块
已添加
已修改
adminpackamcheck- 添加了对 btree 索引所属的堆关系进行验证(提交 7f563c09)
btree_gincitext- 添加了
citext_pattern_ops(提交 f2464997)
- 添加了
cubefuzzystrmatch- 添加了测试套件(提交 6141123a)
pg_prewarm- 添加了自动预热功能(提交 79ccd7cb)
pg_stat_statements- 将
queryid扩展到 64 位,以减少冲突的可能性(提交 cff440d3)
- 将
pg_trgm- 添加了
strict_word_similarity()函数(提交 be8a7a68)
- 添加了
postgres_fdwseg- 支持索引扫描(commit de1d042f)
start-scriptstest_decoding- 添加了
include-rewrites选项(提交 325f2ec5)
- 添加了
unaccent- 添加了越南语字符处理(提交 ec0a69e4)
移除
文档
- 文档已转换为DocBook XML(提交 3c49c6fa)
测试
测试模块
已添加
test_bloomfilter(提交 51bc2717)test_predtest(提交 44468f49)test_rbtree(提交 610bbdd8)
预发布测试版本
标志着PostgreSQL 11开发开始的初始提交是 9f14dc39 (2017-08-14)。
