PostgreSQL 9.6 开放事项
来自 PostgreSQL 维基
跳转到导航跳转到搜索开放问题
- EXPLAIN 中外键/自定义连接下推计划的奇异现象
- postgres_fdw 为一些连接下推查询中的连接关系产生的 EXPLAIN 中显示的别名不正确
- 低优先级问题;让我们留到 v10 再做
已解决问题
9.6rc1 之后解决
9.6beta4 之后解决
- 默认的 max_parallel_degree 应该是什么?
- 我们选择在 9.6 中默认禁用它;已在 f85b1a84152f7bf019fd7a2c5eede97867dcddbb 中完成
9.6beta3 之后解决
- pg_dump 针对包含序列的扩展出现问题
- 所有者:Stephen Frost 已通知
- 补丁已发送以供审查
- 已在 f9e439b1ca81e3305b677d93c67299549625370c 中修复
- 修复 pg_replication_origin_xact_reset() 的签名?
- 它在 9.5 中已经错了,但似乎不是现在不修复它的充分理由
- 已在 dd5eb805d5e5384963f09c9986845a544ef41810 中修复
- heap_lock_tuple 可能会使服务器崩溃
- 原始提交:eca0f1d (主要作者:Masahiko Sawada;所有者:Andres Freund 已通知)
- 已在 e7caacf733f3ee77a555aa715ab6fbf4434e6b52 中修复
- ts_delete 中出现崩溃
- 看起来这个示例还暴露了 array_to_tsvector 中的一个独立错误,这个错误也是 9.6 中的新错误。
- 已在 c50d192ce33c10fa06411306f8644b4f47ce9a06 和 f10eab73df2b94c860dea4a906c54e3c903f42e2 中修复
- old_snapshot_threshold 允许堆:toast 不一致
- 原始提交:848ef42 (主要作者:Kevin Grittner;所有者:Robert Haas [1])
- 所有权从 Kevin Grittner 转移到 RMT,然后转移到 Robert Haas
- 补丁 v1
- 已在 3e2f3c2e423b3ae906668c186bac79522b8e3e29 中修复
- 3e2f3c2e 导致了新的回归
- 通过 07a601eedab7c5fa4d62055fa3efacef2f38e446 和 9ee1cf04ab6bcefe03a11837b53f29ca9dc24c7a 解决了回归
9.6beta2 之后解决
- 并行工作进程和客户端编码
- 所有者:Robert Haas 已通知
- 已在 10c0558ffefcd12bf1d3dc35587eba41d1ce4571 中修复
- 为上级关系正确设置 consider_parallel
- 所有者:Robert Haas 已通知
- 然后 删除 wholePlanParallelSafe 标志
- rhaas 需要帮助
- 已在 5ce5e4a12ee7175cd3fc356d9d38307e1d715827 中修复
- temp_file_limit + 并行查询问题
- temp_file_limit 文档应该更新。
- 已在 d1f822e58597cac5000bf69b893cc236c5ef5fcb 中修复
- 批处理元组排序内存 CLUSTER 情况下的错误
- 补丁可用
- 原始提交:0011c00 (主要作者:Peter Geoghegan;所有者:Robert Haas 已通知)
- 已在 1b0fc85077aadb3f4a965aff35c136398d859624 中修复
- 备用服务器上的非独占备份使用错误的时间线编号来命名 WAL 段
- 原始提交:7117685 (主要作者:Magnus Hagander;所有者:Magnus Hagander 已通知)
- 补丁,由 Michael 审查。
- 已在 87d84d67bb15752c79a1c07e603126830642ac84 中修复
- 在 9.6 中,转储数据库权限出现问题
- 原始提交:23f34fa (主要作者:Stephen Frost;所有者:Stephen Frost 状态)
- 已在 47f5bb9f539a7fff089724b1cbacc31613031895 中修复
- heap_update 设置 xmax 和 infomask 但未记录更改,也未清除 PD_ALL_VISIBLE 或可见性映射位
- 需要志愿者所有者
- 这个问题实际上一直存在,但冻结映射的更改使它变得更加紧迫。
- 已在 bfa2ab56bb8c512dc8613ee3ff0936568a1c8418 中修复
9.6beta1 之后解决
- 在 pg_dump 中,包含 pg_catalog 和扩展 ACL:pg_dumpall 变慢;查询卫生
- 原始提交:23f34fa (主要作者:Stephen Frost;提交者:Stephen Frost 已通知)
- 第 (2) 和 (3) 点构成这个开放事项。第 (1) 点只是问题。
- 5d589993cad212f7d556d52cc1e42fe18f65b057 做了一些改进,但这够了吗?
- 默认角色:从 9.5 导出时出现回归;
ALTER ROLE x USER pg_signal_backend
不受限制- 原始提交:2930078(主要作者:Stephen Frost;提交者:Stephen Frost)
- 根据讨论,已删除对 pg_ 命名空间中的角色的限制,将其变为一项故意允许的操作。
- 访问方法缺乏对 COMMENT 的支持,也没有 psql 级别的元命令
- 原始提交:473b932(主要作者:Alexander Korotkov;所有者:Alvaro Herrera 已通知)
- 已在 4f04b66f97f0e0265489f0fe0373ea44c9ad11bf 中修复
- pg_dump 转储目录 ACL 的错误查询针对目录
- 原始提交:23f34fa4ba358671adab16773e79c17c92cbc870(提交者:Stephen Frost)
- 已在 2e8b4bf80473d0e4a4254b417424e79195a9ce6a 中修复
- 需要解决冻结映射审查意见
- 原始提交:7087166(主要作者:Masahiko Sawada;所有者:Robert Haas 已通知)
- 已在 fdfaccfa798c1c9993feae1fac6e0f79d72aa7b7、6436a853f11952495f10e62d8b52b465e119155c、aba8943082f1ccbfb19f2e7ff02ba3be0fcb6c9d、e191a6900520a28ece9393eec2fdd69f292f12c4 中修复
- 并行工作程序关闭时断言失败
- 所有者:Robert Haas 已通知
- 已在 44339b892a04e94bbb472235882dc6f7023bdc65、c6dbf1fe79287291bc260cbc06b0de419d2a198c 中修复
- 将 max_parallel_degree 重命名为 max_parallel_workers_per_gather
- 原始提交:3bd909b(主要作者:Amit Kapila;所有者:Robert Haas 已通知)
- 已在 c9ce4a1c61ebf39c03885cc19fe7c32edc04a300 中修复
- 并行工作程序中断言失败 (ExecInitSubPlan)
- 所有者:Robert Haas 已通知
- 已在 b12fd41c695b43c76b0a9a4d19ba43b05536440c 中修复,尽管我们怀疑该区域还有其他错误
- 有些人认为“快照太旧”功能尚未准备好用于 9.6
- 原始提交:848ef42bb8c7909c9d7baa38178d4a209906e7c1(主要作者:Kevin Grittner;所有者:Kevin Grittner 状态)
- Andres 正在考虑撤销、Bruce 正在考虑撤销、Tom 正在考虑撤销
CREATE INDEX 可能需要进行一些工作以避免丢失行已在 bf9a60e 中修复分析花费时间超过 old_snapshot_threshold 的函数索引可能会出错并无法更新统计信息分析表明这不是问题- 还没有达成一致意见来撤销此功能;应分别跟踪存在的任何特定缺陷。
- postgres_fdw/deparse.c 中的断言失败
- 原始提交:e4106b2(主要作者:Shigeru Hanada;所有者:Robert Haas 已通知)
- 补丁建议
- 已在 131c7e70b4596027992a2f72bfd3765f0fff1b7c 中修复
- idle_in_transaction_session_timeout 补丁忽略了 pg_dump
- 如何处理并行工作程序 errcontext()?
- 我们是否应该完全拥有它?也许只用于调试?(如果是这样,如何控制?)除非我们完全删除它,否则上面消息中显示的错误行为需要修复。
- rhaas 的分析和解释
- 已在 292794f82b4ebde33ec7f2a572ddd1dedba8ce37 中修复
- ERROR: ORDER/GROUP BY 表达式在目标列表中未找到
- git bisect 指出 04ae11f6 为罪魁祸首
- 在此主题中已提出六个独立问题
- #1 已在 54f5c5150fa05d7ad15f8406debd5a2b394885b5、598aa194af2fb7f294ae4b029494a134a44be333 中修复
- #2 已在 8c1d9d56e9a00680a035b8b333a98ea16b121eb7、103512cee95b5bd0feb83c225eeff61c58874413 中修复
- #3 已在 75be66464cb1bffa1e5757907b9a04ad5afc7859 中修复
- 已针对 #4、#5、#6 添加单独的开放项目
- 刷新控制会导致性能回归
- 所有者:Andres Freund 已通知
- 并行复制速度慢 9 倍
- pgbench 速度慢 45%
- 已在 4bc0f165cb4fbd660648c0153485b3d6f55d80ea 中修复
- 提交 ac1d794 影响性能
- 原始提交:ac1d7945f866b1928c2554c0f80fd52d7f977772(主要作者:Rajeev Rastogi;所有者:Robert Haas 已通知)
- 希望已通过 Andres 解决,根据 [2]
- 截至 2016 年 3 月 25 日,原始发帖人没有回复
- Mithun CY 于 2016 年 5 月 6 日重新报告了此问题 - 显然,该问题尚未解决
- 最终可能已修复?
在 9.6beta1 之前已解决
- fd.c:在 osx 上刷新数据问题
- 原始提交:428b1d6b29ca599c5700d4bc4f4ce4c5880369bf(主要作者:Fabien Coelho;提交者:Andres Freund 已通知)
- 检查点失败,出现
could not fsync file "...": No such file or directory
- 原始提交:72a98a6395(提交者:Andres Freund)
- 已在 a712487087c73eee880ff1a7c50528cbab2f1b90 中修复
- 逻辑解码时间线跟踪(提交已撤回,功能不再在树中)
- postgres_fdw 在进行三表连接时出现崩溃/断言失败,已通过 3151f16e 修复。
- pg_rewind --debug 的一些消息未翻译,已通过 cad3edef 修复。
- pgbench 日志格式的文档不正确。有关日志格式中延迟限制描述的部分应回溯到 9.5。
- 已通过 d797bf7 和 7f0a2c8 修复
- 恢复测试失败,原因是 recovery_min_apply_delay
- 原始提交:49148645f7f30f461b09618b5342b37425f33b22(主要作者:Michael Paquier;提交者:Alvaro Herrera 已通知)
- 无法将并行聚合声明为安全
- 原始提交:e06a38965b3bcdaa881e7e06892d4d8ab6c2c980(主要作者:David Rowley;提交者:Robert Haas)
- 已通过 41ea0c23 修复
- 并行聚合成本不考虑组合/串行/反序列化函数
- 原始提交 e06a38965b3bcdaa881e7e06892d4d8ab6c2c980、5fe5a2cee91117673e04617aeb1a38e305dcd783(主要作者:David Rowley;提交者:Robert Haas 已通知)
- 以上链接包含一个用于修复此问题的补丁。
- 逻辑 WAL 消息缺少数据库和来源过滤
- 原始提交:3fe3511d05127cc024b221040db2eeb352e7d716(主要作者:Petr Jelinek;提交者:Simon Riggs)
- 该修复程序位于 同一主题 中
- 已通过 be65ed 修复
- 提交 6150a1b0 影响性能
- 原始提交:6150a1b08a9fe7ead2b25240be46dddeae9d98e1(主要作者:Andres Freund;提交者:Robert Haas 已通知)
- 在原子 pin/unpin 补丁和其他最近的工作之后进行的测试似乎表明我们已经恢复了性能
- syncrep 套件中存在零星的回归测试失败
- 根据 hamster 的报告 此处
- 已通过 36c1c91 修复
- postgres_fdw 连接下推补丁中奇怪的系统列处理
- 原始提交: aa09cd242fa7e3a694a31f8aed521e80d1e626a4 (主要作者: Ashutosh Bapat; 提交者: Robert Haas 通知)
- 在 CREATE EXTENSION 时崩溃
- 原始提交: 6c268df1276e9dd73e4d (主要作者: Stephen Frost; 提交者: Stephen Frost)
- 修复于 99f2f3c19ae7d6aa2950a9bdb549217c5a60d941
- 更新备份文档 (根据 布鲁塞尔开发者会议,重新排序选项,将重点放在“安全便捷”而不是“困难和风险”上)
- 7117685461af50f50c03f43e6a622284c8d54694 使该文档不完整,因为它没有更新,因为重构计划已完成。如果重构没有完成,那么至少应该根据此提交添加其他说明。
- 原始提交: 7117685461af50f50c03f43e6a622284c8d54694 (主要作者: Magnus Hagander; 提交者: Magnus Hagander 通知)
- 并行完整连接和右连接计算错误的结果
- 原始提交: 45be99f8cd5d606086e0a458c9c72910ba8a613d (主要作者: Robert Haas; 提交者: Robert Haas)
- 修复于 9c75e1a36b6b2f3ad9f76ae661f42586c92c6f7c
- 无法取消 DML 下推查询
- 原始提交: 0bf3ae88af330496517722e391e7c975e6bad219 (主要作者: Etsuro Fujita; 提交者: Robert Haas 通知)
- 补丁可用 这里 使比那些 DML 查询更可中断的查询可中断。
- 修复于 f039eaac7131ef2a4cf63a10cf98486f8bcd09d2
- 与 pg_stat_activity 相关的段错误
- 原始提交: 53be0b1add7064ca5db3cd884302dfc3268d884e (主要作者: Amit Kapila; 提交者: Robert Haas)
- 修复于 c4a586c4860477ddae6d4f9cef88486f0e37c37e
- LWLocks API 重构破坏了扩展,没有记录如何修复它。
- 建议的修复方法
- Pavel 确认该建议有效
- 带有并行聚合的 EXPLAIN VERBOSE 显示虚假输出
- 原始提交: e06a389 (主要作者: David Rowley; 提交者: Robert Haas 通知)
- 修复于 59eb55127906b943ff155240eebc161df8edb62f
- 可配置的回写会导致或揭示神秘的与失效相关的错误
- 原始提交: 428b1d6b29ca599c5700d4bc4f4ce4c5880369bf (主要作者: Fabien Coelho; 提交者: Andres Freund 通知)
- 修复于 72a98a639574d2e25ed94652848555900c81a799
- system_views.sql 错误地删除了 PARALLEL SAFE 标记
- 原始提交: 7aea8e4f2daa4b39ca9d1309a0c4aadb0f7ed81b (主要作者: Robert Haas; 提交者: Robert Haas)
- 修复于 9888b34fdb169c1f0982ad700fc6d43e8b7aec14
- psql 的 \ev 和 \sv 缺少对视图选项的支持
- 这些命令缺乏对安全屏障视图或 WITH CHECK OPTION 的正确支持。
- 修复于 9b66aa006f81b2705337ca223daeeabf4db6453a
- old_snapshot_threshold 与哈希索引的交互
- 原始提交: 848ef42bb8c7909c9d7baa38178d4a209906e7c1 (主要作者: Kevin Grittner; 提交者: Kevin Grittner)
- 修复它的补丁
- 修复于 2cc41acd8fa3ebb8f0501c6102a253fb7053cf46
- “快照过旧”提交会导致高并发情况下出现性能下降,即使禁用也是如此
- 原始提交: 848ef42bb8c7909c9d7baa38178d4a209906e7c1 (主要作者: Kevin Grittner; 提交者: Kevin Grittner)
- 希望通过提交解决: 2201d801b03c2d1b0bce4d6580b718dc34d38b3e 但需要在大机器上进行测试以确认
- 一些 rhaas 的测试 在大机器上表明它已修复
- 但一些 Andres 的测试 说可能没有
- 新提交 11e178d0dc4bc2328ae4759090b3c48b07023fab 是修复此问题的又一次尝试
- Tomas Vondra 的基准测试 显示使用补丁(禁用)与恢复相比略有收益(在噪声范围内)
- GIN 数据损坏错误(s)在 9.6devel 中
- 原始提交: e95680832854cf300e64c10de9cc2f586df558e8 (主要作者: Jeff Janes; 提交者: Teodor Sigaev 通知)
- 一个预先存在的理论错误,由于提交 e95680832854cf300e64c10d 中的 FSM 更改,该错误在 9.6 中变得非常容易访问
- 针对 9.6 修复于 e2c79e14d998cd31f860854bc9210b37b457bb01;后分支修复待定
旧错误
attempted to delete invisible tuple
和unexpected chunk number
在崩溃恢复压力测试中- 症状表明存在数据损坏错误。
- 测试步骤,二分法(不可重现)
- 最初怀疑的提交: 48354581a49c30f5757c203415aa8412d85b0f70 (主要作者: Alexander Korotkov; 提交者: Andres Freund)
- 现在似乎是 长期存在的问题
- 应用 XLOG_HEAP2_VISIBLE 时可疑的行为 (9.2 及更高版本)
- c6ff84b06a68b71719aa1aaa5f6704d8db1b51f8 修复了这个问题,有点意外,仅在 master 中
- 用 wal_level = minimal 时新 relfilenode 的截断被破坏 (9.4 及更高版本)
- libpq 中的 OOM 和 getCopyStart() 时的无限循环 (9.1 及更高版本)
- 补丁可用,使用了一些紧急消息结构。需要审查,并且肯定需要更多讨论
- 跳过检查点的逻辑被破坏 (如果 wal_level >= hot_standby,则为 9.1~9.5,如果 wal_level >= replica,则为 9.6)
- 补丁可用以供审查,首选方法使用 XLogInsertExtended() (至少 Michael、Robert 和 Simon)
- pgwin32_is_service 未检查 SECURITY_SERVICE_SID 是否已禁用
- 补丁可用以供审查。
- pg_restore 在 WIN32 中使用紧急退出代码路径时出现死锁问题
- 补丁可用以供审查
- pg_xlogdump 无法处理包含多页 XLP_FIRST_IS_CONTRECORD 数据的 WAL 文件
- 补丁可用以供审查
- pg_receivexlog 缺少数据目录的 fsync 调用
- 补丁可用以供审查
- pg_basebackup 和 pg_dump 应该对转储的数据进行 fsync 并使其持久化。
非错误
- 加速从站上的两阶段提交 (非错误状态的原因)
- 复制延迟
- 原始提交: 78b2f65aa1262eb4ecbf8b3785cb1b9cf4db78e (主要作者: Stas Kelvich; 提交者: Simon Riggs) (主节点上的加速)
- 当前补丁: 链接
- 由于在 PREPARE 阶段获取的锁导致重放失败
- 太晚,无法考虑纳入 9.6。
- 并行查询与扩展
- 需要使用并行安全标记更新扩展
- 这是一个进一步优化的机会,而不是缺陷。
- 添加 max_parallel_workers GUC
- 这将是一个系统范围的限制,以防止并行工作者消耗比预期更多的 max_worker_processes。
- 支持将此滑入 9.6,但 rhaas 可能没有时间,而且这不是一个停止发布的问题