{"format": 1, "mode": "release", "from_release": null, "to_release": {"date": "2019-11-14", "build": "9.5.20", "major": "9.5", "minor": 20, "manual": "9.5", "status": "stable", "doc_git": "", "version": "9.5.20", "eol_date": "2021-02-11", "date_text": "2019-11-14", "supported": false, "manual_url": "/docs/9.5/release-9-5-20.html", "source_url": "/docs/release/9.5.20/", "entry_count": 50, "placeholder": false, "content_hash": "e436d653f6abbf3bfdc4684f5b60a1b6a9044f4c07d3ddc6a4a394a7bc94a461", "manual_build": "9.5.25", "source_as_of": "", "changes_count": 50, "doc_loaded_at": "2026-09-26T02:56:44.718140", "migration_html": "<p>对于运行 9.5.X 的用户，不需要转储/恢复。</p>\n<p>不过，如果你在 <code>contrib/intarray</code> 扩展中使用了 GiST 索引，并且依赖 <code>&lt;@</code> 操作符的索引搜索，请参见下面相关条目。</p>\n<p>另外，如果你是从 9.5.13 之前的版本升级，参见<a href=\"/docs/9.5/release-9-5-13.html\" title=\"E.13. 版本 9.5.13\">第 E.13 节</a>。</p>", "compatibility_count": 0, "label": "9.5.20", "status_label": "历史版本", "eol": "2021-02-11", "age_days": 2512, "support_days": -2057}, "groups": [{"date": "2019-11-14", "build": "9.5.20", "major": "9.5", "minor": 20, "manual": "9.5", "status": "stable", "doc_git": "", "version": "9.5.20", "eol_date": "2021-02-11", "date_text": "2019-11-14", "supported": false, "manual_url": "/docs/9.5/release-9-5-20.html", "source_url": "/docs/release/9.5.20/", "entry_count": 50, "placeholder": false, "content_hash": "e436d653f6abbf3bfdc4684f5b60a1b6a9044f4c07d3ddc6a4a394a7bc94a461", "manual_build": "9.5.25", "source_as_of": "", "changes_count": 50, "doc_loaded_at": "2026-09-26T02:56:44.718140", "migration_html": "<p>对于运行 9.5.X 的用户，不需要转储/恢复。</p>\n<p>不过，如果你在 <code>contrib/intarray</code> 扩展中使用了 GiST 索引，并且依赖 <code>&lt;@</code> 操作符的索引搜索，请参见下面相关条目。</p>\n<p>另外，如果你是从 9.5.13 之前的版本升级，参见<a href=\"/docs/9.5/release-9-5-13.html\" title=\"E.13. 版本 9.5.13\">第 E.13 节</a>。</p>", "compatibility_count": 0, "label": "9.5.20", "status_label": "历史版本", "eol": "2021-02-11", "age_days": 2512, "support_days": -2057, "entries": [{"id": "9.5.20-fc299d74bbdde25f", "cves": [], "html": "<p>如果不是所有父表都被更改，禁止更改多重继承列的类型（Tom Lane）</p>\n<p>此前这是允许的，随后对此时已不同步的父表的查询会失败。</p>", "text": "如果不是所有父表都被更改，禁止更改多重继承列的类型（Tom Lane） 此前这是允许的，随后对此时已不同步的父表的查询会失败。", "title": "如果不是所有父表都被更改，禁止更改多重继承列的类型", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.5.20/#id-1.11.6.10.5", "source_hash": "6e1613a23147732ca93f3a30716bbbbed590d25f9ec2e1a850b56d434715ad38", "section_path": ["变更"], "commit_groups": [["328c3f6f9", "3442235f2", "451432214", "4d4c66add", "909efc449", "c511d367a"]], "identity_text": "Disallow changing a multiply-inherited column's type if not all parent tables were changed (Tom Lane) Previously, this was allowed, whereupon queries on the now-out-of-sync parent would fail.", "commit_aliases": ["328c3f6f9", "3442235f2", "451432214", "4d4c66add", "909efc449", "c511d367a"], "source_commits": ["c511d367a"], "source_entry_id": "9.5.20/changes/001", "db_id": "0051a5236850b915dd2ca2ff742fc1dd", "patch_ids": ["343b92f30efaa73ed288e6114363b16c"], "statement_hash": "d5d27be2e2b7eb4d2e9ed2597bdf13c1b4095c72c0c8b4c9dd33f4b692c7bc61", "relations": [{"rule": 2, "type": "equivalent", "target": "237f8f9f6100662c31b11afcdd14aba2", "evidence": {"same_day": true, "patch_ids": ["343b92f30efaa73ed288e6114363b16c"], "statement_hash": "d5d27be2e2b7eb4d2e9ed2597bdf13c1b4095c72c0c8b4c9dd33f4b692c7bc61"}}, {"rule": 2, "type": "equivalent", "target": "6eae457a01e8fe45a627b0cbced492f2", "evidence": {"same_day": true, "patch_ids": ["343b92f30efaa73ed288e6114363b16c"], "statement_hash": "d5d27be2e2b7eb4d2e9ed2597bdf13c1b4095c72c0c8b4c9dd33f4b692c7bc61"}}, {"rule": 2, "type": "equivalent", "target": "da7b9a08fec5ef54cb8e5066d70a2f7f", "evidence": {"same_day": true, "patch_ids": ["343b92f30efaa73ed288e6114363b16c"], "statement_hash": "d5d27be2e2b7eb4d2e9ed2597bdf13c1b4095c72c0c8b4c9dd33f4b692c7bc61"}}], "version": "9.5.20", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "da7b9a08fec5ef54cb8e5066d70a2f7f", "kind": "equivalent", "version": "11.6", "label": "11.6", "title": "如果没有更改所有父表，则禁止更改多重继承列的类型", "evidence": {"same_day": true, "patch_ids": ["343b92f30efaa73ed288e6114363b16c"], "statement_hash": "d5d27be2e2b7eb4d2e9ed2597bdf13c1b4095c72c0c8b4c9dd33f4b692c7bc61"}, "url": "/docs/compare/?release=11.6#11.6-92dd1d9f816747ae", "source_url": "/docs/release/11.6/#id-1.11.6.21.5"}, {"db_id": "237f8f9f6100662c31b11afcdd14aba2", "kind": "equivalent", "version": "10.11", "label": "10.11", "title": "如果没有更改所有父表，则禁止更改多重继承列的类型", "evidence": {"same_day": true, "patch_ids": ["343b92f30efaa73ed288e6114363b16c"], "statement_hash": "d5d27be2e2b7eb4d2e9ed2597bdf13c1b4095c72c0c8b4c9dd33f4b692c7bc61"}, "url": "/docs/compare/?release=10.11#10.11-92dd1d9f816747ae", "source_url": "/docs/release/10.11/#id-1.11.6.17.5"}, {"db_id": "6eae457a01e8fe45a627b0cbced492f2", "kind": "equivalent", "version": "9.6.16", "label": "9.6.16", "title": "如果不是所有父表都被更改，禁止更改多重继承列的类型", "evidence": {"same_day": true, "patch_ids": ["343b92f30efaa73ed288e6114363b16c"], "statement_hash": "d5d27be2e2b7eb4d2e9ed2597bdf13c1b4095c72c0c8b4c9dd33f4b692c7bc61"}, "url": "/docs/compare/?release=9.6.16#9.6.16-fc299d74bbdde25f", "source_url": "/docs/release/9.6.16/#id-1.11.6.13.5"}]}, {"id": "9.5.20-f99d5c2e4e648987", "cves": [], "html": "<p>防止 <code>VACUUM</code> 尝试冻结涉及仍在运行的事务的旧多事务 ID（Nathan Bossart、Jeremy Schneider）</p>\n<p>这种情况会导致 <code>VACUUM</code> 失败，直到旧事务结束。</p>", "text": "防止 VACUUM 尝试冻结涉及仍在运行的事务的旧多事务 ID（Nathan Bossart、Jeremy Schneider） 这种情况会导致 VACUUM 失败，直到旧事务结束。", "title": "防止 VACUUM 尝试冻结涉及仍在运行的事务的旧多事务 ID", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.5.20/#id-1.11.6.10.5", "source_hash": "89f33034a3f8064dcb522fc5467a9fa0acaa91fe43a08aebd64b732fbeba64ad", "section_path": ["变更"], "commit_groups": [["0640f032a", "080cf32d2", "486a8f152", "583d86f92", "6bda2af03", "6f1e336de", "c1443eebe"]], "identity_text": "Prevent VACUUM from trying to freeze an old multixact ID involving a still-running transaction (Nathan Bossart, Jeremy Schneider) This case would lead to VACUUM failing until the old transaction terminates.", "commit_aliases": ["0640f032a", "080cf32d2", "486a8f152", "583d86f92", "6bda2af03", "6f1e336de", "c1443eebe"], "source_commits": ["c1443eebe"], "source_entry_id": "9.5.20/changes/002", "db_id": "f9a8ec5b02182ced9ecb5f30c93601e4", "patch_ids": ["9311cce21ebf176e990d4c8797dc5f4f"], "statement_hash": "cbef18f9f36d7cfabe7071d45c459f38d2c5fba3bcd661c85f3cda95f35e2123", "relations": [{"rule": 2, "type": "equivalent", "target": "3a32e884c53d7d9d998e171b2c0fee41", "evidence": {"same_day": true, "patch_ids": ["9311cce21ebf176e990d4c8797dc5f4f"], "statement_hash": "cbef18f9f36d7cfabe7071d45c459f38d2c5fba3bcd661c85f3cda95f35e2123"}}, {"rule": 2, "type": "equivalent", "target": "522a4efb8f7025b59c955d4981799d03", "evidence": {"same_day": true, "patch_ids": ["9311cce21ebf176e990d4c8797dc5f4f"], "statement_hash": "cbef18f9f36d7cfabe7071d45c459f38d2c5fba3bcd661c85f3cda95f35e2123"}}, {"rule": 2, "type": "equivalent", "target": "5c6d43c35ae888f0c0b29165ff45738e", "evidence": {"same_day": true, "patch_ids": ["9311cce21ebf176e990d4c8797dc5f4f"], "statement_hash": "cbef18f9f36d7cfabe7071d45c459f38d2c5fba3bcd661c85f3cda95f35e2123"}}, {"rule": 2, "type": "equivalent", "target": "6c8551b80cab90994547479c3079c61c", "evidence": {"same_day": true, "patch_ids": ["9311cce21ebf176e990d4c8797dc5f4f"], "statement_hash": "cbef18f9f36d7cfabe7071d45c459f38d2c5fba3bcd661c85f3cda95f35e2123"}}, {"rule": 2, "type": "equivalent", "target": "fa826bc875c8ea5b61b9dd7da2abdb9e", "evidence": {"same_day": true, "patch_ids": ["9311cce21ebf176e990d4c8797dc5f4f"], "statement_hash": "cbef18f9f36d7cfabe7071d45c459f38d2c5fba3bcd661c85f3cda95f35e2123"}}], "version": "9.5.20", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "5c6d43c35ae888f0c0b29165ff45738e", "kind": "equivalent", "version": "12.1", "label": "12.1", "title": "防止 VACUUM 尝试冻结涉及仍在运行事务的旧 multixact ID", "evidence": {"same_day": true, "patch_ids": ["9311cce21ebf176e990d4c8797dc5f4f"], "statement_hash": "cbef18f9f36d7cfabe7071d45c459f38d2c5fba3bcd661c85f3cda95f35e2123"}, "url": "/docs/compare/?release=12.1#12.1-03ce7d8051285d3a", "source_url": "/docs/release/12.1/#id-1.11.6.27.5"}, {"db_id": "522a4efb8f7025b59c955d4981799d03", "kind": "equivalent", "version": "11.6", "label": "11.6", "title": "防止 VACUUM 尝试冻结涉及仍在运行事务的旧 multixact ID", "evidence": {"same_day": true, "patch_ids": ["9311cce21ebf176e990d4c8797dc5f4f"], "statement_hash": "cbef18f9f36d7cfabe7071d45c459f38d2c5fba3bcd661c85f3cda95f35e2123"}, "url": "/docs/compare/?release=11.6#11.6-500f2da382ce3ac5", "source_url": "/docs/release/11.6/#id-1.11.6.21.5"}, {"db_id": "fa826bc875c8ea5b61b9dd7da2abdb9e", "kind": "equivalent", "version": "10.11", "label": "10.11", "title": "防止 VACUUM 尝试冻结涉及仍在运行事务的旧 multixact ID", "evidence": {"same_day": true, "patch_ids": ["9311cce21ebf176e990d4c8797dc5f4f"], "statement_hash": "cbef18f9f36d7cfabe7071d45c459f38d2c5fba3bcd661c85f3cda95f35e2123"}, "url": "/docs/compare/?release=10.11#10.11-500f2da382ce3ac5", "source_url": "/docs/release/10.11/#id-1.11.6.17.5"}, {"db_id": "6c8551b80cab90994547479c3079c61c", "kind": "equivalent", "version": "9.6.16", "label": "9.6.16", "title": "防止 VACUUM 尝试冻结涉及仍在运行的事务的旧多事务 ID", "evidence": {"same_day": true, "patch_ids": ["9311cce21ebf176e990d4c8797dc5f4f"], "statement_hash": "cbef18f9f36d7cfabe7071d45c459f38d2c5fba3bcd661c85f3cda95f35e2123"}, "url": "/docs/compare/?release=9.6.16#9.6.16-f99d5c2e4e648987", "source_url": "/docs/release/9.6.16/#id-1.11.6.13.5"}, {"db_id": "3a32e884c53d7d9d998e171b2c0fee41", "kind": "equivalent", "version": "9.4.25", "label": "9.4.25", "title": "防止 VACUUM 尝试冻结涉及仍在运行的事务的旧多事务 ID", "evidence": {"same_day": true, "patch_ids": ["9311cce21ebf176e990d4c8797dc5f4f"], "statement_hash": "cbef18f9f36d7cfabe7071d45c459f38d2c5fba3bcd661c85f3cda95f35e2123"}, "url": "/docs/compare/?release=9.4.25#9.4.25-f99d5c2e4e648987", "source_url": "/docs/release/9.4.25/#id-1.11.6.6.6"}]}, {"id": "9.5.20-c09b9f7dccb0b665", "cves": [], "html": "<p>确保查询表达式被改写时 <code>WINDOW</code> 子句中的偏移表达式也得到处理（Andrew Gierth）</p>\n<p>这一疏漏可能在偏移是非平凡表达式时导致各种失败。一个例子是，如果函数被内联，此类表达式中的函数参数引用会失败。</p>", "text": "确保查询表达式被改写时 WINDOW 子句中的偏移表达式也得到处理（Andrew Gierth） 这一疏漏可能在偏移是非平凡表达式时导致各种失败。一个例子是，如果函数被内联，此类表达式中的函数参数引用会失败。", "title": "确保查询表达式被改写时 WINDOW 子句中的偏移表达式也得到处理", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.5.20/#id-1.11.6.10.5", "source_hash": "383076da8651ea4ff9988899cd825b675a93c8ebdfd5a26ebf1107444eb5883e", "section_path": ["变更"], "commit_groups": [["0a445f279", "0b11dc019", "3473f81dd", "6db0d7f35", "b7a1c5539", "d2427f11b", "ede0ab6cc"]], "identity_text": "Ensure that offset expressions in WINDOW clauses are processed when a query's expressions are manipulated (Andrew Gierth) This oversight could result in assorted failures when the offsets are nontrivial expressions. One example is that a function parameter reference in such an expression would fail if the function was inlined.", "commit_aliases": ["0a445f279", "0b11dc019", "3473f81dd", "6db0d7f35", "b7a1c5539", "d2427f11b", "ede0ab6cc"], "source_commits": ["d2427f11b"], "source_entry_id": "9.5.20/changes/003", "db_id": "253f8c0da0e1b976098cbde686e376f0", "patch_ids": ["8235cc73f9a36fb23483c21b4d478ab6"], "statement_hash": "9367d99ad3c83d87b1b66563cc87db04a17a16aad9c314c1aa66646533c1d89e", "relations": [{"rule": 2, "type": "equivalent", "target": "051cfcbf21f9ff3ad7f3b7145cfb8239", "evidence": {"same_day": true, "patch_ids": ["8235cc73f9a36fb23483c21b4d478ab6"], "statement_hash": "9367d99ad3c83d87b1b66563cc87db04a17a16aad9c314c1aa66646533c1d89e"}}, {"rule": 2, "type": "equivalent", "target": "514ca97d8fc5e1b9913fa206c2ab3b7c", "evidence": {"same_day": true, "patch_ids": ["8235cc73f9a36fb23483c21b4d478ab6"], "statement_hash": "9367d99ad3c83d87b1b66563cc87db04a17a16aad9c314c1aa66646533c1d89e"}}, {"rule": 2, "type": "equivalent", "target": "786a8eb68b27a6e848bfa72505a70b7b", "evidence": {"same_day": true, "patch_ids": ["8235cc73f9a36fb23483c21b4d478ab6"], "statement_hash": "9367d99ad3c83d87b1b66563cc87db04a17a16aad9c314c1aa66646533c1d89e"}}, {"rule": 2, "type": "equivalent", "target": "87328496fe1ff4fe1e4cba6a35b8ff0e", "evidence": {"same_day": true, "patch_ids": ["8235cc73f9a36fb23483c21b4d478ab6"], "statement_hash": "9367d99ad3c83d87b1b66563cc87db04a17a16aad9c314c1aa66646533c1d89e"}}, {"rule": 2, "type": "equivalent", "target": "b353f1899827134e9fe629738825aa8a", "evidence": {"same_day": true, "patch_ids": ["8235cc73f9a36fb23483c21b4d478ab6"], "statement_hash": "9367d99ad3c83d87b1b66563cc87db04a17a16aad9c314c1aa66646533c1d89e"}}], "version": "9.5.20", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "87328496fe1ff4fe1e4cba6a35b8ff0e", "kind": "equivalent", "version": "12.1", "label": "12.1", "title": "确保处理查询表达式时也处理 WINDOW 子句中的偏移量表达式", "evidence": {"same_day": true, "patch_ids": ["8235cc73f9a36fb23483c21b4d478ab6"], "statement_hash": "9367d99ad3c83d87b1b66563cc87db04a17a16aad9c314c1aa66646533c1d89e"}, "url": "/docs/compare/?release=12.1#12.1-119d50d0f6cf35b0", "source_url": "/docs/release/12.1/#id-1.11.6.27.5"}, {"db_id": "514ca97d8fc5e1b9913fa206c2ab3b7c", "kind": "equivalent", "version": "11.6", "label": "11.6", "title": "确保处理查询表达式时也处理 WINDOW 子句中的偏移量表达式", "evidence": {"same_day": true, "patch_ids": ["8235cc73f9a36fb23483c21b4d478ab6"], "statement_hash": "9367d99ad3c83d87b1b66563cc87db04a17a16aad9c314c1aa66646533c1d89e"}, "url": "/docs/compare/?release=11.6#11.6-e8bea20d416c7b06", "source_url": "/docs/release/11.6/#id-1.11.6.21.5"}, {"db_id": "051cfcbf21f9ff3ad7f3b7145cfb8239", "kind": "equivalent", "version": "10.11", "label": "10.11", "title": "确保处理查询表达式时也处理 WINDOW 子句中的偏移量表达式", "evidence": {"same_day": true, "patch_ids": ["8235cc73f9a36fb23483c21b4d478ab6"], "statement_hash": "9367d99ad3c83d87b1b66563cc87db04a17a16aad9c314c1aa66646533c1d89e"}, "url": "/docs/compare/?release=10.11#10.11-e8bea20d416c7b06", "source_url": "/docs/release/10.11/#id-1.11.6.17.5"}, {"db_id": "b353f1899827134e9fe629738825aa8a", "kind": "equivalent", "version": "9.6.16", "label": "9.6.16", "title": "确保查询表达式被改写时 WINDOW 子句中的偏移表达式也得到处理", "evidence": {"same_day": true, "patch_ids": ["8235cc73f9a36fb23483c21b4d478ab6"], "statement_hash": "9367d99ad3c83d87b1b66563cc87db04a17a16aad9c314c1aa66646533c1d89e"}, "url": "/docs/compare/?release=9.6.16#9.6.16-c09b9f7dccb0b665", "source_url": "/docs/release/9.6.16/#id-1.11.6.13.5"}, {"db_id": "786a8eb68b27a6e848bfa72505a70b7b", "kind": "equivalent", "version": "9.4.25", "label": "9.4.25", "title": "确保查询表达式被改写时 WINDOW 子句中的偏移表达式也得到处理", "evidence": {"same_day": true, "patch_ids": ["8235cc73f9a36fb23483c21b4d478ab6"], "statement_hash": "9367d99ad3c83d87b1b66563cc87db04a17a16aad9c314c1aa66646533c1d89e"}, "url": "/docs/compare/?release=9.4.25#9.4.25-c09b9f7dccb0b665", "source_url": "/docs/release/9.4.25/#id-1.11.6.6.6"}]}, {"id": "9.5.20-138c48bddb0a60ea", "cves": [], "html": "<p>修复 <code>WITH CHECK OPTION</code> 表达式和行级安全策略表达式中整行变量的处理（Andres Freund）</p>\n<p>此前，这种用法可能导致关于行类型不匹配的虚假错误。</p>", "text": "修复 WITH CHECK OPTION 表达式和行级安全策略表达式中整行变量的处理（Andres Freund） 此前，这种用法可能导致关于行类型不匹配的虚假错误。", "title": "修复 WITH CHECK OPTION 表达式和行级安全策略表达式中整行变量的处理", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.5.20/#id-1.11.6.10.5", "source_hash": "f3d308526a9653243c7df3d8cf577d4fba87a87c22b425040492cadd4757fa94", "section_path": ["变更"], "commit_groups": [["5e9b18c78", "64d926f2b", "7f1f72c44", "aee5736f1", "b00132b9a", "b54cff2bf", "ca08ea52b"]], "identity_text": "Fix handling of whole-row variables in WITH CHECK OPTION expressions and row-level-security policy expressions (Andres Freund) Previously, such usage might result in bogus errors about row type mismatches.", "commit_aliases": ["5e9b18c78", "64d926f2b", "7f1f72c44", "aee5736f1", "b00132b9a", "b54cff2bf", "ca08ea52b"], "source_commits": ["aee5736f1"], "source_entry_id": "9.5.20/changes/004", "db_id": "5c5790a7fa07258e86ce0fe8fe68ec63", "patch_ids": ["eeff3aa8652467d6281ff77b8af22202"], "statement_hash": "0c297fc54fffed4bf901232ed4705af8f39907e1be087886adb9261df306853e", "relations": [{"rule": 2, "type": "equivalent", "target": "1ab3960ee0900882f2cc8d92c915ca7d", "evidence": {"same_day": true, "patch_ids": ["eeff3aa8652467d6281ff77b8af22202"], "statement_hash": "0c297fc54fffed4bf901232ed4705af8f39907e1be087886adb9261df306853e"}}, {"rule": 2, "type": "equivalent", "target": "24721a984f434daa6930df0de10a11f7", "evidence": {"same_day": true, "patch_ids": ["eeff3aa8652467d6281ff77b8af22202"], "statement_hash": "0c297fc54fffed4bf901232ed4705af8f39907e1be087886adb9261df306853e"}}, {"rule": 2, "type": "equivalent", "target": "31a9b445a9d3e78e0aff6ecc4d55e21a", "evidence": {"same_day": true, "patch_ids": ["eeff3aa8652467d6281ff77b8af22202"], "statement_hash": "0c297fc54fffed4bf901232ed4705af8f39907e1be087886adb9261df306853e"}}, {"rule": 2, "type": "equivalent", "target": "868013cfe87035bbb5e7e345fe7c7381", "evidence": {"same_day": true, "patch_ids": ["eeff3aa8652467d6281ff77b8af22202"], "statement_hash": "0c297fc54fffed4bf901232ed4705af8f39907e1be087886adb9261df306853e"}}], "version": "9.5.20", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "24721a984f434daa6930df0de10a11f7", "kind": "equivalent", "version": "11.6", "label": "11.6", "title": "修复 WITH CHECK OPTION 表达式和行级安全策略表达式中整行变量的处理", "evidence": {"same_day": true, "patch_ids": ["eeff3aa8652467d6281ff77b8af22202"], "statement_hash": "0c297fc54fffed4bf901232ed4705af8f39907e1be087886adb9261df306853e"}, "url": "/docs/compare/?release=11.6#11.6-138c48bddb0a60ea", "source_url": "/docs/release/11.6/#id-1.11.6.21.5"}, {"db_id": "31a9b445a9d3e78e0aff6ecc4d55e21a", "kind": "equivalent", "version": "10.11", "label": "10.11", "title": "修复 WITH CHECK OPTION 表达式和行级安全策略表达式中整行变量的处理", "evidence": {"same_day": true, "patch_ids": ["eeff3aa8652467d6281ff77b8af22202"], "statement_hash": "0c297fc54fffed4bf901232ed4705af8f39907e1be087886adb9261df306853e"}, "url": "/docs/compare/?release=10.11#10.11-138c48bddb0a60ea", "source_url": "/docs/release/10.11/#id-1.11.6.17.5"}, {"db_id": "1ab3960ee0900882f2cc8d92c915ca7d", "kind": "equivalent", "version": "9.6.16", "label": "9.6.16", "title": "修复 WITH CHECK OPTION 表达式和行级安全策略表达式中整行变量的处理", "evidence": {"same_day": true, "patch_ids": ["eeff3aa8652467d6281ff77b8af22202"], "statement_hash": "0c297fc54fffed4bf901232ed4705af8f39907e1be087886adb9261df306853e"}, "url": "/docs/compare/?release=9.6.16#9.6.16-138c48bddb0a60ea", "source_url": "/docs/release/9.6.16/#id-1.11.6.13.5"}, {"db_id": "868013cfe87035bbb5e7e345fe7c7381", "kind": "equivalent", "version": "9.4.25", "label": "9.4.25", "title": "修复 WITH CHECK OPTION 表达式和行级安全策略表达式中整行变量的处理", "evidence": {"same_day": true, "patch_ids": ["eeff3aa8652467d6281ff77b8af22202"], "statement_hash": "0c297fc54fffed4bf901232ed4705af8f39907e1be087886adb9261df306853e"}, "url": "/docs/compare/?release=9.4.25#9.4.25-138c48bddb0a60ea", "source_url": "/docs/release/9.4.25/#id-1.11.6.6.6"}]}, {"id": "9.5.20-0564e460aeb91f1f", "cves": [], "html": "<p>避免并行查询在没有空闲 postmaster 子进程数组槽位时请求后台工作者导致 postmaster 失败（Tom Lane）</p>", "text": "避免并行查询在没有空闲 postmaster 子进程数组槽位时请求后台工作者导致 postmaster 失败（Tom Lane）", "title": "避免并行查询在没有空闲 postmaster 子进程数组槽位时请求后台工作者导致 postmaster 失败", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.5.20/#id-1.11.6.10.5", "source_hash": "6fdbfb93fe546b9caeb0ae967fc296989dd0450c1a206916ebbe481a5a65831e", "section_path": ["变更"], "commit_groups": [["021065aac", "1b5c2ddcd", "3887e9455", "7e8d0eb63", "8c2910ce5", "c69e982a6"]], "identity_text": "Avoid postmaster failure if a parallel query requests a background worker when no postmaster child process array slots remain free (Tom Lane)", "commit_aliases": ["021065aac", "1b5c2ddcd", "3887e9455", "7e8d0eb63", "8c2910ce5", "c69e982a6"], "source_commits": ["8c2910ce5"], "source_entry_id": "9.5.20/changes/005", "db_id": "998e1240a8474fc87758996a60323d84", "patch_ids": ["96d0aacaad882c2d32ec347beb727443"], "statement_hash": "59eaa010be2a4d75cef37cd13bf56abb667da2b61444f4abcbb1f9498e5c7977", "relations": [{"rule": 2, "type": "equivalent", "target": "2796791ad0615cd972274fc27cfa15c2", "evidence": {"same_day": true, "patch_ids": ["96d0aacaad882c2d32ec347beb727443"], "statement_hash": "59eaa010be2a4d75cef37cd13bf56abb667da2b61444f4abcbb1f9498e5c7977"}}, {"rule": 2, "type": "equivalent", "target": "34b9e07ede55d67ae654c7c040b465b5", "evidence": {"same_day": true, "patch_ids": ["96d0aacaad882c2d32ec347beb727443"], "statement_hash": "59eaa010be2a4d75cef37cd13bf56abb667da2b61444f4abcbb1f9498e5c7977"}}, {"rule": 2, "type": "equivalent", "target": "6cb33d9008a7674a50e355939da5e32a", "evidence": {"same_day": true, "patch_ids": ["96d0aacaad882c2d32ec347beb727443"], "statement_hash": "59eaa010be2a4d75cef37cd13bf56abb667da2b61444f4abcbb1f9498e5c7977"}}, {"rule": 2, "type": "equivalent", "target": "6d5136787092da5d45ab2ca5be03299b", "evidence": {"same_day": true, "patch_ids": ["96d0aacaad882c2d32ec347beb727443"], "statement_hash": "59eaa010be2a4d75cef37cd13bf56abb667da2b61444f4abcbb1f9498e5c7977"}}], "version": "9.5.20", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "6d5136787092da5d45ab2ca5be03299b", "kind": "equivalent", "version": "12.1", "label": "12.1", "title": "避免 postmaster 子进程数组已无空闲槽位时，并行查询请求后台工作进程导致 postmaster 失败", "evidence": {"same_day": true, "patch_ids": ["96d0aacaad882c2d32ec347beb727443"], "statement_hash": "59eaa010be2a4d75cef37cd13bf56abb667da2b61444f4abcbb1f9498e5c7977"}, "url": "/docs/compare/?release=12.1#12.1-1ee3e3dab4caeacf", "source_url": "/docs/release/12.1/#id-1.11.6.27.5"}, {"db_id": "2796791ad0615cd972274fc27cfa15c2", "kind": "equivalent", "version": "11.6", "label": "11.6", "title": "避免 postmaster 子进程数组已无空闲槽位时，并行查询请求后台工作进程导致 postmaster 失败", "evidence": {"same_day": true, "patch_ids": ["96d0aacaad882c2d32ec347beb727443"], "statement_hash": "59eaa010be2a4d75cef37cd13bf56abb667da2b61444f4abcbb1f9498e5c7977"}, "url": "/docs/compare/?release=11.6#11.6-9ea3d713ace46e17", "source_url": "/docs/release/11.6/#id-1.11.6.21.5"}, {"db_id": "34b9e07ede55d67ae654c7c040b465b5", "kind": "equivalent", "version": "10.11", "label": "10.11", "title": "避免 postmaster 子进程数组已无空闲槽位时，并行查询请求后台工作进程导致 postmaster 失败", "evidence": {"same_day": true, "patch_ids": ["96d0aacaad882c2d32ec347beb727443"], "statement_hash": "59eaa010be2a4d75cef37cd13bf56abb667da2b61444f4abcbb1f9498e5c7977"}, "url": "/docs/compare/?release=10.11#10.11-9ea3d713ace46e17", "source_url": "/docs/release/10.11/#id-1.11.6.17.5"}, {"db_id": "6cb33d9008a7674a50e355939da5e32a", "kind": "equivalent", "version": "9.6.16", "label": "9.6.16", "title": "避免并行查询在没有空闲 postmaster 子进程数组槽位时请求后台工作者导致 postmaster 失败", "evidence": {"same_day": true, "patch_ids": ["96d0aacaad882c2d32ec347beb727443"], "statement_hash": "59eaa010be2a4d75cef37cd13bf56abb667da2b61444f4abcbb1f9498e5c7977"}, "url": "/docs/compare/?release=9.6.16#9.6.16-0564e460aeb91f1f", "source_url": "/docs/release/9.6.16/#id-1.11.6.13.5"}]}, {"id": "9.5.20-c39bf1ddd20a41ae", "cves": [], "html": "<p>防止 <code>BEFORE UPDATE</code> 触发器原样返回旧元组且它不是最后一个此类触发器时可能的双重释放（Thomas Munro）</p>", "text": "防止 BEFORE UPDATE 触发器原样返回旧元组且它不是最后一个此类触发器时可能的双重释放（Thomas Munro）", "title": "防止 BEFORE UPDATE 触发器原样返回旧元组且它不是最后一个此类触发器时可能的双重释放", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.5.20/#id-1.11.6.10.5", "source_hash": "508164751652932620cbc963ccfc22a3af316af1deee03cc9d3e9e03e4646532", "section_path": ["变更"], "commit_groups": [["03813a50e", "1ced082b9", "1fe8d209e", "60886965a", "aed967d69", "afa71d915", "cb0c79ae6"]], "identity_text": "Prevent possible double-free if a BEFORE UPDATE trigger returns the old tuple as-is, and it is not the last such trigger (Thomas Munro)", "commit_aliases": ["03813a50e", "1ced082b9", "1fe8d209e", "60886965a", "aed967d69", "afa71d915", "cb0c79ae6"], "source_commits": ["cb0c79ae6"], "source_entry_id": "9.5.20/changes/006", "db_id": "49b4ce39a0e2802530d61bec2baddb7f", "patch_ids": ["d276484a01556c3f5b9020bb4c178357"], "statement_hash": "20b88f9bb0f73e7d8437e8515f90daaba87126353f0859efca58966a23a76993", "relations": [{"rule": 2, "type": "equivalent", "target": "46df80f582a21228ddc984e055480492", "evidence": {"same_day": true, "patch_ids": ["d276484a01556c3f5b9020bb4c178357"], "statement_hash": "20b88f9bb0f73e7d8437e8515f90daaba87126353f0859efca58966a23a76993"}}, {"rule": 2, "type": "equivalent", "target": "65587701cba227ebaaafe70e227c5cd3", "evidence": {"same_day": true, "patch_ids": ["d276484a01556c3f5b9020bb4c178357"], "statement_hash": "20b88f9bb0f73e7d8437e8515f90daaba87126353f0859efca58966a23a76993"}}, {"rule": 2, "type": "equivalent", "target": "a743e90ea3933afa52603f8108e08d01", "evidence": {"same_day": true, "patch_ids": ["d276484a01556c3f5b9020bb4c178357"], "statement_hash": "20b88f9bb0f73e7d8437e8515f90daaba87126353f0859efca58966a23a76993"}}, {"rule": 2, "type": "equivalent", "target": "f510b34b7d7b94340b025b5052b1f32f", "evidence": {"same_day": true, "patch_ids": ["d276484a01556c3f5b9020bb4c178357"], "statement_hash": "20b88f9bb0f73e7d8437e8515f90daaba87126353f0859efca58966a23a76993"}}], "version": "9.5.20", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "a743e90ea3933afa52603f8108e08d01", "kind": "equivalent", "version": "11.6", "label": "11.6", "title": "如果 BEFORE UPDATE 触发器原样返回旧元组，且它并非最后一个此类触发器，则防止可能发生的重复释放", "evidence": {"same_day": true, "patch_ids": ["d276484a01556c3f5b9020bb4c178357"], "statement_hash": "20b88f9bb0f73e7d8437e8515f90daaba87126353f0859efca58966a23a76993"}, "url": "/docs/compare/?release=11.6#11.6-63eda83a0643d39b", "source_url": "/docs/release/11.6/#id-1.11.6.21.5"}, {"db_id": "46df80f582a21228ddc984e055480492", "kind": "equivalent", "version": "10.11", "label": "10.11", "title": "如果 BEFORE UPDATE 触发器原样返回旧元组，且它并非最后一个此类触发器，则防止可能发生的重复释放", "evidence": {"same_day": true, "patch_ids": ["d276484a01556c3f5b9020bb4c178357"], "statement_hash": "20b88f9bb0f73e7d8437e8515f90daaba87126353f0859efca58966a23a76993"}, "url": "/docs/compare/?release=10.11#10.11-63eda83a0643d39b", "source_url": "/docs/release/10.11/#id-1.11.6.17.5"}, {"db_id": "65587701cba227ebaaafe70e227c5cd3", "kind": "equivalent", "version": "9.6.16", "label": "9.6.16", "title": "防止 BEFORE UPDATE 触发器原样返回旧元组且它不是最后一个此类触发器时可能的双重释放", "evidence": {"same_day": true, "patch_ids": ["d276484a01556c3f5b9020bb4c178357"], "statement_hash": "20b88f9bb0f73e7d8437e8515f90daaba87126353f0859efca58966a23a76993"}, "url": "/docs/compare/?release=9.6.16#9.6.16-c39bf1ddd20a41ae", "source_url": "/docs/release/9.6.16/#id-1.11.6.13.5"}, {"db_id": "f510b34b7d7b94340b025b5052b1f32f", "kind": "equivalent", "version": "9.4.25", "label": "9.4.25", "title": "防止 BEFORE UPDATE 触发器原样返回旧元组且它不是最后一个此类触发器时可能的双重释放", "evidence": {"same_day": true, "patch_ids": ["d276484a01556c3f5b9020bb4c178357"], "statement_hash": "20b88f9bb0f73e7d8437e8515f90daaba87126353f0859efca58966a23a76993"}, "url": "/docs/compare/?release=9.4.25#9.4.25-c39bf1ddd20a41ae", "source_url": "/docs/release/9.4.25/#id-1.11.6.6.6"}]}, {"id": "9.5.20-813ccd9779c65243", "cves": [], "html": "<p>在并行工作者启动期间设置 GUC 参数发生错误时提供相关的错误上下文行（Thomas Munro）</p>", "text": "在并行工作者启动期间设置 GUC 参数发生错误时提供相关的错误上下文行（Thomas Munro）", "title": "在并行工作者启动期间设置 GUC 参数发生错误时提供相关的错误上下文行", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.5.20/#id-1.11.6.10.5", "source_hash": "f4ecfd26b450793d7f4ddb3773db46d66e87ca32e56f08bade9ddb54d8de85f8", "section_path": ["变更"], "commit_groups": [["3af7c64fe", "3c8c55dd5", "6737111a7", "89a3cdb32", "cdbb39213", "fd5ffa425"]], "identity_text": "Provide a relevant error context line when an error occurs while setting GUC parameters during parallel worker startup (Thomas Munro)", "commit_aliases": ["3af7c64fe", "3c8c55dd5", "6737111a7", "89a3cdb32", "cdbb39213", "fd5ffa425"], "source_commits": ["cdbb39213"], "source_entry_id": "9.5.20/changes/007", "db_id": "4c52b47c2e732d9889ddec4ca22e4589", "patch_ids": ["1243fa5b0921820b1c554a187d60091f"], "statement_hash": "8baec96ef39b036a484908e57df8cc57b9eb9abcb96cc830db572873e8dde69d", "relations": [{"rule": 2, "type": "equivalent", "target": "194858126ea4e7dfa00ddcca88d219a1", "evidence": {"same_day": true, "patch_ids": ["1243fa5b0921820b1c554a187d60091f"], "statement_hash": "8baec96ef39b036a484908e57df8cc57b9eb9abcb96cc830db572873e8dde69d"}}, {"rule": 2, "type": "equivalent", "target": "1cdeecd950f87ad9f78cd449aa611815", "evidence": {"same_day": true, "patch_ids": ["1243fa5b0921820b1c554a187d60091f"], "statement_hash": "8baec96ef39b036a484908e57df8cc57b9eb9abcb96cc830db572873e8dde69d"}}, {"rule": 2, "type": "equivalent", "target": "4ea3d2bdb5ed937268773fde22216293", "evidence": {"same_day": true, "patch_ids": ["1243fa5b0921820b1c554a187d60091f"], "statement_hash": "8baec96ef39b036a484908e57df8cc57b9eb9abcb96cc830db572873e8dde69d"}}, {"rule": 2, "type": "equivalent", "target": "ffba4d83f366131db32533d2cf3a8fc8", "evidence": {"same_day": true, "patch_ids": ["1243fa5b0921820b1c554a187d60091f"], "statement_hash": "8baec96ef39b036a484908e57df8cc57b9eb9abcb96cc830db572873e8dde69d"}}], "version": "9.5.20", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "4ea3d2bdb5ed937268773fde22216293", "kind": "equivalent", "version": "12.1", "label": "12.1", "title": "在并行工作进程启动期间设置 GUC 参数发生错误时，提供相关的错误上下文行", "evidence": {"same_day": true, "patch_ids": ["1243fa5b0921820b1c554a187d60091f"], "statement_hash": "8baec96ef39b036a484908e57df8cc57b9eb9abcb96cc830db572873e8dde69d"}, "url": "/docs/compare/?release=12.1#12.1-0f140a3388870cc6", "source_url": "/docs/release/12.1/#id-1.11.6.27.5"}, {"db_id": "1cdeecd950f87ad9f78cd449aa611815", "kind": "equivalent", "version": "11.6", "label": "11.6", "title": "在并行工作进程启动期间设置 GUC 参数发生错误时，提供相关的错误上下文行", "evidence": {"same_day": true, "patch_ids": ["1243fa5b0921820b1c554a187d60091f"], "statement_hash": "8baec96ef39b036a484908e57df8cc57b9eb9abcb96cc830db572873e8dde69d"}, "url": "/docs/compare/?release=11.6#11.6-1bb1197d56a5461c", "source_url": "/docs/release/11.6/#id-1.11.6.21.5"}, {"db_id": "ffba4d83f366131db32533d2cf3a8fc8", "kind": "equivalent", "version": "10.11", "label": "10.11", "title": "在并行工作进程启动期间设置 GUC 参数发生错误时，提供相关的错误上下文行", "evidence": {"same_day": true, "patch_ids": ["1243fa5b0921820b1c554a187d60091f"], "statement_hash": "8baec96ef39b036a484908e57df8cc57b9eb9abcb96cc830db572873e8dde69d"}, "url": "/docs/compare/?release=10.11#10.11-1bb1197d56a5461c", "source_url": "/docs/release/10.11/#id-1.11.6.17.5"}, {"db_id": "194858126ea4e7dfa00ddcca88d219a1", "kind": "equivalent", "version": "9.6.16", "label": "9.6.16", "title": "在并行工作者启动期间设置 GUC 参数发生错误时提供相关的错误上下文行", "evidence": {"same_day": true, "patch_ids": ["1243fa5b0921820b1c554a187d60091f"], "statement_hash": "8baec96ef39b036a484908e57df8cc57b9eb9abcb96cc830db572873e8dde69d"}, "url": "/docs/compare/?release=9.6.16#9.6.16-813ccd9779c65243", "source_url": "/docs/release/9.6.16/#id-1.11.6.13.5"}]}, {"id": "9.5.20-b521dd9870555e5f", "cves": [], "html": "<p>在可序列化模式下，确保对正确版本的行获取行级谓词锁（Thomas Munro、Heikki Linnakangas）</p>\n<p>如果行的可见版本经过 HOT 更新，锁可能被加到它现已死亡的前身上，导致细微的序列化保证失败。</p>", "text": "在可序列化模式下，确保对正确版本的行获取行级谓词锁（Thomas Munro、Heikki Linnakangas） 如果行的可见版本经过 HOT 更新，锁可能被加到它现已死亡的前身上，导致细微的序列化保证失败。", "title": "在可序列化模式下，确保对正确版本的行获取行级谓词锁", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.5.20/#id-1.11.6.10.5", "source_hash": "0bca15d9e1008f49f78ddffd79d88c987fc6b1612f85e0408385628c8da01aee", "section_path": ["变更"], "commit_groups": [["1169fcf12", "54c98fa71", "65468cc70", "75774cc22", "c5b796125", "f8d30182b", "fd298cd63"]], "identity_text": "In serializable mode, ensure that row-level predicate locks are acquired on the correct version of the row (Thomas Munro, Heikki Linnakangas) If the visible version of the row is HOT-updated, the lock might be taken on its now-dead predecessor, resulting in subtle failures to guarantee serialization.", "commit_aliases": ["1169fcf12", "54c98fa71", "65468cc70", "75774cc22", "c5b796125", "f8d30182b", "fd298cd63"], "source_commits": ["fd298cd63"], "source_entry_id": "9.5.20/changes/008", "db_id": "c094bd6bd96b20452d2deeb24e56908b", "patch_ids": ["29f5bb509abaf651c6215efbaec834d4"], "statement_hash": "df42f17a722ff99a9ca75abbfa3cf1f7481359fe046366c4b777280bc8d81747", "relations": [{"rule": 2, "type": "equivalent", "target": "087c41a2e014444b7825712e6389481c", "evidence": {"same_day": true, "patch_ids": ["29f5bb509abaf651c6215efbaec834d4"], "statement_hash": "df42f17a722ff99a9ca75abbfa3cf1f7481359fe046366c4b777280bc8d81747"}}, {"rule": 2, "type": "equivalent", "target": "0e4e152032c826b8e9e4668aff0d6d14", "evidence": {"same_day": true, "patch_ids": ["29f5bb509abaf651c6215efbaec834d4"], "statement_hash": "df42f17a722ff99a9ca75abbfa3cf1f7481359fe046366c4b777280bc8d81747"}}, {"rule": 2, "type": "equivalent", "target": "30d1dc9a1eb4cbf83f7ef73adedf7d1e", "evidence": {"same_day": true, "patch_ids": ["29f5bb509abaf651c6215efbaec834d4"], "statement_hash": "df42f17a722ff99a9ca75abbfa3cf1f7481359fe046366c4b777280bc8d81747"}}, {"rule": 2, "type": "equivalent", "target": "95dcd349ba1930c83ec31b31588a8608", "evidence": {"same_day": true, "patch_ids": ["29f5bb509abaf651c6215efbaec834d4"], "statement_hash": "df42f17a722ff99a9ca75abbfa3cf1f7481359fe046366c4b777280bc8d81747"}}], "version": "9.5.20", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "087c41a2e014444b7825712e6389481c", "kind": "equivalent", "version": "11.6", "label": "11.6", "title": "在可串行化模式下，确保在正确的行版本上获取行级谓词锁", "evidence": {"same_day": true, "patch_ids": ["29f5bb509abaf651c6215efbaec834d4"], "statement_hash": "df42f17a722ff99a9ca75abbfa3cf1f7481359fe046366c4b777280bc8d81747"}, "url": "/docs/compare/?release=11.6#11.6-e7d424c786c33390", "source_url": "/docs/release/11.6/#id-1.11.6.21.5"}, {"db_id": "30d1dc9a1eb4cbf83f7ef73adedf7d1e", "kind": "equivalent", "version": "10.11", "label": "10.11", "title": "在可串行化模式下，确保在正确的行版本上获取行级谓词锁", "evidence": {"same_day": true, "patch_ids": ["29f5bb509abaf651c6215efbaec834d4"], "statement_hash": "df42f17a722ff99a9ca75abbfa3cf1f7481359fe046366c4b777280bc8d81747"}, "url": "/docs/compare/?release=10.11#10.11-e7d424c786c33390", "source_url": "/docs/release/10.11/#id-1.11.6.17.5"}, {"db_id": "0e4e152032c826b8e9e4668aff0d6d14", "kind": "equivalent", "version": "9.6.16", "label": "9.6.16", "title": "在可序列化模式下，确保对正确版本的行获取行级谓词锁", "evidence": {"same_day": true, "patch_ids": ["29f5bb509abaf651c6215efbaec834d4"], "statement_hash": "df42f17a722ff99a9ca75abbfa3cf1f7481359fe046366c4b777280bc8d81747"}, "url": "/docs/compare/?release=9.6.16#9.6.16-b521dd9870555e5f", "source_url": "/docs/release/9.6.16/#id-1.11.6.13.5"}, {"db_id": "95dcd349ba1930c83ec31b31588a8608", "kind": "equivalent", "version": "9.4.25", "label": "9.4.25", "title": "在可序列化模式下，确保对正确版本的行获取行级谓词锁", "evidence": {"same_day": true, "patch_ids": ["29f5bb509abaf651c6215efbaec834d4"], "statement_hash": "df42f17a722ff99a9ca75abbfa3cf1f7481359fe046366c4b777280bc8d81747"}, "url": "/docs/compare/?release=9.4.25#9.4.25-b521dd9870555e5f", "source_url": "/docs/release/9.4.25/#id-1.11.6.6.6"}]}, {"id": "9.5.20-c657548a46b98fe9", "cves": [], "html": "<p>确保 <code>fsync()</code> 只应用于以读/写方式打开的文件（Andres Freund、Michael Paquier）</p>\n<p>某些代码路径在以只读方式打开文件后试图这样做，但在某些平台上这会导致 <span>“<span>bad file descriptor</span>”</span> 或类似错误。</p>", "text": "确保 fsync() 只应用于以读/写方式打开的文件（Andres Freund、Michael Paquier） 某些代码路径在以只读方式打开文件后试图这样做，但在某些平台上这会导致 “bad file descriptor” 或类似错误。", "title": "确保 fsync() 只应用于以读/写方式打开的文件", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.5.20/#id-1.11.6.10.5", "source_hash": "c1520aab6ffa2a84778c59e069ffd3471464372e3249b8275d3a944c4ad764b3", "section_path": ["变更"], "commit_groups": [["07c314968", "4e7a8874a", "59800f7ce", "b8e19b932", "c50f95272", "e34358c43", "fbfc835b4"], ["a586cc4b6", "c025165da"]], "identity_text": "Ensure that fsync() is applied only to files that are opened read/write (Andres Freund, Michael Paquier) Some code paths tried to do this after opening a file read-only, but on some platforms that causes bad file descriptor or similar errors.", "commit_aliases": ["07c314968", "4e7a8874a", "59800f7ce", "a586cc4b6", "b8e19b932", "c025165da", "c50f95272", "e34358c43", "fbfc835b4"], "source_commits": ["a586cc4b6", "c50f95272"], "source_entry_id": "9.5.20/changes/009", "db_id": "9937db66c444f4b87967159a57f1736f", "patch_ids": ["20b648680404cadc5d357f6df2e8fc6a", "c84eb292a1f31e0c5216e30f34748b01"], "statement_hash": "811b1d7801f5dd7f13522b0ebdbbb031a29ab9ae3676e32a9f2c69c46c6510c4", "relations": [{"rule": 2, "type": "equivalent", "target": "1590e5d3da6e6a81c25d73c6d83b4ebb", "evidence": {"same_day": true, "patch_ids": ["20b648680404cadc5d357f6df2e8fc6a", "c84eb292a1f31e0c5216e30f34748b01"], "statement_hash": "811b1d7801f5dd7f13522b0ebdbbb031a29ab9ae3676e32a9f2c69c46c6510c4"}}, {"rule": 2, "type": "equivalent", "target": "2418c9453b30b777ebc1c9534c0e47b8", "evidence": {"same_day": true, "patch_ids": ["20b648680404cadc5d357f6df2e8fc6a", "c84eb292a1f31e0c5216e30f34748b01"], "statement_hash": "811b1d7801f5dd7f13522b0ebdbbb031a29ab9ae3676e32a9f2c69c46c6510c4"}}, {"rule": 2, "type": "equivalent", "target": "73b65c3ca0a98f2f47a92ac14c9892a1", "evidence": {"same_day": true, "patch_ids": ["20b648680404cadc5d357f6df2e8fc6a", "c84eb292a1f31e0c5216e30f34748b01"], "statement_hash": "811b1d7801f5dd7f13522b0ebdbbb031a29ab9ae3676e32a9f2c69c46c6510c4"}}, {"rule": 2, "type": "equivalent", "target": "92ea24556125b7bc544c03fdd7e3d122", "evidence": {"same_day": true, "patch_ids": ["20b648680404cadc5d357f6df2e8fc6a", "c84eb292a1f31e0c5216e30f34748b01"], "statement_hash": "811b1d7801f5dd7f13522b0ebdbbb031a29ab9ae3676e32a9f2c69c46c6510c4"}}, {"rule": 2, "type": "equivalent", "target": "b8e91545f28e39be358c8cb0aaccd1ce", "evidence": {"same_day": true, "patch_ids": ["20b648680404cadc5d357f6df2e8fc6a", "c84eb292a1f31e0c5216e30f34748b01"], "statement_hash": "811b1d7801f5dd7f13522b0ebdbbb031a29ab9ae3676e32a9f2c69c46c6510c4"}}], "version": "9.5.20", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "73b65c3ca0a98f2f47a92ac14c9892a1", "kind": "equivalent", "version": "12.1", "label": "12.1", "title": "确保仅对以读写模式打开的文件应用 fsync()", "evidence": {"same_day": true, "patch_ids": ["20b648680404cadc5d357f6df2e8fc6a", "c84eb292a1f31e0c5216e30f34748b01"], "statement_hash": "811b1d7801f5dd7f13522b0ebdbbb031a29ab9ae3676e32a9f2c69c46c6510c4"}, "url": "/docs/compare/?release=12.1#12.1-379b4a761effb552", "source_url": "/docs/release/12.1/#id-1.11.6.27.5"}, {"db_id": "2418c9453b30b777ebc1c9534c0e47b8", "kind": "equivalent", "version": "11.6", "label": "11.6", "title": "确保仅对以读写模式打开的文件应用 fsync()", "evidence": {"same_day": true, "patch_ids": ["20b648680404cadc5d357f6df2e8fc6a", "c84eb292a1f31e0c5216e30f34748b01"], "statement_hash": "811b1d7801f5dd7f13522b0ebdbbb031a29ab9ae3676e32a9f2c69c46c6510c4"}, "url": "/docs/compare/?release=11.6#11.6-42511f5c7f00edda", "source_url": "/docs/release/11.6/#id-1.11.6.21.5"}, {"db_id": "1590e5d3da6e6a81c25d73c6d83b4ebb", "kind": "equivalent", "version": "10.11", "label": "10.11", "title": "确保仅对以读写模式打开的文件应用 fsync()", "evidence": {"same_day": true, "patch_ids": ["20b648680404cadc5d357f6df2e8fc6a", "c84eb292a1f31e0c5216e30f34748b01"], "statement_hash": "811b1d7801f5dd7f13522b0ebdbbb031a29ab9ae3676e32a9f2c69c46c6510c4"}, "url": "/docs/compare/?release=10.11#10.11-42511f5c7f00edda", "source_url": "/docs/release/10.11/#id-1.11.6.17.5"}, {"db_id": "92ea24556125b7bc544c03fdd7e3d122", "kind": "equivalent", "version": "9.6.16", "label": "9.6.16", "title": "确保 fsync() 只应用于以读/写方式打开的文件", "evidence": {"same_day": true, "patch_ids": ["20b648680404cadc5d357f6df2e8fc6a", "c84eb292a1f31e0c5216e30f34748b01"], "statement_hash": "811b1d7801f5dd7f13522b0ebdbbb031a29ab9ae3676e32a9f2c69c46c6510c4"}, "url": "/docs/compare/?release=9.6.16#9.6.16-c657548a46b98fe9", "source_url": "/docs/release/9.6.16/#id-1.11.6.13.5"}, {"db_id": "b8e91545f28e39be358c8cb0aaccd1ce", "kind": "equivalent", "version": "9.4.25", "label": "9.4.25", "title": "确保 fsync() 只应用于以读/写方式打开的文件", "evidence": {"same_day": true, "patch_ids": ["20b648680404cadc5d357f6df2e8fc6a", "c84eb292a1f31e0c5216e30f34748b01"], "statement_hash": "811b1d7801f5dd7f13522b0ebdbbb031a29ab9ae3676e32a9f2c69c46c6510c4"}, "url": "/docs/compare/?release=9.4.25#9.4.25-c657548a46b98fe9", "source_url": "/docs/release/9.4.25/#id-1.11.6.6.6"}]}, {"id": "9.5.20-034419db242826ac", "cves": [], "html": "<p>允许编码转换在比以前更长的字符串上成功（Álvaro Herrera、Tom Lane）</p>\n<p>此前输入字符串有 0.25GB 的硬限制，但现在只要转换后的输出不超过 1GB 就能工作。</p>", "text": "允许编码转换在比以前更长的字符串上成功（Álvaro Herrera、Tom Lane） 此前输入字符串有 0.25GB 的硬限制，但现在只要转换后的输出不超过 1GB 就能工作。", "title": "允许编码转换在比以前更长的字符串上成功", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.5.20/#id-1.11.6.10.5", "source_hash": "de3717113daaaa5502dcf197f12ec4e810c9f0a4d1fbc7645cc6f8d79ec1ebf6", "section_path": ["变更"], "commit_groups": [["226551e7c", "54d641da0", "677989cc0", "6899be289", "8381242df", "8e10405c7", "e5ff97571"]], "identity_text": "Allow encoding conversion to succeed on longer strings than before (Álvaro Herrera, Tom Lane) Previously, there was a hard limit of 0.25GB on the input string, but now it will work as long as the converted output is not over 1GB.", "commit_aliases": ["226551e7c", "54d641da0", "677989cc0", "6899be289", "8381242df", "8e10405c7", "e5ff97571"], "source_commits": ["54d641da0"], "source_entry_id": "9.5.20/changes/010", "db_id": "e879d6402b17f3116c0664f3906d21a2", "patch_ids": ["b59620aadb07a202a61119308e8705a3"], "statement_hash": "b00eedd46ac4216a9af5fe4a43bee7c45f6a7ba75da45a47d3da02bd1b18554a", "relations": [{"rule": 2, "type": "equivalent", "target": "875c0e4587609f405ccd5ffcf2b36ab2", "evidence": {"same_day": true, "patch_ids": ["b59620aadb07a202a61119308e8705a3"], "statement_hash": "b00eedd46ac4216a9af5fe4a43bee7c45f6a7ba75da45a47d3da02bd1b18554a"}}, {"rule": 2, "type": "equivalent", "target": "91d77091fad5f269b2db456b44d2a1e5", "evidence": {"same_day": true, "patch_ids": ["b59620aadb07a202a61119308e8705a3"], "statement_hash": "b00eedd46ac4216a9af5fe4a43bee7c45f6a7ba75da45a47d3da02bd1b18554a"}}, {"rule": 2, "type": "equivalent", "target": "cb4474cbfaedad6fefc693785965ee50", "evidence": {"same_day": true, "patch_ids": ["b59620aadb07a202a61119308e8705a3"], "statement_hash": "b00eedd46ac4216a9af5fe4a43bee7c45f6a7ba75da45a47d3da02bd1b18554a"}}, {"rule": 2, "type": "equivalent", "target": "e3986eda3d8a8bbe46aaaf7f25f8bce1", "evidence": {"same_day": true, "patch_ids": ["b59620aadb07a202a61119308e8705a3"], "statement_hash": "b00eedd46ac4216a9af5fe4a43bee7c45f6a7ba75da45a47d3da02bd1b18554a"}}, {"rule": 2, "type": "equivalent", "target": "e4b440de56d261ffc7855ea4fab821a0", "evidence": {"same_day": true, "patch_ids": ["b59620aadb07a202a61119308e8705a3"], "statement_hash": "b00eedd46ac4216a9af5fe4a43bee7c45f6a7ba75da45a47d3da02bd1b18554a"}}], "version": "9.5.20", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "e4b440de56d261ffc7855ea4fab821a0", "kind": "equivalent", "version": "12.1", "label": "12.1", "title": "允许编码转换成功处理比以前更长的字符串", "evidence": {"same_day": true, "patch_ids": ["b59620aadb07a202a61119308e8705a3"], "statement_hash": "b00eedd46ac4216a9af5fe4a43bee7c45f6a7ba75da45a47d3da02bd1b18554a"}, "url": "/docs/compare/?release=12.1#12.1-4a8deb84dc97eccf", "source_url": "/docs/release/12.1/#id-1.11.6.27.5"}, {"db_id": "e3986eda3d8a8bbe46aaaf7f25f8bce1", "kind": "equivalent", "version": "11.6", "label": "11.6", "title": "允许编码转换成功处理比以前更长的字符串", "evidence": {"same_day": true, "patch_ids": ["b59620aadb07a202a61119308e8705a3"], "statement_hash": "b00eedd46ac4216a9af5fe4a43bee7c45f6a7ba75da45a47d3da02bd1b18554a"}, "url": "/docs/compare/?release=11.6#11.6-22151d0d655f385c", "source_url": "/docs/release/11.6/#id-1.11.6.21.5"}, {"db_id": "91d77091fad5f269b2db456b44d2a1e5", "kind": "equivalent", "version": "10.11", "label": "10.11", "title": "允许编码转换成功处理比以前更长的字符串", "evidence": {"same_day": true, "patch_ids": ["b59620aadb07a202a61119308e8705a3"], "statement_hash": "b00eedd46ac4216a9af5fe4a43bee7c45f6a7ba75da45a47d3da02bd1b18554a"}, "url": "/docs/compare/?release=10.11#10.11-22151d0d655f385c", "source_url": "/docs/release/10.11/#id-1.11.6.17.5"}, {"db_id": "cb4474cbfaedad6fefc693785965ee50", "kind": "equivalent", "version": "9.6.16", "label": "9.6.16", "title": "允许编码转换在比以前更长的字符串上成功", "evidence": {"same_day": true, "patch_ids": ["b59620aadb07a202a61119308e8705a3"], "statement_hash": "b00eedd46ac4216a9af5fe4a43bee7c45f6a7ba75da45a47d3da02bd1b18554a"}, "url": "/docs/compare/?release=9.6.16#9.6.16-034419db242826ac", "source_url": "/docs/release/9.6.16/#id-1.11.6.13.5"}, {"db_id": "875c0e4587609f405ccd5ffcf2b36ab2", "kind": "equivalent", "version": "9.4.25", "label": "9.4.25", "title": "允许编码转换在比以前更长的字符串上成功", "evidence": {"same_day": true, "patch_ids": ["b59620aadb07a202a61119308e8705a3"], "statement_hash": "b00eedd46ac4216a9af5fe4a43bee7c45f6a7ba75da45a47d3da02bd1b18554a"}, "url": "/docs/compare/?release=9.4.25#9.4.25-034419db242826ac", "source_url": "/docs/release/9.4.25/#id-1.11.6.6.6"}]}, {"id": "9.5.20-bcf8d3ad38d6bdd2", "cves": [], "html": "<p>允许 <code>repalloc()</code> 在大块被缩小时归还空间（Tom Lane）</p>", "text": "允许 repalloc() 在大块被缩小时归还空间（Tom Lane）", "title": "允许 repalloc() 在大块被缩小时归还空间", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.5.20/#id-1.11.6.10.5", "source_hash": "08a9c586f20e50fda9a6a31703d491018758fda42caa7b5ebe1e273f9983c909", "section_path": ["变更"], "commit_groups": [["1534531fe", "4829576ba", "82d0a46ea", "9a407209a", "9ad1b572d", "c477f3e44", "e5e4f12a5"]], "identity_text": "Allow repalloc() to give back space when a large chunk is reduced in size (Tom Lane)", "commit_aliases": ["1534531fe", "4829576ba", "82d0a46ea", "9a407209a", "9ad1b572d", "c477f3e44", "e5e4f12a5"], "source_commits": ["1534531fe"], "source_entry_id": "9.5.20/changes/011", "db_id": "24afa646cbd19aebb703398a8e69ae9a", "patch_ids": ["bb8fc1b453328d13052098eec48907e8"], "statement_hash": "c9f63c307d511d35bb2fd9fd28932c6e54276a89b95bb4a9be16994a664ee03e", "relations": [{"rule": 2, "type": "equivalent", "target": "28919380efd74ee005a86d31c864365e", "evidence": {"same_day": true, "patch_ids": ["bb8fc1b453328d13052098eec48907e8"], "statement_hash": "c9f63c307d511d35bb2fd9fd28932c6e54276a89b95bb4a9be16994a664ee03e"}}, {"rule": 2, "type": "equivalent", "target": "2c6aa131fceedc010dc04aff452c5264", "evidence": {"same_day": true, "patch_ids": ["bb8fc1b453328d13052098eec48907e8"], "statement_hash": "c9f63c307d511d35bb2fd9fd28932c6e54276a89b95bb4a9be16994a664ee03e"}}, {"rule": 2, "type": "equivalent", "target": "3c8bb8c27d4809d5d8005285a64216ab", "evidence": {"same_day": true, "patch_ids": ["bb8fc1b453328d13052098eec48907e8"], "statement_hash": "c9f63c307d511d35bb2fd9fd28932c6e54276a89b95bb4a9be16994a664ee03e"}}, {"rule": 2, "type": "equivalent", "target": "3ddc36c22adaef5e20bf87318b5a0c0d", "evidence": {"same_day": true, "patch_ids": ["bb8fc1b453328d13052098eec48907e8"], "statement_hash": "c9f63c307d511d35bb2fd9fd28932c6e54276a89b95bb4a9be16994a664ee03e"}}, {"rule": 2, "type": "equivalent", "target": "e6486a60df156f2ff4e70bc5d0f23c47", "evidence": {"same_day": true, "patch_ids": ["bb8fc1b453328d13052098eec48907e8"], "statement_hash": "c9f63c307d511d35bb2fd9fd28932c6e54276a89b95bb4a9be16994a664ee03e"}}], "version": "9.5.20", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "28919380efd74ee005a86d31c864365e", "kind": "equivalent", "version": "12.1", "label": "12.1", "title": "允许 repalloc() 在大型内存块缩小时归还空间", "evidence": {"same_day": true, "patch_ids": ["bb8fc1b453328d13052098eec48907e8"], "statement_hash": "c9f63c307d511d35bb2fd9fd28932c6e54276a89b95bb4a9be16994a664ee03e"}, "url": "/docs/compare/?release=12.1#12.1-a2ec2f586645e8e1", "source_url": "/docs/release/12.1/#id-1.11.6.27.5"}, {"db_id": "3c8bb8c27d4809d5d8005285a64216ab", "kind": "equivalent", "version": "11.6", "label": "11.6", "title": "允许 repalloc() 在大型内存块缩小时归还空间", "evidence": {"same_day": true, "patch_ids": ["bb8fc1b453328d13052098eec48907e8"], "statement_hash": "c9f63c307d511d35bb2fd9fd28932c6e54276a89b95bb4a9be16994a664ee03e"}, "url": "/docs/compare/?release=11.6#11.6-049d3d7c5b4b4e66", "source_url": "/docs/release/11.6/#id-1.11.6.21.5"}, {"db_id": "3ddc36c22adaef5e20bf87318b5a0c0d", "kind": "equivalent", "version": "10.11", "label": "10.11", "title": "允许 repalloc() 在大型内存块缩小时归还空间", "evidence": {"same_day": true, "patch_ids": ["bb8fc1b453328d13052098eec48907e8"], "statement_hash": "c9f63c307d511d35bb2fd9fd28932c6e54276a89b95bb4a9be16994a664ee03e"}, "url": "/docs/compare/?release=10.11#10.11-049d3d7c5b4b4e66", "source_url": "/docs/release/10.11/#id-1.11.6.17.5"}, {"db_id": "e6486a60df156f2ff4e70bc5d0f23c47", "kind": "equivalent", "version": "9.6.16", "label": "9.6.16", "title": "允许 repalloc() 在大块被缩小时归还空间", "evidence": {"same_day": true, "patch_ids": ["bb8fc1b453328d13052098eec48907e8"], "statement_hash": "c9f63c307d511d35bb2fd9fd28932c6e54276a89b95bb4a9be16994a664ee03e"}, "url": "/docs/compare/?release=9.6.16#9.6.16-bcf8d3ad38d6bdd2", "source_url": "/docs/release/9.6.16/#id-1.11.6.13.5"}, {"db_id": "2c6aa131fceedc010dc04aff452c5264", "kind": "equivalent", "version": "9.4.25", "label": "9.4.25", "title": "允许 repalloc() 在大块被缩小时归还空间", "evidence": {"same_day": true, "patch_ids": ["bb8fc1b453328d13052098eec48907e8"], "statement_hash": "c9f63c307d511d35bb2fd9fd28932c6e54276a89b95bb4a9be16994a664ee03e"}, "url": "/docs/compare/?release=9.4.25#9.4.25-bcf8d3ad38d6bdd2", "source_url": "/docs/release/9.4.25/#id-1.11.6.6.6"}]}, {"id": "9.5.20-2e3934bf7ad8cbc9", "cves": [], "html": "<p>确保归档恢复结束时移除临时 WAL 和历史文件（Sawada Masahiko）</p>", "text": "确保归档恢复结束时移除临时 WAL 和历史文件（Sawada Masahiko）", "title": "确保归档恢复结束时移除临时 WAL 和历史文件", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.5.20/#id-1.11.6.10.5", "source_hash": "724825727a9a4cb1d75e6b7ec379cd720be65a04cb2df91e6d86c2c43c68e310", "section_path": ["变更"], "commit_groups": [["2a724cdbf", "7ca35472c", "ac1efdd08", "ae205dfe6", "b978de0eb", "df86e52ca"]], "identity_text": "Ensure that temporary WAL and history files are removed at the end of archive recovery (Sawada Masahiko)", "commit_aliases": ["2a724cdbf", "7ca35472c", "ac1efdd08", "ae205dfe6", "b978de0eb", "df86e52ca"], "source_commits": ["ae205dfe6"], "source_entry_id": "9.5.20/changes/012", "db_id": "f506a3173b1e3502d0666e1319af57c5", "patch_ids": ["eccec0a934f6b798a4ca948a6e5ed54f"], "statement_hash": "d9171030eaa0d655092fd4688db8b2e56f3529964d1e2d2c0b2c5e9b0624166d", "relations": [{"rule": 2, "type": "equivalent", "target": "0a3d67e35b576d9c2bd99c64ce426a2f", "evidence": {"same_day": true, "patch_ids": ["eccec0a934f6b798a4ca948a6e5ed54f"], "statement_hash": "d9171030eaa0d655092fd4688db8b2e56f3529964d1e2d2c0b2c5e9b0624166d"}}, {"rule": 2, "type": "equivalent", "target": "b3a030c28ed4cda30af5cca05ade9f8a", "evidence": {"same_day": true, "patch_ids": ["eccec0a934f6b798a4ca948a6e5ed54f"], "statement_hash": "d9171030eaa0d655092fd4688db8b2e56f3529964d1e2d2c0b2c5e9b0624166d"}}, {"rule": 2, "type": "equivalent", "target": "c1828ccc97f9d3e0be5e49a6b93cf6f5", "evidence": {"same_day": true, "patch_ids": ["eccec0a934f6b798a4ca948a6e5ed54f"], "statement_hash": "d9171030eaa0d655092fd4688db8b2e56f3529964d1e2d2c0b2c5e9b0624166d"}}, {"rule": 2, "type": "equivalent", "target": "c6f2ad7ebe26a63bb7848f935183d7e0", "evidence": {"same_day": true, "patch_ids": ["eccec0a934f6b798a4ca948a6e5ed54f"], "statement_hash": "d9171030eaa0d655092fd4688db8b2e56f3529964d1e2d2c0b2c5e9b0624166d"}}], "version": "9.5.20", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "b3a030c28ed4cda30af5cca05ade9f8a", "kind": "equivalent", "version": "12.1", "label": "12.1", "title": "确保归档恢复结束时删除临时 WAL 文件和历史文件", "evidence": {"same_day": true, "patch_ids": ["eccec0a934f6b798a4ca948a6e5ed54f"], "statement_hash": "d9171030eaa0d655092fd4688db8b2e56f3529964d1e2d2c0b2c5e9b0624166d"}, "url": "/docs/compare/?release=12.1#12.1-0af630729a0e4453", "source_url": "/docs/release/12.1/#id-1.11.6.27.5"}, {"db_id": "c1828ccc97f9d3e0be5e49a6b93cf6f5", "kind": "equivalent", "version": "11.6", "label": "11.6", "title": "确保归档恢复结束时删除临时 WAL 文件和历史文件", "evidence": {"same_day": true, "patch_ids": ["eccec0a934f6b798a4ca948a6e5ed54f"], "statement_hash": "d9171030eaa0d655092fd4688db8b2e56f3529964d1e2d2c0b2c5e9b0624166d"}, "url": "/docs/compare/?release=11.6#11.6-f73cc40d1aa4eb11", "source_url": "/docs/release/11.6/#id-1.11.6.21.5"}, {"db_id": "0a3d67e35b576d9c2bd99c64ce426a2f", "kind": "equivalent", "version": "10.11", "label": "10.11", "title": "确保归档恢复结束时删除临时 WAL 文件和历史文件", "evidence": {"same_day": true, "patch_ids": ["eccec0a934f6b798a4ca948a6e5ed54f"], "statement_hash": "d9171030eaa0d655092fd4688db8b2e56f3529964d1e2d2c0b2c5e9b0624166d"}, "url": "/docs/compare/?release=10.11#10.11-f73cc40d1aa4eb11", "source_url": "/docs/release/10.11/#id-1.11.6.17.5"}, {"db_id": "c6f2ad7ebe26a63bb7848f935183d7e0", "kind": "equivalent", "version": "9.6.16", "label": "9.6.16", "title": "确保归档恢复结束时移除临时 WAL 和历史文件", "evidence": {"same_day": true, "patch_ids": ["eccec0a934f6b798a4ca948a6e5ed54f"], "statement_hash": "d9171030eaa0d655092fd4688db8b2e56f3529964d1e2d2c0b2c5e9b0624166d"}, "url": "/docs/compare/?release=9.6.16#9.6.16-2e3934bf7ad8cbc9", "source_url": "/docs/release/9.6.16/#id-1.11.6.13.5"}]}, {"id": "9.5.20-c5869d56fef3833b", "cves": [], "html": "<p>避免启用 <code>recovery_min_apply_delay</code> 时归档恢复的失败（Fujii Masao）</p>\n<p><code>recovery_min_apply_delay</code> 通常不用于这种配置，但它应当能工作。</p>", "text": "避免启用 recovery_min_apply_delay 时归档恢复的失败（Fujii Masao） recovery_min_apply_delay 通常不用于这种配置，但它应当能工作。", "title": "避免启用 recovery_min_apply_delay 时归档恢复的失败", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.5.20/#id-1.11.6.10.5", "source_hash": "1e6b5f70f58911715084729feed94fcd58bb0f0308850e2c09cc3970a114a4c8", "section_path": ["变更"], "commit_groups": [["14c59185b", "1b2ba8874", "579996bc2", "9dfbf9a04", "c455ee88c", "ec1259e88", "f7b70700b"]], "identity_text": "Avoid failure in archive recovery if recovery_min_apply_delay is enabled (Fujii Masao) recovery_min_apply_delay is not typically used in this configuration, but it should work.", "commit_aliases": ["14c59185b", "1b2ba8874", "579996bc2", "9dfbf9a04", "c455ee88c", "ec1259e88", "f7b70700b"], "source_commits": ["1b2ba8874"], "source_entry_id": "9.5.20/changes/013", "db_id": "2c676ad7ae5a140c73c5484e2a474f97", "patch_ids": ["e75885c6d2c42369afc35699bb66a795"], "statement_hash": "09f824fa7d7bbaa0a16df6a4623ac4b9ffa8763b9d5fa689d28fd9957afa50e8", "relations": [{"rule": 2, "type": "equivalent", "target": "5351f22144da31bd09273d698e148e9d", "evidence": {"same_day": true, "patch_ids": ["e75885c6d2c42369afc35699bb66a795"], "statement_hash": "09f824fa7d7bbaa0a16df6a4623ac4b9ffa8763b9d5fa689d28fd9957afa50e8"}}, {"rule": 2, "type": "equivalent", "target": "78eba3ce05625f4d39ef243ce787088e", "evidence": {"same_day": true, "patch_ids": ["e75885c6d2c42369afc35699bb66a795"], "statement_hash": "09f824fa7d7bbaa0a16df6a4623ac4b9ffa8763b9d5fa689d28fd9957afa50e8"}}, {"rule": 2, "type": "equivalent", "target": "86fe720617b772ba68ec054d99e2c4fb", "evidence": {"same_day": true, "patch_ids": ["e75885c6d2c42369afc35699bb66a795"], "statement_hash": "09f824fa7d7bbaa0a16df6a4623ac4b9ffa8763b9d5fa689d28fd9957afa50e8"}}, {"rule": 2, "type": "equivalent", "target": "fa558941bd8859034c26a7e06f232001", "evidence": {"same_day": true, "patch_ids": ["e75885c6d2c42369afc35699bb66a795"], "statement_hash": "09f824fa7d7bbaa0a16df6a4623ac4b9ffa8763b9d5fa689d28fd9957afa50e8"}}, {"rule": 2, "type": "equivalent", "target": "fd6bbf706f57582b1c80a0dc91d956ac", "evidence": {"same_day": true, "patch_ids": ["e75885c6d2c42369afc35699bb66a795"], "statement_hash": "09f824fa7d7bbaa0a16df6a4623ac4b9ffa8763b9d5fa689d28fd9957afa50e8"}}], "version": "9.5.20", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "fa558941bd8859034c26a7e06f232001", "kind": "equivalent", "version": "12.1", "label": "12.1", "title": "避免启用 recovery_min_apply_delay 时归档恢复发生失败", "evidence": {"same_day": true, "patch_ids": ["e75885c6d2c42369afc35699bb66a795"], "statement_hash": "09f824fa7d7bbaa0a16df6a4623ac4b9ffa8763b9d5fa689d28fd9957afa50e8"}, "url": "/docs/compare/?release=12.1#12.1-f78af228a28346b5", "source_url": "/docs/release/12.1/#id-1.11.6.27.5"}, {"db_id": "fd6bbf706f57582b1c80a0dc91d956ac", "kind": "equivalent", "version": "11.6", "label": "11.6", "title": "避免启用 recovery_min_apply_delay 时归档恢复发生失败", "evidence": {"same_day": true, "patch_ids": ["e75885c6d2c42369afc35699bb66a795"], "statement_hash": "09f824fa7d7bbaa0a16df6a4623ac4b9ffa8763b9d5fa689d28fd9957afa50e8"}, "url": "/docs/compare/?release=11.6#11.6-cd2c64147cc9cd78", "source_url": "/docs/release/11.6/#id-1.11.6.21.5"}, {"db_id": "86fe720617b772ba68ec054d99e2c4fb", "kind": "equivalent", "version": "10.11", "label": "10.11", "title": "避免启用 recovery_min_apply_delay 时归档恢复发生失败", "evidence": {"same_day": true, "patch_ids": ["e75885c6d2c42369afc35699bb66a795"], "statement_hash": "09f824fa7d7bbaa0a16df6a4623ac4b9ffa8763b9d5fa689d28fd9957afa50e8"}, "url": "/docs/compare/?release=10.11#10.11-cd2c64147cc9cd78", "source_url": "/docs/release/10.11/#id-1.11.6.17.5"}, {"db_id": "78eba3ce05625f4d39ef243ce787088e", "kind": "equivalent", "version": "9.6.16", "label": "9.6.16", "title": "避免启用 recovery_min_apply_delay 时归档恢复的失败", "evidence": {"same_day": true, "patch_ids": ["e75885c6d2c42369afc35699bb66a795"], "statement_hash": "09f824fa7d7bbaa0a16df6a4623ac4b9ffa8763b9d5fa689d28fd9957afa50e8"}, "url": "/docs/compare/?release=9.6.16#9.6.16-c5869d56fef3833b", "source_url": "/docs/release/9.6.16/#id-1.11.6.13.5"}, {"db_id": "5351f22144da31bd09273d698e148e9d", "kind": "equivalent", "version": "9.4.25", "label": "9.4.25", "title": "避免启用 recovery_min_apply_delay 时归档恢复的失败", "evidence": {"same_day": true, "patch_ids": ["e75885c6d2c42369afc35699bb66a795"], "statement_hash": "09f824fa7d7bbaa0a16df6a4623ac4b9ffa8763b9d5fa689d28fd9957afa50e8"}, "url": "/docs/compare/?release=9.4.25#9.4.25-c5869d56fef3833b", "source_url": "/docs/release/9.4.25/#id-1.11.6.6.6"}]}, {"id": "9.5.20-ff881244eee2a94e", "cves": [], "html": "<p>避免逻辑复制 walsender 关闭期间的不必要延迟（Craig Ringer、Álvaro Herrera）</p>", "text": "避免逻辑复制 walsender 关闭期间的不必要延迟（Craig Ringer、Álvaro Herrera）", "title": "避免逻辑复制 walsender 关闭期间的不必要延迟", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.5.20/#id-1.11.6.10.5", "source_hash": "39ada89efcd4c1066af22647c7f057ed0c4ccb2ce1c12ad025738d7d6ba6473b", "section_path": ["变更"], "commit_groups": [["0d9fcbada", "1391c13ce", "38ddeab13", "45e4067c0", "5f038991e", "abd5071d2", "b2ab06e02"]], "identity_text": "Avoid unwanted delay during shutdown of a logical replication walsender (Craig Ringer, Álvaro Herrera)", "commit_aliases": ["0d9fcbada", "1391c13ce", "38ddeab13", "45e4067c0", "5f038991e", "abd5071d2", "b2ab06e02"], "source_commits": ["b2ab06e02"], "source_entry_id": "9.5.20/changes/014", "db_id": "f69d528db1bdcb00d217b3b5a9ca45c0", "patch_ids": ["e55df08a6f9e29930aef6f293862575c"], "statement_hash": "9e7d15d882673512c3d1da08242816a71acc3100093a83564d9ded908580e8f6", "relations": [{"rule": 2, "type": "equivalent", "target": "09624a4b7d028d79469bd522109140be", "evidence": {"same_day": true, "patch_ids": ["e55df08a6f9e29930aef6f293862575c"], "statement_hash": "9e7d15d882673512c3d1da08242816a71acc3100093a83564d9ded908580e8f6"}}, {"rule": 2, "type": "equivalent", "target": "285efa4027b4403c87885822e031d662", "evidence": {"same_day": true, "patch_ids": ["e55df08a6f9e29930aef6f293862575c"], "statement_hash": "9e7d15d882673512c3d1da08242816a71acc3100093a83564d9ded908580e8f6"}}, {"rule": 2, "type": "equivalent", "target": "55db924fa4a72e2667fcd540c5f2ad31", "evidence": {"same_day": true, "patch_ids": ["e55df08a6f9e29930aef6f293862575c"], "statement_hash": "9e7d15d882673512c3d1da08242816a71acc3100093a83564d9ded908580e8f6"}}, {"rule": 2, "type": "equivalent", "target": "823d796e301349805ab4d2ac9acbc490", "evidence": {"same_day": true, "patch_ids": ["e55df08a6f9e29930aef6f293862575c"], "statement_hash": "9e7d15d882673512c3d1da08242816a71acc3100093a83564d9ded908580e8f6"}}, {"rule": 2, "type": "equivalent", "target": "9d38fb0ff879db91f1511d933dadcfd1", "evidence": {"same_day": true, "patch_ids": ["e55df08a6f9e29930aef6f293862575c"], "statement_hash": "9e7d15d882673512c3d1da08242816a71acc3100093a83564d9ded908580e8f6"}}], "version": "9.5.20", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "823d796e301349805ab4d2ac9acbc490", "kind": "equivalent", "version": "12.1", "label": "12.1", "title": "避免逻辑复制 WAL 发送进程关闭期间出现不必要的延迟", "evidence": {"same_day": true, "patch_ids": ["e55df08a6f9e29930aef6f293862575c"], "statement_hash": "9e7d15d882673512c3d1da08242816a71acc3100093a83564d9ded908580e8f6"}, "url": "/docs/compare/?release=12.1#12.1-9156f4650864dbe2", "source_url": "/docs/release/12.1/#id-1.11.6.27.5"}, {"db_id": "9d38fb0ff879db91f1511d933dadcfd1", "kind": "equivalent", "version": "11.6", "label": "11.6", "title": "避免逻辑复制 WAL 发送进程关闭期间出现不必要的延迟", "evidence": {"same_day": true, "patch_ids": ["e55df08a6f9e29930aef6f293862575c"], "statement_hash": "9e7d15d882673512c3d1da08242816a71acc3100093a83564d9ded908580e8f6"}, "url": "/docs/compare/?release=11.6#11.6-96d2529e0cf6e6a9", "source_url": "/docs/release/11.6/#id-1.11.6.21.5"}, {"db_id": "285efa4027b4403c87885822e031d662", "kind": "equivalent", "version": "10.11", "label": "10.11", "title": "避免逻辑复制 WAL 发送进程关闭期间出现不必要的延迟", "evidence": {"same_day": true, "patch_ids": ["e55df08a6f9e29930aef6f293862575c"], "statement_hash": "9e7d15d882673512c3d1da08242816a71acc3100093a83564d9ded908580e8f6"}, "url": "/docs/compare/?release=10.11#10.11-96d2529e0cf6e6a9", "source_url": "/docs/release/10.11/#id-1.11.6.17.5"}, {"db_id": "09624a4b7d028d79469bd522109140be", "kind": "equivalent", "version": "9.6.16", "label": "9.6.16", "title": "避免逻辑复制 walsender 关闭期间的不必要延迟", "evidence": {"same_day": true, "patch_ids": ["e55df08a6f9e29930aef6f293862575c"], "statement_hash": "9e7d15d882673512c3d1da08242816a71acc3100093a83564d9ded908580e8f6"}, "url": "/docs/compare/?release=9.6.16#9.6.16-ff881244eee2a94e", "source_url": "/docs/release/9.6.16/#id-1.11.6.13.5"}, {"db_id": "55db924fa4a72e2667fcd540c5f2ad31", "kind": "equivalent", "version": "9.4.25", "label": "9.4.25", "title": "避免逻辑复制 walsender 关闭期间的不必要延迟", "evidence": {"same_day": true, "patch_ids": ["e55df08a6f9e29930aef6f293862575c"], "statement_hash": "9e7d15d882673512c3d1da08242816a71acc3100093a83564d9ded908580e8f6"}, "url": "/docs/compare/?release=9.4.25#9.4.25-ff881244eee2a94e", "source_url": "/docs/release/9.4.25/#id-1.11.6.6.6"}]}, {"id": "9.5.20-390265d6d1c8be8e", "cves": [], "html": "<p>为逻辑解码正确地为复制消息打时间戳（Jeff Janes）</p>\n<p>这一疏漏导致例如 <code>pg_stat_subscription</code>.<code>last_msg_send_time</code> 通常读作 NULL。</p>", "text": "为逻辑解码正确地为复制消息打时间戳（Jeff Janes） 这一疏漏导致例如 pg_stat_subscription.last_msg_send_time 通常读作 NULL。", "title": "为逻辑解码正确地为复制消息打时间戳", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.5.20/#id-1.11.6.10.5", "source_hash": "77964884e5d4422f97f6d2af329940dc24d6d369458340e33dab5cc18fcb3a4b", "section_path": ["变更"], "commit_groups": [["15d90a02a", "16b43e091", "404d25f3c", "5f6b1eb0c", "9ae4bdadf", "cb6d7f985", "f7b0d0704"]], "identity_text": "Correctly time-stamp replication messages for logical decoding (Jeff Janes) This oversight resulted, for example, in pg_stat_subscription.last_msg_send_time usually reading as NULL.", "commit_aliases": ["15d90a02a", "16b43e091", "404d25f3c", "5f6b1eb0c", "9ae4bdadf", "cb6d7f985", "f7b0d0704"], "source_commits": ["404d25f3c"], "source_entry_id": "9.5.20/changes/015", "db_id": "3446fe6e4dee75dc2a6d3a7e1185dab1", "patch_ids": ["5b20656ac352ea2c7191a936062f6972"], "statement_hash": "c19a57cff82ca689249668b69a120e07040fa5792d96387c02e4fccd81d6d892", "relations": [{"rule": 2, "type": "equivalent", "target": "0b271fea6b0974ce6a01e39336dca929", "evidence": {"same_day": true, "patch_ids": ["5b20656ac352ea2c7191a936062f6972"], "statement_hash": "c19a57cff82ca689249668b69a120e07040fa5792d96387c02e4fccd81d6d892"}}, {"rule": 2, "type": "equivalent", "target": "162cf51033c717d6a9cc67ff386a5c57", "evidence": {"same_day": true, "patch_ids": ["5b20656ac352ea2c7191a936062f6972"], "statement_hash": "c19a57cff82ca689249668b69a120e07040fa5792d96387c02e4fccd81d6d892"}}, {"rule": 2, "type": "equivalent", "target": "3be07536ad9b2277d140c94c222b41c7", "evidence": {"same_day": true, "patch_ids": ["5b20656ac352ea2c7191a936062f6972"], "statement_hash": "c19a57cff82ca689249668b69a120e07040fa5792d96387c02e4fccd81d6d892"}}, {"rule": 2, "type": "equivalent", "target": "40cdffee03547d5befa5bcd7dabc89c3", "evidence": {"same_day": true, "patch_ids": ["5b20656ac352ea2c7191a936062f6972"], "statement_hash": "c19a57cff82ca689249668b69a120e07040fa5792d96387c02e4fccd81d6d892"}}, {"rule": 2, "type": "equivalent", "target": "7021c91f732261c9b0c2649153458065", "evidence": {"same_day": true, "patch_ids": ["5b20656ac352ea2c7191a936062f6972"], "statement_hash": "c19a57cff82ca689249668b69a120e07040fa5792d96387c02e4fccd81d6d892"}}], "version": "9.5.20", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "3be07536ad9b2277d140c94c222b41c7", "kind": "equivalent", "version": "12.1", "label": "12.1", "title": "为逻辑解码的复制消息正确添加时间戳", "evidence": {"same_day": true, "patch_ids": ["5b20656ac352ea2c7191a936062f6972"], "statement_hash": "c19a57cff82ca689249668b69a120e07040fa5792d96387c02e4fccd81d6d892"}, "url": "/docs/compare/?release=12.1#12.1-54e8617fa635fc6d", "source_url": "/docs/release/12.1/#id-1.11.6.27.5"}, {"db_id": "40cdffee03547d5befa5bcd7dabc89c3", "kind": "equivalent", "version": "11.6", "label": "11.6", "title": "为逻辑解码的复制消息正确添加时间戳", "evidence": {"same_day": true, "patch_ids": ["5b20656ac352ea2c7191a936062f6972"], "statement_hash": "c19a57cff82ca689249668b69a120e07040fa5792d96387c02e4fccd81d6d892"}, "url": "/docs/compare/?release=11.6#11.6-e731126d1ce9f26f", "source_url": "/docs/release/11.6/#id-1.11.6.21.5"}, {"db_id": "162cf51033c717d6a9cc67ff386a5c57", "kind": "equivalent", "version": "10.11", "label": "10.11", "title": "为逻辑解码的复制消息正确添加时间戳", "evidence": {"same_day": true, "patch_ids": ["5b20656ac352ea2c7191a936062f6972"], "statement_hash": "c19a57cff82ca689249668b69a120e07040fa5792d96387c02e4fccd81d6d892"}, "url": "/docs/compare/?release=10.11#10.11-e731126d1ce9f26f", "source_url": "/docs/release/10.11/#id-1.11.6.17.5"}, {"db_id": "0b271fea6b0974ce6a01e39336dca929", "kind": "equivalent", "version": "9.6.16", "label": "9.6.16", "title": "为逻辑解码正确地为复制消息打时间戳", "evidence": {"same_day": true, "patch_ids": ["5b20656ac352ea2c7191a936062f6972"], "statement_hash": "c19a57cff82ca689249668b69a120e07040fa5792d96387c02e4fccd81d6d892"}, "url": "/docs/compare/?release=9.6.16#9.6.16-390265d6d1c8be8e", "source_url": "/docs/release/9.6.16/#id-1.11.6.13.5"}, {"db_id": "7021c91f732261c9b0c2649153458065", "kind": "equivalent", "version": "9.4.25", "label": "9.4.25", "title": "为逻辑解码正确地为复制消息打时间戳", "evidence": {"same_day": true, "patch_ids": ["5b20656ac352ea2c7191a936062f6972"], "statement_hash": "c19a57cff82ca689249668b69a120e07040fa5792d96387c02e4fccd81d6d892"}, "url": "/docs/compare/?release=9.4.25#9.4.25-390265d6d1c8be8e", "source_url": "/docs/release/9.4.25/#id-1.11.6.6.6"}]}, {"id": "9.5.20-c0f9e78e155a0a24", "cves": [], "html": "<p>在逻辑解码中，确保重建快照时正确统计子事务（Masahiko Sawada）</p>\n<p>这个错误导致断言失败；生产构建中是否存在不良影响尚不清楚。</p>", "text": "在逻辑解码中，确保重建快照时正确统计子事务（Masahiko Sawada） 这个错误导致断言失败；生产构建中是否存在不良影响尚不清楚。", "title": "在逻辑解码中，确保重建快照时正确统计子事务", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.5.20/#id-1.11.6.10.5", "source_hash": "e863bca5d99e1fa12bfeefb9cab1242196fdbd5c1b039223829f68094dc94b56", "section_path": ["变更"], "commit_groups": [["41f3d2626", "4f7dbf0ef", "7110f5c37", "96b5033e1", "ae4305f6d", "bac2fae05", "e8c7f40a1"]], "identity_text": "In logical decoding, ensure that sub-transactions are correctly accounted for when reconstructing a snapshot (Masahiko Sawada) This error leads to assertion failures; it's unclear whether any bad effects exist in production builds.", "commit_aliases": ["41f3d2626", "4f7dbf0ef", "7110f5c37", "96b5033e1", "ae4305f6d", "bac2fae05", "e8c7f40a1"], "source_commits": ["7110f5c37"], "source_entry_id": "9.5.20/changes/016", "db_id": "89557742c12809d014ad8c2b12d791fc", "patch_ids": ["fedd14b16b61b06734d4f9b28bfc73c9"], "statement_hash": "f92c06454d4721287e52c538bb94202f5d912046aa15d37effc654899bd7b877", "relations": [{"rule": 2, "type": "equivalent", "target": "308e8ab67fc3974e5084f6aaa6b32c05", "evidence": {"same_day": true, "patch_ids": ["fedd14b16b61b06734d4f9b28bfc73c9"], "statement_hash": "f92c06454d4721287e52c538bb94202f5d912046aa15d37effc654899bd7b877"}}, {"rule": 2, "type": "equivalent", "target": "847bd0659d336f51389845f32708b1d5", "evidence": {"same_day": true, "patch_ids": ["fedd14b16b61b06734d4f9b28bfc73c9"], "statement_hash": "f92c06454d4721287e52c538bb94202f5d912046aa15d37effc654899bd7b877"}}, {"rule": 2, "type": "equivalent", "target": "b086d67e28041e0fc0f494c505cb6831", "evidence": {"same_day": true, "patch_ids": ["fedd14b16b61b06734d4f9b28bfc73c9"], "statement_hash": "f92c06454d4721287e52c538bb94202f5d912046aa15d37effc654899bd7b877"}}, {"rule": 2, "type": "equivalent", "target": "c07a34db8f6cc31294fe8e4cb76242d0", "evidence": {"same_day": true, "patch_ids": ["fedd14b16b61b06734d4f9b28bfc73c9"], "statement_hash": "f92c06454d4721287e52c538bb94202f5d912046aa15d37effc654899bd7b877"}}], "version": "9.5.20", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "b086d67e28041e0fc0f494c505cb6831", "kind": "equivalent", "version": "11.6", "label": "11.6", "title": "在逻辑解码中，确保重建快照时正确计入子事务", "evidence": {"same_day": true, "patch_ids": ["fedd14b16b61b06734d4f9b28bfc73c9"], "statement_hash": "f92c06454d4721287e52c538bb94202f5d912046aa15d37effc654899bd7b877"}, "url": "/docs/compare/?release=11.6#11.6-e6213fa8ca33072b", "source_url": "/docs/release/11.6/#id-1.11.6.21.5"}, {"db_id": "c07a34db8f6cc31294fe8e4cb76242d0", "kind": "equivalent", "version": "10.11", "label": "10.11", "title": "在逻辑解码中，确保重建快照时正确计入子事务", "evidence": {"same_day": true, "patch_ids": ["fedd14b16b61b06734d4f9b28bfc73c9"], "statement_hash": "f92c06454d4721287e52c538bb94202f5d912046aa15d37effc654899bd7b877"}, "url": "/docs/compare/?release=10.11#10.11-e6213fa8ca33072b", "source_url": "/docs/release/10.11/#id-1.11.6.17.5"}, {"db_id": "308e8ab67fc3974e5084f6aaa6b32c05", "kind": "equivalent", "version": "9.6.16", "label": "9.6.16", "title": "在逻辑解码中，确保重建快照时正确统计子事务", "evidence": {"same_day": true, "patch_ids": ["fedd14b16b61b06734d4f9b28bfc73c9"], "statement_hash": "f92c06454d4721287e52c538bb94202f5d912046aa15d37effc654899bd7b877"}, "url": "/docs/compare/?release=9.6.16#9.6.16-c0f9e78e155a0a24", "source_url": "/docs/release/9.6.16/#id-1.11.6.13.5"}, {"db_id": "847bd0659d336f51389845f32708b1d5", "kind": "equivalent", "version": "9.4.25", "label": "9.4.25", "title": "在逻辑解码中，确保重建快照时正确统计子事务", "evidence": {"same_day": true, "patch_ids": ["fedd14b16b61b06734d4f9b28bfc73c9"], "statement_hash": "f92c06454d4721287e52c538bb94202f5d912046aa15d37effc654899bd7b877"}, "url": "/docs/compare/?release=9.4.25#9.4.25-c0f9e78e155a0a24", "source_url": "/docs/release/9.4.25/#id-1.11.6.6.6"}]}, {"id": "9.5.20-701e4597a418336c", "cves": [], "html": "<p>修复后端进程此前等待过同步复制时，后端退出期间的竞态条件（Dongming Liu）</p>", "text": "修复后端进程此前等待过同步复制时，后端退出期间的竞态条件（Dongming Liu）", "title": "修复后端进程此前等待过同步复制时，后端退出期间的竞态条件", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.5.20/#id-1.11.6.10.5", "source_hash": "c8b5e913b7f89a5d1b3c05235b26dd9508078b396430feef4e73ef5cf7cfbfcc", "section_path": ["变更"], "commit_groups": [["0927d0c25", "20345197f", "52684bc7d", "61f238392", "7b8c2de64", "b99bfc3c9", "f88f7206e"]], "identity_text": "Fix race condition during backend exit, when the backend process has previously waited for synchronous replication to occur (Dongming Liu)", "commit_aliases": ["0927d0c25", "20345197f", "52684bc7d", "61f238392", "7b8c2de64", "b99bfc3c9", "f88f7206e"], "source_commits": ["0927d0c25"], "source_entry_id": "9.5.20/changes/017", "db_id": "252e3bebcac161cd2a788bee45dbbf68", "patch_ids": ["4b3ea7c4276af2c59b503f7435657beb"], "statement_hash": "3789d1d50180cb6be08ab86cf5c8349bfd117d62b04c3ab06b7281c5e26eebc1", "relations": [{"rule": 2, "type": "equivalent", "target": "31c3805880f27375b26c15d27836bd54", "evidence": {"same_day": true, "patch_ids": ["4b3ea7c4276af2c59b503f7435657beb"], "statement_hash": "3789d1d50180cb6be08ab86cf5c8349bfd117d62b04c3ab06b7281c5e26eebc1"}}, {"rule": 2, "type": "equivalent", "target": "4e314055a876588ca9d12be8b3c839e6", "evidence": {"same_day": true, "patch_ids": ["4b3ea7c4276af2c59b503f7435657beb"], "statement_hash": "3789d1d50180cb6be08ab86cf5c8349bfd117d62b04c3ab06b7281c5e26eebc1"}}, {"rule": 2, "type": "equivalent", "target": "8cc965a6c7b1379876e047ae6dbdc5a6", "evidence": {"same_day": true, "patch_ids": ["4b3ea7c4276af2c59b503f7435657beb"], "statement_hash": "3789d1d50180cb6be08ab86cf5c8349bfd117d62b04c3ab06b7281c5e26eebc1"}}, {"rule": 2, "type": "equivalent", "target": "a01ee12cafc2d030088ea21e537886ee", "evidence": {"same_day": true, "patch_ids": ["4b3ea7c4276af2c59b503f7435657beb"], "statement_hash": "3789d1d50180cb6be08ab86cf5c8349bfd117d62b04c3ab06b7281c5e26eebc1"}}, {"rule": 2, "type": "equivalent", "target": "eb3c8ddca3d37c6b609a8844f3b368ad", "evidence": {"same_day": true, "patch_ids": ["4b3ea7c4276af2c59b503f7435657beb"], "statement_hash": "3789d1d50180cb6be08ab86cf5c8349bfd117d62b04c3ab06b7281c5e26eebc1"}}], "version": "9.5.20", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "a01ee12cafc2d030088ea21e537886ee", "kind": "equivalent", "version": "12.1", "label": "12.1", "title": "修复后端进程此前曾等待同步复制时，在退出期间发生的竞争条件", "evidence": {"same_day": true, "patch_ids": ["4b3ea7c4276af2c59b503f7435657beb"], "statement_hash": "3789d1d50180cb6be08ab86cf5c8349bfd117d62b04c3ab06b7281c5e26eebc1"}, "url": "/docs/compare/?release=12.1#12.1-6c90cfa8ba825249", "source_url": "/docs/release/12.1/#id-1.11.6.27.5"}, {"db_id": "eb3c8ddca3d37c6b609a8844f3b368ad", "kind": "equivalent", "version": "11.6", "label": "11.6", "title": "修复后端进程此前曾等待同步复制时，在退出期间发生的竞争条件", "evidence": {"same_day": true, "patch_ids": ["4b3ea7c4276af2c59b503f7435657beb"], "statement_hash": "3789d1d50180cb6be08ab86cf5c8349bfd117d62b04c3ab06b7281c5e26eebc1"}, "url": "/docs/compare/?release=11.6#11.6-90492db584c32535", "source_url": "/docs/release/11.6/#id-1.11.6.21.5"}, {"db_id": "8cc965a6c7b1379876e047ae6dbdc5a6", "kind": "equivalent", "version": "10.11", "label": "10.11", "title": "修复后端进程此前曾等待同步复制时，在退出期间发生的竞争条件", "evidence": {"same_day": true, "patch_ids": ["4b3ea7c4276af2c59b503f7435657beb"], "statement_hash": "3789d1d50180cb6be08ab86cf5c8349bfd117d62b04c3ab06b7281c5e26eebc1"}, "url": "/docs/compare/?release=10.11#10.11-90492db584c32535", "source_url": "/docs/release/10.11/#id-1.11.6.17.5"}, {"db_id": "31c3805880f27375b26c15d27836bd54", "kind": "equivalent", "version": "9.6.16", "label": "9.6.16", "title": "修复后端进程此前等待过同步复制时，后端退出期间的竞态条件", "evidence": {"same_day": true, "patch_ids": ["4b3ea7c4276af2c59b503f7435657beb"], "statement_hash": "3789d1d50180cb6be08ab86cf5c8349bfd117d62b04c3ab06b7281c5e26eebc1"}, "url": "/docs/compare/?release=9.6.16#9.6.16-701e4597a418336c", "source_url": "/docs/release/9.6.16/#id-1.11.6.13.5"}, {"db_id": "4e314055a876588ca9d12be8b3c839e6", "kind": "equivalent", "version": "9.4.25", "label": "9.4.25", "title": "修复后端进程此前等待过同步复制时，后端退出期间的竞态条件", "evidence": {"same_day": true, "patch_ids": ["4b3ea7c4276af2c59b503f7435657beb"], "statement_hash": "3789d1d50180cb6be08ab86cf5c8349bfd117d62b04c3ab06b7281c5e26eebc1"}, "url": "/docs/compare/?release=9.4.25#9.4.25-701e4597a418336c", "source_url": "/docs/release/9.4.25/#id-1.11.6.6.6"}]}, {"id": "9.5.20-7407dd7fbeb52597", "cves": [], "html": "<p>修复 <code>ALTER SYSTEM</code> 应对 <code>postgresql.auto.conf</code> 中重复条目的问题（Ian Barwick）</p>\n<p><code>ALTER SYSTEM</code> 本身不会产生这种状态，但修改 <code>postgresql.auto.conf</code> 的外部工具可能这样做。目标变量的重复条目现在会被移除，然后新的设置（如果有）会被追加到末尾。</p>", "text": "修复 ALTER SYSTEM 应对 postgresql.auto.conf 中重复条目的问题（Ian Barwick） ALTER SYSTEM 本身不会产生这种状态，但修改 postgresql.auto.conf 的外部工具可能这样做。目标变量的重复条目现在会被移除，然后新的设置（如果有）会被追加到末尾。", "title": "修复 ALTER SYSTEM 应对 postgresql.auto.conf 中重复条目的问题", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.5.20/#id-1.11.6.10.5", "source_hash": "2a758441d4ca035442b55f78b8e4654b9a7cf4d655b4398b9b5680e63a524fe1", "section_path": ["变更"], "commit_groups": [["29f9b1819", "32d38f54a", "4784ad7a3", "75b2f011f", "a4b0d955b", "f1bf619ac", "f8c9a0852"]], "identity_text": "Fix ALTER SYSTEM to cope with duplicate entries in postgresql.auto.conf (Ian Barwick) ALTER SYSTEM itself will not generate such a state, but external tools that modify postgresql.auto.conf could do so. Duplicate entries for the target variable will now be removed, and then the new setting (if any) will be appended at the end.", "commit_aliases": ["29f9b1819", "32d38f54a", "4784ad7a3", "75b2f011f", "a4b0d955b", "f1bf619ac", "f8c9a0852"], "source_commits": ["29f9b1819"], "source_entry_id": "9.5.20/changes/018", "db_id": "d0ec309fbaeba9135750d492714772f3", "patch_ids": ["4130a27c8c81a139d7d50dc89d86da9c"], "statement_hash": "a3d02dbbda8e973f29cd2dda38b81e6f0190dedd02d6cd11722c5a069c7693d4", "relations": [{"rule": 2, "type": "equivalent", "target": "81a62b06a830c80c290b748a7b7cfa8b", "evidence": {"same_day": true, "patch_ids": ["4130a27c8c81a139d7d50dc89d86da9c"], "statement_hash": "a3d02dbbda8e973f29cd2dda38b81e6f0190dedd02d6cd11722c5a069c7693d4"}}, {"rule": 2, "type": "equivalent", "target": "991531246f99e1c57bcd18d6734f3068", "evidence": {"same_day": true, "patch_ids": ["4130a27c8c81a139d7d50dc89d86da9c"], "statement_hash": "a3d02dbbda8e973f29cd2dda38b81e6f0190dedd02d6cd11722c5a069c7693d4"}}, {"rule": 2, "type": "equivalent", "target": "b6ab242f7102e93a778f875231d85b27", "evidence": {"same_day": true, "patch_ids": ["4130a27c8c81a139d7d50dc89d86da9c"], "statement_hash": "a3d02dbbda8e973f29cd2dda38b81e6f0190dedd02d6cd11722c5a069c7693d4"}}, {"rule": 2, "type": "equivalent", "target": "d6798e4c7347c23429f678916a94b88a", "evidence": {"same_day": true, "patch_ids": ["4130a27c8c81a139d7d50dc89d86da9c"], "statement_hash": "a3d02dbbda8e973f29cd2dda38b81e6f0190dedd02d6cd11722c5a069c7693d4"}}], "version": "9.5.20", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "b6ab242f7102e93a778f875231d85b27", "kind": "equivalent", "version": "11.6", "label": "11.6", "title": "修复 ALTER SYSTEM，使其能够处理 postgresql.auto.conf 中的重复条目", "evidence": {"same_day": true, "patch_ids": ["4130a27c8c81a139d7d50dc89d86da9c"], "statement_hash": "a3d02dbbda8e973f29cd2dda38b81e6f0190dedd02d6cd11722c5a069c7693d4"}, "url": "/docs/compare/?release=11.6#11.6-b0d383bc14e21f0e", "source_url": "/docs/release/11.6/#id-1.11.6.21.5"}, {"db_id": "991531246f99e1c57bcd18d6734f3068", "kind": "equivalent", "version": "10.11", "label": "10.11", "title": "修复 ALTER SYSTEM，使其能够处理 postgresql.auto.conf 中的重复条目", "evidence": {"same_day": true, "patch_ids": ["4130a27c8c81a139d7d50dc89d86da9c"], "statement_hash": "a3d02dbbda8e973f29cd2dda38b81e6f0190dedd02d6cd11722c5a069c7693d4"}, "url": "/docs/compare/?release=10.11#10.11-b0d383bc14e21f0e", "source_url": "/docs/release/10.11/#id-1.11.6.17.5"}, {"db_id": "81a62b06a830c80c290b748a7b7cfa8b", "kind": "equivalent", "version": "9.6.16", "label": "9.6.16", "title": "修复 ALTER SYSTEM 应对 postgresql.auto.conf 中重复条目的问题", "evidence": {"same_day": true, "patch_ids": ["4130a27c8c81a139d7d50dc89d86da9c"], "statement_hash": "a3d02dbbda8e973f29cd2dda38b81e6f0190dedd02d6cd11722c5a069c7693d4"}, "url": "/docs/compare/?release=9.6.16#9.6.16-7407dd7fbeb52597", "source_url": "/docs/release/9.6.16/#id-1.11.6.13.5"}, {"db_id": "d6798e4c7347c23429f678916a94b88a", "kind": "equivalent", "version": "9.4.25", "label": "9.4.25", "title": "修复 ALTER SYSTEM 应对 postgresql.auto.conf 中重复条目的问题", "evidence": {"same_day": true, "patch_ids": ["4130a27c8c81a139d7d50dc89d86da9c"], "statement_hash": "a3d02dbbda8e973f29cd2dda38b81e6f0190dedd02d6cd11722c5a069c7693d4"}, "url": "/docs/compare/?release=9.4.25#9.4.25-7407dd7fbeb52597", "source_url": "/docs/release/9.4.25/#id-1.11.6.6.6"}]}, {"id": "9.5.20-eb58c26f6ad1d5b0", "cves": [], "html": "<p>拒绝配置文件中文件名为空的 include 指令，并更清晰地报告 include 文件递归（Ian Barwick、Tom Lane）</p>", "text": "拒绝配置文件中文件名为空的 include 指令，并更清晰地报告 include 文件递归（Ian Barwick、Tom Lane）", "title": "拒绝配置文件中文件名为空的 include 指令，并更清晰地报告 include 文件递归", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.5.20/#id-1.11.6.10.5", "source_hash": "e1a41477025cfc24f04a1801dd3e2af4bfdc581778b4031f9e23f83f6bded0e8", "section_path": ["变更"], "commit_groups": [["1510339dc", "465f4ddda", "6e4213056", "771e12701", "cf86803e8", "ef47d284d"]], "identity_text": "Reject include directives with empty file names in configuration files, and report include-file recursion more clearly (Ian Barwick, Tom Lane)", "commit_aliases": ["1510339dc", "465f4ddda", "6e4213056", "771e12701", "cf86803e8", "ef47d284d"], "source_commits": ["ef47d284d"], "source_entry_id": "9.5.20/changes/019", "db_id": "2228898cbfe8ff27e54af609d8923929", "patch_ids": ["b1ab1771abebbffd248387d89fd9be4e"], "statement_hash": "dd24813d3758cc9b0763c2f0e15cbda4052319cd0e9146f78076998acdee3778", "relations": [{"rule": 2, "type": "equivalent", "target": "4fb4259b82a1263b4b5bcd7794fc9ac2", "evidence": {"same_day": true, "patch_ids": ["b1ab1771abebbffd248387d89fd9be4e"], "statement_hash": "dd24813d3758cc9b0763c2f0e15cbda4052319cd0e9146f78076998acdee3778"}}, {"rule": 2, "type": "equivalent", "target": "5dfb77aae958b19f48ceea475d0bc17a", "evidence": {"same_day": true, "patch_ids": ["b1ab1771abebbffd248387d89fd9be4e"], "statement_hash": "dd24813d3758cc9b0763c2f0e15cbda4052319cd0e9146f78076998acdee3778"}}, {"rule": 2, "type": "equivalent", "target": "c104430dc4d2562ddfd4f99d4080716e", "evidence": {"same_day": true, "patch_ids": ["b1ab1771abebbffd248387d89fd9be4e"], "statement_hash": "dd24813d3758cc9b0763c2f0e15cbda4052319cd0e9146f78076998acdee3778"}}], "version": "9.5.20", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "4fb4259b82a1263b4b5bcd7794fc9ac2", "kind": "equivalent", "version": "11.6", "label": "11.6", "title": "拒绝配置文件中包含空文件名的 include 指令，并更清楚地报告包含文件递归的问题", "evidence": {"same_day": true, "patch_ids": ["b1ab1771abebbffd248387d89fd9be4e"], "statement_hash": "dd24813d3758cc9b0763c2f0e15cbda4052319cd0e9146f78076998acdee3778"}, "url": "/docs/compare/?release=11.6#11.6-3c02e9168bbfd425", "source_url": "/docs/release/11.6/#id-1.11.6.21.5"}, {"db_id": "5dfb77aae958b19f48ceea475d0bc17a", "kind": "equivalent", "version": "10.11", "label": "10.11", "title": "拒绝配置文件中包含空文件名的 include 指令，并更清楚地报告包含文件递归的问题", "evidence": {"same_day": true, "patch_ids": ["b1ab1771abebbffd248387d89fd9be4e"], "statement_hash": "dd24813d3758cc9b0763c2f0e15cbda4052319cd0e9146f78076998acdee3778"}, "url": "/docs/compare/?release=10.11#10.11-3c02e9168bbfd425", "source_url": "/docs/release/10.11/#id-1.11.6.17.5"}, {"db_id": "c104430dc4d2562ddfd4f99d4080716e", "kind": "equivalent", "version": "9.6.16", "label": "9.6.16", "title": "拒绝配置文件中文件名为空的 include 指令，并更清晰地报告 include 文件递归", "evidence": {"same_day": true, "patch_ids": ["b1ab1771abebbffd248387d89fd9be4e"], "statement_hash": "dd24813d3758cc9b0763c2f0e15cbda4052319cd0e9146f78076998acdee3778"}, "url": "/docs/compare/?release=9.6.16#9.6.16-eb58c26f6ad1d5b0", "source_url": "/docs/release/9.6.16/#id-1.11.6.13.5"}]}, {"id": "9.5.20-677495fe8337b66f", "cves": [], "html": "<p>避免使用 PAM 认证时记录关于废弃连接的抱怨（Tom Lane）</p>\n<p>基于 libpq 的客户端在需要密码时通常会做两次连接尝试，因为它们直到第一次连接尝试失败才提示用户输入密码。因此服务器的编码被设计成当客户端在被要求输入密码时关闭连接不产生无用的日志垃圾。然而 PAM 认证代码没有收到这份备忘，会生成几条关于幻影认证失败的消息。</p>", "text": "避免使用 PAM 认证时记录关于废弃连接的抱怨（Tom Lane） 基于 libpq 的客户端在需要密码时通常会做两次连接尝试，因为它们直到第一次连接尝试失败才提示用户输入密码。因此服务器的编码被设计成当客户端在被要求输入密码时关闭连接不产生无用的日志垃圾。然而 PAM 认证代码没有收到这份备忘，会生成几条关于幻影认证失败的消息。", "title": "避免使用 PAM 认证时记录关于废弃连接的抱怨", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.5.20/#id-1.11.6.10.5", "source_hash": "7749524f22a0094de543bed8c7abd281565515d514c903fcef856348e6b2d0ab", "section_path": ["变更"], "commit_groups": [["0238a5028", "383602f9a", "3affe76ef", "762b25653", "970372037", "97ddc47b9", "f9bd3b6d9"]], "identity_text": "Avoid logging complaints about abandoned connections when using PAM authentication (Tom Lane) libpq-based clients will typically make two connection attempts when a password is required, since they don't prompt their user for a password until their first connection attempt fails. Therefore the server is coded not to generate useless log spam when a client closes the connection upon being asked for a password. However, the PAM authentication code hadn't gotten that memo, and would generate several messages about a phantom authentication failure.", "commit_aliases": ["0238a5028", "383602f9a", "3affe76ef", "762b25653", "970372037", "97ddc47b9", "f9bd3b6d9"], "source_commits": ["970372037"], "source_entry_id": "9.5.20/changes/020", "db_id": "21738c6288ddbe93871d642b6a7eab9a", "patch_ids": ["9e1aa7a240466d5c5bfb5b1b5fe5c0ad"], "statement_hash": "f7c9739fb7a42f1d1dc795c7b7b8fc2774be6248f728701017feabfd341abb64", "relations": [{"rule": 2, "type": "equivalent", "target": "2cdbc623a7314338e7308414a6d64af8", "evidence": {"same_day": true, "patch_ids": ["9e1aa7a240466d5c5bfb5b1b5fe5c0ad"], "statement_hash": "f7c9739fb7a42f1d1dc795c7b7b8fc2774be6248f728701017feabfd341abb64"}}, {"rule": 2, "type": "equivalent", "target": "4e3562f65e838457039869a2ea8d4f43", "evidence": {"same_day": true, "patch_ids": ["9e1aa7a240466d5c5bfb5b1b5fe5c0ad"], "statement_hash": "f7c9739fb7a42f1d1dc795c7b7b8fc2774be6248f728701017feabfd341abb64"}}, {"rule": 2, "type": "equivalent", "target": "649b888ac67da1c428bc4a931c4d7a3a", "evidence": {"same_day": true, "patch_ids": ["9e1aa7a240466d5c5bfb5b1b5fe5c0ad"], "statement_hash": "f7c9739fb7a42f1d1dc795c7b7b8fc2774be6248f728701017feabfd341abb64"}}, {"rule": 2, "type": "equivalent", "target": "ab75a00c1d4c744db8203ddd46fc32dc", "evidence": {"same_day": true, "patch_ids": ["9e1aa7a240466d5c5bfb5b1b5fe5c0ad"], "statement_hash": "f7c9739fb7a42f1d1dc795c7b7b8fc2774be6248f728701017feabfd341abb64"}}, {"rule": 2, "type": "equivalent", "target": "fddc39c7b2ccc6541d31f1838c6c31b6", "evidence": {"same_day": true, "patch_ids": ["9e1aa7a240466d5c5bfb5b1b5fe5c0ad"], "statement_hash": "f7c9739fb7a42f1d1dc795c7b7b8fc2774be6248f728701017feabfd341abb64"}}], "version": "9.5.20", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "4e3562f65e838457039869a2ea8d4f43", "kind": "equivalent", "version": "12.1", "label": "12.1", "title": "避免在使用 PAM 认证时记录有关已放弃连接的报错消息", "evidence": {"same_day": true, "patch_ids": ["9e1aa7a240466d5c5bfb5b1b5fe5c0ad"], "statement_hash": "f7c9739fb7a42f1d1dc795c7b7b8fc2774be6248f728701017feabfd341abb64"}, "url": "/docs/compare/?release=12.1#12.1-a58f485526548a94", "source_url": "/docs/release/12.1/#id-1.11.6.27.5"}, {"db_id": "2cdbc623a7314338e7308414a6d64af8", "kind": "equivalent", "version": "11.6", "label": "11.6", "title": "避免在使用 PAM 认证时记录有关已放弃连接的报错消息", "evidence": {"same_day": true, "patch_ids": ["9e1aa7a240466d5c5bfb5b1b5fe5c0ad"], "statement_hash": "f7c9739fb7a42f1d1dc795c7b7b8fc2774be6248f728701017feabfd341abb64"}, "url": "/docs/compare/?release=11.6#11.6-c2b91157b41e84cc", "source_url": "/docs/release/11.6/#id-1.11.6.21.5"}, {"db_id": "ab75a00c1d4c744db8203ddd46fc32dc", "kind": "equivalent", "version": "10.11", "label": "10.11", "title": "避免在使用 PAM 认证时记录有关已放弃连接的报错消息", "evidence": {"same_day": true, "patch_ids": ["9e1aa7a240466d5c5bfb5b1b5fe5c0ad"], "statement_hash": "f7c9739fb7a42f1d1dc795c7b7b8fc2774be6248f728701017feabfd341abb64"}, "url": "/docs/compare/?release=10.11#10.11-c2b91157b41e84cc", "source_url": "/docs/release/10.11/#id-1.11.6.17.5"}, {"db_id": "fddc39c7b2ccc6541d31f1838c6c31b6", "kind": "equivalent", "version": "9.6.16", "label": "9.6.16", "title": "避免使用 PAM 认证时记录关于废弃连接的抱怨", "evidence": {"same_day": true, "patch_ids": ["9e1aa7a240466d5c5bfb5b1b5fe5c0ad"], "statement_hash": "f7c9739fb7a42f1d1dc795c7b7b8fc2774be6248f728701017feabfd341abb64"}, "url": "/docs/compare/?release=9.6.16#9.6.16-677495fe8337b66f", "source_url": "/docs/release/9.6.16/#id-1.11.6.13.5"}, {"db_id": "649b888ac67da1c428bc4a931c4d7a3a", "kind": "equivalent", "version": "9.4.25", "label": "9.4.25", "title": "避免使用 PAM 认证时记录关于废弃连接的抱怨", "evidence": {"same_day": true, "patch_ids": ["9e1aa7a240466d5c5bfb5b1b5fe5c0ad"], "statement_hash": "f7c9739fb7a42f1d1dc795c7b7b8fc2774be6248f728701017feabfd341abb64"}, "url": "/docs/compare/?release=9.4.25#9.4.25-677495fe8337b66f", "source_url": "/docs/release/9.4.25/#id-1.11.6.6.6"}]}, {"id": "9.5.20-8062d2f5ee2716d1", "cves": [], "html": "<p>修复 <code>time with time zone</code> 输入中某些未检测到不完整日期规格的情况（Alexander Lakhin）</p>\n<p>如果指定的时区 UTC 偏移量随时间变化，那么也必须指定日期才能解析偏移量。根据所用的语法，这一检查在某些情况下未被强制执行，允许产生虚假输出。</p>", "text": "修复 time with time zone 输入中某些未检测到不完整日期规格的情况（Alexander Lakhin） 如果指定的时区 UTC 偏移量随时间变化，那么也必须指定日期才能解析偏移量。根据所用的语法，这一检查在某些情况下未被强制执行，允许产生虚假输出。", "title": "修复 time with time zone 输入中某些未检测到不完整日期规格的情况", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.5.20/#id-1.11.6.10.5", "source_hash": "c5e0a07bd5c21d8a6593abab8f24e9f69fd8b20129849a240a514e5cd71ed0cf", "section_path": ["变更"], "commit_groups": [["1ba4d0fe4", "1de3e0589", "1f7943698", "64579be64", "7c64a2cd9", "d16d241a5", "d8652ec55"]], "identity_text": "Fix some cases where an incomplete date specification is not detected in time with time zone input (Alexander Lakhin) If a time zone with a time-varying UTC offset is specified, then a date must be as well, so that the offset can be resolved. Depending on the syntax used, this check was not enforced in some cases, allowing bogus output to be produced.", "commit_aliases": ["1ba4d0fe4", "1de3e0589", "1f7943698", "64579be64", "7c64a2cd9", "d16d241a5", "d8652ec55"], "source_commits": ["1de3e0589"], "source_entry_id": "9.5.20/changes/021", "db_id": "79937d972cd7886d0feafdfde64f0c08", "patch_ids": ["60b8906e95f2b04ca4609706bcd142e7"], "statement_hash": "8a5ba70e7778132d1f23c29ec28daa30ca990282407e3208cceff830bdab2177", "relations": [{"rule": 2, "type": "equivalent", "target": "2a9e62be3ffc7276d860702b4081ff5c", "evidence": {"same_day": true, "patch_ids": ["60b8906e95f2b04ca4609706bcd142e7"], "statement_hash": "8a5ba70e7778132d1f23c29ec28daa30ca990282407e3208cceff830bdab2177"}}, {"rule": 2, "type": "equivalent", "target": "2bfe1ef2301830504e90b8803a43ae0e", "evidence": {"same_day": true, "patch_ids": ["60b8906e95f2b04ca4609706bcd142e7"], "statement_hash": "8a5ba70e7778132d1f23c29ec28daa30ca990282407e3208cceff830bdab2177"}}, {"rule": 2, "type": "equivalent", "target": "9d5359b840004ae92038794c6995b394", "evidence": {"same_day": true, "patch_ids": ["60b8906e95f2b04ca4609706bcd142e7"], "statement_hash": "8a5ba70e7778132d1f23c29ec28daa30ca990282407e3208cceff830bdab2177"}}, {"rule": 2, "type": "equivalent", "target": "9e914978d794c368b7a8e1ac8993679b", "evidence": {"same_day": true, "patch_ids": ["60b8906e95f2b04ca4609706bcd142e7"], "statement_hash": "8a5ba70e7778132d1f23c29ec28daa30ca990282407e3208cceff830bdab2177"}}], "version": "9.5.20", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "9d5359b840004ae92038794c6995b394", "kind": "equivalent", "version": "11.6", "label": "11.6", "title": "修复 time with time zone 输入中某些不完整日期指定未被检测到的情况", "evidence": {"same_day": true, "patch_ids": ["60b8906e95f2b04ca4609706bcd142e7"], "statement_hash": "8a5ba70e7778132d1f23c29ec28daa30ca990282407e3208cceff830bdab2177"}, "url": "/docs/compare/?release=11.6#11.6-eae1e81873a2a681", "source_url": "/docs/release/11.6/#id-1.11.6.21.5"}, {"db_id": "2bfe1ef2301830504e90b8803a43ae0e", "kind": "equivalent", "version": "10.11", "label": "10.11", "title": "修复 time with time zone 输入中某些不完整日期指定未被检测到的情况", "evidence": {"same_day": true, "patch_ids": ["60b8906e95f2b04ca4609706bcd142e7"], "statement_hash": "8a5ba70e7778132d1f23c29ec28daa30ca990282407e3208cceff830bdab2177"}, "url": "/docs/compare/?release=10.11#10.11-eae1e81873a2a681", "source_url": "/docs/release/10.11/#id-1.11.6.17.5"}, {"db_id": "2a9e62be3ffc7276d860702b4081ff5c", "kind": "equivalent", "version": "9.6.16", "label": "9.6.16", "title": "修复 time with time zone 输入中某些未检测到不完整日期规格的情况", "evidence": {"same_day": true, "patch_ids": ["60b8906e95f2b04ca4609706bcd142e7"], "statement_hash": "8a5ba70e7778132d1f23c29ec28daa30ca990282407e3208cceff830bdab2177"}, "url": "/docs/compare/?release=9.6.16#9.6.16-8062d2f5ee2716d1", "source_url": "/docs/release/9.6.16/#id-1.11.6.13.5"}, {"db_id": "9e914978d794c368b7a8e1ac8993679b", "kind": "equivalent", "version": "9.4.25", "label": "9.4.25", "title": "修复 time with time zone 输入中某些未检测到不完整日期规格的情况", "evidence": {"same_day": true, "patch_ids": ["60b8906e95f2b04ca4609706bcd142e7"], "statement_hash": "8a5ba70e7778132d1f23c29ec28daa30ca990282407e3208cceff830bdab2177"}, "url": "/docs/compare/?release=9.4.25#9.4.25-8062d2f5ee2716d1", "source_url": "/docs/release/9.4.25/#id-1.11.6.6.6"}]}, {"id": "9.5.20-96e84644309a1b8c", "cves": [], "html": "<p>修复 <code>bitshiftright()</code> 的错误行为（Tom Lane）</p>\n<p>当位串长度不是 8 的倍数时，位串右移操作符未能把结果最后一字节中存在的填充空间清零。虽然对大多数操作不可见，但那里的任何非零位都会导致意外的比较行为，因为位串比较不会特意忽略多余的位，而是预期它们始终为零。</p>\n<p>如果你因把 <code>bitshiftright()</code> 的输出保存到表中而有不一致的数据，可以用类似下面的语句修复：</p>\n<pre>UPDATE mytab SET bitcol = ~(~bitcol) WHERE bitcol != ~(~bitcol);\n</pre>", "text": "修复 bitshiftright() 的错误行为（Tom Lane） 当位串长度不是 8 的倍数时，位串右移操作符未能把结果最后一字节中存在的填充空间清零。虽然对大多数操作不可见，但那里的任何非零位都会导致意外的比较行为，因为位串比较不会特意忽略多余的位，而是预期它们始终为零。 如果你因把 bitshiftright() 的输出保存到表中而有不一致的数据，可以用类似下面的语句修复： UPDATE mytab SET bitcol = ~(~bitcol) WHERE bitcol != ~(~bitcol);", "title": "修复 bitshiftright() 的错误行为", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.5.20/#id-1.11.6.10.5", "source_hash": "7fd4821162c36467b60dae2c5e409b4a27870213b490f6e1ed7fa58b4cc8f53c", "section_path": ["变更"], "commit_groups": [["096d34c3b", "35eb13270", "5ac0d9360", "6ddd164aa", "7e7abed05", "860216efa", "8a17afe84"], ["30e5b3bbe", "61aa9f544", "6c3b6406d", "8b77f783b", "9faa9794f", "b6a6c129f", "b8ddf0bdf"]], "identity_text": "Fix misbehavior of bitshiftright() (Tom Lane) The bitstring right shift operator failed to zero out padding space that exists in the last byte of the result when the bitstring length is not a multiple of 8. While invisible to most operations, any nonzero bits there would result in unexpected comparison behavior, since bitstring comparisons don't bother to ignore the extra bits, expecting them to always be zero. If you have inconsistent data as a result of saving the output of bitshiftright() in a table, it's possible to fix it with something like UPDATE mytab SET bitcol = ~(~bitcol) WHERE bitcol != ~(~bitcol);", "commit_aliases": ["096d34c3b", "30e5b3bbe", "35eb13270", "5ac0d9360", "61aa9f544", "6c3b6406d", "6ddd164aa", "7e7abed05", "860216efa", "8a17afe84", "8b77f783b", "9faa9794f", "b6a6c129f", "b8ddf0bdf"], "source_commits": ["35eb13270", "8b77f783b"], "source_entry_id": "9.5.20/changes/022", "db_id": "256c5f9a61f3e86e84e844f9956eb853", "patch_ids": ["645e773743ded66708bfdeed1cca150a", "80cc4b25f456fae0cb55503971e08d3c"], "statement_hash": "018dc62423a960f38f4e021a35d213e72a0e5646bed012cf2a6b496e0bd6b17f", "relations": [{"rule": 2, "type": "equivalent", "target": "42d9304af3b1d055979da4409d578bd4", "evidence": {"same_day": true, "patch_ids": ["645e773743ded66708bfdeed1cca150a", "80cc4b25f456fae0cb55503971e08d3c"], "statement_hash": "018dc62423a960f38f4e021a35d213e72a0e5646bed012cf2a6b496e0bd6b17f"}}, {"rule": 2, "type": "equivalent", "target": "5bb57a83dbd452f009809b6376428161", "evidence": {"same_day": true, "patch_ids": ["645e773743ded66708bfdeed1cca150a", "80cc4b25f456fae0cb55503971e08d3c"], "statement_hash": "018dc62423a960f38f4e021a35d213e72a0e5646bed012cf2a6b496e0bd6b17f"}}, {"rule": 2, "type": "equivalent", "target": "b28c4dab180e3c439120ed5a9c176c4f", "evidence": {"same_day": true, "patch_ids": ["645e773743ded66708bfdeed1cca150a", "80cc4b25f456fae0cb55503971e08d3c"], "statement_hash": "018dc62423a960f38f4e021a35d213e72a0e5646bed012cf2a6b496e0bd6b17f"}}, {"rule": 2, "type": "equivalent", "target": "b3087a5cf08f5bd2809940a9b7fca7fe", "evidence": {"same_day": true, "patch_ids": ["645e773743ded66708bfdeed1cca150a", "80cc4b25f456fae0cb55503971e08d3c"], "statement_hash": "018dc62423a960f38f4e021a35d213e72a0e5646bed012cf2a6b496e0bd6b17f"}}, {"rule": 2, "type": "equivalent", "target": "b31f85a3ca08998a31dc57a7946f8561", "evidence": {"same_day": true, "patch_ids": ["645e773743ded66708bfdeed1cca150a", "80cc4b25f456fae0cb55503971e08d3c"], "statement_hash": "018dc62423a960f38f4e021a35d213e72a0e5646bed012cf2a6b496e0bd6b17f"}}], "version": "9.5.20", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "b3087a5cf08f5bd2809940a9b7fca7fe", "kind": "equivalent", "version": "12.1", "label": "12.1", "title": "修复 bitshiftright() 的错误行为", "evidence": {"same_day": true, "patch_ids": ["645e773743ded66708bfdeed1cca150a", "80cc4b25f456fae0cb55503971e08d3c"], "statement_hash": "018dc62423a960f38f4e021a35d213e72a0e5646bed012cf2a6b496e0bd6b17f"}, "url": "/docs/compare/?release=12.1#12.1-47a035bc731f2d2c", "source_url": "/docs/release/12.1/#id-1.11.6.27.5"}, {"db_id": "5bb57a83dbd452f009809b6376428161", "kind": "equivalent", "version": "11.6", "label": "11.6", "title": "修复 bitshiftright() 的错误行为", "evidence": {"same_day": true, "patch_ids": ["645e773743ded66708bfdeed1cca150a", "80cc4b25f456fae0cb55503971e08d3c"], "statement_hash": "018dc62423a960f38f4e021a35d213e72a0e5646bed012cf2a6b496e0bd6b17f"}, "url": "/docs/compare/?release=11.6#11.6-96e84644309a1b8c", "source_url": "/docs/release/11.6/#id-1.11.6.21.5"}, {"db_id": "b28c4dab180e3c439120ed5a9c176c4f", "kind": "equivalent", "version": "10.11", "label": "10.11", "title": "修复 bitshiftright() 的错误行为", "evidence": {"same_day": true, "patch_ids": ["645e773743ded66708bfdeed1cca150a", "80cc4b25f456fae0cb55503971e08d3c"], "statement_hash": "018dc62423a960f38f4e021a35d213e72a0e5646bed012cf2a6b496e0bd6b17f"}, "url": "/docs/compare/?release=10.11#10.11-96e84644309a1b8c", "source_url": "/docs/release/10.11/#id-1.11.6.17.5"}, {"db_id": "b31f85a3ca08998a31dc57a7946f8561", "kind": "equivalent", "version": "9.6.16", "label": "9.6.16", "title": "修复 bitshiftright() 的错误行为", "evidence": {"same_day": true, "patch_ids": ["645e773743ded66708bfdeed1cca150a", "80cc4b25f456fae0cb55503971e08d3c"], "statement_hash": "018dc62423a960f38f4e021a35d213e72a0e5646bed012cf2a6b496e0bd6b17f"}, "url": "/docs/compare/?release=9.6.16#9.6.16-96e84644309a1b8c", "source_url": "/docs/release/9.6.16/#id-1.11.6.13.5"}, {"db_id": "42d9304af3b1d055979da4409d578bd4", "kind": "equivalent", "version": "9.4.25", "label": "9.4.25", "title": "修复 bitshiftright() 的错误行为", "evidence": {"same_day": true, "patch_ids": ["645e773743ded66708bfdeed1cca150a", "80cc4b25f456fae0cb55503971e08d3c"], "statement_hash": "018dc62423a960f38f4e021a35d213e72a0e5646bed012cf2a6b496e0bd6b17f"}, "url": "/docs/compare/?release=9.4.25#9.4.25-96e84644309a1b8c", "source_url": "/docs/release/9.4.25/#id-1.11.6.6.6"}]}, {"id": "9.5.20-80c9ece70aeff5f7", "cves": [], "html": "<p>修复间隔乘法中边界整数溢出的检测（Yuya Watari）</p>", "text": "修复间隔乘法中边界整数溢出的检测（Yuya Watari）", "title": "修复间隔乘法中边界整数溢出的检测", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.5.20/#id-1.11.6.10.5", "source_hash": "a8d3e066e9d5e0df453eccdb07c9697dcd3513ee60e1e608294360d710af1c66", "section_path": ["变更"], "commit_groups": [["15783d057", "5f794f757", "84780d468", "8d380864a", "a7145f6bc", "b49b7f944", "f6e72dc9c"], ["18622caa3", "30f6998ff", "a55018760"]], "identity_text": "Fix detection of edge-case integer overflow in interval multiplication (Yuya Watari)", "commit_aliases": ["15783d057", "18622caa3", "30f6998ff", "5f794f757", "84780d468", "8d380864a", "a55018760", "a7145f6bc", "b49b7f944", "f6e72dc9c"], "source_commits": ["30f6998ff", "84780d468"], "source_entry_id": "9.5.20/changes/023", "db_id": "aa81f2865b69a4270c2849c5addde2d9", "patch_ids": ["6133e47aab47749c29b127f2f4a7bdf4", "908fa4f29f05192ee59958f469e36ce1"], "statement_hash": "7cdcf76c6bf97331d0630b099eab8609f4d7f07848a4458a40876333a5abf76c", "relations": [{"rule": 2, "type": "equivalent", "target": "109a8cfa77f3b4114f60c8757e03e330", "evidence": {"same_day": true, "patch_ids": ["6133e47aab47749c29b127f2f4a7bdf4", "908fa4f29f05192ee59958f469e36ce1"], "statement_hash": "7cdcf76c6bf97331d0630b099eab8609f4d7f07848a4458a40876333a5abf76c"}}, {"rule": 2, "type": "equivalent", "target": "17545ebb5db752cf1bb80acb0053f9b0", "evidence": {"same_day": true, "patch_ids": ["6133e47aab47749c29b127f2f4a7bdf4", "908fa4f29f05192ee59958f469e36ce1"], "statement_hash": "7cdcf76c6bf97331d0630b099eab8609f4d7f07848a4458a40876333a5abf76c"}}, {"rule": 2, "type": "equivalent", "target": "4f905d06a5c25d4b8d28e94c2622d366", "evidence": {"same_day": true, "patch_ids": ["6133e47aab47749c29b127f2f4a7bdf4", "908fa4f29f05192ee59958f469e36ce1"], "statement_hash": "7cdcf76c6bf97331d0630b099eab8609f4d7f07848a4458a40876333a5abf76c"}}, {"rule": 2, "type": "equivalent", "target": "7d17e70514638e9934682dd4384e78b1", "evidence": {"same_day": true, "patch_ids": ["6133e47aab47749c29b127f2f4a7bdf4", "908fa4f29f05192ee59958f469e36ce1"], "statement_hash": "7cdcf76c6bf97331d0630b099eab8609f4d7f07848a4458a40876333a5abf76c"}}, {"rule": 2, "type": "equivalent", "target": "f33041de3179ff43aa931a193e8e70b2", "evidence": {"same_day": true, "patch_ids": ["6133e47aab47749c29b127f2f4a7bdf4", "908fa4f29f05192ee59958f469e36ce1"], "statement_hash": "7cdcf76c6bf97331d0630b099eab8609f4d7f07848a4458a40876333a5abf76c"}}], "version": "9.5.20", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "7d17e70514638e9934682dd4384e78b1", "kind": "equivalent", "version": "12.1", "label": "12.1", "title": "修复对间隔乘法中边界情况下整数溢出的检测", "evidence": {"same_day": true, "patch_ids": ["6133e47aab47749c29b127f2f4a7bdf4", "908fa4f29f05192ee59958f469e36ce1"], "statement_hash": "7cdcf76c6bf97331d0630b099eab8609f4d7f07848a4458a40876333a5abf76c"}, "url": "/docs/compare/?release=12.1#12.1-0282ed12e06cabde", "source_url": "/docs/release/12.1/#id-1.11.6.27.5"}, {"db_id": "f33041de3179ff43aa931a193e8e70b2", "kind": "equivalent", "version": "11.6", "label": "11.6", "title": "修复对间隔乘法中边界情况下整数溢出的检测", "evidence": {"same_day": true, "patch_ids": ["6133e47aab47749c29b127f2f4a7bdf4", "908fa4f29f05192ee59958f469e36ce1"], "statement_hash": "7cdcf76c6bf97331d0630b099eab8609f4d7f07848a4458a40876333a5abf76c"}, "url": "/docs/compare/?release=11.6#11.6-41c54874cae13df3", "source_url": "/docs/release/11.6/#id-1.11.6.21.5"}, {"db_id": "17545ebb5db752cf1bb80acb0053f9b0", "kind": "equivalent", "version": "10.11", "label": "10.11", "title": "修复对间隔乘法中边界情况下整数溢出的检测", "evidence": {"same_day": true, "patch_ids": ["6133e47aab47749c29b127f2f4a7bdf4", "908fa4f29f05192ee59958f469e36ce1"], "statement_hash": "7cdcf76c6bf97331d0630b099eab8609f4d7f07848a4458a40876333a5abf76c"}, "url": "/docs/compare/?release=10.11#10.11-41c54874cae13df3", "source_url": "/docs/release/10.11/#id-1.11.6.17.5"}, {"db_id": "109a8cfa77f3b4114f60c8757e03e330", "kind": "equivalent", "version": "9.6.16", "label": "9.6.16", "title": "修复间隔乘法中边界整数溢出的检测", "evidence": {"same_day": true, "patch_ids": ["6133e47aab47749c29b127f2f4a7bdf4", "908fa4f29f05192ee59958f469e36ce1"], "statement_hash": "7cdcf76c6bf97331d0630b099eab8609f4d7f07848a4458a40876333a5abf76c"}, "url": "/docs/compare/?release=9.6.16#9.6.16-80c9ece70aeff5f7", "source_url": "/docs/release/9.6.16/#id-1.11.6.13.5"}, {"db_id": "4f905d06a5c25d4b8d28e94c2622d366", "kind": "equivalent", "version": "9.4.25", "label": "9.4.25", "title": "修复间隔乘法中边界整数溢出的检测", "evidence": {"same_day": true, "patch_ids": ["6133e47aab47749c29b127f2f4a7bdf4", "908fa4f29f05192ee59958f469e36ce1"], "statement_hash": "7cdcf76c6bf97331d0630b099eab8609f4d7f07848a4458a40876333a5abf76c"}, "url": "/docs/compare/?release=9.4.25#9.4.25-80c9ece70aeff5f7", "source_url": "/docs/release/9.4.25/#id-1.11.6.6.6"}]}, {"id": "9.5.20-df82c8fc573cd85b", "cves": [], "html": "<p>修复 GIN posting 列表的错误压缩逻辑（Heikki Linnakangas）</p>\n<p>如果相邻被索引 TID 之间的距离超过 16TB，一个 GIN posting 列表项可能需要 7 字节。逻辑中的一步与此不同步，可能试图把值写入 6 字节缓冲区。原则上这可能导致栈越界，但在大多数体系结构上，下一个字节很可能是未使用的对齐填充，使该 bug 无害。无论如何，这个 bug 都很难被触发到。</p>", "text": "修复 GIN posting 列表的错误压缩逻辑（Heikki Linnakangas） 如果相邻被索引 TID 之间的距离超过 16TB，一个 GIN posting 列表项可能需要 7 字节。逻辑中的一步与此不同步，可能试图把值写入 6 字节缓冲区。原则上这可能导致栈越界，但在大多数体系结构上，下一个字节很可能是未使用的对齐填充，使该 bug 无害。无论如何，这个 bug 都很难被触发到。", "title": "修复 GIN posting 列表的错误压缩逻辑", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.5.20/#id-1.11.6.10.5", "source_hash": "949a2510f94ed33dc75a7a98e8ca86e07633594a8cdaad1f0a46695fcb6afc15", "section_path": ["变更"], "commit_groups": [["1c99acc6e", "6292cde1c", "6b7819a0b", "756178232", "bde7493d1", "cf00ca522", "e2e616579"], ["744c848dc"]], "identity_text": "Fix incorrect compression logic for GIN posting lists (Heikki Linnakangas) A GIN posting list item can require 7 bytes if the distance between adjacent indexed TIDs exceeds 16TB. One step in the logic was out of sync with that, and might try to write the value into a 6-byte buffer. In principle this could cause a stack overrun, but on most architectures it's likely that the next byte would be unused alignment padding, making the bug harmless. In any case the bug would be very difficult to hit.", "commit_aliases": ["1c99acc6e", "6292cde1c", "6b7819a0b", "744c848dc", "756178232", "bde7493d1", "cf00ca522", "e2e616579"], "source_commits": ["744c848dc", "cf00ca522"], "source_entry_id": "9.5.20/changes/024", "db_id": "8c49457da3d5a86e1b67cf7bf25b8fb2", "patch_ids": ["60acafcf1cabfbe9689d5648685a681d", "66bb22b045c63c243194aa0ae4579612"], "statement_hash": "fcfa6868976587d2621b5637da29698324069942fe27b2fe90d8e7597822d129", "relations": [{"rule": 2, "type": "equivalent", "target": "3fc326e55a6b6b746dbddce853d76f45", "evidence": {"same_day": true, "patch_ids": ["60acafcf1cabfbe9689d5648685a681d", "66bb22b045c63c243194aa0ae4579612"], "statement_hash": "fcfa6868976587d2621b5637da29698324069942fe27b2fe90d8e7597822d129"}}, {"rule": 2, "type": "equivalent", "target": "5be78007dca7c1c0fbedd0dcc358ab1d", "evidence": {"same_day": true, "patch_ids": ["60acafcf1cabfbe9689d5648685a681d", "66bb22b045c63c243194aa0ae4579612"], "statement_hash": "fcfa6868976587d2621b5637da29698324069942fe27b2fe90d8e7597822d129"}}, {"rule": 2, "type": "equivalent", "target": "b75d1389fbbfd02cdf24534c23cd800e", "evidence": {"same_day": true, "patch_ids": ["60acafcf1cabfbe9689d5648685a681d", "66bb22b045c63c243194aa0ae4579612"], "statement_hash": "fcfa6868976587d2621b5637da29698324069942fe27b2fe90d8e7597822d129"}}, {"rule": 2, "type": "equivalent", "target": "f0f6785a05bc6fa46583e2f8ef2f62a8", "evidence": {"same_day": true, "patch_ids": ["60acafcf1cabfbe9689d5648685a681d", "66bb22b045c63c243194aa0ae4579612"], "statement_hash": "fcfa6868976587d2621b5637da29698324069942fe27b2fe90d8e7597822d129"}}], "version": "9.5.20", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "5be78007dca7c1c0fbedd0dcc358ab1d", "kind": "equivalent", "version": "11.6", "label": "11.6", "title": "修复 GIN 倒排列表的不正确压缩逻辑", "evidence": {"same_day": true, "patch_ids": ["60acafcf1cabfbe9689d5648685a681d", "66bb22b045c63c243194aa0ae4579612"], "statement_hash": "fcfa6868976587d2621b5637da29698324069942fe27b2fe90d8e7597822d129"}, "url": "/docs/compare/?release=11.6#11.6-ec84e29ee2521591", "source_url": "/docs/release/11.6/#id-1.11.6.21.5"}, {"db_id": "f0f6785a05bc6fa46583e2f8ef2f62a8", "kind": "equivalent", "version": "10.11", "label": "10.11", "title": "修复 GIN 倒排列表的不正确压缩逻辑", "evidence": {"same_day": true, "patch_ids": ["60acafcf1cabfbe9689d5648685a681d", "66bb22b045c63c243194aa0ae4579612"], "statement_hash": "fcfa6868976587d2621b5637da29698324069942fe27b2fe90d8e7597822d129"}, "url": "/docs/compare/?release=10.11#10.11-ec84e29ee2521591", "source_url": "/docs/release/10.11/#id-1.11.6.17.5"}, {"db_id": "b75d1389fbbfd02cdf24534c23cd800e", "kind": "equivalent", "version": "9.6.16", "label": "9.6.16", "title": "修复 GIN posting 列表的错误压缩逻辑", "evidence": {"same_day": true, "patch_ids": ["60acafcf1cabfbe9689d5648685a681d", "66bb22b045c63c243194aa0ae4579612"], "statement_hash": "fcfa6868976587d2621b5637da29698324069942fe27b2fe90d8e7597822d129"}, "url": "/docs/compare/?release=9.6.16#9.6.16-df82c8fc573cd85b", "source_url": "/docs/release/9.6.16/#id-1.11.6.13.5"}, {"db_id": "3fc326e55a6b6b746dbddce853d76f45", "kind": "equivalent", "version": "9.4.25", "label": "9.4.25", "title": "修复 GIN posting 列表的错误压缩逻辑", "evidence": {"same_day": true, "patch_ids": ["60acafcf1cabfbe9689d5648685a681d", "66bb22b045c63c243194aa0ae4579612"], "statement_hash": "fcfa6868976587d2621b5637da29698324069942fe27b2fe90d8e7597822d129"}, "url": "/docs/compare/?release=9.4.25#9.4.25-df82c8fc573cd85b", "source_url": "/docs/release/9.4.25/#id-1.11.6.6.6"}]}, {"id": "9.5.20-a23f301528635a6b", "cves": [], "html": "<p>修复 KNN-GiST 中对无穷大、NaN 和 NULL 值的处理（Alexander Korotkov）</p>\n<p>如果为非空列值计算的某些距离是无穷大或 NaN，查询的输出顺序可能错误（与普通排序的结果不同）。</p>", "text": "修复 KNN-GiST 中对无穷大、NaN 和 NULL 值的处理（Alexander Korotkov） 如果为非空列值计算的某些距离是无穷大或 NaN，查询的输出顺序可能错误（与普通排序的结果不同）。", "title": "修复 KNN-GiST 中对无穷大、NaN 和 NULL 值的处理", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.5.20/#id-1.11.6.10.5", "source_hash": "c4c25c01043e96a0fd10a449c4f2ce5f5361529641dd86ca3f9c4e3922330981", "section_path": ["变更"], "commit_groups": [["02f90879e", "1df412304", "3c155bafa", "92f6b49c4", "a5431b7d5", "d807200b4", "e6af7b367"], ["111fb7e42", "749b04d1d", "8f724002e", "986319d46", "b2037afec", "bc67f4189", "e5d8f3596"]], "identity_text": "Fix handling of infinity, NaN, and NULL values in KNN-GiST (Alexander Korotkov) The query's output order could be wrong (different from a plain sort's result) if some distances computed for non-null column values are infinity or NaN.", "commit_aliases": ["02f90879e", "111fb7e42", "1df412304", "3c155bafa", "749b04d1d", "8f724002e", "92f6b49c4", "986319d46", "a5431b7d5", "b2037afec", "bc67f4189", "d807200b4", "e5d8f3596", "e6af7b367"], "source_commits": ["3c155bafa", "986319d46"], "source_entry_id": "9.5.20/changes/025", "db_id": "d9b7dda1aa30309ccee427f287468c34", "patch_ids": ["7b9ea18b56299a8d028ae8820497e4b7", "c24a7727ca7395afe3dc6605d984abda"], "statement_hash": "9986d70146d4c4a9030d03614e231aaffcb3caabc05c0a122a7ea222c3129e26", "relations": [{"rule": 2, "type": "equivalent", "target": "7a43cdba2247d6050186b24e9452d6b6", "evidence": {"same_day": true, "patch_ids": ["7b9ea18b56299a8d028ae8820497e4b7", "c24a7727ca7395afe3dc6605d984abda"], "statement_hash": "9986d70146d4c4a9030d03614e231aaffcb3caabc05c0a122a7ea222c3129e26"}}, {"rule": 2, "type": "equivalent", "target": "9d7bbd437cedcff2df4f71c25b584f97", "evidence": {"same_day": true, "patch_ids": ["7b9ea18b56299a8d028ae8820497e4b7", "c24a7727ca7395afe3dc6605d984abda"], "statement_hash": "9986d70146d4c4a9030d03614e231aaffcb3caabc05c0a122a7ea222c3129e26"}}, {"rule": 2, "type": "equivalent", "target": "beda73fd9dd4d580e534c03f8985a729", "evidence": {"same_day": true, "patch_ids": ["7b9ea18b56299a8d028ae8820497e4b7", "c24a7727ca7395afe3dc6605d984abda"], "statement_hash": "9986d70146d4c4a9030d03614e231aaffcb3caabc05c0a122a7ea222c3129e26"}}, {"rule": 2, "type": "equivalent", "target": "c3ccaff31d0f9a62e817be93b67bd01d", "evidence": {"same_day": true, "patch_ids": ["7b9ea18b56299a8d028ae8820497e4b7", "c24a7727ca7395afe3dc6605d984abda"], "statement_hash": "9986d70146d4c4a9030d03614e231aaffcb3caabc05c0a122a7ea222c3129e26"}}], "version": "9.5.20", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "7a43cdba2247d6050186b24e9452d6b6", "kind": "equivalent", "version": "11.6", "label": "11.6", "title": "修复 KNN-GiST 中对无穷大、NaN 和 NULL 值的处理", "evidence": {"same_day": true, "patch_ids": ["7b9ea18b56299a8d028ae8820497e4b7", "c24a7727ca7395afe3dc6605d984abda"], "statement_hash": "9986d70146d4c4a9030d03614e231aaffcb3caabc05c0a122a7ea222c3129e26"}, "url": "/docs/compare/?release=11.6#11.6-a23f301528635a6b", "source_url": "/docs/release/11.6/#id-1.11.6.21.5"}, {"db_id": "9d7bbd437cedcff2df4f71c25b584f97", "kind": "equivalent", "version": "10.11", "label": "10.11", "title": "修复 KNN-GiST 中对无穷大、NaN 和 NULL 值的处理", "evidence": {"same_day": true, "patch_ids": ["7b9ea18b56299a8d028ae8820497e4b7", "c24a7727ca7395afe3dc6605d984abda"], "statement_hash": "9986d70146d4c4a9030d03614e231aaffcb3caabc05c0a122a7ea222c3129e26"}, "url": "/docs/compare/?release=10.11#10.11-a23f301528635a6b", "source_url": "/docs/release/10.11/#id-1.11.6.17.5"}, {"db_id": "c3ccaff31d0f9a62e817be93b67bd01d", "kind": "equivalent", "version": "9.6.16", "label": "9.6.16", "title": "修复 KNN-GiST 中对无穷大、NaN 和 NULL 值的处理", "evidence": {"same_day": true, "patch_ids": ["7b9ea18b56299a8d028ae8820497e4b7", "c24a7727ca7395afe3dc6605d984abda"], "statement_hash": "9986d70146d4c4a9030d03614e231aaffcb3caabc05c0a122a7ea222c3129e26"}, "url": "/docs/compare/?release=9.6.16#9.6.16-a23f301528635a6b", "source_url": "/docs/release/9.6.16/#id-1.11.6.13.5"}, {"db_id": "beda73fd9dd4d580e534c03f8985a729", "kind": "equivalent", "version": "9.4.25", "label": "9.4.25", "title": "修复 KNN-GiST 中对无穷大、NaN 和 NULL 值的处理", "evidence": {"same_day": true, "patch_ids": ["7b9ea18b56299a8d028ae8820497e4b7", "c24a7727ca7395afe3dc6605d984abda"], "statement_hash": "9986d70146d4c4a9030d03614e231aaffcb3caabc05c0a122a7ea222c3129e26"}, "url": "/docs/compare/?release=9.4.25#9.4.25-a23f301528635a6b", "source_url": "/docs/release/9.4.25/#id-1.11.6.6.6"}]}, {"id": "9.5.20-ada4c4796e96ac6c", "cves": [], "html": "<p>修复 KNN-SP-GiST 中对 NULL 搜索的处理（Nikita Glukhov）</p>", "text": "修复 KNN-SP-GiST 中对 NULL 搜索的处理（Nikita Glukhov）", "title": "修复 KNN-SP-GiST 中对 NULL 搜索的处理", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.5.20/#id-1.11.6.10.5", "source_hash": "f4b4e16e688c7a2ac1cae4b92b6e2dee16789cc300f760628c671d0b3571e527", "section_path": ["变更"], "commit_groups": [["140b7b1f9", "2f0434e8e", "388939748", "984b9ba1d"], ["2da8e56db", "31cbd7605", "332eda5bd", "53d9cf2db", "6cae9d2c1", "ad458d0cd", "d6a90aac5"]], "identity_text": "Fix handling of searches for NULL in KNN-SP-GiST (Nikita Glukhov)", "commit_aliases": ["140b7b1f9", "2da8e56db", "2f0434e8e", "31cbd7605", "332eda5bd", "388939748", "53d9cf2db", "6cae9d2c1", "984b9ba1d", "ad458d0cd", "d6a90aac5"], "source_commits": ["388939748", "ad458d0cd"], "source_entry_id": "9.5.20/changes/026", "db_id": "ca618c300b2c0271b550bbc8508bc145", "patch_ids": ["6ff6f0f4c73f1aca8888e2ef75427b6a", "fbead6a49176269f775eefbb62877c7f"], "statement_hash": "c0d9be5b78fc1c8a236e8a3b8f7a6cbc43467beaf85024d646f78b0c0b577425", "relations": [{"rule": 2, "type": "equivalent", "target": "7c8f69a9ab49e39d197b5a8392db3b48", "evidence": {"same_day": true, "patch_ids": ["6ff6f0f4c73f1aca8888e2ef75427b6a", "fbead6a49176269f775eefbb62877c7f"], "statement_hash": "c0d9be5b78fc1c8a236e8a3b8f7a6cbc43467beaf85024d646f78b0c0b577425"}}, {"rule": 2, "type": "equivalent", "target": "8e91a2f472a015ee7ff3b4d301c5238a", "evidence": {"same_day": true, "patch_ids": ["6ff6f0f4c73f1aca8888e2ef75427b6a", "fbead6a49176269f775eefbb62877c7f"], "statement_hash": "c0d9be5b78fc1c8a236e8a3b8f7a6cbc43467beaf85024d646f78b0c0b577425"}}, {"rule": 2, "type": "equivalent", "target": "cff95402d4659c1e9851118ce708bbc0", "evidence": {"same_day": true, "patch_ids": ["6ff6f0f4c73f1aca8888e2ef75427b6a", "fbead6a49176269f775eefbb62877c7f"], "statement_hash": "c0d9be5b78fc1c8a236e8a3b8f7a6cbc43467beaf85024d646f78b0c0b577425"}}, {"rule": 2, "type": "equivalent", "target": "d01ed88fb942afa0ed5ffa43faba6308", "evidence": {"same_day": true, "patch_ids": ["6ff6f0f4c73f1aca8888e2ef75427b6a", "fbead6a49176269f775eefbb62877c7f"], "statement_hash": "c0d9be5b78fc1c8a236e8a3b8f7a6cbc43467beaf85024d646f78b0c0b577425"}}], "version": "9.5.20", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "cff95402d4659c1e9851118ce708bbc0", "kind": "equivalent", "version": "11.6", "label": "11.6", "title": "修复 KNN-SP-GiST 中对搜索 NULL 的处理", "evidence": {"same_day": true, "patch_ids": ["6ff6f0f4c73f1aca8888e2ef75427b6a", "fbead6a49176269f775eefbb62877c7f"], "statement_hash": "c0d9be5b78fc1c8a236e8a3b8f7a6cbc43467beaf85024d646f78b0c0b577425"}, "url": "/docs/compare/?release=11.6#11.6-2ad2e8267b0f23fc", "source_url": "/docs/release/11.6/#id-1.11.6.21.5"}, {"db_id": "7c8f69a9ab49e39d197b5a8392db3b48", "kind": "equivalent", "version": "10.11", "label": "10.11", "title": "修复 KNN-SP-GiST 中对搜索 NULL 的处理", "evidence": {"same_day": true, "patch_ids": ["6ff6f0f4c73f1aca8888e2ef75427b6a", "fbead6a49176269f775eefbb62877c7f"], "statement_hash": "c0d9be5b78fc1c8a236e8a3b8f7a6cbc43467beaf85024d646f78b0c0b577425"}, "url": "/docs/compare/?release=10.11#10.11-2ad2e8267b0f23fc", "source_url": "/docs/release/10.11/#id-1.11.6.17.5"}, {"db_id": "8e91a2f472a015ee7ff3b4d301c5238a", "kind": "equivalent", "version": "9.6.16", "label": "9.6.16", "title": "修复 KNN-SP-GiST 中对 NULL 搜索的处理", "evidence": {"same_day": true, "patch_ids": ["6ff6f0f4c73f1aca8888e2ef75427b6a", "fbead6a49176269f775eefbb62877c7f"], "statement_hash": "c0d9be5b78fc1c8a236e8a3b8f7a6cbc43467beaf85024d646f78b0c0b577425"}, "url": "/docs/compare/?release=9.6.16#9.6.16-ada4c4796e96ac6c", "source_url": "/docs/release/9.6.16/#id-1.11.6.13.5"}, {"db_id": "d01ed88fb942afa0ed5ffa43faba6308", "kind": "equivalent", "version": "9.4.25", "label": "9.4.25", "title": "修复 KNN-SP-GiST 中对 NULL 搜索的处理", "evidence": {"same_day": true, "patch_ids": ["6ff6f0f4c73f1aca8888e2ef75427b6a", "fbead6a49176269f775eefbb62877c7f"], "statement_hash": "c0d9be5b78fc1c8a236e8a3b8f7a6cbc43467beaf85024d646f78b0c0b577425"}, "url": "/docs/compare/?release=9.4.25#9.4.25-ada4c4796e96ac6c", "source_url": "/docs/release/9.4.25/#id-1.11.6.6.6"}]}, {"id": "9.5.20-42261f0150d2b4d2", "cves": [], "html": "<p>在 Windows 上，识别 <span>“<span>Norwegian (Bokmål)</span>”</span> 区域名的更多拼法（Tom Lane）</p>", "text": "在 Windows 上，识别 “Norwegian (Bokmål)” 区域名的更多拼法（Tom Lane）", "title": "在 Windows 上，识别 “Norwegian (Bokmål)” 区域名的更多拼法", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.5.20/#id-1.11.6.10.5", "source_hash": "74954a1c0243d9b26e633e90f250ec6e2ba060beaf964283d741b43419d85c7d", "section_path": ["变更"], "commit_groups": [["185253ab8", "4f2ad5226", "a05a04d0e", "aebe3ef0e", "db477b691", "e3267407e", "fedcab352"]], "identity_text": "On Windows, recognize additional spellings of the Norwegian (Bokmål) locale name (Tom Lane)", "commit_aliases": ["185253ab8", "4f2ad5226", "a05a04d0e", "aebe3ef0e", "db477b691", "e3267407e", "fedcab352"], "source_commits": ["e3267407e"], "source_entry_id": "9.5.20/changes/027", "db_id": "789cec58ca9f82e639ee2a2dae1500f0", "patch_ids": ["b4d55cbc4d3eb09a21b712947fc01446"], "statement_hash": "6365cced4f4ad597334c45749ccad9c902fd71e380f4a88b6dc5f99475529bf5", "relations": [{"rule": 2, "type": "equivalent", "target": "225febe7c77dd58718ec5f3f63a0812d", "evidence": {"same_day": true, "patch_ids": ["b4d55cbc4d3eb09a21b712947fc01446"], "statement_hash": "6365cced4f4ad597334c45749ccad9c902fd71e380f4a88b6dc5f99475529bf5"}}, {"rule": 2, "type": "equivalent", "target": "26d29236bce72fa79bbb285e2ee96b25", "evidence": {"same_day": true, "patch_ids": ["b4d55cbc4d3eb09a21b712947fc01446"], "statement_hash": "6365cced4f4ad597334c45749ccad9c902fd71e380f4a88b6dc5f99475529bf5"}}, {"rule": 2, "type": "equivalent", "target": "605dd65b38b1599763cf75961ffcd71b", "evidence": {"same_day": true, "patch_ids": ["b4d55cbc4d3eb09a21b712947fc01446"], "statement_hash": "6365cced4f4ad597334c45749ccad9c902fd71e380f4a88b6dc5f99475529bf5"}}, {"rule": 2, "type": "equivalent", "target": "73495a6bf973b70836e3aca3f2c2ac51", "evidence": {"same_day": true, "patch_ids": ["b4d55cbc4d3eb09a21b712947fc01446"], "statement_hash": "6365cced4f4ad597334c45749ccad9c902fd71e380f4a88b6dc5f99475529bf5"}}, {"rule": 2, "type": "equivalent", "target": "be67afb148dc3575454e6d95f868998f", "evidence": {"same_day": true, "patch_ids": ["b4d55cbc4d3eb09a21b712947fc01446"], "statement_hash": "6365cced4f4ad597334c45749ccad9c902fd71e380f4a88b6dc5f99475529bf5"}}], "version": "9.5.20", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "225febe7c77dd58718ec5f3f63a0812d", "kind": "equivalent", "version": "12.1", "label": "12.1", "title": "在 Windows 上，识别 “Norwegian (Bokmål)” 区域设置名称的更多拼写形式", "evidence": {"same_day": true, "patch_ids": ["b4d55cbc4d3eb09a21b712947fc01446"], "statement_hash": "6365cced4f4ad597334c45749ccad9c902fd71e380f4a88b6dc5f99475529bf5"}, "url": "/docs/compare/?release=12.1#12.1-d61548fa25c77231", "source_url": "/docs/release/12.1/#id-1.11.6.27.5"}, {"db_id": "be67afb148dc3575454e6d95f868998f", "kind": "equivalent", "version": "11.6", "label": "11.6", "title": "在 Windows 上，识别 “Norwegian (Bokmål)” 区域设置名称的更多拼写形式", "evidence": {"same_day": true, "patch_ids": ["b4d55cbc4d3eb09a21b712947fc01446"], "statement_hash": "6365cced4f4ad597334c45749ccad9c902fd71e380f4a88b6dc5f99475529bf5"}, "url": "/docs/compare/?release=11.6#11.6-e87de571f41d73e4", "source_url": "/docs/release/11.6/#id-1.11.6.21.5"}, {"db_id": "605dd65b38b1599763cf75961ffcd71b", "kind": "equivalent", "version": "10.11", "label": "10.11", "title": "在 Windows 上，识别 “Norwegian (Bokmål)” 区域设置名称的更多拼写形式", "evidence": {"same_day": true, "patch_ids": ["b4d55cbc4d3eb09a21b712947fc01446"], "statement_hash": "6365cced4f4ad597334c45749ccad9c902fd71e380f4a88b6dc5f99475529bf5"}, "url": "/docs/compare/?release=10.11#10.11-e87de571f41d73e4", "source_url": "/docs/release/10.11/#id-1.11.6.17.5"}, {"db_id": "73495a6bf973b70836e3aca3f2c2ac51", "kind": "equivalent", "version": "9.6.16", "label": "9.6.16", "title": "在 Windows 上，识别 “Norwegian (Bokmål)” 区域名的更多拼法", "evidence": {"same_day": true, "patch_ids": ["b4d55cbc4d3eb09a21b712947fc01446"], "statement_hash": "6365cced4f4ad597334c45749ccad9c902fd71e380f4a88b6dc5f99475529bf5"}, "url": "/docs/compare/?release=9.6.16#9.6.16-42261f0150d2b4d2", "source_url": "/docs/release/9.6.16/#id-1.11.6.13.5"}, {"db_id": "26d29236bce72fa79bbb285e2ee96b25", "kind": "equivalent", "version": "9.4.25", "label": "9.4.25", "title": "在 Windows 上，识别 “Norwegian (Bokmål)” 区域名的更多拼法", "evidence": {"same_day": true, "patch_ids": ["b4d55cbc4d3eb09a21b712947fc01446"], "statement_hash": "6365cced4f4ad597334c45749ccad9c902fd71e380f4a88b6dc5f99475529bf5"}, "url": "/docs/compare/?release=9.4.25#9.4.25-42261f0150d2b4d2", "source_url": "/docs/release/9.4.25/#id-1.11.6.6.6"}]}, {"id": "9.5.20-f502876330bb9416", "cves": [], "html": "<p>避免 ECPG 客户端在定义了 <code>ENABLE_NLS</code> 的情况下包含 <code>ecpglib.h</code> 时编译失败（Tom Lane）</p>\n<p>这个风险是由一个错位的声明造成的：<code>ecpg_gettext()</code> 不应对客户端代码可见。</p>", "text": "避免 ECPG 客户端在定义了 ENABLE_NLS 的情况下包含 ecpglib.h 时编译失败（Tom Lane） 这个风险是由一个错位的声明造成的：ecpg_gettext() 不应对客户端代码可见。", "title": "避免 ECPG 客户端在定义了 ENABLE_NLS 的情况下包含 ecpglib.h 时编译失败", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.5.20/#id-1.11.6.10.5", "source_hash": "72e09e777e8bd94db6f964f4f1546a617e767fd202c7e396bb6e32d1ea70c9e1", "section_path": ["变更"], "commit_groups": [["101654987", "831ca9513", "89f56fc22", "b20233aac", "b705d6391", "baa483984", "c8cb98ec4"]], "identity_text": "Avoid compile failure if an ECPG client includes ecpglib.h while having ENABLE_NLS defined (Tom Lane) This risk was created by a misplaced declaration: ecpg_gettext() should not be visible to client code.", "commit_aliases": ["101654987", "831ca9513", "89f56fc22", "b20233aac", "b705d6391", "baa483984", "c8cb98ec4"], "source_commits": ["b705d6391"], "source_entry_id": "9.5.20/changes/028", "db_id": "87efcb322eba2bcd3c5866c05efb7858", "patch_ids": ["4271d7cbf24fc433df10f32277f71586"], "statement_hash": "31feebda6c644e959d30a708c1b9ddb76fe72cec5499690660e97ed0843ba0e2", "relations": [{"rule": 2, "type": "equivalent", "target": "0c91cb7342abc42045e66b2fc60220ea", "evidence": {"same_day": true, "patch_ids": ["4271d7cbf24fc433df10f32277f71586"], "statement_hash": "31feebda6c644e959d30a708c1b9ddb76fe72cec5499690660e97ed0843ba0e2"}}, {"rule": 2, "type": "equivalent", "target": "6334c89fa50cd261cfba8ec3ecea1e0d", "evidence": {"same_day": true, "patch_ids": ["4271d7cbf24fc433df10f32277f71586"], "statement_hash": "31feebda6c644e959d30a708c1b9ddb76fe72cec5499690660e97ed0843ba0e2"}}, {"rule": 2, "type": "equivalent", "target": "7c1586338ffd8d223fe0cc443839c9a1", "evidence": {"same_day": true, "patch_ids": ["4271d7cbf24fc433df10f32277f71586"], "statement_hash": "31feebda6c644e959d30a708c1b9ddb76fe72cec5499690660e97ed0843ba0e2"}}, {"rule": 2, "type": "equivalent", "target": "b2e8debef48ea50941c0aca040f3f968", "evidence": {"same_day": true, "patch_ids": ["4271d7cbf24fc433df10f32277f71586"], "statement_hash": "31feebda6c644e959d30a708c1b9ddb76fe72cec5499690660e97ed0843ba0e2"}}, {"rule": 2, "type": "equivalent", "target": "cc36cdeec3fc81996f44d5aa3db09334", "evidence": {"same_day": true, "patch_ids": ["4271d7cbf24fc433df10f32277f71586"], "statement_hash": "31feebda6c644e959d30a708c1b9ddb76fe72cec5499690660e97ed0843ba0e2"}}], "version": "9.5.20", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "7c1586338ffd8d223fe0cc443839c9a1", "kind": "equivalent", "version": "12.1", "label": "12.1", "title": "避免 ECPG 客户端在定义了 ENABLE_NLS 的情况下包含 ecpglib.h 时编译失败", "evidence": {"same_day": true, "patch_ids": ["4271d7cbf24fc433df10f32277f71586"], "statement_hash": "31feebda6c644e959d30a708c1b9ddb76fe72cec5499690660e97ed0843ba0e2"}, "url": "/docs/compare/?release=12.1#12.1-ce7ebd43ab385df1", "source_url": "/docs/release/12.1/#id-1.11.6.27.5"}, {"db_id": "0c91cb7342abc42045e66b2fc60220ea", "kind": "equivalent", "version": "11.6", "label": "11.6", "title": "避免 ECPG 客户端在定义了 ENABLE_NLS 的情况下包含 ecpglib.h 时编译失败", "evidence": {"same_day": true, "patch_ids": ["4271d7cbf24fc433df10f32277f71586"], "statement_hash": "31feebda6c644e959d30a708c1b9ddb76fe72cec5499690660e97ed0843ba0e2"}, "url": "/docs/compare/?release=11.6#11.6-f502876330bb9416", "source_url": "/docs/release/11.6/#id-1.11.6.21.5"}, {"db_id": "cc36cdeec3fc81996f44d5aa3db09334", "kind": "equivalent", "version": "10.11", "label": "10.11", "title": "避免 ECPG 客户端在定义了 ENABLE_NLS 的情况下包含 ecpglib.h 时编译失败", "evidence": {"same_day": true, "patch_ids": ["4271d7cbf24fc433df10f32277f71586"], "statement_hash": "31feebda6c644e959d30a708c1b9ddb76fe72cec5499690660e97ed0843ba0e2"}, "url": "/docs/compare/?release=10.11#10.11-f502876330bb9416", "source_url": "/docs/release/10.11/#id-1.11.6.17.5"}, {"db_id": "b2e8debef48ea50941c0aca040f3f968", "kind": "equivalent", "version": "9.6.16", "label": "9.6.16", "title": "避免 ECPG 客户端在定义了 ENABLE_NLS 的情况下包含 ecpglib.h 时编译失败", "evidence": {"same_day": true, "patch_ids": ["4271d7cbf24fc433df10f32277f71586"], "statement_hash": "31feebda6c644e959d30a708c1b9ddb76fe72cec5499690660e97ed0843ba0e2"}, "url": "/docs/compare/?release=9.6.16#9.6.16-f502876330bb9416", "source_url": "/docs/release/9.6.16/#id-1.11.6.13.5"}, {"db_id": "6334c89fa50cd261cfba8ec3ecea1e0d", "kind": "equivalent", "version": "9.4.25", "label": "9.4.25", "title": "避免 ECPG 客户端在定义了 ENABLE_NLS 的情况下包含 ecpglib.h 时编译失败", "evidence": {"same_day": true, "patch_ids": ["4271d7cbf24fc433df10f32277f71586"], "statement_hash": "31feebda6c644e959d30a708c1b9ddb76fe72cec5499690660e97ed0843ba0e2"}, "url": "/docs/compare/?release=9.4.25#9.4.25-f502876330bb9416", "source_url": "/docs/release/9.4.25/#id-1.11.6.6.6"}]}, {"id": "9.5.20-b59528386e4dab61", "cves": [], "html": "<p>在 <span>psql</span> 中，意外连接丢失并成功重连之后重新同步关于服务器的内部状态（Peter Billen、Tom Lane）</p>\n<p>通常这是不必要的，因为状态反正会相同。但在边界情况下可能有关系，例如连接可能通向几台服务器之一。这一更改使 <span>psql</span> 重新发出它在启动时会发出的任何交互式消息，例如关于是否使用 SSL。</p>", "text": "在 psql 中，意外连接丢失并成功重连之后重新同步关于服务器的内部状态（Peter Billen、Tom Lane） 通常这是不必要的，因为状态反正会相同。但在边界情况下可能有关系，例如连接可能通向几台服务器之一。这一更改使 psql 重新发出它在启动时会发出的任何交互式消息，例如关于是否使用 SSL。", "title": "在 psql 中，意外连接丢失并成功重连之后重新同步关于服务器的内部状态", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.5.20/#id-1.11.6.10.5", "source_hash": "e5c0657e50f74f633e45aaccf8fd3ca1c7e159ee9aac6e81d741efded313e9ed", "section_path": ["变更"], "commit_groups": [["3080f8f61", "5524ef558", "62724bd95", "89535db97", "90433c38e", "aef362385", "b0b2ef25e"]], "identity_text": "In psql, resynchronize internal state about the server after an unexpected connection loss and successful reconnection (Peter Billen, Tom Lane) Ordinarily this is unnecessary since the state would be the same anyway. But it can matter in corner cases, such as where the connection might lead to one of several servers. This change causes psql to re-issue any interactive messages that it would have issued at startup, for example about whether SSL is in use.", "commit_aliases": ["3080f8f61", "5524ef558", "62724bd95", "89535db97", "90433c38e", "aef362385", "b0b2ef25e"], "source_commits": ["62724bd95"], "source_entry_id": "9.5.20/changes/029", "db_id": "6d91276c5f102904cb599ad608de250b", "patch_ids": ["989f4cbbc066103b978638607a6ad548"], "statement_hash": "efd5d1fb94fbba9a410c05a370faf129172241dc377afee41dc24cc9e5bafaac", "relations": [{"rule": 2, "type": "equivalent", "target": "1bc9918c5d1e2f5fc32c3478cb761f01", "evidence": {"same_day": true, "patch_ids": ["989f4cbbc066103b978638607a6ad548"], "statement_hash": "efd5d1fb94fbba9a410c05a370faf129172241dc377afee41dc24cc9e5bafaac"}}, {"rule": 2, "type": "equivalent", "target": "7e6b80a38c92a835f9fafa759c9afc19", "evidence": {"same_day": true, "patch_ids": ["989f4cbbc066103b978638607a6ad548"], "statement_hash": "efd5d1fb94fbba9a410c05a370faf129172241dc377afee41dc24cc9e5bafaac"}}, {"rule": 2, "type": "equivalent", "target": "d71acd58d8299ec0820c244ccb30cd11", "evidence": {"same_day": true, "patch_ids": ["989f4cbbc066103b978638607a6ad548"], "statement_hash": "efd5d1fb94fbba9a410c05a370faf129172241dc377afee41dc24cc9e5bafaac"}}, {"rule": 2, "type": "equivalent", "target": "f54b57628fd594dde69ef0ce146a684b", "evidence": {"same_day": true, "patch_ids": ["989f4cbbc066103b978638607a6ad548"], "statement_hash": "efd5d1fb94fbba9a410c05a370faf129172241dc377afee41dc24cc9e5bafaac"}}], "version": "9.5.20", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "f54b57628fd594dde69ef0ce146a684b", "kind": "equivalent", "version": "11.6", "label": "11.6", "title": "在 psql 中，意外丢失连接并成功重新连接后，重新同步关于服务器的内部状态", "evidence": {"same_day": true, "patch_ids": ["989f4cbbc066103b978638607a6ad548"], "statement_hash": "efd5d1fb94fbba9a410c05a370faf129172241dc377afee41dc24cc9e5bafaac"}, "url": "/docs/compare/?release=11.6#11.6-b4d55a23b642785a", "source_url": "/docs/release/11.6/#id-1.11.6.21.5"}, {"db_id": "7e6b80a38c92a835f9fafa759c9afc19", "kind": "equivalent", "version": "10.11", "label": "10.11", "title": "在 psql 中，意外丢失连接并成功重新连接后，重新同步关于服务器的内部状态", "evidence": {"same_day": true, "patch_ids": ["989f4cbbc066103b978638607a6ad548"], "statement_hash": "efd5d1fb94fbba9a410c05a370faf129172241dc377afee41dc24cc9e5bafaac"}, "url": "/docs/compare/?release=10.11#10.11-b4d55a23b642785a", "source_url": "/docs/release/10.11/#id-1.11.6.17.5"}, {"db_id": "1bc9918c5d1e2f5fc32c3478cb761f01", "kind": "equivalent", "version": "9.6.16", "label": "9.6.16", "title": "在 psql 中，意外连接丢失并成功重连之后重新同步关于服务器的内部状态", "evidence": {"same_day": true, "patch_ids": ["989f4cbbc066103b978638607a6ad548"], "statement_hash": "efd5d1fb94fbba9a410c05a370faf129172241dc377afee41dc24cc9e5bafaac"}, "url": "/docs/compare/?release=9.6.16#9.6.16-b59528386e4dab61", "source_url": "/docs/release/9.6.16/#id-1.11.6.13.5"}, {"db_id": "d71acd58d8299ec0820c244ccb30cd11", "kind": "equivalent", "version": "9.4.25", "label": "9.4.25", "title": "在 psql 中，意外连接丢失并成功重连之后重新同步关于服务器的内部状态", "evidence": {"same_day": true, "patch_ids": ["989f4cbbc066103b978638607a6ad548"], "statement_hash": "efd5d1fb94fbba9a410c05a370faf129172241dc377afee41dc24cc9e5bafaac"}, "url": "/docs/compare/?release=9.4.25#9.4.25-b59528386e4dab61", "source_url": "/docs/release/9.4.25/#id-1.11.6.6.6"}]}, {"id": "9.5.20-40dbba64ff68aa92", "cves": [], "html": "<p>避免 <span>psql</span> 中平台相关的空指针解引用（Quentin Rameau）</p>", "text": "避免 psql 中平台相关的空指针解引用（Quentin Rameau）", "title": "避免 psql 中平台相关的空指针解引用", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.5.20/#id-1.11.6.10.5", "source_hash": "1e532007a6b69675c5219f2400d048ce5dfdbf2eefb340e9321323c96677e42b", "section_path": ["变更"], "commit_groups": [["28d2ce3c7", "363382521", "5fc7b1e93", "6338fa3e7", "65b1cad5a", "c693c5c49", "fb55e9539"]], "identity_text": "Avoid platform-specific null pointer dereference in psql (Quentin Rameau)", "commit_aliases": ["28d2ce3c7", "363382521", "5fc7b1e93", "6338fa3e7", "65b1cad5a", "c693c5c49", "fb55e9539"], "source_commits": ["65b1cad5a"], "source_entry_id": "9.5.20/changes/030", "db_id": "62b52148d969679de9c3081ee15b1012", "patch_ids": ["4bc8bfc7475b0c29d9a65af50d248cc6"], "statement_hash": "f5c877897047f551b3de25260d824469a794ebddd94860e0eafdafda93cbed6f", "relations": [{"rule": 2, "type": "equivalent", "target": "1e07b974e12ac0a7794d59835c52b3b4", "evidence": {"same_day": true, "patch_ids": ["4bc8bfc7475b0c29d9a65af50d248cc6"], "statement_hash": "f5c877897047f551b3de25260d824469a794ebddd94860e0eafdafda93cbed6f"}}, {"rule": 2, "type": "equivalent", "target": "3a8c1fb571a41d8585b0b8d44ef758b5", "evidence": {"same_day": true, "patch_ids": ["4bc8bfc7475b0c29d9a65af50d248cc6"], "statement_hash": "f5c877897047f551b3de25260d824469a794ebddd94860e0eafdafda93cbed6f"}}, {"rule": 2, "type": "equivalent", "target": "a51574c5d195a832bc9c981a608a0c41", "evidence": {"same_day": true, "patch_ids": ["4bc8bfc7475b0c29d9a65af50d248cc6"], "statement_hash": "f5c877897047f551b3de25260d824469a794ebddd94860e0eafdafda93cbed6f"}}, {"rule": 2, "type": "equivalent", "target": "fad3a0a556016637fb89e50f4d5d1c5c", "evidence": {"same_day": true, "patch_ids": ["4bc8bfc7475b0c29d9a65af50d248cc6"], "statement_hash": "f5c877897047f551b3de25260d824469a794ebddd94860e0eafdafda93cbed6f"}}], "version": "9.5.20", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "1e07b974e12ac0a7794d59835c52b3b4", "kind": "equivalent", "version": "11.6", "label": "11.6", "title": "避免 psql 中特定平台上的空指针解引用", "evidence": {"same_day": true, "patch_ids": ["4bc8bfc7475b0c29d9a65af50d248cc6"], "statement_hash": "f5c877897047f551b3de25260d824469a794ebddd94860e0eafdafda93cbed6f"}, "url": "/docs/compare/?release=11.6#11.6-30fe5d8d6f8f2dfc", "source_url": "/docs/release/11.6/#id-1.11.6.21.5"}, {"db_id": "a51574c5d195a832bc9c981a608a0c41", "kind": "equivalent", "version": "10.11", "label": "10.11", "title": "避免 psql 中特定平台上的空指针解引用", "evidence": {"same_day": true, "patch_ids": ["4bc8bfc7475b0c29d9a65af50d248cc6"], "statement_hash": "f5c877897047f551b3de25260d824469a794ebddd94860e0eafdafda93cbed6f"}, "url": "/docs/compare/?release=10.11#10.11-30fe5d8d6f8f2dfc", "source_url": "/docs/release/10.11/#id-1.11.6.17.5"}, {"db_id": "fad3a0a556016637fb89e50f4d5d1c5c", "kind": "equivalent", "version": "9.6.16", "label": "9.6.16", "title": "避免 psql 中平台相关的空指针解引用", "evidence": {"same_day": true, "patch_ids": ["4bc8bfc7475b0c29d9a65af50d248cc6"], "statement_hash": "f5c877897047f551b3de25260d824469a794ebddd94860e0eafdafda93cbed6f"}, "url": "/docs/compare/?release=9.6.16#9.6.16-40dbba64ff68aa92", "source_url": "/docs/release/9.6.16/#id-1.11.6.13.5"}, {"db_id": "3a8c1fb571a41d8585b0b8d44ef758b5", "kind": "equivalent", "version": "9.4.25", "label": "9.4.25", "title": "避免 psql 中平台相关的空指针解引用", "evidence": {"same_day": true, "patch_ids": ["4bc8bfc7475b0c29d9a65af50d248cc6"], "statement_hash": "f5c877897047f551b3de25260d824469a794ebddd94860e0eafdafda93cbed6f"}, "url": "/docs/compare/?release=9.4.25#9.4.25-40dbba64ff68aa92", "source_url": "/docs/release/9.4.25/#id-1.11.6.6.6"}]}, {"id": "9.5.20-f9d0be0a8e560f62", "cves": [], "html": "<p>修复 <span>pg_dump</span> 对视图中循环依赖的处理（Tom Lane）</p>\n<p>某些情况下视图可能依赖于 <span>pg_dump</span> 需要在视图之后转储的对象；最常见的例子是在主键列上使用 <code>GROUP BY</code> 的查询在没有主键时可能在语义上无效。现在通过发出一个仅建立视图列名和类型的虚拟 <code>CREATE VIEW</code> 命令、之后再发出带完整视图定义的 <code>CREATE OR REPLACE VIEW</code> 来处理。此前虚拟定义实际上是一条 <code>CREATE TABLE</code> 命令，之后通过 <code>CREATE RULE</code> 命令自动转换成视图。这种新方法在 <span>PostgreSQL</span> 版本 10 及之后已经成功使用。现在把它向后移植到较旧的版本，是因为有报告称以前的方法会导致关于视图副本身份状态的虚假错误消息。这一更改还避免了在涉及此类视图的恢复期间尝试使用 <code>--clean</code> 选项时的问题。</p>", "text": "修复 pg_dump 对视图中循环依赖的处理（Tom Lane） 某些情况下视图可能依赖于 pg_dump 需要在视图之后转储的对象；最常见的例子是在主键列上使用 GROUP BY 的查询在没有主键时可能在语义上无效。现在通过发出一个仅建立视图列名和类型的虚拟 CREATE VIEW 命令、之后再发出带完整视图定义的 CREATE OR REPLACE VIEW 来处理。此前虚拟定义实际上是一条 CREATE TABLE 命令，之后通过 CREATE RULE 命令自动转换成视图。这种新方法在 PostgreSQL 版本 10 及之后已经成功使用。现在把它向后移植到较旧的版本，是因为有报告称以前的方法会导致关于视图副本身份状态的虚假错误消息。这一更改还避免了在涉及此类视图的恢复期间尝试使用 --clean 选项时的问题。", "title": "修复 pg_dump 对视图中循环依赖的处理", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.5.20/#id-1.11.6.10.5", "source_hash": "ccfbdfbc5b8098880730e0c8af5151e30ad8daeabfea6bb1d095fad6cd8682f6", "section_path": ["变更"], "commit_groups": [["404cbc562", "7fc50a8a7", "ddcc582a4"]], "identity_text": "Fix pg_dump's handling of circular dependencies in views (Tom Lane) In some cases a view may depend on an object that pg_dump needs to dump later than the view; the most common example is that a query using GROUP BY on a primary-key column may be semantically invalid without the primary key. This is now handled by emitting a dummy CREATE VIEW command that just establishes the view's column names and types, and then later emitting CREATE OR REPLACE VIEW with the full view definition. Previously, the dummy definition was actually a CREATE TABLE command, and this was automagically converted to a view by a later CREATE RULE command. The new approach has been used successfully in PostgreSQL version 10 and later. We are back-patching it into older releases now because of reports that the previous method causes bogus error messages about the view's replica identity status. This change also avoids problems when trying to use the --clean option during a restore involving such a view.", "commit_aliases": ["404cbc562", "7fc50a8a7", "ddcc582a4"], "source_commits": ["7fc50a8a7"], "source_entry_id": "9.5.20/changes/031", "db_id": "37642a90e8cace463753046f59ed6f35", "patch_ids": ["9dc10dd0717a193622320052bdcb9bda"], "statement_hash": "016bc28c047d5fb021d8086f540daec9dbd962e3644b3b33673a8ea71347335e", "relations": [{"rule": 2, "type": "equivalent", "target": "64711bc6a1a211668b7189724ea23f4f", "evidence": {"same_day": true, "patch_ids": ["9dc10dd0717a193622320052bdcb9bda"], "statement_hash": "016bc28c047d5fb021d8086f540daec9dbd962e3644b3b33673a8ea71347335e"}}, {"rule": 2, "type": "equivalent", "target": "a89fa0b3fdcaac5d34bd88b36a8a11d6", "evidence": {"same_day": true, "patch_ids": ["9dc10dd0717a193622320052bdcb9bda"], "statement_hash": "016bc28c047d5fb021d8086f540daec9dbd962e3644b3b33673a8ea71347335e"}}], "version": "9.5.20", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "a89fa0b3fdcaac5d34bd88b36a8a11d6", "kind": "equivalent", "version": "9.6.16", "label": "9.6.16", "title": "修复 pg_dump 对视图中循环依赖的处理", "evidence": {"same_day": true, "patch_ids": ["9dc10dd0717a193622320052bdcb9bda"], "statement_hash": "016bc28c047d5fb021d8086f540daec9dbd962e3644b3b33673a8ea71347335e"}, "url": "/docs/compare/?release=9.6.16#9.6.16-f9d0be0a8e560f62", "source_url": "/docs/release/9.6.16/#id-1.11.6.13.5"}, {"db_id": "64711bc6a1a211668b7189724ea23f4f", "kind": "equivalent", "version": "9.4.25", "label": "9.4.25", "title": "修复 pg_dump 对视图中循环依赖的处理", "evidence": {"same_day": true, "patch_ids": ["9dc10dd0717a193622320052bdcb9bda"], "statement_hash": "016bc28c047d5fb021d8086f540daec9dbd962e3644b3b33673a8ea71347335e"}, "url": "/docs/compare/?release=9.4.25#9.4.25-f9d0be0a8e560f62", "source_url": "/docs/release/9.4.25/#id-1.11.6.6.6"}]}, {"id": "9.5.20-bd8167949664b141", "cves": [], "html": "<p>在 <span>pg_dump</span> 中，确保同名触发器和行级安全策略对象的稳定输出顺序（Benjie Gillam）</p>\n<p>此前，如果不同表上的两个触发器同名，它们会按基于 OID 的顺序排序，这不如按表名排序理想。RLS 策略同理。</p>", "text": "在 pg_dump 中，确保同名触发器和行级安全策略对象的稳定输出顺序（Benjie Gillam） 此前，如果不同表上的两个触发器同名，它们会按基于 OID 的顺序排序，这不如按表名排序理想。RLS 策略同理。", "title": "在 pg_dump 中，确保同名触发器和行级安全策略对象的稳定输出顺序", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.5.20/#id-1.11.6.10.5", "source_hash": "0a083836b3fb2abc1e11d62fdf2aca7c46a6da4d61d64c7cdd816c569949cac1", "section_path": ["变更"], "commit_groups": [["078f5bc8e", "5102f3944", "648f17879", "74d32ee70", "ca27a84c9", "da5cd7a68", "ee8b95f26"]], "identity_text": "In pg_dump, ensure stable output order for similarly-named triggers and row-level-security policy objects (Benjie Gillam) Previously, if two triggers on different tables had the same names, they would be sorted in OID-based order, which is less desirable than sorting them by table name. Likewise for RLS policies.", "commit_aliases": ["078f5bc8e", "5102f3944", "648f17879", "74d32ee70", "ca27a84c9", "da5cd7a68", "ee8b95f26"], "source_commits": ["74d32ee70"], "source_entry_id": "9.5.20/changes/032", "db_id": "1eb55e45430b0c45783250806e8815e0", "patch_ids": ["942313a05555b57ba0897a803f711227"], "statement_hash": "cda6c53c513e726a6397771aeafd5bec7d15381a61afc0f0239a83be49bb9913", "relations": [{"rule": 2, "type": "equivalent", "target": "23135c2ddd64175efaa2b46647c07c11", "evidence": {"same_day": true, "patch_ids": ["942313a05555b57ba0897a803f711227"], "statement_hash": "cda6c53c513e726a6397771aeafd5bec7d15381a61afc0f0239a83be49bb9913"}}, {"rule": 2, "type": "equivalent", "target": "25bd821359a3753038ddadded63e6f3a", "evidence": {"same_day": true, "patch_ids": ["942313a05555b57ba0897a803f711227"], "statement_hash": "cda6c53c513e726a6397771aeafd5bec7d15381a61afc0f0239a83be49bb9913"}}, {"rule": 2, "type": "equivalent", "target": "921c2a7e63d27aaae4036e625c6887fd", "evidence": {"same_day": true, "patch_ids": ["942313a05555b57ba0897a803f711227"], "statement_hash": "cda6c53c513e726a6397771aeafd5bec7d15381a61afc0f0239a83be49bb9913"}}, {"rule": 2, "type": "equivalent", "target": "a8a5d43ed77e0081ab73103ceb2ae846", "evidence": {"same_day": true, "patch_ids": ["942313a05555b57ba0897a803f711227"], "statement_hash": "cda6c53c513e726a6397771aeafd5bec7d15381a61afc0f0239a83be49bb9913"}}, {"rule": 2, "type": "equivalent", "target": "fa647ca113a1508559005eb20a936e44", "evidence": {"same_day": true, "patch_ids": ["942313a05555b57ba0897a803f711227"], "statement_hash": "cda6c53c513e726a6397771aeafd5bec7d15381a61afc0f0239a83be49bb9913"}}], "version": "9.5.20", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "fa647ca113a1508559005eb20a936e44", "kind": "equivalent", "version": "12.1", "label": "12.1", "title": "在 pg_dump 中，确保名称相似的触发器和行级安全策略对象的输出顺序稳定", "evidence": {"same_day": true, "patch_ids": ["942313a05555b57ba0897a803f711227"], "statement_hash": "cda6c53c513e726a6397771aeafd5bec7d15381a61afc0f0239a83be49bb9913"}, "url": "/docs/compare/?release=12.1#12.1-f86364d7db67984c", "source_url": "/docs/release/12.1/#id-1.11.6.27.5"}, {"db_id": "23135c2ddd64175efaa2b46647c07c11", "kind": "equivalent", "version": "11.6", "label": "11.6", "title": "在 pg_dump 中，确保名称相似的触发器和行级安全策略对象的输出顺序稳定", "evidence": {"same_day": true, "patch_ids": ["942313a05555b57ba0897a803f711227"], "statement_hash": "cda6c53c513e726a6397771aeafd5bec7d15381a61afc0f0239a83be49bb9913"}, "url": "/docs/compare/?release=11.6#11.6-51c6c1ae1d07494b", "source_url": "/docs/release/11.6/#id-1.11.6.21.5"}, {"db_id": "921c2a7e63d27aaae4036e625c6887fd", "kind": "equivalent", "version": "10.11", "label": "10.11", "title": "在 pg_dump 中，确保名称相似的触发器和行级安全策略对象的输出顺序稳定", "evidence": {"same_day": true, "patch_ids": ["942313a05555b57ba0897a803f711227"], "statement_hash": "cda6c53c513e726a6397771aeafd5bec7d15381a61afc0f0239a83be49bb9913"}, "url": "/docs/compare/?release=10.11#10.11-51c6c1ae1d07494b", "source_url": "/docs/release/10.11/#id-1.11.6.17.5"}, {"db_id": "25bd821359a3753038ddadded63e6f3a", "kind": "equivalent", "version": "9.6.16", "label": "9.6.16", "title": "在 pg_dump 中，确保同名触发器和行级安全策略对象的稳定输出顺序", "evidence": {"same_day": true, "patch_ids": ["942313a05555b57ba0897a803f711227"], "statement_hash": "cda6c53c513e726a6397771aeafd5bec7d15381a61afc0f0239a83be49bb9913"}, "url": "/docs/compare/?release=9.6.16#9.6.16-bd8167949664b141", "source_url": "/docs/release/9.6.16/#id-1.11.6.13.5"}, {"db_id": "a8a5d43ed77e0081ab73103ceb2ae846", "kind": "equivalent", "version": "9.4.25", "label": "9.4.25", "title": "在 pg_dump 中，确保同名触发器和行级安全策略对象的稳定输出顺序", "evidence": {"same_day": true, "patch_ids": ["942313a05555b57ba0897a803f711227"], "statement_hash": "cda6c53c513e726a6397771aeafd5bec7d15381a61afc0f0239a83be49bb9913"}, "url": "/docs/compare/?release=9.4.25#9.4.25-bd8167949664b141", "source_url": "/docs/release/9.4.25/#id-1.11.6.6.6"}]}, {"id": "9.5.20-bffa29be0dd8a6d7", "cves": [], "html": "<p>修复 <span>pg_dump</span> 重新与 8.3 之前的源服务器工作的问题（Tom Lane）</p>\n<p>此前的一次修复使 <span>pg_dump</span> 总是试图查询 <code>pg_opfamily</code>，但该目录在 8.3 版之前不存在。</p>", "text": "修复 pg_dump 重新与 8.3 之前的源服务器工作的问题（Tom Lane） 此前的一次修复使 pg_dump 总是试图查询 pg_opfamily，但该目录在 8.3 版之前不存在。", "title": "修复 pg_dump 重新与 8.3 之前的源服务器工作的问题", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.5.20/#id-1.11.6.10.5", "source_hash": "7a6934a904b8720e9ae5f50bef73892cdb25405ed0af9c8125f8264deab36921", "section_path": ["变更"], "commit_groups": [["2b608ba31", "31d43710f", "4dea8ad56", "63ae888a9", "6844adba5", "c56858487", "f2bdfebb9"]], "identity_text": "Fix pg_dump to work again with pre-8.3 source servers (Tom Lane) A previous fix caused pg_dump to always try to query pg_opfamily, but that catalog doesn't exist before version 8.3.", "commit_aliases": ["2b608ba31", "31d43710f", "4dea8ad56", "63ae888a9", "6844adba5", "c56858487", "f2bdfebb9"], "source_commits": ["c56858487"], "source_entry_id": "9.5.20/changes/033", "db_id": "08dacd7c914334b0fc5cb6ac7f6474bf", "patch_ids": ["d71878ff6b815304b9b657e483172169"], "statement_hash": "88f87b255698fe87248479f9676e4fb380622d1b0d04add35c15fe00c06ea3e4", "relations": [{"rule": 2, "type": "equivalent", "target": "165675768109d9e1a41b61e82087cb03", "evidence": {"same_day": true, "patch_ids": ["d71878ff6b815304b9b657e483172169"], "statement_hash": "88f87b255698fe87248479f9676e4fb380622d1b0d04add35c15fe00c06ea3e4"}}, {"rule": 2, "type": "equivalent", "target": "6f0c4ebd3da0800b96dc28acfed0f3c5", "evidence": {"same_day": true, "patch_ids": ["d71878ff6b815304b9b657e483172169"], "statement_hash": "88f87b255698fe87248479f9676e4fb380622d1b0d04add35c15fe00c06ea3e4"}}, {"rule": 2, "type": "equivalent", "target": "82fdce4fab5c46291d9b290f873418af", "evidence": {"same_day": true, "patch_ids": ["d71878ff6b815304b9b657e483172169"], "statement_hash": "88f87b255698fe87248479f9676e4fb380622d1b0d04add35c15fe00c06ea3e4"}}, {"rule": 2, "type": "equivalent", "target": "9080dd4647ee7e07e5928151f7ad708e", "evidence": {"same_day": true, "patch_ids": ["d71878ff6b815304b9b657e483172169"], "statement_hash": "88f87b255698fe87248479f9676e4fb380622d1b0d04add35c15fe00c06ea3e4"}}], "version": "9.5.20", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "165675768109d9e1a41b61e82087cb03", "kind": "equivalent", "version": "11.6", "label": "11.6", "title": "修复 pg_dump，使其重新能够使用 8.3 之前版本的源服务器", "evidence": {"same_day": true, "patch_ids": ["d71878ff6b815304b9b657e483172169"], "statement_hash": "88f87b255698fe87248479f9676e4fb380622d1b0d04add35c15fe00c06ea3e4"}, "url": "/docs/compare/?release=11.6#11.6-3fd42cb8d7865a50", "source_url": "/docs/release/11.6/#id-1.11.6.21.5"}, {"db_id": "9080dd4647ee7e07e5928151f7ad708e", "kind": "equivalent", "version": "10.11", "label": "10.11", "title": "修复 pg_dump，使其重新能够使用 8.3 之前版本的源服务器", "evidence": {"same_day": true, "patch_ids": ["d71878ff6b815304b9b657e483172169"], "statement_hash": "88f87b255698fe87248479f9676e4fb380622d1b0d04add35c15fe00c06ea3e4"}, "url": "/docs/compare/?release=10.11#10.11-3fd42cb8d7865a50", "source_url": "/docs/release/10.11/#id-1.11.6.17.5"}, {"db_id": "6f0c4ebd3da0800b96dc28acfed0f3c5", "kind": "equivalent", "version": "9.6.16", "label": "9.6.16", "title": "修复 pg_dump 重新与 8.3 之前的源服务器工作的问题", "evidence": {"same_day": true, "patch_ids": ["d71878ff6b815304b9b657e483172169"], "statement_hash": "88f87b255698fe87248479f9676e4fb380622d1b0d04add35c15fe00c06ea3e4"}, "url": "/docs/compare/?release=9.6.16#9.6.16-bffa29be0dd8a6d7", "source_url": "/docs/release/9.6.16/#id-1.11.6.13.5"}, {"db_id": "82fdce4fab5c46291d9b290f873418af", "kind": "equivalent", "version": "9.4.25", "label": "9.4.25", "title": "修复 pg_dump 重新与 8.3 之前的源服务器工作的问题", "evidence": {"same_day": true, "patch_ids": ["d71878ff6b815304b9b657e483172169"], "statement_hash": "88f87b255698fe87248479f9676e4fb380622d1b0d04add35c15fe00c06ea3e4"}, "url": "/docs/compare/?release=9.4.25#9.4.25-bffa29be0dd8a6d7", "source_url": "/docs/release/9.4.25/#id-1.11.6.6.6"}]}, {"id": "9.5.20-6ec82510f60f70e9", "cves": [], "html": "<p>在 <span>pg_restore</span> 中，把 <code>-f -</code> 当作<span>“<span>输出到 stdout</span>”</span>（Álvaro Herrera）</p>\n<p>这使 <span>pg_restore</span> 的行为与其他一些应用同步，特别是使 v12 之前的分支表现得与版本 12 的 <span>pg_restore</span> 相似，简化了跨多个 <span>PostgreSQL</span> 版本的转储/恢复脚本的创建。在此更改之前，<span>pg_restore</span> 把这种开关解释为<span>“<span>输出到名为 <code>-</code> 的文件</span>”</span>，但很少有人会想要那样。</p>", "text": "在 pg_restore 中，把 -f - 当作“输出到 stdout”（Álvaro Herrera） 这使 pg_restore 的行为与其他一些应用同步，特别是使 v12 之前的分支表现得与版本 12 的 pg_restore 相似，简化了跨多个 PostgreSQL 版本的转储/恢复脚本的创建。在此更改之前，pg_restore 把这种开关解释为“输出到名为 - 的文件”，但很少有人会想要那样。", "title": "在 pg_restore 中，把 -f - 当作“输出到 stdout”", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.5.20/#id-1.11.6.10.5", "source_hash": "6293be9197c2c3683c1df7ee5a491cbbed78a0fed5d3f27c7013933145be8b6a", "section_path": ["变更"], "commit_groups": [["12a51e2eb", "3574c0ac0", "5ee8f0fe1", "9fb25fda6", "d38635725"]], "identity_text": "In pg_restore, treat -f - as meaning output to stdout (Álvaro Herrera) This synchronizes pg_restore's behavior with some other applications, and in particular makes pre-v12 branches act similarly to version 12's pg_restore, simplifying creation of dump/restore scripts that work across multiple PostgreSQL versions. Before this change, pg_restore interpreted such a switch as meaning output to a file named -, but few people would want that.", "commit_aliases": ["12a51e2eb", "3574c0ac0", "5ee8f0fe1", "9fb25fda6", "d38635725"], "source_commits": ["d38635725"], "source_entry_id": "9.5.20/changes/034", "db_id": "0fb06bb61933820ce109f1fb57a07095", "patch_ids": ["d543638e0adb6ae160d3d75e0395599c"], "statement_hash": "f582eb5274a2c01036cb5b6f4a3ded9c5b8c09a05deadf030b6853753865523e", "relations": [{"rule": 2, "type": "equivalent", "target": "17eef586257eb2b31052fd424787e1e0", "evidence": {"same_day": true, "patch_ids": ["d543638e0adb6ae160d3d75e0395599c"], "statement_hash": "f582eb5274a2c01036cb5b6f4a3ded9c5b8c09a05deadf030b6853753865523e"}}, {"rule": 2, "type": "equivalent", "target": "71c71a9da18b3b766b2ead932528efd3", "evidence": {"same_day": true, "patch_ids": ["d543638e0adb6ae160d3d75e0395599c"], "statement_hash": "f582eb5274a2c01036cb5b6f4a3ded9c5b8c09a05deadf030b6853753865523e"}}, {"rule": 2, "type": "equivalent", "target": "ba7b4d90e9c3137c7ff24eb2f08ea42e", "evidence": {"same_day": true, "patch_ids": ["d543638e0adb6ae160d3d75e0395599c"], "statement_hash": "f582eb5274a2c01036cb5b6f4a3ded9c5b8c09a05deadf030b6853753865523e"}}, {"rule": 2, "type": "equivalent", "target": "cc6825921e4ad8915cb866b0258595d5", "evidence": {"same_day": true, "patch_ids": ["d543638e0adb6ae160d3d75e0395599c"], "statement_hash": "f582eb5274a2c01036cb5b6f4a3ded9c5b8c09a05deadf030b6853753865523e"}}], "version": "9.5.20", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "cc6825921e4ad8915cb866b0258595d5", "kind": "equivalent", "version": "11.6", "label": "11.6", "title": "在 pg_restore 中，将 -f - 解释为“输出到 stdout”", "evidence": {"same_day": true, "patch_ids": ["d543638e0adb6ae160d3d75e0395599c"], "statement_hash": "f582eb5274a2c01036cb5b6f4a3ded9c5b8c09a05deadf030b6853753865523e"}, "url": "/docs/compare/?release=11.6#11.6-e372a20584cafcef", "source_url": "/docs/release/11.6/#id-1.11.6.21.5"}, {"db_id": "71c71a9da18b3b766b2ead932528efd3", "kind": "equivalent", "version": "10.11", "label": "10.11", "title": "在 pg_restore 中，将 -f - 解释为“输出到 stdout”", "evidence": {"same_day": true, "patch_ids": ["d543638e0adb6ae160d3d75e0395599c"], "statement_hash": "f582eb5274a2c01036cb5b6f4a3ded9c5b8c09a05deadf030b6853753865523e"}, "url": "/docs/compare/?release=10.11#10.11-e372a20584cafcef", "source_url": "/docs/release/10.11/#id-1.11.6.17.5"}, {"db_id": "ba7b4d90e9c3137c7ff24eb2f08ea42e", "kind": "equivalent", "version": "9.6.16", "label": "9.6.16", "title": "在 pg_restore 中，把 -f - 当作“输出到 stdout”", "evidence": {"same_day": true, "patch_ids": ["d543638e0adb6ae160d3d75e0395599c"], "statement_hash": "f582eb5274a2c01036cb5b6f4a3ded9c5b8c09a05deadf030b6853753865523e"}, "url": "/docs/compare/?release=9.6.16#9.6.16-6ec82510f60f70e9", "source_url": "/docs/release/9.6.16/#id-1.11.6.13.5"}, {"db_id": "17eef586257eb2b31052fd424787e1e0", "kind": "equivalent", "version": "9.4.25", "label": "9.4.25", "title": "在 pg_restore 中，把 -f - 当作“输出到 stdout”", "evidence": {"same_day": true, "patch_ids": ["d543638e0adb6ae160d3d75e0395599c"], "statement_hash": "f582eb5274a2c01036cb5b6f4a3ded9c5b8c09a05deadf030b6853753865523e"}, "url": "/docs/compare/?release=9.4.25#9.4.25-6ec82510f60f70e9", "source_url": "/docs/release/9.4.25/#id-1.11.6.6.6"}]}, {"id": "9.5.20-330be4324045f5cd", "cves": [], "html": "<p>改进 <span>pg_upgrade</span> 对使用表示已更改的数据类型（如 <code>line</code>）的检查（Tomas Vondra）</p>\n<p>原来的编码可能被所关注数据类型构成域或复合类型的存储列底层的情况所欺骗。</p>", "text": "改进 pg_upgrade 对使用表示已更改的数据类型（如 line）的检查（Tomas Vondra） 原来的编码可能被所关注数据类型构成域或复合类型的存储列底层的情况所欺骗。", "title": "改进 pg_upgrade 对使用表示已更改的数据类型（如 line）的检查", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.5.20/#id-1.11.6.10.5", "source_hash": "779c9e76560879b185d9f4e804c89731f23ca02aa2344dfbf09decf55d1b9971", "section_path": ["变更"], "commit_groups": [["0a643de08", "2218fdca4", "235a52ca0", "8d48e6a72", "a970b6cde", "ebb4caa91", "f57b01dd7"], ["984aa0ede", "bc3a94dc0", "e09ab32a2"], ["a524f50d0", "a8e49ae0c", "d071a2539", "e86ece221"]], "identity_text": "Improve pg_upgrade's checks for the use of a data type that has changed representation, such as line (Tomas Vondra) The previous coding could be fooled by cases where the data type of interest underlies a stored column of a domain or composite type.", "commit_aliases": ["0a643de08", "2218fdca4", "235a52ca0", "8d48e6a72", "984aa0ede", "a524f50d0", "a8e49ae0c", "a970b6cde", "bc3a94dc0", "d071a2539", "e09ab32a2", "e86ece221", "ebb4caa91", "f57b01dd7"], "source_commits": ["984aa0ede", "a524f50d0", "f57b01dd7"], "source_entry_id": "9.5.20/changes/035", "db_id": "f5f7037586fa92a8bf4ff4d15a9afea2", "patch_ids": ["0e623a704a7e6eb0fc8d588ecdb76af5", "199f05d03ba135f80467a01b7586ee3c", "64e1457e23cab5d9aa9fd7e39ad09645"], "statement_hash": "270077457021aa52ded0d5d6bc4e1f642f17f2bf5810b6cb9111f6006f565dbb", "relations": [{"rule": 2, "type": "equivalent", "target": "00e22fc3b19209ebf05ca425b9ea27ba", "evidence": {"same_day": true, "patch_ids": ["0e623a704a7e6eb0fc8d588ecdb76af5", "199f05d03ba135f80467a01b7586ee3c", "64e1457e23cab5d9aa9fd7e39ad09645"], "statement_hash": "270077457021aa52ded0d5d6bc4e1f642f17f2bf5810b6cb9111f6006f565dbb"}}, {"rule": 2, "type": "equivalent", "target": "072900c922faab2411c7ca0e25dc834b", "evidence": {"same_day": true, "patch_ids": ["0e623a704a7e6eb0fc8d588ecdb76af5", "199f05d03ba135f80467a01b7586ee3c", "64e1457e23cab5d9aa9fd7e39ad09645"], "statement_hash": "270077457021aa52ded0d5d6bc4e1f642f17f2bf5810b6cb9111f6006f565dbb"}}, {"rule": 2, "type": "equivalent", "target": "c6dbec348b8c1f9ac693d8cfecf5b92e", "evidence": {"same_day": true, "patch_ids": ["0e623a704a7e6eb0fc8d588ecdb76af5", "199f05d03ba135f80467a01b7586ee3c", "64e1457e23cab5d9aa9fd7e39ad09645"], "statement_hash": "270077457021aa52ded0d5d6bc4e1f642f17f2bf5810b6cb9111f6006f565dbb"}}, {"rule": 2, "type": "equivalent", "target": "ca14a9b1b159c7912770289654a6f0b9", "evidence": {"same_day": true, "patch_ids": ["0e623a704a7e6eb0fc8d588ecdb76af5", "199f05d03ba135f80467a01b7586ee3c", "64e1457e23cab5d9aa9fd7e39ad09645"], "statement_hash": "270077457021aa52ded0d5d6bc4e1f642f17f2bf5810b6cb9111f6006f565dbb"}}, {"rule": 2, "type": "equivalent", "target": "dc3f72604090aa81b343e5c1103d3d82", "evidence": {"same_day": true, "patch_ids": ["0e623a704a7e6eb0fc8d588ecdb76af5", "199f05d03ba135f80467a01b7586ee3c", "64e1457e23cab5d9aa9fd7e39ad09645"], "statement_hash": "270077457021aa52ded0d5d6bc4e1f642f17f2bf5810b6cb9111f6006f565dbb"}}], "version": "9.5.20", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "00e22fc3b19209ebf05ca425b9ea27ba", "kind": "equivalent", "version": "12.1", "label": "12.1", "title": "改进 pg_upgrade 对使用了表示形式已变更的数据类型（如 line）的检查", "evidence": {"same_day": true, "patch_ids": ["0e623a704a7e6eb0fc8d588ecdb76af5", "199f05d03ba135f80467a01b7586ee3c", "64e1457e23cab5d9aa9fd7e39ad09645"], "statement_hash": "270077457021aa52ded0d5d6bc4e1f642f17f2bf5810b6cb9111f6006f565dbb"}, "url": "/docs/compare/?release=12.1#12.1-3bb64889a255ec2b", "source_url": "/docs/release/12.1/#id-1.11.6.27.5"}, {"db_id": "c6dbec348b8c1f9ac693d8cfecf5b92e", "kind": "equivalent", "version": "11.6", "label": "11.6", "title": "改进 pg_upgrade 对使用了表示形式已变更的数据类型（如 line）的检查", "evidence": {"same_day": true, "patch_ids": ["0e623a704a7e6eb0fc8d588ecdb76af5", "199f05d03ba135f80467a01b7586ee3c", "64e1457e23cab5d9aa9fd7e39ad09645"], "statement_hash": "270077457021aa52ded0d5d6bc4e1f642f17f2bf5810b6cb9111f6006f565dbb"}, "url": "/docs/compare/?release=11.6#11.6-32c01997a9104b98", "source_url": "/docs/release/11.6/#id-1.11.6.21.5"}, {"db_id": "dc3f72604090aa81b343e5c1103d3d82", "kind": "equivalent", "version": "10.11", "label": "10.11", "title": "改进 pg_upgrade 对使用了表示形式已变更的数据类型（如 line）的检查", "evidence": {"same_day": true, "patch_ids": ["0e623a704a7e6eb0fc8d588ecdb76af5", "199f05d03ba135f80467a01b7586ee3c", "64e1457e23cab5d9aa9fd7e39ad09645"], "statement_hash": "270077457021aa52ded0d5d6bc4e1f642f17f2bf5810b6cb9111f6006f565dbb"}, "url": "/docs/compare/?release=10.11#10.11-32c01997a9104b98", "source_url": "/docs/release/10.11/#id-1.11.6.17.5"}, {"db_id": "072900c922faab2411c7ca0e25dc834b", "kind": "equivalent", "version": "9.6.16", "label": "9.6.16", "title": "改进 pg_upgrade 对使用表示已更改的数据类型（如 line）的检查", "evidence": {"same_day": true, "patch_ids": ["0e623a704a7e6eb0fc8d588ecdb76af5", "199f05d03ba135f80467a01b7586ee3c", "64e1457e23cab5d9aa9fd7e39ad09645"], "statement_hash": "270077457021aa52ded0d5d6bc4e1f642f17f2bf5810b6cb9111f6006f565dbb"}, "url": "/docs/compare/?release=9.6.16#9.6.16-330be4324045f5cd", "source_url": "/docs/release/9.6.16/#id-1.11.6.13.5"}, {"db_id": "ca14a9b1b159c7912770289654a6f0b9", "kind": "equivalent", "version": "9.4.25", "label": "9.4.25", "title": "改进 pg_upgrade 对使用表示已更改的数据类型（如 line）的检查", "evidence": {"same_day": true, "patch_ids": ["0e623a704a7e6eb0fc8d588ecdb76af5", "199f05d03ba135f80467a01b7586ee3c", "64e1457e23cab5d9aa9fd7e39ad09645"], "statement_hash": "270077457021aa52ded0d5d6bc4e1f642f17f2bf5810b6cb9111f6006f565dbb"}, "url": "/docs/compare/?release=9.4.25#9.4.25-330be4324045f5cd", "source_url": "/docs/release/9.4.25/#id-1.11.6.6.6"}]}, {"id": "9.5.20-fb0478e6d5467641", "cves": [], "html": "<p>检测 <span>pg_basebackup</span> 期间的文件读取错误（Jeevan Chalke）</p>", "text": "检测 pg_basebackup 期间的文件读取错误（Jeevan Chalke）", "title": "检测 pg_basebackup 期间的文件读取错误", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.5.20/#id-1.11.6.10.5", "source_hash": "e4a8c865d7f49838d1cec6415d413cb112949c0a0ca70e7f21555cdf5cc6b8e0", "section_path": ["变更"], "commit_groups": [["23df88226", "286af0ce1", "61c65cce4", "62fb12d7e", "ce5542d40", "f697c6396", "fbe897134"]], "identity_text": "Detect file read errors during pg_basebackup (Jeevan Chalke)", "commit_aliases": ["23df88226", "286af0ce1", "61c65cce4", "62fb12d7e", "ce5542d40", "f697c6396", "fbe897134"], "source_commits": ["f697c6396"], "source_entry_id": "9.5.20/changes/036", "db_id": "a534d37ecfc7a597eb6d4bf090e2b440", "patch_ids": ["61a893d87c64c143bf77bc39db4d7181"], "statement_hash": "f87d772bb065b32875fa22f62fdb08b62afabc7444aae76fa7dd24a9054e5a53", "relations": [{"rule": 2, "type": "equivalent", "target": "258c9775688910c3b0b5f22d79157cac", "evidence": {"same_day": true, "patch_ids": ["61a893d87c64c143bf77bc39db4d7181"], "statement_hash": "f87d772bb065b32875fa22f62fdb08b62afabc7444aae76fa7dd24a9054e5a53"}}, {"rule": 2, "type": "equivalent", "target": "303d2ad86d113dd352d311cff972705e", "evidence": {"same_day": true, "patch_ids": ["61a893d87c64c143bf77bc39db4d7181"], "statement_hash": "f87d772bb065b32875fa22f62fdb08b62afabc7444aae76fa7dd24a9054e5a53"}}, {"rule": 2, "type": "equivalent", "target": "501bcee82b34378967ee99427d8e3f38", "evidence": {"same_day": true, "patch_ids": ["61a893d87c64c143bf77bc39db4d7181"], "statement_hash": "f87d772bb065b32875fa22f62fdb08b62afabc7444aae76fa7dd24a9054e5a53"}}, {"rule": 2, "type": "equivalent", "target": "57919907177d18a2f65b3c2618a02b5e", "evidence": {"same_day": true, "patch_ids": ["61a893d87c64c143bf77bc39db4d7181"], "statement_hash": "f87d772bb065b32875fa22f62fdb08b62afabc7444aae76fa7dd24a9054e5a53"}}], "version": "9.5.20", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "57919907177d18a2f65b3c2618a02b5e", "kind": "equivalent", "version": "11.6", "label": "11.6", "title": "检测 pg_basebackup 期间的文件读取错误", "evidence": {"same_day": true, "patch_ids": ["61a893d87c64c143bf77bc39db4d7181"], "statement_hash": "f87d772bb065b32875fa22f62fdb08b62afabc7444aae76fa7dd24a9054e5a53"}, "url": "/docs/compare/?release=11.6#11.6-fb0478e6d5467641", "source_url": "/docs/release/11.6/#id-1.11.6.21.5"}, {"db_id": "501bcee82b34378967ee99427d8e3f38", "kind": "equivalent", "version": "10.11", "label": "10.11", "title": "检测 pg_basebackup 期间的文件读取错误", "evidence": {"same_day": true, "patch_ids": ["61a893d87c64c143bf77bc39db4d7181"], "statement_hash": "f87d772bb065b32875fa22f62fdb08b62afabc7444aae76fa7dd24a9054e5a53"}, "url": "/docs/compare/?release=10.11#10.11-fb0478e6d5467641", "source_url": "/docs/release/10.11/#id-1.11.6.17.5"}, {"db_id": "303d2ad86d113dd352d311cff972705e", "kind": "equivalent", "version": "9.6.16", "label": "9.6.16", "title": "检测 pg_basebackup 期间的文件读取错误", "evidence": {"same_day": true, "patch_ids": ["61a893d87c64c143bf77bc39db4d7181"], "statement_hash": "f87d772bb065b32875fa22f62fdb08b62afabc7444aae76fa7dd24a9054e5a53"}, "url": "/docs/compare/?release=9.6.16#9.6.16-fb0478e6d5467641", "source_url": "/docs/release/9.6.16/#id-1.11.6.13.5"}, {"db_id": "258c9775688910c3b0b5f22d79157cac", "kind": "equivalent", "version": "9.4.25", "label": "9.4.25", "title": "检测 pg_basebackup 期间的文件读取错误", "evidence": {"same_day": true, "patch_ids": ["61a893d87c64c143bf77bc39db4d7181"], "statement_hash": "f87d772bb065b32875fa22f62fdb08b62afabc7444aae76fa7dd24a9054e5a53"}, "url": "/docs/compare/?release=9.4.25#9.4.25-fb0478e6d5467641", "source_url": "/docs/release/9.4.25/#id-1.11.6.6.6"}]}, {"id": "9.5.20-9fcd805ac104ee04", "cves": [], "html": "<p>在带在线源集簇的 <span>pg_rewind</span> 中，禁用超时，与 <span>pg_dump</span> 的做法类似（Alexander Kukushkin）</p>", "text": "在带在线源集簇的 pg_rewind 中，禁用超时，与 pg_dump 的做法类似（Alexander Kukushkin）", "title": "在带在线源集簇的 pg_rewind 中，禁用超时，与 pg_dump 的做法类似", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.5.20/#id-1.11.6.10.5", "source_hash": "f0d136d0a4bb233ad40b140668d2d89f875efc183c8793f5314bdf3ad68ff0f3", "section_path": ["变更"], "commit_groups": [["19bfa15a8", "be182e4f9", "d64789e97", "e96f52443", "e9dcbc9c3", "f51006ea9"]], "identity_text": "In pg_rewind with an online source cluster, disable timeouts, much as pg_dump does (Alexander Kukushkin)", "commit_aliases": ["19bfa15a8", "be182e4f9", "d64789e97", "e96f52443", "e9dcbc9c3", "f51006ea9"], "source_commits": ["e9dcbc9c3"], "source_entry_id": "9.5.20/changes/037", "db_id": "51af7c4fcc122c4a493725de98450d5d", "patch_ids": ["4e8017aa38cf803ee3d3e19dd345a30d"], "statement_hash": "4f8174b347202f73aa2c138a5d8825b210757446053462d4639bba5a341962b7", "relations": [{"rule": 2, "type": "equivalent", "target": "533285da9fa100f4cfc9182a5217f430", "evidence": {"same_day": true, "patch_ids": ["4e8017aa38cf803ee3d3e19dd345a30d"], "statement_hash": "4f8174b347202f73aa2c138a5d8825b210757446053462d4639bba5a341962b7"}}, {"rule": 2, "type": "equivalent", "target": "8027a94d68d8215e26e2343d7b726d09", "evidence": {"same_day": true, "patch_ids": ["4e8017aa38cf803ee3d3e19dd345a30d"], "statement_hash": "4f8174b347202f73aa2c138a5d8825b210757446053462d4639bba5a341962b7"}}, {"rule": 2, "type": "equivalent", "target": "8a525dc854cf79eded68f020843d0f14", "evidence": {"same_day": true, "patch_ids": ["4e8017aa38cf803ee3d3e19dd345a30d"], "statement_hash": "4f8174b347202f73aa2c138a5d8825b210757446053462d4639bba5a341962b7"}}], "version": "9.5.20", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "8a525dc854cf79eded68f020843d0f14", "kind": "equivalent", "version": "11.6", "label": "11.6", "title": "在源集群在线的情况下运行 pg_rewind 时，像 pg_dump 那样禁用超时", "evidence": {"same_day": true, "patch_ids": ["4e8017aa38cf803ee3d3e19dd345a30d"], "statement_hash": "4f8174b347202f73aa2c138a5d8825b210757446053462d4639bba5a341962b7"}, "url": "/docs/compare/?release=11.6#11.6-f36ec9cf1ef4a68a", "source_url": "/docs/release/11.6/#id-1.11.6.21.5"}, {"db_id": "8027a94d68d8215e26e2343d7b726d09", "kind": "equivalent", "version": "10.11", "label": "10.11", "title": "在源集群在线的情况下运行 pg_rewind 时，像 pg_dump 那样禁用超时", "evidence": {"same_day": true, "patch_ids": ["4e8017aa38cf803ee3d3e19dd345a30d"], "statement_hash": "4f8174b347202f73aa2c138a5d8825b210757446053462d4639bba5a341962b7"}, "url": "/docs/compare/?release=10.11#10.11-f36ec9cf1ef4a68a", "source_url": "/docs/release/10.11/#id-1.11.6.17.5"}, {"db_id": "533285da9fa100f4cfc9182a5217f430", "kind": "equivalent", "version": "9.6.16", "label": "9.6.16", "title": "在带在线源集簇的 pg_rewind 中，禁用超时，与 pg_dump 的做法类似", "evidence": {"same_day": true, "patch_ids": ["4e8017aa38cf803ee3d3e19dd345a30d"], "statement_hash": "4f8174b347202f73aa2c138a5d8825b210757446053462d4639bba5a341962b7"}, "url": "/docs/compare/?release=9.6.16#9.6.16-9fcd805ac104ee04", "source_url": "/docs/release/9.6.16/#id-1.11.6.13.5"}]}, {"id": "9.5.20-cdcc327d2292fd7b", "cves": [], "html": "<p>修复 <span>pg_waldump</span> 使用 <code>-s</code> 选项且延续 WAL 记录恰好在页边界结束时失败的问题（Andrey Lepikhov）</p>", "text": "修复 pg_waldump 使用 -s 选项且延续 WAL 记录恰好在页边界结束时失败的问题（Andrey Lepikhov）", "title": "修复 pg_waldump 使用 -s 选项且延续 WAL 记录恰好在页边界结束时失败的问题", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.5.20/#id-1.11.6.10.5", "source_hash": "fe96d5bb3adf06b50d9becc2e0d8d97aa68ca43e4ed16f4302d282f11eeaffbc", "section_path": ["变更"], "commit_groups": [["127ad57f5", "1accf9974", "a0c96856e", "aa7cd6a8e", "b1bebc2ce", "e5cfb8cbb", "fb53c4c07"]], "identity_text": "Fix failure in pg_waldump with the -s option, when a continuation WAL record ends exactly at a page boundary (Andrey Lepikhov)", "commit_aliases": ["127ad57f5", "1accf9974", "a0c96856e", "aa7cd6a8e", "b1bebc2ce", "e5cfb8cbb", "fb53c4c07"], "source_commits": ["b1bebc2ce"], "source_entry_id": "9.5.20/changes/038", "db_id": "574a674aabeb09a243b13790922c5efa", "patch_ids": ["b228afe783c311b1b43ff90892a58071"], "statement_hash": "302d2abc8965cf0a3067b66c0e6a3c7efc31898b6f47fa1d7f7139557bff6272", "relations": [{"rule": 2, "type": "equivalent", "target": "2369fe2c2a869184066de21b760a4519", "evidence": {"same_day": true, "patch_ids": ["b228afe783c311b1b43ff90892a58071"], "statement_hash": "302d2abc8965cf0a3067b66c0e6a3c7efc31898b6f47fa1d7f7139557bff6272"}}, {"rule": 2, "type": "equivalent", "target": "4970c4c81427d42399ce716c0f0f4018", "evidence": {"same_day": true, "patch_ids": ["b228afe783c311b1b43ff90892a58071"], "statement_hash": "302d2abc8965cf0a3067b66c0e6a3c7efc31898b6f47fa1d7f7139557bff6272"}}, {"rule": 2, "type": "equivalent", "target": "a2dc04935e730e361e88365cbe325fda", "evidence": {"same_day": true, "patch_ids": ["b228afe783c311b1b43ff90892a58071"], "statement_hash": "302d2abc8965cf0a3067b66c0e6a3c7efc31898b6f47fa1d7f7139557bff6272"}}, {"rule": 2, "type": "equivalent", "target": "c1c6b5f65ea570a78790482b40d232d5", "evidence": {"same_day": true, "patch_ids": ["b228afe783c311b1b43ff90892a58071"], "statement_hash": "302d2abc8965cf0a3067b66c0e6a3c7efc31898b6f47fa1d7f7139557bff6272"}}, {"rule": 2, "type": "equivalent", "target": "e110397ffcad28e37fd7a3608aa6799f", "evidence": {"same_day": true, "patch_ids": ["b228afe783c311b1b43ff90892a58071"], "statement_hash": "302d2abc8965cf0a3067b66c0e6a3c7efc31898b6f47fa1d7f7139557bff6272"}}], "version": "9.5.20", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "c1c6b5f65ea570a78790482b40d232d5", "kind": "equivalent", "version": "12.1", "label": "12.1", "title": "修复使用 -s 选项时，延续的 WAL 记录恰好在页面边界处结束导致 pg_waldump 失败的问题", "evidence": {"same_day": true, "patch_ids": ["b228afe783c311b1b43ff90892a58071"], "statement_hash": "302d2abc8965cf0a3067b66c0e6a3c7efc31898b6f47fa1d7f7139557bff6272"}, "url": "/docs/compare/?release=12.1#12.1-fe030c8bef799a16", "source_url": "/docs/release/12.1/#id-1.11.6.27.5"}, {"db_id": "a2dc04935e730e361e88365cbe325fda", "kind": "equivalent", "version": "11.6", "label": "11.6", "title": "修复使用 -s 选项时，延续的 WAL 记录恰好在页面边界处结束导致 pg_waldump 失败的问题", "evidence": {"same_day": true, "patch_ids": ["b228afe783c311b1b43ff90892a58071"], "statement_hash": "302d2abc8965cf0a3067b66c0e6a3c7efc31898b6f47fa1d7f7139557bff6272"}, "url": "/docs/compare/?release=11.6#11.6-f944d1f887e85779", "source_url": "/docs/release/11.6/#id-1.11.6.21.5"}, {"db_id": "2369fe2c2a869184066de21b760a4519", "kind": "equivalent", "version": "10.11", "label": "10.11", "title": "修复使用 -s 选项时，延续的 WAL 记录恰好在页面边界处结束导致 pg_waldump 失败的问题", "evidence": {"same_day": true, "patch_ids": ["b228afe783c311b1b43ff90892a58071"], "statement_hash": "302d2abc8965cf0a3067b66c0e6a3c7efc31898b6f47fa1d7f7139557bff6272"}, "url": "/docs/compare/?release=10.11#10.11-f944d1f887e85779", "source_url": "/docs/release/10.11/#id-1.11.6.17.5"}, {"db_id": "e110397ffcad28e37fd7a3608aa6799f", "kind": "equivalent", "version": "9.6.16", "label": "9.6.16", "title": "修复 pg_waldump 使用 -s 选项且延续 WAL 记录恰好在页边界结束时失败的问题", "evidence": {"same_day": true, "patch_ids": ["b228afe783c311b1b43ff90892a58071"], "statement_hash": "302d2abc8965cf0a3067b66c0e6a3c7efc31898b6f47fa1d7f7139557bff6272"}, "url": "/docs/compare/?release=9.6.16#9.6.16-cdcc327d2292fd7b", "source_url": "/docs/release/9.6.16/#id-1.11.6.13.5"}, {"db_id": "4970c4c81427d42399ce716c0f0f4018", "kind": "equivalent", "version": "9.4.25", "label": "9.4.25", "title": "修复 pg_waldump 使用 -s 选项且延续 WAL 记录恰好在页边界结束时失败的问题", "evidence": {"same_day": true, "patch_ids": ["b228afe783c311b1b43ff90892a58071"], "statement_hash": "302d2abc8965cf0a3067b66c0e6a3c7efc31898b6f47fa1d7f7139557bff6272"}, "url": "/docs/compare/?release=9.4.25#9.4.25-cdcc327d2292fd7b", "source_url": "/docs/release/9.4.25/#id-1.11.6.6.6"}]}, {"id": "9.5.20-15fc29225172e94e", "cves": [], "html": "<p>在 <span>pg_waldump</span> 中，在 btree 页分裂记录中包含 <code>newitemoff</code> 字段（Peter Geoghegan）</p>", "text": "在 pg_waldump 中，在 btree 页分裂记录中包含 newitemoff 字段（Peter Geoghegan）", "title": "在 pg_waldump 中，在 btree 页分裂记录中包含 newitemoff 字段", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.5.20/#id-1.11.6.10.5", "source_hash": "e44051237ca507ba06eafc38e8704812014f8028f062c0e49af001e366f5acdd", "section_path": ["变更"], "commit_groups": [["09b236af9", "3097a0d6e", "3b6b54f17", "835646503", "9064cc139", "e87b00b5f"]], "identity_text": "In pg_waldump, include the newitemoff field in btree page split records (Peter Geoghegan)", "commit_aliases": ["09b236af9", "3097a0d6e", "3b6b54f17", "835646503", "9064cc139", "e87b00b5f"], "source_commits": ["9064cc139"], "source_entry_id": "9.5.20/changes/039", "db_id": "403cf45860599ba21feee5d83ec5d117", "patch_ids": ["b679f0d84ac40786ae307ebce39bd67b"], "statement_hash": "9e255a30cba08db761c28c8448b71fcd2f2d3af59e94c824f62d87882bfc73b8", "relations": [{"rule": 2, "type": "equivalent", "target": "3e455a1cbc939fb5a372bbffb9baa9ee", "evidence": {"same_day": true, "patch_ids": ["b679f0d84ac40786ae307ebce39bd67b"], "statement_hash": "9e255a30cba08db761c28c8448b71fcd2f2d3af59e94c824f62d87882bfc73b8"}}, {"rule": 2, "type": "equivalent", "target": "a3f520b463db17f39fbb10257a49ab83", "evidence": {"same_day": true, "patch_ids": ["b679f0d84ac40786ae307ebce39bd67b"], "statement_hash": "9e255a30cba08db761c28c8448b71fcd2f2d3af59e94c824f62d87882bfc73b8"}}, {"rule": 2, "type": "equivalent", "target": "c523a3ad20f443a9f3d13558c9edb273", "evidence": {"same_day": true, "patch_ids": ["b679f0d84ac40786ae307ebce39bd67b"], "statement_hash": "9e255a30cba08db761c28c8448b71fcd2f2d3af59e94c824f62d87882bfc73b8"}}], "version": "9.5.20", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "3e455a1cbc939fb5a372bbffb9baa9ee", "kind": "equivalent", "version": "11.6", "label": "11.6", "title": "在 pg_waldump 中，将 newitemoff 字段包含在 B-树页面分裂记录中", "evidence": {"same_day": true, "patch_ids": ["b679f0d84ac40786ae307ebce39bd67b"], "statement_hash": "9e255a30cba08db761c28c8448b71fcd2f2d3af59e94c824f62d87882bfc73b8"}, "url": "/docs/compare/?release=11.6#11.6-b056f9508c10af26", "source_url": "/docs/release/11.6/#id-1.11.6.21.5"}, {"db_id": "a3f520b463db17f39fbb10257a49ab83", "kind": "equivalent", "version": "10.11", "label": "10.11", "title": "在 pg_waldump 中，将 newitemoff 字段包含在 B-树页面分裂记录中", "evidence": {"same_day": true, "patch_ids": ["b679f0d84ac40786ae307ebce39bd67b"], "statement_hash": "9e255a30cba08db761c28c8448b71fcd2f2d3af59e94c824f62d87882bfc73b8"}, "url": "/docs/compare/?release=10.11#10.11-b056f9508c10af26", "source_url": "/docs/release/10.11/#id-1.11.6.17.5"}, {"db_id": "c523a3ad20f443a9f3d13558c9edb273", "kind": "equivalent", "version": "9.6.16", "label": "9.6.16", "title": "在 pg_waldump 中，在 btree 页分裂记录中包含 newitemoff 字段", "evidence": {"same_day": true, "patch_ids": ["b679f0d84ac40786ae307ebce39bd67b"], "statement_hash": "9e255a30cba08db761c28c8448b71fcd2f2d3af59e94c824f62d87882bfc73b8"}, "url": "/docs/compare/?release=9.6.16#9.6.16-15fc29225172e94e", "source_url": "/docs/release/9.6.16/#id-1.11.6.13.5"}]}, {"id": "9.5.20-703092ca61cbd873", "cves": [], "html": "<p>在 <span>pg_waldump</span> 使用 <code>--bkp-details</code> 选项时，避免为涉及整页写入的 WAL 记录输出多余换行（Andres Freund）</p>", "text": "在 pg_waldump 使用 --bkp-details 选项时，避免为涉及整页写入的 WAL 记录输出多余换行（Andres Freund）", "title": "在 pg_waldump 使用 --bkp-details 选项时，避免为涉及整页写入的 WAL 记录输出多余换行", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.5.20/#id-1.11.6.10.5", "source_hash": "7135f047b08947ca0a86472c8ca90b8d820da4873a3bdff60dee8ca69a5cd34c", "section_path": ["变更"], "commit_groups": [["39ff656a4", "3b24cf732", "82200115e", "bc4f56c18", "d4b5206b2", "e4d92126f"]], "identity_text": "In pg_waldump with the --bkp-details option, avoid emitting extra newlines for WAL records involving full-page writes (Andres Freund)", "commit_aliases": ["39ff656a4", "3b24cf732", "82200115e", "bc4f56c18", "d4b5206b2", "e4d92126f"], "source_commits": ["39ff656a4"], "source_entry_id": "9.5.20/changes/040", "db_id": "39a40a49fbfc72bf4e2832f9482e8b98", "patch_ids": ["cea33ab4e8e96096259e175035dab32c"], "statement_hash": "01728d61f09903915b2a45d3a3dabe6dbedbe7e078a6313a0ec9b927b207dcfe", "relations": [{"rule": 2, "type": "equivalent", "target": "0ddb02cd224fddc4143cc8006506daa7", "evidence": {"same_day": true, "patch_ids": ["cea33ab4e8e96096259e175035dab32c"], "statement_hash": "01728d61f09903915b2a45d3a3dabe6dbedbe7e078a6313a0ec9b927b207dcfe"}}, {"rule": 2, "type": "equivalent", "target": "85bd35d0a4872ff79b6f95987143b35a", "evidence": {"same_day": true, "patch_ids": ["cea33ab4e8e96096259e175035dab32c"], "statement_hash": "01728d61f09903915b2a45d3a3dabe6dbedbe7e078a6313a0ec9b927b207dcfe"}}, {"rule": 2, "type": "equivalent", "target": "fa7ad1b2c24010480c51f3d6c8be8177", "evidence": {"same_day": true, "patch_ids": ["cea33ab4e8e96096259e175035dab32c"], "statement_hash": "01728d61f09903915b2a45d3a3dabe6dbedbe7e078a6313a0ec9b927b207dcfe"}}, {"rule": 2, "type": "equivalent", "target": "fb99b80b398327ae1c20cc6ea034ca09", "evidence": {"same_day": true, "patch_ids": ["cea33ab4e8e96096259e175035dab32c"], "statement_hash": "01728d61f09903915b2a45d3a3dabe6dbedbe7e078a6313a0ec9b927b207dcfe"}}], "version": "9.5.20", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "fa7ad1b2c24010480c51f3d6c8be8177", "kind": "equivalent", "version": "12.1", "label": "12.1", "title": "在使用 --bkp-details 选项的 pg_waldump 中，避免为涉及整页写入的 WAL 记录输出多余换行", "evidence": {"same_day": true, "patch_ids": ["cea33ab4e8e96096259e175035dab32c"], "statement_hash": "01728d61f09903915b2a45d3a3dabe6dbedbe7e078a6313a0ec9b927b207dcfe"}, "url": "/docs/compare/?release=12.1#12.1-802ccc60cd2e6372", "source_url": "/docs/release/12.1/#id-1.11.6.27.5"}, {"db_id": "0ddb02cd224fddc4143cc8006506daa7", "kind": "equivalent", "version": "11.6", "label": "11.6", "title": "在使用 --bkp-details 选项的 pg_waldump 中，避免为涉及整页写入的 WAL 记录输出多余换行", "evidence": {"same_day": true, "patch_ids": ["cea33ab4e8e96096259e175035dab32c"], "statement_hash": "01728d61f09903915b2a45d3a3dabe6dbedbe7e078a6313a0ec9b927b207dcfe"}, "url": "/docs/compare/?release=11.6#11.6-87aa18b745d498ab", "source_url": "/docs/release/11.6/#id-1.11.6.21.5"}, {"db_id": "85bd35d0a4872ff79b6f95987143b35a", "kind": "equivalent", "version": "10.11", "label": "10.11", "title": "在使用 --bkp-details 选项的 pg_waldump 中，避免为涉及整页写入的 WAL 记录输出多余换行", "evidence": {"same_day": true, "patch_ids": ["cea33ab4e8e96096259e175035dab32c"], "statement_hash": "01728d61f09903915b2a45d3a3dabe6dbedbe7e078a6313a0ec9b927b207dcfe"}, "url": "/docs/compare/?release=10.11#10.11-87aa18b745d498ab", "source_url": "/docs/release/10.11/#id-1.11.6.17.5"}, {"db_id": "fb99b80b398327ae1c20cc6ea034ca09", "kind": "equivalent", "version": "9.6.16", "label": "9.6.16", "title": "在 pg_waldump 使用 --bkp-details 选项时，避免为涉及整页写入的 WAL 记录输出多余换行", "evidence": {"same_day": true, "patch_ids": ["cea33ab4e8e96096259e175035dab32c"], "statement_hash": "01728d61f09903915b2a45d3a3dabe6dbedbe7e078a6313a0ec9b927b207dcfe"}, "url": "/docs/compare/?release=9.6.16#9.6.16-703092ca61cbd873", "source_url": "/docs/release/9.6.16/#id-1.11.6.13.5"}]}, {"id": "9.5.20-378787a10a1c8093", "cves": [], "html": "<p>修复 <span>pg_waldump</span> 中的小内存泄漏（Andres Freund）</p>", "text": "修复 pg_waldump 中的小内存泄漏（Andres Freund）", "title": "修复 pg_waldump 中的小内存泄漏", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.5.20/#id-1.11.6.10.5", "source_hash": "d8fbd6cdc8f670f43191a048db198f69b88e1599911edc7c5abdd6d2f27371f7", "section_path": ["变更"], "commit_groups": [["4ab353c47", "95f2efd50", "af67aee69", "c3882f8b8", "e0f76f204", "e3ff8c360"]], "identity_text": "Fix small memory leak in pg_waldump (Andres Freund)", "commit_aliases": ["4ab353c47", "95f2efd50", "af67aee69", "c3882f8b8", "e0f76f204", "e3ff8c360"], "source_commits": ["c3882f8b8"], "source_entry_id": "9.5.20/changes/041", "db_id": "004531c58099418b981264409ffab976", "patch_ids": ["45bc406d2f100371b2941471e0b0b54e"], "statement_hash": "67fcd239598e1e156ee1c8a966633149eaaca4043e732f859d0dafb16f0a8513", "relations": [{"rule": 2, "type": "equivalent", "target": "1460ba3faf2cd8d16684769788c3075a", "evidence": {"same_day": true, "patch_ids": ["45bc406d2f100371b2941471e0b0b54e"], "statement_hash": "67fcd239598e1e156ee1c8a966633149eaaca4043e732f859d0dafb16f0a8513"}}, {"rule": 2, "type": "equivalent", "target": "3872e4058f1918ff68c2e88e1098e7b4", "evidence": {"same_day": true, "patch_ids": ["45bc406d2f100371b2941471e0b0b54e"], "statement_hash": "67fcd239598e1e156ee1c8a966633149eaaca4043e732f859d0dafb16f0a8513"}}, {"rule": 2, "type": "equivalent", "target": "b16a64bdaeba1cc341e7fd8a07edced3", "evidence": {"same_day": true, "patch_ids": ["45bc406d2f100371b2941471e0b0b54e"], "statement_hash": "67fcd239598e1e156ee1c8a966633149eaaca4043e732f859d0dafb16f0a8513"}}, {"rule": 2, "type": "equivalent", "target": "bebccf73c4af811901025375ccdfbebd", "evidence": {"same_day": true, "patch_ids": ["45bc406d2f100371b2941471e0b0b54e"], "statement_hash": "67fcd239598e1e156ee1c8a966633149eaaca4043e732f859d0dafb16f0a8513"}}], "version": "9.5.20", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "bebccf73c4af811901025375ccdfbebd", "kind": "equivalent", "version": "12.1", "label": "12.1", "title": "修复 pg_waldump 中少量的内存泄漏", "evidence": {"same_day": true, "patch_ids": ["45bc406d2f100371b2941471e0b0b54e"], "statement_hash": "67fcd239598e1e156ee1c8a966633149eaaca4043e732f859d0dafb16f0a8513"}, "url": "/docs/compare/?release=12.1#12.1-cd3ed8b41b409a46", "source_url": "/docs/release/12.1/#id-1.11.6.27.5"}, {"db_id": "1460ba3faf2cd8d16684769788c3075a", "kind": "equivalent", "version": "11.6", "label": "11.6", "title": "修复 pg_waldump 中少量的内存泄漏", "evidence": {"same_day": true, "patch_ids": ["45bc406d2f100371b2941471e0b0b54e"], "statement_hash": "67fcd239598e1e156ee1c8a966633149eaaca4043e732f859d0dafb16f0a8513"}, "url": "/docs/compare/?release=11.6#11.6-107c61d847951e1e", "source_url": "/docs/release/11.6/#id-1.11.6.21.5"}, {"db_id": "3872e4058f1918ff68c2e88e1098e7b4", "kind": "equivalent", "version": "10.11", "label": "10.11", "title": "修复 pg_waldump 中少量的内存泄漏", "evidence": {"same_day": true, "patch_ids": ["45bc406d2f100371b2941471e0b0b54e"], "statement_hash": "67fcd239598e1e156ee1c8a966633149eaaca4043e732f859d0dafb16f0a8513"}, "url": "/docs/compare/?release=10.11#10.11-107c61d847951e1e", "source_url": "/docs/release/10.11/#id-1.11.6.17.5"}, {"db_id": "b16a64bdaeba1cc341e7fd8a07edced3", "kind": "equivalent", "version": "9.6.16", "label": "9.6.16", "title": "修复 pg_waldump 中的小内存泄漏", "evidence": {"same_day": true, "patch_ids": ["45bc406d2f100371b2941471e0b0b54e"], "statement_hash": "67fcd239598e1e156ee1c8a966633149eaaca4043e732f859d0dafb16f0a8513"}, "url": "/docs/compare/?release=9.6.16#9.6.16-378787a10a1c8093", "source_url": "/docs/release/9.6.16/#id-1.11.6.13.5"}]}, {"id": "9.5.20-e8f8da81e98c88f1", "cves": [], "html": "<p>修复 <span>vacuumdb</span> 使用高 <code>--jobs</code> 选项时更好地处理文件描述符耗尽（Michael Paquier）</p>", "text": "修复 vacuumdb 使用高 --jobs 选项时更好地处理文件描述符耗尽（Michael Paquier）", "title": "修复 vacuumdb 使用高 --jobs 选项时更好地处理文件描述符耗尽", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.5.20/#id-1.11.6.10.5", "source_hash": "2f435d7c50ecf42b3ef2a7fbdd015d98dd9dc9f9b05a8d7e2d87fdaf1621870b", "section_path": ["变更"], "commit_groups": [["128e9b2cc", "4ed3bda49", "9acda7311", "b783a38d4", "c4d75313e", "c90096009"], ["4fca14600", "5d76c8037", "63fc3b124", "71d84efba", "a21ec1a95", "eb91b8ee6"]], "identity_text": "Fix vacuumdb with a high --jobs option to handle running out of file descriptors better (Michael Paquier)", "commit_aliases": ["128e9b2cc", "4ed3bda49", "4fca14600", "5d76c8037", "63fc3b124", "71d84efba", "9acda7311", "a21ec1a95", "b783a38d4", "c4d75313e", "c90096009", "eb91b8ee6"], "source_commits": ["4ed3bda49", "a21ec1a95"], "source_entry_id": "9.5.20/changes/042", "db_id": "cea4d74b65737d9103f3794aad233eac", "patch_ids": ["c3f3a775e676b559520deced6eea4ed4", "e9c716bf1bfb3121f5ec57ce893acc6d"], "statement_hash": "6cb2a92830040f6bef7e2b66a9f739318e4667aefd9c0193b3a76c6ed40700f9", "relations": [{"rule": 2, "type": "equivalent", "target": "dd7f34dc5e2263394e3b9aba4d171aca", "evidence": {"same_day": true, "patch_ids": ["c3f3a775e676b559520deced6eea4ed4", "e9c716bf1bfb3121f5ec57ce893acc6d"], "statement_hash": "6cb2a92830040f6bef7e2b66a9f739318e4667aefd9c0193b3a76c6ed40700f9"}}, {"rule": 2, "type": "equivalent", "target": "f4acaa57dec02b43c38d5c42506ca9d0", "evidence": {"same_day": true, "patch_ids": ["c3f3a775e676b559520deced6eea4ed4", "e9c716bf1bfb3121f5ec57ce893acc6d"], "statement_hash": "6cb2a92830040f6bef7e2b66a9f739318e4667aefd9c0193b3a76c6ed40700f9"}}, {"rule": 2, "type": "equivalent", "target": "f511a4ea60ae6a075092667b2059f583", "evidence": {"same_day": true, "patch_ids": ["c3f3a775e676b559520deced6eea4ed4", "e9c716bf1bfb3121f5ec57ce893acc6d"], "statement_hash": "6cb2a92830040f6bef7e2b66a9f739318e4667aefd9c0193b3a76c6ed40700f9"}}], "version": "9.5.20", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "f4acaa57dec02b43c38d5c42506ca9d0", "kind": "equivalent", "version": "11.6", "label": "11.6", "title": "修复设置了较高 --jobs 值的 vacuumdb，使其更妥善地处理文件描述符耗尽的情况", "evidence": {"same_day": true, "patch_ids": ["c3f3a775e676b559520deced6eea4ed4", "e9c716bf1bfb3121f5ec57ce893acc6d"], "statement_hash": "6cb2a92830040f6bef7e2b66a9f739318e4667aefd9c0193b3a76c6ed40700f9"}, "url": "/docs/compare/?release=11.6#11.6-eff789fdf9aea564", "source_url": "/docs/release/11.6/#id-1.11.6.21.5"}, {"db_id": "dd7f34dc5e2263394e3b9aba4d171aca", "kind": "equivalent", "version": "10.11", "label": "10.11", "title": "修复设置了较高 --jobs 值的 vacuumdb，使其更妥善地处理文件描述符耗尽的情况", "evidence": {"same_day": true, "patch_ids": ["c3f3a775e676b559520deced6eea4ed4", "e9c716bf1bfb3121f5ec57ce893acc6d"], "statement_hash": "6cb2a92830040f6bef7e2b66a9f739318e4667aefd9c0193b3a76c6ed40700f9"}, "url": "/docs/compare/?release=10.11#10.11-eff789fdf9aea564", "source_url": "/docs/release/10.11/#id-1.11.6.17.5"}, {"db_id": "f511a4ea60ae6a075092667b2059f583", "kind": "equivalent", "version": "9.6.16", "label": "9.6.16", "title": "修复 vacuumdb 使用高 --jobs 选项时更好地处理文件描述符耗尽", "evidence": {"same_day": true, "patch_ids": ["c3f3a775e676b559520deced6eea4ed4", "e9c716bf1bfb3121f5ec57ce893acc6d"], "statement_hash": "6cb2a92830040f6bef7e2b66a9f739318e4667aefd9c0193b3a76c6ed40700f9"}, "url": "/docs/compare/?release=9.6.16#9.6.16-e8f8da81e98c88f1", "source_url": "/docs/release/9.6.16/#id-1.11.6.13.5"}]}, {"id": "9.5.20-059f1bbda100d67f", "cves": [], "html": "<p>修复 <code>contrib/intarray</code> 的 GiST 操作符类在空数组使用 <code>&lt;@</code> 时不失败的问题（Tom Lane）</p>\n<p>像 <code><em><code>array_column</code></em> &lt;@ <em><code>constant_array</code></em></code> 这样的子句被认为可索引，但索引搜索可能找不到空数组值；当然，这种条目应当平凡地匹配搜索。</p>\n<p>唯一实际可向后移植的修复要求 <code>&lt;@</code> 索引搜索扫描整个索引，本补丁就是这么做的。这很不幸：这意味着查询性能可能比 plain 顺序扫描更差。</p>\n<p>性能受此更改不利影响的应用有两种选择。可以改用没有此 bug 的 GIN 索引，或者把 <code><em><code>array_column</code></em> &lt;@ <em><code>constant_array</code></em></code> 替换为 <code><em><code>array_column</code></em> &lt;@ <em><code>constant_array</code></em> AND <em><code>array_column</code></em> &amp;&amp; <em><code>constant_array</code></em></code>。后者的性能与之前大致相同，并且会找到给定常数数组的所有非空子集——这本来就是以前对该查询唯一能可靠期望得到的。</p>", "text": "修复 contrib/intarray 的 GiST 操作符类在空数组使用 <@ 时不失败的问题（Tom Lane） 像 array_column <@ constant_array 这样的子句被认为可索引，但索引搜索可能找不到空数组值；当然，这种条目应当平凡地匹配搜索。 唯一实际可向后移植的修复要求 <@ 索引搜索扫描整个索引，本补丁就是这么做的。这很不幸：这意味着查询性能可能比 plain 顺序扫描更差。 性能受此更改不利影响的应用有两种选择。可以改用没有此 bug 的 GIN 索引，或者把 array_column <@ constant_array 替换为 array_column <@ constant_array AND array_column && constant_array。后者的性能与之前大致相同，并且会找到给定常数数组的所有非空子集——这本来就是以前对该查询唯一能可靠期望得到的。", "title": "修复 contrib/intarray 的 GiST 操作符类在空数组使用 <@ 时不失败的问题", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.5.20/#id-1.11.6.10.5", "source_hash": "5b20dde1a7286d20e4b65e8f835c9e3d40171c2337a7e5da3780ff30e1b07fb8", "section_path": ["变更"], "commit_groups": [["113b3d903", "2f76f4182", "5b3e6c13f", "614119d00", "ced272d2d", "e519eded6", "efc77cf5f"]], "identity_text": "Fix contrib/intarray's GiST opclasses to not fail for empty arrays with <@ (Tom Lane) A clause like array_column <@ constant_array is considered indexable, but the index search may not find empty array values; of course, such entries should trivially match the search. The only practical back-patchable fix for this requires making <@ index searches scan the whole index, which is what this patch does. This is unfortunate: it means that the query performance is likely worse than a plain sequential scan would be. Applications whose performance is adversely impacted by this change have a couple of options. They could switch to a GIN index, which doesn't have this bug, or they could replace array_column <@ constant_array with array_column <@ constant_array AND array_column && constant_array. That will provide about the same performance as before, and it will find all non-empty subsets of the given constant array, which is all that could reliably be expected of the query before.", "commit_aliases": ["113b3d903", "2f76f4182", "5b3e6c13f", "614119d00", "ced272d2d", "e519eded6", "efc77cf5f"], "source_commits": ["ced272d2d"], "source_entry_id": "9.5.20/changes/043", "db_id": "1c9f43f55f1b5b56c782ba572b576692", "patch_ids": ["a31fe9b8f8907f88284116f7ea7acc4a"], "statement_hash": "00dc80375dc59960aae1c99004068ad1481c61dfaff14bdf361701e252e9d80e", "relations": [{"rule": 2, "type": "equivalent", "target": "095d1b932d2c8b19ac2c80541fa441c9", "evidence": {"same_day": true, "patch_ids": ["a31fe9b8f8907f88284116f7ea7acc4a"], "statement_hash": "00dc80375dc59960aae1c99004068ad1481c61dfaff14bdf361701e252e9d80e"}}, {"rule": 2, "type": "equivalent", "target": "3aca8549b51328708bd5a5bf23277edc", "evidence": {"same_day": true, "patch_ids": ["a31fe9b8f8907f88284116f7ea7acc4a"], "statement_hash": "00dc80375dc59960aae1c99004068ad1481c61dfaff14bdf361701e252e9d80e"}}, {"rule": 2, "type": "equivalent", "target": "73e885c18b9f26670dcde44f3cce58b1", "evidence": {"same_day": true, "patch_ids": ["a31fe9b8f8907f88284116f7ea7acc4a"], "statement_hash": "00dc80375dc59960aae1c99004068ad1481c61dfaff14bdf361701e252e9d80e"}}, {"rule": 2, "type": "equivalent", "target": "85ba616e74f33ab854bbdba4c2efb25a", "evidence": {"same_day": true, "patch_ids": ["a31fe9b8f8907f88284116f7ea7acc4a"], "statement_hash": "00dc80375dc59960aae1c99004068ad1481c61dfaff14bdf361701e252e9d80e"}}], "version": "9.5.20", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "3aca8549b51328708bd5a5bf23277edc", "kind": "equivalent", "version": "11.6", "label": "11.6", "title": "修复 contrib/intarray 的 GiST 操作符类，使其在空数组上使用 <@ 时不会失败", "evidence": {"same_day": true, "patch_ids": ["a31fe9b8f8907f88284116f7ea7acc4a"], "statement_hash": "00dc80375dc59960aae1c99004068ad1481c61dfaff14bdf361701e252e9d80e"}, "url": "/docs/compare/?release=11.6#11.6-5ed18192f91e54e7", "source_url": "/docs/release/11.6/#id-1.11.6.21.5"}, {"db_id": "095d1b932d2c8b19ac2c80541fa441c9", "kind": "equivalent", "version": "10.11", "label": "10.11", "title": "修复 contrib/intarray 的 GiST 操作符类，使其在空数组上使用 <@ 时不会失败", "evidence": {"same_day": true, "patch_ids": ["a31fe9b8f8907f88284116f7ea7acc4a"], "statement_hash": "00dc80375dc59960aae1c99004068ad1481c61dfaff14bdf361701e252e9d80e"}, "url": "/docs/compare/?release=10.11#10.11-5ed18192f91e54e7", "source_url": "/docs/release/10.11/#id-1.11.6.17.5"}, {"db_id": "73e885c18b9f26670dcde44f3cce58b1", "kind": "equivalent", "version": "9.6.16", "label": "9.6.16", "title": "修复 contrib/intarray 的 GiST 操作符类在空数组使用 <@ 时不失败的问题", "evidence": {"same_day": true, "patch_ids": ["a31fe9b8f8907f88284116f7ea7acc4a"], "statement_hash": "00dc80375dc59960aae1c99004068ad1481c61dfaff14bdf361701e252e9d80e"}, "url": "/docs/compare/?release=9.6.16#9.6.16-059f1bbda100d67f", "source_url": "/docs/release/9.6.16/#id-1.11.6.13.5"}, {"db_id": "85ba616e74f33ab854bbdba4c2efb25a", "kind": "equivalent", "version": "9.4.25", "label": "9.4.25", "title": "修复 contrib/intarray 的 GiST 操作符类在空数组使用 <@ 时不失败的问题", "evidence": {"same_day": true, "patch_ids": ["a31fe9b8f8907f88284116f7ea7acc4a"], "statement_hash": "00dc80375dc59960aae1c99004068ad1481c61dfaff14bdf361701e252e9d80e"}, "url": "/docs/compare/?release=9.4.25#9.4.25-059f1bbda100d67f", "source_url": "/docs/release/9.4.25/#id-1.11.6.6.6"}]}, {"id": "9.5.20-9a54c0a8e85e019e", "cves": [], "html": "<p>允许 <code>configure --with-python</code> 在只能找到 <code>python3</code> 或只能找到 <code>python2</code> 时成功（Peter Eisentraut、Tom Lane）</p>\n<p>先搜索 <code>python</code>，再搜索 <code>python3</code>，再搜索 <code>python2</code>，使 <span>configure</span> 在没有名为 <code>python</code> 的可执行文件这一日益常见的情况下也能成功。仍然可以通过设置 <code>PYTHON</code> 环境变量覆盖这一选择。</p>", "text": "允许 configure --with-python 在只能找到 python3 或只能找到 python2 时成功（Peter Eisentraut、Tom Lane） 先搜索 python，再搜索 python3，再搜索 python2，使 configure 在没有名为 python 的可执行文件这一日益常见的情况下也能成功。仍然可以通过设置 PYTHON 环境变量覆盖这一选择。", "title": "允许 configure --with-python 在只能找到 python3 或只能找到 python2 时成功", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.5.20/#id-1.11.6.10.5", "source_hash": "1c0c4abba217aaa76a382ebfc49f1901740d4c2bcce14c4f06b5dd66c64d9856", "section_path": ["变更"], "commit_groups": [["96db9d5e2", "984ee0f6d", "f1a9abe61"]], "identity_text": "Allow configure --with-python to succeed when only python3 or only python2 can be found (Peter Eisentraut, Tom Lane) Search for python, then python3, then python2, so that configure can succeed in the increasingly-more-common situation where there is no executable named simply python. It's still possible to override this choice by setting the PYTHON environment variable.", "commit_aliases": ["96db9d5e2", "984ee0f6d", "f1a9abe61"], "source_commits": ["f1a9abe61"], "source_entry_id": "9.5.20/changes/044", "db_id": "5d3feaf75fa18f816dca6ddded915455", "patch_ids": ["67e39a6692bba2774bdcd45ec25628cc"], "statement_hash": "0b6ed230208cb419a97099405b5fd274b68c6581e22964080fe9d5022dfb7076", "relations": [{"rule": 2, "type": "equivalent", "target": "402012e19ec0ab9ed28e6b4682d0dc8c", "evidence": {"same_day": true, "patch_ids": ["67e39a6692bba2774bdcd45ec25628cc"], "statement_hash": "0b6ed230208cb419a97099405b5fd274b68c6581e22964080fe9d5022dfb7076"}}, {"rule": 2, "type": "equivalent", "target": "57f02b51b8d7f7427037ab5b1ef0526b", "evidence": {"same_day": true, "patch_ids": ["67e39a6692bba2774bdcd45ec25628cc"], "statement_hash": "0b6ed230208cb419a97099405b5fd274b68c6581e22964080fe9d5022dfb7076"}}], "version": "9.5.20", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "57f02b51b8d7f7427037ab5b1ef0526b", "kind": "equivalent", "version": "9.6.16", "label": "9.6.16", "title": "允许 configure --with-python 在只能找到 python3 或只能找到 python2 时成功", "evidence": {"same_day": true, "patch_ids": ["67e39a6692bba2774bdcd45ec25628cc"], "statement_hash": "0b6ed230208cb419a97099405b5fd274b68c6581e22964080fe9d5022dfb7076"}, "url": "/docs/compare/?release=9.6.16#9.6.16-9a54c0a8e85e019e", "source_url": "/docs/release/9.6.16/#id-1.11.6.13.5"}, {"db_id": "402012e19ec0ab9ed28e6b4682d0dc8c", "kind": "equivalent", "version": "9.4.25", "label": "9.4.25", "title": "允许 configure --with-python 在只能找到 python3 或只能找到 python2 时成功", "evidence": {"same_day": true, "patch_ids": ["67e39a6692bba2774bdcd45ec25628cc"], "statement_hash": "0b6ed230208cb419a97099405b5fd274b68c6581e22964080fe9d5022dfb7076"}, "url": "/docs/compare/?release=9.4.25#9.4.25-9a54c0a8e85e019e", "source_url": "/docs/release/9.4.25/#id-1.11.6.6.6"}]}, {"id": "9.5.20-4b66ce1846ba7cfe", "cves": [], "html": "<p>修复 <span>configure</span> 的 libperl 存在性测试，使其在最近的 Red Hat 版本上工作（Tom Lane）</p>\n<p>此前，如果用户把 <code>CFLAGS</code> 设为 <code>-O0</code>，它可能失败。</p>", "text": "修复 configure 的 libperl 存在性测试，使其在最近的 Red Hat 版本上工作（Tom Lane） 此前，如果用户把 CFLAGS 设为 -O0，它可能失败。", "title": "修复 configure 的 libperl 存在性测试，使其在最近的 Red Hat 版本上工作", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.5.20/#id-1.11.6.10.5", "source_hash": "162e3f4919732025e8b946406a88af63616bf54c4e4058b1f024ae346f5e831b", "section_path": ["变更"], "commit_groups": [["11330c311", "44273ce4f", "62ca50ad7", "727c2ccfe", "99c51d5ed", "aa5bb828a", "e167b1ae3"], ["328b81348", "34621cb12", "4e19bd41d", "6d2b18d07", "8835e0bd4", "ca658c91a", "d995fd667"]], "identity_text": "Fix configure's test for presence of libperl so that it works on recent Red Hat releases (Tom Lane) Previously, it could fail if the user sets CFLAGS to -O0.", "commit_aliases": ["11330c311", "328b81348", "34621cb12", "44273ce4f", "4e19bd41d", "62ca50ad7", "6d2b18d07", "727c2ccfe", "8835e0bd4", "99c51d5ed", "aa5bb828a", "ca658c91a", "d995fd667", "e167b1ae3"], "source_commits": ["11330c311", "8835e0bd4"], "source_entry_id": "9.5.20/changes/045", "db_id": "725903f3b8afeb5774cf49246f3755a9", "patch_ids": ["446147c285dc903dc3e4faf62644ce57", "6f6aa2e2923a811aa937c950e3174c37"], "statement_hash": "51afeab0645fe6584ab15ccc885ccc13c3eac17780ec49fd2b35619f90f68451", "relations": [{"rule": 2, "type": "equivalent", "target": "212dc5fe34c06a25c876b16b320e5689", "evidence": {"same_day": true, "patch_ids": ["446147c285dc903dc3e4faf62644ce57", "6f6aa2e2923a811aa937c950e3174c37"], "statement_hash": "51afeab0645fe6584ab15ccc885ccc13c3eac17780ec49fd2b35619f90f68451"}}, {"rule": 2, "type": "equivalent", "target": "25d5d7c59f2689f4c06c495b36e8d802", "evidence": {"same_day": true, "patch_ids": ["446147c285dc903dc3e4faf62644ce57", "6f6aa2e2923a811aa937c950e3174c37"], "statement_hash": "51afeab0645fe6584ab15ccc885ccc13c3eac17780ec49fd2b35619f90f68451"}}, {"rule": 2, "type": "equivalent", "target": "75230e6bbe167a096994950e2e09aadf", "evidence": {"same_day": true, "patch_ids": ["446147c285dc903dc3e4faf62644ce57", "6f6aa2e2923a811aa937c950e3174c37"], "statement_hash": "51afeab0645fe6584ab15ccc885ccc13c3eac17780ec49fd2b35619f90f68451"}}, {"rule": 2, "type": "equivalent", "target": "c7cf81b808f75cf9c89123e47accd94d", "evidence": {"same_day": true, "patch_ids": ["446147c285dc903dc3e4faf62644ce57", "6f6aa2e2923a811aa937c950e3174c37"], "statement_hash": "51afeab0645fe6584ab15ccc885ccc13c3eac17780ec49fd2b35619f90f68451"}}, {"rule": 2, "type": "equivalent", "target": "e65a0bcc76d2449ccb89d3f468ee1eff", "evidence": {"same_day": true, "patch_ids": ["446147c285dc903dc3e4faf62644ce57", "6f6aa2e2923a811aa937c950e3174c37"], "statement_hash": "51afeab0645fe6584ab15ccc885ccc13c3eac17780ec49fd2b35619f90f68451"}}], "version": "9.5.20", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "e65a0bcc76d2449ccb89d3f468ee1eff", "kind": "equivalent", "version": "12.1", "label": "12.1", "title": "修复 configure 对 libperl 是否存在的测试，使其适用于近期的 Red Hat 发行版", "evidence": {"same_day": true, "patch_ids": ["446147c285dc903dc3e4faf62644ce57", "6f6aa2e2923a811aa937c950e3174c37"], "statement_hash": "51afeab0645fe6584ab15ccc885ccc13c3eac17780ec49fd2b35619f90f68451"}, "url": "/docs/compare/?release=12.1#12.1-99f6039b4eeef498", "source_url": "/docs/release/12.1/#id-1.11.6.27.5"}, {"db_id": "25d5d7c59f2689f4c06c495b36e8d802", "kind": "equivalent", "version": "11.6", "label": "11.6", "title": "修复 configure 对 libperl 是否存在的测试，使其适用于近期的 Red Hat 发行版", "evidence": {"same_day": true, "patch_ids": ["446147c285dc903dc3e4faf62644ce57", "6f6aa2e2923a811aa937c950e3174c37"], "statement_hash": "51afeab0645fe6584ab15ccc885ccc13c3eac17780ec49fd2b35619f90f68451"}, "url": "/docs/compare/?release=11.6#11.6-dceb1e7c16b596f4", "source_url": "/docs/release/11.6/#id-1.11.6.21.5"}, {"db_id": "75230e6bbe167a096994950e2e09aadf", "kind": "equivalent", "version": "10.11", "label": "10.11", "title": "修复 configure 对 libperl 是否存在的测试，使其适用于近期的 Red Hat 发行版", "evidence": {"same_day": true, "patch_ids": ["446147c285dc903dc3e4faf62644ce57", "6f6aa2e2923a811aa937c950e3174c37"], "statement_hash": "51afeab0645fe6584ab15ccc885ccc13c3eac17780ec49fd2b35619f90f68451"}, "url": "/docs/compare/?release=10.11#10.11-dceb1e7c16b596f4", "source_url": "/docs/release/10.11/#id-1.11.6.17.5"}, {"db_id": "212dc5fe34c06a25c876b16b320e5689", "kind": "equivalent", "version": "9.6.16", "label": "9.6.16", "title": "修复 configure 的 libperl 存在性测试，使其在最近的 Red Hat 版本上工作", "evidence": {"same_day": true, "patch_ids": ["446147c285dc903dc3e4faf62644ce57", "6f6aa2e2923a811aa937c950e3174c37"], "statement_hash": "51afeab0645fe6584ab15ccc885ccc13c3eac17780ec49fd2b35619f90f68451"}, "url": "/docs/compare/?release=9.6.16#9.6.16-4b66ce1846ba7cfe", "source_url": "/docs/release/9.6.16/#id-1.11.6.13.5"}, {"db_id": "c7cf81b808f75cf9c89123e47accd94d", "kind": "equivalent", "version": "9.4.25", "label": "9.4.25", "title": "修复 configure 的 libperl 存在性测试，使其在最近的 Red Hat 版本上工作", "evidence": {"same_day": true, "patch_ids": ["446147c285dc903dc3e4faf62644ce57", "6f6aa2e2923a811aa937c950e3174c37"], "statement_hash": "51afeab0645fe6584ab15ccc885ccc13c3eac17780ec49fd2b35619f90f68451"}, "url": "/docs/compare/?release=9.4.25#9.4.25-4b66ce1846ba7cfe", "source_url": "/docs/release/9.4.25/#id-1.11.6.6.6"}]}, {"id": "9.5.20-8e03bd160d038d58", "cves": [], "html": "<p>确保 PowerPC 上自旋锁的正确代码生成（Noah Misch）</p>\n<p>原来的自旋锁编码允许编译器为一条不接受寄存器零的汇编指令选择寄存器零，导致构建失败。我们只见过一份很久以前与此 bug 匹配的报告，但它可能给尝试构建修改过的 <span>PostgreSQL</span> 代码或使用非典型编译器选项的人带来问题。</p>", "text": "确保 PowerPC 上自旋锁的正确代码生成（Noah Misch） 原来的自旋锁编码允许编译器为一条不接受寄存器零的汇编指令选择寄存器零，导致构建失败。我们只见过一份很久以前与此 bug 匹配的报告，但它可能给尝试构建修改过的 PostgreSQL 代码或使用非典型编译器选项的人带来问题。", "title": "确保 PowerPC 上自旋锁的正确代码生成", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.5.20/#id-1.11.6.10.5", "source_hash": "b227f227d9b68ad51d4d6838edcabcec579b15510d6d0dfb9d7b14910d52536e", "section_path": ["变更"], "commit_groups": [["083929372", "09d74aef3", "62e881946", "89b4d7744", "930787c7f", "af4477b00", "ef13f914e"]], "identity_text": "Ensure correct code generation for spinlocks on PowerPC (Noah Misch) The previous spinlock coding allowed the compiler to select register zero for use with an assembly instruction that does not accept that register, causing a build failure. We have seen only one long-ago report that matches this bug, but it could cause problems for people trying to build modified PostgreSQL code or use atypical compiler options.", "commit_aliases": ["083929372", "09d74aef3", "62e881946", "89b4d7744", "930787c7f", "af4477b00", "ef13f914e"], "source_commits": ["62e881946"], "source_entry_id": "9.5.20/changes/046", "db_id": "4f9266e65955529ae7ace087cf3c8721", "patch_ids": ["9e49644de8f316d79e920bb5c0ebf3b5"], "statement_hash": "fdd4a033e7ba3da61f1339c7ba266b5f8e802311fc4b0c72df81a5ede463a994", "relations": [{"rule": 2, "type": "equivalent", "target": "2aa3efae39f2f031a040399699d14a89", "evidence": {"same_day": true, "patch_ids": ["9e49644de8f316d79e920bb5c0ebf3b5"], "statement_hash": "fdd4a033e7ba3da61f1339c7ba266b5f8e802311fc4b0c72df81a5ede463a994"}}, {"rule": 2, "type": "equivalent", "target": "2c2c8ac71213410432d41370129ec1b1", "evidence": {"same_day": true, "patch_ids": ["9e49644de8f316d79e920bb5c0ebf3b5"], "statement_hash": "fdd4a033e7ba3da61f1339c7ba266b5f8e802311fc4b0c72df81a5ede463a994"}}, {"rule": 2, "type": "equivalent", "target": "30f686bb56c6183a946651745f6076b2", "evidence": {"same_day": true, "patch_ids": ["9e49644de8f316d79e920bb5c0ebf3b5"], "statement_hash": "fdd4a033e7ba3da61f1339c7ba266b5f8e802311fc4b0c72df81a5ede463a994"}}, {"rule": 2, "type": "equivalent", "target": "7814bc4e330e8e50c0034a932fc6bed3", "evidence": {"same_day": true, "patch_ids": ["9e49644de8f316d79e920bb5c0ebf3b5"], "statement_hash": "fdd4a033e7ba3da61f1339c7ba266b5f8e802311fc4b0c72df81a5ede463a994"}}, {"rule": 2, "type": "equivalent", "target": "c4af76c82f44bec31f14ff0296b77b40", "evidence": {"same_day": true, "patch_ids": ["9e49644de8f316d79e920bb5c0ebf3b5"], "statement_hash": "fdd4a033e7ba3da61f1339c7ba266b5f8e802311fc4b0c72df81a5ede463a994"}}], "version": "9.5.20", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "30f686bb56c6183a946651745f6076b2", "kind": "equivalent", "version": "12.1", "label": "12.1", "title": "确保为 PowerPC 上的自旋锁生成正确的代码", "evidence": {"same_day": true, "patch_ids": ["9e49644de8f316d79e920bb5c0ebf3b5"], "statement_hash": "fdd4a033e7ba3da61f1339c7ba266b5f8e802311fc4b0c72df81a5ede463a994"}, "url": "/docs/compare/?release=12.1#12.1-afaf21c56e603ca4", "source_url": "/docs/release/12.1/#id-1.11.6.27.5"}, {"db_id": "2aa3efae39f2f031a040399699d14a89", "kind": "equivalent", "version": "11.6", "label": "11.6", "title": "确保为 PowerPC 上的自旋锁生成正确的代码", "evidence": {"same_day": true, "patch_ids": ["9e49644de8f316d79e920bb5c0ebf3b5"], "statement_hash": "fdd4a033e7ba3da61f1339c7ba266b5f8e802311fc4b0c72df81a5ede463a994"}, "url": "/docs/compare/?release=11.6#11.6-72f6d5016fe849da", "source_url": "/docs/release/11.6/#id-1.11.6.21.5"}, {"db_id": "7814bc4e330e8e50c0034a932fc6bed3", "kind": "equivalent", "version": "10.11", "label": "10.11", "title": "确保为 PowerPC 上的自旋锁生成正确的代码", "evidence": {"same_day": true, "patch_ids": ["9e49644de8f316d79e920bb5c0ebf3b5"], "statement_hash": "fdd4a033e7ba3da61f1339c7ba266b5f8e802311fc4b0c72df81a5ede463a994"}, "url": "/docs/compare/?release=10.11#10.11-72f6d5016fe849da", "source_url": "/docs/release/10.11/#id-1.11.6.17.5"}, {"db_id": "c4af76c82f44bec31f14ff0296b77b40", "kind": "equivalent", "version": "9.6.16", "label": "9.6.16", "title": "确保 PowerPC 上自旋锁的正确代码生成", "evidence": {"same_day": true, "patch_ids": ["9e49644de8f316d79e920bb5c0ebf3b5"], "statement_hash": "fdd4a033e7ba3da61f1339c7ba266b5f8e802311fc4b0c72df81a5ede463a994"}, "url": "/docs/compare/?release=9.6.16#9.6.16-8e03bd160d038d58", "source_url": "/docs/release/9.6.16/#id-1.11.6.13.5"}, {"db_id": "2c2c8ac71213410432d41370129ec1b1", "kind": "equivalent", "version": "9.4.25", "label": "9.4.25", "title": "确保 PowerPC 上自旋锁的正确代码生成", "evidence": {"same_day": true, "patch_ids": ["9e49644de8f316d79e920bb5c0ebf3b5"], "statement_hash": "fdd4a033e7ba3da61f1339c7ba266b5f8e802311fc4b0c72df81a5ede463a994"}, "url": "/docs/compare/?release=9.4.25#9.4.25-8e03bd160d038d58", "source_url": "/docs/release/9.4.25/#id-1.11.6.6.6"}]}, {"id": "9.5.20-da78372c53ef2152", "cves": [], "html": "<p>在 PowerPC 上，避免依赖 xlc 编译器的 <code>__fetch_and_add()</code> 函数（Noah Misch）</p>\n<p>xlc 13 及更新版本以与我们的用法不兼容的方式解释该函数，导致 <span>PostgreSQL</span> 的构建不可用。改用自定义汇编代码修复。</p>", "text": "在 PowerPC 上，避免依赖 xlc 编译器的 __fetch_and_add() 函数（Noah Misch） xlc 13 及更新版本以与我们的用法不兼容的方式解释该函数，导致 PostgreSQL 的构建不可用。改用自定义汇编代码修复。", "title": "在 PowerPC 上，避免依赖 xlc 编译器的 __fetch_and_add() 函数", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.5.20/#id-1.11.6.10.5", "source_hash": "9459bbd09ec799e6606715f91ae680c2139bc293ad8575525f2fe31de0200b67", "section_path": ["变更"], "commit_groups": [["1c6b62a7d", "40ad42025", "75941f257", "8972ac696", "a1df9a015", "dd50f1a43"]], "identity_text": "On PowerPC, avoid depending on the xlc compiler's __fetch_and_add() function (Noah Misch) xlc 13 and newer interpret this function in a way incompatible with our usage, resulting in an unusable build of PostgreSQL. Fix by using custom assembly code instead.", "commit_aliases": ["1c6b62a7d", "40ad42025", "75941f257", "8972ac696", "a1df9a015", "dd50f1a43"], "source_commits": ["75941f257"], "source_entry_id": "9.5.20/changes/047", "db_id": "bcae758108bbe6a8c1b8f8e7e139930b", "patch_ids": ["acd5804cae78f4af7b72c30a46fa25e9"], "statement_hash": "102d6bb53b35e006907f7a36c896a75582039ff4b43c12ad7e4eddc37e127f8b", "relations": [{"rule": 2, "type": "equivalent", "target": "2ebd7e349e6e47a55b2d5a0449cdd817", "evidence": {"same_day": true, "patch_ids": ["acd5804cae78f4af7b72c30a46fa25e9"], "statement_hash": "102d6bb53b35e006907f7a36c896a75582039ff4b43c12ad7e4eddc37e127f8b"}}, {"rule": 2, "type": "equivalent", "target": "84b394ea4e22fd25f1ffd6ce3f30d56f", "evidence": {"same_day": true, "patch_ids": ["acd5804cae78f4af7b72c30a46fa25e9"], "statement_hash": "102d6bb53b35e006907f7a36c896a75582039ff4b43c12ad7e4eddc37e127f8b"}}, {"rule": 2, "type": "equivalent", "target": "be545406cc1bd6bfad2d55bb1793ddbd", "evidence": {"same_day": true, "patch_ids": ["acd5804cae78f4af7b72c30a46fa25e9"], "statement_hash": "102d6bb53b35e006907f7a36c896a75582039ff4b43c12ad7e4eddc37e127f8b"}}], "version": "9.5.20", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "2ebd7e349e6e47a55b2d5a0449cdd817", "kind": "equivalent", "version": "11.6", "label": "11.6", "title": "在 PowerPC 上，避免依赖 xlc 编译器的 __fetch_and_add() 函数", "evidence": {"same_day": true, "patch_ids": ["acd5804cae78f4af7b72c30a46fa25e9"], "statement_hash": "102d6bb53b35e006907f7a36c896a75582039ff4b43c12ad7e4eddc37e127f8b"}, "url": "/docs/compare/?release=11.6#11.6-da78372c53ef2152", "source_url": "/docs/release/11.6/#id-1.11.6.21.5"}, {"db_id": "be545406cc1bd6bfad2d55bb1793ddbd", "kind": "equivalent", "version": "10.11", "label": "10.11", "title": "在 PowerPC 上，避免依赖 xlc 编译器的 __fetch_and_add() 函数", "evidence": {"same_day": true, "patch_ids": ["acd5804cae78f4af7b72c30a46fa25e9"], "statement_hash": "102d6bb53b35e006907f7a36c896a75582039ff4b43c12ad7e4eddc37e127f8b"}, "url": "/docs/compare/?release=10.11#10.11-da78372c53ef2152", "source_url": "/docs/release/10.11/#id-1.11.6.17.5"}, {"db_id": "84b394ea4e22fd25f1ffd6ce3f30d56f", "kind": "equivalent", "version": "9.6.16", "label": "9.6.16", "title": "在 PowerPC 上，避免依赖 xlc 编译器的 __fetch_and_add() 函数", "evidence": {"same_day": true, "patch_ids": ["acd5804cae78f4af7b72c30a46fa25e9"], "statement_hash": "102d6bb53b35e006907f7a36c896a75582039ff4b43c12ad7e4eddc37e127f8b"}, "url": "/docs/compare/?release=9.6.16#9.6.16-da78372c53ef2152", "source_url": "/docs/release/9.6.16/#id-1.11.6.13.5"}]}, {"id": "9.5.20-661671e4f6b6f300", "cves": [], "html": "<p>在 AIX 上，不使用编译器选项 <code>-qsrcmsg</code>（Noah Misch）</p>\n<p>这避免了 xlc v16.1.0 的内部编译器错误，除了更改编译器错误消息的格式之外几乎没有其他后果。</p>", "text": "在 AIX 上，不使用编译器选项 -qsrcmsg（Noah Misch） 这避免了 xlc v16.1.0 的内部编译器错误，除了更改编译器错误消息的格式之外几乎没有其他后果。", "title": "在 AIX 上，不使用编译器选项 -qsrcmsg", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.5.20/#id-1.11.6.10.5", "source_hash": "39ed5724b71066b5e98f583d9e5d8f8bbc1cd1a787d88bcb595dfdce0bae3b96", "section_path": ["变更"], "commit_groups": [["3fb14cfcb", "5f3d271d0", "77cc4a595", "b705582b4", "c73f4f680", "e40eb31c0", "e5b4926ef"]], "identity_text": "On AIX, don't use the compiler option -qsrcmsg (Noah Misch) This avoids an internal compiler error with xlc v16.1.0, with little consequence other than changing the format of compiler error messages.", "commit_aliases": ["3fb14cfcb", "5f3d271d0", "77cc4a595", "b705582b4", "c73f4f680", "e40eb31c0", "e5b4926ef"], "source_commits": ["e40eb31c0"], "source_entry_id": "9.5.20/changes/048", "db_id": "760aa42d630d7db3ee283c2c1bf4e8a4", "patch_ids": ["1599bea98b7d92f4dc430eb31aab3c06"], "statement_hash": "0435870f8b6f137509a3cee94109abae59caa3c0c4b218a4acb90dcba10d8b6c", "relations": [{"rule": 2, "type": "equivalent", "target": "416b05485065dc8bf461bb9a38cea5d5", "evidence": {"same_day": true, "patch_ids": ["1599bea98b7d92f4dc430eb31aab3c06"], "statement_hash": "0435870f8b6f137509a3cee94109abae59caa3c0c4b218a4acb90dcba10d8b6c"}}, {"rule": 2, "type": "equivalent", "target": "5ff20ba9783100b29d6a950489beaf5c", "evidence": {"same_day": true, "patch_ids": ["1599bea98b7d92f4dc430eb31aab3c06"], "statement_hash": "0435870f8b6f137509a3cee94109abae59caa3c0c4b218a4acb90dcba10d8b6c"}}, {"rule": 2, "type": "equivalent", "target": "822c329930f6839fd4e003bb6199daad", "evidence": {"same_day": true, "patch_ids": ["1599bea98b7d92f4dc430eb31aab3c06"], "statement_hash": "0435870f8b6f137509a3cee94109abae59caa3c0c4b218a4acb90dcba10d8b6c"}}, {"rule": 2, "type": "equivalent", "target": "d96568514755bd9c64b47ceb2569ea10", "evidence": {"same_day": true, "patch_ids": ["1599bea98b7d92f4dc430eb31aab3c06"], "statement_hash": "0435870f8b6f137509a3cee94109abae59caa3c0c4b218a4acb90dcba10d8b6c"}}, {"rule": 2, "type": "equivalent", "target": "e1709c0b2254841b5b2e038b0d095cd0", "evidence": {"same_day": true, "patch_ids": ["1599bea98b7d92f4dc430eb31aab3c06"], "statement_hash": "0435870f8b6f137509a3cee94109abae59caa3c0c4b218a4acb90dcba10d8b6c"}}], "version": "9.5.20", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "5ff20ba9783100b29d6a950489beaf5c", "kind": "equivalent", "version": "12.1", "label": "12.1", "title": "在 AIX 上不再使用编译器选项 -qsrcmsg", "evidence": {"same_day": true, "patch_ids": ["1599bea98b7d92f4dc430eb31aab3c06"], "statement_hash": "0435870f8b6f137509a3cee94109abae59caa3c0c4b218a4acb90dcba10d8b6c"}, "url": "/docs/compare/?release=12.1#12.1-95ff6454bde5ffe3", "source_url": "/docs/release/12.1/#id-1.11.6.27.5"}, {"db_id": "e1709c0b2254841b5b2e038b0d095cd0", "kind": "equivalent", "version": "11.6", "label": "11.6", "title": "在 AIX 上不再使用编译器选项 -qsrcmsg", "evidence": {"same_day": true, "patch_ids": ["1599bea98b7d92f4dc430eb31aab3c06"], "statement_hash": "0435870f8b6f137509a3cee94109abae59caa3c0c4b218a4acb90dcba10d8b6c"}, "url": "/docs/compare/?release=11.6#11.6-fd088abedec41d3c", "source_url": "/docs/release/11.6/#id-1.11.6.21.5"}, {"db_id": "d96568514755bd9c64b47ceb2569ea10", "kind": "equivalent", "version": "10.11", "label": "10.11", "title": "在 AIX 上不再使用编译器选项 -qsrcmsg", "evidence": {"same_day": true, "patch_ids": ["1599bea98b7d92f4dc430eb31aab3c06"], "statement_hash": "0435870f8b6f137509a3cee94109abae59caa3c0c4b218a4acb90dcba10d8b6c"}, "url": "/docs/compare/?release=10.11#10.11-fd088abedec41d3c", "source_url": "/docs/release/10.11/#id-1.11.6.17.5"}, {"db_id": "822c329930f6839fd4e003bb6199daad", "kind": "equivalent", "version": "9.6.16", "label": "9.6.16", "title": "在 AIX 上，不使用编译器选项 -qsrcmsg", "evidence": {"same_day": true, "patch_ids": ["1599bea98b7d92f4dc430eb31aab3c06"], "statement_hash": "0435870f8b6f137509a3cee94109abae59caa3c0c4b218a4acb90dcba10d8b6c"}, "url": "/docs/compare/?release=9.6.16#9.6.16-661671e4f6b6f300", "source_url": "/docs/release/9.6.16/#id-1.11.6.13.5"}, {"db_id": "416b05485065dc8bf461bb9a38cea5d5", "kind": "equivalent", "version": "9.4.25", "label": "9.4.25", "title": "在 AIX 上，不使用编译器选项 -qsrcmsg", "evidence": {"same_day": true, "patch_ids": ["1599bea98b7d92f4dc430eb31aab3c06"], "statement_hash": "0435870f8b6f137509a3cee94109abae59caa3c0c4b218a4acb90dcba10d8b6c"}, "url": "/docs/compare/?release=9.4.25#9.4.25-661671e4f6b6f300", "source_url": "/docs/release/9.4.25/#id-1.11.6.6.6"}]}, {"id": "9.5.20-cca0d9db341e5aeb", "cves": [], "html": "<p>修复 MSVC 构建过程以应对 OpenSSL 文件路径中的空格（Andrew Dunstan）</p>", "text": "修复 MSVC 构建过程以应对 OpenSSL 文件路径中的空格（Andrew Dunstan）", "title": "修复 MSVC 构建过程以应对 OpenSSL 文件路径中的空格", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.5.20/#id-1.11.6.10.5", "source_hash": "9c01c5e2e241ec7cb4a6e1d5766d44ff9d8a23c2a89a02a29b311832b871b86d", "section_path": ["变更"], "commit_groups": [["1e9a0487d", "3b9c22700", "62d2caed6", "6ca51b155", "8f8809091", "ad7595b89", "ec38d2311"]], "identity_text": "Fix MSVC build process to cope with spaces in the file path of OpenSSL (Andrew Dunstan)", "commit_aliases": ["1e9a0487d", "3b9c22700", "62d2caed6", "6ca51b155", "8f8809091", "ad7595b89", "ec38d2311"], "source_commits": ["6ca51b155"], "source_entry_id": "9.5.20/changes/049", "db_id": "9e8d143fba38db76992300f11c8d84f9", "patch_ids": ["26f1bde951b659e5d5df4cc603319c36"], "statement_hash": "6329ec64f2b04403d027d3c8f47f3500d7f507364e5a0b4c15a85144769fa607", "relations": [{"rule": 2, "type": "equivalent", "target": "0893554c398dc6e15ad4901312cba282", "evidence": {"same_day": true, "patch_ids": ["26f1bde951b659e5d5df4cc603319c36"], "statement_hash": "6329ec64f2b04403d027d3c8f47f3500d7f507364e5a0b4c15a85144769fa607"}}, {"rule": 2, "type": "equivalent", "target": "90f6af2221cf19865a9a78e940ca4f64", "evidence": {"same_day": true, "patch_ids": ["26f1bde951b659e5d5df4cc603319c36"], "statement_hash": "6329ec64f2b04403d027d3c8f47f3500d7f507364e5a0b4c15a85144769fa607"}}, {"rule": 2, "type": "equivalent", "target": "928237d2a0d6a7f0f1d701177479ae8f", "evidence": {"same_day": true, "patch_ids": ["26f1bde951b659e5d5df4cc603319c36"], "statement_hash": "6329ec64f2b04403d027d3c8f47f3500d7f507364e5a0b4c15a85144769fa607"}}, {"rule": 2, "type": "equivalent", "target": "a6f8353053480f849627a17f462805c4", "evidence": {"same_day": true, "patch_ids": ["26f1bde951b659e5d5df4cc603319c36"], "statement_hash": "6329ec64f2b04403d027d3c8f47f3500d7f507364e5a0b4c15a85144769fa607"}}, {"rule": 2, "type": "equivalent", "target": "b15b4c64c40679e329e5756bfde4fbd6", "evidence": {"same_day": true, "patch_ids": ["26f1bde951b659e5d5df4cc603319c36"], "statement_hash": "6329ec64f2b04403d027d3c8f47f3500d7f507364e5a0b4c15a85144769fa607"}}], "version": "9.5.20", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "928237d2a0d6a7f0f1d701177479ae8f", "kind": "equivalent", "version": "12.1", "label": "12.1", "title": "修复 MSVC 构建过程，使其能够处理 OpenSSL 文件路径中的空格", "evidence": {"same_day": true, "patch_ids": ["26f1bde951b659e5d5df4cc603319c36"], "statement_hash": "6329ec64f2b04403d027d3c8f47f3500d7f507364e5a0b4c15a85144769fa607"}, "url": "/docs/compare/?release=12.1#12.1-e3ccc580f9073809", "source_url": "/docs/release/12.1/#id-1.11.6.27.5"}, {"db_id": "0893554c398dc6e15ad4901312cba282", "kind": "equivalent", "version": "11.6", "label": "11.6", "title": "修复 MSVC 构建过程，使其能够处理 OpenSSL 文件路径中的空格", "evidence": {"same_day": true, "patch_ids": ["26f1bde951b659e5d5df4cc603319c36"], "statement_hash": "6329ec64f2b04403d027d3c8f47f3500d7f507364e5a0b4c15a85144769fa607"}, "url": "/docs/compare/?release=11.6#11.6-8af5f9d4642c2ecf", "source_url": "/docs/release/11.6/#id-1.11.6.21.5"}, {"db_id": "90f6af2221cf19865a9a78e940ca4f64", "kind": "equivalent", "version": "10.11", "label": "10.11", "title": "修复 MSVC 构建过程，使其能够处理 OpenSSL 文件路径中的空格", "evidence": {"same_day": true, "patch_ids": ["26f1bde951b659e5d5df4cc603319c36"], "statement_hash": "6329ec64f2b04403d027d3c8f47f3500d7f507364e5a0b4c15a85144769fa607"}, "url": "/docs/compare/?release=10.11#10.11-8af5f9d4642c2ecf", "source_url": "/docs/release/10.11/#id-1.11.6.17.5"}, {"db_id": "a6f8353053480f849627a17f462805c4", "kind": "equivalent", "version": "9.6.16", "label": "9.6.16", "title": "修复 MSVC 构建过程以应对 OpenSSL 文件路径中的空格", "evidence": {"same_day": true, "patch_ids": ["26f1bde951b659e5d5df4cc603319c36"], "statement_hash": "6329ec64f2b04403d027d3c8f47f3500d7f507364e5a0b4c15a85144769fa607"}, "url": "/docs/compare/?release=9.6.16#9.6.16-cca0d9db341e5aeb", "source_url": "/docs/release/9.6.16/#id-1.11.6.13.5"}, {"db_id": "b15b4c64c40679e329e5756bfde4fbd6", "kind": "equivalent", "version": "9.4.25", "label": "9.4.25", "title": "修复 MSVC 构建过程以应对 OpenSSL 文件路径中的空格", "evidence": {"same_day": true, "patch_ids": ["26f1bde951b659e5d5df4cc603319c36"], "statement_hash": "6329ec64f2b04403d027d3c8f47f3500d7f507364e5a0b4c15a85144769fa607"}, "url": "/docs/compare/?release=9.4.25#9.4.25-cca0d9db341e5aeb", "source_url": "/docs/release/9.4.25/#id-1.11.6.6.6"}]}, {"id": "9.5.20-3df4e6cc5b21efd1", "cves": [], "html": "<p>更新时区数据文件到 <span>tzdata</span> 版本 2019c，涉及斐济和诺福克岛的夏令时法规变更，以及艾伯塔、奥地利、比利时、不列颠哥伦比亚、柬埔寨、香港、印第安纳（佩里县）、加里宁格勒、肯塔基、密歇根、诺福克岛、韩国和土耳其的历史修正。</p>", "text": "更新时区数据文件到 tzdata 版本 2019c，涉及斐济和诺福克岛的夏令时法规变更，以及艾伯塔、奥地利、比利时、不列颠哥伦比亚、柬埔寨、香港、印第安纳（佩里县）、加里宁格勒、肯塔基、密歇根、诺福克岛、韩国和土耳其的历史修正。", "title": "更新时区数据文件到 tzdata 版本 2019c，涉及斐济和诺福克岛的夏令时法规变更，以及艾伯塔、奥地利、比利时、不列颠哥伦比亚、柬埔寨、香港、印第安纳（佩里县）、加里宁格勒、肯塔基、密歇根、诺福克岛、韩国和土耳其的历史修正。", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.5.20/#id-1.11.6.10.5", "source_hash": "d02f73bf5785c1b98494f015c8055e45f1917ecc5c79ea4c85eb4e5055ff0cb7", "section_path": ["变更"], "commit_groups": [["0bd64398e", "128abdef7", "24f64fba0", "2966e30e5", "29e47f83c", "769802ef9", "df4fbcd89"]], "identity_text": "Update time zone data files to tzdata release 2019c for DST law changes in Fiji and Norfolk Island, plus historical corrections for Alberta, Austria, Belgium, British Columbia, Cambodia, Hong Kong, Indiana (Perry County), Kaliningrad, Kentucky, Michigan, Norfolk Island, South Korea, and Turkey.", "commit_aliases": ["0bd64398e", "128abdef7", "24f64fba0", "2966e30e5", "29e47f83c", "769802ef9", "df4fbcd89"], "source_commits": ["128abdef7"], "source_entry_id": "9.5.20/changes/050", "db_id": "5b019aeb828713edb1e7e8cca7ae1621", "patch_ids": ["96b1ee10cb19eac730ff645a2ba36d15"], "statement_hash": "bf411d5dcf240ec41fce05ed6b498d7ecc24166e34da9e8742cc8584e49a4938", "relations": [{"rule": 2, "type": "equivalent", "target": "19e801c0f3b869957d5fab96c808e535", "evidence": {"same_day": true, "patch_ids": ["96b1ee10cb19eac730ff645a2ba36d15"], "statement_hash": "bf411d5dcf240ec41fce05ed6b498d7ecc24166e34da9e8742cc8584e49a4938"}}, {"rule": 2, "type": "equivalent", "target": "5c4afc1a6f1af55d60cf633c13667ff3", "evidence": {"same_day": true, "patch_ids": ["96b1ee10cb19eac730ff645a2ba36d15"], "statement_hash": "bf411d5dcf240ec41fce05ed6b498d7ecc24166e34da9e8742cc8584e49a4938"}}, {"rule": 2, "type": "equivalent", "target": "8394234783f7c63cdd763ddbe772912d", "evidence": {"same_day": true, "patch_ids": ["96b1ee10cb19eac730ff645a2ba36d15"], "statement_hash": "bf411d5dcf240ec41fce05ed6b498d7ecc24166e34da9e8742cc8584e49a4938"}}, {"rule": 2, "type": "equivalent", "target": "ae92e6f03f6ea389f065a100e97c9eb6", "evidence": {"same_day": true, "patch_ids": ["96b1ee10cb19eac730ff645a2ba36d15"], "statement_hash": "bf411d5dcf240ec41fce05ed6b498d7ecc24166e34da9e8742cc8584e49a4938"}}], "version": "9.5.20", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "8394234783f7c63cdd763ddbe772912d", "kind": "equivalent", "version": "11.6", "label": "11.6", "title": "将时区数据文件更新到 tzdata 2019c 版，以反映斐济和诺福克岛的夏令时法规变更，并修正艾伯塔、奥地利、比利时、不列颠哥伦比亚、柬埔寨、香港、印第安纳（佩里县）、加里宁格勒、肯塔基、密歇根、诺福克岛、韩国和土耳其的历史数据。", "evidence": {"same_day": true, "patch_ids": ["96b1ee10cb19eac730ff645a2ba36d15"], "statement_hash": "bf411d5dcf240ec41fce05ed6b498d7ecc24166e34da9e8742cc8584e49a4938"}, "url": "/docs/compare/?release=11.6#11.6-1a5ed0178f1bc53f", "source_url": "/docs/release/11.6/#id-1.11.6.21.5"}, {"db_id": "ae92e6f03f6ea389f065a100e97c9eb6", "kind": "equivalent", "version": "10.11", "label": "10.11", "title": "将时区数据文件更新到 tzdata 2019c 版，以反映斐济和诺福克岛的夏令时法规变更，并修正艾伯塔、奥地利、比利时、不列颠哥伦比亚、柬埔寨、香港、印第安纳（佩里县）、加里宁格勒、肯塔基、密歇根、诺福克岛、韩国和土耳其的历史数据。", "evidence": {"same_day": true, "patch_ids": ["96b1ee10cb19eac730ff645a2ba36d15"], "statement_hash": "bf411d5dcf240ec41fce05ed6b498d7ecc24166e34da9e8742cc8584e49a4938"}, "url": "/docs/compare/?release=10.11#10.11-1a5ed0178f1bc53f", "source_url": "/docs/release/10.11/#id-1.11.6.17.5"}, {"db_id": "19e801c0f3b869957d5fab96c808e535", "kind": "equivalent", "version": "9.6.16", "label": "9.6.16", "title": "更新时区数据文件到 tzdata 版本 2019c，涉及斐济和诺福克岛的夏令时法规变更，以及艾伯塔、奥地利、比利时、不列颠哥伦比亚、柬埔寨、香港、印第安纳（佩里县）、加里宁格勒、肯塔基、密歇根、诺福克岛、韩国和土耳其的历史修正。", "evidence": {"same_day": true, "patch_ids": ["96b1ee10cb19eac730ff645a2ba36d15"], "statement_hash": "bf411d5dcf240ec41fce05ed6b498d7ecc24166e34da9e8742cc8584e49a4938"}, "url": "/docs/compare/?release=9.6.16#9.6.16-3df4e6cc5b21efd1", "source_url": "/docs/release/9.6.16/#id-1.11.6.13.5"}, {"db_id": "5c4afc1a6f1af55d60cf633c13667ff3", "kind": "equivalent", "version": "9.4.25", "label": "9.4.25", "title": "更新时区数据文件到 tzdata 版本 2019c，涉及斐济和诺福克岛的夏令时法规变更，以及艾伯塔、奥地利、比利时、不列颠哥伦比亚、柬埔寨、香港、印第安纳（佩里县）、加里宁格勒、肯塔基、密歇根、诺福克岛、韩国和土耳其的历史修正。", "evidence": {"same_day": true, "patch_ids": ["96b1ee10cb19eac730ff645a2ba36d15"], "statement_hash": "bf411d5dcf240ec41fce05ed6b498d7ecc24166e34da9e8742cc8584e49a4938"}, "url": "/docs/compare/?release=9.4.25#9.4.25-3df4e6cc5b21efd1", "source_url": "/docs/release/9.4.25/#id-1.11.6.6.6"}]}]}], "stats": [{"key": "all", "label": "全部变更", "count": 50}, {"key": "feature", "label": "新功能", "count": 0}, {"key": "bugfix", "label": "BUG 修复", "count": 19}, {"key": "security", "label": "安全相关", "count": 0}, {"key": "performance", "label": "性能改进", "count": 0}, {"key": "compatibility", "label": "兼容性变化", "count": 0}, {"key": "improvement", "label": "其他改进", "count": 31}], "total": 50, "release_count": 1, "cross_major": false, "cve_count": 0, "cves": [], "cve_available": true, "remaining_cves": [], "security_regressions": [], "warnings": [], "candidate_count": 50, "already_in_source_count": 0, "duplicate_count": 0, "excluded_count": 0, "exclusions": [], "source_as_of": "2026-09-26", "security_as_of": "2026-09-26"}