PostgreSQL 9.6
- 发行说明 (源文件)
- 发布日期:2016-09-29 (发布公告)
- 最终次要版本:9.6.24 (2021-11-11)
- EOL:2021-11 (EOL 通知)
- 文档:PostgreSQL 9.6
- GIT 分支:REL9_6_STABLE
主要功能
- 并行执行顺序扫描、连接和聚合
VACUUM FREEZE
避免不必要的页面扫描- 同步复制可以使用多个备用服务器来提高可靠性
- 全文搜索 能够搜索短语(多个相邻单词)
postgres_fdw
支持远程连接、排序、UPDATE
和DELETE
有用链接
- PostgreSQL 9.6 可观测性 (来自 DataEgret 的交互式图表)
SQL 更改
添加
修改
ALTER EXTENSION
- 添加了对
ACCESS METHOD
成员对象的 支持 (提交 e8bdee27;请注意,这实际上是在 PostgreSQL 9.6.1 中添加的)
- 添加了对
ALTER FUNCTION
ALTER INDEX
DEPENDS ON EXTENSION
语法添加 (提交 f2fcad27)
ALTER MATERIALIZED VIEW
DEPENDS ON EXTENSION
语法添加 (提交 f2fcad27)
ALTER OPERATOR
- 添加了用于更改与现有运算符关联的选择性函数的选项 (提交 321eed5f)
ALTER ROLE
- 选项
CREATEUSER
/NOCREATEUSER
删除 (提交 d371bebd)
- 选项
ALTER TABLE
ALTER TABLE ... ADD COLUMN ... IF NOT EXISTS
语法添加 (提交 2cd40adb)
ALTER TRIGGER
DEPENDS ON EXTENSION
语法添加 (提交 f2fcad27)
ALTER USER
- 选项
CREATEUSER
/NOCREATEUSER
删除 (提交 d371bebd)
- 选项
COMMENT ON
COMMENT ON ACCESS METHOD
添加 (提交 4f04b66f)
COPY
COPY
现在可以复制INSERT
/UPDATE
/DELETE … RETURNING
查询的输出 (提交 92e38182)
CREATE AGGREGATE
CREATE EXTENSION
CREATE EXTENSION … CASCADE
语法添加 (提交 b67aaf21)
CREATE FUNCTION
PARALLEL { UNSAFE | RESTRICTED | SAFE }
选项添加 (提交 7aea8e4f)
CREATE GROUP
- 选项
CREATEUSER
/NOCREATEUSER
删除 (提交 d371bebd)
- 选项
CREATE ROLE
- 选项
CREATEUSER
/NOCREATEUSER
删除 (提交 d371bebd)
- 选项
CREATE USER
- 选项
CREATEUSER
/NOCREATEUSER
删除 (提交 d371bebd)
- 选项
INSERT
- 添加了对目标列列表中的数组下标和字段选择的 支持 (提交 a3c7a993)
VACUUM
- 选项
DISABLE_PAGE_SKIPPING
添加 (提交 ede62e56)
- 选项
性能更改
ALTER TABLE ... SET (fillfactor = ...)
可以以降低的锁定级别执行 (提交 fcb4bfdd)ALTER TABLE ... SET (autovacuum* = ...)
可以以降低的锁定级别执行 (提交 47167b79)
后端更改
一般
- 添加了对 systemd 服务通知的支持 (提交 7d17e683)
存储参数
添加
parallel_workers
(初始提交 25fe8b5f)
钩子
添加了以下 钩子
锁定
- 如果使用
trace_lwlocks
,则现在按名称识别锁 (提交 aa65de04)
WAL
- 添加了通用 WAL 接口 (提交 65578341)
源代码配置
- 选项
--with-systemd
添加 (提交 7d17e683)
数据类型更改
系统目录更改
表
添加
pg_init_privs
(提交 6c268df1)
修改
pg_aggregate
pg_am
pg_proc
- 列
proparallel
添加 (提交 7aea8e4f)
- 列
视图
添加
pg_config
(提交 a5c43b88)pg_stat_wal_receiver
(提交 b1a9bad9)pg_stat_progress_vacuum
(提交 c16dc1ac)
修改
pg_replication_slots
- 列
confirmed_flush_lsn
添加 (提交 3f811c2d)
- 列
pg_stat_activity
系统函数更改
添加
acosd()
(提交 e1bd684a)array_to_tsvector()
(提交 6943a946)asind()
(提交 e1bd684a)atand()
(提交 e1bd684a)atan2d()
(提交 e1bd684a)cosd()
(提交 e1bd684a)cotd()
(提交 e1bd684a)gin_clean_pending_list()
(提交 7f46eaf0)jsonb_insert()
(提交 0b62fd03)parse_ident()
(提交 3187d6de)pg_blocking_pids()
(提交 52f5d578)pg_control_checkpoint()
(提交 dc7d70ea)pg_control_init()
(提交 dc7d70ea)pg_control_recovery()
(提交 dc7d70ea)pg_control_system()
(提交 dc7d70ea)pg_current_xlog_flush_location()
(提交 e63bb454)pg_index_column_has_property()
(提交 ed0097e4)pg_index_has_property()
(提交 ed0097e4)pg_indexam_has_property()
(提交 ed0097e4)pg_logical_emit_message()
(提交 3fe3511d)pg_notification_queue_usage()
(提交 a04bb65f)pg_size_bytes()
(提交 53874c52)pg_stat_get_backend_wait_event()
(提交 53be0b1a)pg_stat_get_backend_wait_event_type()
(提交 53be0b1a)phraseto_tsquery()
(提交 bb140506)row_security_active()]
(提交 7b4bfc87)scale()
(提交 abb17339)setweight()
(提交 6943a946)sind()
(提交 e1bd684a)tand()
(提交 e1bd684a)ts_delete()
(提交 6943a946)ts_filter()
(提交 6943a946)tsquery_phrase()
(提交 bb140506)tsvector_to_array()
(提交 6943a946)unnest(tsvector)
(提交 6943a946)
修改
current_setting()
- 选项
missing_ok
添加 (提交 10fb48d6)
- 选项
extract()
- 改进无限日期时间的处理 (提交 647d87c5)
pg_create_physical_replication_slot()
- 可选参数
immediately_reserve
添加到保留从槽位创建点开始的 WAL (提交 6fcd8851)
- 可选参数
pg_stop_backup()
- 选项
exclusive boolean
添加 (提交 71176854)
- 选项
to_char()
- 负号 ("
-
") 不再被视为时间值的数字 (提交 2d87eedc)
- 负号 ("
配置更改
添加
backend_flush_after
(提交 428b1d6b)bgwriter_flush_after
(提交 428b1d6b)checkpoint_flush_after
(提交 428b1d6b)force_parallel_mode
(提交 7c944bd9)idle_in_transaction_session_timeout
(提交 c6dda1f4)max_parallel_workers_per_gather
(初始提交 80558c1f)min_parallel_relation_size
(提交 75be6646)parallel_setup_cost
(提交 3bd909b2)parallel_tuple_cost
(提交 3bd909b2)old_snapshot_threshold
(提交 848ef42b)syslog_sequence_numbers
(提交 f4c454e9)syslog_split_messages
(提交 fc201dfd)wal_writer_flush_after
(提交 7975c5e0)
修改
checkpoint_timeout
- 最大值提升至
1d
(提交 f2dba881)
- 最大值提升至
log_line_prefix
%n
参数添加以显示 Unix 时间戳 (提交 f828654e)
synchronous_commit
- 可允许值
remote_apply
添加 (提交 314cbfc5)
- 可允许值
synchronous_standby_names
num_sync(...)
语法添加 (提交 989be081)
索引更改
GIN
maintenance_work_mem
大于1GB
的值可用于GIN
索引构建 (提交 30bb26b5)- 从 GIN 索引的待处理列表中删除的页面立即添加到空闲空间映射中 (提交 e9568083 和 dc943ad9)
SP-GiST
全文搜索 更改
外部数据包装器 更改
UPDATE
或DELETE
命令可以在远程服务器上完全执行 (提交 0bf3ae88)- 仅当受影响的表将在相同的角色 ID 下访问时才执行远程外部联接 (提交 45639a05)
- 对并行查询的 API 支持 (提交 35746bc3)
用户/角色
复制更改
- 添加了对多个同步备用服务器的支持(提交 989be081)。
服务器实用程序
修改
核心实用程序
修改
pg_basebackup
- 添加了
--slot
选项,以便在备份开始之前预留复制槽(提交 0dc848b0)。
- 添加了
pg_restore
psql 更改
- 添加了对多个和混合
-c
和-f
选项的支持(提交 d5563d7d)。 - 添加了
\crosstabview
命令,用于以交叉表格式显示查询结果(初始提交 c09b18f2)。 - 添加了
\errverbose
命令,用于以完全详细程度显示上次服务器错误(提交 3cc38ca7)。 - 添加了
\ev
和\sv
命令,用于编辑/显示视图定义(提交 8eb6407a)。 - 添加了
\gexec
命令,用于执行查询并将结果重新提交为新查询(提交 2bbe9112)。 - 选项卡自动补全现在考虑整个查询,而不仅仅是当前行(提交 d854118c)。
- 添加了提示选项
%p
,用于显示连接的后端的 PID(提交 275f05c9)。 - 可以通过新变量
SHOW_CONTEXT
控制消息的CONTEXT
字段的显示(提交 0426f349)。 - 在
\connect
命令中添加了--reuse-previous
选项(提交 9d924e9a)。
Contrib 模块
添加
bloom
(提交 9ee014fc)。pg_visibility
(提交 ba0a198f)。
修改
auto_explain
- 添加了
auto_explain.sample_rate
选项(提交 92f03fe7)。
- 添加了
citext
- 添加了
并行查询
支持(提交 a89b4b1b)。
- 添加了
cube
earthdistance
- 添加了
并行查询
支持(提交 50e5226b)。
- 添加了
file_fdw
- 添加了
并行查询
支持(提交 35746bc3)。
- 添加了
fuzzystrmatch
- 所有函数标记为并行安全(提交 ffab82fb)。
lo
- 添加了
并行查询
支持(e7880e5d)。
- 添加了
pgcrypto
- 添加了
并行查询
支持(提交 0dbf3ce0)。
- 添加了
pg_freespacemap
- 添加了
并行查询
支持(提交 42d4257a)。
- 添加了
pg_prewarm
- 添加了
并行查询
支持(提交 6b3586ca)。
- 添加了
pgrowlocks
- 添加了
并行查询
支持(提交 9164deea)。
- 添加了
pg_trgm
postgres_fdw
- 添加了对远程联接的基本支持(提交 e4106b25 和 aa09cd24)。
- 添加了对远程排序的支持(提交 f18c944b 和 ccd8f979)。
- 添加了使用远程
UPDATE
或DELETE
直接修改外部表的支持(提交 0bf3ae88)。 fetch_size
选项现在可以应用于单个表以及外部服务器(提交 dc203dc3)。- 查询取消请求将被传输到远程服务器(提交 f039eaac 和 1b812afb)。
- 映射到远程服务器上相同用户的用户映射将合并为单个远程连接(提交 96198d94)。
- 如果在
extensions
选项中指定,扩展函数和运算符可以被推送到远程服务器(提交 d8949416)。
seg
sslinfo
- 添加了函数
ssl_extension_info()
(提交 49124613)。
- 添加了函数
测试
pg_regress
- 允许使用多个
--temp-config
选项(提交 26fdff1b)。
测试模块
添加
snapshot_too_old
(提交 848ef42b)。test_extensions
(提交 b67aaf21)。test_pg_dump
(提交 6bd356c3)。
预发布测试版本
标记 PostgreSQL 9.6
开发开始的初始提交是 cf8d65de(2015-06-30)。