{"format": 1, "mode": "release", "from_release": null, "to_release": {"date": "2020-02-13", "build": "10.12", "major": "10", "minor": 12, "manual": "10", "status": "stable", "doc_git": "", "version": "10.12", "eol_date": "2022-11-10", "date_text": "2020-02-13", "supported": false, "manual_url": "/docs/10/release-10-12.html", "source_url": "/docs/release/10.12/", "entry_count": 46, "placeholder": false, "content_hash": "26ba0f49b0e2708a0b85134eb3616d3a52b76c88d7528d1eb7c64b1cc0190fa9", "manual_build": "10.23", "source_as_of": "", "changes_count": 46, "doc_loaded_at": "2026-09-26T02:56:43.207462", "migration_html": "<p>对于运行 10.X 的用户，不需要执行导出/恢复。</p>\n<p>但是，如果是从早于 10.11 的版本升级，请参见<a href=\"/docs/10/release-10-11.html\" title=\"E.13. 发布版本 10.11\">第 E.13 节</a>。</p>", "compatibility_count": 0, "label": "10.12", "status_label": "历史版本", "eol": "2022-11-10", "age_days": 2421, "support_days": -1420}, "groups": [{"date": "2020-02-13", "build": "10.12", "major": "10", "minor": 12, "manual": "10", "status": "stable", "doc_git": "", "version": "10.12", "eol_date": "2022-11-10", "date_text": "2020-02-13", "supported": false, "manual_url": "/docs/10/release-10-12.html", "source_url": "/docs/release/10.12/", "entry_count": 46, "placeholder": false, "content_hash": "26ba0f49b0e2708a0b85134eb3616d3a52b76c88d7528d1eb7c64b1cc0190fa9", "manual_build": "10.23", "source_as_of": "", "changes_count": 46, "doc_loaded_at": "2026-09-26T02:56:43.207462", "migration_html": "<p>对于运行 10.X 的用户，不需要执行导出/恢复。</p>\n<p>但是，如果是从早于 10.11 的版本升级，请参见<a href=\"/docs/10/release-10-11.html\" title=\"E.13. 发布版本 10.11\">第 E.13 节</a>。</p>", "compatibility_count": 0, "label": "10.12", "status_label": "历史版本", "eol": "2022-11-10", "age_days": 2421, "support_days": -1420, "entries": [{"id": "10.12-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/10.12/#id-1.11.6.16.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": ["ac1a998ed"], "source_entry_id": "10.12/changes/001", "db_id": "98301dcc33caa482d422a6f57fbf5957", "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": "d70df0706df2abf1bfb334c185608edf", "evidence": {"same_day": true, "patch_ids": ["63b3debbf84673645f7ac9b987c30ca0"], "statement_hash": "af764eb0a2c95d985bd43741228f2ce69db83bb4a9b5160bf1ab42bbd0a0fb7e"}}, {"rule": 2, "type": "equivalent", "target": "e7c3294c568782d7f22c5b777ffb6235", "evidence": {"same_day": true, "patch_ids": ["63b3debbf84673645f7ac9b987c30ca0"], "statement_hash": "af764eb0a2c95d985bd43741228f2ce69db83bb4a9b5160bf1ab42bbd0a0fb7e"}}], "version": "10.12", "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": "e7c3294c568782d7f22c5b777ffb6235", "kind": "equivalent", "version": "9.6.17", "label": "9.6.17", "title": "为 ALTER ... DEPENDS ON EXTENSION 补上缺失的权限检查", "evidence": {"same_day": true, "patch_ids": ["63b3debbf84673645f7ac9b987c30ca0"], "statement_hash": "af764eb0a2c95d985bd43741228f2ce69db83bb4a9b5160bf1ab42bbd0a0fb7e"}, "url": "/docs/compare/?release=9.6.17#9.6.17-43b06b9c53a094d4", "source_url": "/docs/release/9.6.17/#id-1.11.6.12.5"}]}, {"id": "10.12-4cc8d69102de7bda", "cves": [], "html": "<p>修复逻辑复制订阅者代码，使其在适当情况下执行逐列 <code>UPDATE</code> 触发器（Peter Eisentraut）</p>", "text": "修复逻辑复制订阅者代码，使其在适当情况下执行逐列 UPDATE 触发器（Peter Eisentraut）", "title": "修复逻辑复制订阅者代码，使其在适当情况下执行逐列 UPDATE 触发器", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/10.12/#id-1.11.6.16.5", "source_hash": "b7c3b9398f885a499f22208a15584293c58425032cbf5a986f8214a7a7001dfa", "section_path": ["变更"], "commit_groups": [["66fd0adc7", "7474393e0", "8c2bfd9f9", "b9c130a1f"]], "identity_text": "Fix logical replication subscriber code to execute per-column UPDATE triggers when appropriate (Peter Eisentraut)", "commit_aliases": ["66fd0adc7", "7474393e0", "8c2bfd9f9", "b9c130a1f"], "source_commits": ["66fd0adc7"], "source_entry_id": "10.12/changes/002", "db_id": "3bccfbe13c31f51417687de06a0c70b4", "patch_ids": ["2b95d96f0285a9a1c09123fc77e0914e"], "statement_hash": "7f55dade108ca906f2adce1a61f7e2fc1de5e2c4ac070437375e335a96b25088", "relations": [{"rule": 2, "type": "equivalent", "target": "c4155cadba5b0e0e0c1830549802a583", "evidence": {"same_day": true, "patch_ids": ["2b95d96f0285a9a1c09123fc77e0914e"], "statement_hash": "7f55dade108ca906f2adce1a61f7e2fc1de5e2c4ac070437375e335a96b25088"}}, {"rule": 2, "type": "equivalent", "target": "ec2a0c550cf6639d2e54ed9637713c04", "evidence": {"same_day": true, "patch_ids": ["2b95d96f0285a9a1c09123fc77e0914e"], "statement_hash": "7f55dade108ca906f2adce1a61f7e2fc1de5e2c4ac070437375e335a96b25088"}}], "version": "10.12", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "ec2a0c550cf6639d2e54ed9637713c04", "kind": "equivalent", "version": "12.2", "label": "12.2", "title": "修复逻辑复制订阅者代码，使其在适当情况下执行逐列 UPDATE 触发器", "evidence": {"same_day": true, "patch_ids": ["2b95d96f0285a9a1c09123fc77e0914e"], "statement_hash": "7f55dade108ca906f2adce1a61f7e2fc1de5e2c4ac070437375e335a96b25088"}, "url": "/docs/compare/?release=12.2#12.2-45fabddf79946a04", "source_url": "/docs/release/12.2/#id-1.11.6.26.5"}, {"db_id": "c4155cadba5b0e0e0c1830549802a583", "kind": "equivalent", "version": "11.7", "label": "11.7", "title": "修复逻辑复制订阅者代码，使其在适当情况下执行逐列 UPDATE 触发器", "evidence": {"same_day": true, "patch_ids": ["2b95d96f0285a9a1c09123fc77e0914e"], "statement_hash": "7f55dade108ca906f2adce1a61f7e2fc1de5e2c4ac070437375e335a96b25088"}, "url": "/docs/compare/?release=11.7#11.7-4cc8d69102de7bda", "source_url": "/docs/release/11.7/#id-1.11.6.20.5"}]}, {"id": "10.12-ec420340a4da7fb3", "cves": [], "html": "<p>避免大事务必须溢写到许多独立临时文件时逻辑解码发生失败（Amit Khandekar）</p>", "text": "避免大事务必须溢写到许多独立临时文件时逻辑解码发生失败（Amit Khandekar）", "title": "避免大事务必须溢写到许多独立临时文件时逻辑解码发生失败", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/10.12/#id-1.11.6.16.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": ["27b5f48c7", "f9e95252a"], "source_entry_id": "10.12/changes/003", "db_id": "4c6102cafd4a5d2470d743e4aa779d47", "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": "513700ddaf2321d10b3500d50a8d1699", "evidence": {"same_day": true, "patch_ids": ["7873f3c15aeba6e04159e49c910ab6c5", "ba9fb0a08c7a9f3e14a8eef4a462b4f6"], "statement_hash": "cfce4214cc870b1929d4ffd6e6ea956c6b88212d0df22fe921f0b5bfc818b553"}}, {"rule": 2, "type": "equivalent", "target": "8152a6b8f545280daf022279f4c3d05d", "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": "10.12", "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": "8152a6b8f545280daf022279f4c3d05d", "kind": "equivalent", "version": "9.6.17", "label": "9.6.17", "title": "修复大事务必须被溢出到许多单独临时文件时逻辑解码的失败", "evidence": {"same_day": true, "patch_ids": ["7873f3c15aeba6e04159e49c910ab6c5", "ba9fb0a08c7a9f3e14a8eef4a462b4f6"], "statement_hash": "cfce4214cc870b1929d4ffd6e6ea956c6b88212d0df22fe921f0b5bfc818b553"}, "url": "/docs/compare/?release=9.6.17#9.6.17-2a411fa7a7c90adf", "source_url": "/docs/release/9.6.17/#id-1.11.6.12.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": "10.12-74d59df86d7d1c87", "cves": [], "html": "<p>修复逻辑复制订阅者处理行更新时可能发生的崩溃或数据损坏（Tom Lane，Tomas Vondra）</p>\n<p>只有当订阅者的表包含未从发布者复制、且数据类型按引用传递的列时，此缺陷才会导致可见问题。</p>", "text": "修复逻辑复制订阅者处理行更新时可能发生的崩溃或数据损坏（Tom Lane，Tomas Vondra） 只有当订阅者的表包含未从发布者复制、且数据类型按引用传递的列时，此缺陷才会导致可见问题。", "title": "修复逻辑复制订阅者处理行更新时可能发生的崩溃或数据损坏", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/10.12/#id-1.11.6.16.5", "source_hash": "edad2fd605d23058e883ccca0d03e695f850e713668c6051c37e6ba3cdffffbb", "section_path": ["变更"], "commit_groups": [["4d9ceb001", "5d3fcb53a", "a2aa224e0", "b72a44c51"]], "identity_text": "Fix possible crash or data corruption when a logical replication subscriber processes a row update (Tom Lane, Tomas Vondra) This bug caused visible problems only if the subscriber's table contained columns that were not being copied from the publisher and had pass-by-reference data types.", "commit_aliases": ["4d9ceb001", "5d3fcb53a", "a2aa224e0", "b72a44c51"], "source_commits": ["5d3fcb53a"], "source_entry_id": "10.12/changes/004", "db_id": "d2c39d4802fa027719cde8909d3c08a0", "patch_ids": ["02ccff19b2d4f2e2d050662bea496856"], "statement_hash": "6babcbe37a98b792208bff0acb48a4344bfb2a5fe0b8863f0ee01a73b2edc1e6", "relations": [{"rule": 2, "type": "equivalent", "target": "1e5d19fcd4364f3a93bebb2942cbb8a0", "evidence": {"same_day": true, "patch_ids": ["02ccff19b2d4f2e2d050662bea496856"], "statement_hash": "6babcbe37a98b792208bff0acb48a4344bfb2a5fe0b8863f0ee01a73b2edc1e6"}}, {"rule": 2, "type": "equivalent", "target": "35242c2556c9f0ca478bb15f4278d49d", "evidence": {"same_day": true, "patch_ids": ["02ccff19b2d4f2e2d050662bea496856"], "statement_hash": "6babcbe37a98b792208bff0acb48a4344bfb2a5fe0b8863f0ee01a73b2edc1e6"}}], "version": "10.12", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "35242c2556c9f0ca478bb15f4278d49d", "kind": "equivalent", "version": "12.2", "label": "12.2", "title": "修复逻辑复制订阅者处理行更新时可能发生的崩溃或数据损坏", "evidence": {"same_day": true, "patch_ids": ["02ccff19b2d4f2e2d050662bea496856"], "statement_hash": "6babcbe37a98b792208bff0acb48a4344bfb2a5fe0b8863f0ee01a73b2edc1e6"}, "url": "/docs/compare/?release=12.2#12.2-e0f225d5e9f20e2c", "source_url": "/docs/release/12.2/#id-1.11.6.26.5"}, {"db_id": "1e5d19fcd4364f3a93bebb2942cbb8a0", "kind": "equivalent", "version": "11.7", "label": "11.7", "title": "修复逻辑复制订阅者处理行更新时可能发生的崩溃或数据损坏", "evidence": {"same_day": true, "patch_ids": ["02ccff19b2d4f2e2d050662bea496856"], "statement_hash": "6babcbe37a98b792208bff0acb48a4344bfb2a5fe0b8863f0ee01a73b2edc1e6"}, "url": "/docs/compare/?release=11.7#11.7-74d59df86d7d1c87", "source_url": "/docs/release/11.7/#id-1.11.6.20.5"}]}, {"id": "10.12-5b8a15026e9f649d", "cves": [], "html": "<p>修复对已订阅关系进行 DDL 变更后逻辑复制订阅者的崩溃（Jehan-Guillaume de Rorthais，Vignesh C）</p>", "text": "修复对已订阅关系进行 DDL 变更后逻辑复制订阅者的崩溃（Jehan-Guillaume de Rorthais，Vignesh C）", "title": "修复对已订阅关系进行 DDL 变更后逻辑复制订阅者的崩溃", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/10.12/#id-1.11.6.16.5", "source_hash": "0165d15ebaa61d71b5886bc0fb23dfa2c4267ddb985ffb573dc71fc026ba7f42", "section_path": ["变更"], "commit_groups": [["046830164", "04c8a69c0", "c74111d8b", "d6eca4958"]], "identity_text": "Fix crash in logical replication subscriber after DDL changes on a subscribed relation (Jehan-Guillaume de Rorthais, Vignesh C)", "commit_aliases": ["046830164", "04c8a69c0", "c74111d8b", "d6eca4958"], "source_commits": ["d6eca4958"], "source_entry_id": "10.12/changes/005", "db_id": "201b9fbc389c9b378b57adcb0be87e12", "patch_ids": ["348ac9906853ba2e124b3a2f08df2093"], "statement_hash": "241858a4f396711ef48c2270fb1934b27a7ff4e22ea38c5d26c406b2183c2d69", "relations": [{"rule": 2, "type": "equivalent", "target": "7e454725d333fe6942f2590245eda5fe", "evidence": {"same_day": true, "patch_ids": ["348ac9906853ba2e124b3a2f08df2093"], "statement_hash": "241858a4f396711ef48c2270fb1934b27a7ff4e22ea38c5d26c406b2183c2d69"}}, {"rule": 2, "type": "equivalent", "target": "c3305570f2600a29676bd8b1b5cd26fd", "evidence": {"same_day": true, "patch_ids": ["348ac9906853ba2e124b3a2f08df2093"], "statement_hash": "241858a4f396711ef48c2270fb1934b27a7ff4e22ea38c5d26c406b2183c2d69"}}], "version": "10.12", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "c3305570f2600a29676bd8b1b5cd26fd", "kind": "equivalent", "version": "12.2", "label": "12.2", "title": "修复对已订阅关系进行 DDL 变更后逻辑复制订阅者的崩溃", "evidence": {"same_day": true, "patch_ids": ["348ac9906853ba2e124b3a2f08df2093"], "statement_hash": "241858a4f396711ef48c2270fb1934b27a7ff4e22ea38c5d26c406b2183c2d69"}, "url": "/docs/compare/?release=12.2#12.2-08e4bcb887b8c0cc", "source_url": "/docs/release/12.2/#id-1.11.6.26.5"}, {"db_id": "7e454725d333fe6942f2590245eda5fe", "kind": "equivalent", "version": "11.7", "label": "11.7", "title": "修复对已订阅关系进行 DDL 变更后逻辑复制订阅者的崩溃", "evidence": {"same_day": true, "patch_ids": ["348ac9906853ba2e124b3a2f08df2093"], "statement_hash": "241858a4f396711ef48c2270fb1934b27a7ff4e22ea38c5d26c406b2183c2d69"}, "url": "/docs/compare/?release=11.7#11.7-5b8a15026e9f649d", "source_url": "/docs/release/11.7/#id-1.11.6.20.5"}]}, {"id": "10.12-afe7bf7c09cc7a15", "cves": [], "html": "<p>修复数据库崩溃并重启后逻辑复制发布者的失败（Vignesh C）</p>", "text": "修复数据库崩溃并重启后逻辑复制发布者的失败（Vignesh C）", "title": "修复数据库崩溃并重启后逻辑复制发布者的失败", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/10.12/#id-1.11.6.16.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": ["e3154aae3"], "source_entry_id": "10.12/changes/006", "db_id": "bb33ba157feb3169dd07ff305f37c896", "patch_ids": ["f2ffa9572aba4ae2d2a48ee347082cf8"], "statement_hash": "6aa2b325bf72bd1e6c55231d63ce0dc8c7973d98bf84b5311b3b54dc630c7b0b", "relations": [{"rule": 2, "type": "equivalent", "target": "13a4ebbb62f816078b950dca41b5176f", "evidence": {"same_day": true, "patch_ids": ["f2ffa9572aba4ae2d2a48ee347082cf8"], "statement_hash": "6aa2b325bf72bd1e6c55231d63ce0dc8c7973d98bf84b5311b3b54dc630c7b0b"}}, {"rule": 2, "type": "equivalent", "target": "1439b88ee7359150b890bfd4fe23b881", "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": "10.12", "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": "13a4ebbb62f816078b950dca41b5176f", "kind": "equivalent", "version": "9.6.17", "label": "9.6.17", "title": "修复数据库崩溃并重启之后逻辑复制发布方的失败", "evidence": {"same_day": true, "patch_ids": ["f2ffa9572aba4ae2d2a48ee347082cf8"], "statement_hash": "6aa2b325bf72bd1e6c55231d63ce0dc8c7973d98bf84b5311b3b54dc630c7b0b"}, "url": "/docs/compare/?release=9.6.17#9.6.17-bb73047540aea4a6", "source_url": "/docs/release/9.6.17/#id-1.11.6.12.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": "10.12-88e2051050a20c37", "cves": [], "html": "<p>提高使用 <code>REPLICA IDENTITY FULL</code> 的逻辑复制效率（Konstantin Knizhnik）</p>\n<p>更新或删除操作中查找现有元组时，返回第一个匹配元组，而非最后一个。</p>", "text": "提高使用 REPLICA IDENTITY FULL 的逻辑复制效率（Konstantin Knizhnik） 更新或删除操作中查找现有元组时，返回第一个匹配元组，而非最后一个。", "title": "提高使用 REPLICA IDENTITY FULL 的逻辑复制效率", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/10.12/#id-1.11.6.16.5", "source_hash": "9a73832c49b1872b1b2b565eea06b691d505d6b9b61884f51ffb15e3a59e0d9b", "section_path": ["变更"], "commit_groups": [["1c7a0b387", "380bc8829", "42e3187a8", "beefab654"]], "identity_text": "Improve efficiency of logical replication with REPLICA IDENTITY FULL (Konstantin Knizhnik) When searching for an existing tuple during an update or delete operation, return the first matching tuple not the last one.", "commit_aliases": ["1c7a0b387", "380bc8829", "42e3187a8", "beefab654"], "source_commits": ["380bc8829"], "source_entry_id": "10.12/changes/007", "db_id": "8d791911f4c9d5211e4f465a41a47261", "patch_ids": ["135487e98ef6f87f0569ef8649d6e53f"], "statement_hash": "b803474e060b9ed5d228ebf5b3bb7c6959b5c8a784c3a4f5afd7b53e5f0b4ce7", "relations": [{"rule": 2, "type": "equivalent", "target": "b062535045ec22b512311e35be95aae5", "evidence": {"same_day": true, "patch_ids": ["135487e98ef6f87f0569ef8649d6e53f"], "statement_hash": "b803474e060b9ed5d228ebf5b3bb7c6959b5c8a784c3a4f5afd7b53e5f0b4ce7"}}, {"rule": 2, "type": "equivalent", "target": "b81caab467cb3126b5359e1a1f17e5db", "evidence": {"same_day": true, "patch_ids": ["135487e98ef6f87f0569ef8649d6e53f"], "statement_hash": "b803474e060b9ed5d228ebf5b3bb7c6959b5c8a784c3a4f5afd7b53e5f0b4ce7"}}], "version": "10.12", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "b81caab467cb3126b5359e1a1f17e5db", "kind": "equivalent", "version": "12.2", "label": "12.2", "title": "提高使用 REPLICA IDENTITY FULL 的逻辑复制效率", "evidence": {"same_day": true, "patch_ids": ["135487e98ef6f87f0569ef8649d6e53f"], "statement_hash": "b803474e060b9ed5d228ebf5b3bb7c6959b5c8a784c3a4f5afd7b53e5f0b4ce7"}, "url": "/docs/compare/?release=12.2#12.2-31ae7569e72b81ef", "source_url": "/docs/release/12.2/#id-1.11.6.26.5"}, {"db_id": "b062535045ec22b512311e35be95aae5", "kind": "equivalent", "version": "11.7", "label": "11.7", "title": "提高使用 REPLICA IDENTITY FULL 的逻辑复制效率", "evidence": {"same_day": true, "patch_ids": ["135487e98ef6f87f0569ef8649d6e53f"], "statement_hash": "b803474e060b9ed5d228ebf5b3bb7c6959b5c8a784c3a4f5afd7b53e5f0b4ce7"}, "url": "/docs/compare/?release=11.7#11.7-88e2051050a20c37", "source_url": "/docs/release/11.7/#id-1.11.6.20.5"}]}, {"id": "10.12-4ca5fbf6a06d3712", "cves": [], "html": "<p>防止过早关闭位于 Limit 节点下方的 Gather 或 GatherMerge 计划节点（Amit Kapila）</p>\n<p>这可以避免此类计划节点需要被扫描多次时发生失败，例如它位于嵌套循环内侧时。</p>", "text": "防止过早关闭位于 Limit 节点下方的 Gather 或 GatherMerge 计划节点（Amit Kapila） 这可以避免此类计划节点需要被扫描多次时发生失败，例如它位于嵌套循环内侧时。", "title": "防止过早关闭位于 Limit 节点下方的 Gather 或 GatherMerge 计划节点", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/10.12/#id-1.11.6.16.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": ["f7ae68aac"], "source_entry_id": "10.12/changes/008", "db_id": "c522b4d56b52473e55baecaf0a9ee541", "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": "3b9453a17ccc702c506c79746e5ba421", "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"}}], "version": "10.12", "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": "3b9453a17ccc702c506c79746e5ba421", "kind": "equivalent", "version": "9.6.17", "label": "9.6.17", "title": "防止位于 Limit 节点之下的 Gather 或 GatherMerge 计划节点过早关闭", "evidence": {"same_day": true, "patch_ids": ["ae20cbf89e29f4005017f037b249493b"], "statement_hash": "1f92ba2fffc4a678b50d81f64a3f0e9f14dd99adf8edc4996af62aade7874ca6"}, "url": "/docs/compare/?release=9.6.17#9.6.17-cf57a0132267fb11", "source_url": "/docs/release/9.6.17/#id-1.11.6.12.5"}]}, {"id": "10.12-4d5931233667908f", "cves": [], "html": "<p>避免没有空闲动态共享内存槽时发生内存泄漏（Thomas Munro）</p>", "text": "避免没有空闲动态共享内存槽时发生内存泄漏（Thomas Munro）", "title": "避免没有空闲动态共享内存槽时发生内存泄漏", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/10.12/#id-1.11.6.16.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": ["aab30cd4e"], "source_entry_id": "10.12/changes/009", "db_id": "28e588ec50dad9c08c90a47528c2384a", "patch_ids": ["8afd81caf08066e62fe0151510b70316"], "statement_hash": "d120380ee87a8eb9c6373c3e3dbe226784646299975215e18461754478df75bd", "relations": [{"rule": 2, "type": "equivalent", "target": "2fbc97d14f34ee4610c171e22430c3eb", "evidence": {"same_day": true, "patch_ids": ["8afd81caf08066e62fe0151510b70316"], "statement_hash": "d120380ee87a8eb9c6373c3e3dbe226784646299975215e18461754478df75bd"}}, {"rule": 2, "type": "equivalent", "target": "5e2f4f77c98c1824485cb030a9acdc86", "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": "10.12", "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": "5e2f4f77c98c1824485cb030a9acdc86", "kind": "equivalent", "version": "9.6.17", "label": "9.6.17", "title": "避免没有空闲动态共享内存槽位时的内存泄漏", "evidence": {"same_day": true, "patch_ids": ["8afd81caf08066e62fe0151510b70316"], "statement_hash": "d120380ee87a8eb9c6373c3e3dbe226784646299975215e18461754478df75bd"}, "url": "/docs/compare/?release=9.6.17#9.6.17-3cba81c9a7bf45df", "source_url": "/docs/release/9.6.17/#id-1.11.6.12.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": "10.12-b6aea19cca5f1154", "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/10.12/#id-1.11.6.16.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": ["9055344b4"], "source_entry_id": "10.12/changes/010", "db_id": "1fda7e81ac8a1705fadbac8958c8be79", "patch_ids": ["160560ced7cd4414f6a596bdbc1cd1f3"], "statement_hash": "1e672d30a52f2ae770d93c187ed303c83766147300618606cf0605977114780b", "relations": [{"rule": 2, "type": "equivalent", "target": "1ef6ab0fe5752bbfa61615312ee12220", "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": "10.12", "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": "1ef6ab0fe5752bbfa61615312ee12220", "kind": "equivalent", "version": "9.6.17", "label": "9.6.17", "title": "对临时表执行索引创建、删除或重建时忽略 CONCURRENTLY 选项", "evidence": {"same_day": true, "patch_ids": ["160560ced7cd4414f6a596bdbc1cd1f3"], "statement_hash": "1e672d30a52f2ae770d93c187ed303c83766147300618606cf0605977114780b"}, "url": "/docs/compare/?release=9.6.17#9.6.17-3ccce672ad5d3a6f", "source_url": "/docs/release/9.6.17/#id-1.11.6.12.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": "10.12-cefb17b7aa176da2", "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/10.12/#id-1.11.6.16.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": ["25c7183c0"], "source_entry_id": "10.12/changes/011", "db_id": "c7ad22067c9cf2e6ad0b90fc4c4bafec", "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": "e25762d447d9f6d0e649c022b2324661", "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": "10.12", "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": "e25762d447d9f6d0e649c022b2324661", "kind": "equivalent", "version": "9.6.17", "label": "9.6.17", "title": "修复重置标记为 ON COMMIT DELETE ROWS 的临时表上的表达式索引时可能的失败", "evidence": {"same_day": true, "patch_ids": ["d42d4ae6f194be7c0690b06444bc16a2"], "statement_hash": "197220b9fb34990fbf91e24bf9b9a2cc0e239aa17932aab3c2b329e106c38017"}, "url": "/docs/compare/?release=9.6.17#9.6.17-785cdb35ca3fa1d3", "source_url": "/docs/release/9.6.17/#id-1.11.6.12.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": "10.12-7fe5570d13abef64", "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/10.12/#id-1.11.6.16.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": ["ff0c567cb"], "source_entry_id": "10.12/changes/012", "db_id": "b4d4c0f54025cb1b7f6c445dfca85b32", "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": "12ad963273ec88e8c7a7dffa7d317b13", "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": "ddc83fcc1582b3dbf2bbc9c60e8f7071", "evidence": {"same_day": true, "patch_ids": ["459068976a8e29ddf25a5336ace1f8cc"], "statement_hash": "42b7080a586af06174e0e4a2fd87330321b281b51acf0010f5ce8a3d66857230"}}], "version": "10.12", "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": "12ad963273ec88e8c7a7dffa7d317b13", "kind": "equivalent", "version": "9.6.17", "label": "9.6.17", "title": "修复对 box、range 和 inet 数据类型执行 BRIN 索引操作时可能的崩溃", "evidence": {"same_day": true, "patch_ids": ["459068976a8e29ddf25a5336ace1f8cc"], "statement_hash": "42b7080a586af06174e0e4a2fd87330321b281b51acf0010f5ce8a3d66857230"}, "url": "/docs/compare/?release=9.6.17#9.6.17-ba50284679678c9a", "source_url": "/docs/release/9.6.17/#id-1.11.6.12.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": "10.12-266952a113d1e196", "cves": [], "html": "<p>修复 GIN 索引中对已删除页面的处理（Alexander Korotkov）</p>\n<p>避免可能发生的死锁、对已删除页面状态的不正确更新，以及无法遍历最近删除页面的问题。</p>", "text": "修复 GIN 索引中对已删除页面的处理（Alexander Korotkov） 避免可能发生的死锁、对已删除页面状态的不正确更新，以及无法遍历最近删除页面的问题。", "title": "修复 GIN 索引中对已删除页面的处理", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/10.12/#id-1.11.6.16.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": ["21ad61ab3", "4093ff573", "ab64b474d", "b10714080"], "source_entry_id": "10.12/changes/013", "db_id": "ba63d0d0210c6a9fd78797edfd452c32", "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": "1c0ccf06670d2279d01e43d3f63aaab6", "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": "baa0df43bab5ee15154867b855376f70", "evidence": {"same_day": true, "patch_ids": ["0fb51caa2a6599d8ae03ec723df72516", "2d779b29920a9156df03dacbfed95bdf", "5614389161137ab83fc478bb6dc593c7", "70da9dc7f21eb7c1acbaa8639acbac5e"], "statement_hash": "a4489e08e273e747212a8ae0efaec9bc58505c38caaac21cc5fa44b30e80bb46"}}], "version": "10.12", "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": "1c0ccf06670d2279d01e43d3f63aaab6", "kind": "equivalent", "version": "9.6.17", "label": "9.6.17", "title": "修复 GIN 索引中对已删除页的处理", "evidence": {"same_day": true, "patch_ids": ["0fb51caa2a6599d8ae03ec723df72516", "2d779b29920a9156df03dacbfed95bdf", "5614389161137ab83fc478bb6dc593c7", "70da9dc7f21eb7c1acbaa8639acbac5e"], "statement_hash": "a4489e08e273e747212a8ae0efaec9bc58505c38caaac21cc5fa44b30e80bb46"}, "url": "/docs/compare/?release=9.6.17#9.6.17-32e05da2ada9e89b", "source_url": "/docs/release/9.6.17/#id-1.11.6.12.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": "10.12-79315b8d0599d7b8", "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/10.12/#id-1.11.6.16.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": ["167fd022f"], "source_entry_id": "10.12/changes/014", "db_id": "cd3c71415d61d2b5bb0e321d7fbda1f0", "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": "23f1e9f5f1eecf6bc98e3d1dbf8dbf61", "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": "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": "10.12", "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": "23f1e9f5f1eecf6bc98e3d1dbf8dbf61", "kind": "equivalent", "version": "9.6.17", "label": "9.6.17", "title": "修复多行 VALUES 列表中包含 SubPlan（子 SELECT）时可能的崩溃", "evidence": {"same_day": true, "patch_ids": ["0e17af1c06016767dcaf523c34b89247"], "statement_hash": "eaa0685446b3ea3d2207ebce434bedbb3076bf723e74a802fae6db261235f49b"}, "url": "/docs/compare/?release=9.6.17#9.6.17-7095f012d7edd6c2", "source_url": "/docs/release/9.6.17/#id-1.11.6.12.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": "10.12-c8600c4c9ee9a687", "cves": [], "html": "<p>修复 FileClose() 失败后发生的崩溃（Noah Misch）</p>\n<p>只有启用 <code>data_sync_retry</code> 时才能观察到此问题，否则 FileClose() 失败会被报告为 PANIC。</p>", "text": "修复 FileClose() 失败后发生的崩溃（Noah Misch） 只有启用 data_sync_retry 时才能观察到此问题，否则 FileClose() 失败会被报告为 PANIC。", "title": "修复 FileClose() 失败后发生的崩溃", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/10.12/#id-1.11.6.16.5", "source_hash": "008d3fae7d502e2a4ca3e91ced5c2c51c60290005b967025e8d12e131dcb8f4b", "section_path": ["变更"], "commit_groups": [["2e86e154d", "38fc05607", "93078e63f", "cb9774245"]], "identity_text": "Fix crash after FileClose() failure (Noah Misch) This issue could only be observed with data_sync_retry enabled, since otherwise FileClose() failure would be reported as a PANIC.", "commit_aliases": ["2e86e154d", "38fc05607", "93078e63f", "cb9774245"], "source_commits": ["cb9774245"], "source_entry_id": "10.12/changes/015", "db_id": "d7067b497603923c6dcbc9f11835881d", "patch_ids": ["00a29f1d01e80ec17e8e17d8a6e9fa78"], "statement_hash": "0d3cd49237e381bc039b48d26c43fa688c06d779cc3cb9ac3a9cd1159d9bd036", "relations": [{"rule": 2, "type": "equivalent", "target": "5bf0130de7c15d7d44f4643384835e8a", "evidence": {"same_day": true, "patch_ids": ["00a29f1d01e80ec17e8e17d8a6e9fa78"], "statement_hash": "0d3cd49237e381bc039b48d26c43fa688c06d779cc3cb9ac3a9cd1159d9bd036"}}, {"rule": 2, "type": "equivalent", "target": "68d28bbf0b6e299adb3b495c02604b5e", "evidence": {"same_day": true, "patch_ids": ["00a29f1d01e80ec17e8e17d8a6e9fa78"], "statement_hash": "0d3cd49237e381bc039b48d26c43fa688c06d779cc3cb9ac3a9cd1159d9bd036"}}], "version": "10.12", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "5bf0130de7c15d7d44f4643384835e8a", "kind": "equivalent", "version": "12.2", "label": "12.2", "title": "修复 FileClose() 失败后发生的崩溃", "evidence": {"same_day": true, "patch_ids": ["00a29f1d01e80ec17e8e17d8a6e9fa78"], "statement_hash": "0d3cd49237e381bc039b48d26c43fa688c06d779cc3cb9ac3a9cd1159d9bd036"}, "url": "/docs/compare/?release=12.2#12.2-33ef299b9dd8ef32", "source_url": "/docs/release/12.2/#id-1.11.6.26.5"}, {"db_id": "68d28bbf0b6e299adb3b495c02604b5e", "kind": "equivalent", "version": "11.7", "label": "11.7", "title": "修复 FileClose() 失败后发生的崩溃", "evidence": {"same_day": true, "patch_ids": ["00a29f1d01e80ec17e8e17d8a6e9fa78"], "statement_hash": "0d3cd49237e381bc039b48d26c43fa688c06d779cc3cb9ac3a9cd1159d9bd036"}, "url": "/docs/compare/?release=11.7#11.7-c8600c4c9ee9a687", "source_url": "/docs/release/11.7/#id-1.11.6.20.5"}]}, {"id": "10.12-1145da8fb2f19235", "cves": [], "html": "<p>修复使用按引用传递的聚合转换状态时发生的罕见崩溃（Andres Freund，Teodor Sigaev）</p>", "text": "修复使用按引用传递的聚合转换状态时发生的罕见崩溃（Andres Freund，Teodor Sigaev）", "title": "修复使用按引用传递的聚合转换状态时发生的罕见崩溃", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/10.12/#id-1.11.6.16.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": ["8bb006a41"], "source_entry_id": "10.12/changes/016", "db_id": "7bbdbe671f37e7a8f307651f9934bbb5", "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": "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"}}, {"rule": 2, "type": "equivalent", "target": "aa38fe8a84a05ccb7d5ca2231a4a9ab2", "evidence": {"same_day": true, "patch_ids": ["730f997a58a04f63067e9ce63b4b26a6"], "statement_hash": "247ecf8b0f57ea41bff13f5eb478cd6d22e7b98f79a7290a54702aa6470249b2"}}], "version": "10.12", "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": "aa38fe8a84a05ccb7d5ca2231a4a9ab2", "kind": "equivalent", "version": "9.6.17", "label": "9.6.17", "title": "修复按引用传递的聚合转换状态不太可能的崩溃", "evidence": {"same_day": true, "patch_ids": ["730f997a58a04f63067e9ce63b4b26a6"], "statement_hash": "247ecf8b0f57ea41bff13f5eb478cd6d22e7b98f79a7290a54702aa6470249b2"}, "url": "/docs/compare/?release=9.6.17#9.6.17-3c11e63680e64497", "source_url": "/docs/release/9.6.17/#id-1.11.6.12.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": "10.12-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/10.12/#id-1.11.6.16.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": ["212b870d6", "d6a9548b2"], "source_entry_id": "10.12/changes/017", "db_id": "cdbf4f801b3c350a10257de0582a1372", "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": "ba9b3b2bf6101c85ca968cf1bc4c2a39", "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": "10.12", "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": "ba9b3b2bf6101c85ca968cf1bc4c2a39", "kind": "equivalent", "version": "9.6.17", "label": "9.6.17", "title": "改进 to_date() 和 to_timestamp() 中的错误报告", "evidence": {"same_day": true, "patch_ids": ["881a4ad4e73e5bd4a9e5a289b084a789", "b3676034f161a2b8e0f55f02dbf6ca1d"], "statement_hash": "9e20b30958a588fb9e31c02ef288f2ed5e1df59831e7e09f29ac2a8de8f66856"}, "url": "/docs/compare/?release=9.6.17#9.6.17-b115320876673b56", "source_url": "/docs/release/9.6.17/#id-1.11.6.12.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": "10.12-c369b627d2709619", "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/10.12/#id-1.11.6.16.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": ["c965c42a5"], "source_entry_id": "10.12/changes/018", "db_id": "d41730767b50746673b7b49da97f6bb1", "patch_ids": ["e64c1aedea53edbdb2a27f60e946cd5f"], "statement_hash": "0a67a694ed58e0baf5b93141608db1f69dce394feec5bdb8f7c817eb8767ed8d", "relations": [{"rule": 2, "type": "equivalent", "target": "8165e96592be79ede7a550c4a042b9d4", "evidence": {"same_day": true, "patch_ids": ["e64c1aedea53edbdb2a27f60e946cd5f"], "statement_hash": "0a67a694ed58e0baf5b93141608db1f69dce394feec5bdb8f7c817eb8767ed8d"}}, {"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"}}], "version": "10.12", "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": "8165e96592be79ede7a550c4a042b9d4", "kind": "equivalent", "version": "9.6.17", "label": "9.6.17", "title": "修复公元前日期的 EXTRACT(ISOYEAR FROM timestamp) 的差一结果", "evidence": {"same_day": true, "patch_ids": ["e64c1aedea53edbdb2a27f60e946cd5f"], "statement_hash": "0a67a694ed58e0baf5b93141608db1f69dce394feec5bdb8f7c817eb8767ed8d"}, "url": "/docs/compare/?release=9.6.17#9.6.17-c797d83d4d4b0861", "source_url": "/docs/release/9.6.17/#id-1.11.6.12.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": "10.12-a585e920494ebca6", "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/10.12/#id-1.11.6.16.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": ["b9f3d7a53"], "source_entry_id": "10.12/changes/019", "db_id": "b491675de114029fc48083e9392427fe", "patch_ids": ["ee445a89d96850907b66829bdd2041c7"], "statement_hash": "d38af59ef3e029aa8eb8934c03824ef4b851b43bc0892f344b143600ae7807ce", "relations": [{"rule": 2, "type": "equivalent", "target": "1b330957449f4b21da4a1725df3776af", "evidence": {"same_day": true, "patch_ids": ["ee445a89d96850907b66829bdd2041c7"], "statement_hash": "d38af59ef3e029aa8eb8934c03824ef4b851b43bc0892f344b143600ae7807ce"}}, {"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": "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": "10.12", "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": "1b330957449f4b21da4a1725df3776af", "kind": "equivalent", "version": "9.6.17", "label": "9.6.17", "title": "避免系统目录中存在自引用视图时 information_schema 视图中的栈溢出", "evidence": {"same_day": true, "patch_ids": ["ee445a89d96850907b66829bdd2041c7"], "statement_hash": "d38af59ef3e029aa8eb8934c03824ef4b851b43bc0892f344b143600ae7807ce"}, "url": "/docs/compare/?release=9.6.17#9.6.17-1a4a5880e6239261", "source_url": "/docs/release/9.6.17/#id-1.11.6.12.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": "10.12-0acdf7a4e2b66672", "cves": [], "html": "<p>确保 WAL 发送进程进程在 <code>pg_stat_activity</code> 中的事务开始时间始终显示为 NULL（Álvaro Herrera）</p>\n<p>以前，<code>xact_start</code> 列有时会显示进程启动时间。</p>", "text": "确保 WAL 发送进程进程在 pg_stat_activity 中的事务开始时间始终显示为 NULL（Álvaro Herrera） 以前，xact_start 列有时会显示进程启动时间。", "title": "确保 WAL 发送进程进程在 pg_stat_activity 中的事务开始时间始终显示为 NULL", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/10.12/#id-1.11.6.16.5", "source_hash": "87c757e010652ac64b7117f9949933290d2eb8778f8ed67a2de897797ae6fa8b", "section_path": ["变更"], "commit_groups": [["20c4df8c8", "af43581e8", "da42b9f3f", "f5d28710c"], ["896db774e", "8de3b68fa", "b175bd59f", "fce9ba819"]], "identity_text": "Ensure that walsender processes always show NULL for transaction start time in pg_stat_activity (Álvaro Herrera) Previously, the xact_start column would sometimes show the process start time.", "commit_aliases": ["20c4df8c8", "896db774e", "8de3b68fa", "af43581e8", "b175bd59f", "da42b9f3f", "f5d28710c", "fce9ba819"], "source_commits": ["8de3b68fa", "da42b9f3f"], "source_entry_id": "10.12/changes/020", "db_id": "de6b982d665f113ca4b0203a47e7ded3", "patch_ids": ["1fbacad833ec49c2c942afebfaea01e8", "ba1369b1b530bc8a1f4f24ed00cc92cf"], "statement_hash": "d423a7d92608253bf32ce323ea75e1c6204ebd713117640cd6893a4960374e88", "relations": [{"rule": 2, "type": "equivalent", "target": "35900fa98ea9e1df2bcdbf63a329d78d", "evidence": {"same_day": true, "patch_ids": ["1fbacad833ec49c2c942afebfaea01e8", "ba1369b1b530bc8a1f4f24ed00cc92cf"], "statement_hash": "d423a7d92608253bf32ce323ea75e1c6204ebd713117640cd6893a4960374e88"}}, {"rule": 2, "type": "equivalent", "target": "f509c314fdb4ee00795b0afa41c57e8f", "evidence": {"same_day": true, "patch_ids": ["1fbacad833ec49c2c942afebfaea01e8", "ba1369b1b530bc8a1f4f24ed00cc92cf"], "statement_hash": "d423a7d92608253bf32ce323ea75e1c6204ebd713117640cd6893a4960374e88"}}], "version": "10.12", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "35900fa98ea9e1df2bcdbf63a329d78d", "kind": "equivalent", "version": "12.2", "label": "12.2", "title": "确保 WAL 发送进程进程在 pg_stat_activity 中的事务开始时间始终显示为 NULL", "evidence": {"same_day": true, "patch_ids": ["1fbacad833ec49c2c942afebfaea01e8", "ba1369b1b530bc8a1f4f24ed00cc92cf"], "statement_hash": "d423a7d92608253bf32ce323ea75e1c6204ebd713117640cd6893a4960374e88"}, "url": "/docs/compare/?release=12.2#12.2-f87299a79de288d1", "source_url": "/docs/release/12.2/#id-1.11.6.26.5"}, {"db_id": "f509c314fdb4ee00795b0afa41c57e8f", "kind": "equivalent", "version": "11.7", "label": "11.7", "title": "确保 WAL 发送进程进程在 pg_stat_activity 中的事务开始时间始终显示为 NULL", "evidence": {"same_day": true, "patch_ids": ["1fbacad833ec49c2c942afebfaea01e8", "ba1369b1b530bc8a1f4f24ed00cc92cf"], "statement_hash": "d423a7d92608253bf32ce323ea75e1c6204ebd713117640cd6893a4960374e88"}, "url": "/docs/compare/?release=11.7#11.7-0acdf7a4e2b66672", "source_url": "/docs/release/11.7/#id-1.11.6.20.5"}]}, {"id": "10.12-c524cf29609d73b0", "cves": [], "html": "<p>提高内侧关系非常大时的哈希连接性能（Thomas Munro）</p>", "text": "提高内侧关系非常大时的哈希连接性能（Thomas Munro）", "title": "提高内侧关系非常大时的哈希连接性能", "commits": [], "section": "变更", "category": "performance", "source_url": "/docs/release/10.12/#id-1.11.6.16.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": ["8e89bc6df"], "source_entry_id": "10.12/changes/021", "db_id": "116f6d8659176bcd964a41e0209aedea", "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": "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": "b3cb781746ac72afd92d36eb4d30e449", "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": "10.12", "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": "b3cb781746ac72afd92d36eb4d30e449", "kind": "equivalent", "version": "9.6.17", "label": "9.6.17", "title": "改进有超大内侧关系的哈希连接的性能", "evidence": {"same_day": true, "patch_ids": ["4fd40ea9c8ea4eadf6c96b64d56d3642"], "statement_hash": "2df267ae22df679eccfb91c9e704ed41b727a5277b344abfcc0fa5ca790fe3bd"}, "url": "/docs/compare/?release=9.6.17#9.6.17-ba72bdf7449915cf", "source_url": "/docs/release/9.6.17/#id-1.11.6.12.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": "10.12-3914b7cb2a0346b0", "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/10.12/#id-1.11.6.16.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": ["8c8b456b5"], "source_entry_id": "10.12/changes/022", "db_id": "691c00f1e97381d8ffaec7f1f4a3c6e9", "patch_ids": ["4425958e08be3e89a78ee9b62d849cf3"], "statement_hash": "6f94d2044f860f50d8d6b357be87022695af2a03bbef74ed8e9916f71ecce695", "relations": [{"rule": 2, "type": "equivalent", "target": "0961d7751c5492d2b84a38d198cdf128", "evidence": {"same_day": true, "patch_ids": ["4425958e08be3e89a78ee9b62d849cf3"], "statement_hash": "6f94d2044f860f50d8d6b357be87022695af2a03bbef74ed8e9916f71ecce695"}}, {"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": "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": "10.12", "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": "0961d7751c5492d2b84a38d198cdf128", "kind": "equivalent", "version": "9.6.17", "label": "9.6.17", "title": "修复 <@ 和 @> 范围操作符选择率计算中的边界崩溃和估计错误", "evidence": {"same_day": true, "patch_ids": ["4425958e08be3e89a78ee9b62d849cf3"], "statement_hash": "6f94d2044f860f50d8d6b357be87022695af2a03bbef74ed8e9916f71ecce695"}, "url": "/docs/compare/?release=9.6.17#9.6.17-8b8cb30dd25eac7f", "source_url": "/docs/release/9.6.17/#id-1.11.6.12.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": "10.12-ca92911728a24b9e", "cves": [], "html": "<p>应用最常见值扩展统计信息时忽略系统列（Tomas Vondra）</p>\n<p>这可避免受影响查询发生 <span>“<span>negative bitmapset member not allowed</span>”</span> 规划器错误。</p>", "text": "应用最常见值扩展统计信息时忽略系统列（Tomas Vondra） 这可避免受影响查询发生 “negative bitmapset member not allowed” 规划器错误。", "title": "应用最常见值扩展统计信息时忽略系统列", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/10.12/#id-1.11.6.16.5", "source_hash": "87012089358e25f204d095d95f2c24baeb331366391b25fc32aedd4cdc61f232", "section_path": ["变更"], "commit_groups": [["0b0f281cc", "25a9ff6ca", "28555a53c", "d482f7f86"]], "identity_text": "Ignore system columns when applying most-common-value extended statistics (Tomas Vondra) This prevents negative bitmapset member not allowed planner errors for affected queries.", "commit_aliases": ["0b0f281cc", "25a9ff6ca", "28555a53c", "d482f7f86"], "source_commits": ["0b0f281cc"], "source_entry_id": "10.12/changes/023", "db_id": "805234959af205982439a5d05728244c", "patch_ids": ["96ba8ca9610f2287c238750ebccdcf94"], "statement_hash": "dd36733b043482c1c6f1c8fb0bb1d59651a07d217d31929e0f18ea878d2f6180", "relations": [{"rule": 2, "type": "equivalent", "target": "235115ab672a975158cc7ccb26062c74", "evidence": {"same_day": true, "patch_ids": ["96ba8ca9610f2287c238750ebccdcf94"], "statement_hash": "dd36733b043482c1c6f1c8fb0bb1d59651a07d217d31929e0f18ea878d2f6180"}}, {"rule": 2, "type": "equivalent", "target": "311335e3704bad4579466f89d6d853f2", "evidence": {"same_day": true, "patch_ids": ["96ba8ca9610f2287c238750ebccdcf94"], "statement_hash": "dd36733b043482c1c6f1c8fb0bb1d59651a07d217d31929e0f18ea878d2f6180"}}], "version": "10.12", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "311335e3704bad4579466f89d6d853f2", "kind": "equivalent", "version": "12.2", "label": "12.2", "title": "应用最常见值扩展统计信息时忽略系统列", "evidence": {"same_day": true, "patch_ids": ["96ba8ca9610f2287c238750ebccdcf94"], "statement_hash": "dd36733b043482c1c6f1c8fb0bb1d59651a07d217d31929e0f18ea878d2f6180"}, "url": "/docs/compare/?release=12.2#12.2-cc69a791fb8db83f", "source_url": "/docs/release/12.2/#id-1.11.6.26.5"}, {"db_id": "235115ab672a975158cc7ccb26062c74", "kind": "equivalent", "version": "11.7", "label": "11.7", "title": "应用最常见值扩展统计信息时忽略系统列", "evidence": {"same_day": true, "patch_ids": ["96ba8ca9610f2287c238750ebccdcf94"], "statement_hash": "dd36733b043482c1c6f1c8fb0bb1d59651a07d217d31929e0f18ea878d2f6180"}, "url": "/docs/compare/?release=11.7#11.7-ca92911728a24b9e", "source_url": "/docs/release/11.7/#id-1.11.6.20.5"}]}, {"id": "10.12-ef6b4532433eabf5", "cves": [], "html": "<p>修复 BRIN 索引逻辑，使其支持假想 BRIN 索引（Julien Rouhaud，Heikki Linnakangas）</p>\n<p>以前，如果<span>“<span>索引建议器</span>”</span>扩展尝试让规划器生成包含假想 BRIN 索引的计划，就会失败，因为 BRIN 代价估算代码始终尝试实际访问索引的元页面。现在会检查索引是否只是假想索引；如果是，则使用索引参数的默认假设。</p>", "text": "修复 BRIN 索引逻辑，使其支持假想 BRIN 索引（Julien Rouhaud，Heikki Linnakangas） 以前，如果“索引建议器”扩展尝试让规划器生成包含假想 BRIN 索引的计划，就会失败，因为 BRIN 代价估算代码始终尝试实际访问索引的元页面。现在会检查索引是否只是假想索引；如果是，则使用索引参数的默认假设。", "title": "修复 BRIN 索引逻辑，使其支持假想 BRIN 索引", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/10.12/#id-1.11.6.16.5", "source_hash": "6c5b2aa89a4ff473ded4b3eb24ff4aaf8c5f4f6d845c3dabe6262456b2aa09b5", "section_path": ["变更"], "commit_groups": [["168d20640", "62074a343", "c644407f7", "f4095026c"]], "identity_text": "Fix BRIN index logic to support hypothetical BRIN indexes (Julien Rouhaud, Heikki Linnakangas) Previously, if an index adviser extension tried to get the planner to produce a plan involving a hypothetical BRIN index, that would fail, because the BRIN cost estimation code would always try to physically access the index's metapage. Now it checks to see if the index is only hypothetical, and uses default assumptions about the index parameters if so.", "commit_aliases": ["168d20640", "62074a343", "c644407f7", "f4095026c"], "source_commits": ["f4095026c"], "source_entry_id": "10.12/changes/024", "db_id": "c87bd5538dcf9e870ce22e2343d59c39", "patch_ids": ["d68b8299e26a21beb1f0b6f1660d8f41"], "statement_hash": "733794d623b8e62fe8ccde27abeccdf154aa1c36bb05570031707b6c88e6b8fc", "relations": [{"rule": 2, "type": "equivalent", "target": "0a655a806d574bb157d2a23dd9e014d8", "evidence": {"same_day": true, "patch_ids": ["d68b8299e26a21beb1f0b6f1660d8f41"], "statement_hash": "733794d623b8e62fe8ccde27abeccdf154aa1c36bb05570031707b6c88e6b8fc"}}, {"rule": 2, "type": "equivalent", "target": "52d26431ac43d35d4d3d2d3c78c293e0", "evidence": {"same_day": true, "patch_ids": ["d68b8299e26a21beb1f0b6f1660d8f41"], "statement_hash": "733794d623b8e62fe8ccde27abeccdf154aa1c36bb05570031707b6c88e6b8fc"}}], "version": "10.12", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "52d26431ac43d35d4d3d2d3c78c293e0", "kind": "equivalent", "version": "12.2", "label": "12.2", "title": "修复 BRIN 索引逻辑，使其支持假想 BRIN 索引", "evidence": {"same_day": true, "patch_ids": ["d68b8299e26a21beb1f0b6f1660d8f41"], "statement_hash": "733794d623b8e62fe8ccde27abeccdf154aa1c36bb05570031707b6c88e6b8fc"}, "url": "/docs/compare/?release=12.2#12.2-a7e0f193bc30c70e", "source_url": "/docs/release/12.2/#id-1.11.6.26.5"}, {"db_id": "0a655a806d574bb157d2a23dd9e014d8", "kind": "equivalent", "version": "11.7", "label": "11.7", "title": "修复 BRIN 索引逻辑，使其支持假想 BRIN 索引", "evidence": {"same_day": true, "patch_ids": ["d68b8299e26a21beb1f0b6f1660d8f41"], "statement_hash": "733794d623b8e62fe8ccde27abeccdf154aa1c36bb05570031707b6c88e6b8fc"}, "url": "/docs/compare/?release=11.7#11.7-ef6b4532433eabf5", "source_url": "/docs/release/11.7/#id-1.11.6.20.5"}]}, {"id": "10.12-d7ff4e00c12d1f8f", "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/10.12/#id-1.11.6.16.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": ["353cd826f"], "source_entry_id": "10.12/changes/025", "db_id": "c9ab6a2569ad820f5fcbce804d8d3c80", "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": "646ae9c6eeaa9bddece446e464cf5a8b", "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": "f0ee5749c0a83d8cc1d5c36dd742602e", "evidence": {"same_day": true, "patch_ids": ["83c7e47d9b1c9e8c2a4bac13bbbac361"], "statement_hash": "640c1858997877f97952553ab17f0024c19eabd56a1824f1e665ebe039970517"}}], "version": "10.12", "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": "646ae9c6eeaa9bddece446e464cf5a8b", "kind": "equivalent", "version": "9.6.17", "label": "9.6.17", "title": "改进对试图在带条件 INSTEAD 规则的视图上使用自动更新的错误报告", "evidence": {"same_day": true, "patch_ids": ["83c7e47d9b1c9e8c2a4bac13bbbac361"], "statement_hash": "640c1858997877f97952553ab17f0024c19eabd56a1824f1e665ebe039970517"}, "url": "/docs/compare/?release=9.6.17#9.6.17-2af30e94440f1b18", "source_url": "/docs/release/9.6.17/#id-1.11.6.12.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": "10.12-48690d42f8d5438e", "cves": [], "html": "<p>防止复合类型通过范围类型间接包含自身（Tom Lane，Julien Rouhaud）</p>", "text": "防止复合类型通过范围类型间接包含自身（Tom Lane，Julien Rouhaud）", "title": "防止复合类型通过范围类型间接包含自身", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/10.12/#id-1.11.6.16.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": ["4af2531d0", "de3d2df75"], "source_entry_id": "10.12/changes/026", "db_id": "35c56caabddafddc3571fbc8e4d52531", "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": "a2f957278a64b12dad6638c4a2a238a3", "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": "10.12", "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": "a2f957278a64b12dad6638c4a2a238a3", "kind": "equivalent", "version": "9.6.17", "label": "9.6.17", "title": "防止复合类型通过范围类型间接包含自身", "evidence": {"same_day": true, "patch_ids": ["c52b1e33ff03c0a7dd458178601d99df", "d106744efdd32c05bf5cf6e0d1da13bc"], "statement_hash": "f1d1bba4b13cb2d41b5076b349c2869b1a75ad694d10325d17019e4f1e158ef0"}, "url": "/docs/compare/?release=9.6.17#9.6.17-48690d42f8d5438e", "source_url": "/docs/release/9.6.17/#id-1.11.6.12.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": "10.12-8b4fb13abb255e69", "cves": [], "html": "<p>禁止返回 <code>record</code> 等伪类型的分区键表达式（Tom Lane）</p>", "text": "禁止返回 record 等伪类型的分区键表达式（Tom Lane）", "title": "禁止返回 record 等伪类型的分区键表达式", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/10.12/#id-1.11.6.16.5", "source_hash": "7f311cd5254da5aacf2d3abb2c67be09cd2b5f7001f43fd735d0e3bb3fe9f87d", "section_path": ["变更"], "commit_groups": [["281dd22ac", "39ebb943d", "7fbb39a96", "ea1205a02"]], "identity_text": "Disallow partition key expressions that return pseudo-types, such as record (Tom Lane)", "commit_aliases": ["281dd22ac", "39ebb943d", "7fbb39a96", "ea1205a02"], "source_commits": ["ea1205a02"], "source_entry_id": "10.12/changes/027", "db_id": "bc34993aa7c9ceeb3d90898926c3082d", "patch_ids": ["0bcd278df34b420c5f3f0d7b6a3d3b8a"], "statement_hash": "31323a5a420bf05c3f60460e25f65989b618752a12c27844ebf48f9d238213bc", "relations": [{"rule": 2, "type": "equivalent", "target": "2b24f7e7d0e1d2ed4f5698e163fe3d9a", "evidence": {"same_day": true, "patch_ids": ["0bcd278df34b420c5f3f0d7b6a3d3b8a"], "statement_hash": "31323a5a420bf05c3f60460e25f65989b618752a12c27844ebf48f9d238213bc"}}, {"rule": 2, "type": "equivalent", "target": "f6e472a8117ef3e8b2d06d9a838893de", "evidence": {"same_day": true, "patch_ids": ["0bcd278df34b420c5f3f0d7b6a3d3b8a"], "statement_hash": "31323a5a420bf05c3f60460e25f65989b618752a12c27844ebf48f9d238213bc"}}], "version": "10.12", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "f6e472a8117ef3e8b2d06d9a838893de", "kind": "equivalent", "version": "12.2", "label": "12.2", "title": "禁止返回 record 等伪类型的分区键表达式", "evidence": {"same_day": true, "patch_ids": ["0bcd278df34b420c5f3f0d7b6a3d3b8a"], "statement_hash": "31323a5a420bf05c3f60460e25f65989b618752a12c27844ebf48f9d238213bc"}, "url": "/docs/compare/?release=12.2#12.2-c47fb286762c71f4", "source_url": "/docs/release/12.2/#id-1.11.6.26.5"}, {"db_id": "2b24f7e7d0e1d2ed4f5698e163fe3d9a", "kind": "equivalent", "version": "11.7", "label": "11.7", "title": "禁止返回 record 等伪类型的分区键表达式", "evidence": {"same_day": true, "patch_ids": ["0bcd278df34b420c5f3f0d7b6a3d3b8a"], "statement_hash": "31323a5a420bf05c3f60460e25f65989b618752a12c27844ebf48f9d238213bc"}, "url": "/docs/compare/?release=11.7#11.7-8b4fb13abb255e69", "source_url": "/docs/release/11.7/#id-1.11.6.20.5"}]}, {"id": "10.12-a5b54460a1e82b29", "cves": [], "html": "<p>修复索引表达式使用禁止的类型时的错误报告（Amit Langote）</p>", "text": "修复索引表达式使用禁止的类型时的错误报告（Amit Langote）", "title": "修复索引表达式使用禁止的类型时的错误报告", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/10.12/#id-1.11.6.16.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": ["5c5a268c6"], "source_entry_id": "10.12/changes/028", "db_id": "1bdd4656461fd2b6d206dbe16e040209", "patch_ids": ["9ebd2a16b818858b89002e88642403f2"], "statement_hash": "28d1e927697d02690e4caea98e721555cea4c2b840ec748b42cd629016dc759c", "relations": [{"rule": 2, "type": "equivalent", "target": "4c8354beb60a5626a666682abda93b92", "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": "10.12", "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": "4c8354beb60a5626a666682abda93b92", "kind": "equivalent", "version": "9.6.17", "label": "9.6.17", "title": "修复对禁止类型索引表达式的错误报告", "evidence": {"same_day": true, "patch_ids": ["9ebd2a16b818858b89002e88642403f2"], "statement_hash": "28d1e927697d02690e4caea98e721555cea4c2b840ec748b42cd629016dc759c"}, "url": "/docs/compare/?release=9.6.17#9.6.17-e4b18e7f6b9a4016", "source_url": "/docs/release/9.6.17/#id-1.11.6.12.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": "10.12-3a20ba2926c3cd68", "cves": [], "html": "<p>修复仅包含 <code>VALUES</code> 列表的视图的转储，使其能够处理视图输出列被重命名的情况（Tom Lane）</p>", "text": "修复仅包含 VALUES 列表的视图的转储，使其能够处理视图输出列被重命名的情况（Tom Lane）", "title": "修复仅包含 VALUES 列表的视图的转储，使其能够处理视图输出列被重命名的情况", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/10.12/#id-1.11.6.16.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": ["a1b2cf095"], "source_entry_id": "10.12/changes/029", "db_id": "04dbf98c6fd89d5d83a6ee1523f36485", "patch_ids": ["d0e5f9a5954b0ba7bf2c6cded4624789"], "statement_hash": "30dd3a000cd75714571897ab68be85070f76b5e6845e37b477eb18f25418d8db", "relations": [{"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": "c5a470b36ead1242493daddc8fb98bc3", "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": "10.12", "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": "c5a470b36ead1242493daddc8fb98bc3", "kind": "equivalent", "version": "9.6.17", "label": "9.6.17", "title": "修复仅包含 VALUES 列表的视图的转储，以处理视图输出列被改名的情况", "evidence": {"same_day": true, "patch_ids": ["d0e5f9a5954b0ba7bf2c6cded4624789"], "statement_hash": "30dd3a000cd75714571897ab68be85070f76b5e6845e37b477eb18f25418d8db"}, "url": "/docs/compare/?release=9.6.17#9.6.17-271ea55e3cdb7c40", "source_url": "/docs/release/9.6.17/#id-1.11.6.12.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": "10.12-c788d074145cbba1", "cves": [], "html": "<p>确保计算视图或规则的依赖关系时，将 <code>XMLTABLE</code> 结构中使用的数据类型和排序规则考虑在内（Tom Lane）</p>\n<p>以前，如果某个类型未在视图中的其他地方被引用，删除该类型就可能破坏使用 <code>XMLTABLE</code> 的视图。此修复不会纠正现有视图已记录的依赖关系，仅对新建视图生效。</p>", "text": "确保计算视图或规则的依赖关系时，将 XMLTABLE 结构中使用的数据类型和排序规则考虑在内（Tom Lane） 以前，如果某个类型未在视图中的其他地方被引用，删除该类型就可能破坏使用 XMLTABLE 的视图。此修复不会纠正现有视图已记录的依赖关系，仅对新建视图生效。", "title": "确保计算视图或规则的依赖关系时，将 XMLTABLE 结构中使用的数据类型和排序规则考虑在内", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/10.12/#id-1.11.6.16.5", "source_hash": "5b46365b6cbb58cda10ab478469623f9ea4bce08a8ad457f449e07327c8039a4", "section_path": ["变更"], "commit_groups": [["2c7b5dad6", "94a9cb43f", "e25c4b3b2", "eec569fac"]], "identity_text": "Ensure that data types and collations used in XMLTABLE constructs are accounted for when computing dependencies of a view or rule (Tom Lane) Previously it was possible to break a view using XMLTABLE by dropping a type, if the type was not otherwise referenced in the view. This fix does not correct the dependencies already recorded for existing views, only for newly-created ones.", "commit_aliases": ["2c7b5dad6", "94a9cb43f", "e25c4b3b2", "eec569fac"], "source_commits": ["e25c4b3b2"], "source_entry_id": "10.12/changes/030", "db_id": "95da4d3d43d164b3550846f066addf43", "patch_ids": ["422eef9a649631dd0987d781b97095c0"], "statement_hash": "3329b91759b88736164365db421ae5e3ad53510bd565b262ab5b6962e4bb1643", "relations": [{"rule": 2, "type": "equivalent", "target": "cc29d56cbb9ffcd9c788434fe96a62b2", "evidence": {"same_day": true, "patch_ids": ["422eef9a649631dd0987d781b97095c0"], "statement_hash": "3329b91759b88736164365db421ae5e3ad53510bd565b262ab5b6962e4bb1643"}}, {"rule": 2, "type": "equivalent", "target": "f959c19639a01d3e8a70e15af3187814", "evidence": {"same_day": true, "patch_ids": ["422eef9a649631dd0987d781b97095c0"], "statement_hash": "3329b91759b88736164365db421ae5e3ad53510bd565b262ab5b6962e4bb1643"}}], "version": "10.12", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "cc29d56cbb9ffcd9c788434fe96a62b2", "kind": "equivalent", "version": "12.2", "label": "12.2", "title": "确保计算视图或规则的依赖关系时，将 XMLTABLE 结构中使用的数据类型和排序规则考虑在内", "evidence": {"same_day": true, "patch_ids": ["422eef9a649631dd0987d781b97095c0"], "statement_hash": "3329b91759b88736164365db421ae5e3ad53510bd565b262ab5b6962e4bb1643"}, "url": "/docs/compare/?release=12.2#12.2-773d10b6127287f8", "source_url": "/docs/release/12.2/#id-1.11.6.26.5"}, {"db_id": "f959c19639a01d3e8a70e15af3187814", "kind": "equivalent", "version": "11.7", "label": "11.7", "title": "确保计算视图或规则的依赖关系时，将 XMLTABLE 结构中使用的数据类型和排序规则考虑在内", "evidence": {"same_day": true, "patch_ids": ["422eef9a649631dd0987d781b97095c0"], "statement_hash": "3329b91759b88736164365db421ae5e3ad53510bd565b262ab5b6962e4bb1643"}, "url": "/docs/compare/?release=11.7#11.7-c788d074145cbba1", "source_url": "/docs/release/11.7/#id-1.11.6.20.5"}]}, {"id": "10.12-6e2ad195644519f7", "cves": [], "html": "<p>防止 RADIUS 认证参数被意外转换为小写或截断（Marcos David）</p>\n<p><code>pg_hba.conf</code> 解析器错误地将这些字段当作 SQL 标识符，而它们通常并不是。</p>", "text": "防止 RADIUS 认证参数被意外转换为小写或截断（Marcos David） pg_hba.conf 解析器错误地将这些字段当作 SQL 标识符，而它们通常并不是。", "title": "防止 RADIUS 认证参数被意外转换为小写或截断", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/10.12/#id-1.11.6.16.5", "source_hash": "4653188e7e70d38cf24c032eacf510dc4793317fdcd3362964cdea240b4a4552", "section_path": ["变更"], "commit_groups": [["4be69e2ea", "7618eaf5f", "d66e68207", "d9802590a"]], "identity_text": "Prevent unwanted downcasing and truncation of RADIUS authentication parameters (Marcos David) The pg_hba.conf parser mistakenly treated these fields as SQL identifiers, which in general they aren't.", "commit_aliases": ["4be69e2ea", "7618eaf5f", "d66e68207", "d9802590a"], "source_commits": ["4be69e2ea"], "source_entry_id": "10.12/changes/031", "db_id": "522ea1fcec7854fcda46a5fb4bd0be88", "patch_ids": ["de0bcd26a10af59d81dc3959ae91126c"], "statement_hash": "ad7f924f9d76eb9b4ac43106913b415b76944cd8d5762bcf3c7dfadc54f0f836", "relations": [{"rule": 2, "type": "equivalent", "target": "181ae179b54004c0d0c97a9b4e454e79", "evidence": {"same_day": true, "patch_ids": ["de0bcd26a10af59d81dc3959ae91126c"], "statement_hash": "ad7f924f9d76eb9b4ac43106913b415b76944cd8d5762bcf3c7dfadc54f0f836"}}, {"rule": 2, "type": "equivalent", "target": "29773310048bc4d62b7cd8d426cd3cd0", "evidence": {"same_day": true, "patch_ids": ["de0bcd26a10af59d81dc3959ae91126c"], "statement_hash": "ad7f924f9d76eb9b4ac43106913b415b76944cd8d5762bcf3c7dfadc54f0f836"}}], "version": "10.12", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "181ae179b54004c0d0c97a9b4e454e79", "kind": "equivalent", "version": "12.2", "label": "12.2", "title": "防止 RADIUS 认证参数被意外转换为小写或截断", "evidence": {"same_day": true, "patch_ids": ["de0bcd26a10af59d81dc3959ae91126c"], "statement_hash": "ad7f924f9d76eb9b4ac43106913b415b76944cd8d5762bcf3c7dfadc54f0f836"}, "url": "/docs/compare/?release=12.2#12.2-fb103ed2403065de", "source_url": "/docs/release/12.2/#id-1.11.6.26.5"}, {"db_id": "29773310048bc4d62b7cd8d426cd3cd0", "kind": "equivalent", "version": "11.7", "label": "11.7", "title": "防止 RADIUS 认证参数被意外转换为小写或截断", "evidence": {"same_day": true, "patch_ids": ["de0bcd26a10af59d81dc3959ae91126c"], "statement_hash": "ad7f924f9d76eb9b4ac43106913b415b76944cd8d5762bcf3c7dfadc54f0f836"}, "url": "/docs/compare/?release=11.7#11.7-6e2ad195644519f7", "source_url": "/docs/release/11.7/#id-1.11.6.20.5"}]}, {"id": "10.12-8d456906e9cde243", "cves": [], "html": "<p>在发送 <code>ReadyForQuery</code> 之前向客户端传送收到的 <code>NOTIFY</code> 消息，而非在之后发送（Tom Lane）</p>\n<p>此更改确保，对于 libpq 以及行为类似的其他客户端库，当客户端认为事务已完成时，事务期间收到的所有通知都已可用。这在实际应用中可能没有影响（无论如何，应用都需要处理异步通知），但更便于编写行为可重现的测试用例。</p>", "text": "在发送 ReadyForQuery 之前向客户端传送收到的 NOTIFY 消息，而非在之后发送（Tom Lane） 此更改确保，对于 libpq 以及行为类似的其他客户端库，当客户端认为事务已完成时，事务期间收到的所有通知都已可用。这在实际应用中可能没有影响（无论如何，应用都需要处理异步通知），但更便于编写行为可重现的测试用例。", "title": "在发送 ReadyForQuery 之前向客户端传送收到的 NOTIFY 消息，而非在之后发送", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/10.12/#id-1.11.6.16.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": ["dbe15524b"], "source_entry_id": "10.12/changes/032", "db_id": "c119abea7e9d42151b4f9b00b579082b", "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": "f7b4edeffd8f7e2bbd60da7e8191bcaf", "evidence": {"same_day": true, "patch_ids": ["143ac7220b04444a8a549b7e07106f4c"], "statement_hash": "8312a6e591ff94226aa79fbd57a837b0f77fedcc878f005bd0cf9b138118552a"}}], "version": "10.12", "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": "f7b4edeffd8f7e2bbd60da7e8191bcaf", "kind": "equivalent", "version": "9.6.17", "label": "9.6.17", "title": "把传入的 NOTIFY 消息在发送 ReadyForQuery 之前而不是之后传给客户端", "evidence": {"same_day": true, "patch_ids": ["143ac7220b04444a8a549b7e07106f4c"], "statement_hash": "8312a6e591ff94226aa79fbd57a837b0f77fedcc878f005bd0cf9b138118552a"}, "url": "/docs/compare/?release=9.6.17#9.6.17-c62c77f1fc1b6427", "source_url": "/docs/release/9.6.17/#id-1.11.6.12.5"}]}, {"id": "10.12-a18dd44ba61d6ab0", "cves": [], "html": "<p>即使未编译 GSSAPI 代码，也允许 <span>libpq</span> 解析所有与 GSS 有关的连接参数（Tom Lane）</p>\n<p>这使其行为与我们的 SSL 支持类似：我们早已认为始终接受所有相关参数是可取的，即使某个构建缺少相应特性，导致部分参数被忽略或受到限制。</p>", "text": "即使未编译 GSSAPI 代码，也允许 libpq 解析所有与 GSS 有关的连接参数（Tom Lane） 这使其行为与我们的 SSL 支持类似：我们早已认为始终接受所有相关参数是可取的，即使某个构建缺少相应特性，导致部分参数被忽略或受到限制。", "title": "即使未编译 GSSAPI 代码，也允许 libpq 解析所有与 GSS 有关的连接参数", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/10.12/#id-1.11.6.16.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": ["d09cfa3e2"], "source_entry_id": "10.12/changes/033", "db_id": "784fb8e33c762755c78c61d3c0255575", "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": "403244521d4fdb482380e481cc2ced93", "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": "b722089a0263aa3d6c363961a1789ede", "evidence": {"same_day": true, "patch_ids": ["545032ece7d355adeec65ef480fad60d"], "statement_hash": "1206a1ac182d983384194ddf901975451c4f893e2c798f2df70cc5614c46e763"}}], "version": "10.12", "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": "403244521d4fdb482380e481cc2ced93", "kind": "equivalent", "version": "9.6.17", "label": "9.6.17", "title": "允许 libpq 在未编译 GSSAPI 代码时也解析所有与 GSS 相关的连接参数", "evidence": {"same_day": true, "patch_ids": ["545032ece7d355adeec65ef480fad60d"], "statement_hash": "1206a1ac182d983384194ddf901975451c4f893e2c798f2df70cc5614c46e763"}, "url": "/docs/compare/?release=9.6.17#9.6.17-1eba4957cff6dc49", "source_url": "/docs/release/9.6.17/#id-1.11.6.12.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": "10.12-fec0d969ab1ed0c5", "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/10.12/#id-1.11.6.16.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": ["f71b22f53"], "source_entry_id": "10.12/changes/034", "db_id": "f7eb19a202cef3c275a0ac6028d63ec8", "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": "ccd200283e6eaabea774bf29b3a5c9b0", "evidence": {"same_day": true, "patch_ids": ["98ce3485e7421c58dabcd04707a8b4dc"], "statement_hash": "55f40e67e7ff67ce051d1e229c5b9805045fa9e0750b98da37f72bd574814bf6"}}], "version": "10.12", "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": "ccd200283e6eaabea774bf29b3a5c9b0", "kind": "equivalent", "version": "9.6.17", "label": "9.6.17", "title": "修复 ecpg 的 PGTYPEStimestamp_fmt_asc() 函数中 %b 和 %B 格式代码的错误处理", "evidence": {"same_day": true, "patch_ids": ["98ce3485e7421c58dabcd04707a8b4dc"], "statement_hash": "55f40e67e7ff67ce051d1e229c5b9805045fa9e0750b98da37f72bd574814bf6"}, "url": "/docs/compare/?release=9.6.17#9.6.17-0c629553afdfef1a", "source_url": "/docs/release/9.6.17/#id-1.11.6.12.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": "10.12-5ae69ff611ec986e", "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/10.12/#id-1.11.6.16.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": ["8b1d447a7"], "source_entry_id": "10.12/changes/035", "db_id": "c1a394e88df8828ac55b88015435150b", "patch_ids": ["0d7f5bc545ea1e1a61a67392cf699588"], "statement_hash": "7e204789eeadc31c686e16ec9957cb9befb4b28d48d5c03d21cddfba4184ac1b", "relations": [{"rule": 2, "type": "equivalent", "target": "0ab31d1c876e317b3b92455400a0ad54", "evidence": {"same_day": true, "patch_ids": ["0d7f5bc545ea1e1a61a67392cf699588"], "statement_hash": "7e204789eeadc31c686e16ec9957cb9befb4b28d48d5c03d21cddfba4184ac1b"}}, {"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": "e0a38ce313ac6d1f4adca0f715b2100c", "evidence": {"same_day": true, "patch_ids": ["0d7f5bc545ea1e1a61a67392cf699588"], "statement_hash": "7e204789eeadc31c686e16ec9957cb9befb4b28d48d5c03d21cddfba4184ac1b"}}], "version": "10.12", "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": "0ab31d1c876e317b3b92455400a0ad54", "kind": "equivalent", "version": "9.6.17", "label": "9.6.17", "title": "修复并行 pg_dump/pg_restore 更优雅地处理工作者进程创建失败", "evidence": {"same_day": true, "patch_ids": ["0d7f5bc545ea1e1a61a67392cf699588"], "statement_hash": "7e204789eeadc31c686e16ec9957cb9befb4b28d48d5c03d21cddfba4184ac1b"}, "url": "/docs/compare/?release=9.6.17#9.6.17-dcdce388ce7b0731", "source_url": "/docs/release/9.6.17/#id-1.11.6.12.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": "10.12-0d312ba445ab7934", "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/10.12/#id-1.11.6.16.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": ["6f6daa1be"], "source_entry_id": "10.12/changes/036", "db_id": "791b656bd54dbd56091c423512e75420", "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": "30c6a89696ef02370e40ff591f5789bf", "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": "c8a304f2379323f0227ce2a1b8869c64", "evidence": {"same_day": true, "patch_ids": ["e1cd77d183d2459836ef8973a423eb92"], "statement_hash": "4c13e614942a0d58d6085d345b46b5cdafb2d5bc4ba245d4f7cae8ffa05c14ad"}}], "version": "10.12", "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": "30c6a89696ef02370e40ff591f5789bf", "kind": "equivalent", "version": "9.6.17", "label": "9.6.17", "title": "防止试图通过信号终止并行 pg_dump/ pg_restore 运行时可能的崩溃或锁死", "evidence": {"same_day": true, "patch_ids": ["e1cd77d183d2459836ef8973a423eb92"], "statement_hash": "4c13e614942a0d58d6085d345b46b5cdafb2d5bc4ba245d4f7cae8ffa05c14ad"}, "url": "/docs/compare/?release=9.6.17#9.6.17-a790382d436d3cc1", "source_url": "/docs/release/9.6.17/#id-1.11.6.12.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": "10.12-41d9427b28e0b0b3", "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/10.12/#id-1.11.6.16.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": ["c443e3c43"], "source_entry_id": "10.12/changes/037", "db_id": "74783fe19c389a77224012f635160ade", "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": "0ab2f2ca5c2b135c457c21f3595980b8", "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": "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": "10.12", "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": "0ab2f2ca5c2b135c457c21f3595980b8", "kind": "equivalent", "version": "9.6.17", "label": "9.6.17", "title": "在 pg_upgrade 中，搜索表中不可升级数据类型时深入数组和范围内部", "evidence": {"same_day": true, "patch_ids": ["74d41ab4c40159181bb8920ee36a3c7e"], "statement_hash": "a5dd0a05f1c41159d81f38173b9d06bd1a19f0b19513ef285505231dcf1cba9c"}, "url": "/docs/compare/?release=9.6.17#9.6.17-be93656835fc86aa", "source_url": "/docs/release/9.6.17/#id-1.11.6.12.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": "10.12-371020823f41ae89", "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/10.12/#id-1.11.6.16.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": ["163161723"], "source_entry_id": "10.12/changes/038", "db_id": "6ec6a13d850db767e6e2536e23768de0", "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": "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"}}, {"rule": 2, "type": "equivalent", "target": "f24349c048fce4cf9edd50066318ee95", "evidence": {"same_day": true, "patch_ids": ["82bbe077a5af18f2fb190df9988f8463"], "statement_hash": "582979dc3b176f6fe8326b28f8781ab6c9c1284e0a8238baca9f056232b0a7bf"}}], "version": "10.12", "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": "f24349c048fce4cf9edd50066318ee95", "kind": "equivalent", "version": "9.6.17", "label": "9.6.17", "title": "对 createuser 的 --connection-limit 选项应用更彻底的语法检查", "evidence": {"same_day": true, "patch_ids": ["82bbe077a5af18f2fb190df9988f8463"], "statement_hash": "582979dc3b176f6fe8326b28f8781ab6c9c1284e0a8238baca9f056232b0a7bf"}, "url": "/docs/compare/?release=9.6.17#9.6.17-b082d655815777b8", "source_url": "/docs/release/9.6.17/#id-1.11.6.12.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": "10.12-967ee5bb1eff39ff", "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/10.12/#id-1.11.6.16.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": ["603e03b4c"], "source_entry_id": "10.12/changes/039", "db_id": "47bda0c9b65e721eb9e7e84b25109437", "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": "7f3c7ba755d87c1bdb76fee6cb3e78c2", "evidence": {"same_day": true, "patch_ids": ["5040564ec8a1a3c07025a342dbe47d2a"], "statement_hash": "d24bc08f7ca52c7726e29023ac359690d8b71936f3627a5f64f27acc39488998"}}, {"rule": 2, "type": "equivalent", "target": "e27112c0d6245df3a5108ead7215cfd0", "evidence": {"same_day": true, "patch_ids": ["5040564ec8a1a3c07025a342dbe47d2a"], "statement_hash": "d24bc08f7ca52c7726e29023ac359690d8b71936f3627a5f64f27acc39488998"}}], "version": "10.12", "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": "e27112c0d6245df3a5108ead7215cfd0", "kind": "equivalent", "version": "9.6.17", "label": "9.6.17", "title": "避免 postgres_fdw 尝试向远程服务器发送诸如 UPDATE remote_tab SET (x,y) = (SELECT ...) 之类的命令时崩溃", "evidence": {"same_day": true, "patch_ids": ["5040564ec8a1a3c07025a342dbe47d2a"], "statement_hash": "d24bc08f7ca52c7726e29023ac359690d8b71936f3627a5f64f27acc39488998"}, "url": "/docs/compare/?release=9.6.17#9.6.17-4782f6a441481636", "source_url": "/docs/release/9.6.17/#id-1.11.6.12.5"}]}, {"id": "10.12-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/10.12/#id-1.11.6.16.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": ["46ce37b67"], "source_entry_id": "10.12/changes/040", "db_id": "bf83de008875737dca0e646e1d486e02", "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": "c5e06cb8326bc8a725a74efea95e71ec", "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": "10.12", "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": "c5e06cb8326bc8a725a74efea95e71ec", "kind": "equivalent", "version": "9.6.17", "label": "9.6.17", "title": "在 contrib/dict_int 中，拒绝小于一的 maxlen 设置", "evidence": {"same_day": true, "patch_ids": ["78950363d28b5b851c829de00fe014dd"], "statement_hash": "d3ed30d197b4f05dcc2cc52d1553b7542cc1246fc43ff2c7d37678facadf864b"}, "url": "/docs/compare/?release=9.6.17#9.6.17-a7dcf58cc8a56710", "source_url": "/docs/release/9.6.17/#id-1.11.6.12.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": "10.12-24a922487b468ce3", "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/10.12/#id-1.11.6.16.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": ["81be0c57e"], "source_entry_id": "10.12/changes/041", "db_id": "f83454331b5ef1e28904b1610d5ddd72", "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": "0c98a8da40ed6ad88d98ca9f21729dfc", "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"}}], "version": "10.12", "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": "0c98a8da40ed6ad88d98ca9f21729dfc", "kind": "equivalent", "version": "9.6.17", "label": "9.6.17", "title": "禁止 contrib/tablefunc 的 crosstab() 函数中的 NULL 类别值", "evidence": {"same_day": true, "patch_ids": ["f2a9c1eb425c6456d03f47fabd3d3e7e"], "statement_hash": "0bde96774dd728bfb5560fb48ede623d28e36ff4adc4a371bf0dd6f6456a87fe"}, "url": "/docs/compare/?release=9.6.17#9.6.17-765b25a9800cd9d2", "source_url": "/docs/release/9.6.17/#id-1.11.6.12.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": "10.12-7267b3966bed0938", "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/10.12/#id-1.11.6.16.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": ["1ef7332b7"], "source_entry_id": "10.12/changes/042", "db_id": "54d3a8810a8ca6ccdafb8b416327d62f", "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": "275acdb8831839189050f410a327525f", "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": "10.12", "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": "275acdb8831839189050f410a327525f", "kind": "equivalent", "version": "9.6.17", "label": "9.6.17", "title": "把一些超时和统计追踪 GUC 变量标记为 PGDLLIMPORT，以允许扩展在 Windows 上访问它们", "evidence": {"same_day": true, "patch_ids": ["f1d97a9ee24e3765b7a8b6ec9f27c91d"], "statement_hash": "22c7ce86ae7b61116cfa7cebc5eb4a1e7334fe6e0dc9dd399b62cb86d2905f2b"}, "url": "/docs/compare/?release=9.6.17#9.6.17-6abd3d3d31b0412d", "source_url": "/docs/release/9.6.17/#id-1.11.6.12.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": "10.12-450fb2dc0f53fd65", "cves": [], "html": "<p>避免 <span>“<span>slab</span>”</span> 内存上下文健全性检查中的内存泄漏（Tomas Vondra）</p>\n<p>这不会影响生产构建，因为它们通常不会启用内存上下文检查；但在调试构建中，这种泄漏可能相当严重。</p>", "text": "避免 “slab” 内存上下文健全性检查中的内存泄漏（Tomas Vondra） 这不会影响生产构建，因为它们通常不会启用内存上下文检查；但在调试构建中，这种泄漏可能相当严重。", "title": "避免 “slab” 内存上下文健全性检查中的内存泄漏", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/10.12/#id-1.11.6.16.5", "source_hash": "9b9dcc64e3d46b2a54aceafe23d7598aa6f9c4822dddb303a7f97c5139851d40", "section_path": ["变更"], "commit_groups": [["162c951df", "543852fd8", "8c37e4469", "a801452c9"]], "identity_text": "Avoid memory leak in sanity checks for slab memory contexts (Tomas Vondra) This isn't an issue for production builds, since they wouldn't ordinarily have memory context checking enabled; but the leak could be quite severe in a debug build.", "commit_aliases": ["162c951df", "543852fd8", "8c37e4469", "a801452c9"], "source_commits": ["a801452c9"], "source_entry_id": "10.12/changes/043", "db_id": "0d32ad5ea6ecce2ce28859d0a916f224", "patch_ids": ["2415e06c3b6a2f2d0cfd58352b77b276"], "statement_hash": "c29c1600c9463b877d9882e04cc1b4b8b43eb199478e414c74a86cee95b9d008", "relations": [{"rule": 2, "type": "equivalent", "target": "b040cacec93c526d6f8045a1c4409637", "evidence": {"same_day": true, "patch_ids": ["2415e06c3b6a2f2d0cfd58352b77b276"], "statement_hash": "c29c1600c9463b877d9882e04cc1b4b8b43eb199478e414c74a86cee95b9d008"}}, {"rule": 2, "type": "equivalent", "target": "f710962f9e1676054b073ea4fde7287b", "evidence": {"same_day": true, "patch_ids": ["2415e06c3b6a2f2d0cfd58352b77b276"], "statement_hash": "c29c1600c9463b877d9882e04cc1b4b8b43eb199478e414c74a86cee95b9d008"}}], "version": "10.12", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "f710962f9e1676054b073ea4fde7287b", "kind": "equivalent", "version": "12.2", "label": "12.2", "title": "避免 “slab” 内存上下文健全性检查中的内存泄漏", "evidence": {"same_day": true, "patch_ids": ["2415e06c3b6a2f2d0cfd58352b77b276"], "statement_hash": "c29c1600c9463b877d9882e04cc1b4b8b43eb199478e414c74a86cee95b9d008"}, "url": "/docs/compare/?release=12.2#12.2-4b66ce98e56205d6", "source_url": "/docs/release/12.2/#id-1.11.6.26.5"}, {"db_id": "b040cacec93c526d6f8045a1c4409637", "kind": "equivalent", "version": "11.7", "label": "11.7", "title": "避免 “slab” 内存上下文健全性检查中的内存泄漏", "evidence": {"same_day": true, "patch_ids": ["2415e06c3b6a2f2d0cfd58352b77b276"], "statement_hash": "c29c1600c9463b877d9882e04cc1b4b8b43eb199478e414c74a86cee95b9d008"}, "url": "/docs/compare/?release=11.7#11.7-450fb2dc0f53fd65", "source_url": "/docs/release/11.7/#id-1.11.6.20.5"}]}, {"id": "10.12-8119d74052e37278", "cves": [], "html": "<p>修复 LWLock 统计机制报告重复统计条目的问题（Fujii Masao）</p>\n<p>由于 hash 表键创建有误，LWLock 统计代码（默认不编译，需要使用 <code>-DLWLOCK_STATS</code> 编译）可能为同一个 LWLock 和后端进程报告多个条目。</p>", "text": "修复 LWLock 统计机制报告重复统计条目的问题（Fujii Masao） 由于 hash 表键创建有误，LWLock 统计代码（默认不编译，需要使用 -DLWLOCK_STATS 编译）可能为同一个 LWLock 和后端进程报告多个条目。", "title": "修复 LWLock 统计机制报告重复统计条目的问题", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/10.12/#id-1.11.6.16.5", "source_hash": "b5dfa1bd00db4b35bd2645ae85a4b243752573802e5f7761e91f10d8833c7d0b", "section_path": ["变更"], "commit_groups": [["3ccc66dac", "3d214a8e5", "ac25e1044", "c17abac60"]], "identity_text": "Fix multiple statistics entries reported by the LWLock statistics mechanism (Fujii Masao) The LWLock statistics code (which is not built by default; it requires compiling with -DLWLOCK_STATS) could report multiple entries for the same LWLock and backend process, as a result of faulty hashtable key creation.", "commit_aliases": ["3ccc66dac", "3d214a8e5", "ac25e1044", "c17abac60"], "source_commits": ["c17abac60"], "source_entry_id": "10.12/changes/044", "db_id": "e8d20f29912808dbf6184cd4c209231d", "patch_ids": ["cbbfd41b31801ba9c772060a489c5936"], "statement_hash": "3f9399fde365605e2329243436909d5597dd0af8996ed559dfe19c54e7a7880f", "relations": [{"rule": 2, "type": "equivalent", "target": "18922379130e9b68e2f4de4f89adf12b", "evidence": {"same_day": true, "patch_ids": ["cbbfd41b31801ba9c772060a489c5936"], "statement_hash": "3f9399fde365605e2329243436909d5597dd0af8996ed559dfe19c54e7a7880f"}}, {"rule": 2, "type": "equivalent", "target": "d8835d9e071f4b14f6a6ec7c33289fed", "evidence": {"same_day": true, "patch_ids": ["cbbfd41b31801ba9c772060a489c5936"], "statement_hash": "3f9399fde365605e2329243436909d5597dd0af8996ed559dfe19c54e7a7880f"}}], "version": "10.12", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "18922379130e9b68e2f4de4f89adf12b", "kind": "equivalent", "version": "12.2", "label": "12.2", "title": "修复 LWLock 统计机制报告重复统计条目的问题", "evidence": {"same_day": true, "patch_ids": ["cbbfd41b31801ba9c772060a489c5936"], "statement_hash": "3f9399fde365605e2329243436909d5597dd0af8996ed559dfe19c54e7a7880f"}, "url": "/docs/compare/?release=12.2#12.2-4af78c24300c2fd5", "source_url": "/docs/release/12.2/#id-1.11.6.26.5"}, {"db_id": "d8835d9e071f4b14f6a6ec7c33289fed", "kind": "equivalent", "version": "11.7", "label": "11.7", "title": "修复 LWLock 统计机制报告重复统计条目的问题", "evidence": {"same_day": true, "patch_ids": ["cbbfd41b31801ba9c772060a489c5936"], "statement_hash": "3f9399fde365605e2329243436909d5597dd0af8996ed559dfe19c54e7a7880f"}, "url": "/docs/compare/?release=11.7#11.7-8119d74052e37278", "source_url": "/docs/release/11.7/#id-1.11.6.20.5"}]}, {"id": "10.12-15784be332a5e34d", "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/10.12/#id-1.11.6.16.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": ["096ea540e"], "source_entry_id": "10.12/changes/045", "db_id": "130639fd506c2e5c05c8d0613d6b833d", "patch_ids": ["035339dce5d3c20882b90f7584206c34"], "statement_hash": "852fd0534ba443462434c14ef978ca7af532be628ae0a3a2efa8dbf8bce71ff5", "relations": [{"rule": 2, "type": "equivalent", "target": "17841ca66c8597b1454cef07840ee0d5", "evidence": {"same_day": true, "patch_ids": ["035339dce5d3c20882b90f7584206c34"], "statement_hash": "852fd0534ba443462434c14ef978ca7af532be628ae0a3a2efa8dbf8bce71ff5"}}, {"rule": 2, "type": "equivalent", "target": "5c95b7fcd1938c3b6d9d9b8864ca7de5", "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": "10.12", "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": "5c95b7fcd1938c3b6d9d9b8864ca7de5", "kind": "equivalent", "version": "9.6.17", "label": "9.6.17", "title": "修复导致 Windows 上进程间信号延迟传递的竞态条件", "evidence": {"same_day": true, "patch_ids": ["035339dce5d3c20882b90f7584206c34"], "statement_hash": "852fd0534ba443462434c14ef978ca7af532be628ae0a3a2efa8dbf8bce71ff5"}, "url": "/docs/compare/?release=9.6.17#9.6.17-c82f1a69711e2d17", "source_url": "/docs/release/9.6.17/#id-1.11.6.12.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": "10.12-d7fa0f8f390e5990", "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/10.12/#id-1.11.6.16.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": ["81b052c31", "a69f5697a"], "source_entry_id": "10.12/changes/046", "db_id": "a372cd6f4bd6a46b1f446180790f0018", "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": "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"}}, {"rule": 2, "type": "equivalent", "target": "fc0d9ffac866b09801c18dae5e11590a", "evidence": {"same_day": true, "patch_ids": ["4f7ddde8569db93f4efb985cf2c73797", "68e4da864468904995c0aca64baa124e"], "statement_hash": "16ed9ee98fe9b2fb52af29cd28ebb8aa2415c20fbc64574b03e075722d2f85a4"}}], "version": "10.12", "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": "fc0d9ffac866b09801c18dae5e11590a", "kind": "equivalent", "version": "9.6.17", "label": "9.6.17", "title": "在 Windows 上，ERROR_ACCESS_DENIED 文件访问失败后重试几次", "evidence": {"same_day": true, "patch_ids": ["4f7ddde8569db93f4efb985cf2c73797", "68e4da864468904995c0aca64baa124e"], "statement_hash": "16ed9ee98fe9b2fb52af29cd28ebb8aa2415c20fbc64574b03e075722d2f85a4"}, "url": "/docs/compare/?release=9.6.17#9.6.17-fac0569c006126a6", "source_url": "/docs/release/9.6.17/#id-1.11.6.12.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": 46}, {"key": "feature", "label": "新功能", "count": 0}, {"key": "bugfix", "label": "BUG 修复", "count": 24}, {"key": "security", "label": "安全相关", "count": 1}, {"key": "performance", "label": "性能改进", "count": 1}, {"key": "compatibility", "label": "兼容性变化", "count": 0}, {"key": "improvement", "label": "其他改进", "count": 20}], "total": 46, "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": "10.12"}], "cve_available": true, "remaining_cves": [], "security_regressions": [], "warnings": [], "candidate_count": 46, "already_in_source_count": 0, "duplicate_count": 0, "excluded_count": 0, "exclusions": [], "source_as_of": "2026-09-26", "security_as_of": "2026-09-26"}