{"format": 1, "mode": "release", "from_release": null, "to_release": {"date": "2020-02-13", "build": "9.6.17", "major": "9.6", "minor": 17, "manual": "9.6", "status": "stable", "doc_git": "", "version": "9.6.17", "eol_date": "2021-11-11", "date_text": "2020-02-13", "supported": false, "manual_url": "/docs/9.6/release-9-6-17.html", "source_url": "/docs/release/9.6.17/", "entry_count": 33, "placeholder": false, "content_hash": "9cb807f9a639ec44bb4804e6fe10b110909b8476f58488a6794ee13c48b7b111", "manual_build": "9.6.24", "source_as_of": "", "changes_count": 33, "doc_loaded_at": "2026-09-26T02:56:43.973460", "migration_html": "<p>对于运行 9.6.X 的用户，不需要转储/恢复。</p>\n<p>不过，如果你是从 9.6.16 之前的版本升级，参见<a href=\"/docs/9.6/release-9-6-16.html\" title=\"E.9. 版本 9.6.16\">第 E.9 节</a>。</p>", "compatibility_count": 0, "label": "9.6.17", "status_label": "历史版本", "eol": "2021-11-11", "age_days": 2421, "support_days": -1784}, "groups": [{"date": "2020-02-13", "build": "9.6.17", "major": "9.6", "minor": 17, "manual": "9.6", "status": "stable", "doc_git": "", "version": "9.6.17", "eol_date": "2021-11-11", "date_text": "2020-02-13", "supported": false, "manual_url": "/docs/9.6/release-9-6-17.html", "source_url": "/docs/release/9.6.17/", "entry_count": 33, "placeholder": false, "content_hash": "9cb807f9a639ec44bb4804e6fe10b110909b8476f58488a6794ee13c48b7b111", "manual_build": "9.6.24", "source_as_of": "", "changes_count": 33, "doc_loaded_at": "2026-09-26T02:56:43.973460", "migration_html": "<p>对于运行 9.6.X 的用户，不需要转储/恢复。</p>\n<p>不过，如果你是从 9.6.16 之前的版本升级，参见<a href=\"/docs/9.6/release-9-6-16.html\" title=\"E.9. 版本 9.6.16\">第 E.9 节</a>。</p>", "compatibility_count": 0, "label": "9.6.17", "status_label": "历史版本", "eol": "2021-11-11", "age_days": 2421, "support_days": -1784, "entries": [{"id": "9.6.17-43b06b9c53a094d4", "cves": ["CVE-2020-1720"], "html": "<p>为 <code>ALTER ... DEPENDS ON EXTENSION</code> 补上缺失的权限检查（Álvaro Herrera）</p>\n<p>把对象标记为依赖于扩展此前没有任何权限检查。这一疏漏允许任何用户把例程、触发器、物化视图或索引标记为任何能删除扩展的人都可以删除的对象。现在要求调用用户拥有指定对象（从而有权删除它）。（CVE-2020-1720）</p>", "text": "为 ALTER ... DEPENDS ON EXTENSION 补上缺失的权限检查（Álvaro Herrera） 把对象标记为依赖于扩展此前没有任何权限检查。这一疏漏允许任何用户把例程、触发器、物化视图或索引标记为任何能删除扩展的人都可以删除的对象。现在要求调用用户拥有指定对象（从而有权删除它）。（CVE-2020-1720）", "title": "为 ALTER ... DEPENDS ON EXTENSION 补上缺失的权限检查", "commits": [], "section": "变更", "category": "security", "source_url": "/docs/release/9.6.17/#id-1.11.6.12.5", "source_hash": "d0fa67e696a624ffaee54fcc80de35cabb2415d61c297f3b562313504ae8714e", "section_path": ["变更"], "commit_groups": [["2ad125322", "ac1a998ed", "b048f558d", "bdd19e48a", "e8b8eb937"]], "identity_text": "Add missing permissions checks for ALTER ... DEPENDS ON EXTENSION (Álvaro Herrera) Marking an object as dependent on an extension did not have any privilege check whatsoever. This oversight allowed any user to mark routines, triggers, materialized views, or indexes as droppable by anyone able to drop an extension. Require that the calling user own the specified object (and hence have privilege to drop it). (CVE-2020-1720)", "commit_aliases": ["2ad125322", "ac1a998ed", "b048f558d", "bdd19e48a", "e8b8eb937"], "source_commits": ["e8b8eb937"], "source_entry_id": "9.6.17/changes/001", "db_id": "e7c3294c568782d7f22c5b777ffb6235", "patch_ids": ["63b3debbf84673645f7ac9b987c30ca0"], "statement_hash": "af764eb0a2c95d985bd43741228f2ce69db83bb4a9b5160bf1ab42bbd0a0fb7e", "relations": [{"rule": 2, "type": "equivalent", "target": "0996f001cb1ffbb122a5bba8cf55764f", "evidence": {"same_day": true, "patch_ids": ["63b3debbf84673645f7ac9b987c30ca0"], "statement_hash": "af764eb0a2c95d985bd43741228f2ce69db83bb4a9b5160bf1ab42bbd0a0fb7e"}}, {"rule": 2, "type": "equivalent", "target": "98301dcc33caa482d422a6f57fbf5957", "evidence": {"same_day": true, "patch_ids": ["63b3debbf84673645f7ac9b987c30ca0"], "statement_hash": "af764eb0a2c95d985bd43741228f2ce69db83bb4a9b5160bf1ab42bbd0a0fb7e"}}, {"rule": 2, "type": "equivalent", "target": "d70df0706df2abf1bfb334c185608edf", "evidence": {"same_day": true, "patch_ids": ["63b3debbf84673645f7ac9b987c30ca0"], "statement_hash": "af764eb0a2c95d985bd43741228f2ce69db83bb4a9b5160bf1ab42bbd0a0fb7e"}}], "version": "9.6.17", "category_label": "安全相关", "also_in": [], "variants": [], "related_changes": [{"db_id": "d70df0706df2abf1bfb334c185608edf", "kind": "equivalent", "version": "12.2", "label": "12.2", "title": "为 ALTER ... DEPENDS ON EXTENSION 补上缺失的权限检查", "evidence": {"same_day": true, "patch_ids": ["63b3debbf84673645f7ac9b987c30ca0"], "statement_hash": "af764eb0a2c95d985bd43741228f2ce69db83bb4a9b5160bf1ab42bbd0a0fb7e"}, "url": "/docs/compare/?release=12.2#12.2-aa2ddd8e29f6283e", "source_url": "/docs/release/12.2/#id-1.11.6.26.5"}, {"db_id": "0996f001cb1ffbb122a5bba8cf55764f", "kind": "equivalent", "version": "11.7", "label": "11.7", "title": "为 ALTER ... DEPENDS ON EXTENSION 补上缺失的权限检查", "evidence": {"same_day": true, "patch_ids": ["63b3debbf84673645f7ac9b987c30ca0"], "statement_hash": "af764eb0a2c95d985bd43741228f2ce69db83bb4a9b5160bf1ab42bbd0a0fb7e"}, "url": "/docs/compare/?release=11.7#11.7-43b06b9c53a094d4", "source_url": "/docs/release/11.7/#id-1.11.6.20.5"}, {"db_id": "98301dcc33caa482d422a6f57fbf5957", "kind": "equivalent", "version": "10.12", "label": "10.12", "title": "为 ALTER ... DEPENDS ON EXTENSION 补上缺失的权限检查", "evidence": {"same_day": true, "patch_ids": ["63b3debbf84673645f7ac9b987c30ca0"], "statement_hash": "af764eb0a2c95d985bd43741228f2ce69db83bb4a9b5160bf1ab42bbd0a0fb7e"}, "url": "/docs/compare/?release=10.12#10.12-43b06b9c53a094d4", "source_url": "/docs/release/10.12/#id-1.11.6.16.5"}]}, {"id": "9.6.17-2a411fa7a7c90adf", "cves": [], "html": "<p>修复大事务必须被溢出到许多单独临时文件时逻辑解码的失败（Amit Khandekar）</p>", "text": "修复大事务必须被溢出到许多单独临时文件时逻辑解码的失败（Amit Khandekar）", "title": "修复大事务必须被溢出到许多单独临时文件时逻辑解码的失败", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.6.17/#id-1.11.6.12.5", "source_hash": "7eb53778167e5b3409b06f17f619be72f9afa6eef28c73bbad99d64013e003f4", "section_path": ["变更"], "commit_groups": [["17869eca7", "ed7bb5c31", "f9e95252a", "fa1eaebfa"], ["1ad47e875", "27b5f48c7", "3e3a79735", "a6f4f407a", "ba5b4e506", "d20703805", "f8a6d8e71"]], "identity_text": "Avoid failure in logical decoding when a large transaction must be spilled into many separate temporary files (Amit Khandekar)", "commit_aliases": ["17869eca7", "1ad47e875", "27b5f48c7", "3e3a79735", "a6f4f407a", "ba5b4e506", "d20703805", "ed7bb5c31", "f8a6d8e71", "f9e95252a", "fa1eaebfa"], "source_commits": ["ba5b4e506", "ed7bb5c31"], "source_entry_id": "9.6.17/changes/002", "db_id": "8152a6b8f545280daf022279f4c3d05d", "patch_ids": ["7873f3c15aeba6e04159e49c910ab6c5", "ba9fb0a08c7a9f3e14a8eef4a462b4f6"], "statement_hash": "cfce4214cc870b1929d4ffd6e6ea956c6b88212d0df22fe921f0b5bfc818b553", "relations": [{"rule": 2, "type": "equivalent", "target": "2d998ba88a4a32c7f02f2c0a1eec85f8", "evidence": {"same_day": true, "patch_ids": ["7873f3c15aeba6e04159e49c910ab6c5", "ba9fb0a08c7a9f3e14a8eef4a462b4f6"], "statement_hash": "cfce4214cc870b1929d4ffd6e6ea956c6b88212d0df22fe921f0b5bfc818b553"}}, {"rule": 2, "type": "equivalent", "target": "4c6102cafd4a5d2470d743e4aa779d47", "evidence": {"same_day": true, "patch_ids": ["7873f3c15aeba6e04159e49c910ab6c5", "ba9fb0a08c7a9f3e14a8eef4a462b4f6"], "statement_hash": "cfce4214cc870b1929d4ffd6e6ea956c6b88212d0df22fe921f0b5bfc818b553"}}, {"rule": 2, "type": "equivalent", "target": "513700ddaf2321d10b3500d50a8d1699", "evidence": {"same_day": true, "patch_ids": ["7873f3c15aeba6e04159e49c910ab6c5", "ba9fb0a08c7a9f3e14a8eef4a462b4f6"], "statement_hash": "cfce4214cc870b1929d4ffd6e6ea956c6b88212d0df22fe921f0b5bfc818b553"}}, {"rule": 2, "type": "equivalent", "target": "c00a4ec8d0168caec4abb79741c56f83", "evidence": {"same_day": true, "patch_ids": ["7873f3c15aeba6e04159e49c910ab6c5", "ba9fb0a08c7a9f3e14a8eef4a462b4f6"], "statement_hash": "cfce4214cc870b1929d4ffd6e6ea956c6b88212d0df22fe921f0b5bfc818b553"}}, {"rule": 2, "type": "equivalent", "target": "f8dcaeea8d85b6d20f07efe349465535", "evidence": {"same_day": true, "patch_ids": ["7873f3c15aeba6e04159e49c910ab6c5", "ba9fb0a08c7a9f3e14a8eef4a462b4f6"], "statement_hash": "cfce4214cc870b1929d4ffd6e6ea956c6b88212d0df22fe921f0b5bfc818b553"}}], "version": "9.6.17", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "f8dcaeea8d85b6d20f07efe349465535", "kind": "equivalent", "version": "12.2", "label": "12.2", "title": "避免大事务必须溢写到许多独立临时文件时逻辑解码发生失败", "evidence": {"same_day": true, "patch_ids": ["7873f3c15aeba6e04159e49c910ab6c5", "ba9fb0a08c7a9f3e14a8eef4a462b4f6"], "statement_hash": "cfce4214cc870b1929d4ffd6e6ea956c6b88212d0df22fe921f0b5bfc818b553"}, "url": "/docs/compare/?release=12.2#12.2-b7d94cbf0f06a3c9", "source_url": "/docs/release/12.2/#id-1.11.6.26.5"}, {"db_id": "c00a4ec8d0168caec4abb79741c56f83", "kind": "equivalent", "version": "11.7", "label": "11.7", "title": "避免大事务必须溢写到许多独立临时文件时逻辑解码发生失败", "evidence": {"same_day": true, "patch_ids": ["7873f3c15aeba6e04159e49c910ab6c5", "ba9fb0a08c7a9f3e14a8eef4a462b4f6"], "statement_hash": "cfce4214cc870b1929d4ffd6e6ea956c6b88212d0df22fe921f0b5bfc818b553"}, "url": "/docs/compare/?release=11.7#11.7-ec420340a4da7fb3", "source_url": "/docs/release/11.7/#id-1.11.6.20.5"}, {"db_id": "4c6102cafd4a5d2470d743e4aa779d47", "kind": "equivalent", "version": "10.12", "label": "10.12", "title": "避免大事务必须溢写到许多独立临时文件时逻辑解码发生失败", "evidence": {"same_day": true, "patch_ids": ["7873f3c15aeba6e04159e49c910ab6c5", "ba9fb0a08c7a9f3e14a8eef4a462b4f6"], "statement_hash": "cfce4214cc870b1929d4ffd6e6ea956c6b88212d0df22fe921f0b5bfc818b553"}, "url": "/docs/compare/?release=10.12#10.12-ec420340a4da7fb3", "source_url": "/docs/release/10.12/#id-1.11.6.16.5"}, {"db_id": "513700ddaf2321d10b3500d50a8d1699", "kind": "equivalent", "version": "9.5.21", "label": "9.5.21", "title": "修复大事务必须被溢出到许多单独临时文件时逻辑解码的失败", "evidence": {"same_day": true, "patch_ids": ["7873f3c15aeba6e04159e49c910ab6c5", "ba9fb0a08c7a9f3e14a8eef4a462b4f6"], "statement_hash": "cfce4214cc870b1929d4ffd6e6ea956c6b88212d0df22fe921f0b5bfc818b553"}, "url": "/docs/compare/?release=9.5.21#9.5.21-2a411fa7a7c90adf", "source_url": "/docs/release/9.5.21/#id-1.11.6.9.5"}, {"db_id": "2d998ba88a4a32c7f02f2c0a1eec85f8", "kind": "equivalent", "version": "9.4.26", "label": "9.4.26", "title": "修复大事务必须被溢出到许多单独临时文件时逻辑解码的失败", "evidence": {"same_day": true, "patch_ids": ["7873f3c15aeba6e04159e49c910ab6c5", "ba9fb0a08c7a9f3e14a8eef4a462b4f6"], "statement_hash": "cfce4214cc870b1929d4ffd6e6ea956c6b88212d0df22fe921f0b5bfc818b553"}, "url": "/docs/compare/?release=9.4.26#9.4.26-2a411fa7a7c90adf", "source_url": "/docs/release/9.4.26/#id-1.11.6.5.6"}]}, {"id": "9.6.17-bb73047540aea4a6", "cves": [], "html": "<p>修复数据库崩溃并重启之后逻辑复制发布方的失败（Vignesh C）</p>", "text": "修复数据库崩溃并重启之后逻辑复制发布方的失败（Vignesh C）", "title": "修复数据库崩溃并重启之后逻辑复制发布方的失败", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.6.17/#id-1.11.6.12.5", "source_hash": "f3e085313def01bd4942a676a22c9e7959daeafbbc93a033f0bccee00af750fa", "section_path": ["变更"], "commit_groups": [["15cac3a52", "20a1dc1e3", "58997ace5", "bc2140627", "cdb14154b", "e3154aae3", "fe955ebee"]], "identity_text": "Fix failure in logical replication publisher after a database crash and restart (Vignesh C)", "commit_aliases": ["15cac3a52", "20a1dc1e3", "58997ace5", "bc2140627", "cdb14154b", "e3154aae3", "fe955ebee"], "source_commits": ["cdb14154b"], "source_entry_id": "9.6.17/changes/003", "db_id": "13a4ebbb62f816078b950dca41b5176f", "patch_ids": ["f2ffa9572aba4ae2d2a48ee347082cf8"], "statement_hash": "6aa2b325bf72bd1e6c55231d63ce0dc8c7973d98bf84b5311b3b54dc630c7b0b", "relations": [{"rule": 2, "type": "equivalent", "target": "1439b88ee7359150b890bfd4fe23b881", "evidence": {"same_day": true, "patch_ids": ["f2ffa9572aba4ae2d2a48ee347082cf8"], "statement_hash": "6aa2b325bf72bd1e6c55231d63ce0dc8c7973d98bf84b5311b3b54dc630c7b0b"}}, {"rule": 2, "type": "equivalent", "target": "bb33ba157feb3169dd07ff305f37c896", "evidence": {"same_day": true, "patch_ids": ["f2ffa9572aba4ae2d2a48ee347082cf8"], "statement_hash": "6aa2b325bf72bd1e6c55231d63ce0dc8c7973d98bf84b5311b3b54dc630c7b0b"}}, {"rule": 2, "type": "equivalent", "target": "c97e1f22cceb95da773367228c582c34", "evidence": {"same_day": true, "patch_ids": ["f2ffa9572aba4ae2d2a48ee347082cf8"], "statement_hash": "6aa2b325bf72bd1e6c55231d63ce0dc8c7973d98bf84b5311b3b54dc630c7b0b"}}, {"rule": 2, "type": "equivalent", "target": "e09e97ef6771dfc7645f23e799878130", "evidence": {"same_day": true, "patch_ids": ["f2ffa9572aba4ae2d2a48ee347082cf8"], "statement_hash": "6aa2b325bf72bd1e6c55231d63ce0dc8c7973d98bf84b5311b3b54dc630c7b0b"}}, {"rule": 2, "type": "equivalent", "target": "fb326a72fe79a9793c3b84416b31cf6e", "evidence": {"same_day": true, "patch_ids": ["f2ffa9572aba4ae2d2a48ee347082cf8"], "statement_hash": "6aa2b325bf72bd1e6c55231d63ce0dc8c7973d98bf84b5311b3b54dc630c7b0b"}}], "version": "9.6.17", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "fb326a72fe79a9793c3b84416b31cf6e", "kind": "equivalent", "version": "12.2", "label": "12.2", "title": "修复数据库崩溃并重启后逻辑复制发布者的失败", "evidence": {"same_day": true, "patch_ids": ["f2ffa9572aba4ae2d2a48ee347082cf8"], "statement_hash": "6aa2b325bf72bd1e6c55231d63ce0dc8c7973d98bf84b5311b3b54dc630c7b0b"}, "url": "/docs/compare/?release=12.2#12.2-9f094e8e9a48d1df", "source_url": "/docs/release/12.2/#id-1.11.6.26.5"}, {"db_id": "e09e97ef6771dfc7645f23e799878130", "kind": "equivalent", "version": "11.7", "label": "11.7", "title": "修复数据库崩溃并重启后逻辑复制发布者的失败", "evidence": {"same_day": true, "patch_ids": ["f2ffa9572aba4ae2d2a48ee347082cf8"], "statement_hash": "6aa2b325bf72bd1e6c55231d63ce0dc8c7973d98bf84b5311b3b54dc630c7b0b"}, "url": "/docs/compare/?release=11.7#11.7-afe7bf7c09cc7a15", "source_url": "/docs/release/11.7/#id-1.11.6.20.5"}, {"db_id": "bb33ba157feb3169dd07ff305f37c896", "kind": "equivalent", "version": "10.12", "label": "10.12", "title": "修复数据库崩溃并重启后逻辑复制发布者的失败", "evidence": {"same_day": true, "patch_ids": ["f2ffa9572aba4ae2d2a48ee347082cf8"], "statement_hash": "6aa2b325bf72bd1e6c55231d63ce0dc8c7973d98bf84b5311b3b54dc630c7b0b"}, "url": "/docs/compare/?release=10.12#10.12-afe7bf7c09cc7a15", "source_url": "/docs/release/10.12/#id-1.11.6.16.5"}, {"db_id": "1439b88ee7359150b890bfd4fe23b881", "kind": "equivalent", "version": "9.5.21", "label": "9.5.21", "title": "修复数据库崩溃并重启之后逻辑复制发布方的失败", "evidence": {"same_day": true, "patch_ids": ["f2ffa9572aba4ae2d2a48ee347082cf8"], "statement_hash": "6aa2b325bf72bd1e6c55231d63ce0dc8c7973d98bf84b5311b3b54dc630c7b0b"}, "url": "/docs/compare/?release=9.5.21#9.5.21-bb73047540aea4a6", "source_url": "/docs/release/9.5.21/#id-1.11.6.9.5"}, {"db_id": "c97e1f22cceb95da773367228c582c34", "kind": "equivalent", "version": "9.4.26", "label": "9.4.26", "title": "修复数据库崩溃并重启之后逻辑复制发布方的失败", "evidence": {"same_day": true, "patch_ids": ["f2ffa9572aba4ae2d2a48ee347082cf8"], "statement_hash": "6aa2b325bf72bd1e6c55231d63ce0dc8c7973d98bf84b5311b3b54dc630c7b0b"}, "url": "/docs/compare/?release=9.4.26#9.4.26-bb73047540aea4a6", "source_url": "/docs/release/9.4.26/#id-1.11.6.5.6"}]}, {"id": "9.6.17-cf57a0132267fb11", "cves": [], "html": "<p>防止位于 Limit 节点之下的 Gather 或 GatherMerge 计划节点过早关闭（Amit Kapila）</p>\n<p>这避免了此类计划节点需要被扫描多次时的失败，例如当它位于 nestloop 内侧时。</p>", "text": "防止位于 Limit 节点之下的 Gather 或 GatherMerge 计划节点过早关闭（Amit Kapila） 这避免了此类计划节点需要被扫描多次时的失败，例如当它位于 nestloop 内侧时。", "title": "防止位于 Limit 节点之下的 Gather 或 GatherMerge 计划节点过早关闭", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.6.17/#id-1.11.6.12.5", "source_hash": "5044f042baacaa08448d04861de44433908c0c6c273e1764f5099a4ebb38697e", "section_path": ["变更"], "commit_groups": [["080313f82", "1ad0df67c", "1cc3a90c7", "d0ccfa9d6", "f7ae68aac"]], "identity_text": "Prevent premature shutdown of a Gather or GatherMerge plan node that is underneath a Limit node (Amit Kapila) This avoids failure if such a plan node needs to be scanned more than once, as for instance if it is on the inside of a nestloop.", "commit_aliases": ["080313f82", "1ad0df67c", "1cc3a90c7", "d0ccfa9d6", "f7ae68aac"], "source_commits": ["1ad0df67c"], "source_entry_id": "9.6.17/changes/004", "db_id": "3b9453a17ccc702c506c79746e5ba421", "patch_ids": ["ae20cbf89e29f4005017f037b249493b"], "statement_hash": "1f92ba2fffc4a678b50d81f64a3f0e9f14dd99adf8edc4996af62aade7874ca6", "relations": [{"rule": 2, "type": "equivalent", "target": "0736925131e2a1aa47c59c632711680f", "evidence": {"same_day": true, "patch_ids": ["ae20cbf89e29f4005017f037b249493b"], "statement_hash": "1f92ba2fffc4a678b50d81f64a3f0e9f14dd99adf8edc4996af62aade7874ca6"}}, {"rule": 2, "type": "equivalent", "target": "5f88ee03759351364b6139686c2c4363", "evidence": {"same_day": true, "patch_ids": ["ae20cbf89e29f4005017f037b249493b"], "statement_hash": "1f92ba2fffc4a678b50d81f64a3f0e9f14dd99adf8edc4996af62aade7874ca6"}}, {"rule": 2, "type": "equivalent", "target": "c522b4d56b52473e55baecaf0a9ee541", "evidence": {"same_day": true, "patch_ids": ["ae20cbf89e29f4005017f037b249493b"], "statement_hash": "1f92ba2fffc4a678b50d81f64a3f0e9f14dd99adf8edc4996af62aade7874ca6"}}], "version": "9.6.17", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "0736925131e2a1aa47c59c632711680f", "kind": "equivalent", "version": "12.2", "label": "12.2", "title": "防止过早关闭位于 Limit 节点下方的 Gather 或 GatherMerge 计划节点", "evidence": {"same_day": true, "patch_ids": ["ae20cbf89e29f4005017f037b249493b"], "statement_hash": "1f92ba2fffc4a678b50d81f64a3f0e9f14dd99adf8edc4996af62aade7874ca6"}, "url": "/docs/compare/?release=12.2#12.2-f220ed06d9d08439", "source_url": "/docs/release/12.2/#id-1.11.6.26.5"}, {"db_id": "5f88ee03759351364b6139686c2c4363", "kind": "equivalent", "version": "11.7", "label": "11.7", "title": "防止过早关闭位于 Limit 节点下方的 Gather 或 GatherMerge 计划节点", "evidence": {"same_day": true, "patch_ids": ["ae20cbf89e29f4005017f037b249493b"], "statement_hash": "1f92ba2fffc4a678b50d81f64a3f0e9f14dd99adf8edc4996af62aade7874ca6"}, "url": "/docs/compare/?release=11.7#11.7-4ca5fbf6a06d3712", "source_url": "/docs/release/11.7/#id-1.11.6.20.5"}, {"db_id": "c522b4d56b52473e55baecaf0a9ee541", "kind": "equivalent", "version": "10.12", "label": "10.12", "title": "防止过早关闭位于 Limit 节点下方的 Gather 或 GatherMerge 计划节点", "evidence": {"same_day": true, "patch_ids": ["ae20cbf89e29f4005017f037b249493b"], "statement_hash": "1f92ba2fffc4a678b50d81f64a3f0e9f14dd99adf8edc4996af62aade7874ca6"}, "url": "/docs/compare/?release=10.12#10.12-4ca5fbf6a06d3712", "source_url": "/docs/release/10.12/#id-1.11.6.16.5"}]}, {"id": "9.6.17-3cba81c9a7bf45df", "cves": [], "html": "<p>避免没有空闲动态共享内存槽位时的内存泄漏（Thomas Munro）</p>", "text": "避免没有空闲动态共享内存槽位时的内存泄漏（Thomas Munro）", "title": "避免没有空闲动态共享内存槽位时的内存泄漏", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.6.17/#id-1.11.6.12.5", "source_hash": "f1037c30413aa202e95448cccf2b74261a7dd8651f1993cc2aaf649272f76097", "section_path": ["变更"], "commit_groups": [["24dd34af1", "600387f5d", "93745f1e0", "93be45245", "95936c795", "a5f45c3dd", "aab30cd4e"]], "identity_text": "Avoid memory leak when there are no free dynamic shared memory slots (Thomas Munro)", "commit_aliases": ["24dd34af1", "600387f5d", "93745f1e0", "93be45245", "95936c795", "a5f45c3dd", "aab30cd4e"], "source_commits": ["93be45245"], "source_entry_id": "9.6.17/changes/005", "db_id": "5e2f4f77c98c1824485cb030a9acdc86", "patch_ids": ["8afd81caf08066e62fe0151510b70316"], "statement_hash": "d120380ee87a8eb9c6373c3e3dbe226784646299975215e18461754478df75bd", "relations": [{"rule": 2, "type": "equivalent", "target": "28e588ec50dad9c08c90a47528c2384a", "evidence": {"same_day": true, "patch_ids": ["8afd81caf08066e62fe0151510b70316"], "statement_hash": "d120380ee87a8eb9c6373c3e3dbe226784646299975215e18461754478df75bd"}}, {"rule": 2, "type": "equivalent", "target": "2fbc97d14f34ee4610c171e22430c3eb", "evidence": {"same_day": true, "patch_ids": ["8afd81caf08066e62fe0151510b70316"], "statement_hash": "d120380ee87a8eb9c6373c3e3dbe226784646299975215e18461754478df75bd"}}, {"rule": 2, "type": "equivalent", "target": "9030c00e8e7259264942b4fc186c7cff", "evidence": {"same_day": true, "patch_ids": ["8afd81caf08066e62fe0151510b70316"], "statement_hash": "d120380ee87a8eb9c6373c3e3dbe226784646299975215e18461754478df75bd"}}, {"rule": 2, "type": "equivalent", "target": "922f0696cbfcdd119487a61a4b5c3e0f", "evidence": {"same_day": true, "patch_ids": ["8afd81caf08066e62fe0151510b70316"], "statement_hash": "d120380ee87a8eb9c6373c3e3dbe226784646299975215e18461754478df75bd"}}, {"rule": 2, "type": "equivalent", "target": "a9adae9994911ba8a4cfc85bad76adb2", "evidence": {"same_day": true, "patch_ids": ["8afd81caf08066e62fe0151510b70316"], "statement_hash": "d120380ee87a8eb9c6373c3e3dbe226784646299975215e18461754478df75bd"}}], "version": "9.6.17", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "9030c00e8e7259264942b4fc186c7cff", "kind": "equivalent", "version": "12.2", "label": "12.2", "title": "避免没有空闲动态共享内存槽时发生内存泄漏", "evidence": {"same_day": true, "patch_ids": ["8afd81caf08066e62fe0151510b70316"], "statement_hash": "d120380ee87a8eb9c6373c3e3dbe226784646299975215e18461754478df75bd"}, "url": "/docs/compare/?release=12.2#12.2-68dbd8d3853a1a9d", "source_url": "/docs/release/12.2/#id-1.11.6.26.5"}, {"db_id": "2fbc97d14f34ee4610c171e22430c3eb", "kind": "equivalent", "version": "11.7", "label": "11.7", "title": "避免没有空闲动态共享内存槽时发生内存泄漏", "evidence": {"same_day": true, "patch_ids": ["8afd81caf08066e62fe0151510b70316"], "statement_hash": "d120380ee87a8eb9c6373c3e3dbe226784646299975215e18461754478df75bd"}, "url": "/docs/compare/?release=11.7#11.7-4d5931233667908f", "source_url": "/docs/release/11.7/#id-1.11.6.20.5"}, {"db_id": "28e588ec50dad9c08c90a47528c2384a", "kind": "equivalent", "version": "10.12", "label": "10.12", "title": "避免没有空闲动态共享内存槽时发生内存泄漏", "evidence": {"same_day": true, "patch_ids": ["8afd81caf08066e62fe0151510b70316"], "statement_hash": "d120380ee87a8eb9c6373c3e3dbe226784646299975215e18461754478df75bd"}, "url": "/docs/compare/?release=10.12#10.12-4d5931233667908f", "source_url": "/docs/release/10.12/#id-1.11.6.16.5"}, {"db_id": "922f0696cbfcdd119487a61a4b5c3e0f", "kind": "equivalent", "version": "9.5.21", "label": "9.5.21", "title": "避免没有空闲动态共享内存槽位时的内存泄漏", "evidence": {"same_day": true, "patch_ids": ["8afd81caf08066e62fe0151510b70316"], "statement_hash": "d120380ee87a8eb9c6373c3e3dbe226784646299975215e18461754478df75bd"}, "url": "/docs/compare/?release=9.5.21#9.5.21-3cba81c9a7bf45df", "source_url": "/docs/release/9.5.21/#id-1.11.6.9.5"}, {"db_id": "a9adae9994911ba8a4cfc85bad76adb2", "kind": "equivalent", "version": "9.4.26", "label": "9.4.26", "title": "避免没有空闲动态共享内存槽位时的内存泄漏", "evidence": {"same_day": true, "patch_ids": ["8afd81caf08066e62fe0151510b70316"], "statement_hash": "d120380ee87a8eb9c6373c3e3dbe226784646299975215e18461754478df75bd"}, "url": "/docs/compare/?release=9.4.26#9.4.26-3cba81c9a7bf45df", "source_url": "/docs/release/9.4.26/#id-1.11.6.5.6"}]}, {"id": "9.6.17-3ccce672ad5d3a6f", "cves": [], "html": "<p>对临时表执行索引创建、删除或重建时忽略 <code>CONCURRENTLY</code> 选项（Michael Paquier、Heikki Linnakangas、Andres Freund）</p>\n<p>这避免了临时表带有 <code>ON COMMIT</code> 动作时的奇怪失败。反正对临时表使用 <code>CONCURRENTLY</code> 没有益处，因为其他会话无法访问该表，额外的处理毫无意义。</p>", "text": "对临时表执行索引创建、删除或重建时忽略 CONCURRENTLY 选项（Michael Paquier、Heikki Linnakangas、Andres Freund） 这避免了临时表带有 ON COMMIT 动作时的奇怪失败。反正对临时表使用 CONCURRENTLY 没有益处，因为其他会话无法访问该表，额外的处理毫无意义。", "title": "对临时表执行索引创建、删除或重建时忽略 CONCURRENTLY 选项", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.6.17/#id-1.11.6.12.5", "source_hash": "4fad64c68bd2e414f2fd6032d73b8a4c56b86d098c5d4cbc814a370570776e1d", "section_path": ["变更"], "commit_groups": [["5b4b07fa9", "817a1b88a", "9055344b4", "a904abe2e", "c39f45598", "d76652edc", "ef33edeb5"]], "identity_text": "Ignore the CONCURRENTLY option when performing an index creation, drop, or rebuild on a temporary table (Michael Paquier, Heikki Linnakangas, Andres Freund) This avoids strange failures if the temporary table has an ON COMMIT action. There is no benefit in using CONCURRENTLY for a temporary table anyway, since other sessions cannot access the table, making the extra processing pointless.", "commit_aliases": ["5b4b07fa9", "817a1b88a", "9055344b4", "a904abe2e", "c39f45598", "d76652edc", "ef33edeb5"], "source_commits": ["ef33edeb5"], "source_entry_id": "9.6.17/changes/006", "db_id": "1ef6ab0fe5752bbfa61615312ee12220", "patch_ids": ["160560ced7cd4414f6a596bdbc1cd1f3"], "statement_hash": "1e672d30a52f2ae770d93c187ed303c83766147300618606cf0605977114780b", "relations": [{"rule": 2, "type": "equivalent", "target": "1fda7e81ac8a1705fadbac8958c8be79", "evidence": {"same_day": true, "patch_ids": ["160560ced7cd4414f6a596bdbc1cd1f3"], "statement_hash": "1e672d30a52f2ae770d93c187ed303c83766147300618606cf0605977114780b"}}, {"rule": 2, "type": "equivalent", "target": "74b9411413f95a70a3972f85e0c2dd7d", "evidence": {"same_day": true, "patch_ids": ["160560ced7cd4414f6a596bdbc1cd1f3"], "statement_hash": "1e672d30a52f2ae770d93c187ed303c83766147300618606cf0605977114780b"}}, {"rule": 2, "type": "equivalent", "target": "81d83e8d0bb1a990c2664a42c44d825c", "evidence": {"same_day": true, "patch_ids": ["160560ced7cd4414f6a596bdbc1cd1f3"], "statement_hash": "1e672d30a52f2ae770d93c187ed303c83766147300618606cf0605977114780b"}}, {"rule": 2, "type": "equivalent", "target": "a2dfdb2ad6a366ce0ab3a02e54e52d3c", "evidence": {"same_day": true, "patch_ids": ["160560ced7cd4414f6a596bdbc1cd1f3"], "statement_hash": "1e672d30a52f2ae770d93c187ed303c83766147300618606cf0605977114780b"}}, {"rule": 2, "type": "equivalent", "target": "bce130b79a518098d2bae3fa099dda62", "evidence": {"same_day": true, "patch_ids": ["160560ced7cd4414f6a596bdbc1cd1f3"], "statement_hash": "1e672d30a52f2ae770d93c187ed303c83766147300618606cf0605977114780b"}}], "version": "9.6.17", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "bce130b79a518098d2bae3fa099dda62", "kind": "equivalent", "version": "12.2", "label": "12.2", "title": "在临时表上创建、删除或重建索引时，忽略 CONCURRENTLY 选项", "evidence": {"same_day": true, "patch_ids": ["160560ced7cd4414f6a596bdbc1cd1f3"], "statement_hash": "1e672d30a52f2ae770d93c187ed303c83766147300618606cf0605977114780b"}, "url": "/docs/compare/?release=12.2#12.2-6dd4435540f1aa1f", "source_url": "/docs/release/12.2/#id-1.11.6.26.5"}, {"db_id": "74b9411413f95a70a3972f85e0c2dd7d", "kind": "equivalent", "version": "11.7", "label": "11.7", "title": "在临时表上创建、删除或重建索引时，忽略 CONCURRENTLY 选项", "evidence": {"same_day": true, "patch_ids": ["160560ced7cd4414f6a596bdbc1cd1f3"], "statement_hash": "1e672d30a52f2ae770d93c187ed303c83766147300618606cf0605977114780b"}, "url": "/docs/compare/?release=11.7#11.7-b6aea19cca5f1154", "source_url": "/docs/release/11.7/#id-1.11.6.20.5"}, {"db_id": "1fda7e81ac8a1705fadbac8958c8be79", "kind": "equivalent", "version": "10.12", "label": "10.12", "title": "在临时表上创建、删除或重建索引时，忽略 CONCURRENTLY 选项", "evidence": {"same_day": true, "patch_ids": ["160560ced7cd4414f6a596bdbc1cd1f3"], "statement_hash": "1e672d30a52f2ae770d93c187ed303c83766147300618606cf0605977114780b"}, "url": "/docs/compare/?release=10.12#10.12-b6aea19cca5f1154", "source_url": "/docs/release/10.12/#id-1.11.6.16.5"}, {"db_id": "a2dfdb2ad6a366ce0ab3a02e54e52d3c", "kind": "equivalent", "version": "9.5.21", "label": "9.5.21", "title": "对临时表执行索引创建、删除或重建时忽略 CONCURRENTLY 选项", "evidence": {"same_day": true, "patch_ids": ["160560ced7cd4414f6a596bdbc1cd1f3"], "statement_hash": "1e672d30a52f2ae770d93c187ed303c83766147300618606cf0605977114780b"}, "url": "/docs/compare/?release=9.5.21#9.5.21-3ccce672ad5d3a6f", "source_url": "/docs/release/9.5.21/#id-1.11.6.9.5"}, {"db_id": "81d83e8d0bb1a990c2664a42c44d825c", "kind": "equivalent", "version": "9.4.26", "label": "9.4.26", "title": "对临时表执行索引创建、删除或重建时忽略 CONCURRENTLY 选项", "evidence": {"same_day": true, "patch_ids": ["160560ced7cd4414f6a596bdbc1cd1f3"], "statement_hash": "1e672d30a52f2ae770d93c187ed303c83766147300618606cf0605977114780b"}, "url": "/docs/compare/?release=9.4.26#9.4.26-3ccce672ad5d3a6f", "source_url": "/docs/release/9.4.26/#id-1.11.6.5.6"}]}, {"id": "9.6.17-785cdb35ca3fa1d3", "cves": [], "html": "<p>修复重置标记为 <code>ON COMMIT DELETE ROWS</code> 的临时表上的表达式索引时可能的失败（Tom Lane）</p>", "text": "修复重置标记为 ON COMMIT DELETE ROWS 的临时表上的表达式索引时可能的失败（Tom Lane）", "title": "修复重置标记为 ON COMMIT DELETE ROWS 的临时表上的表达式索引时可能的失败", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.6.17/#id-1.11.6.12.5", "source_hash": "806aa53be998a186a4dfb1ae779e2fac14dbb74f758087e7d0c625ed58482948", "section_path": ["变更"], "commit_groups": [["0c84e992c", "25c7183c0", "283f095d0", "768a401e2", "b154d70f7", "c35b714ca", "cfffa8a6b"]], "identity_text": "Fix possible failure when resetting expression indexes on temporary tables that are marked ON COMMIT DELETE ROWS (Tom Lane)", "commit_aliases": ["0c84e992c", "25c7183c0", "283f095d0", "768a401e2", "b154d70f7", "c35b714ca", "cfffa8a6b"], "source_commits": ["283f095d0"], "source_entry_id": "9.6.17/changes/007", "db_id": "e25762d447d9f6d0e649c022b2324661", "patch_ids": ["d42d4ae6f194be7c0690b06444bc16a2"], "statement_hash": "197220b9fb34990fbf91e24bf9b9a2cc0e239aa17932aab3c2b329e106c38017", "relations": [{"rule": 2, "type": "equivalent", "target": "19c0cd27ddfaf38099b0d6dceec72740", "evidence": {"same_day": true, "patch_ids": ["d42d4ae6f194be7c0690b06444bc16a2"], "statement_hash": "197220b9fb34990fbf91e24bf9b9a2cc0e239aa17932aab3c2b329e106c38017"}}, {"rule": 2, "type": "equivalent", "target": "9b7ce358661e494a8f98a2913a29e84d", "evidence": {"same_day": true, "patch_ids": ["d42d4ae6f194be7c0690b06444bc16a2"], "statement_hash": "197220b9fb34990fbf91e24bf9b9a2cc0e239aa17932aab3c2b329e106c38017"}}, {"rule": 2, "type": "equivalent", "target": "bd2bdb9fd93c223dfe82e4631a020d1a", "evidence": {"same_day": true, "patch_ids": ["d42d4ae6f194be7c0690b06444bc16a2"], "statement_hash": "197220b9fb34990fbf91e24bf9b9a2cc0e239aa17932aab3c2b329e106c38017"}}, {"rule": 2, "type": "equivalent", "target": "c7ad22067c9cf2e6ad0b90fc4c4bafec", "evidence": {"same_day": true, "patch_ids": ["d42d4ae6f194be7c0690b06444bc16a2"], "statement_hash": "197220b9fb34990fbf91e24bf9b9a2cc0e239aa17932aab3c2b329e106c38017"}}, {"rule": 2, "type": "equivalent", "target": "e6d3ce0118db9057dc27c54ff834d1a0", "evidence": {"same_day": true, "patch_ids": ["d42d4ae6f194be7c0690b06444bc16a2"], "statement_hash": "197220b9fb34990fbf91e24bf9b9a2cc0e239aa17932aab3c2b329e106c38017"}}], "version": "9.6.17", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "e6d3ce0118db9057dc27c54ff834d1a0", "kind": "equivalent", "version": "12.2", "label": "12.2", "title": "修复重置标记为 ON COMMIT DELETE ROWS 的临时表上的表达式索引时可能发生的失败", "evidence": {"same_day": true, "patch_ids": ["d42d4ae6f194be7c0690b06444bc16a2"], "statement_hash": "197220b9fb34990fbf91e24bf9b9a2cc0e239aa17932aab3c2b329e106c38017"}, "url": "/docs/compare/?release=12.2#12.2-17f4b0fbe04898b0", "source_url": "/docs/release/12.2/#id-1.11.6.26.5"}, {"db_id": "9b7ce358661e494a8f98a2913a29e84d", "kind": "equivalent", "version": "11.7", "label": "11.7", "title": "修复重置标记为 ON COMMIT DELETE ROWS 的临时表上的表达式索引时可能发生的失败", "evidence": {"same_day": true, "patch_ids": ["d42d4ae6f194be7c0690b06444bc16a2"], "statement_hash": "197220b9fb34990fbf91e24bf9b9a2cc0e239aa17932aab3c2b329e106c38017"}, "url": "/docs/compare/?release=11.7#11.7-cefb17b7aa176da2", "source_url": "/docs/release/11.7/#id-1.11.6.20.5"}, {"db_id": "c7ad22067c9cf2e6ad0b90fc4c4bafec", "kind": "equivalent", "version": "10.12", "label": "10.12", "title": "修复重置标记为 ON COMMIT DELETE ROWS 的临时表上的表达式索引时可能发生的失败", "evidence": {"same_day": true, "patch_ids": ["d42d4ae6f194be7c0690b06444bc16a2"], "statement_hash": "197220b9fb34990fbf91e24bf9b9a2cc0e239aa17932aab3c2b329e106c38017"}, "url": "/docs/compare/?release=10.12#10.12-cefb17b7aa176da2", "source_url": "/docs/release/10.12/#id-1.11.6.16.5"}, {"db_id": "bd2bdb9fd93c223dfe82e4631a020d1a", "kind": "equivalent", "version": "9.5.21", "label": "9.5.21", "title": "修复重置标记为 ON COMMIT DELETE ROWS 的临时表上的表达式索引时可能的失败", "evidence": {"same_day": true, "patch_ids": ["d42d4ae6f194be7c0690b06444bc16a2"], "statement_hash": "197220b9fb34990fbf91e24bf9b9a2cc0e239aa17932aab3c2b329e106c38017"}, "url": "/docs/compare/?release=9.5.21#9.5.21-785cdb35ca3fa1d3", "source_url": "/docs/release/9.5.21/#id-1.11.6.9.5"}, {"db_id": "19c0cd27ddfaf38099b0d6dceec72740", "kind": "equivalent", "version": "9.4.26", "label": "9.4.26", "title": "修复重置标记为 ON COMMIT DELETE ROWS 的临时表上的表达式索引时可能的失败", "evidence": {"same_day": true, "patch_ids": ["d42d4ae6f194be7c0690b06444bc16a2"], "statement_hash": "197220b9fb34990fbf91e24bf9b9a2cc0e239aa17932aab3c2b329e106c38017"}, "url": "/docs/compare/?release=9.4.26#9.4.26-785cdb35ca3fa1d3", "source_url": "/docs/release/9.4.26/#id-1.11.6.5.6"}]}, {"id": "9.6.17-ba50284679678c9a", "cves": [], "html": "<p>修复对 <code>box</code>、<code>range</code> 和 <code>inet</code> 数据类型执行 BRIN 索引操作时可能的崩溃（Heikki Linnakangas）</p>", "text": "修复对 box、range 和 inet 数据类型执行 BRIN 索引操作时可能的崩溃（Heikki Linnakangas）", "title": "修复对 box、range 和 inet 数据类型执行 BRIN 索引操作时可能的崩溃", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.6.17/#id-1.11.6.12.5", "source_hash": "4fd5de34758c467952aacc49d278e63669b19941904195fc67b92a7c7163bb5b", "section_path": ["变更"], "commit_groups": [["4c8701098", "98f0d2837", "da7abcf0f", "e96f30d89", "fd436bba0", "ff0c567cb"]], "identity_text": "Fix possible crash in BRIN index operations with box, range and inet data types (Heikki Linnakangas)", "commit_aliases": ["4c8701098", "98f0d2837", "da7abcf0f", "e96f30d89", "fd436bba0", "ff0c567cb"], "source_commits": ["e96f30d89"], "source_entry_id": "9.6.17/changes/008", "db_id": "12ad963273ec88e8c7a7dffa7d317b13", "patch_ids": ["459068976a8e29ddf25a5336ace1f8cc"], "statement_hash": "42b7080a586af06174e0e4a2fd87330321b281b51acf0010f5ce8a3d66857230", "relations": [{"rule": 2, "type": "equivalent", "target": "1235864c3c57c21c0c5a10b209ca85b4", "evidence": {"same_day": true, "patch_ids": ["459068976a8e29ddf25a5336ace1f8cc"], "statement_hash": "42b7080a586af06174e0e4a2fd87330321b281b51acf0010f5ce8a3d66857230"}}, {"rule": 2, "type": "equivalent", "target": "97b781d31fc46815140196138432fd72", "evidence": {"same_day": true, "patch_ids": ["459068976a8e29ddf25a5336ace1f8cc"], "statement_hash": "42b7080a586af06174e0e4a2fd87330321b281b51acf0010f5ce8a3d66857230"}}, {"rule": 2, "type": "equivalent", "target": "b4d4c0f54025cb1b7f6c445dfca85b32", "evidence": {"same_day": true, "patch_ids": ["459068976a8e29ddf25a5336ace1f8cc"], "statement_hash": "42b7080a586af06174e0e4a2fd87330321b281b51acf0010f5ce8a3d66857230"}}, {"rule": 2, "type": "equivalent", "target": "ddc83fcc1582b3dbf2bbc9c60e8f7071", "evidence": {"same_day": true, "patch_ids": ["459068976a8e29ddf25a5336ace1f8cc"], "statement_hash": "42b7080a586af06174e0e4a2fd87330321b281b51acf0010f5ce8a3d66857230"}}], "version": "9.6.17", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "97b781d31fc46815140196138432fd72", "kind": "equivalent", "version": "12.2", "label": "12.2", "title": "修复对 box、range 和 inet 数据类型执行 BRIN 索引操作时可能发生的崩溃", "evidence": {"same_day": true, "patch_ids": ["459068976a8e29ddf25a5336ace1f8cc"], "statement_hash": "42b7080a586af06174e0e4a2fd87330321b281b51acf0010f5ce8a3d66857230"}, "url": "/docs/compare/?release=12.2#12.2-c0f90603cf117fad", "source_url": "/docs/release/12.2/#id-1.11.6.26.5"}, {"db_id": "ddc83fcc1582b3dbf2bbc9c60e8f7071", "kind": "equivalent", "version": "11.7", "label": "11.7", "title": "修复对 box、range 和 inet 数据类型执行 BRIN 索引操作时可能发生的崩溃", "evidence": {"same_day": true, "patch_ids": ["459068976a8e29ddf25a5336ace1f8cc"], "statement_hash": "42b7080a586af06174e0e4a2fd87330321b281b51acf0010f5ce8a3d66857230"}, "url": "/docs/compare/?release=11.7#11.7-7fe5570d13abef64", "source_url": "/docs/release/11.7/#id-1.11.6.20.5"}, {"db_id": "b4d4c0f54025cb1b7f6c445dfca85b32", "kind": "equivalent", "version": "10.12", "label": "10.12", "title": "修复对 box、range 和 inet 数据类型执行 BRIN 索引操作时可能发生的崩溃", "evidence": {"same_day": true, "patch_ids": ["459068976a8e29ddf25a5336ace1f8cc"], "statement_hash": "42b7080a586af06174e0e4a2fd87330321b281b51acf0010f5ce8a3d66857230"}, "url": "/docs/compare/?release=10.12#10.12-7fe5570d13abef64", "source_url": "/docs/release/10.12/#id-1.11.6.16.5"}, {"db_id": "1235864c3c57c21c0c5a10b209ca85b4", "kind": "equivalent", "version": "9.5.21", "label": "9.5.21", "title": "修复对 box、range 和 inet 数据类型执行 BRIN 索引操作时可能的崩溃", "evidence": {"same_day": true, "patch_ids": ["459068976a8e29ddf25a5336ace1f8cc"], "statement_hash": "42b7080a586af06174e0e4a2fd87330321b281b51acf0010f5ce8a3d66857230"}, "url": "/docs/compare/?release=9.5.21#9.5.21-ba50284679678c9a", "source_url": "/docs/release/9.5.21/#id-1.11.6.9.5"}]}, {"id": "9.6.17-32e05da2ada9e89b", "cves": [], "html": "<p>修复 GIN 索引中对已删除页的处理（Alexander Korotkov）</p>\n<p>避免可能的死锁、已删除页状态的错误更新，以及穿过最近删除页的遍历失败。</p>", "text": "修复 GIN 索引中对已删除页的处理（Alexander Korotkov） 避免可能的死锁、已删除页状态的错误更新，以及穿过最近删除页的遍历失败。", "title": "修复 GIN 索引中对已删除页的处理", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.6.17/#id-1.11.6.12.5", "source_hash": "d370ba5411edd13ee37c902a0718707541d83c4830bb49ec4243e295f7cfff13", "section_path": ["变更"], "commit_groups": [["051c50c01", "21ad61ab3", "9f2927989", "e14641197"], ["1414821e1", "4fc485684", "99f5888d3", "ab64b474d", "c0bf35421", "d5ad7a09a", "ee437ca74"], ["4093ff573", "baf487123", "f91706b00"], ["7d467dee0", "a64e7e05a", "b10714080"]], "identity_text": "Fix handling of deleted pages in GIN indexes (Alexander Korotkov) Avoid possible deadlocks, incorrect updates of a deleted page's state, and failure to traverse through a recently-deleted page.", "commit_aliases": ["051c50c01", "1414821e1", "21ad61ab3", "4093ff573", "4fc485684", "7d467dee0", "99f5888d3", "9f2927989", "a64e7e05a", "ab64b474d", "b10714080", "baf487123", "c0bf35421", "d5ad7a09a", "e14641197", "ee437ca74", "f91706b00"], "source_commits": ["4093ff573", "99f5888d3", "b10714080", "e14641197"], "source_entry_id": "9.6.17/changes/009", "db_id": "1c0ccf06670d2279d01e43d3f63aaab6", "patch_ids": ["0fb51caa2a6599d8ae03ec723df72516", "2d779b29920a9156df03dacbfed95bdf", "5614389161137ab83fc478bb6dc593c7", "70da9dc7f21eb7c1acbaa8639acbac5e"], "statement_hash": "a4489e08e273e747212a8ae0efaec9bc58505c38caaac21cc5fa44b30e80bb46", "relations": [{"rule": 2, "type": "equivalent", "target": "163a1188a571ecf3210d6a867b91e4d2", "evidence": {"same_day": true, "patch_ids": ["0fb51caa2a6599d8ae03ec723df72516", "2d779b29920a9156df03dacbfed95bdf", "5614389161137ab83fc478bb6dc593c7", "70da9dc7f21eb7c1acbaa8639acbac5e"], "statement_hash": "a4489e08e273e747212a8ae0efaec9bc58505c38caaac21cc5fa44b30e80bb46"}}, {"rule": 2, "type": "equivalent", "target": "382e9c585cfb14f9b1c242bd2db98948", "evidence": {"same_day": true, "patch_ids": ["0fb51caa2a6599d8ae03ec723df72516", "2d779b29920a9156df03dacbfed95bdf", "5614389161137ab83fc478bb6dc593c7", "70da9dc7f21eb7c1acbaa8639acbac5e"], "statement_hash": "a4489e08e273e747212a8ae0efaec9bc58505c38caaac21cc5fa44b30e80bb46"}}, {"rule": 2, "type": "equivalent", "target": "4f986828312e793956423c2975a5b2c8", "evidence": {"same_day": true, "patch_ids": ["0fb51caa2a6599d8ae03ec723df72516", "2d779b29920a9156df03dacbfed95bdf", "5614389161137ab83fc478bb6dc593c7", "70da9dc7f21eb7c1acbaa8639acbac5e"], "statement_hash": "a4489e08e273e747212a8ae0efaec9bc58505c38caaac21cc5fa44b30e80bb46"}}, {"rule": 2, "type": "equivalent", "target": "ba63d0d0210c6a9fd78797edfd452c32", "evidence": {"same_day": true, "patch_ids": ["0fb51caa2a6599d8ae03ec723df72516", "2d779b29920a9156df03dacbfed95bdf", "5614389161137ab83fc478bb6dc593c7", "70da9dc7f21eb7c1acbaa8639acbac5e"], "statement_hash": "a4489e08e273e747212a8ae0efaec9bc58505c38caaac21cc5fa44b30e80bb46"}}, {"rule": 2, "type": "equivalent", "target": "baa0df43bab5ee15154867b855376f70", "evidence": {"same_day": true, "patch_ids": ["0fb51caa2a6599d8ae03ec723df72516", "2d779b29920a9156df03dacbfed95bdf", "5614389161137ab83fc478bb6dc593c7", "70da9dc7f21eb7c1acbaa8639acbac5e"], "statement_hash": "a4489e08e273e747212a8ae0efaec9bc58505c38caaac21cc5fa44b30e80bb46"}}], "version": "9.6.17", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "4f986828312e793956423c2975a5b2c8", "kind": "equivalent", "version": "12.2", "label": "12.2", "title": "修复 GIN 索引中对已删除页面的处理", "evidence": {"same_day": true, "patch_ids": ["0fb51caa2a6599d8ae03ec723df72516", "2d779b29920a9156df03dacbfed95bdf", "5614389161137ab83fc478bb6dc593c7", "70da9dc7f21eb7c1acbaa8639acbac5e"], "statement_hash": "a4489e08e273e747212a8ae0efaec9bc58505c38caaac21cc5fa44b30e80bb46"}, "url": "/docs/compare/?release=12.2#12.2-5be8d704bafc0f2f", "source_url": "/docs/release/12.2/#id-1.11.6.26.5"}, {"db_id": "baa0df43bab5ee15154867b855376f70", "kind": "equivalent", "version": "11.7", "label": "11.7", "title": "修复 GIN 索引中对已删除页面的处理", "evidence": {"same_day": true, "patch_ids": ["0fb51caa2a6599d8ae03ec723df72516", "2d779b29920a9156df03dacbfed95bdf", "5614389161137ab83fc478bb6dc593c7", "70da9dc7f21eb7c1acbaa8639acbac5e"], "statement_hash": "a4489e08e273e747212a8ae0efaec9bc58505c38caaac21cc5fa44b30e80bb46"}, "url": "/docs/compare/?release=11.7#11.7-266952a113d1e196", "source_url": "/docs/release/11.7/#id-1.11.6.20.5"}, {"db_id": "ba63d0d0210c6a9fd78797edfd452c32", "kind": "equivalent", "version": "10.12", "label": "10.12", "title": "修复 GIN 索引中对已删除页面的处理", "evidence": {"same_day": true, "patch_ids": ["0fb51caa2a6599d8ae03ec723df72516", "2d779b29920a9156df03dacbfed95bdf", "5614389161137ab83fc478bb6dc593c7", "70da9dc7f21eb7c1acbaa8639acbac5e"], "statement_hash": "a4489e08e273e747212a8ae0efaec9bc58505c38caaac21cc5fa44b30e80bb46"}, "url": "/docs/compare/?release=10.12#10.12-266952a113d1e196", "source_url": "/docs/release/10.12/#id-1.11.6.16.5"}, {"db_id": "163a1188a571ecf3210d6a867b91e4d2", "kind": "equivalent", "version": "9.5.21", "label": "9.5.21", "title": "修复 GIN 索引中对已删除页的处理", "evidence": {"same_day": true, "patch_ids": ["0fb51caa2a6599d8ae03ec723df72516", "2d779b29920a9156df03dacbfed95bdf", "5614389161137ab83fc478bb6dc593c7", "70da9dc7f21eb7c1acbaa8639acbac5e"], "statement_hash": "a4489e08e273e747212a8ae0efaec9bc58505c38caaac21cc5fa44b30e80bb46"}, "url": "/docs/compare/?release=9.5.21#9.5.21-32e05da2ada9e89b", "source_url": "/docs/release/9.5.21/#id-1.11.6.9.5"}, {"db_id": "382e9c585cfb14f9b1c242bd2db98948", "kind": "equivalent", "version": "9.4.26", "label": "9.4.26", "title": "修复 GIN 索引中对已删除页的处理", "evidence": {"same_day": true, "patch_ids": ["0fb51caa2a6599d8ae03ec723df72516", "2d779b29920a9156df03dacbfed95bdf", "5614389161137ab83fc478bb6dc593c7", "70da9dc7f21eb7c1acbaa8639acbac5e"], "statement_hash": "a4489e08e273e747212a8ae0efaec9bc58505c38caaac21cc5fa44b30e80bb46"}, "url": "/docs/compare/?release=9.4.26#9.4.26-32e05da2ada9e89b", "source_url": "/docs/release/9.4.26/#id-1.11.6.5.6"}]}, {"id": "9.6.17-7095f012d7edd6c2", "cves": [], "html": "<p>修复多行 <code>VALUES</code> 列表中包含 SubPlan（子 <code>SELECT</code>）时可能的崩溃（Tom Lane）</p>", "text": "修复多行 VALUES 列表中包含 SubPlan（子 SELECT）时可能的崩溃（Tom Lane）", "title": "修复多行 VALUES 列表中包含 SubPlan（子 SELECT）时可能的崩溃", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.6.17/#id-1.11.6.12.5", "source_hash": "5d7b0719cf5ee2b2f6f2769e01167f3197b990c16d3a4872b98217099fd5b2d7", "section_path": ["变更"], "commit_groups": [["167fd022f", "2e2646060", "396472278", "41c6f9db2", "45f03cfa5", "d8e877b86", "eb9d1f050"]], "identity_text": "Fix possible crash with a SubPlan (sub-SELECT) within a multi-row VALUES list (Tom Lane)", "commit_aliases": ["167fd022f", "2e2646060", "396472278", "41c6f9db2", "45f03cfa5", "d8e877b86", "eb9d1f050"], "source_commits": ["45f03cfa5"], "source_entry_id": "9.6.17/changes/010", "db_id": "23f1e9f5f1eecf6bc98e3d1dbf8dbf61", "patch_ids": ["0e17af1c06016767dcaf523c34b89247"], "statement_hash": "eaa0685446b3ea3d2207ebce434bedbb3076bf723e74a802fae6db261235f49b", "relations": [{"rule": 2, "type": "equivalent", "target": "04698fe64e11862558442505d05ca0d6", "evidence": {"same_day": true, "patch_ids": ["0e17af1c06016767dcaf523c34b89247"], "statement_hash": "eaa0685446b3ea3d2207ebce434bedbb3076bf723e74a802fae6db261235f49b"}}, {"rule": 2, "type": "equivalent", "target": "8d45a10666899d1d1a204650d114bf63", "evidence": {"same_day": true, "patch_ids": ["0e17af1c06016767dcaf523c34b89247"], "statement_hash": "eaa0685446b3ea3d2207ebce434bedbb3076bf723e74a802fae6db261235f49b"}}, {"rule": 2, "type": "equivalent", "target": "cd3c71415d61d2b5bb0e321d7fbda1f0", "evidence": {"same_day": true, "patch_ids": ["0e17af1c06016767dcaf523c34b89247"], "statement_hash": "eaa0685446b3ea3d2207ebce434bedbb3076bf723e74a802fae6db261235f49b"}}, {"rule": 2, "type": "equivalent", "target": "cfcc37a35ec28d0ca50bbc931b129973", "evidence": {"same_day": true, "patch_ids": ["0e17af1c06016767dcaf523c34b89247"], "statement_hash": "eaa0685446b3ea3d2207ebce434bedbb3076bf723e74a802fae6db261235f49b"}}, {"rule": 2, "type": "equivalent", "target": "f68d6dcdc3d684e7fbb68f4ebc48aa5c", "evidence": {"same_day": true, "patch_ids": ["0e17af1c06016767dcaf523c34b89247"], "statement_hash": "eaa0685446b3ea3d2207ebce434bedbb3076bf723e74a802fae6db261235f49b"}}], "version": "9.6.17", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "cfcc37a35ec28d0ca50bbc931b129973", "kind": "equivalent", "version": "12.2", "label": "12.2", "title": "修复多行 VALUES 列表中包含 SubPlan（子 SELECT）时可能发生的崩溃", "evidence": {"same_day": true, "patch_ids": ["0e17af1c06016767dcaf523c34b89247"], "statement_hash": "eaa0685446b3ea3d2207ebce434bedbb3076bf723e74a802fae6db261235f49b"}, "url": "/docs/compare/?release=12.2#12.2-3536e7c874996cfb", "source_url": "/docs/release/12.2/#id-1.11.6.26.5"}, {"db_id": "04698fe64e11862558442505d05ca0d6", "kind": "equivalent", "version": "11.7", "label": "11.7", "title": "修复多行 VALUES 列表中包含 SubPlan（子 SELECT）时可能发生的崩溃", "evidence": {"same_day": true, "patch_ids": ["0e17af1c06016767dcaf523c34b89247"], "statement_hash": "eaa0685446b3ea3d2207ebce434bedbb3076bf723e74a802fae6db261235f49b"}, "url": "/docs/compare/?release=11.7#11.7-79315b8d0599d7b8", "source_url": "/docs/release/11.7/#id-1.11.6.20.5"}, {"db_id": "cd3c71415d61d2b5bb0e321d7fbda1f0", "kind": "equivalent", "version": "10.12", "label": "10.12", "title": "修复多行 VALUES 列表中包含 SubPlan（子 SELECT）时可能发生的崩溃", "evidence": {"same_day": true, "patch_ids": ["0e17af1c06016767dcaf523c34b89247"], "statement_hash": "eaa0685446b3ea3d2207ebce434bedbb3076bf723e74a802fae6db261235f49b"}, "url": "/docs/compare/?release=10.12#10.12-79315b8d0599d7b8", "source_url": "/docs/release/10.12/#id-1.11.6.16.5"}, {"db_id": "f68d6dcdc3d684e7fbb68f4ebc48aa5c", "kind": "equivalent", "version": "9.5.21", "label": "9.5.21", "title": "修复多行 VALUES 列表中包含 SubPlan（子 SELECT）时可能的崩溃", "evidence": {"same_day": true, "patch_ids": ["0e17af1c06016767dcaf523c34b89247"], "statement_hash": "eaa0685446b3ea3d2207ebce434bedbb3076bf723e74a802fae6db261235f49b"}, "url": "/docs/compare/?release=9.5.21#9.5.21-7095f012d7edd6c2", "source_url": "/docs/release/9.5.21/#id-1.11.6.9.5"}, {"db_id": "8d45a10666899d1d1a204650d114bf63", "kind": "equivalent", "version": "9.4.26", "label": "9.4.26", "title": "修复多行 VALUES 列表中包含 SubPlan（子 SELECT）时可能的崩溃", "evidence": {"same_day": true, "patch_ids": ["0e17af1c06016767dcaf523c34b89247"], "statement_hash": "eaa0685446b3ea3d2207ebce434bedbb3076bf723e74a802fae6db261235f49b"}, "url": "/docs/compare/?release=9.4.26#9.4.26-7095f012d7edd6c2", "source_url": "/docs/release/9.4.26/#id-1.11.6.5.6"}]}, {"id": "9.6.17-3c11e63680e64497", "cves": [], "html": "<p>修复按引用传递的聚合转换状态不太可能的崩溃（Andres Freund、Teodor Sigaev）</p>", "text": "修复按引用传递的聚合转换状态不太可能的崩溃（Andres Freund、Teodor Sigaev）", "title": "修复按引用传递的聚合转换状态不太可能的崩溃", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.6.17/#id-1.11.6.12.5", "source_hash": "e3a8cde999f990b67762e4cfa5dc0d1119fd9b7d9fc37ebbf108f0be990593f6", "section_path": ["变更"], "commit_groups": [["21fdfd0e8", "8bb006a41", "affdde2e1", "ba1dfbe22", "c8e0e560e", "d4c339924", "f651976d9"]], "identity_text": "Fix unlikely crash with pass-by-reference aggregate transition states (Andres Freund, Teodor Sigaev)", "commit_aliases": ["21fdfd0e8", "8bb006a41", "affdde2e1", "ba1dfbe22", "c8e0e560e", "d4c339924", "f651976d9"], "source_commits": ["d4c339924"], "source_entry_id": "9.6.17/changes/011", "db_id": "aa38fe8a84a05ccb7d5ca2231a4a9ab2", "patch_ids": ["730f997a58a04f63067e9ce63b4b26a6"], "statement_hash": "247ecf8b0f57ea41bff13f5eb478cd6d22e7b98f79a7290a54702aa6470249b2", "relations": [{"rule": 2, "type": "equivalent", "target": "36852c66d198f3d3882a089f2fe0f1b9", "evidence": {"same_day": true, "patch_ids": ["730f997a58a04f63067e9ce63b4b26a6"], "statement_hash": "247ecf8b0f57ea41bff13f5eb478cd6d22e7b98f79a7290a54702aa6470249b2"}}, {"rule": 2, "type": "equivalent", "target": "55eecb13c679c1b456e4f63a0afa50a3", "evidence": {"same_day": true, "patch_ids": ["730f997a58a04f63067e9ce63b4b26a6"], "statement_hash": "247ecf8b0f57ea41bff13f5eb478cd6d22e7b98f79a7290a54702aa6470249b2"}}, {"rule": 2, "type": "equivalent", "target": "7bbdbe671f37e7a8f307651f9934bbb5", "evidence": {"same_day": true, "patch_ids": ["730f997a58a04f63067e9ce63b4b26a6"], "statement_hash": "247ecf8b0f57ea41bff13f5eb478cd6d22e7b98f79a7290a54702aa6470249b2"}}, {"rule": 2, "type": "equivalent", "target": "7c398b24a82fde3f229eb10a248b5b97", "evidence": {"same_day": true, "patch_ids": ["730f997a58a04f63067e9ce63b4b26a6"], "statement_hash": "247ecf8b0f57ea41bff13f5eb478cd6d22e7b98f79a7290a54702aa6470249b2"}}, {"rule": 2, "type": "equivalent", "target": "a4516e116251828c608ebe40de67937c", "evidence": {"same_day": true, "patch_ids": ["730f997a58a04f63067e9ce63b4b26a6"], "statement_hash": "247ecf8b0f57ea41bff13f5eb478cd6d22e7b98f79a7290a54702aa6470249b2"}}], "version": "9.6.17", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "7c398b24a82fde3f229eb10a248b5b97", "kind": "equivalent", "version": "12.2", "label": "12.2", "title": "修复使用按引用传递的聚合转换状态时发生的罕见崩溃", "evidence": {"same_day": true, "patch_ids": ["730f997a58a04f63067e9ce63b4b26a6"], "statement_hash": "247ecf8b0f57ea41bff13f5eb478cd6d22e7b98f79a7290a54702aa6470249b2"}, "url": "/docs/compare/?release=12.2#12.2-30062929998dd8f5", "source_url": "/docs/release/12.2/#id-1.11.6.26.5"}, {"db_id": "55eecb13c679c1b456e4f63a0afa50a3", "kind": "equivalent", "version": "11.7", "label": "11.7", "title": "修复使用按引用传递的聚合转换状态时发生的罕见崩溃", "evidence": {"same_day": true, "patch_ids": ["730f997a58a04f63067e9ce63b4b26a6"], "statement_hash": "247ecf8b0f57ea41bff13f5eb478cd6d22e7b98f79a7290a54702aa6470249b2"}, "url": "/docs/compare/?release=11.7#11.7-1145da8fb2f19235", "source_url": "/docs/release/11.7/#id-1.11.6.20.5"}, {"db_id": "7bbdbe671f37e7a8f307651f9934bbb5", "kind": "equivalent", "version": "10.12", "label": "10.12", "title": "修复使用按引用传递的聚合转换状态时发生的罕见崩溃", "evidence": {"same_day": true, "patch_ids": ["730f997a58a04f63067e9ce63b4b26a6"], "statement_hash": "247ecf8b0f57ea41bff13f5eb478cd6d22e7b98f79a7290a54702aa6470249b2"}, "url": "/docs/compare/?release=10.12#10.12-1145da8fb2f19235", "source_url": "/docs/release/10.12/#id-1.11.6.16.5"}, {"db_id": "a4516e116251828c608ebe40de67937c", "kind": "equivalent", "version": "9.5.21", "label": "9.5.21", "title": "修复按引用传递的聚合转换状态不太可能的崩溃", "evidence": {"same_day": true, "patch_ids": ["730f997a58a04f63067e9ce63b4b26a6"], "statement_hash": "247ecf8b0f57ea41bff13f5eb478cd6d22e7b98f79a7290a54702aa6470249b2"}, "url": "/docs/compare/?release=9.5.21#9.5.21-3c11e63680e64497", "source_url": "/docs/release/9.5.21/#id-1.11.6.9.5"}, {"db_id": "36852c66d198f3d3882a089f2fe0f1b9", "kind": "equivalent", "version": "9.4.26", "label": "9.4.26", "title": "修复按引用传递的聚合转换状态不太可能的崩溃", "evidence": {"same_day": true, "patch_ids": ["730f997a58a04f63067e9ce63b4b26a6"], "statement_hash": "247ecf8b0f57ea41bff13f5eb478cd6d22e7b98f79a7290a54702aa6470249b2"}, "url": "/docs/compare/?release=9.4.26#9.4.26-3c11e63680e64497", "source_url": "/docs/release/9.4.26/#id-1.11.6.5.6"}]}, {"id": "9.6.17-b115320876673b56", "cves": [], "html": "<p>改进 <code>to_date()</code> 和 <code>to_timestamp()</code> 中的错误报告（Tom Lane、Álvaro Herrera）</p>\n<p>关于输入字符串中不正确月份或日期名称的报告，可能在多字节字符中间截断输入，导致错误编码的错误消息并引发后续失败。现在改为在下一个空白处截断。</p>", "text": "改进 to_date() 和 to_timestamp() 中的错误报告（Tom Lane、Álvaro Herrera） 关于输入字符串中不正确月份或日期名称的报告，可能在多字节字符中间截断输入，导致错误编码的错误消息并引发后续失败。现在改为在下一个空白处截断。", "title": "改进 to_date() 和 to_timestamp() 中的错误报告", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.6.17/#id-1.11.6.12.5", "source_hash": "b8e9685b7e0be50a64fe8219ed7bf855fea6068a7c7987125824976a871f1543", "section_path": ["变更"], "commit_groups": [["0e63d9641", "451f50813", "7a9fef299", "8fc33e6cc", "9a3a75cb8", "d6a9548b2", "f309c812e"], ["212b870d6", "4c70098ff", "600b953d7", "9e24575f6", "a576f2a8f", "be13f227f", "fb12aefaa"]], "identity_text": "Improve error reporting in to_date() and to_timestamp() (Tom Lane, Álvaro Herrera) Reports about incorrect month or day names in input strings could truncate the input in the middle of a multi-byte character, leading to an improperly encoded error message that could cause follow-on failures. Truncate at the next whitespace instead.", "commit_aliases": ["0e63d9641", "212b870d6", "451f50813", "4c70098ff", "600b953d7", "7a9fef299", "8fc33e6cc", "9a3a75cb8", "9e24575f6", "a576f2a8f", "be13f227f", "d6a9548b2", "f309c812e", "fb12aefaa"], "source_commits": ["451f50813", "9e24575f6"], "source_entry_id": "9.6.17/changes/012", "db_id": "ba9b3b2bf6101c85ca968cf1bc4c2a39", "patch_ids": ["881a4ad4e73e5bd4a9e5a289b084a789", "b3676034f161a2b8e0f55f02dbf6ca1d"], "statement_hash": "9e20b30958a588fb9e31c02ef288f2ed5e1df59831e7e09f29ac2a8de8f66856", "relations": [{"rule": 2, "type": "equivalent", "target": "2e88f289c1234dc88f881d954d466e4a", "evidence": {"same_day": true, "patch_ids": ["881a4ad4e73e5bd4a9e5a289b084a789", "b3676034f161a2b8e0f55f02dbf6ca1d"], "statement_hash": "9e20b30958a588fb9e31c02ef288f2ed5e1df59831e7e09f29ac2a8de8f66856"}}, {"rule": 2, "type": "equivalent", "target": "39630b7768bb1c46d4b6752581ccf6ce", "evidence": {"same_day": true, "patch_ids": ["881a4ad4e73e5bd4a9e5a289b084a789", "b3676034f161a2b8e0f55f02dbf6ca1d"], "statement_hash": "9e20b30958a588fb9e31c02ef288f2ed5e1df59831e7e09f29ac2a8de8f66856"}}, {"rule": 2, "type": "equivalent", "target": "70492e26779a8a1656d44ae93b8feaa6", "evidence": {"same_day": true, "patch_ids": ["881a4ad4e73e5bd4a9e5a289b084a789", "b3676034f161a2b8e0f55f02dbf6ca1d"], "statement_hash": "9e20b30958a588fb9e31c02ef288f2ed5e1df59831e7e09f29ac2a8de8f66856"}}, {"rule": 2, "type": "equivalent", "target": "cdbf4f801b3c350a10257de0582a1372", "evidence": {"same_day": true, "patch_ids": ["881a4ad4e73e5bd4a9e5a289b084a789", "b3676034f161a2b8e0f55f02dbf6ca1d"], "statement_hash": "9e20b30958a588fb9e31c02ef288f2ed5e1df59831e7e09f29ac2a8de8f66856"}}, {"rule": 2, "type": "equivalent", "target": "e5a881c43afb38e00e461fd4d589dc16", "evidence": {"same_day": true, "patch_ids": ["881a4ad4e73e5bd4a9e5a289b084a789", "b3676034f161a2b8e0f55f02dbf6ca1d"], "statement_hash": "9e20b30958a588fb9e31c02ef288f2ed5e1df59831e7e09f29ac2a8de8f66856"}}], "version": "9.6.17", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "2e88f289c1234dc88f881d954d466e4a", "kind": "equivalent", "version": "12.2", "label": "12.2", "title": "改进 to_date() 和 to_timestamp() 中的错误报告", "evidence": {"same_day": true, "patch_ids": ["881a4ad4e73e5bd4a9e5a289b084a789", "b3676034f161a2b8e0f55f02dbf6ca1d"], "statement_hash": "9e20b30958a588fb9e31c02ef288f2ed5e1df59831e7e09f29ac2a8de8f66856"}, "url": "/docs/compare/?release=12.2#12.2-0bc48a9f176e3069", "source_url": "/docs/release/12.2/#id-1.11.6.26.5"}, {"db_id": "70492e26779a8a1656d44ae93b8feaa6", "kind": "equivalent", "version": "11.7", "label": "11.7", "title": "改进 to_date() 和 to_timestamp() 中的错误报告", "evidence": {"same_day": true, "patch_ids": ["881a4ad4e73e5bd4a9e5a289b084a789", "b3676034f161a2b8e0f55f02dbf6ca1d"], "statement_hash": "9e20b30958a588fb9e31c02ef288f2ed5e1df59831e7e09f29ac2a8de8f66856"}, "url": "/docs/compare/?release=11.7#11.7-b115320876673b56", "source_url": "/docs/release/11.7/#id-1.11.6.20.5"}, {"db_id": "cdbf4f801b3c350a10257de0582a1372", "kind": "equivalent", "version": "10.12", "label": "10.12", "title": "改进 to_date() 和 to_timestamp() 中的错误报告", "evidence": {"same_day": true, "patch_ids": ["881a4ad4e73e5bd4a9e5a289b084a789", "b3676034f161a2b8e0f55f02dbf6ca1d"], "statement_hash": "9e20b30958a588fb9e31c02ef288f2ed5e1df59831e7e09f29ac2a8de8f66856"}, "url": "/docs/compare/?release=10.12#10.12-b115320876673b56", "source_url": "/docs/release/10.12/#id-1.11.6.16.5"}, {"db_id": "39630b7768bb1c46d4b6752581ccf6ce", "kind": "equivalent", "version": "9.5.21", "label": "9.5.21", "title": "改进 to_date() 和 to_timestamp() 中的错误报告", "evidence": {"same_day": true, "patch_ids": ["881a4ad4e73e5bd4a9e5a289b084a789", "b3676034f161a2b8e0f55f02dbf6ca1d"], "statement_hash": "9e20b30958a588fb9e31c02ef288f2ed5e1df59831e7e09f29ac2a8de8f66856"}, "url": "/docs/compare/?release=9.5.21#9.5.21-b115320876673b56", "source_url": "/docs/release/9.5.21/#id-1.11.6.9.5"}, {"db_id": "e5a881c43afb38e00e461fd4d589dc16", "kind": "equivalent", "version": "9.4.26", "label": "9.4.26", "title": "改进 to_date() 和 to_timestamp() 中的错误报告", "evidence": {"same_day": true, "patch_ids": ["881a4ad4e73e5bd4a9e5a289b084a789", "b3676034f161a2b8e0f55f02dbf6ca1d"], "statement_hash": "9e20b30958a588fb9e31c02ef288f2ed5e1df59831e7e09f29ac2a8de8f66856"}, "url": "/docs/compare/?release=9.4.26#9.4.26-b115320876673b56", "source_url": "/docs/release/9.4.26/#id-1.11.6.5.6"}]}, {"id": "9.6.17-c797d83d4d4b0861", "cves": [], "html": "<p>修复公元前日期的 <code>EXTRACT(ISOYEAR FROM <em><code>timestamp</code></em>)</code> 的差一结果（Tom Lane）</p>", "text": "修复公元前日期的 EXTRACT(ISOYEAR FROM timestamp) 的差一结果（Tom Lane）", "title": "修复公元前日期的 EXTRACT(ISOYEAR FROM timestamp) 的差一结果", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.6.17/#id-1.11.6.12.5", "source_hash": "8c0700d91b9d82d47ef15f3b31d5033089d21951a0ccf0f8319a4588fbea4992", "section_path": ["变更"], "commit_groups": [["07c4b6ac7", "1a3efa1eb", "323c47925", "332584da9", "6aa126311", "6e2ac8d66", "c965c42a5"]], "identity_text": "Fix off-by-one result for EXTRACT(ISOYEAR FROM timestamp) for BC dates (Tom Lane)", "commit_aliases": ["07c4b6ac7", "1a3efa1eb", "323c47925", "332584da9", "6aa126311", "6e2ac8d66", "c965c42a5"], "source_commits": ["6e2ac8d66"], "source_entry_id": "9.6.17/changes/013", "db_id": "8165e96592be79ede7a550c4a042b9d4", "patch_ids": ["e64c1aedea53edbdb2a27f60e946cd5f"], "statement_hash": "0a67a694ed58e0baf5b93141608db1f69dce394feec5bdb8f7c817eb8767ed8d", "relations": [{"rule": 2, "type": "equivalent", "target": "976efdd3073cd52012c4d8fad816cc02", "evidence": {"same_day": true, "patch_ids": ["e64c1aedea53edbdb2a27f60e946cd5f"], "statement_hash": "0a67a694ed58e0baf5b93141608db1f69dce394feec5bdb8f7c817eb8767ed8d"}}, {"rule": 2, "type": "equivalent", "target": "a2a9f3ed8a680dc61d461557c9720630", "evidence": {"same_day": true, "patch_ids": ["e64c1aedea53edbdb2a27f60e946cd5f"], "statement_hash": "0a67a694ed58e0baf5b93141608db1f69dce394feec5bdb8f7c817eb8767ed8d"}}, {"rule": 2, "type": "equivalent", "target": "a3244dabefb4bb88f7b0a7987bd3ae31", "evidence": {"same_day": true, "patch_ids": ["e64c1aedea53edbdb2a27f60e946cd5f"], "statement_hash": "0a67a694ed58e0baf5b93141608db1f69dce394feec5bdb8f7c817eb8767ed8d"}}, {"rule": 2, "type": "equivalent", "target": "b5b8b7b90208d81bd67592a4a8638877", "evidence": {"same_day": true, "patch_ids": ["e64c1aedea53edbdb2a27f60e946cd5f"], "statement_hash": "0a67a694ed58e0baf5b93141608db1f69dce394feec5bdb8f7c817eb8767ed8d"}}, {"rule": 2, "type": "equivalent", "target": "d41730767b50746673b7b49da97f6bb1", "evidence": {"same_day": true, "patch_ids": ["e64c1aedea53edbdb2a27f60e946cd5f"], "statement_hash": "0a67a694ed58e0baf5b93141608db1f69dce394feec5bdb8f7c817eb8767ed8d"}}], "version": "9.6.17", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "a2a9f3ed8a680dc61d461557c9720630", "kind": "equivalent", "version": "12.2", "label": "12.2", "title": "修复对公元前日期计算 EXTRACT(ISOYEAR FROM timestamp) 时结果相差一的问题", "evidence": {"same_day": true, "patch_ids": ["e64c1aedea53edbdb2a27f60e946cd5f"], "statement_hash": "0a67a694ed58e0baf5b93141608db1f69dce394feec5bdb8f7c817eb8767ed8d"}, "url": "/docs/compare/?release=12.2#12.2-1044778c53f32f8d", "source_url": "/docs/release/12.2/#id-1.11.6.26.5"}, {"db_id": "976efdd3073cd52012c4d8fad816cc02", "kind": "equivalent", "version": "11.7", "label": "11.7", "title": "修复对公元前日期计算 EXTRACT(ISOYEAR FROM timestamp) 时结果相差一的问题", "evidence": {"same_day": true, "patch_ids": ["e64c1aedea53edbdb2a27f60e946cd5f"], "statement_hash": "0a67a694ed58e0baf5b93141608db1f69dce394feec5bdb8f7c817eb8767ed8d"}, "url": "/docs/compare/?release=11.7#11.7-c369b627d2709619", "source_url": "/docs/release/11.7/#id-1.11.6.20.5"}, {"db_id": "d41730767b50746673b7b49da97f6bb1", "kind": "equivalent", "version": "10.12", "label": "10.12", "title": "修复对公元前日期计算 EXTRACT(ISOYEAR FROM timestamp) 时结果相差一的问题", "evidence": {"same_day": true, "patch_ids": ["e64c1aedea53edbdb2a27f60e946cd5f"], "statement_hash": "0a67a694ed58e0baf5b93141608db1f69dce394feec5bdb8f7c817eb8767ed8d"}, "url": "/docs/compare/?release=10.12#10.12-c369b627d2709619", "source_url": "/docs/release/10.12/#id-1.11.6.16.5"}, {"db_id": "b5b8b7b90208d81bd67592a4a8638877", "kind": "equivalent", "version": "9.5.21", "label": "9.5.21", "title": "修复公元前日期的 EXTRACT(ISOYEAR FROM timestamp) 的差一结果", "evidence": {"same_day": true, "patch_ids": ["e64c1aedea53edbdb2a27f60e946cd5f"], "statement_hash": "0a67a694ed58e0baf5b93141608db1f69dce394feec5bdb8f7c817eb8767ed8d"}, "url": "/docs/compare/?release=9.5.21#9.5.21-c797d83d4d4b0861", "source_url": "/docs/release/9.5.21/#id-1.11.6.9.5"}, {"db_id": "a3244dabefb4bb88f7b0a7987bd3ae31", "kind": "equivalent", "version": "9.4.26", "label": "9.4.26", "title": "修复公元前日期的 EXTRACT(ISOYEAR FROM timestamp) 的差一结果", "evidence": {"same_day": true, "patch_ids": ["e64c1aedea53edbdb2a27f60e946cd5f"], "statement_hash": "0a67a694ed58e0baf5b93141608db1f69dce394feec5bdb8f7c817eb8767ed8d"}, "url": "/docs/compare/?release=9.4.26#9.4.26-c797d83d4d4b0861", "source_url": "/docs/release/9.4.26/#id-1.11.6.5.6"}]}, {"id": "9.6.17-1a4a5880e6239261", "cves": [], "html": "<p>避免系统目录中存在自引用视图时 <code>information_schema</code> 视图中的栈溢出（Tom Lane）</p>\n<p>自引用视图无法工作；它总是导致无限递归。我们在尝试执行该视图时能正确处理这种情况，但在查询它是否自动可更新时不能。</p>", "text": "避免系统目录中存在自引用视图时 information_schema 视图中的栈溢出（Tom Lane） 自引用视图无法工作；它总是导致无限递归。我们在尝试执行该视图时能正确处理这种情况，但在查询它是否自动可更新时不能。", "title": "避免系统目录中存在自引用视图时 information_schema 视图中的栈溢出", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.6.17/#id-1.11.6.12.5", "source_hash": "4137c5b7625f4d5cc1e46b9daf3d378bd89d98b5eaeef8698089eddba7d7b424", "section_path": ["变更"], "commit_groups": [["4a0aab14d", "5186f7625", "52434ba73", "669138ebd", "b9f3d7a53", "bcd541897", "f09829017"]], "identity_text": "Avoid stack overflow in information_schema views when a self-referential view exists in the system catalogs (Tom Lane) A self-referential view can't work; it will always result in infinite recursion. We handled that situation correctly when trying to execute the view, but not when inquiring whether it is automatically updatable.", "commit_aliases": ["4a0aab14d", "5186f7625", "52434ba73", "669138ebd", "b9f3d7a53", "bcd541897", "f09829017"], "source_commits": ["52434ba73"], "source_entry_id": "9.6.17/changes/014", "db_id": "1b330957449f4b21da4a1725df3776af", "patch_ids": ["ee445a89d96850907b66829bdd2041c7"], "statement_hash": "d38af59ef3e029aa8eb8934c03824ef4b851b43bc0892f344b143600ae7807ce", "relations": [{"rule": 2, "type": "equivalent", "target": "4c60a3ca30b315e9f22ac913e2ce2d4b", "evidence": {"same_day": true, "patch_ids": ["ee445a89d96850907b66829bdd2041c7"], "statement_hash": "d38af59ef3e029aa8eb8934c03824ef4b851b43bc0892f344b143600ae7807ce"}}, {"rule": 2, "type": "equivalent", "target": "acf1d52fad98389a471114b8df0c0fdc", "evidence": {"same_day": true, "patch_ids": ["ee445a89d96850907b66829bdd2041c7"], "statement_hash": "d38af59ef3e029aa8eb8934c03824ef4b851b43bc0892f344b143600ae7807ce"}}, {"rule": 2, "type": "equivalent", "target": "b491675de114029fc48083e9392427fe", "evidence": {"same_day": true, "patch_ids": ["ee445a89d96850907b66829bdd2041c7"], "statement_hash": "d38af59ef3e029aa8eb8934c03824ef4b851b43bc0892f344b143600ae7807ce"}}, {"rule": 2, "type": "equivalent", "target": "b933e5d77c8aa2e81fd04399a0e55040", "evidence": {"same_day": true, "patch_ids": ["ee445a89d96850907b66829bdd2041c7"], "statement_hash": "d38af59ef3e029aa8eb8934c03824ef4b851b43bc0892f344b143600ae7807ce"}}, {"rule": 2, "type": "equivalent", "target": "e552e8dba5a3299576dfb60b582319bc", "evidence": {"same_day": true, "patch_ids": ["ee445a89d96850907b66829bdd2041c7"], "statement_hash": "d38af59ef3e029aa8eb8934c03824ef4b851b43bc0892f344b143600ae7807ce"}}], "version": "9.6.17", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "acf1d52fad98389a471114b8df0c0fdc", "kind": "equivalent", "version": "12.2", "label": "12.2", "title": "避免系统目录中存在自引用视图时 information_schema 视图发生栈溢出", "evidence": {"same_day": true, "patch_ids": ["ee445a89d96850907b66829bdd2041c7"], "statement_hash": "d38af59ef3e029aa8eb8934c03824ef4b851b43bc0892f344b143600ae7807ce"}, "url": "/docs/compare/?release=12.2#12.2-78335de878eb3d78", "source_url": "/docs/release/12.2/#id-1.11.6.26.5"}, {"db_id": "e552e8dba5a3299576dfb60b582319bc", "kind": "equivalent", "version": "11.7", "label": "11.7", "title": "避免系统目录中存在自引用视图时 information_schema 视图发生栈溢出", "evidence": {"same_day": true, "patch_ids": ["ee445a89d96850907b66829bdd2041c7"], "statement_hash": "d38af59ef3e029aa8eb8934c03824ef4b851b43bc0892f344b143600ae7807ce"}, "url": "/docs/compare/?release=11.7#11.7-a585e920494ebca6", "source_url": "/docs/release/11.7/#id-1.11.6.20.5"}, {"db_id": "b491675de114029fc48083e9392427fe", "kind": "equivalent", "version": "10.12", "label": "10.12", "title": "避免系统目录中存在自引用视图时 information_schema 视图发生栈溢出", "evidence": {"same_day": true, "patch_ids": ["ee445a89d96850907b66829bdd2041c7"], "statement_hash": "d38af59ef3e029aa8eb8934c03824ef4b851b43bc0892f344b143600ae7807ce"}, "url": "/docs/compare/?release=10.12#10.12-a585e920494ebca6", "source_url": "/docs/release/10.12/#id-1.11.6.16.5"}, {"db_id": "b933e5d77c8aa2e81fd04399a0e55040", "kind": "equivalent", "version": "9.5.21", "label": "9.5.21", "title": "避免系统目录中存在自引用视图时 information_schema 视图中的栈溢出", "evidence": {"same_day": true, "patch_ids": ["ee445a89d96850907b66829bdd2041c7"], "statement_hash": "d38af59ef3e029aa8eb8934c03824ef4b851b43bc0892f344b143600ae7807ce"}, "url": "/docs/compare/?release=9.5.21#9.5.21-1a4a5880e6239261", "source_url": "/docs/release/9.5.21/#id-1.11.6.9.5"}, {"db_id": "4c60a3ca30b315e9f22ac913e2ce2d4b", "kind": "equivalent", "version": "9.4.26", "label": "9.4.26", "title": "避免系统目录中存在自引用视图时 information_schema 视图中的栈溢出", "evidence": {"same_day": true, "patch_ids": ["ee445a89d96850907b66829bdd2041c7"], "statement_hash": "d38af59ef3e029aa8eb8934c03824ef4b851b43bc0892f344b143600ae7807ce"}, "url": "/docs/compare/?release=9.4.26#9.4.26-1a4a5880e6239261", "source_url": "/docs/release/9.4.26/#id-1.11.6.5.6"}]}, {"id": "9.6.17-ba72bdf7449915cf", "cves": [], "html": "<p>改进有超大内侧关系的哈希连接的性能（Thomas Munro）</p>", "text": "改进有超大内侧关系的哈希连接的性能（Thomas Munro）", "title": "改进有超大内侧关系的哈希连接的性能", "commits": [], "section": "变更", "category": "performance", "source_url": "/docs/release/9.6.17/#id-1.11.6.12.5", "source_hash": "ea9c247303cf1e473b9f46057f918da380615d1a49456fcadda768eaa113d832", "section_path": ["变更"], "commit_groups": [["15861deb6", "5c0a132cf", "8052aaf52", "893eaf0be", "8e89bc6df", "9e551a14c", "e69d64454"]], "identity_text": "Improve performance of hash joins with very large inner relations (Thomas Munro)", "commit_aliases": ["15861deb6", "5c0a132cf", "8052aaf52", "893eaf0be", "8e89bc6df", "9e551a14c", "e69d64454"], "source_commits": ["15861deb6"], "source_entry_id": "9.6.17/changes/015", "db_id": "b3cb781746ac72afd92d36eb4d30e449", "patch_ids": ["4fd40ea9c8ea4eadf6c96b64d56d3642"], "statement_hash": "2df267ae22df679eccfb91c9e704ed41b727a5277b344abfcc0fa5ca790fe3bd", "relations": [{"rule": 2, "type": "equivalent", "target": "0895ef11a5e64d19ab1da8f1b5310d96", "evidence": {"same_day": true, "patch_ids": ["4fd40ea9c8ea4eadf6c96b64d56d3642"], "statement_hash": "2df267ae22df679eccfb91c9e704ed41b727a5277b344abfcc0fa5ca790fe3bd"}}, {"rule": 2, "type": "equivalent", "target": "116f6d8659176bcd964a41e0209aedea", "evidence": {"same_day": true, "patch_ids": ["4fd40ea9c8ea4eadf6c96b64d56d3642"], "statement_hash": "2df267ae22df679eccfb91c9e704ed41b727a5277b344abfcc0fa5ca790fe3bd"}}, {"rule": 2, "type": "equivalent", "target": "17ab53f94dcefd2c93fabf044fcac49e", "evidence": {"same_day": true, "patch_ids": ["4fd40ea9c8ea4eadf6c96b64d56d3642"], "statement_hash": "2df267ae22df679eccfb91c9e704ed41b727a5277b344abfcc0fa5ca790fe3bd"}}, {"rule": 2, "type": "equivalent", "target": "470ba833faa3f091a2c921a50dcf0786", "evidence": {"same_day": true, "patch_ids": ["4fd40ea9c8ea4eadf6c96b64d56d3642"], "statement_hash": "2df267ae22df679eccfb91c9e704ed41b727a5277b344abfcc0fa5ca790fe3bd"}}, {"rule": 2, "type": "equivalent", "target": "d2e309cdc378e915039257fd8823d0bf", "evidence": {"same_day": true, "patch_ids": ["4fd40ea9c8ea4eadf6c96b64d56d3642"], "statement_hash": "2df267ae22df679eccfb91c9e704ed41b727a5277b344abfcc0fa5ca790fe3bd"}}], "version": "9.6.17", "category_label": "性能改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "17ab53f94dcefd2c93fabf044fcac49e", "kind": "equivalent", "version": "12.2", "label": "12.2", "title": "提高内侧关系非常大时的哈希连接性能", "evidence": {"same_day": true, "patch_ids": ["4fd40ea9c8ea4eadf6c96b64d56d3642"], "statement_hash": "2df267ae22df679eccfb91c9e704ed41b727a5277b344abfcc0fa5ca790fe3bd"}, "url": "/docs/compare/?release=12.2#12.2-fd4ec8b7ca5e3534", "source_url": "/docs/release/12.2/#id-1.11.6.26.5"}, {"db_id": "d2e309cdc378e915039257fd8823d0bf", "kind": "equivalent", "version": "11.7", "label": "11.7", "title": "提高内侧关系非常大时的哈希连接性能", "evidence": {"same_day": true, "patch_ids": ["4fd40ea9c8ea4eadf6c96b64d56d3642"], "statement_hash": "2df267ae22df679eccfb91c9e704ed41b727a5277b344abfcc0fa5ca790fe3bd"}, "url": "/docs/compare/?release=11.7#11.7-c524cf29609d73b0", "source_url": "/docs/release/11.7/#id-1.11.6.20.5"}, {"db_id": "116f6d8659176bcd964a41e0209aedea", "kind": "equivalent", "version": "10.12", "label": "10.12", "title": "提高内侧关系非常大时的哈希连接性能", "evidence": {"same_day": true, "patch_ids": ["4fd40ea9c8ea4eadf6c96b64d56d3642"], "statement_hash": "2df267ae22df679eccfb91c9e704ed41b727a5277b344abfcc0fa5ca790fe3bd"}, "url": "/docs/compare/?release=10.12#10.12-c524cf29609d73b0", "source_url": "/docs/release/10.12/#id-1.11.6.16.5"}, {"db_id": "470ba833faa3f091a2c921a50dcf0786", "kind": "equivalent", "version": "9.5.21", "label": "9.5.21", "title": "改进有超大内侧关系的哈希连接的性能", "evidence": {"same_day": true, "patch_ids": ["4fd40ea9c8ea4eadf6c96b64d56d3642"], "statement_hash": "2df267ae22df679eccfb91c9e704ed41b727a5277b344abfcc0fa5ca790fe3bd"}, "url": "/docs/compare/?release=9.5.21#9.5.21-ba72bdf7449915cf", "source_url": "/docs/release/9.5.21/#id-1.11.6.9.5"}, {"db_id": "0895ef11a5e64d19ab1da8f1b5310d96", "kind": "equivalent", "version": "9.4.26", "label": "9.4.26", "title": "改进有超大内侧关系的哈希连接的性能", "evidence": {"same_day": true, "patch_ids": ["4fd40ea9c8ea4eadf6c96b64d56d3642"], "statement_hash": "2df267ae22df679eccfb91c9e704ed41b727a5277b344abfcc0fa5ca790fe3bd"}, "url": "/docs/compare/?release=9.4.26#9.4.26-ba72bdf7449915cf", "source_url": "/docs/release/9.4.26/#id-1.11.6.5.6"}]}, {"id": "9.6.17-8b8cb30dd25eac7f", "cves": [], "html": "<p>修复 <code>&lt;@</code> 和 <code>@&gt;</code> 范围操作符选择率计算中的边界崩溃和估计错误（Michael Paquier、Andrey Borodin、Tom Lane）</p>", "text": "修复 <@ 和 @> 范围操作符选择率计算中的边界崩溃和估计错误（Michael Paquier、Andrey Borodin、Tom Lane）", "title": "修复 <@ 和 @> 范围操作符选择率计算中的边界崩溃和估计错误", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.6.17/#id-1.11.6.12.5", "source_hash": "c4be8a36f9461dfa640c2307f2729b4d7361950f48d88071365cf2c9fee10e4a", "section_path": ["变更"], "commit_groups": [["2dd10477c", "5832be6ca", "652686a33", "6bd567b65", "70c17a812", "784c58da1", "8c8b456b5"]], "identity_text": "Fix edge-case crashes and misestimations in selectivity calculations for the <@ and @> range operators (Michael Paquier, Andrey Borodin, Tom Lane)", "commit_aliases": ["2dd10477c", "5832be6ca", "652686a33", "6bd567b65", "70c17a812", "784c58da1", "8c8b456b5"], "source_commits": ["2dd10477c"], "source_entry_id": "9.6.17/changes/016", "db_id": "0961d7751c5492d2b84a38d198cdf128", "patch_ids": ["4425958e08be3e89a78ee9b62d849cf3"], "statement_hash": "6f94d2044f860f50d8d6b357be87022695af2a03bbef74ed8e9916f71ecce695", "relations": [{"rule": 2, "type": "equivalent", "target": "3e9147b0ae8d405e39d48172b2657379", "evidence": {"same_day": true, "patch_ids": ["4425958e08be3e89a78ee9b62d849cf3"], "statement_hash": "6f94d2044f860f50d8d6b357be87022695af2a03bbef74ed8e9916f71ecce695"}}, {"rule": 2, "type": "equivalent", "target": "4307f0bc311d7b89cc4a721613633ad8", "evidence": {"same_day": true, "patch_ids": ["4425958e08be3e89a78ee9b62d849cf3"], "statement_hash": "6f94d2044f860f50d8d6b357be87022695af2a03bbef74ed8e9916f71ecce695"}}, {"rule": 2, "type": "equivalent", "target": "691c00f1e97381d8ffaec7f1f4a3c6e9", "evidence": {"same_day": true, "patch_ids": ["4425958e08be3e89a78ee9b62d849cf3"], "statement_hash": "6f94d2044f860f50d8d6b357be87022695af2a03bbef74ed8e9916f71ecce695"}}, {"rule": 2, "type": "equivalent", "target": "aef27d6d21de7e23502c594e8807df56", "evidence": {"same_day": true, "patch_ids": ["4425958e08be3e89a78ee9b62d849cf3"], "statement_hash": "6f94d2044f860f50d8d6b357be87022695af2a03bbef74ed8e9916f71ecce695"}}, {"rule": 2, "type": "equivalent", "target": "be5fcc5dce8879026b2c0741f46e490c", "evidence": {"same_day": true, "patch_ids": ["4425958e08be3e89a78ee9b62d849cf3"], "statement_hash": "6f94d2044f860f50d8d6b357be87022695af2a03bbef74ed8e9916f71ecce695"}}], "version": "9.6.17", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "4307f0bc311d7b89cc4a721613633ad8", "kind": "equivalent", "version": "12.2", "label": "12.2", "title": "修复为范围操作符 <@ 和 @> 计算选择率时在边界情况下发生的崩溃和估算错误", "evidence": {"same_day": true, "patch_ids": ["4425958e08be3e89a78ee9b62d849cf3"], "statement_hash": "6f94d2044f860f50d8d6b357be87022695af2a03bbef74ed8e9916f71ecce695"}, "url": "/docs/compare/?release=12.2#12.2-f56a7665ee2764ef", "source_url": "/docs/release/12.2/#id-1.11.6.26.5"}, {"db_id": "aef27d6d21de7e23502c594e8807df56", "kind": "equivalent", "version": "11.7", "label": "11.7", "title": "修复为范围操作符 <@ 和 @> 计算选择率时在边界情况下发生的崩溃和估算错误", "evidence": {"same_day": true, "patch_ids": ["4425958e08be3e89a78ee9b62d849cf3"], "statement_hash": "6f94d2044f860f50d8d6b357be87022695af2a03bbef74ed8e9916f71ecce695"}, "url": "/docs/compare/?release=11.7#11.7-3914b7cb2a0346b0", "source_url": "/docs/release/11.7/#id-1.11.6.20.5"}, {"db_id": "691c00f1e97381d8ffaec7f1f4a3c6e9", "kind": "equivalent", "version": "10.12", "label": "10.12", "title": "修复为范围操作符 <@ 和 @> 计算选择率时在边界情况下发生的崩溃和估算错误", "evidence": {"same_day": true, "patch_ids": ["4425958e08be3e89a78ee9b62d849cf3"], "statement_hash": "6f94d2044f860f50d8d6b357be87022695af2a03bbef74ed8e9916f71ecce695"}, "url": "/docs/compare/?release=10.12#10.12-3914b7cb2a0346b0", "source_url": "/docs/release/10.12/#id-1.11.6.16.5"}, {"db_id": "be5fcc5dce8879026b2c0741f46e490c", "kind": "equivalent", "version": "9.5.21", "label": "9.5.21", "title": "修复 <@ 和 @> 范围操作符选择率计算中的边界崩溃和估计错误", "evidence": {"same_day": true, "patch_ids": ["4425958e08be3e89a78ee9b62d849cf3"], "statement_hash": "6f94d2044f860f50d8d6b357be87022695af2a03bbef74ed8e9916f71ecce695"}, "url": "/docs/compare/?release=9.5.21#9.5.21-8b8cb30dd25eac7f", "source_url": "/docs/release/9.5.21/#id-1.11.6.9.5"}, {"db_id": "3e9147b0ae8d405e39d48172b2657379", "kind": "equivalent", "version": "9.4.26", "label": "9.4.26", "title": "修复 <@ 和 @> 范围操作符选择率计算中的边界崩溃和估计错误", "evidence": {"same_day": true, "patch_ids": ["4425958e08be3e89a78ee9b62d849cf3"], "statement_hash": "6f94d2044f860f50d8d6b357be87022695af2a03bbef74ed8e9916f71ecce695"}, "url": "/docs/compare/?release=9.4.26#9.4.26-8b8cb30dd25eac7f", "source_url": "/docs/release/9.4.26/#id-1.11.6.5.6"}]}, {"id": "9.6.17-2af30e94440f1b18", "cves": [], "html": "<p>改进对试图在带条件 <code>INSTEAD</code> 规则的视图上使用自动更新的错误报告（Dean Rasheed）</p>\n<p>这从未被支持过，但此前错误只在执行时抛出，因此可能被规划器错误掩盖。</p>", "text": "改进对试图在带条件 INSTEAD 规则的视图上使用自动更新的错误报告（Dean Rasheed） 这从未被支持过，但此前错误只在执行时抛出，因此可能被规划器错误掩盖。", "title": "改进对试图在带条件 INSTEAD 规则的视图上使用自动更新的错误报告", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.6.17/#id-1.11.6.12.5", "source_hash": "a90ed90b9c10030cfb638ad722558ef71e3bd32b52fe92e49de8fc4105422549", "section_path": ["变更"], "commit_groups": [["353cd826f", "9bdb1f0e3", "9be6fcb3e", "bb09a9414", "d751ba523", "fd5476b79", "fd87262de"]], "identity_text": "Improve error reporting for attempts to use automatic updating of views with conditional INSTEAD rules (Dean Rasheed) This has never been supported, but previously the error was thrown only at execution time, so that it could be masked by planner errors.", "commit_aliases": ["353cd826f", "9bdb1f0e3", "9be6fcb3e", "bb09a9414", "d751ba523", "fd5476b79", "fd87262de"], "source_commits": ["fd87262de"], "source_entry_id": "9.6.17/changes/017", "db_id": "646ae9c6eeaa9bddece446e464cf5a8b", "patch_ids": ["83c7e47d9b1c9e8c2a4bac13bbbac361"], "statement_hash": "640c1858997877f97952553ab17f0024c19eabd56a1824f1e665ebe039970517", "relations": [{"rule": 2, "type": "equivalent", "target": "6442085995f48457f67674804be68be5", "evidence": {"same_day": true, "patch_ids": ["83c7e47d9b1c9e8c2a4bac13bbbac361"], "statement_hash": "640c1858997877f97952553ab17f0024c19eabd56a1824f1e665ebe039970517"}}, {"rule": 2, "type": "equivalent", "target": "9d92be7c89b9bc2ab41a36e67bd07fa3", "evidence": {"same_day": true, "patch_ids": ["83c7e47d9b1c9e8c2a4bac13bbbac361"], "statement_hash": "640c1858997877f97952553ab17f0024c19eabd56a1824f1e665ebe039970517"}}, {"rule": 2, "type": "equivalent", "target": "ab7f2c29a2205a2026611703391223db", "evidence": {"same_day": true, "patch_ids": ["83c7e47d9b1c9e8c2a4bac13bbbac361"], "statement_hash": "640c1858997877f97952553ab17f0024c19eabd56a1824f1e665ebe039970517"}}, {"rule": 2, "type": "equivalent", "target": "c9ab6a2569ad820f5fcbce804d8d3c80", "evidence": {"same_day": true, "patch_ids": ["83c7e47d9b1c9e8c2a4bac13bbbac361"], "statement_hash": "640c1858997877f97952553ab17f0024c19eabd56a1824f1e665ebe039970517"}}, {"rule": 2, "type": "equivalent", "target": "f0ee5749c0a83d8cc1d5c36dd742602e", "evidence": {"same_day": true, "patch_ids": ["83c7e47d9b1c9e8c2a4bac13bbbac361"], "statement_hash": "640c1858997877f97952553ab17f0024c19eabd56a1824f1e665ebe039970517"}}], "version": "9.6.17", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "9d92be7c89b9bc2ab41a36e67bd07fa3", "kind": "equivalent", "version": "12.2", "label": "12.2", "title": "改进对带条件 INSTEAD 规则的视图尝试使用自动更新时的错误报告", "evidence": {"same_day": true, "patch_ids": ["83c7e47d9b1c9e8c2a4bac13bbbac361"], "statement_hash": "640c1858997877f97952553ab17f0024c19eabd56a1824f1e665ebe039970517"}, "url": "/docs/compare/?release=12.2#12.2-d1508c69413dbdc4", "source_url": "/docs/release/12.2/#id-1.11.6.26.5"}, {"db_id": "6442085995f48457f67674804be68be5", "kind": "equivalent", "version": "11.7", "label": "11.7", "title": "改进对带条件 INSTEAD 规则的视图尝试使用自动更新时的错误报告", "evidence": {"same_day": true, "patch_ids": ["83c7e47d9b1c9e8c2a4bac13bbbac361"], "statement_hash": "640c1858997877f97952553ab17f0024c19eabd56a1824f1e665ebe039970517"}, "url": "/docs/compare/?release=11.7#11.7-d7ff4e00c12d1f8f", "source_url": "/docs/release/11.7/#id-1.11.6.20.5"}, {"db_id": "c9ab6a2569ad820f5fcbce804d8d3c80", "kind": "equivalent", "version": "10.12", "label": "10.12", "title": "改进对带条件 INSTEAD 规则的视图尝试使用自动更新时的错误报告", "evidence": {"same_day": true, "patch_ids": ["83c7e47d9b1c9e8c2a4bac13bbbac361"], "statement_hash": "640c1858997877f97952553ab17f0024c19eabd56a1824f1e665ebe039970517"}, "url": "/docs/compare/?release=10.12#10.12-d7ff4e00c12d1f8f", "source_url": "/docs/release/10.12/#id-1.11.6.16.5"}, {"db_id": "f0ee5749c0a83d8cc1d5c36dd742602e", "kind": "equivalent", "version": "9.5.21", "label": "9.5.21", "title": "改进对试图在带条件 INSTEAD 规则的视图上使用自动更新的错误报告", "evidence": {"same_day": true, "patch_ids": ["83c7e47d9b1c9e8c2a4bac13bbbac361"], "statement_hash": "640c1858997877f97952553ab17f0024c19eabd56a1824f1e665ebe039970517"}, "url": "/docs/compare/?release=9.5.21#9.5.21-2af30e94440f1b18", "source_url": "/docs/release/9.5.21/#id-1.11.6.9.5"}, {"db_id": "ab7f2c29a2205a2026611703391223db", "kind": "equivalent", "version": "9.4.26", "label": "9.4.26", "title": "改进对试图在带条件 INSTEAD 规则的视图上使用自动更新的错误报告", "evidence": {"same_day": true, "patch_ids": ["83c7e47d9b1c9e8c2a4bac13bbbac361"], "statement_hash": "640c1858997877f97952553ab17f0024c19eabd56a1824f1e665ebe039970517"}, "url": "/docs/compare/?release=9.4.26#9.4.26-2af30e94440f1b18", "source_url": "/docs/release/9.4.26/#id-1.11.6.5.6"}]}, {"id": "9.6.17-48690d42f8d5438e", "cves": [], "html": "<p>防止复合类型通过范围类型间接包含自身（Tom Lane、Julien Rouhaud）</p>", "text": "防止复合类型通过范围类型间接包含自身（Tom Lane、Julien Rouhaud）", "title": "防止复合类型通过范围类型间接包含自身", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.6.17/#id-1.11.6.12.5", "source_hash": "42113818971343b95c7d380201570a8dad0f7bd57c6dcb8fa907e3c7a655a9a0", "section_path": ["变更"], "commit_groups": [["0d245d13c", "31dfa40a8", "354d913f9", "4af2531d0", "6609c3ad9", "976cb11f6", "fc7695891"], ["25dc267a1", "59047b6d0", "65aa15513", "742c646c1", "74b35eb46", "de3d2df75", "f521ef0ae"]], "identity_text": "Prevent a composite type from being included in itself indirectly via a range type (Tom Lane, Julien Rouhaud)", "commit_aliases": ["0d245d13c", "25dc267a1", "31dfa40a8", "354d913f9", "4af2531d0", "59047b6d0", "65aa15513", "6609c3ad9", "742c646c1", "74b35eb46", "976cb11f6", "de3d2df75", "f521ef0ae", "fc7695891"], "source_commits": ["354d913f9", "742c646c1"], "source_entry_id": "9.6.17/changes/018", "db_id": "a2f957278a64b12dad6638c4a2a238a3", "patch_ids": ["c52b1e33ff03c0a7dd458178601d99df", "d106744efdd32c05bf5cf6e0d1da13bc"], "statement_hash": "f1d1bba4b13cb2d41b5076b349c2869b1a75ad694d10325d17019e4f1e158ef0", "relations": [{"rule": 2, "type": "equivalent", "target": "2d785e978a00eda25468d8fb4cfb2f75", "evidence": {"same_day": true, "patch_ids": ["c52b1e33ff03c0a7dd458178601d99df", "d106744efdd32c05bf5cf6e0d1da13bc"], "statement_hash": "f1d1bba4b13cb2d41b5076b349c2869b1a75ad694d10325d17019e4f1e158ef0"}}, {"rule": 2, "type": "equivalent", "target": "35c56caabddafddc3571fbc8e4d52531", "evidence": {"same_day": true, "patch_ids": ["c52b1e33ff03c0a7dd458178601d99df", "d106744efdd32c05bf5cf6e0d1da13bc"], "statement_hash": "f1d1bba4b13cb2d41b5076b349c2869b1a75ad694d10325d17019e4f1e158ef0"}}, {"rule": 2, "type": "equivalent", "target": "e67d212ae0c11e78088262e4b34e72aa", "evidence": {"same_day": true, "patch_ids": ["c52b1e33ff03c0a7dd458178601d99df", "d106744efdd32c05bf5cf6e0d1da13bc"], "statement_hash": "f1d1bba4b13cb2d41b5076b349c2869b1a75ad694d10325d17019e4f1e158ef0"}}, {"rule": 2, "type": "equivalent", "target": "fb5b776882ac9cf61570568881850052", "evidence": {"same_day": true, "patch_ids": ["c52b1e33ff03c0a7dd458178601d99df", "d106744efdd32c05bf5cf6e0d1da13bc"], "statement_hash": "f1d1bba4b13cb2d41b5076b349c2869b1a75ad694d10325d17019e4f1e158ef0"}}, {"rule": 2, "type": "equivalent", "target": "fffa3fefd5d79f160d2ddf4bf5538921", "evidence": {"same_day": true, "patch_ids": ["c52b1e33ff03c0a7dd458178601d99df", "d106744efdd32c05bf5cf6e0d1da13bc"], "statement_hash": "f1d1bba4b13cb2d41b5076b349c2869b1a75ad694d10325d17019e4f1e158ef0"}}], "version": "9.6.17", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "e67d212ae0c11e78088262e4b34e72aa", "kind": "equivalent", "version": "12.2", "label": "12.2", "title": "防止复合类型通过范围类型间接包含自身", "evidence": {"same_day": true, "patch_ids": ["c52b1e33ff03c0a7dd458178601d99df", "d106744efdd32c05bf5cf6e0d1da13bc"], "statement_hash": "f1d1bba4b13cb2d41b5076b349c2869b1a75ad694d10325d17019e4f1e158ef0"}, "url": "/docs/compare/?release=12.2#12.2-497f5e61d9c1b201", "source_url": "/docs/release/12.2/#id-1.11.6.26.5"}, {"db_id": "fb5b776882ac9cf61570568881850052", "kind": "equivalent", "version": "11.7", "label": "11.7", "title": "防止复合类型通过范围类型间接包含自身", "evidence": {"same_day": true, "patch_ids": ["c52b1e33ff03c0a7dd458178601d99df", "d106744efdd32c05bf5cf6e0d1da13bc"], "statement_hash": "f1d1bba4b13cb2d41b5076b349c2869b1a75ad694d10325d17019e4f1e158ef0"}, "url": "/docs/compare/?release=11.7#11.7-48690d42f8d5438e", "source_url": "/docs/release/11.7/#id-1.11.6.20.5"}, {"db_id": "35c56caabddafddc3571fbc8e4d52531", "kind": "equivalent", "version": "10.12", "label": "10.12", "title": "防止复合类型通过范围类型间接包含自身", "evidence": {"same_day": true, "patch_ids": ["c52b1e33ff03c0a7dd458178601d99df", "d106744efdd32c05bf5cf6e0d1da13bc"], "statement_hash": "f1d1bba4b13cb2d41b5076b349c2869b1a75ad694d10325d17019e4f1e158ef0"}, "url": "/docs/compare/?release=10.12#10.12-48690d42f8d5438e", "source_url": "/docs/release/10.12/#id-1.11.6.16.5"}, {"db_id": "fffa3fefd5d79f160d2ddf4bf5538921", "kind": "equivalent", "version": "9.5.21", "label": "9.5.21", "title": "防止复合类型通过范围类型间接包含自身", "evidence": {"same_day": true, "patch_ids": ["c52b1e33ff03c0a7dd458178601d99df", "d106744efdd32c05bf5cf6e0d1da13bc"], "statement_hash": "f1d1bba4b13cb2d41b5076b349c2869b1a75ad694d10325d17019e4f1e158ef0"}, "url": "/docs/compare/?release=9.5.21#9.5.21-48690d42f8d5438e", "source_url": "/docs/release/9.5.21/#id-1.11.6.9.5"}, {"db_id": "2d785e978a00eda25468d8fb4cfb2f75", "kind": "equivalent", "version": "9.4.26", "label": "9.4.26", "title": "防止复合类型通过范围类型间接包含自身", "evidence": {"same_day": true, "patch_ids": ["c52b1e33ff03c0a7dd458178601d99df", "d106744efdd32c05bf5cf6e0d1da13bc"], "statement_hash": "f1d1bba4b13cb2d41b5076b349c2869b1a75ad694d10325d17019e4f1e158ef0"}, "url": "/docs/compare/?release=9.4.26#9.4.26-48690d42f8d5438e", "source_url": "/docs/release/9.4.26/#id-1.11.6.5.6"}]}, {"id": "9.6.17-e4b18e7f6b9a4016", "cves": [], "html": "<p>修复对禁止类型索引表达式的错误报告（Amit Langote）</p>", "text": "修复对禁止类型索引表达式的错误报告（Amit Langote）", "title": "修复对禁止类型索引表达式的错误报告", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.6.17/#id-1.11.6.12.5", "source_hash": "20695d5a33e1805e533c87ae85745b0a899879353436f132c357a9fc5646b576", "section_path": ["变更"], "commit_groups": [["275a8ac4f", "298d056d9", "2acab054b", "5c5a268c6", "97ba30fab", "da5dd4218", "fc449abc3"]], "identity_text": "Fix error reporting for index expressions of prohibited types (Amit Langote)", "commit_aliases": ["275a8ac4f", "298d056d9", "2acab054b", "5c5a268c6", "97ba30fab", "da5dd4218", "fc449abc3"], "source_commits": ["275a8ac4f"], "source_entry_id": "9.6.17/changes/019", "db_id": "4c8354beb60a5626a666682abda93b92", "patch_ids": ["9ebd2a16b818858b89002e88642403f2"], "statement_hash": "28d1e927697d02690e4caea98e721555cea4c2b840ec748b42cd629016dc759c", "relations": [{"rule": 2, "type": "equivalent", "target": "1bdd4656461fd2b6d206dbe16e040209", "evidence": {"same_day": true, "patch_ids": ["9ebd2a16b818858b89002e88642403f2"], "statement_hash": "28d1e927697d02690e4caea98e721555cea4c2b840ec748b42cd629016dc759c"}}, {"rule": 2, "type": "equivalent", "target": "c67e1dcc68db8ad7eaad8c63d5deabf3", "evidence": {"same_day": true, "patch_ids": ["9ebd2a16b818858b89002e88642403f2"], "statement_hash": "28d1e927697d02690e4caea98e721555cea4c2b840ec748b42cd629016dc759c"}}, {"rule": 2, "type": "equivalent", "target": "c68cb246482528c6d028f8424cbc1206", "evidence": {"same_day": true, "patch_ids": ["9ebd2a16b818858b89002e88642403f2"], "statement_hash": "28d1e927697d02690e4caea98e721555cea4c2b840ec748b42cd629016dc759c"}}, {"rule": 2, "type": "equivalent", "target": "d703eb963ada69f3f8f94e175186b02a", "evidence": {"same_day": true, "patch_ids": ["9ebd2a16b818858b89002e88642403f2"], "statement_hash": "28d1e927697d02690e4caea98e721555cea4c2b840ec748b42cd629016dc759c"}}, {"rule": 2, "type": "equivalent", "target": "e8ba847993f879f935751b4d4f862b2c", "evidence": {"same_day": true, "patch_ids": ["9ebd2a16b818858b89002e88642403f2"], "statement_hash": "28d1e927697d02690e4caea98e721555cea4c2b840ec748b42cd629016dc759c"}}], "version": "9.6.17", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "e8ba847993f879f935751b4d4f862b2c", "kind": "equivalent", "version": "12.2", "label": "12.2", "title": "修复索引表达式使用禁止的类型时的错误报告", "evidence": {"same_day": true, "patch_ids": ["9ebd2a16b818858b89002e88642403f2"], "statement_hash": "28d1e927697d02690e4caea98e721555cea4c2b840ec748b42cd629016dc759c"}, "url": "/docs/compare/?release=12.2#12.2-6143d250a536d32b", "source_url": "/docs/release/12.2/#id-1.11.6.26.5"}, {"db_id": "d703eb963ada69f3f8f94e175186b02a", "kind": "equivalent", "version": "11.7", "label": "11.7", "title": "修复索引表达式使用禁止的类型时的错误报告", "evidence": {"same_day": true, "patch_ids": ["9ebd2a16b818858b89002e88642403f2"], "statement_hash": "28d1e927697d02690e4caea98e721555cea4c2b840ec748b42cd629016dc759c"}, "url": "/docs/compare/?release=11.7#11.7-a5b54460a1e82b29", "source_url": "/docs/release/11.7/#id-1.11.6.20.5"}, {"db_id": "1bdd4656461fd2b6d206dbe16e040209", "kind": "equivalent", "version": "10.12", "label": "10.12", "title": "修复索引表达式使用禁止的类型时的错误报告", "evidence": {"same_day": true, "patch_ids": ["9ebd2a16b818858b89002e88642403f2"], "statement_hash": "28d1e927697d02690e4caea98e721555cea4c2b840ec748b42cd629016dc759c"}, "url": "/docs/compare/?release=10.12#10.12-a5b54460a1e82b29", "source_url": "/docs/release/10.12/#id-1.11.6.16.5"}, {"db_id": "c68cb246482528c6d028f8424cbc1206", "kind": "equivalent", "version": "9.5.21", "label": "9.5.21", "title": "修复对禁止类型索引表达式的错误报告", "evidence": {"same_day": true, "patch_ids": ["9ebd2a16b818858b89002e88642403f2"], "statement_hash": "28d1e927697d02690e4caea98e721555cea4c2b840ec748b42cd629016dc759c"}, "url": "/docs/compare/?release=9.5.21#9.5.21-e4b18e7f6b9a4016", "source_url": "/docs/release/9.5.21/#id-1.11.6.9.5"}, {"db_id": "c67e1dcc68db8ad7eaad8c63d5deabf3", "kind": "equivalent", "version": "9.4.26", "label": "9.4.26", "title": "修复对禁止类型索引表达式的错误报告", "evidence": {"same_day": true, "patch_ids": ["9ebd2a16b818858b89002e88642403f2"], "statement_hash": "28d1e927697d02690e4caea98e721555cea4c2b840ec748b42cd629016dc759c"}, "url": "/docs/compare/?release=9.4.26#9.4.26-e4b18e7f6b9a4016", "source_url": "/docs/release/9.4.26/#id-1.11.6.5.6"}]}, {"id": "9.6.17-271ea55e3cdb7c40", "cves": [], "html": "<p>修复仅包含 <code>VALUES</code> 列表的视图的转储，以处理视图输出列被改名的情况（Tom Lane）</p>", "text": "修复仅包含 VALUES 列表的视图的转储，以处理视图输出列被改名的情况（Tom Lane）", "title": "修复仅包含 VALUES 列表的视图的转储，以处理视图输出列被改名的情况", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.6.17/#id-1.11.6.12.5", "source_hash": "f9c3cd26c99745837db498fdafca21abc88a7e64b854ef655b5dfe0b81a177e9", "section_path": ["变更"], "commit_groups": [["65da6dd1d", "a1b2cf095", "bf2efc55d", "d898edf4f", "e4865bbdc", "ecb533af6", "fcaf29d87"]], "identity_text": "Fix dumping of views that contain only a VALUES list to handle cases where a view output column has been renamed (Tom Lane)", "commit_aliases": ["65da6dd1d", "a1b2cf095", "bf2efc55d", "d898edf4f", "e4865bbdc", "ecb533af6", "fcaf29d87"], "source_commits": ["e4865bbdc"], "source_entry_id": "9.6.17/changes/020", "db_id": "c5a470b36ead1242493daddc8fb98bc3", "patch_ids": ["d0e5f9a5954b0ba7bf2c6cded4624789"], "statement_hash": "30dd3a000cd75714571897ab68be85070f76b5e6845e37b477eb18f25418d8db", "relations": [{"rule": 2, "type": "equivalent", "target": "04dbf98c6fd89d5d83a6ee1523f36485", "evidence": {"same_day": true, "patch_ids": ["d0e5f9a5954b0ba7bf2c6cded4624789"], "statement_hash": "30dd3a000cd75714571897ab68be85070f76b5e6845e37b477eb18f25418d8db"}}, {"rule": 2, "type": "equivalent", "target": "4e641d633934a272f25b013ed45ef490", "evidence": {"same_day": true, "patch_ids": ["d0e5f9a5954b0ba7bf2c6cded4624789"], "statement_hash": "30dd3a000cd75714571897ab68be85070f76b5e6845e37b477eb18f25418d8db"}}, {"rule": 2, "type": "equivalent", "target": "b4b2f6890a3b567f11f25ea786365222", "evidence": {"same_day": true, "patch_ids": ["d0e5f9a5954b0ba7bf2c6cded4624789"], "statement_hash": "30dd3a000cd75714571897ab68be85070f76b5e6845e37b477eb18f25418d8db"}}, {"rule": 2, "type": "equivalent", "target": "d463514a5b782724319f0c99cd0e05d3", "evidence": {"same_day": true, "patch_ids": ["d0e5f9a5954b0ba7bf2c6cded4624789"], "statement_hash": "30dd3a000cd75714571897ab68be85070f76b5e6845e37b477eb18f25418d8db"}}, {"rule": 2, "type": "equivalent", "target": "dc0527aebbd5c1db7a8a5297167be3f1", "evidence": {"same_day": true, "patch_ids": ["d0e5f9a5954b0ba7bf2c6cded4624789"], "statement_hash": "30dd3a000cd75714571897ab68be85070f76b5e6845e37b477eb18f25418d8db"}}], "version": "9.6.17", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "b4b2f6890a3b567f11f25ea786365222", "kind": "equivalent", "version": "12.2", "label": "12.2", "title": "修复仅包含 VALUES 列表的视图的转储，使其能够处理视图输出列被重命名的情况", "evidence": {"same_day": true, "patch_ids": ["d0e5f9a5954b0ba7bf2c6cded4624789"], "statement_hash": "30dd3a000cd75714571897ab68be85070f76b5e6845e37b477eb18f25418d8db"}, "url": "/docs/compare/?release=12.2#12.2-6951d1f6b70962f5", "source_url": "/docs/release/12.2/#id-1.11.6.26.5"}, {"db_id": "dc0527aebbd5c1db7a8a5297167be3f1", "kind": "equivalent", "version": "11.7", "label": "11.7", "title": "修复仅包含 VALUES 列表的视图的转储，使其能够处理视图输出列被重命名的情况", "evidence": {"same_day": true, "patch_ids": ["d0e5f9a5954b0ba7bf2c6cded4624789"], "statement_hash": "30dd3a000cd75714571897ab68be85070f76b5e6845e37b477eb18f25418d8db"}, "url": "/docs/compare/?release=11.7#11.7-3a20ba2926c3cd68", "source_url": "/docs/release/11.7/#id-1.11.6.20.5"}, {"db_id": "04dbf98c6fd89d5d83a6ee1523f36485", "kind": "equivalent", "version": "10.12", "label": "10.12", "title": "修复仅包含 VALUES 列表的视图的转储，使其能够处理视图输出列被重命名的情况", "evidence": {"same_day": true, "patch_ids": ["d0e5f9a5954b0ba7bf2c6cded4624789"], "statement_hash": "30dd3a000cd75714571897ab68be85070f76b5e6845e37b477eb18f25418d8db"}, "url": "/docs/compare/?release=10.12#10.12-3a20ba2926c3cd68", "source_url": "/docs/release/10.12/#id-1.11.6.16.5"}, {"db_id": "d463514a5b782724319f0c99cd0e05d3", "kind": "equivalent", "version": "9.5.21", "label": "9.5.21", "title": "修复仅包含 VALUES 列表的视图的转储，以处理视图输出列被改名的情况", "evidence": {"same_day": true, "patch_ids": ["d0e5f9a5954b0ba7bf2c6cded4624789"], "statement_hash": "30dd3a000cd75714571897ab68be85070f76b5e6845e37b477eb18f25418d8db"}, "url": "/docs/compare/?release=9.5.21#9.5.21-271ea55e3cdb7c40", "source_url": "/docs/release/9.5.21/#id-1.11.6.9.5"}, {"db_id": "4e641d633934a272f25b013ed45ef490", "kind": "equivalent", "version": "9.4.26", "label": "9.4.26", "title": "修复仅包含 VALUES 列表的视图的转储，以处理视图输出列被改名的情况", "evidence": {"same_day": true, "patch_ids": ["d0e5f9a5954b0ba7bf2c6cded4624789"], "statement_hash": "30dd3a000cd75714571897ab68be85070f76b5e6845e37b477eb18f25418d8db"}, "url": "/docs/compare/?release=9.4.26#9.4.26-271ea55e3cdb7c40", "source_url": "/docs/release/9.4.26/#id-1.11.6.5.6"}]}, {"id": "9.6.17-c62c77f1fc1b6427", "cves": [], "html": "<p>把传入的 <code>NOTIFY</code> 消息在发送 <code>ReadyForQuery</code> 之前而不是之后传给客户端（Tom Lane）</p>\n<p>这一更改确保在使用 libpq 及行为类似它的其他客户端库时，事务期间收到的任何通知在客户端认为事务完成之时都已可用。这在实际应用中可能没有差别（反正都需要应对异步通知）；但它使构建行为可重现的测试用例更容易。</p>", "text": "把传入的 NOTIFY 消息在发送 ReadyForQuery 之前而不是之后传给客户端（Tom Lane） 这一更改确保在使用 libpq 及行为类似它的其他客户端库时，事务期间收到的任何通知在客户端认为事务完成之时都已可用。这在实际应用中可能没有差别（反正都需要应对异步通知）；但它使构建行为可重现的测试用例更容易。", "title": "把传入的 NOTIFY 消息在发送 ReadyForQuery 之前而不是之后传给客户端", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.6.17/#id-1.11.6.12.5", "source_hash": "53741ecbef9c45c8cca27f721f703a9cd58e483c8986fca31daa2903b96341d3", "section_path": ["变更"], "commit_groups": [["111298aa6", "377d1b95b", "790026972", "c47f498c9", "dbe15524b"]], "identity_text": "Transmit incoming NOTIFY messages to the client before sending ReadyForQuery, rather than after (Tom Lane) This change ensures that, with libpq and other client libraries that act similarly to it, any notifications received during a transaction will be available by the time the client thinks the transaction is complete. This probably makes no difference in practical applications (which would need to cope with asynchronous notifications in any case); but it makes it easier to build test cases with reproducible behavior.", "commit_aliases": ["111298aa6", "377d1b95b", "790026972", "c47f498c9", "dbe15524b"], "source_commits": ["111298aa6"], "source_entry_id": "9.6.17/changes/021", "db_id": "f7b4edeffd8f7e2bbd60da7e8191bcaf", "patch_ids": ["143ac7220b04444a8a549b7e07106f4c"], "statement_hash": "8312a6e591ff94226aa79fbd57a837b0f77fedcc878f005bd0cf9b138118552a", "relations": [{"rule": 2, "type": "equivalent", "target": "0d54b92cb025561e0cae46f0875d9f49", "evidence": {"same_day": true, "patch_ids": ["143ac7220b04444a8a549b7e07106f4c"], "statement_hash": "8312a6e591ff94226aa79fbd57a837b0f77fedcc878f005bd0cf9b138118552a"}}, {"rule": 2, "type": "equivalent", "target": "a39c1e72595c5bfe66bdafb5f1287cbf", "evidence": {"same_day": true, "patch_ids": ["143ac7220b04444a8a549b7e07106f4c"], "statement_hash": "8312a6e591ff94226aa79fbd57a837b0f77fedcc878f005bd0cf9b138118552a"}}, {"rule": 2, "type": "equivalent", "target": "c119abea7e9d42151b4f9b00b579082b", "evidence": {"same_day": true, "patch_ids": ["143ac7220b04444a8a549b7e07106f4c"], "statement_hash": "8312a6e591ff94226aa79fbd57a837b0f77fedcc878f005bd0cf9b138118552a"}}], "version": "9.6.17", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "a39c1e72595c5bfe66bdafb5f1287cbf", "kind": "equivalent", "version": "12.2", "label": "12.2", "title": "在发送 ReadyForQuery 之前向客户端传送收到的 NOTIFY 消息，而非在之后发送", "evidence": {"same_day": true, "patch_ids": ["143ac7220b04444a8a549b7e07106f4c"], "statement_hash": "8312a6e591ff94226aa79fbd57a837b0f77fedcc878f005bd0cf9b138118552a"}, "url": "/docs/compare/?release=12.2#12.2-889874eb8cc1b3e7", "source_url": "/docs/release/12.2/#id-1.11.6.26.5"}, {"db_id": "0d54b92cb025561e0cae46f0875d9f49", "kind": "equivalent", "version": "11.7", "label": "11.7", "title": "在发送 ReadyForQuery 之前向客户端传送收到的 NOTIFY 消息，而非在之后发送", "evidence": {"same_day": true, "patch_ids": ["143ac7220b04444a8a549b7e07106f4c"], "statement_hash": "8312a6e591ff94226aa79fbd57a837b0f77fedcc878f005bd0cf9b138118552a"}, "url": "/docs/compare/?release=11.7#11.7-8d456906e9cde243", "source_url": "/docs/release/11.7/#id-1.11.6.20.5"}, {"db_id": "c119abea7e9d42151b4f9b00b579082b", "kind": "equivalent", "version": "10.12", "label": "10.12", "title": "在发送 ReadyForQuery 之前向客户端传送收到的 NOTIFY 消息，而非在之后发送", "evidence": {"same_day": true, "patch_ids": ["143ac7220b04444a8a549b7e07106f4c"], "statement_hash": "8312a6e591ff94226aa79fbd57a837b0f77fedcc878f005bd0cf9b138118552a"}, "url": "/docs/compare/?release=10.12#10.12-8d456906e9cde243", "source_url": "/docs/release/10.12/#id-1.11.6.16.5"}]}, {"id": "9.6.17-1eba4957cff6dc49", "cves": [], "html": "<p>允许 <span>libpq</span> 在未编译 GSSAPI 代码时也解析所有与 GSS 相关的连接参数（Tom Lane）</p>\n<p>这使行为与我们的 SSL 支持相似——很久以前我们就认为始终接受所有相关参数是个好主意，即使在特定构建中因缺少该特性而忽略或限制某些参数。</p>", "text": "允许 libpq 在未编译 GSSAPI 代码时也解析所有与 GSS 相关的连接参数（Tom Lane） 这使行为与我们的 SSL 支持相似——很久以前我们就认为始终接受所有相关参数是个好主意，即使在特定构建中因缺少该特性而忽略或限制某些参数。", "title": "允许 libpq 在未编译 GSSAPI 代码时也解析所有与 GSS 相关的连接参数", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.6.17/#id-1.11.6.12.5", "source_hash": "6bb4a12738abdd750816a2c4baebcd5ca131dcbd4bc10b862310251e5731286d", "section_path": ["变更"], "commit_groups": [["1a77ea02d", "5e22a1111", "875c7d70d", "c11bd6c10", "d09cfa3e2", "e60b480d3", "e8f60e6fe"]], "identity_text": "Allow libpq to parse all GSS-related connection parameters even when the GSSAPI code hasn't been compiled in (Tom Lane) This makes the behavior similar to our SSL support, where it was long ago deemed to be a good idea to always accept all the related parameters, even if some are ignored or restricted due to lack of the feature in a particular build.", "commit_aliases": ["1a77ea02d", "5e22a1111", "875c7d70d", "c11bd6c10", "d09cfa3e2", "e60b480d3", "e8f60e6fe"], "source_commits": ["c11bd6c10"], "source_entry_id": "9.6.17/changes/022", "db_id": "403244521d4fdb482380e481cc2ced93", "patch_ids": ["545032ece7d355adeec65ef480fad60d"], "statement_hash": "1206a1ac182d983384194ddf901975451c4f893e2c798f2df70cc5614c46e763", "relations": [{"rule": 2, "type": "equivalent", "target": "1bb2f6337ba2898734544030a669e49d", "evidence": {"same_day": true, "patch_ids": ["545032ece7d355adeec65ef480fad60d"], "statement_hash": "1206a1ac182d983384194ddf901975451c4f893e2c798f2df70cc5614c46e763"}}, {"rule": 2, "type": "equivalent", "target": "2d073031d898b2ce379669b11bf00500", "evidence": {"same_day": true, "patch_ids": ["545032ece7d355adeec65ef480fad60d"], "statement_hash": "1206a1ac182d983384194ddf901975451c4f893e2c798f2df70cc5614c46e763"}}, {"rule": 2, "type": "equivalent", "target": "484d7d42670f34504842f8b64f8610bc", "evidence": {"same_day": true, "patch_ids": ["545032ece7d355adeec65ef480fad60d"], "statement_hash": "1206a1ac182d983384194ddf901975451c4f893e2c798f2df70cc5614c46e763"}}, {"rule": 2, "type": "equivalent", "target": "784fb8e33c762755c78c61d3c0255575", "evidence": {"same_day": true, "patch_ids": ["545032ece7d355adeec65ef480fad60d"], "statement_hash": "1206a1ac182d983384194ddf901975451c4f893e2c798f2df70cc5614c46e763"}}, {"rule": 2, "type": "equivalent", "target": "b722089a0263aa3d6c363961a1789ede", "evidence": {"same_day": true, "patch_ids": ["545032ece7d355adeec65ef480fad60d"], "statement_hash": "1206a1ac182d983384194ddf901975451c4f893e2c798f2df70cc5614c46e763"}}], "version": "9.6.17", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "b722089a0263aa3d6c363961a1789ede", "kind": "equivalent", "version": "12.2", "label": "12.2", "title": "即使未编译 GSSAPI 代码，也允许 libpq 解析所有与 GSS 有关的连接参数", "evidence": {"same_day": true, "patch_ids": ["545032ece7d355adeec65ef480fad60d"], "statement_hash": "1206a1ac182d983384194ddf901975451c4f893e2c798f2df70cc5614c46e763"}, "url": "/docs/compare/?release=12.2#12.2-fe8985d3df13efcf", "source_url": "/docs/release/12.2/#id-1.11.6.26.5"}, {"db_id": "1bb2f6337ba2898734544030a669e49d", "kind": "equivalent", "version": "11.7", "label": "11.7", "title": "即使未编译 GSSAPI 代码，也允许 libpq 解析所有与 GSS 有关的连接参数", "evidence": {"same_day": true, "patch_ids": ["545032ece7d355adeec65ef480fad60d"], "statement_hash": "1206a1ac182d983384194ddf901975451c4f893e2c798f2df70cc5614c46e763"}, "url": "/docs/compare/?release=11.7#11.7-a18dd44ba61d6ab0", "source_url": "/docs/release/11.7/#id-1.11.6.20.5"}, {"db_id": "784fb8e33c762755c78c61d3c0255575", "kind": "equivalent", "version": "10.12", "label": "10.12", "title": "即使未编译 GSSAPI 代码，也允许 libpq 解析所有与 GSS 有关的连接参数", "evidence": {"same_day": true, "patch_ids": ["545032ece7d355adeec65ef480fad60d"], "statement_hash": "1206a1ac182d983384194ddf901975451c4f893e2c798f2df70cc5614c46e763"}, "url": "/docs/compare/?release=10.12#10.12-a18dd44ba61d6ab0", "source_url": "/docs/release/10.12/#id-1.11.6.16.5"}, {"db_id": "2d073031d898b2ce379669b11bf00500", "kind": "equivalent", "version": "9.5.21", "label": "9.5.21", "title": "允许 libpq 在未编译 GSSAPI 代码时也解析所有与 GSS 相关的连接参数", "evidence": {"same_day": true, "patch_ids": ["545032ece7d355adeec65ef480fad60d"], "statement_hash": "1206a1ac182d983384194ddf901975451c4f893e2c798f2df70cc5614c46e763"}, "url": "/docs/compare/?release=9.5.21#9.5.21-1eba4957cff6dc49", "source_url": "/docs/release/9.5.21/#id-1.11.6.9.5"}, {"db_id": "484d7d42670f34504842f8b64f8610bc", "kind": "equivalent", "version": "9.4.26", "label": "9.4.26", "title": "允许 libpq 在未编译 GSSAPI 代码时也解析所有与 GSS 相关的连接参数", "evidence": {"same_day": true, "patch_ids": ["545032ece7d355adeec65ef480fad60d"], "statement_hash": "1206a1ac182d983384194ddf901975451c4f893e2c798f2df70cc5614c46e763"}, "url": "/docs/compare/?release=9.4.26#9.4.26-1eba4957cff6dc49", "source_url": "/docs/release/9.4.26/#id-1.11.6.5.6"}]}, {"id": "9.6.17-0c629553afdfef1a", "cves": [], "html": "<p>修复 <span>ecpg</span> 的 <code>PGTYPEStimestamp_fmt_asc()</code> 函数中 <code>%b</code> 和 <code>%B</code> 格式代码的错误处理（Tomas Vondra）</p>\n<p>由于差一错误，这些代码会打印错误的月份名称，或者可能崩溃。</p>", "text": "修复 ecpg 的 PGTYPEStimestamp_fmt_asc() 函数中 %b 和 %B 格式代码的错误处理（Tomas Vondra） 由于差一错误，这些代码会打印错误的月份名称，或者可能崩溃。", "title": "修复 ecpg 的 PGTYPEStimestamp_fmt_asc() 函数中 %b 和 %B 格式代码的错误处理", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.6.17/#id-1.11.6.12.5", "source_hash": "cb73abd0179aff744368d094303667835d295d77290fd6eeab3f343c6f3389fd", "section_path": ["变更"], "commit_groups": [["0dafed6fe", "3ff660bbe", "9668bf5d5", "a17602de1", "c59414da7", "d9b974e99", "f71b22f53"]], "identity_text": "Fix incorrect handling of %b and %B format codes in ecpg's PGTYPEStimestamp_fmt_asc() function (Tomas Vondra) Due to an off-by-one error, these codes would print the wrong month name, or possibly crash.", "commit_aliases": ["0dafed6fe", "3ff660bbe", "9668bf5d5", "a17602de1", "c59414da7", "d9b974e99", "f71b22f53"], "source_commits": ["c59414da7"], "source_entry_id": "9.6.17/changes/023", "db_id": "ccd200283e6eaabea774bf29b3a5c9b0", "patch_ids": ["98ce3485e7421c58dabcd04707a8b4dc"], "statement_hash": "55f40e67e7ff67ce051d1e229c5b9805045fa9e0750b98da37f72bd574814bf6", "relations": [{"rule": 2, "type": "equivalent", "target": "07c9c08c3f6d8a9d7bb489a91bc7bfad", "evidence": {"same_day": true, "patch_ids": ["98ce3485e7421c58dabcd04707a8b4dc"], "statement_hash": "55f40e67e7ff67ce051d1e229c5b9805045fa9e0750b98da37f72bd574814bf6"}}, {"rule": 2, "type": "equivalent", "target": "4c483fea559a83716ed5879fc5f8ebc4", "evidence": {"same_day": true, "patch_ids": ["98ce3485e7421c58dabcd04707a8b4dc"], "statement_hash": "55f40e67e7ff67ce051d1e229c5b9805045fa9e0750b98da37f72bd574814bf6"}}, {"rule": 2, "type": "equivalent", "target": "7fc768077bbbaba7bb2800f2d9790945", "evidence": {"same_day": true, "patch_ids": ["98ce3485e7421c58dabcd04707a8b4dc"], "statement_hash": "55f40e67e7ff67ce051d1e229c5b9805045fa9e0750b98da37f72bd574814bf6"}}, {"rule": 2, "type": "equivalent", "target": "a18b89f65dd1e0d20dfd4b9c304a3ed2", "evidence": {"same_day": true, "patch_ids": ["98ce3485e7421c58dabcd04707a8b4dc"], "statement_hash": "55f40e67e7ff67ce051d1e229c5b9805045fa9e0750b98da37f72bd574814bf6"}}, {"rule": 2, "type": "equivalent", "target": "f7eb19a202cef3c275a0ac6028d63ec8", "evidence": {"same_day": true, "patch_ids": ["98ce3485e7421c58dabcd04707a8b4dc"], "statement_hash": "55f40e67e7ff67ce051d1e229c5b9805045fa9e0750b98da37f72bd574814bf6"}}], "version": "9.6.17", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "7fc768077bbbaba7bb2800f2d9790945", "kind": "equivalent", "version": "12.2", "label": "12.2", "title": "修复 ecpg 的 PGTYPEStimestamp_fmt_asc() 函数对格式代码 %b 和 %B 的不正确处理", "evidence": {"same_day": true, "patch_ids": ["98ce3485e7421c58dabcd04707a8b4dc"], "statement_hash": "55f40e67e7ff67ce051d1e229c5b9805045fa9e0750b98da37f72bd574814bf6"}, "url": "/docs/compare/?release=12.2#12.2-1e9b09723b65ec71", "source_url": "/docs/release/12.2/#id-1.11.6.26.5"}, {"db_id": "4c483fea559a83716ed5879fc5f8ebc4", "kind": "equivalent", "version": "11.7", "label": "11.7", "title": "修复 ecpg 的 PGTYPEStimestamp_fmt_asc() 函数对格式代码 %b 和 %B 的不正确处理", "evidence": {"same_day": true, "patch_ids": ["98ce3485e7421c58dabcd04707a8b4dc"], "statement_hash": "55f40e67e7ff67ce051d1e229c5b9805045fa9e0750b98da37f72bd574814bf6"}, "url": "/docs/compare/?release=11.7#11.7-fec0d969ab1ed0c5", "source_url": "/docs/release/11.7/#id-1.11.6.20.5"}, {"db_id": "f7eb19a202cef3c275a0ac6028d63ec8", "kind": "equivalent", "version": "10.12", "label": "10.12", "title": "修复 ecpg 的 PGTYPEStimestamp_fmt_asc() 函数对格式代码 %b 和 %B 的不正确处理", "evidence": {"same_day": true, "patch_ids": ["98ce3485e7421c58dabcd04707a8b4dc"], "statement_hash": "55f40e67e7ff67ce051d1e229c5b9805045fa9e0750b98da37f72bd574814bf6"}, "url": "/docs/compare/?release=10.12#10.12-fec0d969ab1ed0c5", "source_url": "/docs/release/10.12/#id-1.11.6.16.5"}, {"db_id": "a18b89f65dd1e0d20dfd4b9c304a3ed2", "kind": "equivalent", "version": "9.5.21", "label": "9.5.21", "title": "修复 ecpg 的 PGTYPEStimestamp_fmt_asc() 函数中 %b 和 %B 格式代码的错误处理", "evidence": {"same_day": true, "patch_ids": ["98ce3485e7421c58dabcd04707a8b4dc"], "statement_hash": "55f40e67e7ff67ce051d1e229c5b9805045fa9e0750b98da37f72bd574814bf6"}, "url": "/docs/compare/?release=9.5.21#9.5.21-0c629553afdfef1a", "source_url": "/docs/release/9.5.21/#id-1.11.6.9.5"}, {"db_id": "07c9c08c3f6d8a9d7bb489a91bc7bfad", "kind": "equivalent", "version": "9.4.26", "label": "9.4.26", "title": "修复 ecpg 的 PGTYPEStimestamp_fmt_asc() 函数中 %b 和 %B 格式代码的错误处理", "evidence": {"same_day": true, "patch_ids": ["98ce3485e7421c58dabcd04707a8b4dc"], "statement_hash": "55f40e67e7ff67ce051d1e229c5b9805045fa9e0750b98da37f72bd574814bf6"}, "url": "/docs/compare/?release=9.4.26#9.4.26-0c629553afdfef1a", "source_url": "/docs/release/9.4.26/#id-1.11.6.5.6"}]}, {"id": "9.6.17-dcdce388ce7b0731", "cves": [], "html": "<p>修复并行 <span>pg_dump</span>/<span>pg_restore</span> 更优雅地处理工作者进程创建失败（Tom Lane）</p>", "text": "修复并行 pg_dump/pg_restore 更优雅地处理工作者进程创建失败（Tom Lane）", "title": "修复并行 pg_dump/pg_restore 更优雅地处理工作者进程创建失败", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.6.17/#id-1.11.6.12.5", "source_hash": "9297ce6cbade008bd268013fec521839ec1a8b8b3d42f4f968b22e26010e0d94", "section_path": ["变更"], "commit_groups": [["0c84199f7", "1b78759a6", "2425f8f71", "5d60df830", "63634883f", "8b1d447a7", "cb4c04a4e"]], "identity_text": "Fix parallel pg_dump/pg_restore to more gracefully handle failure to create worker processes (Tom Lane)", "commit_aliases": ["0c84199f7", "1b78759a6", "2425f8f71", "5d60df830", "63634883f", "8b1d447a7", "cb4c04a4e"], "source_commits": ["cb4c04a4e"], "source_entry_id": "9.6.17/changes/024", "db_id": "0ab31d1c876e317b3b92455400a0ad54", "patch_ids": ["0d7f5bc545ea1e1a61a67392cf699588"], "statement_hash": "7e204789eeadc31c686e16ec9957cb9befb4b28d48d5c03d21cddfba4184ac1b", "relations": [{"rule": 2, "type": "equivalent", "target": "8a9244297667d21859c24d9abc30e876", "evidence": {"same_day": true, "patch_ids": ["0d7f5bc545ea1e1a61a67392cf699588"], "statement_hash": "7e204789eeadc31c686e16ec9957cb9befb4b28d48d5c03d21cddfba4184ac1b"}}, {"rule": 2, "type": "equivalent", "target": "a1d22ded062e9e3096bacd967cdc61ef", "evidence": {"same_day": true, "patch_ids": ["0d7f5bc545ea1e1a61a67392cf699588"], "statement_hash": "7e204789eeadc31c686e16ec9957cb9befb4b28d48d5c03d21cddfba4184ac1b"}}, {"rule": 2, "type": "equivalent", "target": "a3267b55c0fd1e4e3eb579367cfbf7d5", "evidence": {"same_day": true, "patch_ids": ["0d7f5bc545ea1e1a61a67392cf699588"], "statement_hash": "7e204789eeadc31c686e16ec9957cb9befb4b28d48d5c03d21cddfba4184ac1b"}}, {"rule": 2, "type": "equivalent", "target": "c1a394e88df8828ac55b88015435150b", "evidence": {"same_day": true, "patch_ids": ["0d7f5bc545ea1e1a61a67392cf699588"], "statement_hash": "7e204789eeadc31c686e16ec9957cb9befb4b28d48d5c03d21cddfba4184ac1b"}}, {"rule": 2, "type": "equivalent", "target": "e0a38ce313ac6d1f4adca0f715b2100c", "evidence": {"same_day": true, "patch_ids": ["0d7f5bc545ea1e1a61a67392cf699588"], "statement_hash": "7e204789eeadc31c686e16ec9957cb9befb4b28d48d5c03d21cddfba4184ac1b"}}], "version": "9.6.17", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "8a9244297667d21859c24d9abc30e876", "kind": "equivalent", "version": "12.2", "label": "12.2", "title": "修复并行 pg_dump/pg_restore，使其更妥善地处理无法创建工作进程的情况", "evidence": {"same_day": true, "patch_ids": ["0d7f5bc545ea1e1a61a67392cf699588"], "statement_hash": "7e204789eeadc31c686e16ec9957cb9befb4b28d48d5c03d21cddfba4184ac1b"}, "url": "/docs/compare/?release=12.2#12.2-e74f446ac1d82f13", "source_url": "/docs/release/12.2/#id-1.11.6.26.5"}, {"db_id": "a1d22ded062e9e3096bacd967cdc61ef", "kind": "equivalent", "version": "11.7", "label": "11.7", "title": "修复并行 pg_dump/pg_restore，使其更妥善地处理无法创建工作进程的情况", "evidence": {"same_day": true, "patch_ids": ["0d7f5bc545ea1e1a61a67392cf699588"], "statement_hash": "7e204789eeadc31c686e16ec9957cb9befb4b28d48d5c03d21cddfba4184ac1b"}, "url": "/docs/compare/?release=11.7#11.7-5ae69ff611ec986e", "source_url": "/docs/release/11.7/#id-1.11.6.20.5"}, {"db_id": "c1a394e88df8828ac55b88015435150b", "kind": "equivalent", "version": "10.12", "label": "10.12", "title": "修复并行 pg_dump/pg_restore，使其更妥善地处理无法创建工作进程的情况", "evidence": {"same_day": true, "patch_ids": ["0d7f5bc545ea1e1a61a67392cf699588"], "statement_hash": "7e204789eeadc31c686e16ec9957cb9befb4b28d48d5c03d21cddfba4184ac1b"}, "url": "/docs/compare/?release=10.12#10.12-5ae69ff611ec986e", "source_url": "/docs/release/10.12/#id-1.11.6.16.5"}, {"db_id": "a3267b55c0fd1e4e3eb579367cfbf7d5", "kind": "equivalent", "version": "9.5.21", "label": "9.5.21", "title": "修复并行 pg_dump/pg_restore 更优雅地处理工作者进程创建失败", "evidence": {"same_day": true, "patch_ids": ["0d7f5bc545ea1e1a61a67392cf699588"], "statement_hash": "7e204789eeadc31c686e16ec9957cb9befb4b28d48d5c03d21cddfba4184ac1b"}, "url": "/docs/compare/?release=9.5.21#9.5.21-dcdce388ce7b0731", "source_url": "/docs/release/9.5.21/#id-1.11.6.9.5"}, {"db_id": "e0a38ce313ac6d1f4adca0f715b2100c", "kind": "equivalent", "version": "9.4.26", "label": "9.4.26", "title": "修复并行 pg_dump/pg_restore 更优雅地处理工作者进程创建失败", "evidence": {"same_day": true, "patch_ids": ["0d7f5bc545ea1e1a61a67392cf699588"], "statement_hash": "7e204789eeadc31c686e16ec9957cb9befb4b28d48d5c03d21cddfba4184ac1b"}, "url": "/docs/compare/?release=9.4.26#9.4.26-dcdce388ce7b0731", "source_url": "/docs/release/9.4.26/#id-1.11.6.5.6"}]}, {"id": "9.6.17-a790382d436d3cc1", "cves": [], "html": "<p>防止试图通过信号终止并行 <span>pg_dump</span>/ <span>pg_restore</span> 运行时可能的崩溃或锁死（Tom Lane）</p>", "text": "防止试图通过信号终止并行 pg_dump/ pg_restore 运行时可能的崩溃或锁死（Tom Lane）", "title": "防止试图通过信号终止并行 pg_dump/ pg_restore 运行时可能的崩溃或锁死", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.6.17/#id-1.11.6.12.5", "source_hash": "5fcb64b657a1d223789fd2fb7a27ea6bb84a238b5886bac1410bb8d3a04be770", "section_path": ["变更"], "commit_groups": [["208e262f9", "42e538fe6", "4ea5cf403", "6f6daa1be", "71b121f42", "b1392a950", "cd23a2019"]], "identity_text": "Prevent possible crash or lockup when attempting to terminate a parallel pg_dump/pg_restore run via a signal (Tom Lane)", "commit_aliases": ["208e262f9", "42e538fe6", "4ea5cf403", "6f6daa1be", "71b121f42", "b1392a950", "cd23a2019"], "source_commits": ["208e262f9"], "source_entry_id": "9.6.17/changes/025", "db_id": "30c6a89696ef02370e40ff591f5789bf", "patch_ids": ["e1cd77d183d2459836ef8973a423eb92"], "statement_hash": "4c13e614942a0d58d6085d345b46b5cdafb2d5bc4ba245d4f7cae8ffa05c14ad", "relations": [{"rule": 2, "type": "equivalent", "target": "0646cf398136f66e7d5ea03ec7db8d18", "evidence": {"same_day": true, "patch_ids": ["e1cd77d183d2459836ef8973a423eb92"], "statement_hash": "4c13e614942a0d58d6085d345b46b5cdafb2d5bc4ba245d4f7cae8ffa05c14ad"}}, {"rule": 2, "type": "equivalent", "target": "1a15011a7e46a553a64c592b19223755", "evidence": {"same_day": true, "patch_ids": ["e1cd77d183d2459836ef8973a423eb92"], "statement_hash": "4c13e614942a0d58d6085d345b46b5cdafb2d5bc4ba245d4f7cae8ffa05c14ad"}}, {"rule": 2, "type": "equivalent", "target": "59290e6cad80d05142e78788b0a3d970", "evidence": {"same_day": true, "patch_ids": ["e1cd77d183d2459836ef8973a423eb92"], "statement_hash": "4c13e614942a0d58d6085d345b46b5cdafb2d5bc4ba245d4f7cae8ffa05c14ad"}}, {"rule": 2, "type": "equivalent", "target": "791b656bd54dbd56091c423512e75420", "evidence": {"same_day": true, "patch_ids": ["e1cd77d183d2459836ef8973a423eb92"], "statement_hash": "4c13e614942a0d58d6085d345b46b5cdafb2d5bc4ba245d4f7cae8ffa05c14ad"}}, {"rule": 2, "type": "equivalent", "target": "c8a304f2379323f0227ce2a1b8869c64", "evidence": {"same_day": true, "patch_ids": ["e1cd77d183d2459836ef8973a423eb92"], "statement_hash": "4c13e614942a0d58d6085d345b46b5cdafb2d5bc4ba245d4f7cae8ffa05c14ad"}}], "version": "9.6.17", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "59290e6cad80d05142e78788b0a3d970", "kind": "equivalent", "version": "12.2", "label": "12.2", "title": "防止尝试通过信号终止并行 pg_dump/pg_restore 运行时可能发生的崩溃或卡死", "evidence": {"same_day": true, "patch_ids": ["e1cd77d183d2459836ef8973a423eb92"], "statement_hash": "4c13e614942a0d58d6085d345b46b5cdafb2d5bc4ba245d4f7cae8ffa05c14ad"}, "url": "/docs/compare/?release=12.2#12.2-8e1bf144ec0b5547", "source_url": "/docs/release/12.2/#id-1.11.6.26.5"}, {"db_id": "0646cf398136f66e7d5ea03ec7db8d18", "kind": "equivalent", "version": "11.7", "label": "11.7", "title": "防止尝试通过信号终止并行 pg_dump/pg_restore 运行时可能发生的崩溃或卡死", "evidence": {"same_day": true, "patch_ids": ["e1cd77d183d2459836ef8973a423eb92"], "statement_hash": "4c13e614942a0d58d6085d345b46b5cdafb2d5bc4ba245d4f7cae8ffa05c14ad"}, "url": "/docs/compare/?release=11.7#11.7-0d312ba445ab7934", "source_url": "/docs/release/11.7/#id-1.11.6.20.5"}, {"db_id": "791b656bd54dbd56091c423512e75420", "kind": "equivalent", "version": "10.12", "label": "10.12", "title": "防止尝试通过信号终止并行 pg_dump/pg_restore 运行时可能发生的崩溃或卡死", "evidence": {"same_day": true, "patch_ids": ["e1cd77d183d2459836ef8973a423eb92"], "statement_hash": "4c13e614942a0d58d6085d345b46b5cdafb2d5bc4ba245d4f7cae8ffa05c14ad"}, "url": "/docs/compare/?release=10.12#10.12-0d312ba445ab7934", "source_url": "/docs/release/10.12/#id-1.11.6.16.5"}, {"db_id": "1a15011a7e46a553a64c592b19223755", "kind": "equivalent", "version": "9.5.21", "label": "9.5.21", "title": "防止试图通过信号终止并行 pg_dump/ pg_restore 运行时可能的崩溃或锁死", "evidence": {"same_day": true, "patch_ids": ["e1cd77d183d2459836ef8973a423eb92"], "statement_hash": "4c13e614942a0d58d6085d345b46b5cdafb2d5bc4ba245d4f7cae8ffa05c14ad"}, "url": "/docs/compare/?release=9.5.21#9.5.21-a790382d436d3cc1", "source_url": "/docs/release/9.5.21/#id-1.11.6.9.5"}, {"db_id": "c8a304f2379323f0227ce2a1b8869c64", "kind": "equivalent", "version": "9.4.26", "label": "9.4.26", "title": "防止试图通过信号终止并行 pg_dump/ pg_restore 运行时可能的崩溃或锁死", "evidence": {"same_day": true, "patch_ids": ["e1cd77d183d2459836ef8973a423eb92"], "statement_hash": "4c13e614942a0d58d6085d345b46b5cdafb2d5bc4ba245d4f7cae8ffa05c14ad"}, "url": "/docs/compare/?release=9.4.26#9.4.26-a790382d436d3cc1", "source_url": "/docs/release/9.4.26/#id-1.11.6.5.6"}]}, {"id": "9.6.17-be93656835fc86aa", "cves": [], "html": "<p>在 <span>pg_upgrade</span> 中，搜索表中不可升级数据类型时深入数组和范围内部（Tom Lane）</p>", "text": "在 pg_upgrade 中，搜索表中不可升级数据类型时深入数组和范围内部（Tom Lane）", "title": "在 pg_upgrade 中，搜索表中不可升级数据类型时深入数组和范围内部", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.6.17/#id-1.11.6.12.5", "source_hash": "507c565109d1038112f26259c4d59f0ff3b3d272974b269b9533a8c5a46d4d48", "section_path": ["变更"], "commit_groups": [["1cd57b05e", "29aeda6e4", "56c06999d", "8e4ef3287", "c443e3c43", "f378d4dac", "fb26754af"]], "identity_text": "In pg_upgrade, look inside arrays and ranges while searching for non-upgradable data types in tables (Tom Lane)", "commit_aliases": ["1cd57b05e", "29aeda6e4", "56c06999d", "8e4ef3287", "c443e3c43", "f378d4dac", "fb26754af"], "source_commits": ["f378d4dac"], "source_entry_id": "9.6.17/changes/026", "db_id": "0ab2f2ca5c2b135c457c21f3595980b8", "patch_ids": ["74d41ab4c40159181bb8920ee36a3c7e"], "statement_hash": "a5dd0a05f1c41159d81f38173b9d06bd1a19f0b19513ef285505231dcf1cba9c", "relations": [{"rule": 2, "type": "equivalent", "target": "02eab376408822d258054b57c978ee9a", "evidence": {"same_day": true, "patch_ids": ["74d41ab4c40159181bb8920ee36a3c7e"], "statement_hash": "a5dd0a05f1c41159d81f38173b9d06bd1a19f0b19513ef285505231dcf1cba9c"}}, {"rule": 2, "type": "equivalent", "target": "37b9438c61c71a41a14ec10f666bad3e", "evidence": {"same_day": true, "patch_ids": ["74d41ab4c40159181bb8920ee36a3c7e"], "statement_hash": "a5dd0a05f1c41159d81f38173b9d06bd1a19f0b19513ef285505231dcf1cba9c"}}, {"rule": 2, "type": "equivalent", "target": "74783fe19c389a77224012f635160ade", "evidence": {"same_day": true, "patch_ids": ["74d41ab4c40159181bb8920ee36a3c7e"], "statement_hash": "a5dd0a05f1c41159d81f38173b9d06bd1a19f0b19513ef285505231dcf1cba9c"}}, {"rule": 2, "type": "equivalent", "target": "904360e0029d096e5daae91d6704e4d5", "evidence": {"same_day": true, "patch_ids": ["74d41ab4c40159181bb8920ee36a3c7e"], "statement_hash": "a5dd0a05f1c41159d81f38173b9d06bd1a19f0b19513ef285505231dcf1cba9c"}}, {"rule": 2, "type": "equivalent", "target": "d375731f1521db7f32c2863cc0c09f10", "evidence": {"same_day": true, "patch_ids": ["74d41ab4c40159181bb8920ee36a3c7e"], "statement_hash": "a5dd0a05f1c41159d81f38173b9d06bd1a19f0b19513ef285505231dcf1cba9c"}}], "version": "9.6.17", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "02eab376408822d258054b57c978ee9a", "kind": "equivalent", "version": "12.2", "label": "12.2", "title": "在 pg_upgrade 搜索表中不可升级的数据类型时，检查数组和范围的内部类型", "evidence": {"same_day": true, "patch_ids": ["74d41ab4c40159181bb8920ee36a3c7e"], "statement_hash": "a5dd0a05f1c41159d81f38173b9d06bd1a19f0b19513ef285505231dcf1cba9c"}, "url": "/docs/compare/?release=12.2#12.2-f82145fb208b3b57", "source_url": "/docs/release/12.2/#id-1.11.6.26.5"}, {"db_id": "37b9438c61c71a41a14ec10f666bad3e", "kind": "equivalent", "version": "11.7", "label": "11.7", "title": "在 pg_upgrade 搜索表中不可升级的数据类型时，检查数组和范围的内部类型", "evidence": {"same_day": true, "patch_ids": ["74d41ab4c40159181bb8920ee36a3c7e"], "statement_hash": "a5dd0a05f1c41159d81f38173b9d06bd1a19f0b19513ef285505231dcf1cba9c"}, "url": "/docs/compare/?release=11.7#11.7-41d9427b28e0b0b3", "source_url": "/docs/release/11.7/#id-1.11.6.20.5"}, {"db_id": "74783fe19c389a77224012f635160ade", "kind": "equivalent", "version": "10.12", "label": "10.12", "title": "在 pg_upgrade 搜索表中不可升级的数据类型时，检查数组和范围的内部类型", "evidence": {"same_day": true, "patch_ids": ["74d41ab4c40159181bb8920ee36a3c7e"], "statement_hash": "a5dd0a05f1c41159d81f38173b9d06bd1a19f0b19513ef285505231dcf1cba9c"}, "url": "/docs/compare/?release=10.12#10.12-41d9427b28e0b0b3", "source_url": "/docs/release/10.12/#id-1.11.6.16.5"}, {"db_id": "904360e0029d096e5daae91d6704e4d5", "kind": "equivalent", "version": "9.5.21", "label": "9.5.21", "title": "在 pg_upgrade 中，搜索表中不可升级数据类型时深入数组和范围内部", "evidence": {"same_day": true, "patch_ids": ["74d41ab4c40159181bb8920ee36a3c7e"], "statement_hash": "a5dd0a05f1c41159d81f38173b9d06bd1a19f0b19513ef285505231dcf1cba9c"}, "url": "/docs/compare/?release=9.5.21#9.5.21-be93656835fc86aa", "source_url": "/docs/release/9.5.21/#id-1.11.6.9.5"}, {"db_id": "d375731f1521db7f32c2863cc0c09f10", "kind": "equivalent", "version": "9.4.26", "label": "9.4.26", "title": "在 pg_upgrade 中，搜索表中不可升级数据类型时深入数组和范围内部", "evidence": {"same_day": true, "patch_ids": ["74d41ab4c40159181bb8920ee36a3c7e"], "statement_hash": "a5dd0a05f1c41159d81f38173b9d06bd1a19f0b19513ef285505231dcf1cba9c"}, "url": "/docs/compare/?release=9.4.26#9.4.26-be93656835fc86aa", "source_url": "/docs/release/9.4.26/#id-1.11.6.5.6"}]}, {"id": "9.6.17-b082d655815777b8", "cves": [], "html": "<p>对 <span>createuser</span> 的 <code>--connection-limit</code> 选项应用更彻底的语法检查（Álvaro Herrera）</p>", "text": "对 createuser 的 --connection-limit 选项应用更彻底的语法检查（Álvaro Herrera）", "title": "对 createuser 的 --connection-limit 选项应用更彻底的语法检查", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.6.17/#id-1.11.6.12.5", "source_hash": "c55018da922aee17b64a80fb3753da5b9fd2248524891309840afc771b7f7442", "section_path": ["变更"], "commit_groups": [["163161723", "1b2ae4bcd", "5575fc208", "6f1e443a6", "87d014da9", "8fa8e0115", "ca902add6"]], "identity_text": "Apply more thorough syntax checking to createuser's --connection-limit option (Álvaro Herrera)", "commit_aliases": ["163161723", "1b2ae4bcd", "5575fc208", "6f1e443a6", "87d014da9", "8fa8e0115", "ca902add6"], "source_commits": ["5575fc208"], "source_entry_id": "9.6.17/changes/027", "db_id": "f24349c048fce4cf9edd50066318ee95", "patch_ids": ["82bbe077a5af18f2fb190df9988f8463"], "statement_hash": "582979dc3b176f6fe8326b28f8781ab6c9c1284e0a8238baca9f056232b0a7bf", "relations": [{"rule": 2, "type": "equivalent", "target": "251c97e39a1665d69d24ec758192362f", "evidence": {"same_day": true, "patch_ids": ["82bbe077a5af18f2fb190df9988f8463"], "statement_hash": "582979dc3b176f6fe8326b28f8781ab6c9c1284e0a8238baca9f056232b0a7bf"}}, {"rule": 2, "type": "equivalent", "target": "4ceac8f8c708a57d280435a5930bf355", "evidence": {"same_day": true, "patch_ids": ["82bbe077a5af18f2fb190df9988f8463"], "statement_hash": "582979dc3b176f6fe8326b28f8781ab6c9c1284e0a8238baca9f056232b0a7bf"}}, {"rule": 2, "type": "equivalent", "target": "6ec6a13d850db767e6e2536e23768de0", "evidence": {"same_day": true, "patch_ids": ["82bbe077a5af18f2fb190df9988f8463"], "statement_hash": "582979dc3b176f6fe8326b28f8781ab6c9c1284e0a8238baca9f056232b0a7bf"}}, {"rule": 2, "type": "equivalent", "target": "810a38c8206fd67caad1e272734dbdb1", "evidence": {"same_day": true, "patch_ids": ["82bbe077a5af18f2fb190df9988f8463"], "statement_hash": "582979dc3b176f6fe8326b28f8781ab6c9c1284e0a8238baca9f056232b0a7bf"}}, {"rule": 2, "type": "equivalent", "target": "d397985b8c27d118d2429c51e75259be", "evidence": {"same_day": true, "patch_ids": ["82bbe077a5af18f2fb190df9988f8463"], "statement_hash": "582979dc3b176f6fe8326b28f8781ab6c9c1284e0a8238baca9f056232b0a7bf"}}], "version": "9.6.17", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "810a38c8206fd67caad1e272734dbdb1", "kind": "equivalent", "version": "12.2", "label": "12.2", "title": "对 createuser 的 --connection-limit 选项进行更全面的语法检查", "evidence": {"same_day": true, "patch_ids": ["82bbe077a5af18f2fb190df9988f8463"], "statement_hash": "582979dc3b176f6fe8326b28f8781ab6c9c1284e0a8238baca9f056232b0a7bf"}, "url": "/docs/compare/?release=12.2#12.2-3c91cc41c205a9fc", "source_url": "/docs/release/12.2/#id-1.11.6.26.5"}, {"db_id": "4ceac8f8c708a57d280435a5930bf355", "kind": "equivalent", "version": "11.7", "label": "11.7", "title": "对 createuser 的 --connection-limit 选项进行更全面的语法检查", "evidence": {"same_day": true, "patch_ids": ["82bbe077a5af18f2fb190df9988f8463"], "statement_hash": "582979dc3b176f6fe8326b28f8781ab6c9c1284e0a8238baca9f056232b0a7bf"}, "url": "/docs/compare/?release=11.7#11.7-371020823f41ae89", "source_url": "/docs/release/11.7/#id-1.11.6.20.5"}, {"db_id": "6ec6a13d850db767e6e2536e23768de0", "kind": "equivalent", "version": "10.12", "label": "10.12", "title": "对 createuser 的 --connection-limit 选项进行更全面的语法检查", "evidence": {"same_day": true, "patch_ids": ["82bbe077a5af18f2fb190df9988f8463"], "statement_hash": "582979dc3b176f6fe8326b28f8781ab6c9c1284e0a8238baca9f056232b0a7bf"}, "url": "/docs/compare/?release=10.12#10.12-371020823f41ae89", "source_url": "/docs/release/10.12/#id-1.11.6.16.5"}, {"db_id": "251c97e39a1665d69d24ec758192362f", "kind": "equivalent", "version": "9.5.21", "label": "9.5.21", "title": "对 createuser 的 --connection-limit 选项应用更彻底的语法检查", "evidence": {"same_day": true, "patch_ids": ["82bbe077a5af18f2fb190df9988f8463"], "statement_hash": "582979dc3b176f6fe8326b28f8781ab6c9c1284e0a8238baca9f056232b0a7bf"}, "url": "/docs/compare/?release=9.5.21#9.5.21-b082d655815777b8", "source_url": "/docs/release/9.5.21/#id-1.11.6.9.5"}, {"db_id": "d397985b8c27d118d2429c51e75259be", "kind": "equivalent", "version": "9.4.26", "label": "9.4.26", "title": "对 createuser 的 --connection-limit 选项应用更彻底的语法检查", "evidence": {"same_day": true, "patch_ids": ["82bbe077a5af18f2fb190df9988f8463"], "statement_hash": "582979dc3b176f6fe8326b28f8781ab6c9c1284e0a8238baca9f056232b0a7bf"}, "url": "/docs/compare/?release=9.4.26#9.4.26-b082d655815777b8", "source_url": "/docs/release/9.4.26/#id-1.11.6.5.6"}]}, {"id": "9.6.17-4782f6a441481636", "cves": [], "html": "<p>避免 <code>postgres_fdw</code> 尝试向远程服务器发送诸如 <code>UPDATE remote_tab SET (x,y) = (SELECT ...)</code> 之类的命令时崩溃（Tom Lane）</p>", "text": "避免 postgres_fdw 尝试向远程服务器发送诸如 UPDATE remote_tab SET (x,y) = (SELECT ...) 之类的命令时崩溃（Tom Lane）", "title": "避免 postgres_fdw 尝试向远程服务器发送诸如 UPDATE remote_tab SET (x,y) = (SELECT ...) 之类的命令时崩溃", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.6.17/#id-1.11.6.12.5", "source_hash": "7413f6b413adabc2adc14d23c8e24a6d268f9b0cebe99f4c13790a8ea74b5fbf", "section_path": ["变更"], "commit_groups": [["215824f91", "43a648f57", "5220ced0d", "603e03b4c", "7294f99a0"]], "identity_text": "Avoid crash in postgres_fdw when trying to send a command like UPDATE remote_tab SET (x,y) = (SELECT ...) to the remote server (Tom Lane)", "commit_aliases": ["215824f91", "43a648f57", "5220ced0d", "603e03b4c", "7294f99a0"], "source_commits": ["43a648f57"], "source_entry_id": "9.6.17/changes/028", "db_id": "e27112c0d6245df3a5108ead7215cfd0", "patch_ids": ["5040564ec8a1a3c07025a342dbe47d2a"], "statement_hash": "d24bc08f7ca52c7726e29023ac359690d8b71936f3627a5f64f27acc39488998", "relations": [{"rule": 2, "type": "equivalent", "target": "1b18a0c8007f1ac294823092ae270aae", "evidence": {"same_day": true, "patch_ids": ["5040564ec8a1a3c07025a342dbe47d2a"], "statement_hash": "d24bc08f7ca52c7726e29023ac359690d8b71936f3627a5f64f27acc39488998"}}, {"rule": 2, "type": "equivalent", "target": "47bda0c9b65e721eb9e7e84b25109437", "evidence": {"same_day": true, "patch_ids": ["5040564ec8a1a3c07025a342dbe47d2a"], "statement_hash": "d24bc08f7ca52c7726e29023ac359690d8b71936f3627a5f64f27acc39488998"}}, {"rule": 2, "type": "equivalent", "target": "7f3c7ba755d87c1bdb76fee6cb3e78c2", "evidence": {"same_day": true, "patch_ids": ["5040564ec8a1a3c07025a342dbe47d2a"], "statement_hash": "d24bc08f7ca52c7726e29023ac359690d8b71936f3627a5f64f27acc39488998"}}], "version": "9.6.17", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "7f3c7ba755d87c1bdb76fee6cb3e78c2", "kind": "equivalent", "version": "12.2", "label": "12.2", "title": "避免 postgres_fdw 尝试向远程服务器发送 UPDATE remote_tab SET (x,y) = (SELECT ...) 之类命令时发生崩溃", "evidence": {"same_day": true, "patch_ids": ["5040564ec8a1a3c07025a342dbe47d2a"], "statement_hash": "d24bc08f7ca52c7726e29023ac359690d8b71936f3627a5f64f27acc39488998"}, "url": "/docs/compare/?release=12.2#12.2-a9eafd86a4d8d535", "source_url": "/docs/release/12.2/#id-1.11.6.26.5"}, {"db_id": "1b18a0c8007f1ac294823092ae270aae", "kind": "equivalent", "version": "11.7", "label": "11.7", "title": "避免 postgres_fdw 尝试向远程服务器发送 UPDATE remote_tab SET (x,y) = (SELECT ...) 之类命令时发生崩溃", "evidence": {"same_day": true, "patch_ids": ["5040564ec8a1a3c07025a342dbe47d2a"], "statement_hash": "d24bc08f7ca52c7726e29023ac359690d8b71936f3627a5f64f27acc39488998"}, "url": "/docs/compare/?release=11.7#11.7-967ee5bb1eff39ff", "source_url": "/docs/release/11.7/#id-1.11.6.20.5"}, {"db_id": "47bda0c9b65e721eb9e7e84b25109437", "kind": "equivalent", "version": "10.12", "label": "10.12", "title": "避免 postgres_fdw 尝试向远程服务器发送 UPDATE remote_tab SET (x,y) = (SELECT ...) 之类命令时发生崩溃", "evidence": {"same_day": true, "patch_ids": ["5040564ec8a1a3c07025a342dbe47d2a"], "statement_hash": "d24bc08f7ca52c7726e29023ac359690d8b71936f3627a5f64f27acc39488998"}, "url": "/docs/compare/?release=10.12#10.12-967ee5bb1eff39ff", "source_url": "/docs/release/10.12/#id-1.11.6.16.5"}]}, {"id": "9.6.17-a7dcf58cc8a56710", "cves": [], "html": "<p>在 <code>contrib/dict_int</code> 中，拒绝小于一的 <code>maxlen</code> 设置（Tomas Vondra）</p>\n<p>这防止了该参数的愚蠢设置可能导致的崩溃。</p>", "text": "在 contrib/dict_int 中，拒绝小于一的 maxlen 设置（Tomas Vondra） 这防止了该参数的愚蠢设置可能导致的崩溃。", "title": "在 contrib/dict_int 中，拒绝小于一的 maxlen 设置", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.6.17/#id-1.11.6.12.5", "source_hash": "3adc0776daf9fa8018174f6f048b202a5d4a675bb49458ccba5f578bd5e619a0", "section_path": ["变更"], "commit_groups": [["267eb954c", "44381b1af", "46ce37b67", "a2fdeb786", "a8a8c6b29", "b52739436", "fabdad822"]], "identity_text": "In contrib/dict_int, reject maxlen settings less than one (Tomas Vondra) This prevents a possible crash with silly settings for that parameter.", "commit_aliases": ["267eb954c", "44381b1af", "46ce37b67", "a2fdeb786", "a8a8c6b29", "b52739436", "fabdad822"], "source_commits": ["fabdad822"], "source_entry_id": "9.6.17/changes/029", "db_id": "c5e06cb8326bc8a725a74efea95e71ec", "patch_ids": ["78950363d28b5b851c829de00fe014dd"], "statement_hash": "d3ed30d197b4f05dcc2cc52d1553b7542cc1246fc43ff2c7d37678facadf864b", "relations": [{"rule": 2, "type": "equivalent", "target": "58302165faa498ba63d2b7016ca2c1f1", "evidence": {"same_day": true, "patch_ids": ["78950363d28b5b851c829de00fe014dd"], "statement_hash": "d3ed30d197b4f05dcc2cc52d1553b7542cc1246fc43ff2c7d37678facadf864b"}}, {"rule": 2, "type": "equivalent", "target": "96dd0d425154ac899e6e4b526f92e194", "evidence": {"same_day": true, "patch_ids": ["78950363d28b5b851c829de00fe014dd"], "statement_hash": "d3ed30d197b4f05dcc2cc52d1553b7542cc1246fc43ff2c7d37678facadf864b"}}, {"rule": 2, "type": "equivalent", "target": "a8e549afa20e818e690acee052bb0448", "evidence": {"same_day": true, "patch_ids": ["78950363d28b5b851c829de00fe014dd"], "statement_hash": "d3ed30d197b4f05dcc2cc52d1553b7542cc1246fc43ff2c7d37678facadf864b"}}, {"rule": 2, "type": "equivalent", "target": "bf83de008875737dca0e646e1d486e02", "evidence": {"same_day": true, "patch_ids": ["78950363d28b5b851c829de00fe014dd"], "statement_hash": "d3ed30d197b4f05dcc2cc52d1553b7542cc1246fc43ff2c7d37678facadf864b"}}, {"rule": 2, "type": "equivalent", "target": "ed1985f91bf6854da58a13ad7b975fa2", "evidence": {"same_day": true, "patch_ids": ["78950363d28b5b851c829de00fe014dd"], "statement_hash": "d3ed30d197b4f05dcc2cc52d1553b7542cc1246fc43ff2c7d37678facadf864b"}}], "version": "9.6.17", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "ed1985f91bf6854da58a13ad7b975fa2", "kind": "equivalent", "version": "12.2", "label": "12.2", "title": "在 contrib/dict_int 中，拒绝小于一的 maxlen 设置", "evidence": {"same_day": true, "patch_ids": ["78950363d28b5b851c829de00fe014dd"], "statement_hash": "d3ed30d197b4f05dcc2cc52d1553b7542cc1246fc43ff2c7d37678facadf864b"}, "url": "/docs/compare/?release=12.2#12.2-7cdd017124b2400a", "source_url": "/docs/release/12.2/#id-1.11.6.26.5"}, {"db_id": "58302165faa498ba63d2b7016ca2c1f1", "kind": "equivalent", "version": "11.7", "label": "11.7", "title": "在 contrib/dict_int 中，拒绝小于一的 maxlen 设置", "evidence": {"same_day": true, "patch_ids": ["78950363d28b5b851c829de00fe014dd"], "statement_hash": "d3ed30d197b4f05dcc2cc52d1553b7542cc1246fc43ff2c7d37678facadf864b"}, "url": "/docs/compare/?release=11.7#11.7-a7dcf58cc8a56710", "source_url": "/docs/release/11.7/#id-1.11.6.20.5"}, {"db_id": "bf83de008875737dca0e646e1d486e02", "kind": "equivalent", "version": "10.12", "label": "10.12", "title": "在 contrib/dict_int 中，拒绝小于一的 maxlen 设置", "evidence": {"same_day": true, "patch_ids": ["78950363d28b5b851c829de00fe014dd"], "statement_hash": "d3ed30d197b4f05dcc2cc52d1553b7542cc1246fc43ff2c7d37678facadf864b"}, "url": "/docs/compare/?release=10.12#10.12-a7dcf58cc8a56710", "source_url": "/docs/release/10.12/#id-1.11.6.16.5"}, {"db_id": "96dd0d425154ac899e6e4b526f92e194", "kind": "equivalent", "version": "9.5.21", "label": "9.5.21", "title": "在 contrib/dict_int 中，拒绝小于一的 maxlen 设置", "evidence": {"same_day": true, "patch_ids": ["78950363d28b5b851c829de00fe014dd"], "statement_hash": "d3ed30d197b4f05dcc2cc52d1553b7542cc1246fc43ff2c7d37678facadf864b"}, "url": "/docs/compare/?release=9.5.21#9.5.21-a7dcf58cc8a56710", "source_url": "/docs/release/9.5.21/#id-1.11.6.9.5"}, {"db_id": "a8e549afa20e818e690acee052bb0448", "kind": "equivalent", "version": "9.4.26", "label": "9.4.26", "title": "在 contrib/dict_int 中，拒绝小于一的 maxlen 设置", "evidence": {"same_day": true, "patch_ids": ["78950363d28b5b851c829de00fe014dd"], "statement_hash": "d3ed30d197b4f05dcc2cc52d1553b7542cc1246fc43ff2c7d37678facadf864b"}, "url": "/docs/compare/?release=9.4.26#9.4.26-a7dcf58cc8a56710", "source_url": "/docs/release/9.4.26/#id-1.11.6.5.6"}]}, {"id": "9.6.17-765b25a9800cd9d2", "cves": [], "html": "<p>禁止 <code>contrib/tablefunc</code> 的 <code>crosstab()</code> 函数中的 NULL 类别值（Joe Conway）</p>\n<p>这种情况从来就不能正常工作，而且在某些平台上会崩溃。</p>", "text": "禁止 contrib/tablefunc 的 crosstab() 函数中的 NULL 类别值（Joe Conway） 这种情况从来就不能正常工作，而且在某些平台上会崩溃。", "title": "禁止 contrib/tablefunc 的 crosstab() 函数中的 NULL 类别值", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.6.17/#id-1.11.6.12.5", "source_hash": "2f2dbc7486f1dbc6a2455690eb9820298baef953d4326e31d0b555c6c121ed90", "section_path": ["变更"], "commit_groups": [["3757c1640", "4a3cdb531", "70fc6c4ef", "81be0c57e", "b5e7569dd", "d5b9c2baf", "f49e5efbc"]], "identity_text": "Disallow NULL category values in contrib/tablefunc's crosstab() function (Joe Conway) This case never worked usefully, and it would crash on some platforms.", "commit_aliases": ["3757c1640", "4a3cdb531", "70fc6c4ef", "81be0c57e", "b5e7569dd", "d5b9c2baf", "f49e5efbc"], "source_commits": ["3757c1640"], "source_entry_id": "9.6.17/changes/030", "db_id": "0c98a8da40ed6ad88d98ca9f21729dfc", "patch_ids": ["f2a9c1eb425c6456d03f47fabd3d3e7e"], "statement_hash": "0bde96774dd728bfb5560fb48ede623d28e36ff4adc4a371bf0dd6f6456a87fe", "relations": [{"rule": 2, "type": "equivalent", "target": "09f5d81b24b38998d7a990a50ac72fc3", "evidence": {"same_day": true, "patch_ids": ["f2a9c1eb425c6456d03f47fabd3d3e7e"], "statement_hash": "0bde96774dd728bfb5560fb48ede623d28e36ff4adc4a371bf0dd6f6456a87fe"}}, {"rule": 2, "type": "equivalent", "target": "0b8ef0b2e246e06e7f1a9fc3eaf980ff", "evidence": {"same_day": true, "patch_ids": ["f2a9c1eb425c6456d03f47fabd3d3e7e"], "statement_hash": "0bde96774dd728bfb5560fb48ede623d28e36ff4adc4a371bf0dd6f6456a87fe"}}, {"rule": 2, "type": "equivalent", "target": "23016bbb0168f2db4667294c322483f7", "evidence": {"same_day": true, "patch_ids": ["f2a9c1eb425c6456d03f47fabd3d3e7e"], "statement_hash": "0bde96774dd728bfb5560fb48ede623d28e36ff4adc4a371bf0dd6f6456a87fe"}}, {"rule": 2, "type": "equivalent", "target": "b22fe0463a8bcce1b8fec6a9c289d8b5", "evidence": {"same_day": true, "patch_ids": ["f2a9c1eb425c6456d03f47fabd3d3e7e"], "statement_hash": "0bde96774dd728bfb5560fb48ede623d28e36ff4adc4a371bf0dd6f6456a87fe"}}, {"rule": 2, "type": "equivalent", "target": "f83454331b5ef1e28904b1610d5ddd72", "evidence": {"same_day": true, "patch_ids": ["f2a9c1eb425c6456d03f47fabd3d3e7e"], "statement_hash": "0bde96774dd728bfb5560fb48ede623d28e36ff4adc4a371bf0dd6f6456a87fe"}}], "version": "9.6.17", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "23016bbb0168f2db4667294c322483f7", "kind": "equivalent", "version": "12.2", "label": "12.2", "title": "在 contrib/tablefunc 的 crosstab() 函数中禁止 NULL 类别值", "evidence": {"same_day": true, "patch_ids": ["f2a9c1eb425c6456d03f47fabd3d3e7e"], "statement_hash": "0bde96774dd728bfb5560fb48ede623d28e36ff4adc4a371bf0dd6f6456a87fe"}, "url": "/docs/compare/?release=12.2#12.2-1cc3d7186ea0c38f", "source_url": "/docs/release/12.2/#id-1.11.6.26.5"}, {"db_id": "b22fe0463a8bcce1b8fec6a9c289d8b5", "kind": "equivalent", "version": "11.7", "label": "11.7", "title": "在 contrib/tablefunc 的 crosstab() 函数中禁止 NULL 类别值", "evidence": {"same_day": true, "patch_ids": ["f2a9c1eb425c6456d03f47fabd3d3e7e"], "statement_hash": "0bde96774dd728bfb5560fb48ede623d28e36ff4adc4a371bf0dd6f6456a87fe"}, "url": "/docs/compare/?release=11.7#11.7-24a922487b468ce3", "source_url": "/docs/release/11.7/#id-1.11.6.20.5"}, {"db_id": "f83454331b5ef1e28904b1610d5ddd72", "kind": "equivalent", "version": "10.12", "label": "10.12", "title": "在 contrib/tablefunc 的 crosstab() 函数中禁止 NULL 类别值", "evidence": {"same_day": true, "patch_ids": ["f2a9c1eb425c6456d03f47fabd3d3e7e"], "statement_hash": "0bde96774dd728bfb5560fb48ede623d28e36ff4adc4a371bf0dd6f6456a87fe"}, "url": "/docs/compare/?release=10.12#10.12-24a922487b468ce3", "source_url": "/docs/release/10.12/#id-1.11.6.16.5"}, {"db_id": "09f5d81b24b38998d7a990a50ac72fc3", "kind": "equivalent", "version": "9.5.21", "label": "9.5.21", "title": "禁止 contrib/tablefunc 的 crosstab() 函数中的 NULL 类别值", "evidence": {"same_day": true, "patch_ids": ["f2a9c1eb425c6456d03f47fabd3d3e7e"], "statement_hash": "0bde96774dd728bfb5560fb48ede623d28e36ff4adc4a371bf0dd6f6456a87fe"}, "url": "/docs/compare/?release=9.5.21#9.5.21-765b25a9800cd9d2", "source_url": "/docs/release/9.5.21/#id-1.11.6.9.5"}, {"db_id": "0b8ef0b2e246e06e7f1a9fc3eaf980ff", "kind": "equivalent", "version": "9.4.26", "label": "9.4.26", "title": "禁止 contrib/tablefunc 的 crosstab() 函数中的 NULL 类别值", "evidence": {"same_day": true, "patch_ids": ["f2a9c1eb425c6456d03f47fabd3d3e7e"], "statement_hash": "0bde96774dd728bfb5560fb48ede623d28e36ff4adc4a371bf0dd6f6456a87fe"}, "url": "/docs/compare/?release=9.4.26#9.4.26-765b25a9800cd9d2", "source_url": "/docs/release/9.4.26/#id-1.11.6.5.6"}]}, {"id": "9.6.17-6abd3d3d31b0412d", "cves": [], "html": "<p>把一些超时和统计追踪 GUC 变量标记为 <code>PGDLLIMPORT</code>，以允许扩展在 Windows 上访问它们（Pascal Legrand）</p>\n<p>这适用于 <code>idle_in_transaction_session_timeout</code>、<code>lock_timeout</code>、<code>statement_timeout</code>、<code>track_activities</code>、<code>track_counts</code> 和 <code>track_functions</code>。</p>", "text": "把一些超时和统计追踪 GUC 变量标记为 PGDLLIMPORT，以允许扩展在 Windows 上访问它们（Pascal Legrand） 这适用于 idle_in_transaction_session_timeout、lock_timeout、statement_timeout、track_activities、track_counts 和 track_functions。", "title": "把一些超时和统计追踪 GUC 变量标记为 PGDLLIMPORT，以允许扩展在 Windows 上访问它们", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.6.17/#id-1.11.6.12.5", "source_hash": "75887f284188c8ae760979f93c6cf95ade7d855faa15f574c5720ad478fdaa84", "section_path": ["变更"], "commit_groups": [["1ef7332b7", "4a49149b9", "62c9b5223", "7c7026bb7", "9740cdbe5", "dbe405b78", "ef8e6b2c2"]], "identity_text": "Mark some timeout and statistics-tracking GUC variables as PGDLLIMPORT, to allow extensions to access them on Windows (Pascal Legrand) This applies to idle_in_transaction_session_timeout, lock_timeout, statement_timeout, track_activities, track_counts, and track_functions.", "commit_aliases": ["1ef7332b7", "4a49149b9", "62c9b5223", "7c7026bb7", "9740cdbe5", "dbe405b78", "ef8e6b2c2"], "source_commits": ["9740cdbe5"], "source_entry_id": "9.6.17/changes/031", "db_id": "275acdb8831839189050f410a327525f", "patch_ids": ["f1d97a9ee24e3765b7a8b6ec9f27c91d"], "statement_hash": "22c7ce86ae7b61116cfa7cebc5eb4a1e7334fe6e0dc9dd399b62cb86d2905f2b", "relations": [{"rule": 2, "type": "equivalent", "target": "0be833c7a6c43149b3322fa3ef57a180", "evidence": {"same_day": true, "patch_ids": ["f1d97a9ee24e3765b7a8b6ec9f27c91d"], "statement_hash": "22c7ce86ae7b61116cfa7cebc5eb4a1e7334fe6e0dc9dd399b62cb86d2905f2b"}}, {"rule": 2, "type": "equivalent", "target": "54d3a8810a8ca6ccdafb8b416327d62f", "evidence": {"same_day": true, "patch_ids": ["f1d97a9ee24e3765b7a8b6ec9f27c91d"], "statement_hash": "22c7ce86ae7b61116cfa7cebc5eb4a1e7334fe6e0dc9dd399b62cb86d2905f2b"}}, {"rule": 2, "type": "equivalent", "target": "5c99c87fd84b0d7fbed665b0ed341573", "evidence": {"same_day": true, "patch_ids": ["f1d97a9ee24e3765b7a8b6ec9f27c91d"], "statement_hash": "22c7ce86ae7b61116cfa7cebc5eb4a1e7334fe6e0dc9dd399b62cb86d2905f2b"}}, {"rule": 2, "type": "equivalent", "target": "5f16f2650aa7e4372fce60e9ac6c1685", "evidence": {"same_day": true, "patch_ids": ["f1d97a9ee24e3765b7a8b6ec9f27c91d"]}}, {"rule": 2, "type": "equivalent", "target": "ccf122e4b6400ba74448f285a3129261", "evidence": {"same_day": true, "patch_ids": ["f1d97a9ee24e3765b7a8b6ec9f27c91d"], "statement_hash": "22c7ce86ae7b61116cfa7cebc5eb4a1e7334fe6e0dc9dd399b62cb86d2905f2b"}}], "version": "9.6.17", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "0be833c7a6c43149b3322fa3ef57a180", "kind": "equivalent", "version": "12.2", "label": "12.2", "title": "将某些超时和统计跟踪 GUC 变量标记为 PGDLLIMPORT，以允许扩展在 Windows 上访问它们", "evidence": {"same_day": true, "patch_ids": ["f1d97a9ee24e3765b7a8b6ec9f27c91d"], "statement_hash": "22c7ce86ae7b61116cfa7cebc5eb4a1e7334fe6e0dc9dd399b62cb86d2905f2b"}, "url": "/docs/compare/?release=12.2#12.2-3c17a110231d698f", "source_url": "/docs/release/12.2/#id-1.11.6.26.5"}, {"db_id": "5c99c87fd84b0d7fbed665b0ed341573", "kind": "equivalent", "version": "11.7", "label": "11.7", "title": "将某些超时和统计跟踪 GUC 变量标记为 PGDLLIMPORT，以允许扩展在 Windows 上访问它们", "evidence": {"same_day": true, "patch_ids": ["f1d97a9ee24e3765b7a8b6ec9f27c91d"], "statement_hash": "22c7ce86ae7b61116cfa7cebc5eb4a1e7334fe6e0dc9dd399b62cb86d2905f2b"}, "url": "/docs/compare/?release=11.7#11.7-7267b3966bed0938", "source_url": "/docs/release/11.7/#id-1.11.6.20.5"}, {"db_id": "54d3a8810a8ca6ccdafb8b416327d62f", "kind": "equivalent", "version": "10.12", "label": "10.12", "title": "将某些超时和统计跟踪 GUC 变量标记为 PGDLLIMPORT，以允许扩展在 Windows 上访问它们", "evidence": {"same_day": true, "patch_ids": ["f1d97a9ee24e3765b7a8b6ec9f27c91d"], "statement_hash": "22c7ce86ae7b61116cfa7cebc5eb4a1e7334fe6e0dc9dd399b62cb86d2905f2b"}, "url": "/docs/compare/?release=10.12#10.12-7267b3966bed0938", "source_url": "/docs/release/10.12/#id-1.11.6.16.5"}, {"db_id": "5f16f2650aa7e4372fce60e9ac6c1685", "kind": "equivalent", "version": "9.5.21", "label": "9.5.21", "title": "把一些超时和统计跟踪 GUC 变量标记为 PGDLLIMPORT，以允许扩展在 Windows 上访问它们", "evidence": {"same_day": true, "patch_ids": ["f1d97a9ee24e3765b7a8b6ec9f27c91d"]}, "url": "/docs/compare/?release=9.5.21#9.5.21-ea5c0c6eb731128b", "source_url": "/docs/release/9.5.21/#id-1.11.6.9.5"}, {"db_id": "ccf122e4b6400ba74448f285a3129261", "kind": "equivalent", "version": "9.4.26", "label": "9.4.26", "title": "把一些超时和统计追踪 GUC 变量标记为 PGDLLIMPORT，以允许扩展在 Windows 上访问它们", "evidence": {"same_day": true, "patch_ids": ["f1d97a9ee24e3765b7a8b6ec9f27c91d"], "statement_hash": "22c7ce86ae7b61116cfa7cebc5eb4a1e7334fe6e0dc9dd399b62cb86d2905f2b"}, "url": "/docs/compare/?release=9.4.26#9.4.26-6abd3d3d31b0412d", "source_url": "/docs/release/9.4.26/#id-1.11.6.5.6"}]}, {"id": "9.6.17-c82f1a69711e2d17", "cves": [], "html": "<p>修复导致 Windows 上进程间信号延迟传递的竞态条件（Amit Kapila）</p>\n<p>这导致 <code>NOTIFY</code> 中可见的时机异常，或许还有其他错误行为。</p>", "text": "修复导致 Windows 上进程间信号延迟传递的竞态条件（Amit Kapila） 这导致 NOTIFY 中可见的时机异常，或许还有其他错误行为。", "title": "修复导致 Windows 上进程间信号延迟传递的竞态条件", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.6.17/#id-1.11.6.12.5", "source_hash": "143a51e0105a2f5e72811fe4e953d7b95aeb6d832ff55b9ab0c77174dd3da1db", "section_path": ["变更"], "commit_groups": [["001362cfd", "096ea540e", "1a0c65120", "28e6a2fd6", "2ed302ab9", "7309e75fa", "df44e411c"]], "identity_text": "Fix race condition that led to delayed delivery of interprocess signals on Windows (Amit Kapila) This caused visible timing oddities in NOTIFY, and perhaps other misbehavior.", "commit_aliases": ["001362cfd", "096ea540e", "1a0c65120", "28e6a2fd6", "2ed302ab9", "7309e75fa", "df44e411c"], "source_commits": ["df44e411c"], "source_entry_id": "9.6.17/changes/032", "db_id": "5c95b7fcd1938c3b6d9d9b8864ca7de5", "patch_ids": ["035339dce5d3c20882b90f7584206c34"], "statement_hash": "852fd0534ba443462434c14ef978ca7af532be628ae0a3a2efa8dbf8bce71ff5", "relations": [{"rule": 2, "type": "equivalent", "target": "130639fd506c2e5c05c8d0613d6b833d", "evidence": {"same_day": true, "patch_ids": ["035339dce5d3c20882b90f7584206c34"], "statement_hash": "852fd0534ba443462434c14ef978ca7af532be628ae0a3a2efa8dbf8bce71ff5"}}, {"rule": 2, "type": "equivalent", "target": "17841ca66c8597b1454cef07840ee0d5", "evidence": {"same_day": true, "patch_ids": ["035339dce5d3c20882b90f7584206c34"], "statement_hash": "852fd0534ba443462434c14ef978ca7af532be628ae0a3a2efa8dbf8bce71ff5"}}, {"rule": 2, "type": "equivalent", "target": "8432fc6a09285ae1be5212042997e015", "evidence": {"same_day": true, "patch_ids": ["035339dce5d3c20882b90f7584206c34"], "statement_hash": "852fd0534ba443462434c14ef978ca7af532be628ae0a3a2efa8dbf8bce71ff5"}}, {"rule": 2, "type": "equivalent", "target": "9b2e01b892248d1f2f87aba1fd51276f", "evidence": {"same_day": true, "patch_ids": ["035339dce5d3c20882b90f7584206c34"], "statement_hash": "852fd0534ba443462434c14ef978ca7af532be628ae0a3a2efa8dbf8bce71ff5"}}, {"rule": 2, "type": "equivalent", "target": "e26008b230888f6d95bc4dbad7dabff1", "evidence": {"same_day": true, "patch_ids": ["035339dce5d3c20882b90f7584206c34"], "statement_hash": "852fd0534ba443462434c14ef978ca7af532be628ae0a3a2efa8dbf8bce71ff5"}}], "version": "9.6.17", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "17841ca66c8597b1454cef07840ee0d5", "kind": "equivalent", "version": "12.2", "label": "12.2", "title": "修复导致 Windows 上进程间信号延迟传递的竞争条件", "evidence": {"same_day": true, "patch_ids": ["035339dce5d3c20882b90f7584206c34"], "statement_hash": "852fd0534ba443462434c14ef978ca7af532be628ae0a3a2efa8dbf8bce71ff5"}, "url": "/docs/compare/?release=12.2#12.2-d7b8ac99f8146d46", "source_url": "/docs/release/12.2/#id-1.11.6.26.5"}, {"db_id": "9b2e01b892248d1f2f87aba1fd51276f", "kind": "equivalent", "version": "11.7", "label": "11.7", "title": "修复导致 Windows 上进程间信号延迟传递的竞争条件", "evidence": {"same_day": true, "patch_ids": ["035339dce5d3c20882b90f7584206c34"], "statement_hash": "852fd0534ba443462434c14ef978ca7af532be628ae0a3a2efa8dbf8bce71ff5"}, "url": "/docs/compare/?release=11.7#11.7-15784be332a5e34d", "source_url": "/docs/release/11.7/#id-1.11.6.20.5"}, {"db_id": "130639fd506c2e5c05c8d0613d6b833d", "kind": "equivalent", "version": "10.12", "label": "10.12", "title": "修复导致 Windows 上进程间信号延迟传递的竞争条件", "evidence": {"same_day": true, "patch_ids": ["035339dce5d3c20882b90f7584206c34"], "statement_hash": "852fd0534ba443462434c14ef978ca7af532be628ae0a3a2efa8dbf8bce71ff5"}, "url": "/docs/compare/?release=10.12#10.12-15784be332a5e34d", "source_url": "/docs/release/10.12/#id-1.11.6.16.5"}, {"db_id": "e26008b230888f6d95bc4dbad7dabff1", "kind": "equivalent", "version": "9.5.21", "label": "9.5.21", "title": "修复导致 Windows 上进程间信号延迟传递的竞态条件", "evidence": {"same_day": true, "patch_ids": ["035339dce5d3c20882b90f7584206c34"], "statement_hash": "852fd0534ba443462434c14ef978ca7af532be628ae0a3a2efa8dbf8bce71ff5"}, "url": "/docs/compare/?release=9.5.21#9.5.21-c82f1a69711e2d17", "source_url": "/docs/release/9.5.21/#id-1.11.6.9.5"}, {"db_id": "8432fc6a09285ae1be5212042997e015", "kind": "equivalent", "version": "9.4.26", "label": "9.4.26", "title": "修复导致 Windows 上进程间信号延迟传递的竞态条件", "evidence": {"same_day": true, "patch_ids": ["035339dce5d3c20882b90f7584206c34"], "statement_hash": "852fd0534ba443462434c14ef978ca7af532be628ae0a3a2efa8dbf8bce71ff5"}, "url": "/docs/compare/?release=9.4.26#9.4.26-c82f1a69711e2d17", "source_url": "/docs/release/9.4.26/#id-1.11.6.5.6"}]}, {"id": "9.6.17-fac0569c006126a6", "cves": [], "html": "<p>在 Windows 上，<code>ERROR_ACCESS_DENIED</code> 文件访问失败后重试几次（Alexander Lakhin、Tom Lane）</p>\n<p>这有助于应对目标文件已被标记为删除但尚未真正消失而导致打开失败的情况。例如，<span>pg_ctl</span> 在探测 postmaster 是否已关闭时经常因这种错误而失败。</p>", "text": "在 Windows 上，ERROR_ACCESS_DENIED 文件访问失败后重试几次（Alexander Lakhin、Tom Lane） 这有助于应对目标文件已被标记为删除但尚未真正消失而导致打开失败的情况。例如，pg_ctl 在探测 postmaster 是否已关闭时经常因这种错误而失败。", "title": "在 Windows 上，ERROR_ACCESS_DENIED 文件访问失败后重试几次", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.6.17/#id-1.11.6.12.5", "source_hash": "a6ca48ebb47ed5e5f6b9f28158bacd166e163792bad79d611b1313312a937fb6", "section_path": ["变更"], "commit_groups": [["2cf51809b", "65cb25e4f", "6d7547c21", "81b052c31", "95f43fee9", "cd0380351", "cfb2a4cce"], ["35b28d983", "5406513e9", "739201b0e", "90281a3a2", "a69f5697a", "b3c4e2418", "f1a4020ef"]], "identity_text": "On Windows, retry a few times after an ERROR_ACCESS_DENIED file access failure (Alexander Lakhin, Tom Lane) This helps cope with cases where a file open attempt fails because the targeted file is flagged for deletion but not yet actually gone. pg_ctl, for example, frequently failed with such an error when probing to see if the postmaster had shut down yet.", "commit_aliases": ["2cf51809b", "35b28d983", "5406513e9", "65cb25e4f", "6d7547c21", "739201b0e", "81b052c31", "90281a3a2", "95f43fee9", "a69f5697a", "b3c4e2418", "cd0380351", "cfb2a4cce", "f1a4020ef"], "source_commits": ["65cb25e4f", "739201b0e"], "source_entry_id": "9.6.17/changes/033", "db_id": "fc0d9ffac866b09801c18dae5e11590a", "patch_ids": ["4f7ddde8569db93f4efb985cf2c73797", "68e4da864468904995c0aca64baa124e"], "statement_hash": "16ed9ee98fe9b2fb52af29cd28ebb8aa2415c20fbc64574b03e075722d2f85a4", "relations": [{"rule": 2, "type": "equivalent", "target": "1d45d0746c2abeca715f89146c079d6e", "evidence": {"same_day": true, "patch_ids": ["4f7ddde8569db93f4efb985cf2c73797", "68e4da864468904995c0aca64baa124e"], "statement_hash": "16ed9ee98fe9b2fb52af29cd28ebb8aa2415c20fbc64574b03e075722d2f85a4"}}, {"rule": 2, "type": "equivalent", "target": "80aca2c94c46e49f87b47a2d683f97b6", "evidence": {"same_day": true, "patch_ids": ["4f7ddde8569db93f4efb985cf2c73797", "68e4da864468904995c0aca64baa124e"], "statement_hash": "16ed9ee98fe9b2fb52af29cd28ebb8aa2415c20fbc64574b03e075722d2f85a4"}}, {"rule": 2, "type": "equivalent", "target": "a372cd6f4bd6a46b1f446180790f0018", "evidence": {"same_day": true, "patch_ids": ["4f7ddde8569db93f4efb985cf2c73797", "68e4da864468904995c0aca64baa124e"], "statement_hash": "16ed9ee98fe9b2fb52af29cd28ebb8aa2415c20fbc64574b03e075722d2f85a4"}}, {"rule": 2, "type": "equivalent", "target": "b36d231a96c8ce7e12ef094f264e0d1e", "evidence": {"same_day": true, "patch_ids": ["4f7ddde8569db93f4efb985cf2c73797", "68e4da864468904995c0aca64baa124e"], "statement_hash": "16ed9ee98fe9b2fb52af29cd28ebb8aa2415c20fbc64574b03e075722d2f85a4"}}, {"rule": 2, "type": "equivalent", "target": "c95685b48848407590a5d75c6e7a9d6c", "evidence": {"same_day": true, "patch_ids": ["4f7ddde8569db93f4efb985cf2c73797", "68e4da864468904995c0aca64baa124e"], "statement_hash": "16ed9ee98fe9b2fb52af29cd28ebb8aa2415c20fbc64574b03e075722d2f85a4"}}], "version": "9.6.17", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "b36d231a96c8ce7e12ef094f264e0d1e", "kind": "equivalent", "version": "12.2", "label": "12.2", "title": "在 Windows 上，发生 ERROR_ACCESS_DENIED 文件访问失败后重试几次", "evidence": {"same_day": true, "patch_ids": ["4f7ddde8569db93f4efb985cf2c73797", "68e4da864468904995c0aca64baa124e"], "statement_hash": "16ed9ee98fe9b2fb52af29cd28ebb8aa2415c20fbc64574b03e075722d2f85a4"}, "url": "/docs/compare/?release=12.2#12.2-c7311c612ca2a77c", "source_url": "/docs/release/12.2/#id-1.11.6.26.5"}, {"db_id": "80aca2c94c46e49f87b47a2d683f97b6", "kind": "equivalent", "version": "11.7", "label": "11.7", "title": "在 Windows 上，发生 ERROR_ACCESS_DENIED 文件访问失败后重试几次", "evidence": {"same_day": true, "patch_ids": ["4f7ddde8569db93f4efb985cf2c73797", "68e4da864468904995c0aca64baa124e"], "statement_hash": "16ed9ee98fe9b2fb52af29cd28ebb8aa2415c20fbc64574b03e075722d2f85a4"}, "url": "/docs/compare/?release=11.7#11.7-d7fa0f8f390e5990", "source_url": "/docs/release/11.7/#id-1.11.6.20.5"}, {"db_id": "a372cd6f4bd6a46b1f446180790f0018", "kind": "equivalent", "version": "10.12", "label": "10.12", "title": "在 Windows 上，发生 ERROR_ACCESS_DENIED 文件访问失败后重试几次", "evidence": {"same_day": true, "patch_ids": ["4f7ddde8569db93f4efb985cf2c73797", "68e4da864468904995c0aca64baa124e"], "statement_hash": "16ed9ee98fe9b2fb52af29cd28ebb8aa2415c20fbc64574b03e075722d2f85a4"}, "url": "/docs/compare/?release=10.12#10.12-d7fa0f8f390e5990", "source_url": "/docs/release/10.12/#id-1.11.6.16.5"}, {"db_id": "1d45d0746c2abeca715f89146c079d6e", "kind": "equivalent", "version": "9.5.21", "label": "9.5.21", "title": "在 Windows 上，ERROR_ACCESS_DENIED 文件访问失败后重试几次", "evidence": {"same_day": true, "patch_ids": ["4f7ddde8569db93f4efb985cf2c73797", "68e4da864468904995c0aca64baa124e"], "statement_hash": "16ed9ee98fe9b2fb52af29cd28ebb8aa2415c20fbc64574b03e075722d2f85a4"}, "url": "/docs/compare/?release=9.5.21#9.5.21-fac0569c006126a6", "source_url": "/docs/release/9.5.21/#id-1.11.6.9.5"}, {"db_id": "c95685b48848407590a5d75c6e7a9d6c", "kind": "equivalent", "version": "9.4.26", "label": "9.4.26", "title": "在 Windows 上，ERROR_ACCESS_DENIED 文件访问失败后重试几次", "evidence": {"same_day": true, "patch_ids": ["4f7ddde8569db93f4efb985cf2c73797", "68e4da864468904995c0aca64baa124e"], "statement_hash": "16ed9ee98fe9b2fb52af29cd28ebb8aa2415c20fbc64574b03e075722d2f85a4"}, "url": "/docs/compare/?release=9.4.26#9.4.26-fac0569c006126a6", "source_url": "/docs/release/9.4.26/#id-1.11.6.5.6"}]}]}], "stats": [{"key": "all", "label": "全部变更", "count": 33}, {"key": "feature", "label": "新功能", "count": 0}, {"key": "bugfix", "label": "BUG 修复", "count": 17}, {"key": "security", "label": "安全相关", "count": 1}, {"key": "performance", "label": "性能改进", "count": 1}, {"key": "compatibility", "label": "兼容性变化", "count": 0}, {"key": "improvement", "label": "其他改进", "count": 14}], "total": 33, "release_count": 1, "cross_major": false, "cve_count": 1, "cves": [{"id": "CVE-2020-1720", "url": "https://www.postgresql.org/support/security/CVE-2020-1720/", "fixed": {"10": "10.12", "11": "11.7", "12": "12.2", "9.6": "9.6.17"}, "score": 3.1, "title": "为 ALTER ... DEPENDS ON EXTENSION 补上缺失的权限检查", "vector": "AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:L/A:N", "affected": {"10": "10", "11": "11", "12": "12", "9.6": "9.6"}, "component": "core server", "published": {"10": "2020-02-13", "11": "2020-02-13", "12": "2020-02-13", "9.6": "2020-02-13"}, "introduced": {}, "cvss_version": "3.0", "description_en": "The ALTER ... DEPENDS ON EXTENSION sub-commands do not perform authorization checks, which can allow an unprivileged user to drop any function, procedure, materialized view, index, or trigger under certain conditions. This attack is possible if an administrator has installed an extension and an unprivileged user can CREATE , or an extension owner either executes DROP EXTENSION predictably or can be convinced to execute DROP EXTENSION .\n\nThe PostgreSQL project thanks Tom Lane for reporting this problem.", "first_published": "2020-02-13", "fixed_version": "9.6.17"}], "cve_available": true, "remaining_cves": [], "security_regressions": [], "warnings": [], "candidate_count": 33, "already_in_source_count": 0, "duplicate_count": 0, "excluded_count": 0, "exclusions": [], "source_as_of": "2026-09-26", "security_as_of": "2026-09-26"}