{"format": 1, "mode": "release", "from_release": null, "to_release": {"date": "2018-05-10", "build": "9.5.13", "major": "9.5", "minor": 13, "manual": "9.5", "status": "stable", "doc_git": "", "version": "9.5.13", "eol_date": "2021-02-11", "date_text": "2018-05-10", "supported": false, "manual_url": "/docs/9.5/release-9-5-13.html", "source_url": "/docs/release/9.5.13/", "entry_count": 38, "placeholder": false, "content_hash": "7e3fdda54a3ea7210da2956fb3e490a4ebca63473745a9248d0d44e6dcf50b5e", "manual_build": "9.5.25", "source_as_of": "", "changes_count": 38, "doc_loaded_at": "2026-09-26T02:56:44.718140", "migration_html": "<p>对于运行 9.5.X 的用户，不需要转储/恢复。</p>\n<p>不过，如果下面第一条变更日志条目中提到的函数标记错误影响到你，你可能需要采取措施更正数据库系统目录。</p>\n<p>另外，如果你是从 9.5.12 之前的版本升级，参见<a href=\"/docs/9.5/release-9-5-12.html\" title=\"E.14. 版本 9.5.12\">第 E.14 节</a>。</p>", "compatibility_count": 0, "label": "9.5.13", "status_label": "历史版本", "eol": "2021-02-11", "age_days": 3065, "support_days": -2057}, "groups": [{"date": "2018-05-10", "build": "9.5.13", "major": "9.5", "minor": 13, "manual": "9.5", "status": "stable", "doc_git": "", "version": "9.5.13", "eol_date": "2021-02-11", "date_text": "2018-05-10", "supported": false, "manual_url": "/docs/9.5/release-9-5-13.html", "source_url": "/docs/release/9.5.13/", "entry_count": 38, "placeholder": false, "content_hash": "7e3fdda54a3ea7210da2956fb3e490a4ebca63473745a9248d0d44e6dcf50b5e", "manual_build": "9.5.25", "source_as_of": "", "changes_count": 38, "doc_loaded_at": "2026-09-26T02:56:44.718140", "migration_html": "<p>对于运行 9.5.X 的用户，不需要转储/恢复。</p>\n<p>不过，如果下面第一条变更日志条目中提到的函数标记错误影响到你，你可能需要采取措施更正数据库系统目录。</p>\n<p>另外，如果你是从 9.5.12 之前的版本升级，参见<a href=\"/docs/9.5/release-9-5-12.html\" title=\"E.14. 版本 9.5.12\">第 E.14 节</a>。</p>", "compatibility_count": 0, "label": "9.5.13", "status_label": "历史版本", "eol": "2021-02-11", "age_days": 3065, "support_days": -2057, "entries": [{"id": "9.5.13-6a75d650dd5360e4", "cves": [], "html": "<p>修复少数内建函数上不正确的易变性标记（Thomas Munro、Tom Lane）</p>\n<p>函数 <code>query_to_xml</code>、<code>cursor_to_xml</code>、<code>cursor_to_xmlschema</code>、<code>query_to_xmlschema</code> 和 <code>query_to_xml_and_xmlschema</code> 应标记为 volatile，因为它们执行可能包含易变操作的用户提供的查询。它们没有被这样标记，导致错误查询优化的风险。新安装已通过更正初始目录数据修复，但现有安装将继续包含错误标记。实际使用这些函数似乎危害不大，但如遇到麻烦，可以手动更新这些函数的 <code>pg_proc</code> 条目来修复，例如 <code>ALTER FUNCTION pg_catalog.query_to_xml(text, boolean, boolean, text) VOLATILE</code>。（注意安装中的每个数据库都需要这样做。）另一个选择是把数据库 <span>pg_upgrade</span> 到包含更正后初始数据的版本。</p>", "text": "修复少数内建函数上不正确的易变性标记（Thomas Munro、Tom Lane） 函数 query_to_xml、cursor_to_xml、cursor_to_xmlschema、query_to_xmlschema 和 query_to_xml_and_xmlschema 应标记为 volatile，因为它们执行可能包含易变操作的用户提供的查询。它们没有被这样标记，导致错误查询优化的风险。新安装已通过更正初始目录数据修复，但现有安装将继续包含错误标记。实际使用这些函数似乎危害不大，但如遇到麻烦，可以手动更新这些函数的 pg_proc 条目来修复，例如 ALTER FUNCTION pg_catalog.query_to_xml(text, boolean, boolean, text) VOLATILE。（注意安装中的每个数据库都需要这样做。）另一个选择是把数据库 pg_upgrade 到包含更正后初始数据的版本。", "title": "修复少数内建函数上不正确的易变性标记", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.5.13/#id-1.11.6.17.5", "source_hash": "ad86abde4eeaf014eb2069ca872f1e8ba47d53f11b664b9a0f5933deef574e61", "section_path": ["变更"], "commit_groups": [], "identity_text": "Fix incorrect volatility markings on a few built-in functions (Thomas Munro, Tom Lane) The functions query_to_xml, cursor_to_xml, cursor_to_xmlschema, query_to_xmlschema, and query_to_xml_and_xmlschema should be marked volatile because they execute user-supplied queries that might contain volatile operations. They were not, leading to a risk of incorrect query optimization. This has been repaired for new installations by correcting the initial catalog data, but existing installations will continue to contain the incorrect markings. Practical use of these functions seems to pose little hazard, but in case of trouble, it can be fixed by manually updating these functions' pg_proc entries, for example ALTER FUNCTION pg_catalog.query_to_xml(text, boolean, boolean, text) VOLATILE. (Note that that will need to be done in each database of the installation.) Another option is to pg_upgrade the database to a version containing the corrected initial data.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.5.13/changes/001", "db_id": "5b3b555d5cbf741c78a2ffd945e5a415", "patch_ids": [], "statement_hash": "a848020ace21692d8bfea310bd5099e26e664b6b63f997e2f6b10411bf84f83f", "relations": [{"rule": 2, "type": "equivalent", "target": "090b34a702ec6a2ca8c64febbfa28ccf", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a848020ace21692d8bfea310bd5099e26e664b6b63f997e2f6b10411bf84f83f"}}, {"rule": 2, "type": "equivalent", "target": "4dbf8dadd96c167df439302bf984d30d", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a848020ace21692d8bfea310bd5099e26e664b6b63f997e2f6b10411bf84f83f", "ambiguous_patch_ids": ["803b6d012c731531667f61834b5cd4e4"]}}, {"rule": 2, "type": "equivalent", "target": "4e64c4d279195ebda2ab22e8ffc64993", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a848020ace21692d8bfea310bd5099e26e664b6b63f997e2f6b10411bf84f83f"}}, {"rule": 2, "type": "equivalent", "target": "a6ba23544bda9d746f0fa25a72cecaf6", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a848020ace21692d8bfea310bd5099e26e664b6b63f997e2f6b10411bf84f83f"}}], "version": "9.5.13", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "4dbf8dadd96c167df439302bf984d30d", "kind": "equivalent", "version": "10.4", "label": "10.4", "title": "修复若干内置函数不正确的易变性标记", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a848020ace21692d8bfea310bd5099e26e664b6b63f997e2f6b10411bf84f83f", "ambiguous_patch_ids": ["803b6d012c731531667f61834b5cd4e4"]}, "url": "/docs/compare/?release=10.4#10.4-d2ec23ec103b9769", "source_url": "/docs/release/10.4/#id-1.11.6.24.5"}, {"db_id": "a6ba23544bda9d746f0fa25a72cecaf6", "kind": "equivalent", "version": "9.6.9", "label": "9.6.9", "title": "修复少数内建函数上不正确的易变性标记", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a848020ace21692d8bfea310bd5099e26e664b6b63f997e2f6b10411bf84f83f"}, "url": "/docs/compare/?release=9.6.9#9.6.9-6a75d650dd5360e4", "source_url": "/docs/release/9.6.9/#id-1.11.6.20.5"}, {"db_id": "4e64c4d279195ebda2ab22e8ffc64993", "kind": "equivalent", "version": "9.4.18", "label": "9.4.18", "title": "修复少数内建函数上不正确的易变性标记", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a848020ace21692d8bfea310bd5099e26e664b6b63f997e2f6b10411bf84f83f"}, "url": "/docs/compare/?release=9.4.18#9.4.18-6a75d650dd5360e4", "source_url": "/docs/release/9.4.18/#id-1.11.6.13.5"}, {"db_id": "090b34a702ec6a2ca8c64febbfa28ccf", "kind": "equivalent", "version": "9.3.23", "label": "9.3.23", "title": "修复少数内建函数上不正确的易变性标记", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a848020ace21692d8bfea310bd5099e26e664b6b63f997e2f6b10411bf84f83f"}, "url": "/docs/compare/?release=9.3.23#9.3.23-6a75d650dd5360e4", "source_url": "/docs/release/9.3.23/#id-1.11.6.7.5"}]}, {"id": "9.5.13-0b36128b9f1d5314", "cves": [], "html": "<p>避免重用与已死但尚未清理的 TOAST 条目匹配的 TOAST 值 OID（Pavan Deolasee）</p>\n<p>一旦 OID 计数器回卷，就可能分配一个 OID 与同一 TOAST 表中先前删除的条目匹配的 TOAST 值。如果该条目尚未被清理，就会导致 <span>“<span>unexpected chunk number 0 (expected 1) for toast value <em><code>nnnnn</code></em></span>”</span> 错误，并持续到 <code>VACUUM</code> 移除死条目为止。修复方法是创建新 TOAST 条目时不选择这种 OID。</p>", "text": "避免重用与已死但尚未清理的 TOAST 条目匹配的 TOAST 值 OID（Pavan Deolasee） 一旦 OID 计数器回卷，就可能分配一个 OID 与同一 TOAST 表中先前删除的条目匹配的 TOAST 值。如果该条目尚未被清理，就会导致 “unexpected chunk number 0 (expected 1) for toast value nnnnn” 错误，并持续到 VACUUM 移除死条目为止。修复方法是创建新 TOAST 条目时不选择这种 OID。", "title": "避免重用与已死但尚未清理的 TOAST 条目匹配的 TOAST 值 OID", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.5.13/#id-1.11.6.17.5", "source_hash": "d05641636bce96e46895a854d51f8c25480af75082a92ce242f2d1f0a39e7801", "section_path": ["变更"], "commit_groups": [], "identity_text": "Avoid re-using TOAST value OIDs that match dead-but-not-yet-vacuumed TOAST entries (Pavan Deolasee) Once the OID counter has wrapped around, it's possible to assign a TOAST value whose OID matches a previously deleted entry in the same TOAST table. If that entry were not yet vacuumed away, this resulted in unexpected chunk number 0 (expected 1) for toast value nnnnn errors, which would persist until the dead entry was removed by VACUUM. Fix by not selecting such OIDs when creating a new TOAST entry.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.5.13/changes/002", "db_id": "6880622ffcd47407c39b65ab10c581e1", "patch_ids": [], "statement_hash": "41071cbd7b24941a80f90ae00e8631a89cce2cdc34545f79240e099448269380", "relations": [{"rule": 2, "type": "equivalent", "target": "4035d185e648f4a1a98665cfb8f9342c", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "41071cbd7b24941a80f90ae00e8631a89cce2cdc34545f79240e099448269380"}}, {"rule": 2, "type": "equivalent", "target": "862469b6786f98380f5d936984d0d58d", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "41071cbd7b24941a80f90ae00e8631a89cce2cdc34545f79240e099448269380"}}, {"rule": 2, "type": "equivalent", "target": "87f78c7f9303d4e8f2177bdb76e23f66", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "41071cbd7b24941a80f90ae00e8631a89cce2cdc34545f79240e099448269380"}}, {"rule": 2, "type": "equivalent", "target": "e392178093fe6d0921ffb62054aa789b", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "41071cbd7b24941a80f90ae00e8631a89cce2cdc34545f79240e099448269380"}}], "version": "9.5.13", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "e392178093fe6d0921ffb62054aa789b", "kind": "equivalent", "version": "10.4", "label": "10.4", "title": "避免复用与已死亡但尚未清理的 TOAST 条目匹配的 TOAST 值 OID", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "41071cbd7b24941a80f90ae00e8631a89cce2cdc34545f79240e099448269380"}, "url": "/docs/compare/?release=10.4#10.4-742655577058431a", "source_url": "/docs/release/10.4/#id-1.11.6.24.5"}, {"db_id": "4035d185e648f4a1a98665cfb8f9342c", "kind": "equivalent", "version": "9.6.9", "label": "9.6.9", "title": "避免重用与已死但尚未清理的 TOAST 条目匹配的 TOAST 值 OID", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "41071cbd7b24941a80f90ae00e8631a89cce2cdc34545f79240e099448269380"}, "url": "/docs/compare/?release=9.6.9#9.6.9-0b36128b9f1d5314", "source_url": "/docs/release/9.6.9/#id-1.11.6.20.5"}, {"db_id": "87f78c7f9303d4e8f2177bdb76e23f66", "kind": "equivalent", "version": "9.4.18", "label": "9.4.18", "title": "避免重用与已死但尚未清理的 TOAST 条目匹配的 TOAST 值 OID", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "41071cbd7b24941a80f90ae00e8631a89cce2cdc34545f79240e099448269380"}, "url": "/docs/compare/?release=9.4.18#9.4.18-0b36128b9f1d5314", "source_url": "/docs/release/9.4.18/#id-1.11.6.13.5"}, {"db_id": "862469b6786f98380f5d936984d0d58d", "kind": "equivalent", "version": "9.3.23", "label": "9.3.23", "title": "避免重用与已死但尚未清理的 TOAST 条目匹配的 TOAST 值 OID", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "41071cbd7b24941a80f90ae00e8631a89cce2cdc34545f79240e099448269380"}, "url": "/docs/compare/?release=9.3.23#9.3.23-0b36128b9f1d5314", "source_url": "/docs/release/9.3.23/#id-1.11.6.7.5"}]}, {"id": "9.5.13-3a127c2a06a6d238", "cves": [], "html": "<p>更改 <code>ANALYZE</code> 更新 <code>pg_class</code>.<code>reltuples</code> 的算法（David Gould）</p>\n<p>此前，<code>ANALYZE</code> 未实际扫描的页被假定保留其旧的元组密度。在 <code>ANALYZE</code> 只采样很少一部分页的大表中，这意味着总体元组密度估计不会有太大变化，因此无论表中实际发生什么，<code>reltuples</code> 都几乎与表物理大小（<code>relpages</code>）的变化成比例地变化。据观察，这会导致 <code>reltuples</code> 远大于实际值，以致实际上关闭了自动清理。为修复，假定 <code>ANALYZE</code> 的样本是表的无偏统计样本（本应如此），直接把这些页中观察到的密度外推到整表。</p>", "text": "更改 ANALYZE 更新 pg_class.reltuples 的算法（David Gould） 此前，ANALYZE 未实际扫描的页被假定保留其旧的元组密度。在 ANALYZE 只采样很少一部分页的大表中，这意味着总体元组密度估计不会有太大变化，因此无论表中实际发生什么，reltuples 都几乎与表物理大小（relpages）的变化成比例地变化。据观察，这会导致 reltuples 远大于实际值，以致实际上关闭了自动清理。为修复，假定 ANALYZE 的样本是表的无偏统计样本（本应如此），直接把这些页中观察到的密度外推到整表。", "title": "更改 ANALYZE 更新 pg_class.reltuples 的算法", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.5.13/#id-1.11.6.17.5", "source_hash": "17141ed953dc3156ee460c4a49239020017883c218f472673493d5aff17814dc", "section_path": ["变更"], "commit_groups": [], "identity_text": "Change ANALYZE's algorithm for updating pg_class.reltuples (David Gould) Previously, pages not actually scanned by ANALYZE were assumed to retain their old tuple density. In a large table where ANALYZE samples only a small fraction of the pages, this meant that the overall tuple density estimate could not change very much, so that reltuples would change nearly proportionally to changes in the table's physical size (relpages) regardless of what was actually happening in the table. This has been observed to result in reltuples becoming so much larger than reality as to effectively shut off autovacuuming. To fix, assume that ANALYZE's sample is a statistically unbiased sample of the table (as it should be), and just extrapolate the density observed within those pages to the whole table.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.5.13/changes/003", "db_id": "4a1631e90e65b4c3703e7b1179d0803e", "patch_ids": [], "statement_hash": "3f7486be39637dca1b6d81e43cfb528cb043b1048f4d302b41ad6f0bcf06deca", "relations": [{"rule": 2, "type": "equivalent", "target": "0d77dfa076b199c528dac488a698de1c", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "3f7486be39637dca1b6d81e43cfb528cb043b1048f4d302b41ad6f0bcf06deca"}}, {"rule": 2, "type": "equivalent", "target": "1e07897a13bb0d50127fcd293b5bc360", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "3f7486be39637dca1b6d81e43cfb528cb043b1048f4d302b41ad6f0bcf06deca"}}, {"rule": 2, "type": "equivalent", "target": "3e963cf0d2e3a8f46e9b73a2a5a181bd", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "3f7486be39637dca1b6d81e43cfb528cb043b1048f4d302b41ad6f0bcf06deca"}}, {"rule": 2, "type": "equivalent", "target": "49169d0a2a7bf9f563f7cc87052ed66c", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "3f7486be39637dca1b6d81e43cfb528cb043b1048f4d302b41ad6f0bcf06deca"}}], "version": "9.5.13", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "49169d0a2a7bf9f563f7cc87052ed66c", "kind": "equivalent", "version": "10.4", "label": "10.4", "title": "更改 ANALYZE 更新 pg_class.reltuples 的算法", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "3f7486be39637dca1b6d81e43cfb528cb043b1048f4d302b41ad6f0bcf06deca"}, "url": "/docs/compare/?release=10.4#10.4-3a127c2a06a6d238", "source_url": "/docs/release/10.4/#id-1.11.6.24.5"}, {"db_id": "0d77dfa076b199c528dac488a698de1c", "kind": "equivalent", "version": "9.6.9", "label": "9.6.9", "title": "更改 ANALYZE 更新 pg_class.reltuples 的算法", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "3f7486be39637dca1b6d81e43cfb528cb043b1048f4d302b41ad6f0bcf06deca"}, "url": "/docs/compare/?release=9.6.9#9.6.9-3a127c2a06a6d238", "source_url": "/docs/release/9.6.9/#id-1.11.6.20.5"}, {"db_id": "1e07897a13bb0d50127fcd293b5bc360", "kind": "equivalent", "version": "9.4.18", "label": "9.4.18", "title": "更改 ANALYZE 更新 pg_class.reltuples 的算法", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "3f7486be39637dca1b6d81e43cfb528cb043b1048f4d302b41ad6f0bcf06deca"}, "url": "/docs/compare/?release=9.4.18#9.4.18-3a127c2a06a6d238", "source_url": "/docs/release/9.4.18/#id-1.11.6.13.5"}, {"db_id": "3e963cf0d2e3a8f46e9b73a2a5a181bd", "kind": "equivalent", "version": "9.3.23", "label": "9.3.23", "title": "更改 ANALYZE 更新 pg_class.reltuples 的算法", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "3f7486be39637dca1b6d81e43cfb528cb043b1048f4d302b41ad6f0bcf06deca"}, "url": "/docs/compare/?release=9.3.23#9.3.23-3a127c2a06a6d238", "source_url": "/docs/release/9.3.23/#id-1.11.6.7.5"}]}, {"id": "9.5.13-dd9b5607563ed577", "cves": [], "html": "<p>避免在 <code>SERIALIZABLE</code> 或 <code>REPEATABLE READ</code> 事务隔离下运行的并发 <code>CREATE INDEX CONCURRENTLY</code> 命令中的死锁（Tom Lane）</p>", "text": "避免在 SERIALIZABLE 或 REPEATABLE READ 事务隔离下运行的并发 CREATE INDEX CONCURRENTLY 命令中的死锁（Tom Lane）", "title": "避免在 SERIALIZABLE 或 REPEATABLE READ 事务隔离下运行的并发 CREATE INDEX CONCURRENTLY 命令中的死锁", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.5.13/#id-1.11.6.17.5", "source_hash": "1f840f6180a2bf58b76955340c708259db99c10b8d64768dd3c1c5f47bf7bf13", "section_path": ["变更"], "commit_groups": [], "identity_text": "Avoid deadlocks in concurrent CREATE INDEX CONCURRENTLY commands that are run under SERIALIZABLE or REPEATABLE READ transaction isolation (Tom Lane)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.5.13/changes/004", "db_id": "191769a0661f7d949b324009d138f340", "patch_ids": [], "statement_hash": "21ba85c192f8e7aef47763976074fb88ac7afbb31e5ab0c0ab8477104ce277fe", "relations": [{"rule": 2, "type": "equivalent", "target": "1dd46aade8b4ab20cf5381f9a17a609c", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "21ba85c192f8e7aef47763976074fb88ac7afbb31e5ab0c0ab8477104ce277fe"}}, {"rule": 2, "type": "equivalent", "target": "9d82a4f873bce505f63f2ef3c5270503", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "21ba85c192f8e7aef47763976074fb88ac7afbb31e5ab0c0ab8477104ce277fe"}}, {"rule": 2, "type": "equivalent", "target": "aad884265a80122f34b9b9684b3f4cfe", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "21ba85c192f8e7aef47763976074fb88ac7afbb31e5ab0c0ab8477104ce277fe"}}], "version": "9.5.13", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "aad884265a80122f34b9b9684b3f4cfe", "kind": "equivalent", "version": "10.4", "label": "10.4", "title": "避免在 SERIALIZABLE 或 REPEATABLE READ 事务隔离级别下并发运行 CREATE INDEX CONCURRENTLY 命令时发生死锁", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "21ba85c192f8e7aef47763976074fb88ac7afbb31e5ab0c0ab8477104ce277fe"}, "url": "/docs/compare/?release=10.4#10.4-c040306fa7cd2be2", "source_url": "/docs/release/10.4/#id-1.11.6.24.5"}, {"db_id": "9d82a4f873bce505f63f2ef3c5270503", "kind": "equivalent", "version": "9.6.9", "label": "9.6.9", "title": "避免在 SERIALIZABLE 或 REPEATABLE READ 事务隔离下运行的并发 CREATE INDEX CONCURRENTLY 命令中的死锁", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "21ba85c192f8e7aef47763976074fb88ac7afbb31e5ab0c0ab8477104ce277fe"}, "url": "/docs/compare/?release=9.6.9#9.6.9-dd9b5607563ed577", "source_url": "/docs/release/9.6.9/#id-1.11.6.20.5"}, {"db_id": "1dd46aade8b4ab20cf5381f9a17a609c", "kind": "equivalent", "version": "9.4.18", "label": "9.4.18", "title": "避免在 SERIALIZABLE 或 REPEATABLE READ 事务隔离下运行的并发 CREATE INDEX CONCURRENTLY 命令中的死锁", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "21ba85c192f8e7aef47763976074fb88ac7afbb31e5ab0c0ab8477104ce277fe"}, "url": "/docs/compare/?release=9.4.18#9.4.18-dd9b5607563ed577", "source_url": "/docs/release/9.4.18/#id-1.11.6.13.5"}]}, {"id": "9.5.13-060f3ef203288487", "cves": [], "html": "<p>修复 <code>REFRESH MATERIALIZED VIEW CONCURRENTLY</code> 可能缓慢的执行（Thomas Munro）</p>", "text": "修复 REFRESH MATERIALIZED VIEW CONCURRENTLY 可能缓慢的执行（Thomas Munro）", "title": "修复 REFRESH MATERIALIZED VIEW CONCURRENTLY 可能缓慢的执行", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.5.13/#id-1.11.6.17.5", "source_hash": "83e1174c37f27ffc480dca04ae8ff09ce8e77fa9f44ebee19ece55d4f41c087c", "section_path": ["变更"], "commit_groups": [], "identity_text": "Fix possible slow execution of REFRESH MATERIALIZED VIEW CONCURRENTLY (Thomas Munro)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.5.13/changes/005", "db_id": "e720684aa44612421ccfa3003345c1d7", "patch_ids": [], "statement_hash": "dd5714dcd06b3a893294d447b1244e8640ae9eee7666c845027c8465fa82db83", "relations": [{"rule": 2, "type": "equivalent", "target": "2276c457fca4b0de608c590235198202", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "dd5714dcd06b3a893294d447b1244e8640ae9eee7666c845027c8465fa82db83"}}, {"rule": 2, "type": "equivalent", "target": "23bedbfaa5c8a44d40d533c53085aadd", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "dd5714dcd06b3a893294d447b1244e8640ae9eee7666c845027c8465fa82db83"}}, {"rule": 2, "type": "equivalent", "target": "ce75059760758e482fd277227a78929c", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "dd5714dcd06b3a893294d447b1244e8640ae9eee7666c845027c8465fa82db83"}}], "version": "9.5.13", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "ce75059760758e482fd277227a78929c", "kind": "equivalent", "version": "10.4", "label": "10.4", "title": "修复 REFRESH MATERIALIZED VIEW CONCURRENTLY 可能执行缓慢的问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "dd5714dcd06b3a893294d447b1244e8640ae9eee7666c845027c8465fa82db83"}, "url": "/docs/compare/?release=10.4#10.4-2d8a203a604e9b37", "source_url": "/docs/release/10.4/#id-1.11.6.24.5"}, {"db_id": "23bedbfaa5c8a44d40d533c53085aadd", "kind": "equivalent", "version": "9.6.9", "label": "9.6.9", "title": "修复 REFRESH MATERIALIZED VIEW CONCURRENTLY 可能缓慢的执行", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "dd5714dcd06b3a893294d447b1244e8640ae9eee7666c845027c8465fa82db83"}, "url": "/docs/compare/?release=9.6.9#9.6.9-060f3ef203288487", "source_url": "/docs/release/9.6.9/#id-1.11.6.20.5"}, {"db_id": "2276c457fca4b0de608c590235198202", "kind": "equivalent", "version": "9.4.18", "label": "9.4.18", "title": "修复 REFRESH MATERIALIZED VIEW CONCURRENTLY 可能缓慢的执行", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "dd5714dcd06b3a893294d447b1244e8640ae9eee7666c845027c8465fa82db83"}, "url": "/docs/compare/?release=9.4.18#9.4.18-060f3ef203288487", "source_url": "/docs/release/9.4.18/#id-1.11.6.13.5"}]}, {"id": "9.5.13-c5317df56ae6d1b1", "cves": [], "html": "<p>修复 <code>UPDATE/DELETE ... WHERE CURRENT OF</code> 在所引用游标使用仅索引扫描计划时不失败（Yugo Nagata、Tom Lane）</p>", "text": "修复 UPDATE/DELETE ... WHERE CURRENT OF 在所引用游标使用仅索引扫描计划时不失败（Yugo Nagata、Tom Lane）", "title": "修复 UPDATE/DELETE ... WHERE CURRENT OF 在所引用游标使用仅索引扫描计划时不失败", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.5.13/#id-1.11.6.17.5", "source_hash": "586de06166d4716d9097fd4a785fe070debb0dba597bf3cf2eec41738f1492b2", "section_path": ["变更"], "commit_groups": [], "identity_text": "Fix UPDATE/DELETE ... WHERE CURRENT OF to not fail when the referenced cursor uses an index-only-scan plan (Yugo Nagata, Tom Lane)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.5.13/changes/006", "db_id": "4740d9f31fd4c12b6d5a04c40c8195be", "patch_ids": [], "statement_hash": "ea5abd72e1126fd333dcb5f251416bf100dfecbe0c24e2f2a25ddd2ee8738356", "relations": [{"rule": 2, "type": "equivalent", "target": "276437aae600160130d6f092ec25aebd", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ea5abd72e1126fd333dcb5f251416bf100dfecbe0c24e2f2a25ddd2ee8738356"}}, {"rule": 2, "type": "equivalent", "target": "2a0ab3053bfdfc51b055b43959af1610", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ea5abd72e1126fd333dcb5f251416bf100dfecbe0c24e2f2a25ddd2ee8738356"}}, {"rule": 2, "type": "equivalent", "target": "97bb10cc9f08896474b1fbb4124b5dea", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ea5abd72e1126fd333dcb5f251416bf100dfecbe0c24e2f2a25ddd2ee8738356"}}, {"rule": 2, "type": "equivalent", "target": "a676ae183019c3faf5d5c6e70ec82251", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ea5abd72e1126fd333dcb5f251416bf100dfecbe0c24e2f2a25ddd2ee8738356"}}], "version": "9.5.13", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "276437aae600160130d6f092ec25aebd", "kind": "equivalent", "version": "10.4", "label": "10.4", "title": "修复 UPDATE/DELETE ... WHERE CURRENT OF，使其在所引用游标使用仅索引扫描计划时不会失败", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ea5abd72e1126fd333dcb5f251416bf100dfecbe0c24e2f2a25ddd2ee8738356"}, "url": "/docs/compare/?release=10.4#10.4-ecf79f0d3bec4228", "source_url": "/docs/release/10.4/#id-1.11.6.24.5"}, {"db_id": "a676ae183019c3faf5d5c6e70ec82251", "kind": "equivalent", "version": "9.6.9", "label": "9.6.9", "title": "修复 UPDATE/DELETE ... WHERE CURRENT OF 在所引用游标使用仅索引扫描计划时不失败", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ea5abd72e1126fd333dcb5f251416bf100dfecbe0c24e2f2a25ddd2ee8738356"}, "url": "/docs/compare/?release=9.6.9#9.6.9-c5317df56ae6d1b1", "source_url": "/docs/release/9.6.9/#id-1.11.6.20.5"}, {"db_id": "97bb10cc9f08896474b1fbb4124b5dea", "kind": "equivalent", "version": "9.4.18", "label": "9.4.18", "title": "修复 UPDATE/DELETE ... WHERE CURRENT OF 在所引用游标使用仅索引扫描计划时不失败", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ea5abd72e1126fd333dcb5f251416bf100dfecbe0c24e2f2a25ddd2ee8738356"}, "url": "/docs/compare/?release=9.4.18#9.4.18-c5317df56ae6d1b1", "source_url": "/docs/release/9.4.18/#id-1.11.6.13.5"}, {"db_id": "2a0ab3053bfdfc51b055b43959af1610", "kind": "equivalent", "version": "9.3.23", "label": "9.3.23", "title": "修复 UPDATE/DELETE ... WHERE CURRENT OF 在所引用游标使用仅索引扫描计划时不失败", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ea5abd72e1126fd333dcb5f251416bf100dfecbe0c24e2f2a25ddd2ee8738356"}, "url": "/docs/compare/?release=9.3.23#9.3.23-c5317df56ae6d1b1", "source_url": "/docs/release/9.3.23/#id-1.11.6.7.5"}]}, {"id": "9.5.13-7699b7c857aee911", "cves": [], "html": "<p>修复下推到参数化路径的连接子句的错误规划（Andrew Gierth、Tom Lane）</p>\n<p>这个错误可能把本应是普通<span>“<span>过滤</span>”</span>条件的条件错误分类为外连接的<span>“<span>连接过滤</span>”</span>，导致错误的连接输出。</p>", "text": "修复下推到参数化路径的连接子句的错误规划（Andrew Gierth、Tom Lane） 这个错误可能把本应是普通“过滤”条件的条件错误分类为外连接的“连接过滤”，导致错误的连接输出。", "title": "修复下推到参数化路径的连接子句的错误规划", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.5.13/#id-1.11.6.17.5", "source_hash": "87e0b0ae361cf53f172c3b9b124ad77fa1e53c83e2d783dcce6e84531a208b3c", "section_path": ["变更"], "commit_groups": [], "identity_text": "Fix incorrect planning of join clauses pushed into parameterized paths (Andrew Gierth, Tom Lane) This error could result in misclassifying a condition as a join filter for an outer join when it should be a plain filter condition, leading to incorrect join output.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.5.13/changes/007", "db_id": "f76c4e3fcb04e1fb3730b3de25bf89fd", "patch_ids": [], "statement_hash": "b2d3d92abe45b4bc5c4c2e763a9089f60d7d13c908a2a9bacc483ebf0261889e", "relations": [{"rule": 2, "type": "equivalent", "target": "06975570bb43368f9da3f3e6e63f9b5b", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b2d3d92abe45b4bc5c4c2e763a9089f60d7d13c908a2a9bacc483ebf0261889e"}}, {"rule": 2, "type": "equivalent", "target": "09ec2b803f67c9b215ef0d191cc745b9", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b2d3d92abe45b4bc5c4c2e763a9089f60d7d13c908a2a9bacc483ebf0261889e"}}, {"rule": 2, "type": "equivalent", "target": "385cc7ec3e8ca84a5532528a2053d355", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b2d3d92abe45b4bc5c4c2e763a9089f60d7d13c908a2a9bacc483ebf0261889e"}}, {"rule": 2, "type": "equivalent", "target": "c3f441037d6fc540343df997ba5757c6", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b2d3d92abe45b4bc5c4c2e763a9089f60d7d13c908a2a9bacc483ebf0261889e"}}], "version": "9.5.13", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "06975570bb43368f9da3f3e6e63f9b5b", "kind": "equivalent", "version": "10.4", "label": "10.4", "title": "修复对下推到参数化路径的连接子句的不正确规划", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b2d3d92abe45b4bc5c4c2e763a9089f60d7d13c908a2a9bacc483ebf0261889e"}, "url": "/docs/compare/?release=10.4#10.4-d414e65c7514963d", "source_url": "/docs/release/10.4/#id-1.11.6.24.5"}, {"db_id": "385cc7ec3e8ca84a5532528a2053d355", "kind": "equivalent", "version": "9.6.9", "label": "9.6.9", "title": "修复下推到参数化路径的连接子句的错误规划", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b2d3d92abe45b4bc5c4c2e763a9089f60d7d13c908a2a9bacc483ebf0261889e"}, "url": "/docs/compare/?release=9.6.9#9.6.9-7699b7c857aee911", "source_url": "/docs/release/9.6.9/#id-1.11.6.20.5"}, {"db_id": "c3f441037d6fc540343df997ba5757c6", "kind": "equivalent", "version": "9.4.18", "label": "9.4.18", "title": "修复下推到参数化路径的连接子句的错误规划", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b2d3d92abe45b4bc5c4c2e763a9089f60d7d13c908a2a9bacc483ebf0261889e"}, "url": "/docs/compare/?release=9.4.18#9.4.18-7699b7c857aee911", "source_url": "/docs/release/9.4.18/#id-1.11.6.13.5"}, {"db_id": "09ec2b803f67c9b215ef0d191cc745b9", "kind": "equivalent", "version": "9.3.23", "label": "9.3.23", "title": "修复下推到参数化路径的连接子句的错误规划", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b2d3d92abe45b4bc5c4c2e763a9089f60d7d13c908a2a9bacc483ebf0261889e"}, "url": "/docs/compare/?release=9.3.23#9.3.23-7699b7c857aee911", "source_url": "/docs/release/9.3.23/#id-1.11.6.7.5"}]}, {"id": "9.5.13-38369a47b6180e9f", "cves": [], "html": "<p>修复同一表列出现在多个索引列中，且只有部分索引列使用能返回该列值的操作符类时，仅索引扫描计划可能不正确的生成（Kyotaro Horiguchi）</p>", "text": "修复同一表列出现在多个索引列中，且只有部分索引列使用能返回该列值的操作符类时，仅索引扫描计划可能不正确的生成（Kyotaro Horiguchi）", "title": "修复同一表列出现在多个索引列中，且只有部分索引列使用能返回该列值的操作符类时，仅索引扫描计划可能不正确的生成", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.5.13/#id-1.11.6.17.5", "source_hash": "3000fd9132e71e0a180e8d4a886bfa073e963ce5163d930348e181723d3fa9e8", "section_path": ["变更"], "commit_groups": [], "identity_text": "Fix possibly incorrect generation of an index-only-scan plan when the same table column appears in multiple index columns, and only some of those index columns use operator classes that can return the column value (Kyotaro Horiguchi)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.5.13/changes/008", "db_id": "02264aa09149ae35fed8d78b05f44669", "patch_ids": [], "statement_hash": "8faf64f27dbbac5471cc14d45186c67d0150608739e241b36785cc3599bc1b1b", "relations": [{"rule": 2, "type": "equivalent", "target": "335bf823501c9efe11167e9cb9942f02", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "8faf64f27dbbac5471cc14d45186c67d0150608739e241b36785cc3599bc1b1b"}}, {"rule": 2, "type": "equivalent", "target": "5e50f2ba78c090789c3986ee7584e581", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "8faf64f27dbbac5471cc14d45186c67d0150608739e241b36785cc3599bc1b1b"}}], "version": "9.5.13", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "5e50f2ba78c090789c3986ee7584e581", "kind": "equivalent", "version": "10.4", "label": "10.4", "title": "修复同一表列出现在多个索引列中，且只有部分索引列使用能够返回列值的操作符类时，可能错误生成仅索引扫描计划的问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "8faf64f27dbbac5471cc14d45186c67d0150608739e241b36785cc3599bc1b1b"}, "url": "/docs/compare/?release=10.4#10.4-2b5194ec207c26bd", "source_url": "/docs/release/10.4/#id-1.11.6.24.5"}, {"db_id": "335bf823501c9efe11167e9cb9942f02", "kind": "equivalent", "version": "9.6.9", "label": "9.6.9", "title": "修复同一表列出现在多个索引列中，且只有部分索引列使用能返回该列值的操作符类时，仅索引扫描计划可能不正确的生成", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "8faf64f27dbbac5471cc14d45186c67d0150608739e241b36785cc3599bc1b1b"}, "url": "/docs/compare/?release=9.6.9#9.6.9-38369a47b6180e9f", "source_url": "/docs/release/9.6.9/#id-1.11.6.20.5"}]}, {"id": "9.5.13-861e51c1f3a53a2d", "cves": [], "html": "<p>修复对顶层 <code>AND</code>/<code>OR</code> 条件带有可证明为 NULL 子子句的 <code>CHECK</code> 约束的错误优化（Tom Lane、Dean Rasheed）</p>\n<p>这可能导致例如约束排除错误地排除不应从查询中排除的子表。</p>", "text": "修复对顶层 AND/OR 条件带有可证明为 NULL 子子句的 CHECK 约束的错误优化（Tom Lane、Dean Rasheed） 这可能导致例如约束排除错误地排除不应从查询中排除的子表。", "title": "修复对顶层 AND/OR 条件带有可证明为 NULL 子子句的 CHECK 约束的错误优化", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.5.13/#id-1.11.6.17.5", "source_hash": "50f0be4304da0b31f34c993a22f3d1677106423136b709feacf037899b3f76fd", "section_path": ["变更"], "commit_groups": [], "identity_text": "Fix misoptimization of CHECK constraints having provably-NULL subclauses of top-level AND/OR conditions (Tom Lane, Dean Rasheed) This could, for example, allow constraint exclusion to exclude a child table that should not be excluded from a query.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.5.13/changes/009", "db_id": "751864888c8d30783ddb1f606d0926b7", "patch_ids": [], "statement_hash": "6d749968e0afa0cfaf9eed8c508bebbf93e3915e6de338de79618220b40171e8", "relations": [{"rule": 2, "type": "equivalent", "target": "882de0e68f70dccc590c805899ce41b4", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "6d749968e0afa0cfaf9eed8c508bebbf93e3915e6de338de79618220b40171e8"}}, {"rule": 2, "type": "equivalent", "target": "93aed99951085f5f712fdcc5e8e7b204", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "6d749968e0afa0cfaf9eed8c508bebbf93e3915e6de338de79618220b40171e8"}}, {"rule": 2, "type": "equivalent", "target": "e895843a75a8dc275aec770e0af95c62", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "6d749968e0afa0cfaf9eed8c508bebbf93e3915e6de338de79618220b40171e8"}}, {"rule": 2, "type": "equivalent", "target": "f3056884eb9a381bf3016240f199c28f", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "6d749968e0afa0cfaf9eed8c508bebbf93e3915e6de338de79618220b40171e8"}}], "version": "9.5.13", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "93aed99951085f5f712fdcc5e8e7b204", "kind": "equivalent", "version": "10.4", "label": "10.4", "title": "修复对 CHECK 约束的不正确优化，此类约束的顶层 AND/OR 条件包含可证明为 NULL 的子句", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "6d749968e0afa0cfaf9eed8c508bebbf93e3915e6de338de79618220b40171e8"}, "url": "/docs/compare/?release=10.4#10.4-10267cbcef4716ea", "source_url": "/docs/release/10.4/#id-1.11.6.24.5"}, {"db_id": "f3056884eb9a381bf3016240f199c28f", "kind": "equivalent", "version": "9.6.9", "label": "9.6.9", "title": "修复对顶层 AND/OR 条件带有可证明为 NULL 子子句的 CHECK 约束的错误优化", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "6d749968e0afa0cfaf9eed8c508bebbf93e3915e6de338de79618220b40171e8"}, "url": "/docs/compare/?release=9.6.9#9.6.9-861e51c1f3a53a2d", "source_url": "/docs/release/9.6.9/#id-1.11.6.20.5"}, {"db_id": "e895843a75a8dc275aec770e0af95c62", "kind": "equivalent", "version": "9.4.18", "label": "9.4.18", "title": "修复对顶层 AND/OR 条件带有可证明为 NULL 子子句的 CHECK 约束的错误优化", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "6d749968e0afa0cfaf9eed8c508bebbf93e3915e6de338de79618220b40171e8"}, "url": "/docs/compare/?release=9.4.18#9.4.18-861e51c1f3a53a2d", "source_url": "/docs/release/9.4.18/#id-1.11.6.13.5"}, {"db_id": "882de0e68f70dccc590c805899ce41b4", "kind": "equivalent", "version": "9.3.23", "label": "9.3.23", "title": "修复对顶层 AND/OR 条件带有可证明为 NULL 子子句的 CHECK 约束的错误优化", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "6d749968e0afa0cfaf9eed8c508bebbf93e3915e6de338de79618220b40171e8"}, "url": "/docs/compare/?release=9.3.23#9.3.23-861e51c1f3a53a2d", "source_url": "/docs/release/9.3.23/#id-1.11.6.7.5"}]}, {"id": "9.5.13-a1bdff4aff34a0ff", "cves": [], "html": "<p>修复某些 <code>GROUPING SET</code> 用法中因双重释放导致的执行器崩溃（Peter Geoghegan）</p>", "text": "修复某些 GROUPING SET 用法中因双重释放导致的执行器崩溃（Peter Geoghegan）", "title": "修复某些 GROUPING SET 用法中因双重释放导致的执行器崩溃", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.5.13/#id-1.11.6.17.5", "source_hash": "d66c276d472b6b9488f2a37204b80d5e1d4f1182a6fb0da5151e380281070d47", "section_path": ["变更"], "commit_groups": [], "identity_text": "Fix executor crash due to double free in some GROUPING SET usages (Peter Geoghegan)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.5.13/changes/010", "db_id": "2a4fee8b4764da924f481455068db52c", "patch_ids": [], "statement_hash": "859f2d65369740e059040cbdc6ea365a8a160c3b9dea0772c48771ed208acd2b", "relations": [{"rule": 2, "type": "equivalent", "target": "ca161164f745b17c800ac711e00113c4", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "859f2d65369740e059040cbdc6ea365a8a160c3b9dea0772c48771ed208acd2b"}}], "version": "9.5.13", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "ca161164f745b17c800ac711e00113c4", "kind": "equivalent", "version": "9.6.9", "label": "9.6.9", "title": "修复某些 GROUPING SET 用法中因双重释放导致的执行器崩溃", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "859f2d65369740e059040cbdc6ea365a8a160c3b9dea0772c48771ed208acd2b"}, "url": "/docs/compare/?release=9.6.9#9.6.9-a1bdff4aff34a0ff", "source_url": "/docs/release/9.6.9/#id-1.11.6.20.5"}]}, {"id": "9.5.13-37a61afc2518360d", "cves": [], "html": "<p>避免可能与能调用此类触发器的命令并发添加表重写事件触发器时崩溃（Álvaro Herrera、Andrew Gierth、Tom Lane）</p>", "text": "避免可能与能调用此类触发器的命令并发添加表重写事件触发器时崩溃（Álvaro Herrera、Andrew Gierth、Tom Lane）", "title": "避免可能与能调用此类触发器的命令并发添加表重写事件触发器时崩溃", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.5.13/#id-1.11.6.17.5", "source_hash": "c3ad5da85b7b60c5443967cd56d57d63d07d49d4f058ed304801f2f82b8a33e8", "section_path": ["变更"], "commit_groups": [], "identity_text": "Avoid crash if a table rewrite event trigger is added concurrently with a command that could call such a trigger (Álvaro Herrera, Andrew Gierth, Tom Lane)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.5.13/changes/011", "db_id": "808fd84d59264eecac5e89ba65c97b92", "patch_ids": [], "statement_hash": "03f74730007f0bec49a7ddf89cc7e53d382284442baa9869c8e49b7e9a2f20ae", "relations": [{"rule": 2, "type": "equivalent", "target": "48f75aca2470d1ed3c33a2c14b6be9da", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "03f74730007f0bec49a7ddf89cc7e53d382284442baa9869c8e49b7e9a2f20ae"}}, {"rule": 2, "type": "equivalent", "target": "54bc88655b4d449b3ded2bcec026a3b0", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "03f74730007f0bec49a7ddf89cc7e53d382284442baa9869c8e49b7e9a2f20ae"}}], "version": "9.5.13", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "54bc88655b4d449b3ded2bcec026a3b0", "kind": "equivalent", "version": "10.4", "label": "10.4", "title": "避免添加表重写事件触发器与可能调用此类触发器的命令并发进行时发生崩溃", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "03f74730007f0bec49a7ddf89cc7e53d382284442baa9869c8e49b7e9a2f20ae"}, "url": "/docs/compare/?release=10.4#10.4-089465fcf3239ebc", "source_url": "/docs/release/10.4/#id-1.11.6.24.5"}, {"db_id": "48f75aca2470d1ed3c33a2c14b6be9da", "kind": "equivalent", "version": "9.6.9", "label": "9.6.9", "title": "避免可能与能调用此类触发器的命令并发添加表重写事件触发器时崩溃", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "03f74730007f0bec49a7ddf89cc7e53d382284442baa9869c8e49b7e9a2f20ae"}, "url": "/docs/compare/?release=9.6.9#9.6.9-37a61afc2518360d", "source_url": "/docs/release/9.6.9/#id-1.11.6.20.5"}]}, {"id": "9.5.13-ebc0e8f0d2aa1fb7", "cves": [], "html": "<p>避免提交预备事务时发生查询取消或会话终止中断时失败（Stas Kelvich）</p>", "text": "避免提交预备事务时发生查询取消或会话终止中断时失败（Stas Kelvich）", "title": "避免提交预备事务时发生查询取消或会话终止中断时失败", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.5.13/#id-1.11.6.17.5", "source_hash": "d5b6f0c2dc367fa71aa56f8a0cbe8f8453008239d60c1d745a00c072acb6bc11", "section_path": ["变更"], "commit_groups": [], "identity_text": "Avoid failure if a query-cancel or session-termination interrupt occurs while committing a prepared transaction (Stas Kelvich)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.5.13/changes/012", "db_id": "012d886d228aff5bad6e972250232db0", "patch_ids": [], "statement_hash": "26732acdda4921b6f838a4333718ce3c83af57120659d19116cb1f6c71a643c6", "relations": [{"rule": 2, "type": "equivalent", "target": "5628c69795113451c28bba4883f0f9de", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "26732acdda4921b6f838a4333718ce3c83af57120659d19116cb1f6c71a643c6"}}, {"rule": 2, "type": "equivalent", "target": "ca27f93498d8f85bc983e8f7cce04b4e", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "26732acdda4921b6f838a4333718ce3c83af57120659d19116cb1f6c71a643c6"}}, {"rule": 2, "type": "equivalent", "target": "cff7a0484624c247e29a0c6b706c2f13", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "26732acdda4921b6f838a4333718ce3c83af57120659d19116cb1f6c71a643c6"}}, {"rule": 2, "type": "equivalent", "target": "d849870dcc8a1165e36e3e5ce10a3b6d", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "26732acdda4921b6f838a4333718ce3c83af57120659d19116cb1f6c71a643c6"}}], "version": "9.5.13", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "ca27f93498d8f85bc983e8f7cce04b4e", "kind": "equivalent", "version": "10.4", "label": "10.4", "title": "避免提交预备事务时出现查询取消或会话终止中断而发生失败", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "26732acdda4921b6f838a4333718ce3c83af57120659d19116cb1f6c71a643c6"}, "url": "/docs/compare/?release=10.4#10.4-0dd380e6c0f6895d", "source_url": "/docs/release/10.4/#id-1.11.6.24.5"}, {"db_id": "d849870dcc8a1165e36e3e5ce10a3b6d", "kind": "equivalent", "version": "9.6.9", "label": "9.6.9", "title": "避免提交预备事务时发生查询取消或会话终止中断时失败", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "26732acdda4921b6f838a4333718ce3c83af57120659d19116cb1f6c71a643c6"}, "url": "/docs/compare/?release=9.6.9#9.6.9-ebc0e8f0d2aa1fb7", "source_url": "/docs/release/9.6.9/#id-1.11.6.20.5"}, {"db_id": "cff7a0484624c247e29a0c6b706c2f13", "kind": "equivalent", "version": "9.4.18", "label": "9.4.18", "title": "避免提交预备事务时发生查询取消或会话终止中断时失败", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "26732acdda4921b6f838a4333718ce3c83af57120659d19116cb1f6c71a643c6"}, "url": "/docs/compare/?release=9.4.18#9.4.18-ebc0e8f0d2aa1fb7", "source_url": "/docs/release/9.4.18/#id-1.11.6.13.5"}, {"db_id": "5628c69795113451c28bba4883f0f9de", "kind": "equivalent", "version": "9.3.23", "label": "9.3.23", "title": "避免提交预备事务时发生查询取消或会话终止中断时失败", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "26732acdda4921b6f838a4333718ce3c83af57120659d19116cb1f6c71a643c6"}, "url": "/docs/compare/?release=9.3.23#9.3.23-ebc0e8f0d2aa1fb7", "source_url": "/docs/release/9.3.23/#id-1.11.6.7.5"}]}, {"id": "9.5.13-b95c0f061da572ed", "cves": [], "html": "<p>修复重复执行的哈希连接中的查询生命周期内存泄漏（Tom Lane）</p>", "text": "修复重复执行的哈希连接中的查询生命周期内存泄漏（Tom Lane）", "title": "修复重复执行的哈希连接中的查询生命周期内存泄漏", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.5.13/#id-1.11.6.17.5", "source_hash": "077671b017442221d10e9b2ee7c3c59e67714aa7a4c07472b767eee385477ec3", "section_path": ["变更"], "commit_groups": [], "identity_text": "Fix query-lifespan memory leakage in repeatedly executed hash joins (Tom Lane)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.5.13/changes/013", "db_id": "0df67385cc5c95a9daf22ff35d53e649", "patch_ids": [], "statement_hash": "0f4a9b752cfbda9ec6ff503ebc96756625ad75ca12c51d4ecbc5a3387e7a0647", "relations": [{"rule": 2, "type": "equivalent", "target": "37e110dbf8a28646a158b4bd829b0115", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0f4a9b752cfbda9ec6ff503ebc96756625ad75ca12c51d4ecbc5a3387e7a0647"}}, {"rule": 2, "type": "equivalent", "target": "4f09861cbb7f6d11a0d870c50652e1a6", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0f4a9b752cfbda9ec6ff503ebc96756625ad75ca12c51d4ecbc5a3387e7a0647"}}, {"rule": 2, "type": "equivalent", "target": "71c7a2b03e210421a27cd8b7e75a48fc", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0f4a9b752cfbda9ec6ff503ebc96756625ad75ca12c51d4ecbc5a3387e7a0647"}}, {"rule": 2, "type": "equivalent", "target": "9e4930edcd94bb3585db04e3f475fb38", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0f4a9b752cfbda9ec6ff503ebc96756625ad75ca12c51d4ecbc5a3387e7a0647"}}], "version": "9.5.13", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "37e110dbf8a28646a158b4bd829b0115", "kind": "equivalent", "version": "10.4", "label": "10.4", "title": "修复重复执行的哈希连接中持续整个查询生命周期的内存泄漏", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0f4a9b752cfbda9ec6ff503ebc96756625ad75ca12c51d4ecbc5a3387e7a0647"}, "url": "/docs/compare/?release=10.4#10.4-690ae29023177979", "source_url": "/docs/release/10.4/#id-1.11.6.24.5"}, {"db_id": "71c7a2b03e210421a27cd8b7e75a48fc", "kind": "equivalent", "version": "9.6.9", "label": "9.6.9", "title": "修复重复执行的哈希连接中的查询生命周期内存泄漏", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0f4a9b752cfbda9ec6ff503ebc96756625ad75ca12c51d4ecbc5a3387e7a0647"}, "url": "/docs/compare/?release=9.6.9#9.6.9-b95c0f061da572ed", "source_url": "/docs/release/9.6.9/#id-1.11.6.20.5"}, {"db_id": "4f09861cbb7f6d11a0d870c50652e1a6", "kind": "equivalent", "version": "9.4.18", "label": "9.4.18", "title": "修复重复执行的哈希连接中的查询生命周期内存泄漏", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0f4a9b752cfbda9ec6ff503ebc96756625ad75ca12c51d4ecbc5a3387e7a0647"}, "url": "/docs/compare/?release=9.4.18#9.4.18-b95c0f061da572ed", "source_url": "/docs/release/9.4.18/#id-1.11.6.13.5"}, {"db_id": "9e4930edcd94bb3585db04e3f475fb38", "kind": "equivalent", "version": "9.3.23", "label": "9.3.23", "title": "修复重复执行的哈希连接中的查询生命周期内存泄漏", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0f4a9b752cfbda9ec6ff503ebc96756625ad75ca12c51d4ecbc5a3387e7a0647"}, "url": "/docs/compare/?release=9.3.23#9.3.23-b95c0f061da572ed", "source_url": "/docs/release/9.3.23/#id-1.11.6.7.5"}]}, {"id": "9.5.13-01e022d21e09f7b1", "cves": [], "html": "<p>修复 <code>heap_prepare_freeze_tuple</code> 中过于严格的健全性检查（Álvaro Herrera）</p>\n<p>在从 9.2 或更早版本 <span>pg_upgrade</span> 过来的数据库中，这可能导致错误的 <span>“<span>cannot freeze committed xmax</span>”</span> 失败。</p>", "text": "修复 heap_prepare_freeze_tuple 中过于严格的健全性检查（Álvaro Herrera） 在从 9.2 或更早版本 pg_upgrade 过来的数据库中，这可能导致错误的 “cannot freeze committed xmax” 失败。", "title": "修复 heap_prepare_freeze_tuple 中过于严格的健全性检查", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.5.13/#id-1.11.6.17.5", "source_hash": "dd39f2dacfaa0a6e05261be919f31cf6f3ae2939030ce5fbb89aa21fb9d34078", "section_path": ["变更"], "commit_groups": [], "identity_text": "Fix overly strict sanity check in heap_prepare_freeze_tuple (Álvaro Herrera) This could result in incorrect cannot freeze committed xmax failures in databases that have been pg_upgrade'd from 9.2 or earlier.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.5.13/changes/014", "db_id": "f6753ab33de390a304692dce8a7a98aa", "patch_ids": [], "statement_hash": "7ed39eef1e57cd7e00a373aac583d30ed3c0bf86f233c1d555ddc4cf3ba152dc", "relations": [{"rule": 2, "type": "equivalent", "target": "2abcc7387b054f346a1363b3f6a58d27", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7ed39eef1e57cd7e00a373aac583d30ed3c0bf86f233c1d555ddc4cf3ba152dc"}}, {"rule": 2, "type": "equivalent", "target": "398a20d1a113f4524097788e53a7290d", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7ed39eef1e57cd7e00a373aac583d30ed3c0bf86f233c1d555ddc4cf3ba152dc"}}, {"rule": 2, "type": "equivalent", "target": "79e214f56277346dcf9d8f861f30a6de", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7ed39eef1e57cd7e00a373aac583d30ed3c0bf86f233c1d555ddc4cf3ba152dc"}}, {"rule": 2, "type": "equivalent", "target": "eb8fd9fe9ea505f2e72c7ec81b50306c", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7ed39eef1e57cd7e00a373aac583d30ed3c0bf86f233c1d555ddc4cf3ba152dc"}}], "version": "9.5.13", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "398a20d1a113f4524097788e53a7290d", "kind": "equivalent", "version": "10.4", "label": "10.4", "title": "修复 heap_prepare_freeze_tuple 中过于严格的合理性检查", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7ed39eef1e57cd7e00a373aac583d30ed3c0bf86f233c1d555ddc4cf3ba152dc"}, "url": "/docs/compare/?release=10.4#10.4-562b21be795965b3", "source_url": "/docs/release/10.4/#id-1.11.6.24.5"}, {"db_id": "79e214f56277346dcf9d8f861f30a6de", "kind": "equivalent", "version": "9.6.9", "label": "9.6.9", "title": "修复 heap_prepare_freeze_tuple 中过于严格的健全性检查", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7ed39eef1e57cd7e00a373aac583d30ed3c0bf86f233c1d555ddc4cf3ba152dc"}, "url": "/docs/compare/?release=9.6.9#9.6.9-01e022d21e09f7b1", "source_url": "/docs/release/9.6.9/#id-1.11.6.20.5"}, {"db_id": "2abcc7387b054f346a1363b3f6a58d27", "kind": "equivalent", "version": "9.4.18", "label": "9.4.18", "title": "修复 heap_prepare_freeze_tuple 中过于严格的健全性检查", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7ed39eef1e57cd7e00a373aac583d30ed3c0bf86f233c1d555ddc4cf3ba152dc"}, "url": "/docs/compare/?release=9.4.18#9.4.18-01e022d21e09f7b1", "source_url": "/docs/release/9.4.18/#id-1.11.6.13.5"}, {"db_id": "eb8fd9fe9ea505f2e72c7ec81b50306c", "kind": "equivalent", "version": "9.3.23", "label": "9.3.23", "title": "修复 heap_prepare_freeze_tuple 中过于严格的健全性检查", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7ed39eef1e57cd7e00a373aac583d30ed3c0bf86f233c1d555ddc4cf3ba152dc"}, "url": "/docs/compare/?release=9.3.23#9.3.23-01e022d21e09f7b1", "source_url": "/docs/release/9.3.23/#id-1.11.6.7.5"}]}, {"id": "9.5.13-7ab83d10d1038ffa", "cves": [], "html": "<p>防止 C 编写的 before-update 行触发器返回<span>“<span>旧</span>”</span>元组时的悬空指针解引用（Rushabh Lathia）</p>", "text": "防止 C 编写的 before-update 行触发器返回“旧”元组时的悬空指针解引用（Rushabh Lathia）", "title": "防止 C 编写的 before-update 行触发器返回“旧”元组时的悬空指针解引用", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.5.13/#id-1.11.6.17.5", "source_hash": "61d5b9d49b7c20289669c7a3b0bf01502ff1d1d9e82e56526fca99880235d8f0", "section_path": ["变更"], "commit_groups": [], "identity_text": "Prevent dangling-pointer dereference when a C-coded before-update row trigger returns the old tuple (Rushabh Lathia)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.5.13/changes/015", "db_id": "42acf6090644d3f87227ffaf6b8764ed", "patch_ids": [], "statement_hash": "1581e97b63de5ec4cf403ff5eb79d5d42e75c8a4a73e4fea04cec1547ec53db5", "relations": [{"rule": 2, "type": "equivalent", "target": "682362add12a729c5489dda7142bb171", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "1581e97b63de5ec4cf403ff5eb79d5d42e75c8a4a73e4fea04cec1547ec53db5"}}, {"rule": 2, "type": "equivalent", "target": "88113e2fb8b0f955ded947c1de92d902", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "1581e97b63de5ec4cf403ff5eb79d5d42e75c8a4a73e4fea04cec1547ec53db5"}}, {"rule": 2, "type": "equivalent", "target": "c6793ae4b983258e6c3bf3db3f4a11c5", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "1581e97b63de5ec4cf403ff5eb79d5d42e75c8a4a73e4fea04cec1547ec53db5"}}, {"rule": 2, "type": "equivalent", "target": "e75cd9e0f10d48299c3554b88d509da4", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "1581e97b63de5ec4cf403ff5eb79d5d42e75c8a4a73e4fea04cec1547ec53db5"}}], "version": "9.5.13", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "682362add12a729c5489dda7142bb171", "kind": "equivalent", "version": "10.4", "label": "10.4", "title": "防止用 C 编写的更新前行触发器返回“旧”元组时解引用悬空指针", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "1581e97b63de5ec4cf403ff5eb79d5d42e75c8a4a73e4fea04cec1547ec53db5"}, "url": "/docs/compare/?release=10.4#10.4-c5987c818497c034", "source_url": "/docs/release/10.4/#id-1.11.6.24.5"}, {"db_id": "e75cd9e0f10d48299c3554b88d509da4", "kind": "equivalent", "version": "9.6.9", "label": "9.6.9", "title": "防止 C 编写的 before-update 行触发器返回“旧”元组时的悬空指针解引用", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "1581e97b63de5ec4cf403ff5eb79d5d42e75c8a4a73e4fea04cec1547ec53db5"}, "url": "/docs/compare/?release=9.6.9#9.6.9-7ab83d10d1038ffa", "source_url": "/docs/release/9.6.9/#id-1.11.6.20.5"}, {"db_id": "88113e2fb8b0f955ded947c1de92d902", "kind": "equivalent", "version": "9.4.18", "label": "9.4.18", "title": "防止 C 编写的 before-update 行触发器返回“旧”元组时的悬空指针解引用", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "1581e97b63de5ec4cf403ff5eb79d5d42e75c8a4a73e4fea04cec1547ec53db5"}, "url": "/docs/compare/?release=9.4.18#9.4.18-7ab83d10d1038ffa", "source_url": "/docs/release/9.4.18/#id-1.11.6.13.5"}, {"db_id": "c6793ae4b983258e6c3bf3db3f4a11c5", "kind": "equivalent", "version": "9.3.23", "label": "9.3.23", "title": "防止 C 编写的 before-update 行触发器返回“旧”元组时的悬空指针解引用", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "1581e97b63de5ec4cf403ff5eb79d5d42e75c8a4a73e4fea04cec1547ec53db5"}, "url": "/docs/compare/?release=9.3.23#9.3.23-7ab83d10d1038ffa", "source_url": "/docs/release/9.3.23/#id-1.11.6.7.5"}]}, {"id": "9.5.13-c5a47f74f99569cd", "cves": [], "html": "<p>减少自动清理工作者调度期间的锁定（Jeff Janes）</p>\n<p>原来的行为导致有许多表的数据库中潜在工作者并发性的急剧丧失。</p>", "text": "减少自动清理工作者调度期间的锁定（Jeff Janes） 原来的行为导致有许多表的数据库中潜在工作者并发性的急剧丧失。", "title": "减少自动清理工作者调度期间的锁定", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.5.13/#id-1.11.6.17.5", "source_hash": "b6e9b0a7e8ace40f399d3344e46fbe24f68e7af9ce834126f6459d11878cf0a1", "section_path": ["变更"], "commit_groups": [], "identity_text": "Reduce locking during autovacuum worker scheduling (Jeff Janes) The previous behavior caused drastic loss of potential worker concurrency in databases with many tables.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.5.13/changes/016", "db_id": "cbe49277038634d0ff5d46032b18414e", "patch_ids": [], "statement_hash": "14de4f415f73c95f0c21dc7a5a2f4dcb137aa0473d074fd71c6a8f14019a7ff4", "relations": [{"rule": 2, "type": "equivalent", "target": "3b3a523818a14c0f9504acf49b8853ed", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "14de4f415f73c95f0c21dc7a5a2f4dcb137aa0473d074fd71c6a8f14019a7ff4"}}, {"rule": 2, "type": "equivalent", "target": "69c3a93060056cf09ae728faa3c6b1ef", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "14de4f415f73c95f0c21dc7a5a2f4dcb137aa0473d074fd71c6a8f14019a7ff4"}}, {"rule": 2, "type": "equivalent", "target": "9879651e1577c9bf2b980164dc96fc99", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "14de4f415f73c95f0c21dc7a5a2f4dcb137aa0473d074fd71c6a8f14019a7ff4"}}, {"rule": 2, "type": "equivalent", "target": "c2fe5d0b1b1ea315c42bb0cbb189e2e2", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "14de4f415f73c95f0c21dc7a5a2f4dcb137aa0473d074fd71c6a8f14019a7ff4"}}], "version": "9.5.13", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "c2fe5d0b1b1ea315c42bb0cbb189e2e2", "kind": "equivalent", "version": "10.4", "label": "10.4", "title": "减少自动清理工作进程调度期间的加锁", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "14de4f415f73c95f0c21dc7a5a2f4dcb137aa0473d074fd71c6a8f14019a7ff4"}, "url": "/docs/compare/?release=10.4#10.4-2c4a4a22bed483b7", "source_url": "/docs/release/10.4/#id-1.11.6.24.5"}, {"db_id": "69c3a93060056cf09ae728faa3c6b1ef", "kind": "equivalent", "version": "9.6.9", "label": "9.6.9", "title": "减少自动清理工作者调度期间的锁定", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "14de4f415f73c95f0c21dc7a5a2f4dcb137aa0473d074fd71c6a8f14019a7ff4"}, "url": "/docs/compare/?release=9.6.9#9.6.9-c5a47f74f99569cd", "source_url": "/docs/release/9.6.9/#id-1.11.6.20.5"}, {"db_id": "3b3a523818a14c0f9504acf49b8853ed", "kind": "equivalent", "version": "9.4.18", "label": "9.4.18", "title": "减少自动清理工作者调度期间的锁定", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "14de4f415f73c95f0c21dc7a5a2f4dcb137aa0473d074fd71c6a8f14019a7ff4"}, "url": "/docs/compare/?release=9.4.18#9.4.18-c5a47f74f99569cd", "source_url": "/docs/release/9.4.18/#id-1.11.6.13.5"}, {"db_id": "9879651e1577c9bf2b980164dc96fc99", "kind": "equivalent", "version": "9.3.23", "label": "9.3.23", "title": "减少自动清理工作者调度期间的锁定", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "14de4f415f73c95f0c21dc7a5a2f4dcb137aa0473d074fd71c6a8f14019a7ff4"}, "url": "/docs/compare/?release=9.3.23#9.3.23-c5a47f74f99569cd", "source_url": "/docs/release/9.3.23/#id-1.11.6.7.5"}]}, {"id": "9.5.13-5e5fddc6e35501d5", "cves": [], "html": "<p>确保把 <code>pg_stat_activity</code> 数据复制到本地内存时复制客户端主机名（Edmund Horner）</p>\n<p>此前，这个本应本地的快照包含指向共享内存的指针，使客户端主机名列可能因任何现有会话断开而意外改变。</p>", "text": "确保把 pg_stat_activity 数据复制到本地内存时复制客户端主机名（Edmund Horner） 此前，这个本应本地的快照包含指向共享内存的指针，使客户端主机名列可能因任何现有会话断开而意外改变。", "title": "确保把 pg_stat_activity 数据复制到本地内存时复制客户端主机名", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.5.13/#id-1.11.6.17.5", "source_hash": "bc6a7f0322debf94d25707141fcdd3234150ded078d58558858c377baad8fba9", "section_path": ["变更"], "commit_groups": [], "identity_text": "Ensure client hostname is copied while copying pg_stat_activity data to local memory (Edmund Horner) Previously the supposedly-local snapshot contained a pointer into shared memory, allowing the client hostname column to change unexpectedly if any existing session disconnected.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.5.13/changes/017", "db_id": "fda974396483a47344c45c305f2cefe9", "patch_ids": [], "statement_hash": "78dc8299634ce114ccef0a29a0137833d2b717c32aef987d8972f700e819ef2d", "relations": [{"rule": 2, "type": "equivalent", "target": "5c7983b5c911e39d4fb4734b69fbec03", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "78dc8299634ce114ccef0a29a0137833d2b717c32aef987d8972f700e819ef2d"}}, {"rule": 2, "type": "equivalent", "target": "8b056c527a773e38bdf57355cb610251", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "78dc8299634ce114ccef0a29a0137833d2b717c32aef987d8972f700e819ef2d"}}, {"rule": 2, "type": "equivalent", "target": "92c0710eaf0262eb5500ccb1efe0542e", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "78dc8299634ce114ccef0a29a0137833d2b717c32aef987d8972f700e819ef2d"}}, {"rule": 2, "type": "equivalent", "target": "af3a25fc707a614cafcb9ff72f88cf20", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "78dc8299634ce114ccef0a29a0137833d2b717c32aef987d8972f700e819ef2d"}}], "version": "9.5.13", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "8b056c527a773e38bdf57355cb610251", "kind": "equivalent", "version": "10.4", "label": "10.4", "title": "确保将 pg_stat_activity 数据复制到本地内存时也复制客户端主机名", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "78dc8299634ce114ccef0a29a0137833d2b717c32aef987d8972f700e819ef2d"}, "url": "/docs/compare/?release=10.4#10.4-09c9698d058905f5", "source_url": "/docs/release/10.4/#id-1.11.6.24.5"}, {"db_id": "5c7983b5c911e39d4fb4734b69fbec03", "kind": "equivalent", "version": "9.6.9", "label": "9.6.9", "title": "确保把 pg_stat_activity 数据复制到本地内存时复制客户端主机名", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "78dc8299634ce114ccef0a29a0137833d2b717c32aef987d8972f700e819ef2d"}, "url": "/docs/compare/?release=9.6.9#9.6.9-5e5fddc6e35501d5", "source_url": "/docs/release/9.6.9/#id-1.11.6.20.5"}, {"db_id": "92c0710eaf0262eb5500ccb1efe0542e", "kind": "equivalent", "version": "9.4.18", "label": "9.4.18", "title": "确保把 pg_stat_activity 数据复制到本地内存时复制客户端主机名", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "78dc8299634ce114ccef0a29a0137833d2b717c32aef987d8972f700e819ef2d"}, "url": "/docs/compare/?release=9.4.18#9.4.18-5e5fddc6e35501d5", "source_url": "/docs/release/9.4.18/#id-1.11.6.13.5"}, {"db_id": "af3a25fc707a614cafcb9ff72f88cf20", "kind": "equivalent", "version": "9.3.23", "label": "9.3.23", "title": "确保把 pg_stat_activity 数据复制到本地内存时复制客户端主机名", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "78dc8299634ce114ccef0a29a0137833d2b717c32aef987d8972f700e819ef2d"}, "url": "/docs/compare/?release=9.3.23#9.3.23-5e5fddc6e35501d5", "source_url": "/docs/release/9.3.23/#id-1.11.6.7.5"}]}, {"id": "9.5.13-e8113010139e614e", "cves": [], "html": "<p>修复 <code>ispell</code> 词典中多个复合词缀的错误处理（Arthur Zakirov）</p>", "text": "修复 ispell 词典中多个复合词缀的错误处理（Arthur Zakirov）", "title": "修复 ispell 词典中多个复合词缀的错误处理", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.5.13/#id-1.11.6.17.5", "source_hash": "6d0576f91b376a3976fc00fbf0a607dc31dffe97c8e3bf2ca979f5b394871a3e", "section_path": ["变更"], "commit_groups": [], "identity_text": "Fix incorrect processing of multiple compound affixes in ispell dictionaries (Arthur Zakirov)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.5.13/changes/018", "db_id": "0f6e4e08bd85104518b0759c3a13b12f", "patch_ids": [], "statement_hash": "b0f8a47c5225ea0f137a489c6c2ec51fd60e9ece4f298fe13f97ecc888e51ce6", "relations": [{"rule": 2, "type": "equivalent", "target": "291efb69928283fba2177fa4566082b5", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b0f8a47c5225ea0f137a489c6c2ec51fd60e9ece4f298fe13f97ecc888e51ce6"}}, {"rule": 2, "type": "equivalent", "target": "2eeabca54ad4f767b22d9570cc8adcf2", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b0f8a47c5225ea0f137a489c6c2ec51fd60e9ece4f298fe13f97ecc888e51ce6"}}, {"rule": 2, "type": "equivalent", "target": "6130400fb1f41c260f1e042643d0507b", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b0f8a47c5225ea0f137a489c6c2ec51fd60e9ece4f298fe13f97ecc888e51ce6"}}, {"rule": 2, "type": "equivalent", "target": "c39b806add06e980c2133a2ff25fa94c", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b0f8a47c5225ea0f137a489c6c2ec51fd60e9ece4f298fe13f97ecc888e51ce6"}}], "version": "9.5.13", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "291efb69928283fba2177fa4566082b5", "kind": "equivalent", "version": "10.4", "label": "10.4", "title": "修复 ispell 字典对多个复合词缀处理不正确的问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b0f8a47c5225ea0f137a489c6c2ec51fd60e9ece4f298fe13f97ecc888e51ce6"}, "url": "/docs/compare/?release=10.4#10.4-a85e988c914cc62c", "source_url": "/docs/release/10.4/#id-1.11.6.24.5"}, {"db_id": "2eeabca54ad4f767b22d9570cc8adcf2", "kind": "equivalent", "version": "9.6.9", "label": "9.6.9", "title": "修复 ispell 词典中多个复合词缀的错误处理", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b0f8a47c5225ea0f137a489c6c2ec51fd60e9ece4f298fe13f97ecc888e51ce6"}, "url": "/docs/compare/?release=9.6.9#9.6.9-e8113010139e614e", "source_url": "/docs/release/9.6.9/#id-1.11.6.20.5"}, {"db_id": "c39b806add06e980c2133a2ff25fa94c", "kind": "equivalent", "version": "9.4.18", "label": "9.4.18", "title": "修复 ispell 词典中多个复合词缀的错误处理", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b0f8a47c5225ea0f137a489c6c2ec51fd60e9ece4f298fe13f97ecc888e51ce6"}, "url": "/docs/compare/?release=9.4.18#9.4.18-e8113010139e614e", "source_url": "/docs/release/9.4.18/#id-1.11.6.13.5"}, {"db_id": "6130400fb1f41c260f1e042643d0507b", "kind": "equivalent", "version": "9.3.23", "label": "9.3.23", "title": "修复 ispell 词典中多个复合词缀的错误处理", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b0f8a47c5225ea0f137a489c6c2ec51fd60e9ece4f298fe13f97ecc888e51ce6"}, "url": "/docs/compare/?release=9.3.23#9.3.23-e8113010139e614e", "source_url": "/docs/release/9.3.23/#id-1.11.6.7.5"}]}, {"id": "9.5.13-3448b25b62d2b1da", "cves": [], "html": "<p>修复 text 列上 SP-GiST 索引中的排序规则感知搜索（即使用不等操作符的索引扫描）（Tom Lane）</p>\n<p>在大多数非 C 区域中，这种搜索会返回错误的行集合。</p>", "text": "修复 text 列上 SP-GiST 索引中的排序规则感知搜索（即使用不等操作符的索引扫描）（Tom Lane） 在大多数非 C 区域中，这种搜索会返回错误的行集合。", "title": "修复 text 列上 SP-GiST 索引中的排序规则感知搜索（即使用不等操作符的索引扫描）", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.5.13/#id-1.11.6.17.5", "source_hash": "cc521e132138ed8603a2fc9ad803e21c53469f2117da5e62a327b9d7f83ca9e6", "section_path": ["变更"], "commit_groups": [], "identity_text": "Fix collation-aware searches (that is, indexscans using inequality operators) in SP-GiST indexes on text columns (Tom Lane) Such searches would return the wrong set of rows in most non-C locales.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.5.13/changes/019", "db_id": "b4cab7f36fbf2fbcac26864909208677", "patch_ids": [], "statement_hash": "48ab0a47cf70df52e051e183c7d5a16381f26b772924e25c3ad2da1a02c46aa1", "relations": [{"rule": 2, "type": "equivalent", "target": "02e9f30aadf663eed076639c509b35b3", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "48ab0a47cf70df52e051e183c7d5a16381f26b772924e25c3ad2da1a02c46aa1"}}, {"rule": 2, "type": "equivalent", "target": "055505907ab73dcd556292fb81ea9c61", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "48ab0a47cf70df52e051e183c7d5a16381f26b772924e25c3ad2da1a02c46aa1"}}, {"rule": 2, "type": "equivalent", "target": "4806991de97b350a9da8549508ceca1c", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "48ab0a47cf70df52e051e183c7d5a16381f26b772924e25c3ad2da1a02c46aa1"}}, {"rule": 2, "type": "equivalent", "target": "6c5489f304d2067655ec90f6b952d748", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "48ab0a47cf70df52e051e183c7d5a16381f26b772924e25c3ad2da1a02c46aa1"}}], "version": "9.5.13", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "6c5489f304d2067655ec90f6b952d748", "kind": "equivalent", "version": "10.4", "label": "10.4", "title": "修复文本列上 SP-GiST 索引中考虑排序规则的搜索（即使用不等式操作符的索引扫描）", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "48ab0a47cf70df52e051e183c7d5a16381f26b772924e25c3ad2da1a02c46aa1"}, "url": "/docs/compare/?release=10.4#10.4-8f9e9e1392cd363a", "source_url": "/docs/release/10.4/#id-1.11.6.24.5"}, {"db_id": "4806991de97b350a9da8549508ceca1c", "kind": "equivalent", "version": "9.6.9", "label": "9.6.9", "title": "修复 text 列上 SP-GiST 索引中的排序规则感知搜索（即使用不等操作符的索引扫描）", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "48ab0a47cf70df52e051e183c7d5a16381f26b772924e25c3ad2da1a02c46aa1"}, "url": "/docs/compare/?release=9.6.9#9.6.9-3448b25b62d2b1da", "source_url": "/docs/release/9.6.9/#id-1.11.6.20.5"}, {"db_id": "02e9f30aadf663eed076639c509b35b3", "kind": "equivalent", "version": "9.4.18", "label": "9.4.18", "title": "修复 text 列上 SP-GiST 索引中的排序规则感知搜索（即使用不等操作符的索引扫描）", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "48ab0a47cf70df52e051e183c7d5a16381f26b772924e25c3ad2da1a02c46aa1"}, "url": "/docs/compare/?release=9.4.18#9.4.18-3448b25b62d2b1da", "source_url": "/docs/release/9.4.18/#id-1.11.6.13.5"}, {"db_id": "055505907ab73dcd556292fb81ea9c61", "kind": "equivalent", "version": "9.3.23", "label": "9.3.23", "title": "修复 text 列上 SP-GiST 索引中的排序规则感知搜索（即使用不等操作符的索引扫描）", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "48ab0a47cf70df52e051e183c7d5a16381f26b772924e25c3ad2da1a02c46aa1"}, "url": "/docs/compare/?release=9.3.23#9.3.23-3448b25b62d2b1da", "source_url": "/docs/release/9.3.23/#id-1.11.6.7.5"}]}, {"id": "9.5.13-e54830f8dcbbc55e", "cves": [], "html": "<p>在 SP-GiST 索引初始构建期间正确计数索引元组数（Tomas Vondra）</p>\n<p>此前，元组数被报告为与底层表相同，如果索引是部分索引就错了。</p>", "text": "在 SP-GiST 索引初始构建期间正确计数索引元组数（Tomas Vondra） 此前，元组数被报告为与底层表相同，如果索引是部分索引就错了。", "title": "在 SP-GiST 索引初始构建期间正确计数索引元组数", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.5.13/#id-1.11.6.17.5", "source_hash": "aa215a1d0513c7c8b448f2f1aa03067f92392a0a6930b4f8d7df0e05c03bdcad", "section_path": ["变更"], "commit_groups": [], "identity_text": "Count the number of index tuples correctly during initial build of an SP-GiST index (Tomas Vondra) Previously, the tuple count was reported to be the same as that of the underlying table, which is wrong if the index is partial.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.5.13/changes/020", "db_id": "ac6f0f2aa60298980a4a8234b8d6ea2f", "patch_ids": [], "statement_hash": "eb26d2e14abe070a0cdd663f1654b75b4093aaba180e261e66d6db3ce75e01f0", "relations": [{"rule": 2, "type": "equivalent", "target": "17ec129a297bb8205d81fbea0ba2dc46", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "eb26d2e14abe070a0cdd663f1654b75b4093aaba180e261e66d6db3ce75e01f0"}}, {"rule": 2, "type": "equivalent", "target": "2bd7aaa9f4c77b34211ebaa6805b7b9b", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "eb26d2e14abe070a0cdd663f1654b75b4093aaba180e261e66d6db3ce75e01f0"}}, {"rule": 2, "type": "equivalent", "target": "87a9fe257dbbf67ae0f5420069f6a5dd", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "eb26d2e14abe070a0cdd663f1654b75b4093aaba180e261e66d6db3ce75e01f0"}}, {"rule": 2, "type": "equivalent", "target": "f3cfe66abaea835caf64a0f0666a4e06", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "eb26d2e14abe070a0cdd663f1654b75b4093aaba180e261e66d6db3ce75e01f0"}}], "version": "9.5.13", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "17ec129a297bb8205d81fbea0ba2dc46", "kind": "equivalent", "version": "10.4", "label": "10.4", "title": "在首次构建 SP-GiST 索引时正确统计索引元组数", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "eb26d2e14abe070a0cdd663f1654b75b4093aaba180e261e66d6db3ce75e01f0"}, "url": "/docs/compare/?release=10.4#10.4-acd47998537683c5", "source_url": "/docs/release/10.4/#id-1.11.6.24.5"}, {"db_id": "87a9fe257dbbf67ae0f5420069f6a5dd", "kind": "equivalent", "version": "9.6.9", "label": "9.6.9", "title": "在 SP-GiST 索引初始构建期间正确计数索引元组数", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "eb26d2e14abe070a0cdd663f1654b75b4093aaba180e261e66d6db3ce75e01f0"}, "url": "/docs/compare/?release=9.6.9#9.6.9-e54830f8dcbbc55e", "source_url": "/docs/release/9.6.9/#id-1.11.6.20.5"}, {"db_id": "f3cfe66abaea835caf64a0f0666a4e06", "kind": "equivalent", "version": "9.4.18", "label": "9.4.18", "title": "在 SP-GiST 索引初始构建期间正确计数索引元组数", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "eb26d2e14abe070a0cdd663f1654b75b4093aaba180e261e66d6db3ce75e01f0"}, "url": "/docs/compare/?release=9.4.18#9.4.18-e54830f8dcbbc55e", "source_url": "/docs/release/9.4.18/#id-1.11.6.13.5"}, {"db_id": "2bd7aaa9f4c77b34211ebaa6805b7b9b", "kind": "equivalent", "version": "9.3.23", "label": "9.3.23", "title": "在 SP-GiST 索引初始构建期间正确计数索引元组数", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "eb26d2e14abe070a0cdd663f1654b75b4093aaba180e261e66d6db3ce75e01f0"}, "url": "/docs/compare/?release=9.3.23#9.3.23-e54830f8dcbbc55e", "source_url": "/docs/release/9.3.23/#id-1.11.6.7.5"}]}, {"id": "9.5.13-4ff7dbd55c5c1335", "cves": [], "html": "<p>在 GiST 索引清理期间正确计数索引元组数（Andrey Borodin）</p>\n<p>此前它报告的是估计的堆元组数，可能不准确，而且如果索引是部分索引则肯定错误。</p>", "text": "在 GiST 索引清理期间正确计数索引元组数（Andrey Borodin） 此前它报告的是估计的堆元组数，可能不准确，而且如果索引是部分索引则肯定错误。", "title": "在 GiST 索引清理期间正确计数索引元组数", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.5.13/#id-1.11.6.17.5", "source_hash": "8c73fd7a573772b5dd245c9453c29fbf82c609ddd7041b56ea4aa7019268b9c8", "section_path": ["变更"], "commit_groups": [], "identity_text": "Count the number of index tuples correctly during vacuuming of a GiST index (Andrey Borodin) Previously it reported the estimated number of heap tuples, which might be inaccurate, and is certainly wrong if the index is partial.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.5.13/changes/021", "db_id": "bccd0d9a1621ebeaa4e5af223bee719f", "patch_ids": [], "statement_hash": "b306cd9024e03b3ab020486ecf482f698c62c5c17a9780180417312d4850b015", "relations": [{"rule": 2, "type": "equivalent", "target": "29e33e77b216dbbb7810840bad771441", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b306cd9024e03b3ab020486ecf482f698c62c5c17a9780180417312d4850b015"}}, {"rule": 2, "type": "equivalent", "target": "a638da4d9b969dd3191b7d6887f7e419", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b306cd9024e03b3ab020486ecf482f698c62c5c17a9780180417312d4850b015"}}, {"rule": 2, "type": "equivalent", "target": "ab9bdfe958543add18823d023e5242b4", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b306cd9024e03b3ab020486ecf482f698c62c5c17a9780180417312d4850b015"}}, {"rule": 2, "type": "equivalent", "target": "cfdf30adb94a383b4ee43f96cc2045bf", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b306cd9024e03b3ab020486ecf482f698c62c5c17a9780180417312d4850b015"}}], "version": "9.5.13", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "29e33e77b216dbbb7810840bad771441", "kind": "equivalent", "version": "10.4", "label": "10.4", "title": "在清理 GiST 索引时正确统计索引元组数", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b306cd9024e03b3ab020486ecf482f698c62c5c17a9780180417312d4850b015"}, "url": "/docs/compare/?release=10.4#10.4-09b1d2652f4ed6ab", "source_url": "/docs/release/10.4/#id-1.11.6.24.5"}, {"db_id": "ab9bdfe958543add18823d023e5242b4", "kind": "equivalent", "version": "9.6.9", "label": "9.6.9", "title": "在 GiST 索引清理期间正确计数索引元组数", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b306cd9024e03b3ab020486ecf482f698c62c5c17a9780180417312d4850b015"}, "url": "/docs/compare/?release=9.6.9#9.6.9-4ff7dbd55c5c1335", "source_url": "/docs/release/9.6.9/#id-1.11.6.20.5"}, {"db_id": "a638da4d9b969dd3191b7d6887f7e419", "kind": "equivalent", "version": "9.4.18", "label": "9.4.18", "title": "在 GiST 索引清理期间正确计数索引元组数", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b306cd9024e03b3ab020486ecf482f698c62c5c17a9780180417312d4850b015"}, "url": "/docs/compare/?release=9.4.18#9.4.18-4ff7dbd55c5c1335", "source_url": "/docs/release/9.4.18/#id-1.11.6.13.5"}, {"db_id": "cfdf30adb94a383b4ee43f96cc2045bf", "kind": "equivalent", "version": "9.3.23", "label": "9.3.23", "title": "在 GiST 索引清理期间正确计数索引元组数", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b306cd9024e03b3ab020486ecf482f698c62c5c17a9780180417312d4850b015"}, "url": "/docs/compare/?release=9.3.23#9.3.23-4ff7dbd55c5c1335", "source_url": "/docs/release/9.3.23/#id-1.11.6.7.5"}]}, {"id": "9.5.13-ca01249ece0034ac", "cves": [], "html": "<p>修复流式备库在 WAL 延续记录处卡住的一个边界情况（Kyotaro Horiguchi）</p>", "text": "修复流式备库在 WAL 延续记录处卡住的一个边界情况（Kyotaro Horiguchi）", "title": "修复流式备库在 WAL 延续记录处卡住的一个边界情况", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.5.13/#id-1.11.6.17.5", "source_hash": "2cc33db73e8e96f9830c9b399af5a9cd270678d1913f3b8e3d3ed74f2ab2ae72", "section_path": ["变更"], "commit_groups": [], "identity_text": "Fix a corner case where a streaming standby gets stuck at a WAL continuation record (Kyotaro Horiguchi)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.5.13/changes/022", "db_id": "c68e07e15fb54547cdd38501bb1af2c0", "patch_ids": [], "statement_hash": "59351e6443dbaf7dc4c2220aa69782841d1772b68fb9a372533c7d2adb428416", "relations": [{"rule": 2, "type": "equivalent", "target": "33600bedb0d368c126b4c7b22224ab68", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "59351e6443dbaf7dc4c2220aa69782841d1772b68fb9a372533c7d2adb428416"}}, {"rule": 2, "type": "equivalent", "target": "a93f663903aa06ad4ff1792dc4f9a275", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "59351e6443dbaf7dc4c2220aa69782841d1772b68fb9a372533c7d2adb428416"}}, {"rule": 2, "type": "equivalent", "target": "f3045f78276ee10683eac5528bd5a4a6", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "59351e6443dbaf7dc4c2220aa69782841d1772b68fb9a372533c7d2adb428416"}}], "version": "9.5.13", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "f3045f78276ee10683eac5528bd5a4a6", "kind": "equivalent", "version": "10.4", "label": "10.4", "title": "修复流复制备库卡在 WAL 续接记录上的一种边界情况", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "59351e6443dbaf7dc4c2220aa69782841d1772b68fb9a372533c7d2adb428416"}, "url": "/docs/compare/?release=10.4#10.4-3e3d04127907dab8", "source_url": "/docs/release/10.4/#id-1.11.6.24.5"}, {"db_id": "a93f663903aa06ad4ff1792dc4f9a275", "kind": "equivalent", "version": "9.6.9", "label": "9.6.9", "title": "修复流式备库在 WAL 延续记录处卡住的一个边界情况", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "59351e6443dbaf7dc4c2220aa69782841d1772b68fb9a372533c7d2adb428416"}, "url": "/docs/compare/?release=9.6.9#9.6.9-ca01249ece0034ac", "source_url": "/docs/release/9.6.9/#id-1.11.6.20.5"}, {"db_id": "33600bedb0d368c126b4c7b22224ab68", "kind": "equivalent", "version": "9.4.18", "label": "9.4.18", "title": "修复流式备库在 WAL 延续记录处卡住的一个边界情况", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "59351e6443dbaf7dc4c2220aa69782841d1772b68fb9a372533c7d2adb428416"}, "url": "/docs/compare/?release=9.4.18#9.4.18-ca01249ece0034ac", "source_url": "/docs/release/9.4.18/#id-1.11.6.13.5"}]}, {"id": "9.5.13-a1e1aee845cc3721", "cves": [], "html": "<p>在逻辑解码中，避免 walsender 重启时 WAL 数据可能被双重处理（Craig Ringer）</p>", "text": "在逻辑解码中，避免 walsender 重启时 WAL 数据可能被双重处理（Craig Ringer）", "title": "在逻辑解码中，避免 walsender 重启时 WAL 数据可能被双重处理", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.5.13/#id-1.11.6.17.5", "source_hash": "36b0874c90338b53ea3d13559602426f7dc1a392bd8e09d17476e3fe2ee419d7", "section_path": ["变更"], "commit_groups": [], "identity_text": "In logical decoding, avoid possible double processing of WAL data when a walsender restarts (Craig Ringer)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.5.13/changes/023", "db_id": "47bc65eec35ea4781ec3ef7802aed738", "patch_ids": [], "statement_hash": "79549c9f3064d99035b8cf21625e13f2f9197ede19c546433974bb00a8b90f6b", "relations": [{"rule": 2, "type": "equivalent", "target": "4ba8666af1d4895ce1d50bca6abee36a", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "79549c9f3064d99035b8cf21625e13f2f9197ede19c546433974bb00a8b90f6b"}}, {"rule": 2, "type": "equivalent", "target": "4c2ba004af8104bf528e8cf48a5125a1", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "79549c9f3064d99035b8cf21625e13f2f9197ede19c546433974bb00a8b90f6b"}}, {"rule": 2, "type": "equivalent", "target": "ffa981528713bc0c5dfb6ad2ed90ea75", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "79549c9f3064d99035b8cf21625e13f2f9197ede19c546433974bb00a8b90f6b"}}], "version": "9.5.13", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "4ba8666af1d4895ce1d50bca6abee36a", "kind": "equivalent", "version": "10.4", "label": "10.4", "title": "在逻辑解码中，避免 WAL 发送进程重启时可能重复处理 WAL 数据的问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "79549c9f3064d99035b8cf21625e13f2f9197ede19c546433974bb00a8b90f6b"}, "url": "/docs/compare/?release=10.4#10.4-2703a0fc865c6c1c", "source_url": "/docs/release/10.4/#id-1.11.6.24.5"}, {"db_id": "4c2ba004af8104bf528e8cf48a5125a1", "kind": "equivalent", "version": "9.6.9", "label": "9.6.9", "title": "在逻辑解码中，避免 walsender 重启时 WAL 数据可能被双重处理", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "79549c9f3064d99035b8cf21625e13f2f9197ede19c546433974bb00a8b90f6b"}, "url": "/docs/compare/?release=9.6.9#9.6.9-a1e1aee845cc3721", "source_url": "/docs/release/9.6.9/#id-1.11.6.20.5"}, {"db_id": "ffa981528713bc0c5dfb6ad2ed90ea75", "kind": "equivalent", "version": "9.4.18", "label": "9.4.18", "title": "在逻辑解码中，避免 walsender 重启时 WAL 数据可能被双重处理", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "79549c9f3064d99035b8cf21625e13f2f9197ede19c546433974bb00a8b90f6b"}, "url": "/docs/compare/?release=9.4.18#9.4.18-a1e1aee845cc3721", "source_url": "/docs/release/9.4.18/#id-1.11.6.13.5"}]}, {"id": "9.5.13-31ed71f6b49e9c19", "cves": [], "html": "<p>允许 <code>scalarltsel</code> 和 <code>scalargtsel</code> 用于非核心数据类型（Tomas Vondra）</p>", "text": "允许 scalarltsel 和 scalargtsel 用于非核心数据类型（Tomas Vondra）", "title": "允许 scalarltsel 和 scalargtsel 用于非核心数据类型", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.5.13/#id-1.11.6.17.5", "source_hash": "3faac08b187a07dce59bc0c14b0bd4f8f7645ec44ef16ec77dd870745596916e", "section_path": ["变更"], "commit_groups": [], "identity_text": "Allow scalarltsel and scalargtsel to be used on non-core datatypes (Tomas Vondra)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.5.13/changes/024", "db_id": "2d1c9127abf9e220078ac95813fe7259", "patch_ids": [], "statement_hash": "3cf7c4620528c8a92f3ef599197cc213c6a2ae988ce5537647a25de2b7d6b50e", "relations": [{"rule": 2, "type": "equivalent", "target": "2489a01a1aa072ea9c497779d2c095fa", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "3cf7c4620528c8a92f3ef599197cc213c6a2ae988ce5537647a25de2b7d6b50e"}}, {"rule": 2, "type": "equivalent", "target": "a8eeba970cd71720b89ea607aaf6d323", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "3cf7c4620528c8a92f3ef599197cc213c6a2ae988ce5537647a25de2b7d6b50e"}}, {"rule": 2, "type": "equivalent", "target": "b1bfdd907aec89a75bf1cc9b9d040f56", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "3cf7c4620528c8a92f3ef599197cc213c6a2ae988ce5537647a25de2b7d6b50e"}}, {"rule": 2, "type": "equivalent", "target": "f282a2d1093812925f015ba800325075", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "3cf7c4620528c8a92f3ef599197cc213c6a2ae988ce5537647a25de2b7d6b50e"}}], "version": "9.5.13", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "b1bfdd907aec89a75bf1cc9b9d040f56", "kind": "equivalent", "version": "10.4", "label": "10.4", "title": "允许将 scalarltsel 和 scalargtsel 用于非核心数据类型", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "3cf7c4620528c8a92f3ef599197cc213c6a2ae988ce5537647a25de2b7d6b50e"}, "url": "/docs/compare/?release=10.4#10.4-8b8cfa71d75f5384", "source_url": "/docs/release/10.4/#id-1.11.6.24.5"}, {"db_id": "2489a01a1aa072ea9c497779d2c095fa", "kind": "equivalent", "version": "9.6.9", "label": "9.6.9", "title": "允许 scalarltsel 和 scalargtsel 用于非核心数据类型", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "3cf7c4620528c8a92f3ef599197cc213c6a2ae988ce5537647a25de2b7d6b50e"}, "url": "/docs/compare/?release=9.6.9#9.6.9-31ed71f6b49e9c19", "source_url": "/docs/release/9.6.9/#id-1.11.6.20.5"}, {"db_id": "f282a2d1093812925f015ba800325075", "kind": "equivalent", "version": "9.4.18", "label": "9.4.18", "title": "允许 scalarltsel 和 scalargtsel 用于非核心数据类型", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "3cf7c4620528c8a92f3ef599197cc213c6a2ae988ce5537647a25de2b7d6b50e"}, "url": "/docs/compare/?release=9.4.18#9.4.18-31ed71f6b49e9c19", "source_url": "/docs/release/9.4.18/#id-1.11.6.13.5"}, {"db_id": "a8eeba970cd71720b89ea607aaf6d323", "kind": "equivalent", "version": "9.3.23", "label": "9.3.23", "title": "允许 scalarltsel 和 scalargtsel 用于非核心数据类型", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "3cf7c4620528c8a92f3ef599197cc213c6a2ae988ce5537647a25de2b7d6b50e"}, "url": "/docs/compare/?release=9.3.23#9.3.23-31ed71f6b49e9c19", "source_url": "/docs/release/9.3.23/#id-1.11.6.7.5"}]}, {"id": "9.5.13-87cad5659cbd6302", "cves": [], "html": "<p>减少收集了大量查询输出之后服务器报告错误时 <span>libpq</span> 的内存消耗（Tom Lane）</p>\n<p>在处理错误消息之前而不是之后丢弃先前的输出。在某些平台（特别是 Linux）上，这可以改变应用之后的内存占用。</p>", "text": "减少收集了大量查询输出之后服务器报告错误时 libpq 的内存消耗（Tom Lane） 在处理错误消息之前而不是之后丢弃先前的输出。在某些平台（特别是 Linux）上，这可以改变应用之后的内存占用。", "title": "减少收集了大量查询输出之后服务器报告错误时 libpq 的内存消耗", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.5.13/#id-1.11.6.17.5", "source_hash": "50fb739fac908e756b734cb2f62ee4d48c821386573f02a65df87458d7309e4e", "section_path": ["变更"], "commit_groups": [], "identity_text": "Reduce libpq's memory consumption when a server error is reported after a large amount of query output has been collected (Tom Lane) Discard the previous output before, not after, processing the error message. On some platforms, notably Linux, this can make a difference in the application's subsequent memory footprint.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.5.13/changes/025", "db_id": "629f2ba7fe42a5b76da1d69efc49c42f", "patch_ids": [], "statement_hash": "ee45378f3c6b3c086ad2ba13f134eaf2fded2d377b6f9d8bef976b79920ce308", "relations": [{"rule": 2, "type": "equivalent", "target": "2e2e30d4f45969ba61c1eae7a82d4a2f", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ee45378f3c6b3c086ad2ba13f134eaf2fded2d377b6f9d8bef976b79920ce308"}}, {"rule": 2, "type": "equivalent", "target": "653ce78a669b47808c6c21ba056c6b28", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ee45378f3c6b3c086ad2ba13f134eaf2fded2d377b6f9d8bef976b79920ce308"}}, {"rule": 2, "type": "equivalent", "target": "7fd00656eb3166d11d40b31d0a701cde", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ee45378f3c6b3c086ad2ba13f134eaf2fded2d377b6f9d8bef976b79920ce308"}}, {"rule": 2, "type": "equivalent", "target": "93194ee05134f259b2e143780f4fd441", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ee45378f3c6b3c086ad2ba13f134eaf2fded2d377b6f9d8bef976b79920ce308"}}], "version": "9.5.13", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "7fd00656eb3166d11d40b31d0a701cde", "kind": "equivalent", "version": "10.4", "label": "10.4", "title": "减少已收集大量查询输出后收到服务器错误时 libpq 的内存消耗", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ee45378f3c6b3c086ad2ba13f134eaf2fded2d377b6f9d8bef976b79920ce308"}, "url": "/docs/compare/?release=10.4#10.4-4e156db7f4daad1c", "source_url": "/docs/release/10.4/#id-1.11.6.24.5"}, {"db_id": "653ce78a669b47808c6c21ba056c6b28", "kind": "equivalent", "version": "9.6.9", "label": "9.6.9", "title": "减少收集了大量查询输出之后服务器报告错误时 libpq 的内存消耗", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ee45378f3c6b3c086ad2ba13f134eaf2fded2d377b6f9d8bef976b79920ce308"}, "url": "/docs/compare/?release=9.6.9#9.6.9-87cad5659cbd6302", "source_url": "/docs/release/9.6.9/#id-1.11.6.20.5"}, {"db_id": "93194ee05134f259b2e143780f4fd441", "kind": "equivalent", "version": "9.4.18", "label": "9.4.18", "title": "减少收集了大量查询输出之后服务器报告错误时 libpq 的内存消耗", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ee45378f3c6b3c086ad2ba13f134eaf2fded2d377b6f9d8bef976b79920ce308"}, "url": "/docs/compare/?release=9.4.18#9.4.18-87cad5659cbd6302", "source_url": "/docs/release/9.4.18/#id-1.11.6.13.5"}, {"db_id": "2e2e30d4f45969ba61c1eae7a82d4a2f", "kind": "equivalent", "version": "9.3.23", "label": "9.3.23", "title": "减少收集了大量查询输出之后服务器报告错误时 libpq 的内存消耗", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ee45378f3c6b3c086ad2ba13f134eaf2fded2d377b6f9d8bef976b79920ce308"}, "url": "/docs/compare/?release=9.3.23#9.3.23-87cad5659cbd6302", "source_url": "/docs/release/9.3.23/#id-1.11.6.7.5"}]}, {"id": "9.5.13-1a219e20bfead561", "cves": [], "html": "<p>修复 <span>ecpg</span> 中的双重释放崩溃（Patrick Krecker、Jeevan Ladhe）</p>", "text": "修复 ecpg 中的双重释放崩溃（Patrick Krecker、Jeevan Ladhe）", "title": "修复 ecpg 中的双重释放崩溃", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.5.13/#id-1.11.6.17.5", "source_hash": "e72655c1a8aec6ab93b05f63e8d3a332c0e8808ca93df5cf08d0d17a79095ca5", "section_path": ["变更"], "commit_groups": [], "identity_text": "Fix double-free crashes in ecpg (Patrick Krecker, Jeevan Ladhe)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.5.13/changes/026", "db_id": "7c6cac4a57b4ffe489adb9d1f1a4fe93", "patch_ids": [], "statement_hash": "6465908dd7596f242150881ffc742caee3fd0439bee866f9ee28e11ba1348214", "relations": [{"rule": 2, "type": "equivalent", "target": "159b1c65a03eae282bbd2bae744da93b", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "6465908dd7596f242150881ffc742caee3fd0439bee866f9ee28e11ba1348214"}}, {"rule": 2, "type": "equivalent", "target": "bb37def1d3ffbdb16f5423882ee284aa", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "6465908dd7596f242150881ffc742caee3fd0439bee866f9ee28e11ba1348214"}}, {"rule": 2, "type": "equivalent", "target": "ca20789dd1f6eb8145ffe8a4f7dc0023", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "6465908dd7596f242150881ffc742caee3fd0439bee866f9ee28e11ba1348214"}}, {"rule": 2, "type": "equivalent", "target": "cd90ef8d70cdc0271c0e79bedcfd2dab", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "6465908dd7596f242150881ffc742caee3fd0439bee866f9ee28e11ba1348214"}}], "version": "9.5.13", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "bb37def1d3ffbdb16f5423882ee284aa", "kind": "equivalent", "version": "10.4", "label": "10.4", "title": "修复 ecpg 中重复释放引发的崩溃", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "6465908dd7596f242150881ffc742caee3fd0439bee866f9ee28e11ba1348214"}, "url": "/docs/compare/?release=10.4#10.4-87f745f301bd2233", "source_url": "/docs/release/10.4/#id-1.11.6.24.5"}, {"db_id": "ca20789dd1f6eb8145ffe8a4f7dc0023", "kind": "equivalent", "version": "9.6.9", "label": "9.6.9", "title": "修复 ecpg 中的双重释放崩溃", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "6465908dd7596f242150881ffc742caee3fd0439bee866f9ee28e11ba1348214"}, "url": "/docs/compare/?release=9.6.9#9.6.9-1a219e20bfead561", "source_url": "/docs/release/9.6.9/#id-1.11.6.20.5"}, {"db_id": "159b1c65a03eae282bbd2bae744da93b", "kind": "equivalent", "version": "9.4.18", "label": "9.4.18", "title": "修复 ecpg 中的双重释放崩溃", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "6465908dd7596f242150881ffc742caee3fd0439bee866f9ee28e11ba1348214"}, "url": "/docs/compare/?release=9.4.18#9.4.18-1a219e20bfead561", "source_url": "/docs/release/9.4.18/#id-1.11.6.13.5"}, {"db_id": "cd90ef8d70cdc0271c0e79bedcfd2dab", "kind": "equivalent", "version": "9.3.23", "label": "9.3.23", "title": "修复 ecpg 中的双重释放崩溃", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "6465908dd7596f242150881ffc742caee3fd0439bee866f9ee28e11ba1348214"}, "url": "/docs/compare/?release=9.3.23#9.3.23-1a219e20bfead561", "source_url": "/docs/release/9.3.23/#id-1.11.6.7.5"}]}, {"id": "9.5.13-b75b0c429c64455d", "cves": [], "html": "<p>修复 <span>ecpg</span> 在 MSVC 构建中正确处理 <code>long long int</code> 变量（Michael Meskes、Andrew Gierth）</p>", "text": "修复 ecpg 在 MSVC 构建中正确处理 long long int 变量（Michael Meskes、Andrew Gierth）", "title": "修复 ecpg 在 MSVC 构建中正确处理 long long int 变量", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.5.13/#id-1.11.6.17.5", "source_hash": "3a6845bfaa8ed032a633e1972bfcedcb4428213aa3fffd03f9644c0bf070a48f", "section_path": ["变更"], "commit_groups": [], "identity_text": "Fix ecpg to handle long long int variables correctly in MSVC builds (Michael Meskes, Andrew Gierth)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.5.13/changes/027", "db_id": "194d09c49132cfa28077c392a69ced5b", "patch_ids": [], "statement_hash": "54b461d4af0c113d1b77ed4d9f923e7764adb7d9d1cb0f9a16b96f9b5f1dbac6", "relations": [{"rule": 2, "type": "equivalent", "target": "959c04fbac5a9ce1540e3a3c941bb0d5", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "54b461d4af0c113d1b77ed4d9f923e7764adb7d9d1cb0f9a16b96f9b5f1dbac6"}}, {"rule": 2, "type": "equivalent", "target": "b84680c11f9ad876ed9801ec7a9e50eb", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "54b461d4af0c113d1b77ed4d9f923e7764adb7d9d1cb0f9a16b96f9b5f1dbac6"}}, {"rule": 2, "type": "equivalent", "target": "d18f2c181c8331b1b400398ab6b42c29", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "54b461d4af0c113d1b77ed4d9f923e7764adb7d9d1cb0f9a16b96f9b5f1dbac6"}}, {"rule": 2, "type": "equivalent", "target": "d3d056491c2eb1de16daf122bc461cb3", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "54b461d4af0c113d1b77ed4d9f923e7764adb7d9d1cb0f9a16b96f9b5f1dbac6"}}], "version": "9.5.13", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "b84680c11f9ad876ed9801ec7a9e50eb", "kind": "equivalent", "version": "10.4", "label": "10.4", "title": "修复 ecpg，使其在 MSVC 构建中正确处理 long long int 变量", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "54b461d4af0c113d1b77ed4d9f923e7764adb7d9d1cb0f9a16b96f9b5f1dbac6"}, "url": "/docs/compare/?release=10.4#10.4-007b42221bce78e3", "source_url": "/docs/release/10.4/#id-1.11.6.24.5"}, {"db_id": "d18f2c181c8331b1b400398ab6b42c29", "kind": "equivalent", "version": "9.6.9", "label": "9.6.9", "title": "修复 ecpg 在 MSVC 构建中正确处理 long long int 变量", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "54b461d4af0c113d1b77ed4d9f923e7764adb7d9d1cb0f9a16b96f9b5f1dbac6"}, "url": "/docs/compare/?release=9.6.9#9.6.9-b75b0c429c64455d", "source_url": "/docs/release/9.6.9/#id-1.11.6.20.5"}, {"db_id": "959c04fbac5a9ce1540e3a3c941bb0d5", "kind": "equivalent", "version": "9.4.18", "label": "9.4.18", "title": "修复 ecpg 在 MSVC 构建中正确处理 long long int 变量", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "54b461d4af0c113d1b77ed4d9f923e7764adb7d9d1cb0f9a16b96f9b5f1dbac6"}, "url": "/docs/compare/?release=9.4.18#9.4.18-b75b0c429c64455d", "source_url": "/docs/release/9.4.18/#id-1.11.6.13.5"}, {"db_id": "d3d056491c2eb1de16daf122bc461cb3", "kind": "equivalent", "version": "9.3.23", "label": "9.3.23", "title": "修复 ecpg 在 MSVC 构建中正确处理 long long int 变量", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "54b461d4af0c113d1b77ed4d9f923e7764adb7d9d1cb0f9a16b96f9b5f1dbac6"}, "url": "/docs/compare/?release=9.3.23#9.3.23-b75b0c429c64455d", "source_url": "/docs/release/9.3.23/#id-1.11.6.7.5"}]}, {"id": "9.5.13-306f32b2f38c0bb1", "cves": [], "html": "<p>修复转储中列表值 GUC 变量值的错误引号（Michael Paquier、Tom Lane）</p>\n<p><code>local_preload_libraries</code>、<code>session_preload_libraries</code>、<code>shared_preload_libraries</code> 和 <code>temp_tablespaces</code> 变量在 <span>pg_dump</span> 输出中没有正确加引号。如果这些变量的设置出现在 <code>CREATE FUNCTION ... SET</code> 或 <code>ALTER DATABASE/ROLE ... SET</code> 子句中，这会导致问题。</p>", "text": "修复转储中列表值 GUC 变量值的错误引号（Michael Paquier、Tom Lane） local_preload_libraries、session_preload_libraries、shared_preload_libraries 和 temp_tablespaces 变量在 pg_dump 输出中没有正确加引号。如果这些变量的设置出现在 CREATE FUNCTION ... SET 或 ALTER DATABASE/ROLE ... SET 子句中，这会导致问题。", "title": "修复转储中列表值 GUC 变量值的错误引号", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.5.13/#id-1.11.6.17.5", "source_hash": "e5dbd445c92ac1174882e540ceea5d52de7621e6b0c2f45903443fc709813424", "section_path": ["变更"], "commit_groups": [], "identity_text": "Fix mis-quoting of values for list-valued GUC variables in dumps (Michael Paquier, Tom Lane) The local_preload_libraries, session_preload_libraries, shared_preload_libraries, and temp_tablespaces variables were not correctly quoted in pg_dump output. This would cause problems if settings for these variables appeared in CREATE FUNCTION ... SET or ALTER DATABASE/ROLE ... SET clauses.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.5.13/changes/028", "db_id": "de2bab69cea68ac0568fcd06178a4d74", "patch_ids": [], "statement_hash": "facaf7b5caa7d3fe8c0ba335d3cac1bd92504392178f2c9b85a0491ad2288a8a", "relations": [{"rule": 2, "type": "equivalent", "target": "064841bc3fa7e083d2bfa3086a3aed02", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "facaf7b5caa7d3fe8c0ba335d3cac1bd92504392178f2c9b85a0491ad2288a8a"}}, {"rule": 2, "type": "equivalent", "target": "749eef6a8625564b60808c33fbf43cdb", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "facaf7b5caa7d3fe8c0ba335d3cac1bd92504392178f2c9b85a0491ad2288a8a"}}, {"rule": 2, "type": "equivalent", "target": "8ad311f47bc62ac7d78638203bbff004", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "facaf7b5caa7d3fe8c0ba335d3cac1bd92504392178f2c9b85a0491ad2288a8a"}}, {"rule": 2, "type": "equivalent", "target": "b6b812536ccecbcc7bb8b23c8c49a53e", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "facaf7b5caa7d3fe8c0ba335d3cac1bd92504392178f2c9b85a0491ad2288a8a"}}], "version": "9.5.13", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "b6b812536ccecbcc7bb8b23c8c49a53e", "kind": "equivalent", "version": "10.4", "label": "10.4", "title": "修复转储中列表值 GUC 变量的值引用不正确的问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "facaf7b5caa7d3fe8c0ba335d3cac1bd92504392178f2c9b85a0491ad2288a8a"}, "url": "/docs/compare/?release=10.4#10.4-3319cfce1d57e55a", "source_url": "/docs/release/10.4/#id-1.11.6.24.5"}, {"db_id": "749eef6a8625564b60808c33fbf43cdb", "kind": "equivalent", "version": "9.6.9", "label": "9.6.9", "title": "修复转储中列表值 GUC 变量值的错误引号", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "facaf7b5caa7d3fe8c0ba335d3cac1bd92504392178f2c9b85a0491ad2288a8a"}, "url": "/docs/compare/?release=9.6.9#9.6.9-306f32b2f38c0bb1", "source_url": "/docs/release/9.6.9/#id-1.11.6.20.5"}, {"db_id": "064841bc3fa7e083d2bfa3086a3aed02", "kind": "equivalent", "version": "9.4.18", "label": "9.4.18", "title": "修复转储中列表值 GUC 变量值的错误引号", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "facaf7b5caa7d3fe8c0ba335d3cac1bd92504392178f2c9b85a0491ad2288a8a"}, "url": "/docs/compare/?release=9.4.18#9.4.18-306f32b2f38c0bb1", "source_url": "/docs/release/9.4.18/#id-1.11.6.13.5"}, {"db_id": "8ad311f47bc62ac7d78638203bbff004", "kind": "equivalent", "version": "9.3.23", "label": "9.3.23", "title": "修复转储中列表值 GUC 变量值的错误引号", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "facaf7b5caa7d3fe8c0ba335d3cac1bd92504392178f2c9b85a0491ad2288a8a"}, "url": "/docs/compare/?release=9.3.23#9.3.23-306f32b2f38c0bb1", "source_url": "/docs/release/9.3.23/#id-1.11.6.7.5"}]}, {"id": "9.5.13-f44b0512089040d4", "cves": [], "html": "<p>修复 <span>pg_recvlogical</span> 对 v10 之前的 <span>PostgreSQL</span> 服务器不失败的问题（Michael Paquier）</p>\n<p>此前的一次修复使 <span>pg_recvlogical</span> 不论服务器版本都发出一条命令，但它只应对 v10 及之后的服务器发出。</p>", "text": "修复 pg_recvlogical 对 v10 之前的 PostgreSQL 服务器不失败的问题（Michael Paquier） 此前的一次修复使 pg_recvlogical 不论服务器版本都发出一条命令，但它只应对 v10 及之后的服务器发出。", "title": "修复 pg_recvlogical 对 v10 之前的 PostgreSQL 服务器不失败的问题", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.5.13/#id-1.11.6.17.5", "source_hash": "bb63a0319c65f6fba7924907318e6b064d3ce8142f9dfa9070e2aab2bbe29558", "section_path": ["变更"], "commit_groups": [], "identity_text": "Fix pg_recvlogical to not fail against pre-v10 PostgreSQL servers (Michael Paquier) A previous fix caused pg_recvlogical to issue a command regardless of server version, but it should only be issued to v10 and later servers.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.5.13/changes/029", "db_id": "f16ab393fa01f02407f84a89b30117bb", "patch_ids": [], "statement_hash": "c716a7e497f76a8db30692f10bb32810d56aa2cda4e87c95f139ae48ebee3369", "relations": [{"rule": 2, "type": "equivalent", "target": "0440be8fe69545fdda3d0a01868a1801", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c716a7e497f76a8db30692f10bb32810d56aa2cda4e87c95f139ae48ebee3369"}}, {"rule": 2, "type": "equivalent", "target": "55cb57b038e68ea6b0b8d7e11a0cafc7", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c716a7e497f76a8db30692f10bb32810d56aa2cda4e87c95f139ae48ebee3369"}}, {"rule": 2, "type": "equivalent", "target": "b8cf863de5c67f4abba5f0e00e1a6fdd", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c716a7e497f76a8db30692f10bb32810d56aa2cda4e87c95f139ae48ebee3369"}}], "version": "9.5.13", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "55cb57b038e68ea6b0b8d7e11a0cafc7", "kind": "equivalent", "version": "10.4", "label": "10.4", "title": "修复 pg_recvlogical，使其连接到 v10 之前的 PostgreSQL 服务器时不会失败", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c716a7e497f76a8db30692f10bb32810d56aa2cda4e87c95f139ae48ebee3369"}, "url": "/docs/compare/?release=10.4#10.4-ba3b784248f753d6", "source_url": "/docs/release/10.4/#id-1.11.6.24.5"}, {"db_id": "0440be8fe69545fdda3d0a01868a1801", "kind": "equivalent", "version": "9.6.9", "label": "9.6.9", "title": "修复 pg_recvlogical 对 v10 之前的 PostgreSQL 服务器不失败的问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c716a7e497f76a8db30692f10bb32810d56aa2cda4e87c95f139ae48ebee3369"}, "url": "/docs/compare/?release=9.6.9#9.6.9-f44b0512089040d4", "source_url": "/docs/release/9.6.9/#id-1.11.6.20.5"}, {"db_id": "b8cf863de5c67f4abba5f0e00e1a6fdd", "kind": "equivalent", "version": "9.4.18", "label": "9.4.18", "title": "修复 pg_recvlogical 对 v10 之前的 PostgreSQL 服务器不失败的问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c716a7e497f76a8db30692f10bb32810d56aa2cda4e87c95f139ae48ebee3369"}, "url": "/docs/compare/?release=9.4.18#9.4.18-f44b0512089040d4", "source_url": "/docs/release/9.4.18/#id-1.11.6.13.5"}]}, {"id": "9.5.13-24a048a24b3a80cd", "cves": [], "html": "<p>确保 <span>pg_rewind</span> 删除目标服务器上在运行期间从源服务器上删除的文件（Takayuki Tsunakawa）</p>\n<p>不这样做可能导致目标上的数据不一致，特别是当相关文件是 WAL 段时。</p>", "text": "确保 pg_rewind 删除目标服务器上在运行期间从源服务器上删除的文件（Takayuki Tsunakawa） 不这样做可能导致目标上的数据不一致，特别是当相关文件是 WAL 段时。", "title": "确保 pg_rewind 删除目标服务器上在运行期间从源服务器上删除的文件", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.5.13/#id-1.11.6.17.5", "source_hash": "13b352c7cd621dacf22bd0bca4ebf42d03d4b8ca93e190889f502d290fc4fd1f", "section_path": ["变更"], "commit_groups": [], "identity_text": "Ensure that pg_rewind deletes files on the target server if they are deleted from the source server during the run (Takayuki Tsunakawa) Failure to do this could result in data inconsistency on the target, particularly if the file in question is a WAL segment.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.5.13/changes/030", "db_id": "63ef77e71621c5b56849f0a0ab070f0f", "patch_ids": [], "statement_hash": "47b08c66475edd72563b8c327b1a85cbdeaea10dba7f72de51d48ed24c65ad87", "relations": [{"rule": 2, "type": "equivalent", "target": "b3524dc578645acbd0fb38efdfced2af", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "47b08c66475edd72563b8c327b1a85cbdeaea10dba7f72de51d48ed24c65ad87"}}, {"rule": 2, "type": "equivalent", "target": "f3f2b75fd8ee3ce46c63fc0ed4eb5daf", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "47b08c66475edd72563b8c327b1a85cbdeaea10dba7f72de51d48ed24c65ad87"}}], "version": "9.5.13", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "b3524dc578645acbd0fb38efdfced2af", "kind": "equivalent", "version": "10.4", "label": "10.4", "title": "确保 pg_rewind 在运行期间源服务器删除文件时，也删除目标服务器上的这些文件", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "47b08c66475edd72563b8c327b1a85cbdeaea10dba7f72de51d48ed24c65ad87"}, "url": "/docs/compare/?release=10.4#10.4-0dd3aff18d58835a", "source_url": "/docs/release/10.4/#id-1.11.6.24.5"}, {"db_id": "f3f2b75fd8ee3ce46c63fc0ed4eb5daf", "kind": "equivalent", "version": "9.6.9", "label": "9.6.9", "title": "确保 pg_rewind 删除目标服务器上在运行期间从源服务器上删除的文件", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "47b08c66475edd72563b8c327b1a85cbdeaea10dba7f72de51d48ed24c65ad87"}, "url": "/docs/compare/?release=9.6.9#9.6.9-24a048a24b3a80cd", "source_url": "/docs/release/9.6.9/#id-1.11.6.20.5"}]}, {"id": "9.5.13-2296b3b1c66da857", "cves": [], "html": "<p>修复 <span>pg_rewind</span> 正确处理非默认表空间中的表（Takayuki Tsunakawa）</p>", "text": "修复 pg_rewind 正确处理非默认表空间中的表（Takayuki Tsunakawa）", "title": "修复 pg_rewind 正确处理非默认表空间中的表", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.5.13/#id-1.11.6.17.5", "source_hash": "9fe7204d2fbc152cf944274f2367410c256786dfe3ba5198d8491e07fd6aab0d", "section_path": ["变更"], "commit_groups": [], "identity_text": "Fix pg_rewind to handle tables in non-default tablespaces correctly (Takayuki Tsunakawa)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.5.13/changes/031", "db_id": "fed34683425f21d3357383e253a5687d", "patch_ids": [], "statement_hash": "932daf9e6b2f777411f62b04968cac85e0cc105ef415a5d7903dd503256a7785", "relations": [{"rule": 2, "type": "equivalent", "target": "42143c0be482380ba7422d02bdf4b093", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "932daf9e6b2f777411f62b04968cac85e0cc105ef415a5d7903dd503256a7785"}}, {"rule": 2, "type": "equivalent", "target": "f4331bc1623a254caab99493f629b0bb", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "932daf9e6b2f777411f62b04968cac85e0cc105ef415a5d7903dd503256a7785"}}], "version": "9.5.13", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "f4331bc1623a254caab99493f629b0bb", "kind": "equivalent", "version": "10.4", "label": "10.4", "title": "修复 pg_rewind，使其正确处理非默认表空间中的表", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "932daf9e6b2f777411f62b04968cac85e0cc105ef415a5d7903dd503256a7785"}, "url": "/docs/compare/?release=10.4#10.4-ca7acdcd97ff17b0", "source_url": "/docs/release/10.4/#id-1.11.6.24.5"}, {"db_id": "42143c0be482380ba7422d02bdf4b093", "kind": "equivalent", "version": "9.6.9", "label": "9.6.9", "title": "修复 pg_rewind 正确处理非默认表空间中的表", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "932daf9e6b2f777411f62b04968cac85e0cc105ef415a5d7903dd503256a7785"}, "url": "/docs/compare/?release=9.6.9#9.6.9-2296b3b1c66da857", "source_url": "/docs/release/9.6.9/#id-1.11.6.20.5"}]}, {"id": "9.5.13-529b2ac348c7a206", "cves": [], "html": "<p>修复 <span>PL/pgSQL</span> 整数 <code>FOR</code> 循环中的溢出处理（Tom Lane）</p>\n<p>原来的编码在一些非 gcc 编译器上未能检测到循环变量的溢出，导致无限循环。</p>", "text": "修复 PL/pgSQL 整数 FOR 循环中的溢出处理（Tom Lane） 原来的编码在一些非 gcc 编译器上未能检测到循环变量的溢出，导致无限循环。", "title": "修复 PL/pgSQL 整数 FOR 循环中的溢出处理", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.5.13/#id-1.11.6.17.5", "source_hash": "efdbf6bd0ed4b310c6a078ceaf59be49d06a793dc47122dcf35698220f77e08c", "section_path": ["变更"], "commit_groups": [], "identity_text": "Fix overflow handling in PL/pgSQL integer FOR loops (Tom Lane) The previous coding failed to detect overflow of the loop variable on some non-gcc compilers, leading to an infinite loop.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.5.13/changes/032", "db_id": "fe4e9cda6c02ace229e826230e1d5be7", "patch_ids": [], "statement_hash": "0a4ef063cc03701150ad1f4b3f3bf285a431381585df071d65872a7709d5492f", "relations": [{"rule": 2, "type": "equivalent", "target": "3cc06ac8b9c606122033c3c3c23e3aae", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0a4ef063cc03701150ad1f4b3f3bf285a431381585df071d65872a7709d5492f"}}, {"rule": 2, "type": "equivalent", "target": "96f35c267ed059265a5bd3db3e0992bf", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0a4ef063cc03701150ad1f4b3f3bf285a431381585df071d65872a7709d5492f"}}, {"rule": 2, "type": "equivalent", "target": "eb6e1fc684cee262048ebc8962c28dc9", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0a4ef063cc03701150ad1f4b3f3bf285a431381585df071d65872a7709d5492f"}}, {"rule": 2, "type": "equivalent", "target": "f450345e6832e0dd2c5a1b3a45c6ac38", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0a4ef063cc03701150ad1f4b3f3bf285a431381585df071d65872a7709d5492f"}}], "version": "9.5.13", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "f450345e6832e0dd2c5a1b3a45c6ac38", "kind": "equivalent", "version": "10.4", "label": "10.4", "title": "修复 PL/pgSQL 整数 FOR 循环的溢出处理", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0a4ef063cc03701150ad1f4b3f3bf285a431381585df071d65872a7709d5492f"}, "url": "/docs/compare/?release=10.4#10.4-54f1d4fb867b1af6", "source_url": "/docs/release/10.4/#id-1.11.6.24.5"}, {"db_id": "3cc06ac8b9c606122033c3c3c23e3aae", "kind": "equivalent", "version": "9.6.9", "label": "9.6.9", "title": "修复 PL/pgSQL 整数 FOR 循环中的溢出处理", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0a4ef063cc03701150ad1f4b3f3bf285a431381585df071d65872a7709d5492f"}, "url": "/docs/compare/?release=9.6.9#9.6.9-529b2ac348c7a206", "source_url": "/docs/release/9.6.9/#id-1.11.6.20.5"}, {"db_id": "eb6e1fc684cee262048ebc8962c28dc9", "kind": "equivalent", "version": "9.4.18", "label": "9.4.18", "title": "修复 PL/pgSQL 整数 FOR 循环中的溢出处理", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0a4ef063cc03701150ad1f4b3f3bf285a431381585df071d65872a7709d5492f"}, "url": "/docs/compare/?release=9.4.18#9.4.18-529b2ac348c7a206", "source_url": "/docs/release/9.4.18/#id-1.11.6.13.5"}, {"db_id": "96f35c267ed059265a5bd3db3e0992bf", "kind": "equivalent", "version": "9.3.23", "label": "9.3.23", "title": "修复 PL/pgSQL 整数 FOR 循环中的溢出处理", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0a4ef063cc03701150ad1f4b3f3bf285a431381585df071d65872a7709d5492f"}, "url": "/docs/compare/?release=9.3.23#9.3.23-529b2ac348c7a206", "source_url": "/docs/release/9.3.23/#id-1.11.6.7.5"}]}, {"id": "9.5.13-d8ae8f462ec2ac64", "cves": [], "html": "<p>调整 <span>PL/Python</span> 回归测试在 Python 3.7 下通过（Peter Eisentraut）</p>", "text": "调整 PL/Python 回归测试在 Python 3.7 下通过（Peter Eisentraut）", "title": "调整 PL/Python 回归测试在 Python 3.7 下通过", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.5.13/#id-1.11.6.17.5", "source_hash": "f1967ed6bf02290cd209ca84016395618daa99c78afae9520577060299528e8e", "section_path": ["变更"], "commit_groups": [], "identity_text": "Adjust PL/Python regression tests to pass under Python 3.7 (Peter Eisentraut)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.5.13/changes/033", "db_id": "092a5c903e18a218cb0e3d07c1ddfa58", "patch_ids": [], "statement_hash": "780cda6aa19cce3f7e34d381505d0cf4d3e5d79f0f57a64b19d5c54ad437e235", "relations": [{"rule": 2, "type": "equivalent", "target": "164add571e0be8b919d0c5b3da2daead", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "780cda6aa19cce3f7e34d381505d0cf4d3e5d79f0f57a64b19d5c54ad437e235"}}, {"rule": 2, "type": "equivalent", "target": "5aab5e26643cc2e13c498816801dc7bf", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "780cda6aa19cce3f7e34d381505d0cf4d3e5d79f0f57a64b19d5c54ad437e235"}}, {"rule": 2, "type": "equivalent", "target": "b0c08871487406ad55fa03671c7c93db", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "780cda6aa19cce3f7e34d381505d0cf4d3e5d79f0f57a64b19d5c54ad437e235"}}, {"rule": 2, "type": "equivalent", "target": "f6ba738d03ea0144cae827cb325f389e", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "780cda6aa19cce3f7e34d381505d0cf4d3e5d79f0f57a64b19d5c54ad437e235"}}], "version": "9.5.13", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "f6ba738d03ea0144cae827cb325f389e", "kind": "equivalent", "version": "10.4", "label": "10.4", "title": "调整 PL/Python 回归测试，使其在 Python 3.7 下通过", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "780cda6aa19cce3f7e34d381505d0cf4d3e5d79f0f57a64b19d5c54ad437e235"}, "url": "/docs/compare/?release=10.4#10.4-ff8b0ae87fbcb435", "source_url": "/docs/release/10.4/#id-1.11.6.24.5"}, {"db_id": "164add571e0be8b919d0c5b3da2daead", "kind": "equivalent", "version": "9.6.9", "label": "9.6.9", "title": "调整 PL/Python 回归测试在 Python 3.7 下通过", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "780cda6aa19cce3f7e34d381505d0cf4d3e5d79f0f57a64b19d5c54ad437e235"}, "url": "/docs/compare/?release=9.6.9#9.6.9-d8ae8f462ec2ac64", "source_url": "/docs/release/9.6.9/#id-1.11.6.20.5"}, {"db_id": "b0c08871487406ad55fa03671c7c93db", "kind": "equivalent", "version": "9.4.18", "label": "9.4.18", "title": "调整 PL/Python 回归测试在 Python 3.7 下通过", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "780cda6aa19cce3f7e34d381505d0cf4d3e5d79f0f57a64b19d5c54ad437e235"}, "url": "/docs/compare/?release=9.4.18#9.4.18-d8ae8f462ec2ac64", "source_url": "/docs/release/9.4.18/#id-1.11.6.13.5"}, {"db_id": "5aab5e26643cc2e13c498816801dc7bf", "kind": "equivalent", "version": "9.3.23", "label": "9.3.23", "title": "调整 PL/Python 回归测试在 Python 3.7 下通过", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "780cda6aa19cce3f7e34d381505d0cf4d3e5d79f0f57a64b19d5c54ad437e235"}, "url": "/docs/compare/?release=9.3.23#9.3.23-d8ae8f462ec2ac64", "source_url": "/docs/release/9.3.23/#id-1.11.6.7.5"}]}, {"id": "9.5.13-c664b797cc26ff0d", "cves": [], "html": "<p>支持用 Python 3 和 MSVC 构建时测试 <span>PL/Python</span> 及相关模块（Andrew Dunstan）</p>", "text": "支持用 Python 3 和 MSVC 构建时测试 PL/Python 及相关模块（Andrew Dunstan）", "title": "支持用 Python 3 和 MSVC 构建时测试 PL/Python 及相关模块", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.5.13/#id-1.11.6.17.5", "source_hash": "36bc63756c7dac7afd09cf86f1bc04af5890db529471ee6f52c5a7bd70686e11", "section_path": ["变更"], "commit_groups": [], "identity_text": "Support testing PL/Python and related modules when building with Python 3 and MSVC (Andrew Dunstan)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.5.13/changes/034", "db_id": "e72aa8d3414b4f61eb5f961a40796c82", "patch_ids": [], "statement_hash": "5634bb83ea20c4ad2d8a041c709d9c2b0786277710bfef1dfcfa50b8db46482c", "relations": [{"rule": 2, "type": "equivalent", "target": "67249569a8f02ab6d5b7fda603dafabe", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "5634bb83ea20c4ad2d8a041c709d9c2b0786277710bfef1dfcfa50b8db46482c"}}, {"rule": 2, "type": "equivalent", "target": "b861e1fba741bc04dc0960df73737ae4", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "5634bb83ea20c4ad2d8a041c709d9c2b0786277710bfef1dfcfa50b8db46482c"}}, {"rule": 2, "type": "equivalent", "target": "bbb1df0c4d80a4d41956812f4c8d0341", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "5634bb83ea20c4ad2d8a041c709d9c2b0786277710bfef1dfcfa50b8db46482c"}}, {"rule": 2, "type": "equivalent", "target": "e0c74adb069c3d08a3e6b9c95c9f695e", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "5634bb83ea20c4ad2d8a041c709d9c2b0786277710bfef1dfcfa50b8db46482c"}}], "version": "9.5.13", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "67249569a8f02ab6d5b7fda603dafabe", "kind": "equivalent", "version": "10.4", "label": "10.4", "title": "支持在使用 Python 3 和 MSVC 构建时测试 PL/Python 及相关模块", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "5634bb83ea20c4ad2d8a041c709d9c2b0786277710bfef1dfcfa50b8db46482c"}, "url": "/docs/compare/?release=10.4#10.4-615183650081353c", "source_url": "/docs/release/10.4/#id-1.11.6.24.5"}, {"db_id": "e0c74adb069c3d08a3e6b9c95c9f695e", "kind": "equivalent", "version": "9.6.9", "label": "9.6.9", "title": "支持用 Python 3 和 MSVC 构建时测试 PL/Python 及相关模块", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "5634bb83ea20c4ad2d8a041c709d9c2b0786277710bfef1dfcfa50b8db46482c"}, "url": "/docs/compare/?release=9.6.9#9.6.9-c664b797cc26ff0d", "source_url": "/docs/release/9.6.9/#id-1.11.6.20.5"}, {"db_id": "bbb1df0c4d80a4d41956812f4c8d0341", "kind": "equivalent", "version": "9.4.18", "label": "9.4.18", "title": "支持用 Python 3 和 MSVC 构建时测试 PL/Python 及相关模块", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "5634bb83ea20c4ad2d8a041c709d9c2b0786277710bfef1dfcfa50b8db46482c"}, "url": "/docs/compare/?release=9.4.18#9.4.18-c664b797cc26ff0d", "source_url": "/docs/release/9.4.18/#id-1.11.6.13.5"}, {"db_id": "b861e1fba741bc04dc0960df73737ae4", "kind": "equivalent", "version": "9.3.23", "label": "9.3.23", "title": "支持用 Python 3 和 MSVC 构建时测试 PL/Python 及相关模块", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "5634bb83ea20c4ad2d8a041c709d9c2b0786277710bfef1dfcfa50b8db46482c"}, "url": "/docs/compare/?release=9.3.23#9.3.23-c664b797cc26ff0d", "source_url": "/docs/release/9.3.23/#id-1.11.6.7.5"}]}, {"id": "9.5.13-4a63ec80d87b05ff", "cves": [], "html": "<p>支持使用 Microsoft Visual Studio 2015 构建（Michael Paquier）</p>\n<p>为了兼容 VS2015 所需的各种修复此前已回移植到 9.5 分支，但遗漏了这一处。</p>", "text": "支持使用 Microsoft Visual Studio 2015 构建（Michael Paquier） 为了兼容 VS2015 所需的各种修复此前已回移植到 9.5 分支，但遗漏了这一处。", "title": "支持使用 Microsoft Visual Studio 2015 构建", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.5.13/#id-1.11.6.17.5", "source_hash": "1af65482b6f83171d65ec04163ce5e170bd162b1f05d3e2bbd90d6986ca2e37c", "section_path": ["变更"], "commit_groups": [["3c0e07a46"]], "identity_text": "Support building with Microsoft Visual Studio 2015 (Michael Paquier) Various fixes needed for VS2015 compatibility were previously back-patched into the 9.5 branch, but this one was missed.", "commit_aliases": ["3c0e07a46"], "source_commits": ["3c0e07a46"], "source_entry_id": "9.5.13/changes/035", "db_id": "86ea1b79dbd90fd11981f9b9c25cd887", "patch_ids": ["f11d2784b7daf10ab21c9fca8aca0910"], "statement_hash": "394a20b28952b4ebaa048d45c2a7534f1f05798f6e3bfc81d5abe206a813d5f8", "relations": [], "version": "9.5.13", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.5.13-26eff212b40fd4df", "cves": [], "html": "<p>重命名内部 <code>b64_encode</code> 和 <code>b64_decode</code> 函数，避免与 Solaris 11.4 内置函数冲突（Rainer Orth）</p>", "text": "重命名内部 b64_encode 和 b64_decode 函数，避免与 Solaris 11.4 内置函数冲突（Rainer Orth）", "title": "重命名内部 b64_encode 和 b64_decode 函数，避免与 Solaris 11.4 内置函数冲突", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.5.13/#id-1.11.6.17.5", "source_hash": "bc33b0a1d0bbf813c308c871a5b6c87913334027924a8653e68f07803ae88e02", "section_path": ["变更"], "commit_groups": [], "identity_text": "Rename internal b64_encode and b64_decode functions to avoid conflict with Solaris 11.4 built-in functions (Rainer Orth)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.5.13/changes/036", "db_id": "06b9ed0200a03897f6a65af4cb9e00ea", "patch_ids": [], "statement_hash": "ccdc115d4c7c4a9b335673b20b16a2b15c333f987124bf1d81085fa184d5388c", "relations": [{"rule": 2, "type": "equivalent", "target": "4ad3cf7374fe1c4733020237eb54702e", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ccdc115d4c7c4a9b335673b20b16a2b15c333f987124bf1d81085fa184d5388c"}}, {"rule": 2, "type": "equivalent", "target": "54f9a13e02ec87667d4e9b57e8db3799", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ccdc115d4c7c4a9b335673b20b16a2b15c333f987124bf1d81085fa184d5388c"}}, {"rule": 2, "type": "equivalent", "target": "7540f3603393aeae040a4659ba200e0c", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ccdc115d4c7c4a9b335673b20b16a2b15c333f987124bf1d81085fa184d5388c"}}, {"rule": 2, "type": "equivalent", "target": "77b02662e7b58dcfdfd84bea5cf2e418", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ccdc115d4c7c4a9b335673b20b16a2b15c333f987124bf1d81085fa184d5388c"}}], "version": "9.5.13", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "7540f3603393aeae040a4659ba200e0c", "kind": "equivalent", "version": "10.4", "label": "10.4", "title": "重命名内部函数 b64_encode 和 b64_decode，避免与 Solaris 11.4 的内置函数冲突", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ccdc115d4c7c4a9b335673b20b16a2b15c333f987124bf1d81085fa184d5388c"}, "url": "/docs/compare/?release=10.4#10.4-d1935009b2403fa7", "source_url": "/docs/release/10.4/#id-1.11.6.24.5"}, {"db_id": "4ad3cf7374fe1c4733020237eb54702e", "kind": "equivalent", "version": "9.6.9", "label": "9.6.9", "title": "重命名内部 b64_encode 和 b64_decode 函数，避免与 Solaris 11.4 内置函数冲突", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ccdc115d4c7c4a9b335673b20b16a2b15c333f987124bf1d81085fa184d5388c"}, "url": "/docs/compare/?release=9.6.9#9.6.9-26eff212b40fd4df", "source_url": "/docs/release/9.6.9/#id-1.11.6.20.5"}, {"db_id": "54f9a13e02ec87667d4e9b57e8db3799", "kind": "equivalent", "version": "9.4.18", "label": "9.4.18", "title": "重命名内部 b64_encode 和 b64_decode 函数，避免与 Solaris 11.4 内置函数冲突", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ccdc115d4c7c4a9b335673b20b16a2b15c333f987124bf1d81085fa184d5388c"}, "url": "/docs/compare/?release=9.4.18#9.4.18-26eff212b40fd4df", "source_url": "/docs/release/9.4.18/#id-1.11.6.13.5"}, {"db_id": "77b02662e7b58dcfdfd84bea5cf2e418", "kind": "equivalent", "version": "9.3.23", "label": "9.3.23", "title": "重命名内部 b64_encode 和 b64_decode 函数，避免与 Solaris 11.4 内置函数冲突", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ccdc115d4c7c4a9b335673b20b16a2b15c333f987124bf1d81085fa184d5388c"}, "url": "/docs/compare/?release=9.3.23#9.3.23-26eff212b40fd4df", "source_url": "/docs/release/9.3.23/#id-1.11.6.7.5"}]}, {"id": "9.5.13-873e63e8cc1f19cc", "cves": [], "html": "<p>把我们的时区库副本与 IANA tzcode 版本 2018e 同步（Tom Lane）</p>\n<p>这修复了 <span>zic</span> 时区数据编译器应对负夏令时偏移的能力。虽然 <span>PostgreSQL</span> 项目不会立即发布这种时区数据，但 <span>zic</span> 可能被用于直接从 IANA 获得的时区数据，因此现在更新 <span>zic</span> 是审慎的。</p>", "text": "把我们的时区库副本与 IANA tzcode 版本 2018e 同步（Tom Lane） 这修复了 zic 时区数据编译器应对负夏令时偏移的能力。虽然 PostgreSQL 项目不会立即发布这种时区数据，但 zic 可能被用于直接从 IANA 获得的时区数据，因此现在更新 zic 是审慎的。", "title": "把我们的时区库副本与 IANA tzcode 版本 2018e 同步", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.5.13/#id-1.11.6.17.5", "source_hash": "0f7c8185bea59aeddd3e6e0fccb83722a15d1c0954f51cfa65a9a5f3457becc0", "section_path": ["变更"], "commit_groups": [], "identity_text": "Sync our copy of the timezone library with IANA tzcode release 2018e (Tom Lane) This fixes the zic timezone data compiler to cope with negative daylight-savings offsets. While the PostgreSQL project will not immediately ship such timezone data, zic might be used with timezone data obtained directly from IANA, so it seems prudent to update zic now.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.5.13/changes/037", "db_id": "578af37ef74ed8fc4e94dc6d8da39545", "patch_ids": [], "statement_hash": "b468918eca3475825fe4c623ae5493359c6550f7d2a598bdecc14068d7d4c224", "relations": [{"rule": 2, "type": "equivalent", "target": "0cc1900bec6f69ad0bba2717f75f98fc", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b468918eca3475825fe4c623ae5493359c6550f7d2a598bdecc14068d7d4c224"}}, {"rule": 2, "type": "equivalent", "target": "18a599de7bec16fd8a0238f0fda5a7f4", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b468918eca3475825fe4c623ae5493359c6550f7d2a598bdecc14068d7d4c224"}}, {"rule": 2, "type": "equivalent", "target": "95f2feddf6ec11ef3108ac02a7a07d65", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b468918eca3475825fe4c623ae5493359c6550f7d2a598bdecc14068d7d4c224"}}, {"rule": 2, "type": "equivalent", "target": "ad2a1d2d86c8ebbe87d1da7a8cd6341a", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b468918eca3475825fe4c623ae5493359c6550f7d2a598bdecc14068d7d4c224"}}], "version": "9.5.13", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "0cc1900bec6f69ad0bba2717f75f98fc", "kind": "equivalent", "version": "10.4", "label": "10.4", "title": "将所用时区库同步到 IANA tzcode 2018e 版", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b468918eca3475825fe4c623ae5493359c6550f7d2a598bdecc14068d7d4c224"}, "url": "/docs/compare/?release=10.4#10.4-468a46698b9cfc72", "source_url": "/docs/release/10.4/#id-1.11.6.24.5"}, {"db_id": "ad2a1d2d86c8ebbe87d1da7a8cd6341a", "kind": "equivalent", "version": "9.6.9", "label": "9.6.9", "title": "把我们的时区库副本与 IANA tzcode 版本 2018e 同步", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b468918eca3475825fe4c623ae5493359c6550f7d2a598bdecc14068d7d4c224"}, "url": "/docs/compare/?release=9.6.9#9.6.9-873e63e8cc1f19cc", "source_url": "/docs/release/9.6.9/#id-1.11.6.20.5"}, {"db_id": "18a599de7bec16fd8a0238f0fda5a7f4", "kind": "equivalent", "version": "9.4.18", "label": "9.4.18", "title": "把我们的时区库副本与 IANA tzcode 版本 2018e 同步", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b468918eca3475825fe4c623ae5493359c6550f7d2a598bdecc14068d7d4c224"}, "url": "/docs/compare/?release=9.4.18#9.4.18-873e63e8cc1f19cc", "source_url": "/docs/release/9.4.18/#id-1.11.6.13.5"}, {"db_id": "95f2feddf6ec11ef3108ac02a7a07d65", "kind": "equivalent", "version": "9.3.23", "label": "9.3.23", "title": "把我们的时区库副本与 IANA tzcode 版本 2018e 同步", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b468918eca3475825fe4c623ae5493359c6550f7d2a598bdecc14068d7d4c224"}, "url": "/docs/compare/?release=9.3.23#9.3.23-873e63e8cc1f19cc", "source_url": "/docs/release/9.3.23/#id-1.11.6.7.5"}]}, {"id": "9.5.13-b89a51d15b4feea8", "cves": [], "html": "<p>更新时区数据文件到 <span>tzdata</span> 版本 2018d，涉及巴勒斯坦和南极洲（凯西站）的夏令时法规变更，以及葡萄牙及其殖民地、恩德伯里、牙买加、特克斯和凯科斯群岛及乌拉圭的历史修正。</p>", "text": "更新时区数据文件到 tzdata 版本 2018d，涉及巴勒斯坦和南极洲（凯西站）的夏令时法规变更，以及葡萄牙及其殖民地、恩德伯里、牙买加、特克斯和凯科斯群岛及乌拉圭的历史修正。", "title": "更新时区数据文件到 tzdata 版本 2018d，涉及巴勒斯坦和南极洲（凯西站）的夏令时法规变更，以及葡萄牙及其殖民地、恩德伯里、牙买加、特克斯和凯科斯群岛及乌拉圭的历史修正。", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.5.13/#id-1.11.6.17.5", "source_hash": "7dc2a4b21875c233d9647ee823435f1c34799c40c292f359974a85ad1b1e8322", "section_path": ["变更"], "commit_groups": [], "identity_text": "Update time zone data files to tzdata release 2018d for DST law changes in Palestine and Antarctica (Casey Station), plus historical corrections for Portugal and its colonies, as well as Enderbury, Jamaica, Turks & Caicos Islands, and Uruguay.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.5.13/changes/038", "db_id": "15e000d884ef74d4cb086fd21b0fd5a7", "patch_ids": [], "statement_hash": "daaa97fbe432facdb0e4bdf124621a21c9254d2f2c8ea69c358da90ab50e9a8c", "relations": [{"rule": 2, "type": "equivalent", "target": "19c596e1b4b3f3be560f47d5d1f241f2", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "daaa97fbe432facdb0e4bdf124621a21c9254d2f2c8ea69c358da90ab50e9a8c"}}, {"rule": 2, "type": "equivalent", "target": "634fe596a9e43c164d6ac3eb53037661", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "daaa97fbe432facdb0e4bdf124621a21c9254d2f2c8ea69c358da90ab50e9a8c"}}, {"rule": 2, "type": "equivalent", "target": "7dc8ddc7c7abdcbec76b5a5d16b5f3d5", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "daaa97fbe432facdb0e4bdf124621a21c9254d2f2c8ea69c358da90ab50e9a8c"}}, {"rule": 2, "type": "equivalent", "target": "daa3f8bca1c58eb91ab08201f80cebfa", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "daaa97fbe432facdb0e4bdf124621a21c9254d2f2c8ea69c358da90ab50e9a8c"}}], "version": "9.5.13", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "7dc8ddc7c7abdcbec76b5a5d16b5f3d5", "kind": "equivalent", "version": "10.4", "label": "10.4", "title": "将时区数据文件更新到 tzdata 2018d 版，以反映巴勒斯坦和南极洲（凯西站）的夏令时法规变更，并修正葡萄牙及其殖民地、恩德伯里岛、牙买加、特克斯 & 凯科斯群岛和乌拉圭的历史数据。", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "daaa97fbe432facdb0e4bdf124621a21c9254d2f2c8ea69c358da90ab50e9a8c"}, "url": "/docs/compare/?release=10.4#10.4-f02439962d1fec18", "source_url": "/docs/release/10.4/#id-1.11.6.24.5"}, {"db_id": "19c596e1b4b3f3be560f47d5d1f241f2", "kind": "equivalent", "version": "9.6.9", "label": "9.6.9", "title": "更新时区数据文件到 tzdata 版本 2018d，涉及巴勒斯坦和南极洲（凯西站）的夏令时法规变更，以及葡萄牙及其殖民地、恩德伯里、牙买加、特克斯和凯科斯群岛及乌拉圭的历史修正。", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "daaa97fbe432facdb0e4bdf124621a21c9254d2f2c8ea69c358da90ab50e9a8c"}, "url": "/docs/compare/?release=9.6.9#9.6.9-b89a51d15b4feea8", "source_url": "/docs/release/9.6.9/#id-1.11.6.20.5"}, {"db_id": "634fe596a9e43c164d6ac3eb53037661", "kind": "equivalent", "version": "9.4.18", "label": "9.4.18", "title": "更新时区数据文件到 tzdata 版本 2018d，涉及巴勒斯坦和南极洲（凯西站）的夏令时法规变更，以及葡萄牙及其殖民地、恩德伯里、牙买加、特克斯和凯科斯群岛及乌拉圭的历史修正。", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "daaa97fbe432facdb0e4bdf124621a21c9254d2f2c8ea69c358da90ab50e9a8c"}, "url": "/docs/compare/?release=9.4.18#9.4.18-b89a51d15b4feea8", "source_url": "/docs/release/9.4.18/#id-1.11.6.13.5"}, {"db_id": "daa3f8bca1c58eb91ab08201f80cebfa", "kind": "equivalent", "version": "9.3.23", "label": "9.3.23", "title": "更新时区数据文件到 tzdata 版本 2018d，涉及巴勒斯坦和南极洲（凯西站）的夏令时法规变更，以及葡萄牙及其殖民地、恩德伯里、牙买加、特克斯和凯科斯群岛及乌拉圭的历史修正。", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "daaa97fbe432facdb0e4bdf124621a21c9254d2f2c8ea69c358da90ab50e9a8c"}, "url": "/docs/compare/?release=9.3.23#9.3.23-b89a51d15b4feea8", "source_url": "/docs/release/9.3.23/#id-1.11.6.7.5"}]}]}], "stats": [{"key": "all", "label": "全部变更", "count": 38}, {"key": "feature", "label": "新功能", "count": 0}, {"key": "bugfix", "label": "BUG 修复", "count": 20}, {"key": "security", "label": "安全相关", "count": 0}, {"key": "performance", "label": "性能改进", "count": 0}, {"key": "compatibility", "label": "兼容性变化", "count": 0}, {"key": "improvement", "label": "其他改进", "count": 18}], "total": 38, "release_count": 1, "cross_major": false, "cve_count": 0, "cves": [], "cve_available": true, "remaining_cves": [], "security_regressions": [], "warnings": [], "candidate_count": 38, "already_in_source_count": 0, "duplicate_count": 0, "excluded_count": 0, "exclusions": [], "source_as_of": "2026-09-26", "security_as_of": "2026-09-26"}