PostgreSQL 9.3
已停止支持 · 记录构建 9.3.25 · 2018-11-08
此大版本已停止支持,相关记录用于查阅历史;没有更新的安全记录不代表仍可安全运行。
- 首次正式发布
- 2013-09-09
- 支持结束
- 2018-11-08
- 已收录发布版本
- 26
- 原始发布说明条目
- 968
手册与来源
PostgreSQL 9.3 本站手册 · 已加载 1199 页。
手册加载时间:2026-09-27T00:10:45.258078。
发布说明快照:2026-09-26。安全证据快照:2026-09-26。PDF 链接按本地文件是否存在提供,历史版本的语言与 HTML 手册可能不同。生命周期参见官方版本政策。
升级注意事项
跨大版本升级需要导出/恢复或 pg_upgrade 等迁移方式,应阅读沿途大版本的发布说明与目标版本手册。小版本更新也可能要求额外操作,请核对对应发布的迁移说明。官方升级政策。
9.3.0 的兼容性变化 · 从首发到 9.3.25 的变化
9.3.0 的原始迁移说明
发布历史
每次发布的原始变更均独立保留。CVE 数量表示发布说明中的提及,可能包含后续纠正,不等于本次新修复漏洞数。
| 版本 | 日期/快照截止时间 | 全部变化 | BUG 修复 | 迁移条目 | 提及 CVE |
|---|---|---|---|---|---|
| 9.3.25 | 2018-11-08 | 35 | 17 | 0 | 0 |
| 9.3.24 | 2018-08-09 | 21 | 10 | 0 | 1 |
| 9.3.23 | 2018-05-10 | 27 | 12 | 0 | 0 |
| 9.3.22 | 2018-03-01 | 7 | 4 | 0 | 1 |
| 9.3.21 | 2018-02-08 | 24 | 13 | 0 | 1 |
| 9.3.20 | 2017-11-09 | 17 | 7 | 0 | 2 |
| 9.3.19 | 2017-08-31 | 7 | 1 | 0 | 0 |
| 9.3.18 | 2017-08-10 | 41 | 22 | 0 | 3 |
| 9.3.17 | 2017-05-11 | 28 | 14 | 0 | 4 |
| 9.3.16 | 2017-02-09 | 37 | 14 | 0 | 0 |
| 9.3.15 | 2016-10-27 | 22 | 12 | 0 | 0 |
| 9.3.14 | 2016-08-11 | 36 | 12 | 0 | 2 |
| 9.3.13 | 2016-05-12 | 16 | 8 | 0 | 0 |
| 9.3.12 | 2016-03-31 | 18 | 9 | 0 | 0 |
| 9.3.11 | 2016-02-11 | 56 | 24 | 0 | 4 |
| 9.3.10 | 2015-10-08 | 62 | 33 | 0 | 2 |
| 9.3.9 | 2015-06-12 | 4 | 3 | 0 | 0 |
| 9.3.8 | 2015-06-04 | 4 | 2 | 0 | 0 |
| 9.3.7 | 2015-05-22 | 47 | 18 | 0 | 3 |
| 9.3.6 | 2015-02-05 | 90 | 45 | 0 | 6 |
| 9.3.5 | 2014-07-24 | 54 | 29 | 0 | 1 |
| 9.3.4 | 2014-03-20 | 21 | 8 | 0 | 0 |
| 9.3.3 | 2014-02-20 | 71 | 33 | 0 | 8 |
| 9.3.2 | 2013-12-05 | 38 | 24 | 0 | 0 |
| 9.3.1 | 2013-10-10 | 8 | 5 | 0 | 0 |
| 9.3.0 | 2013-09-09 | 177 | 6 | 10 | 0 |
首次发布变化
9.3.0 的原始条目,包含功能和兼容性变化。类别用于浏览,不是上游原始分类。
匹配 177 / 177 条原始变更。
把 replication_timeout 重命名为 wal_sender_timeout · 兼容性变化 · 迁移说明
把
replication_timeout重命名为wal_sender_timeout(Amit Kapila)这个设置控制 WAL 发送端的超时。
原始发布条目 ·
9.3.0/migration/001设置 commit_delay 现在需要超级用户权限,因为它如今有可能延迟其他会话 · 兼容性变化 · 迁移说明
设置
commit_delay现在需要超级用户权限,因为它如今有可能延迟其他会话(Simon Riggs)原始发布条目 ·
9.3.0/migration/002如果要更新或删除的元组已被 BEFORE 触发器更新或删除,则抛出错误 · 兼容性变化 · 迁移说明
如果要更新或删除的元组已被
BEFORE触发器更新或删除,则抛出错误(Kevin Grittner)此前,原本打算执行的更新会被静默跳过,造成逻辑不一致,因为触发器可能已经基于预期的更新把数据传播到了其他地方。现在会抛出错误,以防止不一致的结果被提交。如果此变更影响你的应用,最好的解决办法通常是把数据传播动作移到
AFTER触发器。如果查询调用的易变函数修改了稍后又被查询本身修改的行,也会抛出此错误。这类情况此前同样会导致静默跳过更新。
原始发布条目 ·
9.3.0/migration/004修改多列 ON UPDATE SET NULL/SET DEFAULT 外键操作的行为,使其影响约束的所有列,而不只是 UPDATE 中被更改的那些列 · 兼容性变化 · 迁移说明
修改多列
ON UPDATE SET NULL/SET DEFAULT外键操作的行为,使其影响约束的所有列,而不只是UPDATE中被更改的那些列(Tom Lane)此前,我们只会设置那些与被
UPDATE更改的被引用列相对应的引用列。这是 SQL-92 的要求,但 SQL 标准的较新版本规定了新的行为。原始发布条目 ·
9.3.0/migration/005当 search_path 发生变化时,强制对缓存的计划重新规划 · 兼容性变化 · 迁移说明
当
search_path发生变化时,强制对缓存的计划重新规划(Tom Lane)此前,如果查询以新的
search_path设置重新执行,当前会话中已生成的缓存计划不会重做,导致令人惊讶的行为。原始发布条目 ·
9.3.0/migration/006修复 to_number(),使其正确处理用作千位分隔符的句点 · 兼容性变化 · 迁移说明
修复
to_number(),使其正确处理用作千位分隔符的句点(Tom Lane)此前,即使区域设置表明句点不是小数点、并且使用了
D格式代码指定使用区域特定的小数点,句点仍被视为小数点。如果同时使用FM格式,这会导致错误答案。原始发布条目 ·
9.3.0/migration/007修复带集合返回函数参数的 STRICT 非集合返回函数,使其正确返回空行 · 兼容性变化 · 迁移说明
修复带集合返回函数参数的
STRICT非集合返回函数,使其正确返回空行(Tom Lane)传递给严格函数的空值本应产生空输出,但该输出行却被完全抑制了。
原始发布条目 ·
9.3.0/migration/008在 pg_constraint.confmatchtype 中,把默认外键匹配类型(非 FULL、非 PARTIAL)存储为表示“simple”的 s · 兼容性变化 · 迁移说明
在
pg_constraint.confmatchtype中,把默认外键匹配类型(非FULL、非PARTIAL)存储为表示“simple”的s(Tom Lane)此前这种情况用表示“unspecified”的
u表示。原始发布条目 ·
9.3.0/migration/010防止非键字段的行更新阻塞外键检查 · 新功能
防止非键字段的行更新阻塞外键检查(Álvaro Herrera、Noah Misch、Andres Freund、Alexander Shulgin、Marti Raudsepp、Alexander Shulgin)
此变更提高了并发性,并降低了更新外键约束相关表时发生死锁的概率。不更改外键所引用列的
UPDATE现在对行采用新的NO KEY UPDATE锁模式,而外键检查使用新的KEY SHARE锁模式,它与NO KEY UPDATE不冲突。因此,除非外键列被更改,否则不会发生阻塞。原始发布条目 ·
9.3.0/changes/001新增配置变量 lock_timeout,用于限制会话等待获取任一锁的最长时间 · 新功能
新增配置变量
lock_timeout,用于限制会话等待获取任一锁的最长时间(Zoltán Böszörményi)原始发布条目 ·
9.3.0/changes/002当存在多个同等良好的候选时,通过随机选择下探页面来改进 GiST 索引插入的性能 · 性能改进
当存在多个同等良好的候选时,通过随机选择下探页面来改进 GiST 索引插入的性能(Heikki Linnakangas)
原始发布条目 ·
9.3.0/changes/005改进优化器对通过哈希聚合实现 DISTINCT 的哈希表大小估计 · 新功能
改进优化器对通过哈希聚合实现
DISTINCT的哈希表大小估计(Tom Lane)原始发布条目 ·
9.3.0/changes/009抑制无操作的 Result 和 Limit 计划节点 · 新功能
抑制无操作的 Result 和 Limit 计划节点(Kyotaro Horiguchi、Amit Kapila、Tom Lane)
原始发布条目 ·
9.3.0/changes/010当优化器只关心总代价时,不再以启动代价低为由保留计划,从而降低优化器开销 · 性能改进
当优化器只关心总代价时,不再以启动代价低为由保留计划,从而降低优化器开销(Tom Lane)
原始发布条目 ·
9.3.0/changes/011新增 COPY FREEZE 选项,以避免稍后把元组标记为冻结的开销 · 性能改进
新增
COPY FREEZE选项,以避免稍后把元组标记为冻结的开销(Simon Riggs、Jeff Davis)原始发布条目 ·
9.3.0/changes/012改进等待 commit_delay 的会话间的同步 · 性能改进
改进等待
commit_delay的会话间的同步(Peter Geoghegan)这大大提升了
commit_delay的实用性。原始发布条目 ·
9.3.0/changes/014改进 CREATE TEMPORARY TABLE ... ON COMMIT DELETE ROWS 选项的性能:在未触及任何临时表的事务中不再截断这类临时表 · 性能改进
改进
CREATE TEMPORARY TABLE ... ON COMMIT DELETE ROWS选项的性能:在未触及任何临时表的事务中不再截断这类临时表(Heikki Linnakangas)原始发布条目 ·
9.3.0/changes/015让清理在移除过期元组后重新检查可见性 · 性能改进
让清理在移除过期元组后重新检查可见性(Pavan Deolasee)
这提高了页面被标记为全可见的机会。
原始发布条目 ·
9.3.0/changes/016新增逐资源所有者的锁缓存 · 性能改进
新增逐资源所有者的锁缓存(Jeff Janes)
这加快了持有大量锁的多语句事务在语句完成时的锁簿记速度;它对 pg_dump 尤其有用。
原始发布条目 ·
9.3.0/changes/017避免在创建新关系的事务提交时扫描整个关系缓存 · 性能改进
避免在创建新关系的事务提交时扫描整个关系缓存(Jeff Janes)
这加快了在连续的小事务中创建大量表的会话的速度,例如 pg_restore 运行。
原始发布条目 ·
9.3.0/changes/018修复统计收集器在系统时钟回拨情况下无法正常工作的问题 · BUG 修复
修复统计收集器在系统时钟回拨情况下无法正常工作的问题(Tom Lane)
此前,统计收集会停止,直到时间再次达到先前记录的最晚时间。
原始发布条目 ·
9.3.0/changes/022在即将停止向 postmaster 标准错误输出日志时,向其发出一条提示性消息 · 新功能
在即将停止向 postmaster 标准错误输出日志时,向其发出一条提示性消息(Tom Lane)
在仅在 postmaster 启动期间向标准错误记录日志的常见配置中,这应有助于减少用户对到哪里查找日志输出的困惑。
原始发布条目 ·
9.3.0/changes/023当认证失败时,记录相关的 pg_hba.conf 行,以便于调试意外失败 · 新功能
当认证失败时,记录相关的
pg_hba.conf行,以便于调试意外失败(Magnus Hagander)原始发布条目 ·
9.3.0/changes/024新增对以 URL 格式(按 RFC 4516)指定 LDAP 认证参数的支持 · 新功能
新增对以 URL 格式(按 RFC 4516)指定 LDAP 认证参数的支持(Peter Eisentraut)
原始发布条目 ·
9.3.0/changes/026把 ssl_ciphers 参数改为以 DEFAULT 而不是 ALL 开头,然后移除不安全的密码套件 · 新功能
把
ssl_ciphers参数改为以DEFAULT而不是ALL开头,然后移除不安全的密码套件(Magnus Hagander)这应能产生更合适的 SSL 密码套件集。
原始发布条目 ·
9.3.0/changes/027只解析和加载一次 pg_ident.conf,而不是在每次连接期间进行 · 新功能
只解析和加载一次
pg_ident.conf,而不是在每次连接期间进行(Amit Kapila)这与
pg_hba.conf的处理方式类似。原始发布条目 ·
9.3.0/changes/028允许 postmaster 监听多个 Unix 域套接字 · 新功能
允许 postmaster 监听多个 Unix 域套接字(Honza Horák)
配置参数
unix_socket_directory被unix_socket_directories取代,后者接受目录列表。原始发布条目 ·
9.3.0/changes/030允许处理包含配置文件的目录 · 新功能
允许处理包含配置文件的目录(Magnus Hagander、Greg Smith、Selena Deckelmann)
这样的目录通过服务器配置文件中的
include_dir指定。原始发布条目 ·
9.3.0/changes/031把 initdb 配置的 shared_buffers 最大值提高到 128MB · 新功能
把 initdb 配置的
shared_buffers最大值提高到 128MB(Robert Haas)这是 initdb 尝试在
postgresql.conf中设置的最大值;此前的最大值是 32MB。原始发布条目 ·
9.3.0/changes/032新增 SQL 函数 pg_is_in_backup() 和 pg_backup_start_time() · 新功能
新增 SQL 函数
pg_is_in_backup()和pg_backup_start_time()(Gilles Darold)这些函数报告基础备份的状态。
原始发布条目 ·
9.3.0/changes/035改进禁用 synchronous_commit 时流式日志传送的性能 · 性能改进
改进禁用
synchronous_commit时流式日志传送的性能(Andres Freund)原始发布条目 ·
9.3.0/changes/036允许把流式备库提升为主库的速度大大加快 · 性能改进
允许把流式备库提升为主库的速度大大加快(Simon Riggs、Kyotaro Horiguchi)
原始发布条目 ·
9.3.0/changes/037把最后一个检查点的重做位置加入pg_controldata的输出 · 新功能
把最后一个检查点的重做位置加入pg_controldata的输出(Fujii Masao)
这一信息有助于确定恢复需要哪些 WAL 文件。
原始发布条目 ·
9.3.0/changes/038允许pg_receivexlog等工具在体系结构不同的计算机上运行 · 新功能
允许pg_receivexlog等工具在体系结构不同的计算机上运行(Heikki Linnakangas)
WAL 文件仍然只能在与会与主库相同体系结构的服务器上重放;但由于流复制协议现在与机器无关,它们可以被传输并存储在任何体系结构的机器上。
原始发布条目 ·
9.3.0/changes/039让pg_basebackup的 --write-recovery-conf 输出最小化的 recovery.conf 文件 · 新功能
让pg_basebackup的
--write-recovery-conf输出最小化的recovery.conf文件(Zoltán Böszörményi、Magnus Hagander)这简化了备库服务器的搭建。
原始发布条目 ·
9.3.0/changes/040允许pg_receivexlog和pg_basebackup的 --xlog-method 处理流式时间线切换 · 新功能
允许pg_receivexlog和pg_basebackup的
--xlog-method处理流式时间线切换(Heikki Linnakangas)原始发布条目 ·
9.3.0/changes/041新增 wal_receiver_timeout 参数,用于控制 WAL 接收端的超时 · 新功能
新增
wal_receiver_timeout参数,用于控制 WAL 接收端的超时(Amit Kapila)这可以更快地检测到连接失败。
原始发布条目 ·
9.3.0/changes/042新增 CREATE SCHEMA ... IF NOT EXISTS 子句 · 新功能
新增
CREATE SCHEMA ... IF NOT EXISTS子句(Fabrízio de Royes Mello)原始发布条目 ·
9.3.0/changes/049让 REASSIGN OWNED 也更改共享对象的所有权 · 新功能
让
REASSIGN OWNED也更改共享对象的所有权(Álvaro Herrera)原始发布条目 ·
9.3.0/changes/050让 CREATE AGGREGATE 在给定的初始值字符串不是转换数据类型的有效输入时报错 · 新功能
让
CREATE AGGREGATE在给定的初始值字符串不是转换数据类型的有效输入时报错(Tom Lane)原始发布条目 ·
9.3.0/changes/051抑制 CREATE TABLE 关于隐式创建索引和序列的消息 · 新功能
抑制
CREATE TABLE关于隐式创建索引和序列的消息(Robert Haas)这些消息现在以
DEBUG1详细级别出现,因此默认不会显示。原始发布条目 ·
9.3.0/changes/052当表名中指定了不存在的模式时,允许 DROP TABLE IF EXISTS 成功执行 · 新功能
当表名中指定了不存在的模式时,允许
DROP TABLE IF EXISTS成功执行(Bruce Momjian)此前,如果模式不存在,它会抛出错误。
原始发布条目 ·
9.3.0/changes/053支持 ALTER TYPE ... ADD VALUE 中的 IF NOT EXISTS 选项 · 新功能
支持
ALTER TYPE ... ADD VALUE中的IF NOT EXISTS选项(Andrew Dunstan)这对有条件地向枚举类型添加值很有用。
原始发布条目 ·
9.3.0/changes/055新增 ALTER ROLE ALL SET,用于为所有用户建立设置 · 新功能
新增
ALTER ROLE ALL SET,用于为所有用户建立设置(Peter Eisentraut)这允许设置应用于所有数据库中的所有用户。
ALTER DATABASE SET此前已允许为单个数据库中的所有用户添加设置。postgresql.conf有类似效果。原始发布条目 ·
9.3.0/changes/056使简单视图自动可更新 · 新功能
使简单视图自动可更新(Dean Rasheed)
引用单个基础表部分或全部列的简单视图现在默认可更新。更复杂的视图可以通过
INSTEAD OF触发器或INSTEAD规则使其可更新。原始发布条目 ·
9.3.0/changes/059新增 CREATE RECURSIVE VIEW 语法 · 新功能
新增
CREATE RECURSIVE VIEW语法(Peter Eisentraut)在内部,这会被转换为
CREATE VIEW ... WITH RECURSIVE ...。原始发布条目 ·
9.3.0/changes/060改进视图/规则打印代码,以处理被引用表被重命名、或列被重命名、添加或删除的情况 · 新功能
改进视图/规则打印代码,以处理被引用表被重命名、或列被重命名、添加或删除的情况(Tom Lane)
表和列的重命名可能造成这样的情况:如果只是把新名称替换进规则或视图的原始文本,结果就会有歧义。此变更修复了规则转储代码,使其在需要时插入构造的表和列别名以保持原始语义。
原始发布条目 ·
9.3.0/changes/061新增 array_remove() 和 array_replace() 函数 · 新功能
新增
array_remove()和array_replace()函数(Marco Nenciarini、Gabriele Bartolini)原始发布条目 ·
9.3.0/changes/067让 to_char()、to_date() 和 to_timestamp() 正确处理负的(公元前)世纪值 · 新功能
让
to_char()、to_date()和to_timestamp()正确处理负的(公元前)世纪值(Bruce Momjian)此前的行为要么错误,要么与正数/AD(公元)的处理不一致,例如在使用格式掩码 “IYYY-IW-DY” 时。
原始发布条目 ·
9.3.0/changes/070让 to_date() 和 to_timestamp() 在混用 ISO 与公历周/日标记时返回正确结果 · 新功能
让
to_date()和to_timestamp()在混用 ISO 与公历周/日标记时返回正确结果(Bruce Momjian)原始发布条目 ·
9.3.0/changes/071让 pg_get_viewdef() 默认在每个 SELECT 目标列表项和 FROM 项之后换行 · 新功能
让
pg_get_viewdef()默认在每个SELECT目标列表项和FROM项之后换行(Marko Tiikkaja)这缩短了视图打印时的行长度,例如在pg_dump输出中。
原始发布条目 ·
9.3.0/changes/072修复 map_sql_value_to_xml_value(),使域类型值的打印方式与其基础类型的打印方式一致 · BUG 修复
修复
map_sql_value_to_xml_value(),使域类型值的打印方式与其基础类型的打印方式一致(Pavel Stehule)某些内建类型(如
boolean)有特殊的格式化规则;这些规则现在也适用于基于这些类型的域。原始发布条目 ·
9.3.0/changes/073允许 PL/pgSQL 在 RETURN 中使用组合类型表达式 · 新功能
允许 PL/pgSQL 在
RETURN中使用组合类型表达式(Asif Rehman)此前,在返回组合类型的函数中,
RETURN只能引用该类型的变量。原始发布条目 ·
9.3.0/changes/074允许 PL/pgSQL 访问 COPY 处理的行数 · 新功能
允许 PL/pgSQL 访问
COPY处理的行数(Pavel Stehule)在 PL/pgSQL 函数中执行的
COPY现在会更新GET DIAGNOSTICS x = ROW_COUNT获取的值。原始发布条目 ·
9.3.0/changes/076允许非保留关键字在 PL/pgSQL 的所有位置用作标识符 · 新功能
允许非保留关键字在 PL/pgSQL 的所有位置用作标识符(Tom Lane)
在 PL/pgSQL 语法的某些位置,关键字必须加引号才能用作标识符,即使它们名义上是非保留的。
原始发布条目 ·
9.3.0/changes/077新增 PL/Python 结果对象的字符串处理器 · 新功能
新增 PL/Python 结果对象的字符串处理器(Peter Eisentraut)
这使得
plpy.debug(rv)能够输出合理的内容。原始发布条目 ·
9.3.0/changes/078让 PL/Python 把 OID 值转换为合适的 Python 数值类型 · 新功能
让 PL/Python 把 OID 值转换为合适的 Python 数值类型(Peter Eisentraut)
原始发布条目 ·
9.3.0/changes/079防止子事务中止时 SPI 元组表的泄漏 · BUG 修复
防止子事务中止时 SPI 元组表的泄漏(Tom Lane)
现在,任何失败的子事务结束时,SPI 核心代码会释放该子事务期间创建的所有 SPI 元组表。这免除了使用 SPI 的代码跟踪此类元组表并在错误恢复代码中手工释放它们的需要。此前未做到这一点曾导致 PL/pgSQL 或许还有其他 SPI 客户端中的若干事务级内存泄漏问题。
SPI_freetuptable()现在可以防止多次释放请求,因此现有的确做了清理的代码不会因这一变更而破坏。原始发布条目 ·
9.3.0/changes/081新增命令行工具pg_isready,用于检查服务器是否准备好接受连接 · 新功能
新增命令行工具pg_isready,用于检查服务器是否准备好接受连接(Phil Sorber)
原始发布条目 ·
9.3.0/changes/083为pg_dumpall、pg_basebackup和pg_receivexlog新增 --dbname 选项,用于指定连接串 · 新功能
为pg_dumpall、pg_basebackup和pg_receivexlog新增
--dbname选项,用于指定连接串(Amit Kapila)原始发布条目 ·
9.3.0/changes/085新增 libpq 函数 PQconninfo(),用于返回连接信息 · 新功能
新增 libpq 函数
PQconninfo(),用于返回连接信息(Zoltán Böszörményi、Magnus Hagander)原始发布条目 ·
9.3.0/changes/086调整函数代价设置,使 psql 的 Tab 补全和模式搜索更高效 · 新功能
调整函数代价设置,使 psql 的 Tab 补全和模式搜索更高效(Tom Lane)
原始发布条目 ·
9.3.0/changes/087扩大 psql Tab 补全的覆盖范围 · 新功能
扩大 psql Tab 补全的覆盖范围(Jeff Janes、Dean Rasheed、Peter Eisentraut、Magnus Hagander)
原始发布条目 ·
9.3.0/changes/088允许 psql 的 --single-transaction 模式在从标准输入读取时工作 · 新功能
允许 psql 的
--single-transaction模式在从标准输入读取时工作(Fabien Coelho、Robert Haas)此前此选项只在从文件读取时有效。
原始发布条目 ·
9.3.0/changes/089移除 psql 连接较旧服务器时的警告 · 新功能
移除 psql 连接较旧服务器时的警告(Peter Eisentraut)
当连接比 psql 更新的大版本的服务器时仍会发出警告。
原始发布条目 ·
9.3.0/changes/090新增 psql 命令 \watch,用于重复执行 SQL 命令 · 新功能
新增 psql 命令
\watch,用于重复执行 SQL 命令(Will Leinweber)原始发布条目 ·
9.3.0/changes/091新增 psql 命令 \gset,用于把查询结果存入 psql 变量 · 新功能
新增 psql 命令
\gset,用于把查询结果存入 psql 变量(Pavel Stehule)原始发布条目 ·
9.3.0/changes/092在 psql 的 \conninfo 命令中新增 SSL 信息 · 新功能
在 psql 的
\conninfo命令中新增 SSL 信息(Alastair Turner)原始发布条目 ·
9.3.0/changes/093在 psql 的 \df+ 输出中新增“Security”列 · 新功能
在 psql 的
\df+输出中新增“Security”列(Jon Erdman)原始发布条目 ·
9.3.0/changes/094在 psql 中,如果没有活动连接,不允许 \connect 使用默认值 · 新功能
在 psql 中,如果没有活动连接,不允许
\connect使用默认值(Bruce Momjian)如果服务器曾崩溃,就可能出现这种情况。
原始发布条目 ·
9.3.0/changes/096修复用 psql 的 \g file 执行的 SQL 命令失败后状态未正确重置的问题 · 新功能
修复用 psql 的
\gfile执行的 SQL 命令失败后状态未正确重置的问题(Tom Lane)此前,后续 SQL 命令的输出会意外地继续写入同一文件。
原始发布条目 ·
9.3.0/changes/097为 psql 新增 latex-longtable 输出格式 · 新功能
为 psql 新增
latex-longtable输出格式(Bruce Momjian)这种格式允许表格跨越多页。
原始发布条目 ·
9.3.0/changes/098为 psql 的 latex 格式新增 border=3 输出模式 · 新功能
为 psql 的
latex格式新增border=3输出模式(Bruce Momjian)原始发布条目 ·
9.3.0/changes/099在 psql 的只显示元组和扩展输出模式下,零行时不再输出“(No rows)” · 新功能
在 psql 的只显示元组和扩展输出模式下,零行时不再输出“(No rows)”(Peter Eisentraut)
原始发布条目 ·
9.3.0/changes/100在 psql 的非对齐扩展输出模式下,零行时不再打印空行 · 新功能
在 psql 的非对齐扩展输出模式下,零行时不再打印空行(Peter Eisentraut)
原始发布条目 ·
9.3.0/changes/101为 pg_dump 新增 --jobs 选项,用于并行转储表 · 新功能
为 pg_dump 新增
--jobs选项,用于并行转储表(Joachim Wieland)原始发布条目 ·
9.3.0/changes/102修复 pg_dump 生成的 tar 文件,使其符合 POSIX · BUG 修复
修复 pg_dump 生成的 tar 文件,使其符合 POSIX(Brian Weaver、Tom Lane)
原始发布条目 ·
9.3.0/changes/104为 pg_dump 新增 --dbname 选项,以与其他客户端命令保持一致 · 新功能
为 pg_dump 新增
--dbname选项,以与其他客户端命令保持一致(Heikki Linnakangas)数据库名此前已可以不带标志放在最后提供。
原始发布条目 ·
9.3.0/changes/105让 initdb 对新创建的数据目录执行 fsync · 新功能
让 initdb 对新创建的数据目录执行 fsync(Jeff Davis)
这确保 initdb 之后不久发生系统崩溃时的数据完整性。可以使用
--nosync禁用。原始发布条目 ·
9.3.0/changes/106新增 initdb 的 --sync-only 选项,用于把数据目录同步到持久存储 · 新功能
新增 initdb 的
--sync-only选项,用于把数据目录同步到持久存储(Bruce Momjian)它被pg_upgrade使用。
原始发布条目 ·
9.3.0/changes/107让 initdb 在数据目录被放在文件系统挂载点顶层时发出警告 · 新功能
让 initdb 在数据目录被放在文件系统挂载点顶层时发出警告(Bruce Momjian)
原始发布条目 ·
9.3.0/changes/108创建 libpgcommon,并把 pg_malloc() 等函数移到那里 · 新功能
创建 libpgcommon,并把
pg_malloc()等函数移到那里(Álvaro Herrera、Andres Freund)这使得 libpgport 可以只用于可移植性相关代码。
原始发布条目 ·
9.3.0/changes/111对所有信号(包括 SIGALRM)使用 SA_RESTART · 新功能
对所有信号(包括
SIGALRM)使用SA_RESTART(Tom Lane)原始发布条目 ·
9.3.0/changes/113确保翻译 errcontext() 消息时使用正确的文本域 · BUG 修复
确保翻译
errcontext()消息时使用正确的文本域(Heikki Linnakangas)原始发布条目 ·
9.3.0/changes/114新增对“静态断言”的支持:如果某个编译期常量条件不满足,将在编译时失败 · 新功能
新增对“静态断言”的支持:如果某个编译期常量条件不满足,将在编译时失败(Andres Freund、Tom Lane)
原始发布条目 ·
9.3.0/changes/116新增修饰,告知 C 编译器某些 ereport() 和 elog() 调用不会返回 · 新功能
新增修饰,告知 C 编译器某些
ereport()和elog()调用不会返回(Peter Eisentraut、Andres Freund、Tom Lane、Heikki Linnakangas)原始发布条目 ·
9.3.0/changes/118允许通过 PG_REGRESS_DIFF_OPTS 向回归测试输出比较工具传递选项 · 新功能
允许通过
PG_REGRESS_DIFF_OPTS向回归测试输出比较工具传递选项(Peter Eisentraut)原始发布条目 ·
9.3.0/changes/119为 CREATE INDEX CONCURRENTLY 新增隔离测试 · 新功能
为
CREATE INDEX CONCURRENTLY新增隔离测试(Abhijit Menon-Sen)原始发布条目 ·
9.3.0/changes/120移除 int2/int4 的 typedef,因为用 int16/int32 表示更好 · 新功能
移除
int2/int4的 typedef,因为用int16/int32表示更好(Peter Eisentraut)原始发布条目 ·
9.3.0/changes/121修复 Mac OS X 上的 install-strip · BUG 修复
修复 Mac OS X 上的 install-strip(Peter Eisentraut)
原始发布条目 ·
9.3.0/changes/122提供 Emacs 宏,把 Perl 格式设置为与 PostgreSQL 的 perltidy 设置一致 · 新功能
提供 Emacs 宏,把 Perl 格式设置为与 PostgreSQL 的 perltidy 设置一致(Peter Eisentraut)
原始发布条目 ·
9.3.0/changes/125更改 UESCAPE 的词法分析方式,以大幅减小词法分析器表的大小 · 新功能
更改
UESCAPE的词法分析方式,以大幅减小词法分析器表的大小(Heikki Linnakangas)原始发布条目 ·
9.3.0/changes/127集中化 flex 和 bison 的 make 规则 · 新功能
集中化 flex 和 bison 的 make 规则(Peter Eisentraut)
这对 pgxs 作者很有用。
原始发布条目 ·
9.3.0/changes/128把许多内部后端函数改为返回对象 OID 而不是 void · 新功能
把许多内部后端函数改为返回对象
OID而不是 void(Dimitri Fontaine)这对事件触发器很有用。
原始发布条目 ·
9.3.0/changes/129为事务回调新创 pre-commit/pre-prepare/pre-subcommit 事件 · 新功能
为事务回调新创 pre-commit/pre-prepare/pre-subcommit 事件(Tom Lane)
使用事务回调的可加载模块可能需要修改以处理这些新的事件类型。
原始发布条目 ·
9.3.0/changes/130新增函数 pg_identify_object(),用于生成数据库对象的机器可读描述 · 新功能
新增函数
pg_identify_object(),用于生成数据库对象的机器可读描述(Álvaro Herrera)原始发布条目 ·
9.3.0/changes/131实现通用二叉堆,并将其用于 Merge-Append 操作 · 新功能
实现通用二叉堆,并将其用于 Merge-Append 操作(Abhijit Menon-Sen)
原始发布条目 ·
9.3.0/changes/133提供工具,帮助在更新 src/timezone/data 文件时检测时区缩写变更 · 新功能
提供工具,帮助在更新
src/timezone/data文件时检测时区缩写变更(Tom Lane)原始发布条目 ·
9.3.0/changes/134为 libpq 和 ecpg 库新增 pkg-config 支持 · 新功能
为 libpq 和 ecpg 库新增 pkg-config 支持(Peter Eisentraut)
原始发布条目 ·
9.3.0/changes/135移除 src/tools/backend,因为其内容已移至 PostgreSQL wiki · 新功能
移除
src/tools/backend,因为其内容已移至 PostgreSQL wiki(Bruce Momjian)原始发布条目 ·
9.3.0/changes/136新增 Postgres 外部数据包装器 contrib 模块,用于访问其他 Postgres 服务器 · 新功能
新增 Postgres 外部数据包装器 contrib 模块,用于访问其他 Postgres 服务器(Shigeru Hanada)
这个外部数据包装器支持写入。
原始发布条目 ·
9.3.0/changes/141为 pgstattuple 新增函数,用于报告 GIN 索引待处理插入列表的大小 · 新功能
为 pgstattuple 新增函数,用于报告 GIN 索引待处理插入列表的大小(Fujii Masao)
原始发布条目 ·
9.3.0/changes/145允许 pg_upgrade 并行执行转储和恢复 · 新功能
允许 pg_upgrade 并行执行转储和恢复(Bruce Momjian、Andrew Dunstan)
这允许并行转储/恢复数据库的模式,以及按表空间并行复制/链接数据文件。使用
--jobs选项指定并行度。原始发布条目 ·
9.3.0/changes/150让 pg_upgrade 在当前目录中创建 Unix 域套接字 · 新功能
让 pg_upgrade 在当前目录中创建 Unix 域套接字(Bruce Momjian、Tom Lane)
这降低了有人在升级期间意外连接的可能性。
原始发布条目 ·
9.3.0/changes/151让 pg_upgrade 的 --check 模式正确检测非默认套接字目录的位置 · 新功能
让 pg_upgrade 的
--check模式正确检测非默认套接字目录的位置(Bruce Momjian、Tom Lane)原始发布条目 ·
9.3.0/changes/152通过显示已执行的命令来改进 pg_upgrade 的日志 · 新功能
通过显示已执行的命令来改进 pg_upgrade 的日志(Álvaro Herrera)
原始发布条目 ·
9.3.0/changes/154为 pgbench 新增 --foreign-keys 选项 · 新功能
为 pgbench 新增
--foreign-keys选项(Jeff Janes)这会为 pgbench 创建的标准表添加外键约束,用于外键性能测试。
原始发布条目 ·
9.3.0/changes/156允许 pgbench 聚合性能统计,并每 --aggregate-interval 秒生成一次输出 · 新功能
允许 pgbench 聚合性能统计,并每
--aggregate-interval秒生成一次输出(Tomas Vondra)原始发布条目 ·
9.3.0/changes/157为 pgbench 新增 --sampling-rate 选项,用于控制记录日志的事务百分比 · 新功能
为 pgbench 新增
--sampling-rate选项,用于控制记录日志的事务百分比(Tomas Vondra)原始发布条目 ·
9.3.0/changes/158精简并改进 pgbench 初始化模式的状态消息输出 · 新功能
精简并改进 pgbench 初始化模式的状态消息输出(Robert Haas、Peter Eisentraut)
原始发布条目 ·
9.3.0/changes/159为 pgbench 新增 -q 模式,每五秒打印一行输出 · 新功能
为 pgbench 新增
-q模式,每五秒打印一行输出(Tomas Vondra)原始发布条目 ·
9.3.0/changes/160在初始化期间输出 pgbench 的已用时间和预计剩余时间 · 新功能
在初始化期间输出 pgbench 的已用时间和预计剩余时间(Tomas Vondra)
原始发布条目 ·
9.3.0/changes/161允许 pgbench 使用大得多的缩放因子:当请求的缩放因子超过 20000 时,把相关列从 integer 改为 bigint · 新功能
允许 pgbench 使用大得多的缩放因子:当请求的缩放因子超过 20000 时,把相关列从
integer改为bigint(Greg Smith)原始发布条目 ·
9.3.0/changes/162
安全证据
共 35 条记录,来自官方安全矩阵及发布说明的提及。只有安全快照明确列出此分支时才显示修复版本;仅有提及不能确定漏洞适用性或新修复。