{"format": 1, "mode": "release", "from_release": null, "to_release": {"date": "2015-05-22", "build": "9.2.11", "major": "9.2", "minor": 11, "manual": "9.2", "status": "stable", "doc_git": "", "version": "9.2.11", "eol_date": "2017-11-09", "date_text": "2015-05-22", "supported": false, "manual_url": "/docs/9.2/release-9-2-11.html", "source_url": "/docs/release/9.2.11/", "entry_count": 45, "placeholder": false, "content_hash": "71899b210f482f4e3ba1ce890aca9b8188035fd5757999bc7210a97152eaa88c", "manual_build": "9.2.24", "source_as_of": "", "changes_count": 45, "doc_loaded_at": "2026-09-26T02:56:46.946617", "migration_html": "<p>    对于运行 9.2.X 的用户，不需要进行转储/恢复。</p><p>     但是，如果你使用<code>contrib/citext</code>的<code>regexp_matches()</code>函数，请参见下面相关的变更日志条目。\n    </p><p>    不过，如果你是从早于 9.2.10 的版本升级，请参见<a href=\"/docs/9.2/release-9-2-10.html\" title=\"E.15. 版本 9.2.10\">第 E.15 节</a>。</p>", "compatibility_count": 0, "label": "9.2.11", "status_label": "历史版本", "eol": "2017-11-09", "age_days": 4149, "support_days": -3247}, "groups": [{"date": "2015-05-22", "build": "9.2.11", "major": "9.2", "minor": 11, "manual": "9.2", "status": "stable", "doc_git": "", "version": "9.2.11", "eol_date": "2017-11-09", "date_text": "2015-05-22", "supported": false, "manual_url": "/docs/9.2/release-9-2-11.html", "source_url": "/docs/release/9.2.11/", "entry_count": 45, "placeholder": false, "content_hash": "71899b210f482f4e3ba1ce890aca9b8188035fd5757999bc7210a97152eaa88c", "manual_build": "9.2.24", "source_as_of": "", "changes_count": 45, "doc_loaded_at": "2026-09-26T02:56:46.946617", "migration_html": "<p>    对于运行 9.2.X 的用户，不需要进行转储/恢复。</p><p>     但是，如果你使用<code>contrib/citext</code>的<code>regexp_matches()</code>函数，请参见下面相关的变更日志条目。\n    </p><p>    不过，如果你是从早于 9.2.10 的版本升级，请参见<a href=\"/docs/9.2/release-9-2-10.html\" title=\"E.15. 版本 9.2.10\">第 E.15 节</a>。</p>", "compatibility_count": 0, "label": "9.2.11", "status_label": "历史版本", "eol": "2017-11-09", "age_days": 4149, "support_days": -3247, "entries": [{"id": "9.2.11-f137684634296f0b", "cves": ["CVE-2015-3165"], "html": "<p>     避免客户端恰在认证超时到期前断开时可能出现的崩溃（Benkocs Norbert Attila）\n    </p><p>     如果超时中断在会话关闭序列进行到一半时触发，SSL 相关状态会被释放两次，通常导致崩溃并对其他会话造成服务拒绝。实验表明，未经认证的远程攻击者能够相当稳定地触发此缺陷，因此按安全问题处理。（CVE-2015-3165）\n    </p>", "text": "避免客户端恰在认证超时到期前断开时可能出现的崩溃（Benkocs Norbert Attila） 如果超时中断在会话关闭序列进行到一半时触发，SSL 相关状态会被释放两次，通常导致崩溃并对其他会话造成服务拒绝。实验表明，未经认证的远程攻击者能够相当稳定地触发此缺陷，因此按安全问题处理。（CVE-2015-3165）", "title": "避免客户端恰在认证超时到期前断开时可能出现的崩溃", "commits": [], "section": "变更", "category": "security", "source_url": "/docs/release/9.2.11/#id-1.11.6.18.5", "source_hash": "3ee9edf8bd5825c3c82040ef4c8395dd3945118b72602c7c6b11f818001f7e5e", "section_path": ["变更"], "commit_groups": [], "identity_text": "Avoid possible crash when client disconnects just before the authentication timeout expires (Benkocs Norbert Attila) If the timeout interrupt fired partway through the session shutdown sequence, SSL-related state would be freed twice, typically causing a crash and hence denial of service to other sessions. Experimentation shows that an unauthenticated remote attacker could trigger the bug somewhat consistently, hence treat as security issue. (CVE-2015-3165)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.2.11/changes/001", "db_id": "7bd6b2445702e22a6706e79ceac6febd", "patch_ids": [], "statement_hash": "2516c54774fb7acc56302560aed0d0712c87b04832b25e27926b22fcf82991e4", "relations": [{"rule": 2, "type": "equivalent", "target": "166a058331aa92169d3c993ccc78a6f8", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "2516c54774fb7acc56302560aed0d0712c87b04832b25e27926b22fcf82991e4"}}, {"rule": 2, "type": "equivalent", "target": "1f011ca3bdf0c55f16f7d70b05ccaa63", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "2516c54774fb7acc56302560aed0d0712c87b04832b25e27926b22fcf82991e4"}}, {"rule": 2, "type": "equivalent", "target": "33653fc5cbb1d58de707f58e51339ffa", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "2516c54774fb7acc56302560aed0d0712c87b04832b25e27926b22fcf82991e4"}}, {"rule": 2, "type": "equivalent", "target": "a8137ac3737dfa85692bd256b8de569a", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "2516c54774fb7acc56302560aed0d0712c87b04832b25e27926b22fcf82991e4"}}], "version": "9.2.11", "category_label": "安全相关", "also_in": [], "variants": [], "related_changes": [{"db_id": "a8137ac3737dfa85692bd256b8de569a", "kind": "equivalent", "version": "9.4.2", "label": "9.4.2", "title": "避免客户端恰在认证超时到期前断开时可能出现的崩溃", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "2516c54774fb7acc56302560aed0d0712c87b04832b25e27926b22fcf82991e4"}, "url": "/docs/compare/?release=9.4.2#9.4.2-f137684634296f0b", "source_url": "/docs/release/9.4.2/#id-1.11.6.29.5"}, {"db_id": "1f011ca3bdf0c55f16f7d70b05ccaa63", "kind": "equivalent", "version": "9.3.7", "label": "9.3.7", "title": "避免客户端恰在认证超时到期前断开时可能出现的崩溃", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "2516c54774fb7acc56302560aed0d0712c87b04832b25e27926b22fcf82991e4"}, "url": "/docs/compare/?release=9.3.7#9.3.7-f137684634296f0b", "source_url": "/docs/release/9.3.7/#id-1.11.6.23.5"}, {"db_id": "166a058331aa92169d3c993ccc78a6f8", "kind": "equivalent", "version": "9.1.16", "label": "9.1.16", "title": "避免客户端恰在认证超时到期前断开时可能出现的崩溃", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "2516c54774fb7acc56302560aed0d0712c87b04832b25e27926b22fcf82991e4"}, "url": "/docs/compare/?release=9.1.16#9.1.16-f137684634296f0b", "source_url": "/docs/release/9.1.16/#id-1.11.6.13.5"}, {"db_id": "33653fc5cbb1d58de707f58e51339ffa", "kind": "equivalent", "version": "9.0.20", "label": "9.0.20", "title": "避免客户端恰在认证超时到期前断开时可能出现的崩溃", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "2516c54774fb7acc56302560aed0d0712c87b04832b25e27926b22fcf82991e4"}, "url": "/docs/compare/?release=9.0.20#9.0.20-f137684634296f0b", "source_url": "/docs/release/9.0.20/#id-1.11.6.8.6"}]}, {"id": "9.2.11-72654f8666dd7a43", "cves": ["CVE-2015-3166"], "html": "<p>     改进对系统调用失败的检测（Noah Misch）\n    </p><p>     我们替换实现的<code>snprintf()</code>未检查底层系统库调用报告的错误；可能被遗漏的主要情况是内存耗尽。在最坏情况下，由于我们的代码假定缓冲区已被覆写而实际未覆写，这可能导致信息暴露。此外，还有少数地方对安全相关的其他系统库函数调用未检查失败。\n    </p><p>     仍有可能某些对<code>*printf()</code>族函数的调用在恰逢内存耗尽错误时存在信息泄露风险。我们判断风险不大，但将继续在此领域进行分析。（CVE-2015-3166）\n    </p>", "text": "改进对系统调用失败的检测（Noah Misch） 我们替换实现的snprintf()未检查底层系统库调用报告的错误；可能被遗漏的主要情况是内存耗尽。在最坏情况下，由于我们的代码假定缓冲区已被覆写而实际未覆写，这可能导致信息暴露。此外，还有少数地方对安全相关的其他系统库函数调用未检查失败。 仍有可能某些对*printf()族函数的调用在恰逢内存耗尽错误时存在信息泄露风险。我们判断风险不大，但将继续在此领域进行分析。（CVE-2015-3166）", "title": "改进对系统调用失败的检测", "commits": [], "section": "变更", "category": "security", "source_url": "/docs/release/9.2.11/#id-1.11.6.18.5", "source_hash": "b68213a8b411c8003f749cdb3fb2d958214ad379c2abca42e0866a6ff37f65dc", "section_path": ["变更"], "commit_groups": [], "identity_text": "Improve detection of system-call failures (Noah Misch) Our replacement implementation of snprintf() failed to check for errors reported by the underlying system library calls; the main case that might be missed is out-of-memory situations. In the worst case this might lead to information exposure, due to our code assuming that a buffer had been overwritten when it hadn't been. Also, there were a few places in which security-relevant calls of other system library functions did not check for failure. It remains possible that some calls of the *printf() family of functions are vulnerable to information disclosure if an out-of-memory error occurs at just the wrong time. We judge the risk to not be large, but will continue analysis in this area. (CVE-2015-3166)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.2.11/changes/002", "db_id": "311cd6e151a473c82bf7bb526eea7fec", "patch_ids": [], "statement_hash": "c698deb914a9a5816deed3947f2bcd9a20cfa6b171e610e37d784fbdd873820b", "relations": [{"rule": 2, "type": "equivalent", "target": "0b9f2a2344cc7de8caf2ff5d03e7dbd3", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c698deb914a9a5816deed3947f2bcd9a20cfa6b171e610e37d784fbdd873820b"}}, {"rule": 2, "type": "equivalent", "target": "1edcc40df2a2fb58eb20cb9ca4bcfb82", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c698deb914a9a5816deed3947f2bcd9a20cfa6b171e610e37d784fbdd873820b"}}, {"rule": 2, "type": "equivalent", "target": "5417e7cbb4c646adff2745f83e060216", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c698deb914a9a5816deed3947f2bcd9a20cfa6b171e610e37d784fbdd873820b"}}, {"rule": 2, "type": "equivalent", "target": "79fe5e14ad1b277e6f385e35c8a79593", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c698deb914a9a5816deed3947f2bcd9a20cfa6b171e610e37d784fbdd873820b"}}], "version": "9.2.11", "category_label": "安全相关", "also_in": [], "variants": [], "related_changes": [{"db_id": "1edcc40df2a2fb58eb20cb9ca4bcfb82", "kind": "equivalent", "version": "9.4.2", "label": "9.4.2", "title": "改进对系统调用失败的检测", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c698deb914a9a5816deed3947f2bcd9a20cfa6b171e610e37d784fbdd873820b"}, "url": "/docs/compare/?release=9.4.2#9.4.2-72654f8666dd7a43", "source_url": "/docs/release/9.4.2/#id-1.11.6.29.5"}, {"db_id": "5417e7cbb4c646adff2745f83e060216", "kind": "equivalent", "version": "9.3.7", "label": "9.3.7", "title": "改进对系统调用失败的检测", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c698deb914a9a5816deed3947f2bcd9a20cfa6b171e610e37d784fbdd873820b"}, "url": "/docs/compare/?release=9.3.7#9.3.7-72654f8666dd7a43", "source_url": "/docs/release/9.3.7/#id-1.11.6.23.5"}, {"db_id": "79fe5e14ad1b277e6f385e35c8a79593", "kind": "equivalent", "version": "9.1.16", "label": "9.1.16", "title": "改进对系统调用失败的检测", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c698deb914a9a5816deed3947f2bcd9a20cfa6b171e610e37d784fbdd873820b"}, "url": "/docs/compare/?release=9.1.16#9.1.16-72654f8666dd7a43", "source_url": "/docs/release/9.1.16/#id-1.11.6.13.5"}, {"db_id": "0b9f2a2344cc7de8caf2ff5d03e7dbd3", "kind": "equivalent", "version": "9.0.20", "label": "9.0.20", "title": "改进对系统调用失败的检测", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c698deb914a9a5816deed3947f2bcd9a20cfa6b171e610e37d784fbdd873820b"}, "url": "/docs/compare/?release=9.0.20#9.0.20-72654f8666dd7a43", "source_url": "/docs/release/9.0.20/#id-1.11.6.8.6"}]}, {"id": "9.2.11-8a218bb3e4c24db0", "cves": ["CVE-2015-3167"], "html": "<p>     在<code>contrib/pgcrypto</code>中，统一将解密失败报告为<span>“<span>Wrong key or corrupt data</span>”</span>（Noah Misch）\n    </p><p>      此前，某些使用错误密钥解密的情况可能报告其他错误消息文本。已经证明，这种错误报告的差异可能帮助攻击者从其他系统恢复密钥。虽然尚不清楚<code>pgcrypto</code>的具体行为是否同样可被利用，但使用统一消息来避免风险似乎更好。（CVE-2015-3167）\n     </p>", "text": "在contrib/pgcrypto中，统一将解密失败报告为“Wrong key or corrupt data”（Noah Misch） 此前，某些使用错误密钥解密的情况可能报告其他错误消息文本。已经证明，这种错误报告的差异可能帮助攻击者从其他系统恢复密钥。虽然尚不清楚pgcrypto的具体行为是否同样可被利用，但使用统一消息来避免风险似乎更好。（CVE-2015-3167）", "title": "在contrib/pgcrypto中，统一将解密失败报告为“Wrong key or corrupt data”", "commits": [], "section": "变更", "category": "security", "source_url": "/docs/release/9.2.11/#id-1.11.6.18.5", "source_hash": "aa9c79cb08c5aad8934504277b3315aaa698abb73b69b58523df54006d11d344", "section_path": ["变更"], "commit_groups": [], "identity_text": "In contrib/pgcrypto, uniformly report decryption failures as Wrong key or corrupt data (Noah Misch) Previously, some cases of decryption with an incorrect key could report other error message texts. It has been shown that such variance in error reports can aid attackers in recovering keys from other systems. While it's unknown whether pgcrypto's specific behaviors are likewise exploitable, it seems better to avoid the risk by using a one-size-fits-all message. (CVE-2015-3167)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.2.11/changes/003", "db_id": "10208ac2f278c8245a7ba81456d582d2", "patch_ids": [], "statement_hash": "db603ffaca3458776f52933484ab11548522a4e78e3a5fec6a775e8e006a7b90", "relations": [{"rule": 2, "type": "equivalent", "target": "523a69900b6f8db69b5e69bb05e6a0f5", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "db603ffaca3458776f52933484ab11548522a4e78e3a5fec6a775e8e006a7b90"}}, {"rule": 2, "type": "equivalent", "target": "ad89594613755a731085c914f5bbb531", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "db603ffaca3458776f52933484ab11548522a4e78e3a5fec6a775e8e006a7b90"}}, {"rule": 2, "type": "equivalent", "target": "cabb81c799794e7072965ee000ffc04e", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "db603ffaca3458776f52933484ab11548522a4e78e3a5fec6a775e8e006a7b90"}}, {"rule": 2, "type": "equivalent", "target": "eaec3858fa48da9f0487784eab499edd", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "db603ffaca3458776f52933484ab11548522a4e78e3a5fec6a775e8e006a7b90"}}], "version": "9.2.11", "category_label": "安全相关", "also_in": [], "variants": [], "related_changes": [{"db_id": "523a69900b6f8db69b5e69bb05e6a0f5", "kind": "equivalent", "version": "9.4.2", "label": "9.4.2", "title": "在contrib/pgcrypto中，统一将解密失败报告为“Wrong key or corrupt data”", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "db603ffaca3458776f52933484ab11548522a4e78e3a5fec6a775e8e006a7b90"}, "url": "/docs/compare/?release=9.4.2#9.4.2-8a218bb3e4c24db0", "source_url": "/docs/release/9.4.2/#id-1.11.6.29.5"}, {"db_id": "cabb81c799794e7072965ee000ffc04e", "kind": "equivalent", "version": "9.3.7", "label": "9.3.7", "title": "在contrib/pgcrypto中，统一将解密失败报告为“Wrong key or corrupt data”", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "db603ffaca3458776f52933484ab11548522a4e78e3a5fec6a775e8e006a7b90"}, "url": "/docs/compare/?release=9.3.7#9.3.7-8a218bb3e4c24db0", "source_url": "/docs/release/9.3.7/#id-1.11.6.23.5"}, {"db_id": "eaec3858fa48da9f0487784eab499edd", "kind": "equivalent", "version": "9.1.16", "label": "9.1.16", "title": "在contrib/pgcrypto中，统一将解密失败报告为“Wrong key or corrupt data”", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "db603ffaca3458776f52933484ab11548522a4e78e3a5fec6a775e8e006a7b90"}, "url": "/docs/compare/?release=9.1.16#9.1.16-8a218bb3e4c24db0", "source_url": "/docs/release/9.1.16/#id-1.11.6.13.5"}, {"db_id": "ad89594613755a731085c914f5bbb531", "kind": "equivalent", "version": "9.0.20", "label": "9.0.20", "title": "在contrib/pgcrypto中，统一将解密失败报告为“Wrong key or corrupt data”", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "db603ffaca3458776f52933484ab11548522a4e78e3a5fec6a775e8e006a7b90"}, "url": "/docs/compare/?release=9.0.20#9.0.20-8a218bb3e4c24db0", "source_url": "/docs/release/9.0.20/#id-1.11.6.8.6"}]}, {"id": "9.2.11-8258862c5d4ab0df", "cves": [], "html": "<p>     修复<code>contrib/citext</code>的<code>regexp_matches()</code>函数的错误声明（Tom Lane）\n    </p><p>     这些函数应当像它们所包装的核心函数一样返回<code>setof text[]</code>；但它们被错误地声明为只返回<code>text[]</code>。这一错误有两个后果：第一，如果没有匹配，得到的是标量 null 结果，而正确的应该是空集（零行）。第二，<code>g</code>标志实际上被忽略了，因为即使有多个匹配也只会得到一个结果数组。\n    </p><p>      虽然后一种行为显然是缺陷，但可能有应用程序依赖前一种行为；因此在<span>PostgreSQL</span> 9.5 之前默认不会更改函数声明。在 9.5 之前的分支中，旧行为存在于<code>citext</code>扩展的版本 1.0 中，而我们在版本 1.1 中提供了修正后的声明（<span><em>不</em></span>默认安装）。要在 9.5 之前的分支中采用修复，请在安装了<code>citext</code>的每个数据库中执行<code>ALTER EXTENSION citext UPDATE TO '1.1'</code>。（如果需要撤销，也可以<span>“<span>更新</span>”</span>回 1.0。）请注意，任一更新方向都需要删除并重新创建所有使用<code>citext</code>的<code>regexp_matches()</code>函数的视图或规则。\n     </p>", "text": "修复contrib/citext的regexp_matches()函数的错误声明（Tom Lane） 这些函数应当像它们所包装的核心函数一样返回setof text[]；但它们被错误地声明为只返回text[]。这一错误有两个后果：第一，如果没有匹配，得到的是标量 null 结果，而正确的应该是空集（零行）。第二，g标志实际上被忽略了，因为即使有多个匹配也只会得到一个结果数组。 虽然后一种行为显然是缺陷，但可能有应用程序依赖前一种行为；因此在PostgreSQL 9.5 之前默认不会更改函数声明。在 9.5 之前的分支中，旧行为存在于citext扩展的版本 1.0 中，而我们在版本 1.1 中提供了修正后的声明（不默认安装）。要在 9.5 之前的分支中采用修复，请在安装了citext的每个数据库中执行ALTER EXTENSION citext UPDATE TO '1.1'。（如果需要撤销，也可以“更新”回 1.0。）请注意，任一更新方向都需要删除并重新创建所有使用citext的regexp_matches()函数的视图或规则。", "title": "修复contrib/citext的regexp_matches()函数的错误声明", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.2.11/#id-1.11.6.18.5", "source_hash": "de7df32fe202f94f8f62eb992658e116fe29b1db9fd4c03aabb406105156ffa1", "section_path": ["变更"], "commit_groups": [], "identity_text": "Fix incorrect declaration of contrib/citext's regexp_matches() functions (Tom Lane) These functions should return setof text[], like the core functions they are wrappers for; but they were incorrectly declared as returning just text[]. This mistake had two results: first, if there was no match you got a scalar null result, whereas what you should get is an empty set (zero rows). Second, the g flag was effectively ignored, since you would get only one result array even if there were multiple matches. While the latter behavior is clearly a bug, there might be applications depending on the former behavior; therefore the function declarations will not be changed by default until PostgreSQL 9.5. In pre-9.5 branches, the old behavior exists in version 1.0 of the citext extension, while we have provided corrected declarations in version 1.1 (which is not installed by default). To adopt the fix in pre-9.5 branches, execute ALTER EXTENSION citext UPDATE TO '1.1' in each database in which citext is installed. (You can also update back to 1.0 if you need to undo that.) Be aware that either update direction will require dropping and recreating any views or rules that use citext's regexp_matches() functions.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.2.11/changes/004", "db_id": "c50b7a9a12142eb6cb274f3cbb9b2ef9", "patch_ids": [], "statement_hash": "116f9549ad994e5ad9ffab4ed649d61c605912cec1d818a5b83b4d055097cf61", "relations": [{"rule": 2, "type": "equivalent", "target": "0dd364915620bdc5a624315bc36c8273", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "116f9549ad994e5ad9ffab4ed649d61c605912cec1d818a5b83b4d055097cf61"}}, {"rule": 2, "type": "equivalent", "target": "24b89adf3b27f5daabdffe0a9be1a23e", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "116f9549ad994e5ad9ffab4ed649d61c605912cec1d818a5b83b4d055097cf61"}}, {"rule": 2, "type": "equivalent", "target": "94f52f1c4c1ad587b8738bf0394bc81b", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "116f9549ad994e5ad9ffab4ed649d61c605912cec1d818a5b83b4d055097cf61"}}], "version": "9.2.11", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "24b89adf3b27f5daabdffe0a9be1a23e", "kind": "equivalent", "version": "9.4.2", "label": "9.4.2", "title": "修复contrib/citext的regexp_matches()函数的错误声明", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "116f9549ad994e5ad9ffab4ed649d61c605912cec1d818a5b83b4d055097cf61"}, "url": "/docs/compare/?release=9.4.2#9.4.2-8258862c5d4ab0df", "source_url": "/docs/release/9.4.2/#id-1.11.6.29.5"}, {"db_id": "0dd364915620bdc5a624315bc36c8273", "kind": "equivalent", "version": "9.3.7", "label": "9.3.7", "title": "修复contrib/citext的regexp_matches()函数的错误声明", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "116f9549ad994e5ad9ffab4ed649d61c605912cec1d818a5b83b4d055097cf61"}, "url": "/docs/compare/?release=9.3.7#9.3.7-8258862c5d4ab0df", "source_url": "/docs/release/9.3.7/#id-1.11.6.23.5"}, {"db_id": "94f52f1c4c1ad587b8738bf0394bc81b", "kind": "equivalent", "version": "9.1.16", "label": "9.1.16", "title": "修复contrib/citext的regexp_matches()函数的错误声明", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "116f9549ad994e5ad9ffab4ed649d61c605912cec1d818a5b83b4d055097cf61"}, "url": "/docs/compare/?release=9.1.16#9.1.16-8258862c5d4ab0df", "source_url": "/docs/release/9.1.16/#id-1.11.6.13.5"}]}, {"id": "9.2.11-c45d554899b0e684", "cves": [], "html": "<p>     修复 HOT 更新后延迟排他约束检查不正确的问题（Tom Lane）\n    </p><p>     如果同一事务中稍后对一条可能违反延迟排他约束的新行进行了 HOT 更新（即没有索引列发生变化，且该行可以存回同一表页），那么最终执行检查时将报告排他约束被违反，即使新行最初与之冲突的行已被删除。\n    </p>", "text": "修复 HOT 更新后延迟排他约束检查不正确的问题（Tom Lane） 如果同一事务中稍后对一条可能违反延迟排他约束的新行进行了 HOT 更新（即没有索引列发生变化，且该行可以存回同一表页），那么最终执行检查时将报告排他约束被违反，即使新行最初与之冲突的行已被删除。", "title": "修复 HOT 更新后延迟排他约束检查不正确的问题", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.2.11/#id-1.11.6.18.5", "source_hash": "9e747a3ba560462fced3073dd8aa468163f74a06511849d14af79bd19880205a", "section_path": ["变更"], "commit_groups": [], "identity_text": "Fix incorrect checking of deferred exclusion constraints after a HOT update (Tom Lane) If a new row that potentially violates a deferred exclusion constraint is HOT-updated (that is, no indexed columns change and the row can be stored back onto the same table page) later in the same transaction, the exclusion constraint would be reported as violated when the check finally occurred, even if the row(s) the new row originally conflicted with had been deleted.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.2.11/changes/005", "db_id": "40891a5506cd745b5ea879b7a6862f8d", "patch_ids": [], "statement_hash": "3407bb49af9d35e49653ac770696c98e3a175327e14282c85241ac4b9f6f7ba4", "relations": [{"rule": 2, "type": "equivalent", "target": "07775680f670a05e3e8144cb67cfde44", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "3407bb49af9d35e49653ac770696c98e3a175327e14282c85241ac4b9f6f7ba4"}}, {"rule": 2, "type": "equivalent", "target": "7f743fbd069c78714688327ab8601b4c", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "3407bb49af9d35e49653ac770696c98e3a175327e14282c85241ac4b9f6f7ba4"}}, {"rule": 2, "type": "equivalent", "target": "ca6244438e133080e91b825acd23b928", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "3407bb49af9d35e49653ac770696c98e3a175327e14282c85241ac4b9f6f7ba4"}}, {"rule": 2, "type": "equivalent", "target": "dad10dac68bc002e2bbb6ff2f3f64f29", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "3407bb49af9d35e49653ac770696c98e3a175327e14282c85241ac4b9f6f7ba4"}}], "version": "9.2.11", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "7f743fbd069c78714688327ab8601b4c", "kind": "equivalent", "version": "9.4.2", "label": "9.4.2", "title": "修复 HOT 更新后延迟排他约束检查不正确的问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "3407bb49af9d35e49653ac770696c98e3a175327e14282c85241ac4b9f6f7ba4"}, "url": "/docs/compare/?release=9.4.2#9.4.2-c45d554899b0e684", "source_url": "/docs/release/9.4.2/#id-1.11.6.29.5"}, {"db_id": "07775680f670a05e3e8144cb67cfde44", "kind": "equivalent", "version": "9.3.7", "label": "9.3.7", "title": "修复 HOT 更新后延迟排他约束检查不正确的问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "3407bb49af9d35e49653ac770696c98e3a175327e14282c85241ac4b9f6f7ba4"}, "url": "/docs/compare/?release=9.3.7#9.3.7-c45d554899b0e684", "source_url": "/docs/release/9.3.7/#id-1.11.6.23.5"}, {"db_id": "dad10dac68bc002e2bbb6ff2f3f64f29", "kind": "equivalent", "version": "9.1.16", "label": "9.1.16", "title": "修复 HOT 更新后延迟排他约束检查不正确的问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "3407bb49af9d35e49653ac770696c98e3a175327e14282c85241ac4b9f6f7ba4"}, "url": "/docs/compare/?release=9.1.16#9.1.16-c45d554899b0e684", "source_url": "/docs/release/9.1.16/#id-1.11.6.13.5"}, {"db_id": "ca6244438e133080e91b825acd23b928", "kind": "equivalent", "version": "9.0.20", "label": "9.0.20", "title": "修复 HOT 更新后延迟排他约束检查不正确的问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "3407bb49af9d35e49653ac770696c98e3a175327e14282c85241ac4b9f6f7ba4"}, "url": "/docs/compare/?release=9.0.20#9.0.20-c45d554899b0e684", "source_url": "/docs/release/9.0.20/#id-1.11.6.8.6"}]}, {"id": "9.2.11-d1d5c7d69ae27656", "cves": [], "html": "<p>     修复星型模式风格查询的规划（Tom Lane）\n    </p><p>     有时，对大表的高效扫描要求索引参数来自不止一个其他表（通常是维度表，其键用于对大型事实表建立索引）。规划器应当能找到此类计划，但一个过于严苛的搜索启发式阻止了这一点。\n    </p>", "text": "修复星型模式风格查询的规划（Tom Lane） 有时，对大表的高效扫描要求索引参数来自不止一个其他表（通常是维度表，其键用于对大型事实表建立索引）。规划器应当能找到此类计划，但一个过于严苛的搜索启发式阻止了这一点。", "title": "修复星型模式风格查询的规划", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.2.11/#id-1.11.6.18.5", "source_hash": "92e035c07aa8622876738be7864d98afea1d15c5695b7c5a48e6ece1aeec7c7d", "section_path": ["变更"], "commit_groups": [], "identity_text": "Fix planning of star-schema-style queries (Tom Lane) Sometimes, efficient scanning of a large table requires that index parameters be provided from more than one other table (commonly, dimension tables whose keys are needed to index a large fact table). The planner should be able to find such plans, but an overly restrictive search heuristic prevented it.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.2.11/changes/006", "db_id": "0854c95fa38aaa7653f1e2d6a33f82ea", "patch_ids": [], "statement_hash": "6fbd0a2416f33eaf90cb8ffd0ddb0ff8add9482651492898f9b6b7940364394c", "relations": [{"rule": 2, "type": "equivalent", "target": "200db31fde44fb400a9b7986a488717f", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "6fbd0a2416f33eaf90cb8ffd0ddb0ff8add9482651492898f9b6b7940364394c"}}, {"rule": 2, "type": "equivalent", "target": "949502ec4e7c5fb9308097b3e6839b97", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "6fbd0a2416f33eaf90cb8ffd0ddb0ff8add9482651492898f9b6b7940364394c"}}], "version": "9.2.11", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "949502ec4e7c5fb9308097b3e6839b97", "kind": "equivalent", "version": "9.4.2", "label": "9.4.2", "title": "修复星型模式风格查询的规划", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "6fbd0a2416f33eaf90cb8ffd0ddb0ff8add9482651492898f9b6b7940364394c"}, "url": "/docs/compare/?release=9.4.2#9.4.2-d1d5c7d69ae27656", "source_url": "/docs/release/9.4.2/#id-1.11.6.29.5"}, {"db_id": "200db31fde44fb400a9b7986a488717f", "kind": "equivalent", "version": "9.3.7", "label": "9.3.7", "title": "修复星型模式风格查询的规划", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "6fbd0a2416f33eaf90cb8ffd0ddb0ff8add9482651492898f9b6b7940364394c"}, "url": "/docs/compare/?release=9.3.7#9.3.7-d1d5c7d69ae27656", "source_url": "/docs/release/9.3.7/#id-1.11.6.23.5"}]}, {"id": "9.2.11-cd5ec8431ddab473", "cves": [], "html": "<p>     防止反连接（NOT EXISTS 连接）与其他外连接之间的不当重排序（Tom Lane）\n    </p><p>     已知规划器中的这一疏忽会导致<span>“<span>could not find RelOptInfo for given relids</span>”</span>错误，但有时错误的查询计划似乎有可能通过该一致性检查并导致静默错误的查询输出。\n    </p>", "text": "防止反连接（NOT EXISTS 连接）与其他外连接之间的不当重排序（Tom Lane） 已知规划器中的这一疏忽会导致“could not find RelOptInfo for given relids”错误，但有时错误的查询计划似乎有可能通过该一致性检查并导致静默错误的查询输出。", "title": "防止反连接（NOT EXISTS 连接）与其他外连接之间的不当重排序", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.2.11/#id-1.11.6.18.5", "source_hash": "457fadfd6cf1f64b7d68096fe314cc184cfb17e87123ae134d606c431b61b892", "section_path": ["变更"], "commit_groups": [], "identity_text": "Prevent improper reordering of antijoins (NOT EXISTS joins) versus other outer joins (Tom Lane) This oversight in the planner has been observed to cause could not find RelOptInfo for given relids errors, but it seems possible that sometimes an incorrect query plan might get past that consistency check and result in silently-wrong query output.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.2.11/changes/007", "db_id": "431618e516df11110ea732ef08878644", "patch_ids": [], "statement_hash": "5b459ac33cca05105b91959aabf7f8bc947fd341934b81137459564f5fdb1942", "relations": [{"rule": 2, "type": "equivalent", "target": "126bc41728ec97609af268614ce53fda", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "5b459ac33cca05105b91959aabf7f8bc947fd341934b81137459564f5fdb1942"}}, {"rule": 2, "type": "equivalent", "target": "7a4896aacad821c9c1cfe8e1878f86b8", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "5b459ac33cca05105b91959aabf7f8bc947fd341934b81137459564f5fdb1942"}}, {"rule": 2, "type": "equivalent", "target": "90c25daa896d2207070e9b58676babac", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "5b459ac33cca05105b91959aabf7f8bc947fd341934b81137459564f5fdb1942"}}, {"rule": 2, "type": "equivalent", "target": "e3a46fc16623b3791c67ec4b2b13e03c", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "5b459ac33cca05105b91959aabf7f8bc947fd341934b81137459564f5fdb1942"}}], "version": "9.2.11", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "90c25daa896d2207070e9b58676babac", "kind": "equivalent", "version": "9.4.2", "label": "9.4.2", "title": "防止反连接（NOT EXISTS 连接）与其他外连接之间的不当重排序", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "5b459ac33cca05105b91959aabf7f8bc947fd341934b81137459564f5fdb1942"}, "url": "/docs/compare/?release=9.4.2#9.4.2-cd5ec8431ddab473", "source_url": "/docs/release/9.4.2/#id-1.11.6.29.5"}, {"db_id": "7a4896aacad821c9c1cfe8e1878f86b8", "kind": "equivalent", "version": "9.3.7", "label": "9.3.7", "title": "防止反连接（NOT EXISTS 连接）与其他外连接之间的不当重排序", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "5b459ac33cca05105b91959aabf7f8bc947fd341934b81137459564f5fdb1942"}, "url": "/docs/compare/?release=9.3.7#9.3.7-cd5ec8431ddab473", "source_url": "/docs/release/9.3.7/#id-1.11.6.23.5"}, {"db_id": "e3a46fc16623b3791c67ec4b2b13e03c", "kind": "equivalent", "version": "9.1.16", "label": "9.1.16", "title": "防止反连接（NOT EXISTS 连接）与其他外连接之间的不当重排序", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "5b459ac33cca05105b91959aabf7f8bc947fd341934b81137459564f5fdb1942"}, "url": "/docs/compare/?release=9.1.16#9.1.16-cd5ec8431ddab473", "source_url": "/docs/release/9.1.16/#id-1.11.6.13.5"}, {"db_id": "126bc41728ec97609af268614ce53fda", "kind": "equivalent", "version": "9.0.20", "label": "9.0.20", "title": "防止反连接（NOT EXISTS 连接）与其他外连接之间的不当重排序", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "5b459ac33cca05105b91959aabf7f8bc947fd341934b81137459564f5fdb1942"}, "url": "/docs/compare/?release=9.0.20#9.0.20-cd5ec8431ddab473", "source_url": "/docs/release/9.0.20/#id-1.11.6.8.6"}]}, {"id": "9.2.11-584e773a80c48685", "cves": [], "html": "<p>     修复外连接计划节点中子表达式匹配不正确的问题（Tom Lane）\n    </p><p>     此前，如果文本相同的非严格子表达式在外连接的上、下方都被使用，规划器可能试图重用在连接下方计算的值，但这是不正确的，因为对于未匹配的外部行，执行器会将该值强制置为 NULL。\n    </p>", "text": "修复外连接计划节点中子表达式匹配不正确的问题（Tom Lane） 此前，如果文本相同的非严格子表达式在外连接的上、下方都被使用，规划器可能试图重用在连接下方计算的值，但这是不正确的，因为对于未匹配的外部行，执行器会将该值强制置为 NULL。", "title": "修复外连接计划节点中子表达式匹配不正确的问题", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.2.11/#id-1.11.6.18.5", "source_hash": "3eec2aeb6cf09e9396fdda1806cd0f00d020bee3d2efeee528f821de8ae598fe", "section_path": ["变更"], "commit_groups": [], "identity_text": "Fix incorrect matching of subexpressions in outer-join plan nodes (Tom Lane) Previously, if textually identical non-strict subexpressions were used both above and below an outer join, the planner might try to re-use the value computed below the join, which would be incorrect because the executor would force the value to NULL in case of an unmatched outer row.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.2.11/changes/008", "db_id": "1a03887d5d91fb7fb6c191215abfb4d5", "patch_ids": [], "statement_hash": "ddc895d09cc2bd57ff41743b7f7f287d650bc259713ee6e4223ee5527856f3e8", "relations": [{"rule": 2, "type": "equivalent", "target": "27c954bdb756e0b7f856235b8bd2fe62", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ddc895d09cc2bd57ff41743b7f7f287d650bc259713ee6e4223ee5527856f3e8"}}, {"rule": 2, "type": "equivalent", "target": "6045f9df05d02dab3ea14f2512b826d2", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ddc895d09cc2bd57ff41743b7f7f287d650bc259713ee6e4223ee5527856f3e8"}}, {"rule": 2, "type": "equivalent", "target": "ac300d5c74bdfa2a3e6ab6d216adec3a", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ddc895d09cc2bd57ff41743b7f7f287d650bc259713ee6e4223ee5527856f3e8"}}, {"rule": 2, "type": "equivalent", "target": "b24d8d88773ff9f52c14c8afaf20339a", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ddc895d09cc2bd57ff41743b7f7f287d650bc259713ee6e4223ee5527856f3e8"}}], "version": "9.2.11", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "6045f9df05d02dab3ea14f2512b826d2", "kind": "equivalent", "version": "9.4.2", "label": "9.4.2", "title": "修复外连接计划节点中子表达式匹配不正确的问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ddc895d09cc2bd57ff41743b7f7f287d650bc259713ee6e4223ee5527856f3e8"}, "url": "/docs/compare/?release=9.4.2#9.4.2-584e773a80c48685", "source_url": "/docs/release/9.4.2/#id-1.11.6.29.5"}, {"db_id": "b24d8d88773ff9f52c14c8afaf20339a", "kind": "equivalent", "version": "9.3.7", "label": "9.3.7", "title": "修复外连接计划节点中子表达式匹配不正确的问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ddc895d09cc2bd57ff41743b7f7f287d650bc259713ee6e4223ee5527856f3e8"}, "url": "/docs/compare/?release=9.3.7#9.3.7-584e773a80c48685", "source_url": "/docs/release/9.3.7/#id-1.11.6.23.5"}, {"db_id": "27c954bdb756e0b7f856235b8bd2fe62", "kind": "equivalent", "version": "9.1.16", "label": "9.1.16", "title": "修复外连接计划节点中子表达式匹配不正确的问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ddc895d09cc2bd57ff41743b7f7f287d650bc259713ee6e4223ee5527856f3e8"}, "url": "/docs/compare/?release=9.1.16#9.1.16-584e773a80c48685", "source_url": "/docs/release/9.1.16/#id-1.11.6.13.5"}, {"db_id": "ac300d5c74bdfa2a3e6ab6d216adec3a", "kind": "equivalent", "version": "9.0.20", "label": "9.0.20", "title": "修复外连接计划节点中子表达式匹配不正确的问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ddc895d09cc2bd57ff41743b7f7f287d650bc259713ee6e4223ee5527856f3e8"}, "url": "/docs/compare/?release=9.0.20#9.0.20-584e773a80c48685", "source_url": "/docs/release/9.0.20/#id-1.11.6.8.6"}]}, {"id": "9.2.11-e40383cc7c2c6ccc", "cves": [], "html": "<p>     修复 GEQO 规划器以应对其连接顺序启发式的失败（Tom Lane）\n    </p><p>     已知这一疏忽会在涉及 <code>LATERAL</code> 的查询中导致<span>“<span>failed to join all relations together</span>”</span>错误，其他情况下也可能发生。\n    </p>", "text": "修复 GEQO 规划器以应对其连接顺序启发式的失败（Tom Lane） 已知这一疏忽会在涉及 LATERAL 的查询中导致“failed to join all relations together”错误，其他情况下也可能发生。", "title": "修复 GEQO 规划器以应对其连接顺序启发式的失败", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.2.11/#id-1.11.6.18.5", "source_hash": "ca7621ce4654fa43efcffa86839acfbea2a9af0c7feb023512b19c55a5a4beb6", "section_path": ["变更"], "commit_groups": [], "identity_text": "Fix GEQO planner to cope with failure of its join order heuristic (Tom Lane) This oversight has been seen to lead to failed to join all relations together errors in queries involving LATERAL, and that might happen in other cases as well.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.2.11/changes/009", "db_id": "cc7d56d2278108e6e8e168d5c132e71b", "patch_ids": [], "statement_hash": "a3f0fe53c792a7539eec419e2a0fd6979fd6a48e659e6639e7da15335fbe0a06", "relations": [{"rule": 2, "type": "equivalent", "target": "06082e91ccd167eea7a0d88c4b1d116c", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a3f0fe53c792a7539eec419e2a0fd6979fd6a48e659e6639e7da15335fbe0a06"}}, {"rule": 2, "type": "equivalent", "target": "131c22437e0c97ce393074e1cbfb0041", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a3f0fe53c792a7539eec419e2a0fd6979fd6a48e659e6639e7da15335fbe0a06"}}, {"rule": 2, "type": "equivalent", "target": "238081d53ab9a86ed1b10e7f26330763", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a3f0fe53c792a7539eec419e2a0fd6979fd6a48e659e6639e7da15335fbe0a06"}}, {"rule": 2, "type": "equivalent", "target": "bdca3b4a3d6e2a066838b5a4d71efe20", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a3f0fe53c792a7539eec419e2a0fd6979fd6a48e659e6639e7da15335fbe0a06"}}], "version": "9.2.11", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "238081d53ab9a86ed1b10e7f26330763", "kind": "equivalent", "version": "9.4.2", "label": "9.4.2", "title": "修复 GEQO 规划器以应对其连接顺序启发式的失败", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a3f0fe53c792a7539eec419e2a0fd6979fd6a48e659e6639e7da15335fbe0a06"}, "url": "/docs/compare/?release=9.4.2#9.4.2-e40383cc7c2c6ccc", "source_url": "/docs/release/9.4.2/#id-1.11.6.29.5"}, {"db_id": "06082e91ccd167eea7a0d88c4b1d116c", "kind": "equivalent", "version": "9.3.7", "label": "9.3.7", "title": "修复 GEQO 规划器以应对其连接顺序启发式的失败", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a3f0fe53c792a7539eec419e2a0fd6979fd6a48e659e6639e7da15335fbe0a06"}, "url": "/docs/compare/?release=9.3.7#9.3.7-e40383cc7c2c6ccc", "source_url": "/docs/release/9.3.7/#id-1.11.6.23.5"}, {"db_id": "bdca3b4a3d6e2a066838b5a4d71efe20", "kind": "equivalent", "version": "9.1.16", "label": "9.1.16", "title": "修复 GEQO 规划器以应对其连接顺序启发式的失败", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a3f0fe53c792a7539eec419e2a0fd6979fd6a48e659e6639e7da15335fbe0a06"}, "url": "/docs/compare/?release=9.1.16#9.1.16-e40383cc7c2c6ccc", "source_url": "/docs/release/9.1.16/#id-1.11.6.13.5"}, {"db_id": "131c22437e0c97ce393074e1cbfb0041", "kind": "equivalent", "version": "9.0.20", "label": "9.0.20", "title": "修复 GEQO 规划器以应对其连接顺序启发式的失败", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a3f0fe53c792a7539eec419e2a0fd6979fd6a48e659e6639e7da15335fbe0a06"}, "url": "/docs/compare/?release=9.0.20#9.0.20-e40383cc7c2c6ccc", "source_url": "/docs/release/9.0.20/#id-1.11.6.8.6"}]}, {"id": "9.2.11-7e8bab9b2af34ac1", "cves": [], "html": "<p>      修复<code>max_prepared_transactions</code>过小时启动阶段可能出现的死锁（Heikki Linnakangas）\n     </p>", "text": "修复max_prepared_transactions过小时启动阶段可能出现的死锁（Heikki Linnakangas）", "title": "修复max_prepared_transactions过小时启动阶段可能出现的死锁", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.2.11/#id-1.11.6.18.5", "source_hash": "139b772e8ccca7af28fa17eb3f78747a42cee094286ad24f486a91ad6e5b693e", "section_path": ["变更"], "commit_groups": [], "identity_text": "Fix possible deadlock at startup when max_prepared_transactions is too small (Heikki Linnakangas)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.2.11/changes/010", "db_id": "f717ca265213b395324ec960a97cbd7b", "patch_ids": [], "statement_hash": "508c7b77d875de684a3332648b6b69713bd64f58c9ebebc44d7603bfb6ff95d6", "relations": [{"rule": 2, "type": "equivalent", "target": "4bf63d58692331238cd24cb0be030d87", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "508c7b77d875de684a3332648b6b69713bd64f58c9ebebc44d7603bfb6ff95d6"}}, {"rule": 2, "type": "equivalent", "target": "93bfd1244962db0595b122605fcd540b", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "508c7b77d875de684a3332648b6b69713bd64f58c9ebebc44d7603bfb6ff95d6"}}, {"rule": 2, "type": "equivalent", "target": "b352c9c7512d69238ea8cee1dd405742", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "508c7b77d875de684a3332648b6b69713bd64f58c9ebebc44d7603bfb6ff95d6"}}, {"rule": 2, "type": "equivalent", "target": "b3955990a44b26057a027b675f7d1911", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "508c7b77d875de684a3332648b6b69713bd64f58c9ebebc44d7603bfb6ff95d6"}}], "version": "9.2.11", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "4bf63d58692331238cd24cb0be030d87", "kind": "equivalent", "version": "9.4.2", "label": "9.4.2", "title": "修复 max_prepared_transactions 过小时启动阶段可能的死锁", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "508c7b77d875de684a3332648b6b69713bd64f58c9ebebc44d7603bfb6ff95d6"}, "url": "/docs/compare/?release=9.4.2#9.4.2-00e0f849435697aa", "source_url": "/docs/release/9.4.2/#id-1.11.6.29.5"}, {"db_id": "93bfd1244962db0595b122605fcd540b", "kind": "equivalent", "version": "9.3.7", "label": "9.3.7", "title": "修复max_prepared_transactions过小时启动阶段可能出现的死锁", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "508c7b77d875de684a3332648b6b69713bd64f58c9ebebc44d7603bfb6ff95d6"}, "url": "/docs/compare/?release=9.3.7#9.3.7-7e8bab9b2af34ac1", "source_url": "/docs/release/9.3.7/#id-1.11.6.23.5"}, {"db_id": "b352c9c7512d69238ea8cee1dd405742", "kind": "equivalent", "version": "9.1.16", "label": "9.1.16", "title": "修复max_prepared_transactions过小时启动阶段可能出现的死锁", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "508c7b77d875de684a3332648b6b69713bd64f58c9ebebc44d7603bfb6ff95d6"}, "url": "/docs/compare/?release=9.1.16#9.1.16-7e8bab9b2af34ac1", "source_url": "/docs/release/9.1.16/#id-1.11.6.13.5"}, {"db_id": "b3955990a44b26057a027b675f7d1911", "kind": "equivalent", "version": "9.0.20", "label": "9.0.20", "title": "修复max_prepared_transactions过小时启动阶段可能出现的死锁", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "508c7b77d875de684a3332648b6b69713bd64f58c9ebebc44d7603bfb6ff95d6"}, "url": "/docs/compare/?release=9.0.20#9.0.20-7e8bab9b2af34ac1", "source_url": "/docs/release/9.0.20/#id-1.11.6.8.6"}]}, {"id": "9.2.11-3e07853b7651185e", "cves": [], "html": "<p>      时间线切换后不再归档无用的预分配 WAL 文件（Heikki Linnakangas）\n     </p>", "text": "时间线切换后不再归档无用的预分配 WAL 文件（Heikki Linnakangas）", "title": "时间线切换后不再归档无用的预分配 WAL 文件", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.2.11/#id-1.11.6.18.5", "source_hash": "46c1223fd68bbeb166cb2a1a8a9d103165ddfb81000aa2b5946352238043e184", "section_path": ["变更"], "commit_groups": [], "identity_text": "Don't archive useless preallocated WAL files after a timeline switch (Heikki Linnakangas)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.2.11/changes/011", "db_id": "5a3253a10ef49a3749debaf9c0957ba2", "patch_ids": [], "statement_hash": "aa09957b207f8d4b4d111cbcbd72a51bd7ea633c5cd38e4baeb77deb45102e4f", "relations": [{"rule": 2, "type": "equivalent", "target": "1398ce5b2512930c2108ae12ee998917", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "aa09957b207f8d4b4d111cbcbd72a51bd7ea633c5cd38e4baeb77deb45102e4f"}}, {"rule": 2, "type": "equivalent", "target": "7daa4b478dbdeeb387957ac183e4a98f", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "aa09957b207f8d4b4d111cbcbd72a51bd7ea633c5cd38e4baeb77deb45102e4f"}}, {"rule": 2, "type": "equivalent", "target": "c5dda7c8fc9aa6f43893a488642ffe66", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "aa09957b207f8d4b4d111cbcbd72a51bd7ea633c5cd38e4baeb77deb45102e4f"}}, {"rule": 2, "type": "equivalent", "target": "ccce4b2d2be7c7761b8a825990e2555b", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "aa09957b207f8d4b4d111cbcbd72a51bd7ea633c5cd38e4baeb77deb45102e4f"}}], "version": "9.2.11", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "ccce4b2d2be7c7761b8a825990e2555b", "kind": "equivalent", "version": "9.4.2", "label": "9.4.2", "title": "时间线切换后不再归档无用的预分配 WAL 文件", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "aa09957b207f8d4b4d111cbcbd72a51bd7ea633c5cd38e4baeb77deb45102e4f"}, "url": "/docs/compare/?release=9.4.2#9.4.2-3e07853b7651185e", "source_url": "/docs/release/9.4.2/#id-1.11.6.29.5"}, {"db_id": "7daa4b478dbdeeb387957ac183e4a98f", "kind": "equivalent", "version": "9.3.7", "label": "9.3.7", "title": "时间线切换后不再归档无用的预分配 WAL 文件", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "aa09957b207f8d4b4d111cbcbd72a51bd7ea633c5cd38e4baeb77deb45102e4f"}, "url": "/docs/compare/?release=9.3.7#9.3.7-3e07853b7651185e", "source_url": "/docs/release/9.3.7/#id-1.11.6.23.5"}, {"db_id": "1398ce5b2512930c2108ae12ee998917", "kind": "equivalent", "version": "9.1.16", "label": "9.1.16", "title": "时间线切换后不再归档无用的预分配 WAL 文件", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "aa09957b207f8d4b4d111cbcbd72a51bd7ea633c5cd38e4baeb77deb45102e4f"}, "url": "/docs/compare/?release=9.1.16#9.1.16-3e07853b7651185e", "source_url": "/docs/release/9.1.16/#id-1.11.6.13.5"}, {"db_id": "c5dda7c8fc9aa6f43893a488642ffe66", "kind": "equivalent", "version": "9.0.20", "label": "9.0.20", "title": "时间线切换后不再归档无用的预分配 WAL 文件", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "aa09957b207f8d4b4d111cbcbd72a51bd7ea633c5cd38e4baeb77deb45102e4f"}, "url": "/docs/compare/?release=9.0.20#9.0.20-3e07853b7651185e", "source_url": "/docs/release/9.0.20/#id-1.11.6.8.6"}]}, {"id": "9.2.11-9c6c453c6668e98d", "cves": [], "html": "<p>      避免<span>“<span>cannot GetMultiXactIdMembers() during recovery</span>”</span>错误（Álvaro Herrera）\n     </p>", "text": "避免“cannot GetMultiXactIdMembers() during recovery”错误（Álvaro Herrera）", "title": "避免“cannot GetMultiXactIdMembers() during recovery”错误", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.2.11/#id-1.11.6.18.5", "source_hash": "221a78374a8d58eecae0765ed3af58d3937c113c29a1034b6d1699304eb9f53a", "section_path": ["变更"], "commit_groups": [["2360eea3b", "850e1a566", "97ff2a564"]], "identity_text": "Avoid cannot GetMultiXactIdMembers() during recovery error (Álvaro Herrera)", "commit_aliases": ["2360eea3b", "850e1a566", "97ff2a564"], "source_commits": ["97ff2a564"], "source_entry_id": "9.2.11/changes/012", "db_id": "c7de408039beda884794c15a760d92ff", "patch_ids": ["59c98bdfffef822979ab103e7285a45d"], "statement_hash": "adc2b8f5a6510d260e4a932e0b1f35f8ebf0616cd3429327267da27ef7d2041c", "relations": [{"rule": 2, "type": "equivalent", "target": "113efb83dc4be57c14177ee3c4f87d3f", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "adc2b8f5a6510d260e4a932e0b1f35f8ebf0616cd3429327267da27ef7d2041c"}}, {"rule": 2, "type": "equivalent", "target": "39a8b001d927f9560847de869845137d", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "adc2b8f5a6510d260e4a932e0b1f35f8ebf0616cd3429327267da27ef7d2041c"}}], "version": "9.2.11", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "39a8b001d927f9560847de869845137d", "kind": "equivalent", "version": "9.1.16", "label": "9.1.16", "title": "避免 “cannot GetMultiXactIdMembers() during recovery” 错误", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "adc2b8f5a6510d260e4a932e0b1f35f8ebf0616cd3429327267da27ef7d2041c"}, "url": "/docs/compare/?release=9.1.16#9.1.16-3ffb326bf3e1e64b", "source_url": "/docs/release/9.1.16/#id-1.11.6.13.5"}, {"db_id": "113efb83dc4be57c14177ee3c4f87d3f", "kind": "equivalent", "version": "9.0.20", "label": "9.0.20", "title": "避免 “cannot GetMultiXactIdMembers() during recovery” 错误", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "adc2b8f5a6510d260e4a932e0b1f35f8ebf0616cd3429327267da27ef7d2041c"}, "url": "/docs/compare/?release=9.0.20#9.0.20-3ffb326bf3e1e64b", "source_url": "/docs/release/9.0.20/#id-1.11.6.8.6"}]}, {"id": "9.2.11-f7e737e703b9ed81", "cves": [], "html": "<p>     崩溃之后递归地对数据目录执行 <code>fsync()</code>（Abhijit Menon-Sen、Robert Haas）\n    </p><p>     这确保了若随后不久再发生崩溃时数据仍保持一致。（要有问题的话，第二次崩溃必须是系统级崩溃，而不只是数据库崩溃。）\n    </p>", "text": "崩溃之后递归地对数据目录执行 fsync()（Abhijit Menon-Sen、Robert Haas） 这确保了若随后不久再发生崩溃时数据仍保持一致。（要有问题的话，第二次崩溃必须是系统级崩溃，而不只是数据库崩溃。）", "title": "崩溃之后递归地对数据目录执行 fsync()", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.2.11/#id-1.11.6.18.5", "source_hash": "fefbc5b4020a2fa84446204cbbdbf3382b2cc9eb2656cb78fcd8c8ee1bc6abb2", "section_path": ["变更"], "commit_groups": [], "identity_text": "Recursively fsync() the data directory after a crash (Abhijit Menon-Sen, Robert Haas) This ensures consistency if another crash occurs shortly later. (The second crash would have to be a system-level crash, not just a database crash, for there to be a problem.)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.2.11/changes/013", "db_id": "a393e5ceb46cf5a5ae61e4d70c9df6b4", "patch_ids": [], "statement_hash": "fe53ea00eaba5beb1d000ce50943a0522ad62e9df1b29ad57ddb0ed4c45efabe", "relations": [{"rule": 2, "type": "equivalent", "target": "0b945ffb0da3b0a65c72522b467e4253", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "fe53ea00eaba5beb1d000ce50943a0522ad62e9df1b29ad57ddb0ed4c45efabe"}}, {"rule": 2, "type": "equivalent", "target": "a53900503e7d12df84a3af58fb496e0d", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "fe53ea00eaba5beb1d000ce50943a0522ad62e9df1b29ad57ddb0ed4c45efabe"}}, {"rule": 2, "type": "equivalent", "target": "bac8f274079f5c6b205e47dda5aec2b4", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "fe53ea00eaba5beb1d000ce50943a0522ad62e9df1b29ad57ddb0ed4c45efabe"}}, {"rule": 2, "type": "equivalent", "target": "d840df60b5b46bc061f2307c00cbdc74", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "fe53ea00eaba5beb1d000ce50943a0522ad62e9df1b29ad57ddb0ed4c45efabe"}}], "version": "9.2.11", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "0b945ffb0da3b0a65c72522b467e4253", "kind": "equivalent", "version": "9.4.2", "label": "9.4.2", "title": "崩溃之后递归地对数据目录执行 fsync()", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "fe53ea00eaba5beb1d000ce50943a0522ad62e9df1b29ad57ddb0ed4c45efabe"}, "url": "/docs/compare/?release=9.4.2#9.4.2-f7e737e703b9ed81", "source_url": "/docs/release/9.4.2/#id-1.11.6.29.5"}, {"db_id": "a53900503e7d12df84a3af58fb496e0d", "kind": "equivalent", "version": "9.3.7", "label": "9.3.7", "title": "崩溃之后递归地对数据目录执行 fsync()", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "fe53ea00eaba5beb1d000ce50943a0522ad62e9df1b29ad57ddb0ed4c45efabe"}, "url": "/docs/compare/?release=9.3.7#9.3.7-f7e737e703b9ed81", "source_url": "/docs/release/9.3.7/#id-1.11.6.23.5"}, {"db_id": "d840df60b5b46bc061f2307c00cbdc74", "kind": "equivalent", "version": "9.1.16", "label": "9.1.16", "title": "崩溃之后递归地对数据目录执行 fsync()", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "fe53ea00eaba5beb1d000ce50943a0522ad62e9df1b29ad57ddb0ed4c45efabe"}, "url": "/docs/compare/?release=9.1.16#9.1.16-f7e737e703b9ed81", "source_url": "/docs/release/9.1.16/#id-1.11.6.13.5"}, {"db_id": "bac8f274079f5c6b205e47dda5aec2b4", "kind": "equivalent", "version": "9.0.20", "label": "9.0.20", "title": "崩溃之后递归地对数据目录执行 fsync()", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "fe53ea00eaba5beb1d000ce50943a0522ad62e9df1b29ad57ddb0ed4c45efabe"}, "url": "/docs/compare/?release=9.0.20#9.0.20-f7e737e703b9ed81", "source_url": "/docs/release/9.0.20/#id-1.11.6.8.6"}]}, {"id": "9.2.11-04230eb45851aa99", "cves": [], "html": "<p>      修复自动清理启动器在收到 SIGTERM 之后发生错误时可能无法关闭的问题（Álvaro Herrera）\n     </p>", "text": "修复自动清理启动器在收到 SIGTERM 之后发生错误时可能无法关闭的问题（Álvaro Herrera）", "title": "修复自动清理启动器在收到 SIGTERM 之后发生错误时可能无法关闭的问题", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.2.11/#id-1.11.6.18.5", "source_hash": "40e079db99c36279043e4f870e5661f0373518e774977e30d625c973a84387df", "section_path": ["变更"], "commit_groups": [], "identity_text": "Fix autovacuum launcher's possible failure to shut down, if an error occurs after it receives SIGTERM (Álvaro Herrera)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.2.11/changes/014", "db_id": "3633176e64e976754643f60fe3720561", "patch_ids": [], "statement_hash": "337d9fed9d6d39509deb19901b075af3e14f8a93bcb5b00c82c8e8a82bf8008d", "relations": [{"rule": 2, "type": "equivalent", "target": "2907434b67c5e663b2cec9768758c7cd", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "337d9fed9d6d39509deb19901b075af3e14f8a93bcb5b00c82c8e8a82bf8008d"}}, {"rule": 2, "type": "equivalent", "target": "2bebaa5b592740bad166a98b77c44a39", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "337d9fed9d6d39509deb19901b075af3e14f8a93bcb5b00c82c8e8a82bf8008d"}}, {"rule": 2, "type": "equivalent", "target": "7164c644b697a169c37cc7ac895f0c63", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "337d9fed9d6d39509deb19901b075af3e14f8a93bcb5b00c82c8e8a82bf8008d"}}, {"rule": 2, "type": "equivalent", "target": "fec34da65d0270a1dbb0ac428c81209e", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "337d9fed9d6d39509deb19901b075af3e14f8a93bcb5b00c82c8e8a82bf8008d"}}], "version": "9.2.11", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "2bebaa5b592740bad166a98b77c44a39", "kind": "equivalent", "version": "9.4.2", "label": "9.4.2", "title": "修复自动清理启动器在收到 SIGTERM 之后发生错误时可能无法关闭的问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "337d9fed9d6d39509deb19901b075af3e14f8a93bcb5b00c82c8e8a82bf8008d"}, "url": "/docs/compare/?release=9.4.2#9.4.2-04230eb45851aa99", "source_url": "/docs/release/9.4.2/#id-1.11.6.29.5"}, {"db_id": "fec34da65d0270a1dbb0ac428c81209e", "kind": "equivalent", "version": "9.3.7", "label": "9.3.7", "title": "修复自动清理启动器在收到 SIGTERM 之后发生错误时可能无法关闭的问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "337d9fed9d6d39509deb19901b075af3e14f8a93bcb5b00c82c8e8a82bf8008d"}, "url": "/docs/compare/?release=9.3.7#9.3.7-04230eb45851aa99", "source_url": "/docs/release/9.3.7/#id-1.11.6.23.5"}, {"db_id": "2907434b67c5e663b2cec9768758c7cd", "kind": "equivalent", "version": "9.1.16", "label": "9.1.16", "title": "修复自动清理启动器在收到 SIGTERM 之后发生错误时可能无法关闭的问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "337d9fed9d6d39509deb19901b075af3e14f8a93bcb5b00c82c8e8a82bf8008d"}, "url": "/docs/compare/?release=9.1.16#9.1.16-04230eb45851aa99", "source_url": "/docs/release/9.1.16/#id-1.11.6.13.5"}, {"db_id": "7164c644b697a169c37cc7ac895f0c63", "kind": "equivalent", "version": "9.0.20", "label": "9.0.20", "title": "修复自动清理启动器在收到 SIGTERM 之后发生错误时可能无法关闭的问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "337d9fed9d6d39509deb19901b075af3e14f8a93bcb5b00c82c8e8a82bf8008d"}, "url": "/docs/compare/?release=9.0.20#9.0.20-04230eb45851aa99", "source_url": "/docs/release/9.0.20/#id-1.11.6.8.6"}]}, {"id": "9.2.11-6a88d9655a7c43f8", "cves": [], "html": "<p>     处理 <code>LockBufferForCleanup()</code> 中的意外信号（Andres Freund）\n    </p><p>     这一疏忽可能导致有关<span>“<span>multiple backends attempting to wait for pincount 1</span>”</span>的虚假错误。\n    </p>", "text": "处理 LockBufferForCleanup() 中的意外信号（Andres Freund） 这一疏忽可能导致有关“multiple backends attempting to wait for pincount 1”的虚假错误。", "title": "处理 LockBufferForCleanup() 中的意外信号", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.2.11/#id-1.11.6.18.5", "source_hash": "6788531a7a1baa66cf48dc5cdfab3f6c1607b20fdaae9b7201c0329c90661aca", "section_path": ["变更"], "commit_groups": [], "identity_text": "Cope with unexpected signals in LockBufferForCleanup() (Andres Freund) This oversight could result in spurious errors about multiple backends attempting to wait for pincount 1.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.2.11/changes/015", "db_id": "7298d999afc5a3fbaf35a51719b74a83", "patch_ids": [], "statement_hash": "1ef3bbf2ca81c00533d8802dcf24c987b766bc87054fc51843db44fa6e4cb875", "relations": [{"rule": 2, "type": "equivalent", "target": "5a96819f7c7463d771611df11984338d", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "1ef3bbf2ca81c00533d8802dcf24c987b766bc87054fc51843db44fa6e4cb875"}}, {"rule": 2, "type": "equivalent", "target": "ab0756bc9cc77def5e1593a352093d53", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "1ef3bbf2ca81c00533d8802dcf24c987b766bc87054fc51843db44fa6e4cb875"}}, {"rule": 2, "type": "equivalent", "target": "c8c12ec0f614d56016653efc7a6686e4", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "1ef3bbf2ca81c00533d8802dcf24c987b766bc87054fc51843db44fa6e4cb875"}}, {"rule": 2, "type": "equivalent", "target": "ffd314040e912cd01e38f715e25a9398", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "1ef3bbf2ca81c00533d8802dcf24c987b766bc87054fc51843db44fa6e4cb875"}}], "version": "9.2.11", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "c8c12ec0f614d56016653efc7a6686e4", "kind": "equivalent", "version": "9.4.2", "label": "9.4.2", "title": "处理 LockBufferForCleanup() 中的意外信号", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "1ef3bbf2ca81c00533d8802dcf24c987b766bc87054fc51843db44fa6e4cb875"}, "url": "/docs/compare/?release=9.4.2#9.4.2-6a88d9655a7c43f8", "source_url": "/docs/release/9.4.2/#id-1.11.6.29.5"}, {"db_id": "ffd314040e912cd01e38f715e25a9398", "kind": "equivalent", "version": "9.3.7", "label": "9.3.7", "title": "处理 LockBufferForCleanup() 中的意外信号", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "1ef3bbf2ca81c00533d8802dcf24c987b766bc87054fc51843db44fa6e4cb875"}, "url": "/docs/compare/?release=9.3.7#9.3.7-6a88d9655a7c43f8", "source_url": "/docs/release/9.3.7/#id-1.11.6.23.5"}, {"db_id": "ab0756bc9cc77def5e1593a352093d53", "kind": "equivalent", "version": "9.1.16", "label": "9.1.16", "title": "处理 LockBufferForCleanup() 中的意外信号", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "1ef3bbf2ca81c00533d8802dcf24c987b766bc87054fc51843db44fa6e4cb875"}, "url": "/docs/compare/?release=9.1.16#9.1.16-6a88d9655a7c43f8", "source_url": "/docs/release/9.1.16/#id-1.11.6.13.5"}, {"db_id": "5a96819f7c7463d771611df11984338d", "kind": "equivalent", "version": "9.0.20", "label": "9.0.20", "title": "处理 LockBufferForCleanup() 中的意外信号", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "1ef3bbf2ca81c00533d8802dcf24c987b766bc87054fc51843db44fa6e4cb875"}, "url": "/docs/compare/?release=9.0.20#9.0.20-6a88d9655a7c43f8", "source_url": "/docs/release/9.0.20/#id-1.11.6.8.6"}]}, {"id": "9.2.11-849d1b8396f757fa", "cves": [], "html": "<p>     修复向带有包含整行引用的检查约束的表执行 <code>COPY IN</code> 时的崩溃（Tom Lane）\n    </p><p>     已知的失败情形只在 9.4 及以上版本中崩溃，但 9.3 和 9.2 中也有非常相似的代码，因此这些分支也被向后修补。\n    </p>", "text": "修复向带有包含整行引用的检查约束的表执行 COPY IN 时的崩溃（Tom Lane） 已知的失败情形只在 9.4 及以上版本中崩溃，但 9.3 和 9.2 中也有非常相似的代码，因此这些分支也被向后修补。", "title": "修复向带有包含整行引用的检查约束的表执行 COPY IN 时的崩溃", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.2.11/#id-1.11.6.18.5", "source_hash": "e9991fae14e8e48f61064a837dad8d2591901c1921bc761ea4de107351dfb2a2", "section_path": ["变更"], "commit_groups": [], "identity_text": "Fix crash when doing COPY IN to a table with check constraints that contain whole-row references (Tom Lane) The known failure case only crashes in 9.4 and up, but there is very similar code in 9.3 and 9.2, so back-patch those branches as well.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.2.11/changes/016", "db_id": "689437e99f1f2847a439fa75f55ea571", "patch_ids": [], "statement_hash": "dfcf402e4040d11735acb03c646226ea0a0485bc3e9f6dcd3796e860df470944", "relations": [{"rule": 2, "type": "equivalent", "target": "98bc2c7a61b12346eea0293f40dc3906", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "dfcf402e4040d11735acb03c646226ea0a0485bc3e9f6dcd3796e860df470944"}}, {"rule": 2, "type": "equivalent", "target": "f3e8e5615ed71704ca1112d9ea7deea8", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "dfcf402e4040d11735acb03c646226ea0a0485bc3e9f6dcd3796e860df470944"}}], "version": "9.2.11", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "f3e8e5615ed71704ca1112d9ea7deea8", "kind": "equivalent", "version": "9.4.2", "label": "9.4.2", "title": "修复向带有包含整行引用的检查约束的表执行 COPY IN 时的崩溃", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "dfcf402e4040d11735acb03c646226ea0a0485bc3e9f6dcd3796e860df470944"}, "url": "/docs/compare/?release=9.4.2#9.4.2-849d1b8396f757fa", "source_url": "/docs/release/9.4.2/#id-1.11.6.29.5"}, {"db_id": "98bc2c7a61b12346eea0293f40dc3906", "kind": "equivalent", "version": "9.3.7", "label": "9.3.7", "title": "修复向带有包含整行引用的检查约束的表执行 COPY IN 时的崩溃", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "dfcf402e4040d11735acb03c646226ea0a0485bc3e9f6dcd3796e860df470944"}, "url": "/docs/compare/?release=9.3.7#9.3.7-849d1b8396f757fa", "source_url": "/docs/release/9.3.7/#id-1.11.6.23.5"}]}, {"id": "9.2.11-6a99dc05b3b64c84", "cves": [], "html": "<p>     就用户而言是只读的事务，在提交期间不再等待 WAL 刷写或同步复制（Andres Freund）\n    </p><p>     此前，由于 HOT 页清理而写入了 WAL 的事务在提交时可能出现延迟，导致不良影响，例如所有同步副本都停机时会话在启动时卡住。还观察到使用同步复制时会话卡在追赶中断处理中；此修复也将解决该问题。\n    </p>", "text": "就用户而言是只读的事务，在提交期间不再等待 WAL 刷写或同步复制（Andres Freund） 此前，由于 HOT 页清理而写入了 WAL 的事务在提交时可能出现延迟，导致不良影响，例如所有同步副本都停机时会话在启动时卡住。还观察到使用同步复制时会话卡在追赶中断处理中；此修复也将解决该问题。", "title": "就用户而言是只读的事务，在提交期间不再等待 WAL 刷写或同步复制", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.2.11/#id-1.11.6.18.5", "source_hash": "89afd6faa304af33ef0fad396d6bf88131aae341163cdadf3366c3c10f693a59", "section_path": ["变更"], "commit_groups": [], "identity_text": "Avoid waiting for WAL flush or synchronous replication during commit of a transaction that was read-only so far as the user is concerned (Andres Freund) Previously, a delay could occur at commit in transactions that had written WAL due to HOT page pruning, leading to undesirable effects such as sessions getting stuck at startup if all synchronous replicas are down. Sessions have also been observed to get stuck in catchup interrupt processing when using synchronous replication; this will fix that problem as well.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.2.11/changes/017", "db_id": "1703eb6a3d2dde2da387f41e5b6db0ae", "patch_ids": [], "statement_hash": "7fe6fb7b909d60369a5cf82fd5dfa3aa24fa4924835fd1082b531abd3951b0fa", "relations": [{"rule": 2, "type": "equivalent", "target": "1f55018574827d62eaa0a7d02c06d428", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7fe6fb7b909d60369a5cf82fd5dfa3aa24fa4924835fd1082b531abd3951b0fa"}}, {"rule": 2, "type": "equivalent", "target": "4ef86d5ef84925aa1a6556589c580f2a", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7fe6fb7b909d60369a5cf82fd5dfa3aa24fa4924835fd1082b531abd3951b0fa"}}, {"rule": 2, "type": "equivalent", "target": "5fca350a779e22fb595a98f3e656d8f5", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7fe6fb7b909d60369a5cf82fd5dfa3aa24fa4924835fd1082b531abd3951b0fa"}}, {"rule": 2, "type": "equivalent", "target": "81e902dcbd700041abb5f86d9aad8043", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7fe6fb7b909d60369a5cf82fd5dfa3aa24fa4924835fd1082b531abd3951b0fa"}}], "version": "9.2.11", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "4ef86d5ef84925aa1a6556589c580f2a", "kind": "equivalent", "version": "9.4.2", "label": "9.4.2", "title": "就用户而言是只读的事务，在提交期间不再等待 WAL 刷写或同步复制", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7fe6fb7b909d60369a5cf82fd5dfa3aa24fa4924835fd1082b531abd3951b0fa"}, "url": "/docs/compare/?release=9.4.2#9.4.2-6a99dc05b3b64c84", "source_url": "/docs/release/9.4.2/#id-1.11.6.29.5"}, {"db_id": "5fca350a779e22fb595a98f3e656d8f5", "kind": "equivalent", "version": "9.3.7", "label": "9.3.7", "title": "就用户而言是只读的事务，在提交期间不再等待 WAL 刷写或同步复制", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7fe6fb7b909d60369a5cf82fd5dfa3aa24fa4924835fd1082b531abd3951b0fa"}, "url": "/docs/compare/?release=9.3.7#9.3.7-6a99dc05b3b64c84", "source_url": "/docs/release/9.3.7/#id-1.11.6.23.5"}, {"db_id": "81e902dcbd700041abb5f86d9aad8043", "kind": "equivalent", "version": "9.1.16", "label": "9.1.16", "title": "就用户而言是只读的事务，在提交期间不再等待 WAL 刷写或同步复制", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7fe6fb7b909d60369a5cf82fd5dfa3aa24fa4924835fd1082b531abd3951b0fa"}, "url": "/docs/compare/?release=9.1.16#9.1.16-6a99dc05b3b64c84", "source_url": "/docs/release/9.1.16/#id-1.11.6.13.5"}, {"db_id": "1f55018574827d62eaa0a7d02c06d428", "kind": "equivalent", "version": "9.0.20", "label": "9.0.20", "title": "就用户而言是只读的事务，在提交期间不再等待 WAL 刷写或同步复制", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7fe6fb7b909d60369a5cf82fd5dfa3aa24fa4924835fd1082b531abd3951b0fa"}, "url": "/docs/compare/?release=9.0.20#9.0.20-6a99dc05b3b64c84", "source_url": "/docs/release/9.0.20/#id-1.11.6.8.6"}]}, {"id": "9.2.11-b154b5454ae82db8", "cves": [], "html": "<p>      修复在临时表上操作哈希索引时崩溃的问题（Heikki Linnakangas）\n     </p>", "text": "修复在临时表上操作哈希索引时崩溃的问题（Heikki Linnakangas）", "title": "修复在临时表上操作哈希索引时崩溃的问题", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.2.11/#id-1.11.6.18.5", "source_hash": "de25ca846d7b70b4057bda77f404ce7e1af23129e488ecf9218dd43d7ffda947", "section_path": ["变更"], "commit_groups": [], "identity_text": "Fix crash when manipulating hash indexes on temporary tables (Heikki Linnakangas)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.2.11/changes/018", "db_id": "9bb388c48f9019d84a58b271ac87c654", "patch_ids": [], "statement_hash": "4aceca7f709f56ca1d1642cd6ca107476d6895ea412e528a794ea25af4de9303", "relations": [{"rule": 2, "type": "equivalent", "target": "238753d97f89f975fe687a5e18363b20", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "4aceca7f709f56ca1d1642cd6ca107476d6895ea412e528a794ea25af4de9303"}}, {"rule": 2, "type": "equivalent", "target": "64efb7a2859ce882c54f6fc3fa5d8c7d", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "4aceca7f709f56ca1d1642cd6ca107476d6895ea412e528a794ea25af4de9303"}}, {"rule": 2, "type": "equivalent", "target": "99c6bd8b24a80ae75853ce449fd73f16", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "4aceca7f709f56ca1d1642cd6ca107476d6895ea412e528a794ea25af4de9303"}}, {"rule": 2, "type": "equivalent", "target": "bd193a101e0b4aa66a0dc0f072cb3480", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "4aceca7f709f56ca1d1642cd6ca107476d6895ea412e528a794ea25af4de9303"}}], "version": "9.2.11", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "238753d97f89f975fe687a5e18363b20", "kind": "equivalent", "version": "9.4.2", "label": "9.4.2", "title": "修复操作临时表上的哈希索引时的崩溃", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "4aceca7f709f56ca1d1642cd6ca107476d6895ea412e528a794ea25af4de9303"}, "url": "/docs/compare/?release=9.4.2#9.4.2-4c79a54f395e3c54", "source_url": "/docs/release/9.4.2/#id-1.11.6.29.5"}, {"db_id": "64efb7a2859ce882c54f6fc3fa5d8c7d", "kind": "equivalent", "version": "9.3.7", "label": "9.3.7", "title": "修复在临时表上操作哈希索引时崩溃的问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "4aceca7f709f56ca1d1642cd6ca107476d6895ea412e528a794ea25af4de9303"}, "url": "/docs/compare/?release=9.3.7#9.3.7-b154b5454ae82db8", "source_url": "/docs/release/9.3.7/#id-1.11.6.23.5"}, {"db_id": "99c6bd8b24a80ae75853ce449fd73f16", "kind": "equivalent", "version": "9.1.16", "label": "9.1.16", "title": "修复在临时表上操作哈希索引时崩溃的问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "4aceca7f709f56ca1d1642cd6ca107476d6895ea412e528a794ea25af4de9303"}, "url": "/docs/compare/?release=9.1.16#9.1.16-b154b5454ae82db8", "source_url": "/docs/release/9.1.16/#id-1.11.6.13.5"}, {"db_id": "bd193a101e0b4aa66a0dc0f072cb3480", "kind": "equivalent", "version": "9.0.20", "label": "9.0.20", "title": "修复在临时表上操作哈希索引时崩溃的问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "4aceca7f709f56ca1d1642cd6ca107476d6895ea412e528a794ea25af4de9303"}, "url": "/docs/compare/?release=9.0.20#9.0.20-b154b5454ae82db8", "source_url": "/docs/release/9.0.20/#id-1.11.6.8.6"}]}, {"id": "9.2.11-f9b4eb05d815c6fb", "cves": [], "html": "<p>      修复哈希索引桶分裂期间（若其他进程正在并发修改该索引）可能失败的问题（Tom Lane）\n     </p>", "text": "修复哈希索引桶分裂期间（若其他进程正在并发修改该索引）可能失败的问题（Tom Lane）", "title": "修复哈希索引桶分裂期间（若其他进程正在并发修改该索引）可能失败的问题", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.2.11/#id-1.11.6.18.5", "source_hash": "03e33526579ad292f9f818cbf07ae7dd40ff15a313b954ecbd6de17cecf39254", "section_path": ["变更"], "commit_groups": [], "identity_text": "Fix possible failure during hash index bucket split, if other processes are modifying the index concurrently (Tom Lane)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.2.11/changes/019", "db_id": "7e2c2ebe69963a993399b8ece8cd37b3", "patch_ids": [], "statement_hash": "e97b06d2d0f336ebdd18f0a202d01998680c40acb62d2ea94570baa29a11dcd5", "relations": [{"rule": 2, "type": "equivalent", "target": "48f0785f2286d2d155fc4235fb4aae6b", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e97b06d2d0f336ebdd18f0a202d01998680c40acb62d2ea94570baa29a11dcd5"}}, {"rule": 2, "type": "equivalent", "target": "b306cb76f618a786cf92fa07fc25d7d1", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e97b06d2d0f336ebdd18f0a202d01998680c40acb62d2ea94570baa29a11dcd5"}}, {"rule": 2, "type": "equivalent", "target": "cf0e9f6ffc4a3cc69a511ab6fed34aac", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e97b06d2d0f336ebdd18f0a202d01998680c40acb62d2ea94570baa29a11dcd5"}}, {"rule": 2, "type": "equivalent", "target": "d0b1e0a06967f5cf81c6e17a7697e28c", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e97b06d2d0f336ebdd18f0a202d01998680c40acb62d2ea94570baa29a11dcd5"}}], "version": "9.2.11", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "cf0e9f6ffc4a3cc69a511ab6fed34aac", "kind": "equivalent", "version": "9.4.2", "label": "9.4.2", "title": "修复其他进程并发修改索引时哈希索引桶分裂可能失败的问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e97b06d2d0f336ebdd18f0a202d01998680c40acb62d2ea94570baa29a11dcd5"}, "url": "/docs/compare/?release=9.4.2#9.4.2-8e621cc6b697e607", "source_url": "/docs/release/9.4.2/#id-1.11.6.29.5"}, {"db_id": "b306cb76f618a786cf92fa07fc25d7d1", "kind": "equivalent", "version": "9.3.7", "label": "9.3.7", "title": "修复哈希索引桶分裂期间（若其他进程正在并发修改该索引）可能失败的问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e97b06d2d0f336ebdd18f0a202d01998680c40acb62d2ea94570baa29a11dcd5"}, "url": "/docs/compare/?release=9.3.7#9.3.7-f9b4eb05d815c6fb", "source_url": "/docs/release/9.3.7/#id-1.11.6.23.5"}, {"db_id": "d0b1e0a06967f5cf81c6e17a7697e28c", "kind": "equivalent", "version": "9.1.16", "label": "9.1.16", "title": "修复哈希索引桶分裂期间（若其他进程正在并发修改该索引）可能失败的问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e97b06d2d0f336ebdd18f0a202d01998680c40acb62d2ea94570baa29a11dcd5"}, "url": "/docs/compare/?release=9.1.16#9.1.16-f9b4eb05d815c6fb", "source_url": "/docs/release/9.1.16/#id-1.11.6.13.5"}, {"db_id": "48f0785f2286d2d155fc4235fb4aae6b", "kind": "equivalent", "version": "9.0.20", "label": "9.0.20", "title": "修复哈希索引桶分裂期间（若其他进程正在并发修改该索引）可能失败的问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e97b06d2d0f336ebdd18f0a202d01998680c40acb62d2ea94570baa29a11dcd5"}, "url": "/docs/compare/?release=9.0.20#9.0.20-f9b4eb05d815c6fb", "source_url": "/docs/release/9.0.20/#id-1.11.6.8.6"}]}, {"id": "9.2.11-ffa3732ae7f7e25f", "cves": [], "html": "<p>     在分析索引表达式期间检查中断（Jeff Janes）\n    </p><p> <code>ANALYZE</code> 会多次执行索引表达式；如果此类表达式中存在慢速函数，就希望能在此循环结束之前取消 <code>ANALYZE</code>。\n    </p>", "text": "在分析索引表达式期间检查中断（Jeff Janes） ANALYZE 会多次执行索引表达式；如果此类表达式中存在慢速函数，就希望能在此循环结束之前取消 ANALYZE。", "title": "在分析索引表达式期间检查中断", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.2.11/#id-1.11.6.18.5", "source_hash": "cd3b8e508ed71dfaaa7ff63ae62514ee05a87a4dcaa9b6d88af9ea1c4a10a4b1", "section_path": ["变更"], "commit_groups": [], "identity_text": "Check for interrupts while analyzing index expressions (Jeff Janes) ANALYZE executes index expressions many times; if there are slow functions in such an expression, it's desirable to be able to cancel the ANALYZE before that loop finishes.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.2.11/changes/020", "db_id": "ca8b63abd73a22488bba9b2f312ddfbb", "patch_ids": [], "statement_hash": "8c8749ce60b4bcae5d1a7ad1990cec02be503466f156682e8a1eaac339a74a4c", "relations": [{"rule": 2, "type": "equivalent", "target": "517ce452235635e590a685da50366bf0", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "8c8749ce60b4bcae5d1a7ad1990cec02be503466f156682e8a1eaac339a74a4c"}}, {"rule": 2, "type": "equivalent", "target": "5975ba512fac6bc4408bb449ba0c2c8f", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "8c8749ce60b4bcae5d1a7ad1990cec02be503466f156682e8a1eaac339a74a4c"}}, {"rule": 2, "type": "equivalent", "target": "5b9a34b5b9737fe2325169083a6316b4", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "8c8749ce60b4bcae5d1a7ad1990cec02be503466f156682e8a1eaac339a74a4c"}}, {"rule": 2, "type": "equivalent", "target": "fc23337037477fe7e3ab9fb0eaf5d9dd", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "8c8749ce60b4bcae5d1a7ad1990cec02be503466f156682e8a1eaac339a74a4c"}}], "version": "9.2.11", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "517ce452235635e590a685da50366bf0", "kind": "equivalent", "version": "9.4.2", "label": "9.4.2", "title": "在分析索引表达式期间检查中断", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "8c8749ce60b4bcae5d1a7ad1990cec02be503466f156682e8a1eaac339a74a4c"}, "url": "/docs/compare/?release=9.4.2#9.4.2-ffa3732ae7f7e25f", "source_url": "/docs/release/9.4.2/#id-1.11.6.29.5"}, {"db_id": "fc23337037477fe7e3ab9fb0eaf5d9dd", "kind": "equivalent", "version": "9.3.7", "label": "9.3.7", "title": "在分析索引表达式期间检查中断", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "8c8749ce60b4bcae5d1a7ad1990cec02be503466f156682e8a1eaac339a74a4c"}, "url": "/docs/compare/?release=9.3.7#9.3.7-ffa3732ae7f7e25f", "source_url": "/docs/release/9.3.7/#id-1.11.6.23.5"}, {"db_id": "5b9a34b5b9737fe2325169083a6316b4", "kind": "equivalent", "version": "9.1.16", "label": "9.1.16", "title": "在分析索引表达式期间检查中断", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "8c8749ce60b4bcae5d1a7ad1990cec02be503466f156682e8a1eaac339a74a4c"}, "url": "/docs/compare/?release=9.1.16#9.1.16-ffa3732ae7f7e25f", "source_url": "/docs/release/9.1.16/#id-1.11.6.13.5"}, {"db_id": "5975ba512fac6bc4408bb449ba0c2c8f", "kind": "equivalent", "version": "9.0.20", "label": "9.0.20", "title": "在分析索引表达式期间检查中断", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "8c8749ce60b4bcae5d1a7ad1990cec02be503466f156682e8a1eaac339a74a4c"}, "url": "/docs/compare/?release=9.0.20#9.0.20-ffa3732ae7f7e25f", "source_url": "/docs/release/9.0.20/#id-1.11.6.8.6"}]}, {"id": "9.2.11-5a0c3cbf728df7a6", "cves": [], "html": "<p>      确保在通过<code>SELECT FOR UPDATE</code>、<code>UPDATE</code>或<code>DELETE</code>锁定行之后发生<code>READ COMMITTED</code>复查时，外部表的<code>tableoid</code>被正确报告（Etsuro Fujita）\n     </p>", "text": "确保在通过SELECT FOR UPDATE、UPDATE或DELETE锁定行之后发生READ COMMITTED复查时，外部表的tableoid被正确报告（Etsuro Fujita）", "title": "确保在通过SELECT FOR UPDATE、UPDATE或DELETE锁定行之后发生READ COMMITTED复查时，外部表的tableoid被正确报告", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.2.11/#id-1.11.6.18.5", "source_hash": "a904bab7948fbe4b20e26c9839a68a2fbe287f200e6d9b34e30066b8b58ee6d1", "section_path": ["变更"], "commit_groups": [], "identity_text": "Ensure tableoid of a foreign table is reported correctly when a READ COMMITTED recheck occurs after locking rows in SELECT FOR UPDATE, UPDATE, or DELETE (Etsuro Fujita)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.2.11/changes/021", "db_id": "286b1373982e6938e7cc4baa42c16fbf", "patch_ids": [], "statement_hash": "4d7246b485b9a5e4a0ac3d25fc12759e2402ef2bce0fcf5bee50b1552f34ec1e", "relations": [{"rule": 2, "type": "equivalent", "target": "296a562961797b4d2e74e2b8e2538e62", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "4d7246b485b9a5e4a0ac3d25fc12759e2402ef2bce0fcf5bee50b1552f34ec1e"}}, {"rule": 2, "type": "equivalent", "target": "341c83bdd0673f5ec5a26ffa7d2cdbb8", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "4d7246b485b9a5e4a0ac3d25fc12759e2402ef2bce0fcf5bee50b1552f34ec1e"}}, {"rule": 2, "type": "equivalent", "target": "7b310d0b58f2782e18d854d910615879", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "4d7246b485b9a5e4a0ac3d25fc12759e2402ef2bce0fcf5bee50b1552f34ec1e"}}], "version": "9.2.11", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "296a562961797b4d2e74e2b8e2538e62", "kind": "equivalent", "version": "9.4.2", "label": "9.4.2", "title": "确保在 SELECT FOR UPDATE、UPDATE 或 DELETE 锁定行之后发生 READ COMMITTED 重新检查时，正确报告外部表的 tableoid", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "4d7246b485b9a5e4a0ac3d25fc12759e2402ef2bce0fcf5bee50b1552f34ec1e"}, "url": "/docs/compare/?release=9.4.2#9.4.2-097cebfbdeeb6f88", "source_url": "/docs/release/9.4.2/#id-1.11.6.29.5"}, {"db_id": "341c83bdd0673f5ec5a26ffa7d2cdbb8", "kind": "equivalent", "version": "9.3.7", "label": "9.3.7", "title": "确保在通过SELECT FOR UPDATE、UPDATE或DELETE锁定行之后发生READ COMMITTED复查时，外部表的tableoid被正确报告", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "4d7246b485b9a5e4a0ac3d25fc12759e2402ef2bce0fcf5bee50b1552f34ec1e"}, "url": "/docs/compare/?release=9.3.7#9.3.7-5a0c3cbf728df7a6", "source_url": "/docs/release/9.3.7/#id-1.11.6.23.5"}, {"db_id": "7b310d0b58f2782e18d854d910615879", "kind": "equivalent", "version": "9.1.16", "label": "9.1.16", "title": "确保在通过SELECT FOR UPDATE、UPDATE或DELETE锁定行之后发生READ COMMITTED复查时，外部表的tableoid被正确报告", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "4d7246b485b9a5e4a0ac3d25fc12759e2402ef2bce0fcf5bee50b1552f34ec1e"}, "url": "/docs/compare/?release=9.1.16#9.1.16-5a0c3cbf728df7a6", "source_url": "/docs/release/9.1.16/#id-1.11.6.13.5"}]}, {"id": "9.2.11-fd85f35343d1b9cf", "cves": [], "html": "<p>      在外部服务器用户映射的对象描述字符串中加入目标服务器的名称（Álvaro Herrera）\n     </p>", "text": "在外部服务器用户映射的对象描述字符串中加入目标服务器的名称（Álvaro Herrera）", "title": "在外部服务器用户映射的对象描述字符串中加入目标服务器的名称", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.2.11/#id-1.11.6.18.5", "source_hash": "036423ceb08d50328e7e960ef03c1c1f7e4df07572678692cfe90c607617dc58", "section_path": ["变更"], "commit_groups": [], "identity_text": "Add the name of the target server to object description strings for foreign-server user mappings (Álvaro Herrera)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.2.11/changes/022", "db_id": "8fac4b063aaee1f6402977e3916d67b2", "patch_ids": [], "statement_hash": "e82bb0096b5d87075e1e7eb34d8576a7e349fbd2850cec3dee18c43a1b757ca5", "relations": [{"rule": 2, "type": "equivalent", "target": "2635e9a621efd20c402056c15ce14581", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e82bb0096b5d87075e1e7eb34d8576a7e349fbd2850cec3dee18c43a1b757ca5"}}, {"rule": 2, "type": "equivalent", "target": "438d356a6d062a6b50701d4d4ac668eb", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e82bb0096b5d87075e1e7eb34d8576a7e349fbd2850cec3dee18c43a1b757ca5"}}, {"rule": 2, "type": "equivalent", "target": "6a129bcf00c27d76d440dddd170b5222", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e82bb0096b5d87075e1e7eb34d8576a7e349fbd2850cec3dee18c43a1b757ca5"}}, {"rule": 2, "type": "equivalent", "target": "cafcf7239615ae13e287fe4a0ec6c519", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e82bb0096b5d87075e1e7eb34d8576a7e349fbd2850cec3dee18c43a1b757ca5"}}], "version": "9.2.11", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "6a129bcf00c27d76d440dddd170b5222", "kind": "equivalent", "version": "9.4.2", "label": "9.4.2", "title": "在外部服务器用户映射的对象描述字符串中加入目标服务器的名称", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e82bb0096b5d87075e1e7eb34d8576a7e349fbd2850cec3dee18c43a1b757ca5"}, "url": "/docs/compare/?release=9.4.2#9.4.2-fd85f35343d1b9cf", "source_url": "/docs/release/9.4.2/#id-1.11.6.29.5"}, {"db_id": "438d356a6d062a6b50701d4d4ac668eb", "kind": "equivalent", "version": "9.3.7", "label": "9.3.7", "title": "在外部服务器用户映射的对象描述字符串中加入目标服务器的名称", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e82bb0096b5d87075e1e7eb34d8576a7e349fbd2850cec3dee18c43a1b757ca5"}, "url": "/docs/compare/?release=9.3.7#9.3.7-fd85f35343d1b9cf", "source_url": "/docs/release/9.3.7/#id-1.11.6.23.5"}, {"db_id": "2635e9a621efd20c402056c15ce14581", "kind": "equivalent", "version": "9.1.16", "label": "9.1.16", "title": "在外部服务器用户映射的对象描述字符串中加入目标服务器的名称", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e82bb0096b5d87075e1e7eb34d8576a7e349fbd2850cec3dee18c43a1b757ca5"}, "url": "/docs/compare/?release=9.1.16#9.1.16-fd85f35343d1b9cf", "source_url": "/docs/release/9.1.16/#id-1.11.6.13.5"}, {"db_id": "cafcf7239615ae13e287fe4a0ec6c519", "kind": "equivalent", "version": "9.0.20", "label": "9.0.20", "title": "在外部服务器用户映射的对象描述字符串中加入目标服务器的名称", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e82bb0096b5d87075e1e7eb34d8576a7e349fbd2850cec3dee18c43a1b757ca5"}, "url": "/docs/compare/?release=9.0.20#9.0.20-fd85f35343d1b9cf", "source_url": "/docs/release/9.0.20/#id-1.11.6.8.6"}]}, {"id": "9.2.11-63c5acc5d3477d92", "cves": [], "html": "<p>     建议在使用 Kerberos/GSSAPI/SSPI 认证时将 <code>include_realm</code> 设置为 1（Stephen Frost）\n    </p><p>     不这样设置的话，来自不同领域的同名用户无法区分。目前这只是文档变更，但在 <span>PostgreSQL</span> 9.5 中它将成为默认设置。\n    </p>", "text": "建议在使用 Kerberos/GSSAPI/SSPI 认证时将 include_realm 设置为 1（Stephen Frost） 不这样设置的话，来自不同领域的同名用户无法区分。目前这只是文档变更，但在 PostgreSQL 9.5 中它将成为默认设置。", "title": "建议在使用 Kerberos/GSSAPI/SSPI 认证时将 include_realm 设置为 1", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.2.11/#id-1.11.6.18.5", "source_hash": "ee079eef50e529aa15c9d23065701fc6cfca7db7339db835bd60cc010f8ad4b5", "section_path": ["变更"], "commit_groups": [], "identity_text": "Recommend setting include_realm to 1 when using Kerberos/GSSAPI/SSPI authentication (Stephen Frost) Without this, identically-named users from different realms cannot be distinguished. For the moment this is only a documentation change, but it will become the default setting in PostgreSQL 9.5.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.2.11/changes/023", "db_id": "c9490086c3d7d2fc8b8214a2b1d219b0", "patch_ids": [], "statement_hash": "4d312a6dbb8f3a1282c4fdb4057d998c0d840c4d88c7d158359c7c2e448cc4c6", "relations": [{"rule": 2, "type": "equivalent", "target": "68e509e66e0501cb7b3bce6adf195245", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "4d312a6dbb8f3a1282c4fdb4057d998c0d840c4d88c7d158359c7c2e448cc4c6"}}, {"rule": 2, "type": "equivalent", "target": "7049fbf9736dd97a51c4882824ddd3c0", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "4d312a6dbb8f3a1282c4fdb4057d998c0d840c4d88c7d158359c7c2e448cc4c6"}}, {"rule": 2, "type": "equivalent", "target": "94d71396bb476432bd27a130fb3080d7", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "4d312a6dbb8f3a1282c4fdb4057d998c0d840c4d88c7d158359c7c2e448cc4c6"}}, {"rule": 2, "type": "equivalent", "target": "c5908043270a29e8ccec22cb9cb95842", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "4d312a6dbb8f3a1282c4fdb4057d998c0d840c4d88c7d158359c7c2e448cc4c6"}}], "version": "9.2.11", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "7049fbf9736dd97a51c4882824ddd3c0", "kind": "equivalent", "version": "9.4.2", "label": "9.4.2", "title": "建议在使用 Kerberos/GSSAPI/SSPI 认证时将 include_realm 设置为 1", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "4d312a6dbb8f3a1282c4fdb4057d998c0d840c4d88c7d158359c7c2e448cc4c6"}, "url": "/docs/compare/?release=9.4.2#9.4.2-63c5acc5d3477d92", "source_url": "/docs/release/9.4.2/#id-1.11.6.29.5"}, {"db_id": "94d71396bb476432bd27a130fb3080d7", "kind": "equivalent", "version": "9.3.7", "label": "9.3.7", "title": "建议在使用 Kerberos/GSSAPI/SSPI 认证时将 include_realm 设置为 1", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "4d312a6dbb8f3a1282c4fdb4057d998c0d840c4d88c7d158359c7c2e448cc4c6"}, "url": "/docs/compare/?release=9.3.7#9.3.7-63c5acc5d3477d92", "source_url": "/docs/release/9.3.7/#id-1.11.6.23.5"}, {"db_id": "c5908043270a29e8ccec22cb9cb95842", "kind": "equivalent", "version": "9.1.16", "label": "9.1.16", "title": "建议在使用 Kerberos/GSSAPI/SSPI 认证时将 include_realm 设置为 1", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "4d312a6dbb8f3a1282c4fdb4057d998c0d840c4d88c7d158359c7c2e448cc4c6"}, "url": "/docs/compare/?release=9.1.16#9.1.16-63c5acc5d3477d92", "source_url": "/docs/release/9.1.16/#id-1.11.6.13.5"}, {"db_id": "68e509e66e0501cb7b3bce6adf195245", "kind": "equivalent", "version": "9.0.20", "label": "9.0.20", "title": "建议在使用 Kerberos/GSSAPI/SSPI 认证时将 include_realm 设置为 1", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "4d312a6dbb8f3a1282c4fdb4057d998c0d840c4d88c7d158359c7c2e448cc4c6"}, "url": "/docs/compare/?release=9.0.20#9.0.20-63c5acc5d3477d92", "source_url": "/docs/release/9.0.20/#id-1.11.6.8.6"}]}, {"id": "9.2.11-cfc199310123cc11", "cves": [], "html": "<p>     移除将 IPv4 <code>pg_hba.conf</code> 条目匹配到 IPv4-in-IPv6 地址的代码（Tom Lane）\n    </p><p>     这段应急代码于 2003 年添加，起因是当时的某些 Linux 内核会把 IPv4 连接报告为 IPv4-in-IPv6 地址。然而该逻辑在 9.0 中被意外破坏。此后没有任何现场投诉，说明它已不再需要。现在反而有报告称被破坏的代码在某些系统上导致崩溃，因此我们选择直接移除而不是修复它。（如果选择修复，将会使 IPv4 <code>pg_hba.conf</code> 条目的实际含义发生微妙且可能涉及安全性的变化，在次版本中这样做似乎并不妥当。）\n    </p>", "text": "移除将 IPv4 pg_hba.conf 条目匹配到 IPv4-in-IPv6 地址的代码（Tom Lane） 这段应急代码于 2003 年添加，起因是当时的某些 Linux 内核会把 IPv4 连接报告为 IPv4-in-IPv6 地址。然而该逻辑在 9.0 中被意外破坏。此后没有任何现场投诉，说明它已不再需要。现在反而有报告称被破坏的代码在某些系统上导致崩溃，因此我们选择直接移除而不是修复它。（如果选择修复，将会使 IPv4 pg_hba.conf 条目的实际含义发生微妙且可能涉及安全性的变化，在次版本中这样做似乎并不妥当。）", "title": "移除将 IPv4 pg_hba.conf 条目匹配到 IPv4-in-IPv6 地址的代码", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.2.11/#id-1.11.6.18.5", "source_hash": "7e1e4c70fc877c72426b178657a16fa30e6c18713cb3a65ecf77fa280b07e1c4", "section_path": ["变更"], "commit_groups": [], "identity_text": "Remove code for matching IPv4 pg_hba.conf entries to IPv4-in-IPv6 addresses (Tom Lane) This hack was added in 2003 in response to a report that some Linux kernels of the time would report IPv4 connections as having IPv4-in-IPv6 addresses. However, the logic was accidentally broken in 9.0. The lack of any field complaints since then shows that it's not needed anymore. Now we have reports that the broken code causes crashes on some systems, so let's just remove it rather than fix it. (Had we chosen to fix it, that would make for a subtle and potentially security-sensitive change in the effective meaning of IPv4 pg_hba.conf entries, which does not seem like a good thing to do in minor releases.)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.2.11/changes/024", "db_id": "93c7cb6fd80c60bd21e2f73dfcdf77c9", "patch_ids": [], "statement_hash": "00ffe51e77acf6b358670bc0289d47f8a06df9cbab5b1472e583f5789cd5cec0", "relations": [{"rule": 2, "type": "equivalent", "target": "315b2f049a390603d743856bf7ff3f25", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "00ffe51e77acf6b358670bc0289d47f8a06df9cbab5b1472e583f5789cd5cec0"}}, {"rule": 2, "type": "equivalent", "target": "55e5271a5a31329e5dcc80f8c7f7d8b5", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "00ffe51e77acf6b358670bc0289d47f8a06df9cbab5b1472e583f5789cd5cec0"}}, {"rule": 2, "type": "equivalent", "target": "be842d6f022a1420f9452dbf76b51575", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "00ffe51e77acf6b358670bc0289d47f8a06df9cbab5b1472e583f5789cd5cec0"}}, {"rule": 2, "type": "equivalent", "target": "d990bd0322b6274a64b008242157b9db", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "00ffe51e77acf6b358670bc0289d47f8a06df9cbab5b1472e583f5789cd5cec0"}}], "version": "9.2.11", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "315b2f049a390603d743856bf7ff3f25", "kind": "equivalent", "version": "9.4.2", "label": "9.4.2", "title": "移除将 IPv4 pg_hba.conf 条目匹配到 IPv4-in-IPv6 地址的代码", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "00ffe51e77acf6b358670bc0289d47f8a06df9cbab5b1472e583f5789cd5cec0"}, "url": "/docs/compare/?release=9.4.2#9.4.2-cfc199310123cc11", "source_url": "/docs/release/9.4.2/#id-1.11.6.29.5"}, {"db_id": "be842d6f022a1420f9452dbf76b51575", "kind": "equivalent", "version": "9.3.7", "label": "9.3.7", "title": "移除将 IPv4 pg_hba.conf 条目匹配到 IPv4-in-IPv6 地址的代码", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "00ffe51e77acf6b358670bc0289d47f8a06df9cbab5b1472e583f5789cd5cec0"}, "url": "/docs/compare/?release=9.3.7#9.3.7-cfc199310123cc11", "source_url": "/docs/release/9.3.7/#id-1.11.6.23.5"}, {"db_id": "55e5271a5a31329e5dcc80f8c7f7d8b5", "kind": "equivalent", "version": "9.1.16", "label": "9.1.16", "title": "移除将 IPv4 pg_hba.conf 条目匹配到 IPv4-in-IPv6 地址的代码", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "00ffe51e77acf6b358670bc0289d47f8a06df9cbab5b1472e583f5789cd5cec0"}, "url": "/docs/compare/?release=9.1.16#9.1.16-cfc199310123cc11", "source_url": "/docs/release/9.1.16/#id-1.11.6.13.5"}, {"db_id": "d990bd0322b6274a64b008242157b9db", "kind": "equivalent", "version": "9.0.20", "label": "9.0.20", "title": "移除将 IPv4 pg_hba.conf 条目匹配到 IPv4-in-IPv6 地址的代码", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "00ffe51e77acf6b358670bc0289d47f8a06df9cbab5b1472e583f5789cd5cec0"}, "url": "/docs/compare/?release=9.0.20#9.0.20-cfc199310123cc11", "source_url": "/docs/release/9.0.20/#id-1.11.6.8.6"}]}, {"id": "9.2.11-b894428fa41ef6ee", "cves": [], "html": "<p>     在<code>IDENTIFY_SYSTEM</code>复制命令中报告 WAL 刷写位置而非插入位置（Heikki Linnakangas）\n    </p><p>     这避免了<span>pg_receivexlog</span>可能出现的启动失败。\n    </p>", "text": "在IDENTIFY_SYSTEM复制命令中报告 WAL 刷写位置而非插入位置（Heikki Linnakangas） 这避免了pg_receivexlog可能出现的启动失败。", "title": "在IDENTIFY_SYSTEM复制命令中报告 WAL 刷写位置而非插入位置", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.2.11/#id-1.11.6.18.5", "source_hash": "fd56d3ed9229ce0703627afcfceed1928dc243418d8de5ee13a617ff4573dad9", "section_path": ["变更"], "commit_groups": [], "identity_text": "Report WAL flush, not insert, position in IDENTIFY_SYSTEM replication command (Heikki Linnakangas) This avoids a possible startup failure in pg_receivexlog.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.2.11/changes/025", "db_id": "ae8fb802626b2e18351a1730c6dc05ca", "patch_ids": [], "statement_hash": "60148ecac8e99ef0a4cf4426fe1422788f1f2b34b95bb45742852a4144611568", "relations": [{"rule": 2, "type": "equivalent", "target": "4bc6330e046d1595562becb52bc05f9b", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "60148ecac8e99ef0a4cf4426fe1422788f1f2b34b95bb45742852a4144611568"}}, {"rule": 2, "type": "equivalent", "target": "8355bd83ffd5bc18631eb367ba007202", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "60148ecac8e99ef0a4cf4426fe1422788f1f2b34b95bb45742852a4144611568"}}, {"rule": 2, "type": "equivalent", "target": "a2f70046f3493ec205231d413803bba7", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "60148ecac8e99ef0a4cf4426fe1422788f1f2b34b95bb45742852a4144611568"}}], "version": "9.2.11", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "a2f70046f3493ec205231d413803bba7", "kind": "equivalent", "version": "9.4.2", "label": "9.4.2", "title": "在IDENTIFY_SYSTEM复制命令中报告 WAL 刷写位置而非插入位置", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "60148ecac8e99ef0a4cf4426fe1422788f1f2b34b95bb45742852a4144611568"}, "url": "/docs/compare/?release=9.4.2#9.4.2-b894428fa41ef6ee", "source_url": "/docs/release/9.4.2/#id-1.11.6.29.5"}, {"db_id": "8355bd83ffd5bc18631eb367ba007202", "kind": "equivalent", "version": "9.3.7", "label": "9.3.7", "title": "在IDENTIFY_SYSTEM复制命令中报告 WAL 刷写位置而非插入位置", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "60148ecac8e99ef0a4cf4426fe1422788f1f2b34b95bb45742852a4144611568"}, "url": "/docs/compare/?release=9.3.7#9.3.7-b894428fa41ef6ee", "source_url": "/docs/release/9.3.7/#id-1.11.6.23.5"}, {"db_id": "4bc6330e046d1595562becb52bc05f9b", "kind": "equivalent", "version": "9.1.16", "label": "9.1.16", "title": "在IDENTIFY_SYSTEM复制命令中报告 WAL 刷写位置而非插入位置", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "60148ecac8e99ef0a4cf4426fe1422788f1f2b34b95bb45742852a4144611568"}, "url": "/docs/compare/?release=9.1.16#9.1.16-b894428fa41ef6ee", "source_url": "/docs/release/9.1.16/#id-1.11.6.13.5"}]}, {"id": "9.2.11-e4ba3d9cf2f1fe41", "cves": [], "html": "<p>      在 Windows 上关闭服务期间，定期向服务控制管理器发送状态更新，以防止它过早终止服务；并确保<span>pg_ctl</span>会等待关闭完成（Krystian Bigaj）\n     </p>", "text": "在 Windows 上关闭服务期间，定期向服务控制管理器发送状态更新，以防止它过早终止服务；并确保pg_ctl会等待关闭完成（Krystian Bigaj）", "title": "在 Windows 上关闭服务期间，定期向服务控制管理器发送状态更新，以防止它过早终止服务；并确保pg_ctl会等待关闭完成", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.2.11/#id-1.11.6.18.5", "source_hash": "54b23dd1a7b6c27e57be2dc285a8699ea10fd050307e4e0aaeb1fb6fa8b5bd21", "section_path": ["变更"], "commit_groups": [], "identity_text": "While shutting down service on Windows, periodically send status updates to the Service Control Manager to prevent it from killing the service too soon; and ensure that pg_ctl will wait for shutdown (Krystian Bigaj)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.2.11/changes/026", "db_id": "5f50118a61c42a6bbd7abfb11ce6d0ef", "patch_ids": [], "statement_hash": "952b4eb145e6a9745e6c84ab5159eec4d0eb9ff40d96e62626fcffa4fc1661dc", "relations": [{"rule": 2, "type": "equivalent", "target": "6a0367fa3a3ea35b135054053c88081b", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "952b4eb145e6a9745e6c84ab5159eec4d0eb9ff40d96e62626fcffa4fc1661dc"}}, {"rule": 2, "type": "equivalent", "target": "af1aa707cb7f644b6704a634f9a165d0", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "952b4eb145e6a9745e6c84ab5159eec4d0eb9ff40d96e62626fcffa4fc1661dc"}}, {"rule": 2, "type": "equivalent", "target": "cda54d9a90f62d45b8c486111841b44e", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "952b4eb145e6a9745e6c84ab5159eec4d0eb9ff40d96e62626fcffa4fc1661dc"}}, {"rule": 2, "type": "equivalent", "target": "d6668b99df7b79843bdb87678f3af48a", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "952b4eb145e6a9745e6c84ab5159eec4d0eb9ff40d96e62626fcffa4fc1661dc"}}], "version": "9.2.11", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "af1aa707cb7f644b6704a634f9a165d0", "kind": "equivalent", "version": "9.4.2", "label": "9.4.2", "title": "在 Windows 上关闭服务期间，定期向服务控制管理器发送状态更新以防它过早终止服务；并确保 pg_ctl 会等待关闭完成", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "952b4eb145e6a9745e6c84ab5159eec4d0eb9ff40d96e62626fcffa4fc1661dc"}, "url": "/docs/compare/?release=9.4.2#9.4.2-eec758cfffebf426", "source_url": "/docs/release/9.4.2/#id-1.11.6.29.5"}, {"db_id": "6a0367fa3a3ea35b135054053c88081b", "kind": "equivalent", "version": "9.3.7", "label": "9.3.7", "title": "在 Windows 上关闭服务期间，定期向服务控制管理器发送状态更新，以防止它过早终止服务；并确保pg_ctl会等待关闭完成", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "952b4eb145e6a9745e6c84ab5159eec4d0eb9ff40d96e62626fcffa4fc1661dc"}, "url": "/docs/compare/?release=9.3.7#9.3.7-e4ba3d9cf2f1fe41", "source_url": "/docs/release/9.3.7/#id-1.11.6.23.5"}, {"db_id": "cda54d9a90f62d45b8c486111841b44e", "kind": "equivalent", "version": "9.1.16", "label": "9.1.16", "title": "在 Windows 上关闭服务期间，定期向服务控制管理器发送状态更新，以防止它过早终止服务；并确保pg_ctl会等待关闭完成", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "952b4eb145e6a9745e6c84ab5159eec4d0eb9ff40d96e62626fcffa4fc1661dc"}, "url": "/docs/compare/?release=9.1.16#9.1.16-e4ba3d9cf2f1fe41", "source_url": "/docs/release/9.1.16/#id-1.11.6.13.5"}, {"db_id": "d6668b99df7b79843bdb87678f3af48a", "kind": "equivalent", "version": "9.0.20", "label": "9.0.20", "title": "在 Windows 上关闭服务期间，定期向服务控制管理器发送状态更新，以防止它过早终止服务；并确保pg_ctl会等待关闭完成", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "952b4eb145e6a9745e6c84ab5159eec4d0eb9ff40d96e62626fcffa4fc1661dc"}, "url": "/docs/compare/?release=9.0.20#9.0.20-e4ba3d9cf2f1fe41", "source_url": "/docs/release/9.0.20/#id-1.11.6.8.6"}]}, {"id": "9.2.11-88f3422e6619fc15", "cves": [], "html": "<p>     降低使用<span>libpq</span>非阻塞模式时网络死锁的风险（Heikki Linnakangas）\n    </p><p>     在发送大量数据时，定期排空输入缓冲区很重要，以防服务器已发送足够的响应数据导致其在输出上阻塞。（典型场景是服务器在<code>COPY FROM STDIN</code>期间发送一连串 NOTICE 消息。）这在普通阻塞模式下工作正常，但在非阻塞模式下则不然。我们修改了<span>libpq</span>，使其在可能时顺便排空输入，但要完全防御此问题需要应用程序配合：应用程序应同时监视套接字的读就绪和写就绪条件，并确保在读就绪时调用<code>PQconsumeInput()</code>。\n    </p>", "text": "降低使用libpq非阻塞模式时网络死锁的风险（Heikki Linnakangas） 在发送大量数据时，定期排空输入缓冲区很重要，以防服务器已发送足够的响应数据导致其在输出上阻塞。（典型场景是服务器在COPY FROM STDIN期间发送一连串 NOTICE 消息。）这在普通阻塞模式下工作正常，但在非阻塞模式下则不然。我们修改了libpq，使其在可能时顺便排空输入，但要完全防御此问题需要应用程序配合：应用程序应同时监视套接字的读就绪和写就绪条件，并确保在读就绪时调用PQconsumeInput()。", "title": "降低使用libpq非阻塞模式时网络死锁的风险", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.2.11/#id-1.11.6.18.5", "source_hash": "15d985762ff68b28f1742b34201d7804e2cead79e40866b8318f644f10ae6065", "section_path": ["变更"], "commit_groups": [], "identity_text": "Reduce risk of network deadlock when using libpq's non-blocking mode (Heikki Linnakangas) When sending large volumes of data, it's important to drain the input buffer every so often, in case the server has sent enough response data to cause it to block on output. (A typical scenario is that the server is sending a stream of NOTICE messages during COPY FROM STDIN.) This worked properly in the normal blocking mode, but not so much in non-blocking mode. We've modified libpq to opportunistically drain input when it can, but a full defense against this problem requires application cooperation: the application should watch for socket read-ready as well as write-ready conditions, and be sure to call PQconsumeInput() upon read-ready.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.2.11/changes/027", "db_id": "598e1b253718bbf1c3282c8fc9b516a1", "patch_ids": [], "statement_hash": "dccd34a978cc19a1e6ab89ce309085702a8cadad1f2296788b6de88cf436940d", "relations": [{"rule": 2, "type": "equivalent", "target": "2c882ae1699ea8b2abd06940bf24f98a", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "dccd34a978cc19a1e6ab89ce309085702a8cadad1f2296788b6de88cf436940d"}}, {"rule": 2, "type": "equivalent", "target": "498fc7d668d0aa8b1bc6d1db737152e6", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "dccd34a978cc19a1e6ab89ce309085702a8cadad1f2296788b6de88cf436940d"}}, {"rule": 2, "type": "equivalent", "target": "9039c22f9f4b61c617b21747e614cfc7", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "dccd34a978cc19a1e6ab89ce309085702a8cadad1f2296788b6de88cf436940d"}}, {"rule": 2, "type": "equivalent", "target": "f899cf33925a19a1df8247d18d84d6c3", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "dccd34a978cc19a1e6ab89ce309085702a8cadad1f2296788b6de88cf436940d"}}], "version": "9.2.11", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "f899cf33925a19a1df8247d18d84d6c3", "kind": "equivalent", "version": "9.4.2", "label": "9.4.2", "title": "降低使用libpq非阻塞模式时网络死锁的风险", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "dccd34a978cc19a1e6ab89ce309085702a8cadad1f2296788b6de88cf436940d"}, "url": "/docs/compare/?release=9.4.2#9.4.2-88f3422e6619fc15", "source_url": "/docs/release/9.4.2/#id-1.11.6.29.5"}, {"db_id": "9039c22f9f4b61c617b21747e614cfc7", "kind": "equivalent", "version": "9.3.7", "label": "9.3.7", "title": "降低使用libpq非阻塞模式时网络死锁的风险", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "dccd34a978cc19a1e6ab89ce309085702a8cadad1f2296788b6de88cf436940d"}, "url": "/docs/compare/?release=9.3.7#9.3.7-88f3422e6619fc15", "source_url": "/docs/release/9.3.7/#id-1.11.6.23.5"}, {"db_id": "498fc7d668d0aa8b1bc6d1db737152e6", "kind": "equivalent", "version": "9.1.16", "label": "9.1.16", "title": "降低使用libpq非阻塞模式时网络死锁的风险", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "dccd34a978cc19a1e6ab89ce309085702a8cadad1f2296788b6de88cf436940d"}, "url": "/docs/compare/?release=9.1.16#9.1.16-88f3422e6619fc15", "source_url": "/docs/release/9.1.16/#id-1.11.6.13.5"}, {"db_id": "2c882ae1699ea8b2abd06940bf24f98a", "kind": "equivalent", "version": "9.0.20", "label": "9.0.20", "title": "降低使用libpq非阻塞模式时网络死锁的风险", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "dccd34a978cc19a1e6ab89ce309085702a8cadad1f2296788b6de88cf436940d"}, "url": "/docs/compare/?release=9.0.20#9.0.20-88f3422e6619fc15", "source_url": "/docs/release/9.0.20/#id-1.11.6.8.6"}]}, {"id": "9.2.11-1c3352c5b59a903d", "cves": [], "html": "<p>      修复<span>libpq</span>中 URI 连接串空值解析错误的问题（Thomas Fanghaenel）\n     </p>", "text": "修复libpq中 URI 连接串空值解析错误的问题（Thomas Fanghaenel）", "title": "修复libpq中 URI 连接串空值解析错误的问题", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.2.11/#id-1.11.6.18.5", "source_hash": "c2a3339969155aad1e888ddbacbe00e90263ba0ba5e13e0a2d847acb8e4d8f0c", "section_path": ["变更"], "commit_groups": [], "identity_text": "In libpq, fix misparsing of empty values in URI connection strings (Thomas Fanghaenel)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.2.11/changes/028", "db_id": "833191d8af6f1c474cdd7874acc4192a", "patch_ids": [], "statement_hash": "bc89bebf9d87cbbf31d2c73d7216c61f950cf13da77cb15361ee7fb6ce77cad5", "relations": [{"rule": 2, "type": "equivalent", "target": "00af98eb5cd073bdd89d04c9004b429e", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "bc89bebf9d87cbbf31d2c73d7216c61f950cf13da77cb15361ee7fb6ce77cad5"}}, {"rule": 2, "type": "equivalent", "target": "320f9014f45b2b3169a1363cab552f95", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "bc89bebf9d87cbbf31d2c73d7216c61f950cf13da77cb15361ee7fb6ce77cad5"}}], "version": "9.2.11", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "320f9014f45b2b3169a1363cab552f95", "kind": "equivalent", "version": "9.4.2", "label": "9.4.2", "title": "修复 libpq 中 URI 连接串空值的误解析", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "bc89bebf9d87cbbf31d2c73d7216c61f950cf13da77cb15361ee7fb6ce77cad5"}, "url": "/docs/compare/?release=9.4.2#9.4.2-4333f4405ab57a27", "source_url": "/docs/release/9.4.2/#id-1.11.6.29.5"}, {"db_id": "00af98eb5cd073bdd89d04c9004b429e", "kind": "equivalent", "version": "9.3.7", "label": "9.3.7", "title": "修复libpq中 URI 连接串空值解析错误的问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "bc89bebf9d87cbbf31d2c73d7216c61f950cf13da77cb15361ee7fb6ce77cad5"}, "url": "/docs/compare/?release=9.3.7#9.3.7-1c3352c5b59a903d", "source_url": "/docs/release/9.3.7/#id-1.11.6.23.5"}]}, {"id": "9.2.11-d8f3430f52e99661", "cves": [], "html": "<p>      修复<span>ecpg</span>中的数组处理（Michael Meskes）\n     </p>", "text": "修复ecpg中的数组处理（Michael Meskes）", "title": "修复ecpg中的数组处理", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.2.11/#id-1.11.6.18.5", "source_hash": "b8ece0c2c945bce7c64031c2f9b7ef4881f818bf8148ddf8f227aac218d73d28", "section_path": ["变更"], "commit_groups": [], "identity_text": "Fix array handling in ecpg (Michael Meskes)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.2.11/changes/029", "db_id": "5270ee966420c546d77693211747865a", "patch_ids": [], "statement_hash": "420293c570790548a81057536c1fa185df07534cc86fc2708c9467d360a5a19b", "relations": [{"rule": 2, "type": "equivalent", "target": "03222f3e547f37dd099b40c61bc90005", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "420293c570790548a81057536c1fa185df07534cc86fc2708c9467d360a5a19b"}}, {"rule": 2, "type": "equivalent", "target": "75e6a09d7c33c7cd877ff01c3199e91b", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "420293c570790548a81057536c1fa185df07534cc86fc2708c9467d360a5a19b"}}, {"rule": 2, "type": "equivalent", "target": "9e1a1a4055145909d00a4b6f8b28bdd3", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "420293c570790548a81057536c1fa185df07534cc86fc2708c9467d360a5a19b"}}, {"rule": 2, "type": "equivalent", "target": "c3fa157509c3cf0cb743b44aac5a8bcf", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "420293c570790548a81057536c1fa185df07534cc86fc2708c9467d360a5a19b"}}], "version": "9.2.11", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "75e6a09d7c33c7cd877ff01c3199e91b", "kind": "equivalent", "version": "9.4.2", "label": "9.4.2", "title": "修复 ecpg 中的数组处理", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "420293c570790548a81057536c1fa185df07534cc86fc2708c9467d360a5a19b"}, "url": "/docs/compare/?release=9.4.2#9.4.2-12d6b2c443b62fce", "source_url": "/docs/release/9.4.2/#id-1.11.6.29.5"}, {"db_id": "03222f3e547f37dd099b40c61bc90005", "kind": "equivalent", "version": "9.3.7", "label": "9.3.7", "title": "修复ecpg中的数组处理", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "420293c570790548a81057536c1fa185df07534cc86fc2708c9467d360a5a19b"}, "url": "/docs/compare/?release=9.3.7#9.3.7-d8f3430f52e99661", "source_url": "/docs/release/9.3.7/#id-1.11.6.23.5"}, {"db_id": "9e1a1a4055145909d00a4b6f8b28bdd3", "kind": "equivalent", "version": "9.1.16", "label": "9.1.16", "title": "修复ecpg中的数组处理", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "420293c570790548a81057536c1fa185df07534cc86fc2708c9467d360a5a19b"}, "url": "/docs/compare/?release=9.1.16#9.1.16-d8f3430f52e99661", "source_url": "/docs/release/9.1.16/#id-1.11.6.13.5"}, {"db_id": "c3fa157509c3cf0cb743b44aac5a8bcf", "kind": "equivalent", "version": "9.0.20", "label": "9.0.20", "title": "修复ecpg中的数组处理", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "420293c570790548a81057536c1fa185df07534cc86fc2708c9467d360a5a19b"}, "url": "/docs/compare/?release=9.0.20#9.0.20-d8f3430f52e99661", "source_url": "/docs/release/9.0.20/#id-1.11.6.8.6"}]}, {"id": "9.2.11-c2b0e63e91a475bd", "cves": [], "html": "<p>     修复<span>psql</span>以合理处理作为<code>\\connect</code>第一个参数的 URI 和 conninfo 串（David Fetter、Andrew Dunstan, Álvaro Herrera）\n    </p><p>     这一语法已被接受（但未写入文档）很长时间，但此前某些参数可能取自旧连接而非给定字符串，这被认为是不合适的。\n    </p>", "text": "修复psql以合理处理作为\\connect第一个参数的 URI 和 conninfo 串（David Fetter、Andrew Dunstan, Álvaro Herrera） 这一语法已被接受（但未写入文档）很长时间，但此前某些参数可能取自旧连接而非给定字符串，这被认为是不合适的。", "title": "修复psql以合理处理作为\\connect第一个参数的 URI 和 conninfo 串", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.2.11/#id-1.11.6.18.5", "source_hash": "9d630b9634b001b7b54fff34d24526273de4f3704a0af063a5a19accecaa9395", "section_path": ["变更"], "commit_groups": [], "identity_text": "Fix psql to sanely handle URIs and conninfo strings as the first parameter to \\connect (David Fetter, Andrew Dunstan, Álvaro Herrera) This syntax has been accepted (but undocumented) for a long time, but previously some parameters might be taken from the old connection instead of the given string, which was agreed to be undesirable.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.2.11/changes/030", "db_id": "1ba3837708d73f5af49dc354077ff447", "patch_ids": [], "statement_hash": "3eb2388095e380964329c047b09e86551cf29d5987b13c0c70ffb0ef1bd83c4d", "relations": [{"rule": 2, "type": "equivalent", "target": "52da617b8596bc4937f27599b5b78eab", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "3eb2388095e380964329c047b09e86551cf29d5987b13c0c70ffb0ef1bd83c4d"}}, {"rule": 2, "type": "equivalent", "target": "6f12320508c57791ad764a622d299c0f", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "3eb2388095e380964329c047b09e86551cf29d5987b13c0c70ffb0ef1bd83c4d"}}, {"rule": 2, "type": "equivalent", "target": "b1fa934bb2dd5f07cb00fce7003c0399", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "3eb2388095e380964329c047b09e86551cf29d5987b13c0c70ffb0ef1bd83c4d"}}, {"rule": 2, "type": "equivalent", "target": "f16bd4c2fd15211edf741ef3a1f6c6a9", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "3eb2388095e380964329c047b09e86551cf29d5987b13c0c70ffb0ef1bd83c4d"}}], "version": "9.2.11", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "b1fa934bb2dd5f07cb00fce7003c0399", "kind": "equivalent", "version": "9.4.2", "label": "9.4.2", "title": "修复psql以合理处理作为\\connect第一个参数的 URI 和 conninfo 串", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "3eb2388095e380964329c047b09e86551cf29d5987b13c0c70ffb0ef1bd83c4d"}, "url": "/docs/compare/?release=9.4.2#9.4.2-c2b0e63e91a475bd", "source_url": "/docs/release/9.4.2/#id-1.11.6.29.5"}, {"db_id": "52da617b8596bc4937f27599b5b78eab", "kind": "equivalent", "version": "9.3.7", "label": "9.3.7", "title": "修复psql以合理处理作为\\connect第一个参数的 URI 和 conninfo 串", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "3eb2388095e380964329c047b09e86551cf29d5987b13c0c70ffb0ef1bd83c4d"}, "url": "/docs/compare/?release=9.3.7#9.3.7-c2b0e63e91a475bd", "source_url": "/docs/release/9.3.7/#id-1.11.6.23.5"}, {"db_id": "f16bd4c2fd15211edf741ef3a1f6c6a9", "kind": "equivalent", "version": "9.1.16", "label": "9.1.16", "title": "修复psql以合理处理作为\\connect第一个参数的 URI 和 conninfo 串", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "3eb2388095e380964329c047b09e86551cf29d5987b13c0c70ffb0ef1bd83c4d"}, "url": "/docs/compare/?release=9.1.16#9.1.16-c2b0e63e91a475bd", "source_url": "/docs/release/9.1.16/#id-1.11.6.13.5"}, {"db_id": "6f12320508c57791ad764a622d299c0f", "kind": "equivalent", "version": "9.0.20", "label": "9.0.20", "title": "修复psql以合理处理作为\\connect第一个参数的 URI 和 conninfo 串", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "3eb2388095e380964329c047b09e86551cf29d5987b13c0c70ffb0ef1bd83c4d"}, "url": "/docs/compare/?release=9.0.20#9.0.20-c2b0e63e91a475bd", "source_url": "/docs/release/9.0.20/#id-1.11.6.8.6"}]}, {"id": "9.2.11-d227cea86329c725", "cves": [], "html": "<p>     抑制<span>psql</span>在某些平台上关于退出时未能写入<code>~/.psql_history</code>的错误抱怨（Tom Lane）\n    </p><p>     这一不当行为源自针对非常老（2006 年之前）的<span>libedit</span>版本中一个缺陷的变通方案。我们通过移除该变通方案修复了问题，但这会使仍在使用此类<span>libedit</span>版本的用户出现类似失败。建议：升级该库，或改用<span>libreadline</span>。\n    </p>", "text": "抑制psql在某些平台上关于退出时未能写入~/.psql_history的错误抱怨（Tom Lane） 这一不当行为源自针对非常老（2006 年之前）的libedit版本中一个缺陷的变通方案。我们通过移除该变通方案修复了问题，但这会使仍在使用此类libedit版本的用户出现类似失败。建议：升级该库，或改用libreadline。", "title": "抑制psql在某些平台上关于退出时未能写入~/.psql_history的错误抱怨", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.2.11/#id-1.11.6.18.5", "source_hash": "75d04d1da35091f800ad382ea92828cf71218eaf65af39f4421cb78d433723ea", "section_path": ["变更"], "commit_groups": [], "identity_text": "Suppress incorrect complaints from psql on some platforms that it failed to write ~/.psql_history at exit (Tom Lane) This misbehavior was caused by a workaround for a bug in very old (pre-2006) versions of libedit. We fixed it by removing the workaround, which will cause a similar failure to appear for anyone still using such versions of libedit. Recommendation: upgrade that library, or use libreadline.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.2.11/changes/031", "db_id": "b5362eb4c369741eec484b03391f5fff", "patch_ids": [], "statement_hash": "de356d2c07dafe55e04e761481754950d45efe102ba79a0473795127e2c6b088", "relations": [{"rule": 2, "type": "equivalent", "target": "49a43eebdf83f7aa058ec222f1385585", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "de356d2c07dafe55e04e761481754950d45efe102ba79a0473795127e2c6b088"}}, {"rule": 2, "type": "equivalent", "target": "e52fbd69057eccf214de2172b41331bb", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "de356d2c07dafe55e04e761481754950d45efe102ba79a0473795127e2c6b088"}}, {"rule": 2, "type": "equivalent", "target": "eb5dae8c61bba8b98862c6cd93d6307f", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "de356d2c07dafe55e04e761481754950d45efe102ba79a0473795127e2c6b088"}}, {"rule": 2, "type": "equivalent", "target": "fa74617d6f3b1414c2cef44a7bad5c60", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "de356d2c07dafe55e04e761481754950d45efe102ba79a0473795127e2c6b088"}}], "version": "9.2.11", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "fa74617d6f3b1414c2cef44a7bad5c60", "kind": "equivalent", "version": "9.4.2", "label": "9.4.2", "title": "抑制psql在某些平台上关于退出时未能写入~/.psql_history的错误抱怨", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "de356d2c07dafe55e04e761481754950d45efe102ba79a0473795127e2c6b088"}, "url": "/docs/compare/?release=9.4.2#9.4.2-d227cea86329c725", "source_url": "/docs/release/9.4.2/#id-1.11.6.29.5"}, {"db_id": "e52fbd69057eccf214de2172b41331bb", "kind": "equivalent", "version": "9.3.7", "label": "9.3.7", "title": "抑制psql在某些平台上关于退出时未能写入~/.psql_history的错误抱怨", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "de356d2c07dafe55e04e761481754950d45efe102ba79a0473795127e2c6b088"}, "url": "/docs/compare/?release=9.3.7#9.3.7-d227cea86329c725", "source_url": "/docs/release/9.3.7/#id-1.11.6.23.5"}, {"db_id": "49a43eebdf83f7aa058ec222f1385585", "kind": "equivalent", "version": "9.1.16", "label": "9.1.16", "title": "抑制psql在某些平台上关于退出时未能写入~/.psql_history的错误抱怨", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "de356d2c07dafe55e04e761481754950d45efe102ba79a0473795127e2c6b088"}, "url": "/docs/compare/?release=9.1.16#9.1.16-d227cea86329c725", "source_url": "/docs/release/9.1.16/#id-1.11.6.13.5"}, {"db_id": "eb5dae8c61bba8b98862c6cd93d6307f", "kind": "equivalent", "version": "9.0.20", "label": "9.0.20", "title": "抑制psql在某些平台上关于退出时未能写入~/.psql_history的错误抱怨", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "de356d2c07dafe55e04e761481754950d45efe102ba79a0473795127e2c6b088"}, "url": "/docs/compare/?release=9.0.20#9.0.20-d227cea86329c725", "source_url": "/docs/release/9.0.20/#id-1.11.6.8.6"}]}, {"id": "9.2.11-e3cbc04bb40225cc", "cves": [], "html": "<p>      修复<span>pg_dump</span>判定哪些转换是不应转储的系统提供转换的规则（Tom Lane）\n     </p>", "text": "修复pg_dump判定哪些转换是不应转储的系统提供转换的规则（Tom Lane）", "title": "修复pg_dump判定哪些转换是不应转储的系统提供转换的规则", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.2.11/#id-1.11.6.18.5", "source_hash": "d59d4e253c027e0ec234d04ce5dbbdc41ece65b47789269c94f82fb2532b35e8", "section_path": ["变更"], "commit_groups": [], "identity_text": "Fix pg_dump's rule for deciding which casts are system-provided casts that should not be dumped (Tom Lane)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.2.11/changes/032", "db_id": "bfb78023172514429b27c225f6b00a4e", "patch_ids": [], "statement_hash": "8705f6329a62d6f84deb40e5a5b76549c12982d1e70e53b69c6a4122bb2bc35b", "relations": [{"rule": 2, "type": "equivalent", "target": "4a07f150b25353bc15f3e6aae96f0624", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "8705f6329a62d6f84deb40e5a5b76549c12982d1e70e53b69c6a4122bb2bc35b"}}, {"rule": 2, "type": "equivalent", "target": "68ac0592c21dc4bd805081964e00df52", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "8705f6329a62d6f84deb40e5a5b76549c12982d1e70e53b69c6a4122bb2bc35b"}}, {"rule": 2, "type": "equivalent", "target": "b508de042a3c64fefa8a9c89a8726010", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "8705f6329a62d6f84deb40e5a5b76549c12982d1e70e53b69c6a4122bb2bc35b"}}, {"rule": 2, "type": "equivalent", "target": "d0d7c2d04b5e6a6ec53e6b6ee3ba14f9", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "8705f6329a62d6f84deb40e5a5b76549c12982d1e70e53b69c6a4122bb2bc35b"}}], "version": "9.2.11", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "b508de042a3c64fefa8a9c89a8726010", "kind": "equivalent", "version": "9.4.2", "label": "9.4.2", "title": "修复 pg_dump 判断哪些转换是不应转储的系统提供转换的规则", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "8705f6329a62d6f84deb40e5a5b76549c12982d1e70e53b69c6a4122bb2bc35b"}, "url": "/docs/compare/?release=9.4.2#9.4.2-1e725ffa4aa0048d", "source_url": "/docs/release/9.4.2/#id-1.11.6.29.5"}, {"db_id": "d0d7c2d04b5e6a6ec53e6b6ee3ba14f9", "kind": "equivalent", "version": "9.3.7", "label": "9.3.7", "title": "修复pg_dump判定哪些转换是不应转储的系统提供转换的规则", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "8705f6329a62d6f84deb40e5a5b76549c12982d1e70e53b69c6a4122bb2bc35b"}, "url": "/docs/compare/?release=9.3.7#9.3.7-e3cbc04bb40225cc", "source_url": "/docs/release/9.3.7/#id-1.11.6.23.5"}, {"db_id": "4a07f150b25353bc15f3e6aae96f0624", "kind": "equivalent", "version": "9.1.16", "label": "9.1.16", "title": "修复pg_dump判定哪些转换是不应转储的系统提供转换的规则", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "8705f6329a62d6f84deb40e5a5b76549c12982d1e70e53b69c6a4122bb2bc35b"}, "url": "/docs/compare/?release=9.1.16#9.1.16-e3cbc04bb40225cc", "source_url": "/docs/release/9.1.16/#id-1.11.6.13.5"}, {"db_id": "68ac0592c21dc4bd805081964e00df52", "kind": "equivalent", "version": "9.0.20", "label": "9.0.20", "title": "修复pg_dump判定哪些转换是不应转储的系统提供转换的规则", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "8705f6329a62d6f84deb40e5a5b76549c12982d1e70e53b69c6a4122bb2bc35b"}, "url": "/docs/compare/?release=9.0.20#9.0.20-e3cbc04bb40225cc", "source_url": "/docs/release/9.0.20/#id-1.11.6.8.6"}]}, {"id": "9.2.11-ec677b166167629e", "cves": [], "html": "<p>      修复<span>pg_dump</span>在<code>-Fd</code>下未遵循<code>-Z</code>压缩级别选项的问题（Michael Paquier）\n     </p>", "text": "修复pg_dump在-Fd下未遵循-Z压缩级别选项的问题（Michael Paquier）", "title": "修复pg_dump在-Fd下未遵循-Z压缩级别选项的问题", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.2.11/#id-1.11.6.18.5", "source_hash": "0b953a740d5c8780f7524532442e7d7c491d77c1d803da7f0a2d4b9202c6562c", "section_path": ["变更"], "commit_groups": [], "identity_text": "In pg_dump, fix failure to honor -Z compression level option together with -Fd (Michael Paquier)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.2.11/changes/033", "db_id": "695d3cc3d176635ed967cee52f33b649", "patch_ids": [], "statement_hash": "ead6b304ec33630455c137d70864e769a57cf07196a0e04043b1416c61269925", "relations": [{"rule": 2, "type": "equivalent", "target": "064809e364056a912a9a4f40f13e66fe", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ead6b304ec33630455c137d70864e769a57cf07196a0e04043b1416c61269925"}}, {"rule": 2, "type": "equivalent", "target": "9a36c452dbb10277e634b4cb0d71ec06", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ead6b304ec33630455c137d70864e769a57cf07196a0e04043b1416c61269925"}}, {"rule": 2, "type": "equivalent", "target": "b84d23a974506f1f2673eb22c5339d65", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ead6b304ec33630455c137d70864e769a57cf07196a0e04043b1416c61269925"}}], "version": "9.2.11", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "064809e364056a912a9a4f40f13e66fe", "kind": "equivalent", "version": "9.4.2", "label": "9.4.2", "title": "修复 pg_dump 中 -Z 压缩级别选项与 -Fd 一起使用时未被遵循的问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ead6b304ec33630455c137d70864e769a57cf07196a0e04043b1416c61269925"}, "url": "/docs/compare/?release=9.4.2#9.4.2-bcb8106afdc1191c", "source_url": "/docs/release/9.4.2/#id-1.11.6.29.5"}, {"db_id": "9a36c452dbb10277e634b4cb0d71ec06", "kind": "equivalent", "version": "9.3.7", "label": "9.3.7", "title": "修复pg_dump在-Fd下未遵循-Z压缩级别选项的问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ead6b304ec33630455c137d70864e769a57cf07196a0e04043b1416c61269925"}, "url": "/docs/compare/?release=9.3.7#9.3.7-ec677b166167629e", "source_url": "/docs/release/9.3.7/#id-1.11.6.23.5"}, {"db_id": "b84d23a974506f1f2673eb22c5339d65", "kind": "equivalent", "version": "9.1.16", "label": "9.1.16", "title": "修复pg_dump在-Fd下未遵循-Z压缩级别选项的问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ead6b304ec33630455c137d70864e769a57cf07196a0e04043b1416c61269925"}, "url": "/docs/compare/?release=9.1.16#9.1.16-ec677b166167629e", "source_url": "/docs/release/9.1.16/#id-1.11.6.13.5"}]}, {"id": "9.2.11-9a4af7483615b22e", "cves": [], "html": "<p>     使<span>pg_dump</span>在选择转储顺序时考虑扩展配置表之间的外键关系（Gilles Darold、Michael Paquier、Stephen Frost）\n    </p><p>     这一疏忽可能导致生成的转储无法重新加载，因为外键约束会被瞬时违反。\n    </p>", "text": "使pg_dump在选择转储顺序时考虑扩展配置表之间的外键关系（Gilles Darold、Michael Paquier、Stephen Frost） 这一疏忽可能导致生成的转储无法重新加载，因为外键约束会被瞬时违反。", "title": "使pg_dump在选择转储顺序时考虑扩展配置表之间的外键关系", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.2.11/#id-1.11.6.18.5", "source_hash": "a9400db47e5487b88c29b51b733a4637e4d6478546aeabfad7da074ce0ce26bd", "section_path": ["变更"], "commit_groups": [], "identity_text": "Make pg_dump consider foreign key relationships between extension configuration tables while choosing dump order (Gilles Darold, Michael Paquier, Stephen Frost) This oversight could result in producing dumps that fail to reload because foreign key constraints are transiently violated.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.2.11/changes/034", "db_id": "2bb8cf7326c19998181e47c91ad20671", "patch_ids": [], "statement_hash": "9270308a21ff1daf64ebebcc3ac3578f51d0f40969de78de6b1ccf37d7c37461", "relations": [{"rule": 2, "type": "equivalent", "target": "0d0a0a071440f5c916f2904270b689ba", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "9270308a21ff1daf64ebebcc3ac3578f51d0f40969de78de6b1ccf37d7c37461"}}, {"rule": 2, "type": "equivalent", "target": "96b8c3aa654de420c81a51125b0c0ac8", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "9270308a21ff1daf64ebebcc3ac3578f51d0f40969de78de6b1ccf37d7c37461"}}, {"rule": 2, "type": "equivalent", "target": "c55a1ddab377ddf60532cc2e6e29cac0", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "9270308a21ff1daf64ebebcc3ac3578f51d0f40969de78de6b1ccf37d7c37461"}}], "version": "9.2.11", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "0d0a0a071440f5c916f2904270b689ba", "kind": "equivalent", "version": "9.4.2", "label": "9.4.2", "title": "使pg_dump在选择转储顺序时考虑扩展配置表之间的外键关系", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "9270308a21ff1daf64ebebcc3ac3578f51d0f40969de78de6b1ccf37d7c37461"}, "url": "/docs/compare/?release=9.4.2#9.4.2-9a4af7483615b22e", "source_url": "/docs/release/9.4.2/#id-1.11.6.29.5"}, {"db_id": "c55a1ddab377ddf60532cc2e6e29cac0", "kind": "equivalent", "version": "9.3.7", "label": "9.3.7", "title": "使pg_dump在选择转储顺序时考虑扩展配置表之间的外键关系", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "9270308a21ff1daf64ebebcc3ac3578f51d0f40969de78de6b1ccf37d7c37461"}, "url": "/docs/compare/?release=9.3.7#9.3.7-9a4af7483615b22e", "source_url": "/docs/release/9.3.7/#id-1.11.6.23.5"}, {"db_id": "96b8c3aa654de420c81a51125b0c0ac8", "kind": "equivalent", "version": "9.1.16", "label": "9.1.16", "title": "使pg_dump在选择转储顺序时考虑扩展配置表之间的外键关系", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "9270308a21ff1daf64ebebcc3ac3578f51d0f40969de78de6b1ccf37d7c37461"}, "url": "/docs/compare/?release=9.1.16#9.1.16-9a4af7483615b22e", "source_url": "/docs/release/9.1.16/#id-1.11.6.13.5"}]}, {"id": "9.2.11-0c84064cc1d9166a", "cves": [], "html": "<p>      修复对仅由<code>VALUES(...)</code>构成但带有列别名的视图的转储（Tom Lane）\n     </p>", "text": "修复对仅由VALUES(...)构成但带有列别名的视图的转储（Tom Lane）", "title": "修复对仅由VALUES(...)构成但带有列别名的视图的转储", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.2.11/#id-1.11.6.18.5", "source_hash": "c14c7878ce14f118b174197940a757dcb4079f24b1a95c97b462eb9448ebdd68", "section_path": ["变更"], "commit_groups": [], "identity_text": "Fix dumping of views that are just VALUES(...) but have column aliases (Tom Lane)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.2.11/changes/035", "db_id": "a14a9740c72bc906d1fba16e9c1cb4cd", "patch_ids": [], "statement_hash": "1d07aefbe69f76fbfd7bdfcd778a2ebfe007c1ddd6821421f482699ae9046a76", "relations": [{"rule": 2, "type": "equivalent", "target": "0419643d23e4a4dcf485f3d67a1a8ca9", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "1d07aefbe69f76fbfd7bdfcd778a2ebfe007c1ddd6821421f482699ae9046a76"}}, {"rule": 2, "type": "equivalent", "target": "6893d83c75aab30522f2ba58ea38ae7c", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "1d07aefbe69f76fbfd7bdfcd778a2ebfe007c1ddd6821421f482699ae9046a76"}}, {"rule": 2, "type": "equivalent", "target": "8fedc436dd8b8faf5b520b757035c88b", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "1d07aefbe69f76fbfd7bdfcd778a2ebfe007c1ddd6821421f482699ae9046a76"}}, {"rule": 2, "type": "equivalent", "target": "c4f3706c97d656d20e7d60825a6aed85", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "1d07aefbe69f76fbfd7bdfcd778a2ebfe007c1ddd6821421f482699ae9046a76"}}], "version": "9.2.11", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "c4f3706c97d656d20e7d60825a6aed85", "kind": "equivalent", "version": "9.4.2", "label": "9.4.2", "title": "修复仅由 VALUES(...) 构成但带有列别名的视图的转储", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "1d07aefbe69f76fbfd7bdfcd778a2ebfe007c1ddd6821421f482699ae9046a76"}, "url": "/docs/compare/?release=9.4.2#9.4.2-3a80b9109301d2c3", "source_url": "/docs/release/9.4.2/#id-1.11.6.29.5"}, {"db_id": "8fedc436dd8b8faf5b520b757035c88b", "kind": "equivalent", "version": "9.3.7", "label": "9.3.7", "title": "修复对仅由VALUES(...)构成但带有列别名的视图的转储", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "1d07aefbe69f76fbfd7bdfcd778a2ebfe007c1ddd6821421f482699ae9046a76"}, "url": "/docs/compare/?release=9.3.7#9.3.7-0c84064cc1d9166a", "source_url": "/docs/release/9.3.7/#id-1.11.6.23.5"}, {"db_id": "0419643d23e4a4dcf485f3d67a1a8ca9", "kind": "equivalent", "version": "9.1.16", "label": "9.1.16", "title": "修复对仅由VALUES(...)构成但带有列别名的视图的转储", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "1d07aefbe69f76fbfd7bdfcd778a2ebfe007c1ddd6821421f482699ae9046a76"}, "url": "/docs/compare/?release=9.1.16#9.1.16-0c84064cc1d9166a", "source_url": "/docs/release/9.1.16/#id-1.11.6.13.5"}, {"db_id": "6893d83c75aab30522f2ba58ea38ae7c", "kind": "equivalent", "version": "9.0.20", "label": "9.0.20", "title": "修复对仅由VALUES(...)构成但带有列别名的视图的转储", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "1d07aefbe69f76fbfd7bdfcd778a2ebfe007c1ddd6821421f482699ae9046a76"}, "url": "/docs/compare/?release=9.0.20#9.0.20-0c84064cc1d9166a", "source_url": "/docs/release/9.0.20/#id-1.11.6.8.6"}]}, {"id": "9.2.11-85a36f5791bb8c13", "cves": [], "html": "<p>     在<span>pg_upgrade</span>中，强制新集簇使用时间线 1（Bruce Momjian）\n    </p><p>     此变更可防止因错误抱怨缺少 WAL 历史文件而导致的升级失败。\n    </p>", "text": "在pg_upgrade中，强制新集簇使用时间线 1（Bruce Momjian） 此变更可防止因错误抱怨缺少 WAL 历史文件而导致的升级失败。", "title": "在pg_upgrade中，强制新集簇使用时间线 1", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.2.11/#id-1.11.6.18.5", "source_hash": "08fa131a63577019561e2427527ff8b1c4ae0140357e1736c7f20e9deb311f42", "section_path": ["变更"], "commit_groups": [], "identity_text": "In pg_upgrade, force timeline 1 in the new cluster (Bruce Momjian) This change prevents upgrade failures caused by bogus complaints about missing WAL history files.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.2.11/changes/036", "db_id": "f373f2b37669d9e6f05d88219713420c", "patch_ids": [], "statement_hash": "cbc1aa2d5d4c053c61455d419604f84ff0d39042453f2f23317cda66dd0a871a", "relations": [{"rule": 2, "type": "equivalent", "target": "264e70366e463566e591358479b0662e", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "cbc1aa2d5d4c053c61455d419604f84ff0d39042453f2f23317cda66dd0a871a"}}, {"rule": 2, "type": "equivalent", "target": "32add2a745591c8459a411546ba2e115", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "cbc1aa2d5d4c053c61455d419604f84ff0d39042453f2f23317cda66dd0a871a"}}, {"rule": 2, "type": "equivalent", "target": "c987857809faf03056aa6d67b18891ce", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "cbc1aa2d5d4c053c61455d419604f84ff0d39042453f2f23317cda66dd0a871a"}}, {"rule": 2, "type": "equivalent", "target": "f0ae4f13ab1ab379b88d9739e247631f", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "cbc1aa2d5d4c053c61455d419604f84ff0d39042453f2f23317cda66dd0a871a"}}], "version": "9.2.11", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "c987857809faf03056aa6d67b18891ce", "kind": "equivalent", "version": "9.4.2", "label": "9.4.2", "title": "在pg_upgrade中，强制新集簇使用时间线 1", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "cbc1aa2d5d4c053c61455d419604f84ff0d39042453f2f23317cda66dd0a871a"}, "url": "/docs/compare/?release=9.4.2#9.4.2-85a36f5791bb8c13", "source_url": "/docs/release/9.4.2/#id-1.11.6.29.5"}, {"db_id": "264e70366e463566e591358479b0662e", "kind": "equivalent", "version": "9.3.7", "label": "9.3.7", "title": "在pg_upgrade中，强制新集簇使用时间线 1", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "cbc1aa2d5d4c053c61455d419604f84ff0d39042453f2f23317cda66dd0a871a"}, "url": "/docs/compare/?release=9.3.7#9.3.7-85a36f5791bb8c13", "source_url": "/docs/release/9.3.7/#id-1.11.6.23.5"}, {"db_id": "f0ae4f13ab1ab379b88d9739e247631f", "kind": "equivalent", "version": "9.1.16", "label": "9.1.16", "title": "在pg_upgrade中，强制新集簇使用时间线 1", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "cbc1aa2d5d4c053c61455d419604f84ff0d39042453f2f23317cda66dd0a871a"}, "url": "/docs/compare/?release=9.1.16#9.1.16-85a36f5791bb8c13", "source_url": "/docs/release/9.1.16/#id-1.11.6.13.5"}, {"db_id": "32add2a745591c8459a411546ba2e115", "kind": "equivalent", "version": "9.0.20", "label": "9.0.20", "title": "在pg_upgrade中，强制新集簇使用时间线 1", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "cbc1aa2d5d4c053c61455d419604f84ff0d39042453f2f23317cda66dd0a871a"}, "url": "/docs/compare/?release=9.0.20#9.0.20-85a36f5791bb8c13", "source_url": "/docs/release/9.0.20/#id-1.11.6.8.6"}]}, {"id": "9.2.11-0eddc16ada22ddc4", "cves": [], "html": "<p>      在<span>pg_upgrade</span>中，继续之前先检查是否存在不当不可连接的数据库（Bruce Momjian）\n     </p>", "text": "在pg_upgrade中，继续之前先检查是否存在不当不可连接的数据库（Bruce Momjian）", "title": "在pg_upgrade中，继续之前先检查是否存在不当不可连接的数据库", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.2.11/#id-1.11.6.18.5", "source_hash": "d7856a21ad94a5a61adc50a5d720c1f88e15c8872b35dbd485cd3dac70ff484b", "section_path": ["变更"], "commit_groups": [], "identity_text": "In pg_upgrade, check for improperly non-connectable databases before proceeding (Bruce Momjian)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.2.11/changes/037", "db_id": "86fc86cc859f76fb4d06c2c326a0e37b", "patch_ids": [], "statement_hash": "9c441f7d317feeeb5d1d4216d0d65330c089bce47819fee5b9cfeab4f6dc879d", "relations": [{"rule": 2, "type": "equivalent", "target": "68233c9d057b5735545722ba667a7b56", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "9c441f7d317feeeb5d1d4216d0d65330c089bce47819fee5b9cfeab4f6dc879d"}}, {"rule": 2, "type": "equivalent", "target": "77a7fb9e2de57a40c3f80d37778ef12e", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "9c441f7d317feeeb5d1d4216d0d65330c089bce47819fee5b9cfeab4f6dc879d"}}, {"rule": 2, "type": "equivalent", "target": "a073ace5a59bd86a378804b08cae5862", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "9c441f7d317feeeb5d1d4216d0d65330c089bce47819fee5b9cfeab4f6dc879d"}}, {"rule": 2, "type": "equivalent", "target": "f5b8584278763862dc6a8e1da5d17312", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "9c441f7d317feeeb5d1d4216d0d65330c089bce47819fee5b9cfeab4f6dc879d"}}], "version": "9.2.11", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "a073ace5a59bd86a378804b08cae5862", "kind": "equivalent", "version": "9.4.2", "label": "9.4.2", "title": "在 pg_upgrade 中，继续之前检查是否存在不可正常连接的数据库", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "9c441f7d317feeeb5d1d4216d0d65330c089bce47819fee5b9cfeab4f6dc879d"}, "url": "/docs/compare/?release=9.4.2#9.4.2-18f7887a04608191", "source_url": "/docs/release/9.4.2/#id-1.11.6.29.5"}, {"db_id": "f5b8584278763862dc6a8e1da5d17312", "kind": "equivalent", "version": "9.3.7", "label": "9.3.7", "title": "在pg_upgrade中，继续之前先检查是否存在不当不可连接的数据库", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "9c441f7d317feeeb5d1d4216d0d65330c089bce47819fee5b9cfeab4f6dc879d"}, "url": "/docs/compare/?release=9.3.7#9.3.7-0eddc16ada22ddc4", "source_url": "/docs/release/9.3.7/#id-1.11.6.23.5"}, {"db_id": "77a7fb9e2de57a40c3f80d37778ef12e", "kind": "equivalent", "version": "9.1.16", "label": "9.1.16", "title": "在pg_upgrade中，继续之前先检查是否存在不当不可连接的数据库", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "9c441f7d317feeeb5d1d4216d0d65330c089bce47819fee5b9cfeab4f6dc879d"}, "url": "/docs/compare/?release=9.1.16#9.1.16-0eddc16ada22ddc4", "source_url": "/docs/release/9.1.16/#id-1.11.6.13.5"}, {"db_id": "68233c9d057b5735545722ba667a7b56", "kind": "equivalent", "version": "9.0.20", "label": "9.0.20", "title": "在pg_upgrade中，继续之前先检查是否存在不当不可连接的数据库", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "9c441f7d317feeeb5d1d4216d0d65330c089bce47819fee5b9cfeab4f6dc879d"}, "url": "/docs/compare/?release=9.0.20#9.0.20-0eddc16ada22ddc4", "source_url": "/docs/release/9.0.20/#id-1.11.6.8.6"}]}, {"id": "9.2.11-c019bc62e67c9b11", "cves": [], "html": "<p>      在<span>pg_upgrade</span>中，在生成的<code>delete_old_cluster</code>脚本中对目录路径正确加引号（Bruce Momjian）\n     </p>", "text": "在pg_upgrade中，在生成的delete_old_cluster脚本中对目录路径正确加引号（Bruce Momjian）", "title": "在pg_upgrade中，在生成的delete_old_cluster脚本中对目录路径正确加引号", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.2.11/#id-1.11.6.18.5", "source_hash": "c3796d7bc41a9621c2db8f0e0d5a08f0c813c643aa276e5505ff97c9dd46d5fa", "section_path": ["变更"], "commit_groups": [], "identity_text": "In pg_upgrade, quote directory paths properly in the generated delete_old_cluster script (Bruce Momjian)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.2.11/changes/038", "db_id": "423a6dfd053d57308644d32c12d347b1", "patch_ids": [], "statement_hash": "f8912eb64c7011065c2063368a5bb8f5367d03e89b61d581686ed76e8b01c845", "relations": [{"rule": 2, "type": "equivalent", "target": "16467afcb13ce31ba8cf25d6e2530023", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "f8912eb64c7011065c2063368a5bb8f5367d03e89b61d581686ed76e8b01c845"}}, {"rule": 2, "type": "equivalent", "target": "3ae2ddd23ebc636e0f8bde95932fbbc7", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "f8912eb64c7011065c2063368a5bb8f5367d03e89b61d581686ed76e8b01c845"}}, {"rule": 2, "type": "equivalent", "target": "471a3f4462d18ff899f9ba42e8b02f39", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "f8912eb64c7011065c2063368a5bb8f5367d03e89b61d581686ed76e8b01c845"}}, {"rule": 2, "type": "equivalent", "target": "def1df828e57b17a3ba49adf79b6033b", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "f8912eb64c7011065c2063368a5bb8f5367d03e89b61d581686ed76e8b01c845"}}], "version": "9.2.11", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "def1df828e57b17a3ba49adf79b6033b", "kind": "equivalent", "version": "9.4.2", "label": "9.4.2", "title": "在 pg_upgrade 中，在生成的 delete_old_cluster 脚本中正确引用目录路径", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "f8912eb64c7011065c2063368a5bb8f5367d03e89b61d581686ed76e8b01c845"}, "url": "/docs/compare/?release=9.4.2#9.4.2-748f589a42626cc9", "source_url": "/docs/release/9.4.2/#id-1.11.6.29.5"}, {"db_id": "3ae2ddd23ebc636e0f8bde95932fbbc7", "kind": "equivalent", "version": "9.3.7", "label": "9.3.7", "title": "在pg_upgrade中，在生成的delete_old_cluster脚本中对目录路径正确加引号", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "f8912eb64c7011065c2063368a5bb8f5367d03e89b61d581686ed76e8b01c845"}, "url": "/docs/compare/?release=9.3.7#9.3.7-c019bc62e67c9b11", "source_url": "/docs/release/9.3.7/#id-1.11.6.23.5"}, {"db_id": "471a3f4462d18ff899f9ba42e8b02f39", "kind": "equivalent", "version": "9.1.16", "label": "9.1.16", "title": "在pg_upgrade中，在生成的delete_old_cluster脚本中对目录路径正确加引号", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "f8912eb64c7011065c2063368a5bb8f5367d03e89b61d581686ed76e8b01c845"}, "url": "/docs/compare/?release=9.1.16#9.1.16-c019bc62e67c9b11", "source_url": "/docs/release/9.1.16/#id-1.11.6.13.5"}, {"db_id": "16467afcb13ce31ba8cf25d6e2530023", "kind": "equivalent", "version": "9.0.20", "label": "9.0.20", "title": "在pg_upgrade中，在生成的delete_old_cluster脚本中对目录路径正确加引号", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "f8912eb64c7011065c2063368a5bb8f5367d03e89b61d581686ed76e8b01c845"}, "url": "/docs/compare/?release=9.0.20#9.0.20-c019bc62e67c9b11", "source_url": "/docs/release/9.0.20/#id-1.11.6.8.6"}]}, {"id": "9.2.11-46b29efe37a5a32c", "cves": [], "html": "<p>     在<span>pg_upgrade</span>中正确保留数据库级冻结信息（Bruce Momjian）\n    </p><p>      这一疏忽可能导致<code>postgres</code>和<code>template1</code>数据库中的表出现缺少 clog 文件的错误。\n     </p>", "text": "在pg_upgrade中正确保留数据库级冻结信息（Bruce Momjian） 这一疏忽可能导致postgres和template1数据库中的表出现缺少 clog 文件的错误。", "title": "在pg_upgrade中正确保留数据库级冻结信息", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.2.11/#id-1.11.6.18.5", "source_hash": "435063410ce7d672b4720a96384e2554972619b8a7761e3a8d8414c26414f627", "section_path": ["变更"], "commit_groups": [], "identity_text": "In pg_upgrade, preserve database-level freezing info properly (Bruce Momjian) This oversight could cause missing-clog-file errors for tables within the postgres and template1 databases.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.2.11/changes/039", "db_id": "af437421bc4312f8319d13bef3c5a337", "patch_ids": [], "statement_hash": "75dd48b07dbe6fbedfac804a5a9307403f267f063a9b0088180044ec3c0da8fd", "relations": [{"rule": 2, "type": "equivalent", "target": "176a00afcee6210be72b7c408f3b71ac", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "75dd48b07dbe6fbedfac804a5a9307403f267f063a9b0088180044ec3c0da8fd"}}, {"rule": 2, "type": "equivalent", "target": "270287647c524d3508e29e8b3f14f0e4", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "75dd48b07dbe6fbedfac804a5a9307403f267f063a9b0088180044ec3c0da8fd"}}, {"rule": 2, "type": "equivalent", "target": "43d98539b4680389246cf32f7b86160a", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "75dd48b07dbe6fbedfac804a5a9307403f267f063a9b0088180044ec3c0da8fd"}}, {"rule": 2, "type": "equivalent", "target": "8d85de9533530cab682b95682f20a29a", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "75dd48b07dbe6fbedfac804a5a9307403f267f063a9b0088180044ec3c0da8fd"}}], "version": "9.2.11", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "270287647c524d3508e29e8b3f14f0e4", "kind": "equivalent", "version": "9.4.2", "label": "9.4.2", "title": "在pg_upgrade中正确保留数据库级冻结信息", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "75dd48b07dbe6fbedfac804a5a9307403f267f063a9b0088180044ec3c0da8fd"}, "url": "/docs/compare/?release=9.4.2#9.4.2-46b29efe37a5a32c", "source_url": "/docs/release/9.4.2/#id-1.11.6.29.5"}, {"db_id": "43d98539b4680389246cf32f7b86160a", "kind": "equivalent", "version": "9.3.7", "label": "9.3.7", "title": "在pg_upgrade中正确保留数据库级冻结信息", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "75dd48b07dbe6fbedfac804a5a9307403f267f063a9b0088180044ec3c0da8fd"}, "url": "/docs/compare/?release=9.3.7#9.3.7-46b29efe37a5a32c", "source_url": "/docs/release/9.3.7/#id-1.11.6.23.5"}, {"db_id": "176a00afcee6210be72b7c408f3b71ac", "kind": "equivalent", "version": "9.1.16", "label": "9.1.16", "title": "在pg_upgrade中正确保留数据库级冻结信息", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "75dd48b07dbe6fbedfac804a5a9307403f267f063a9b0088180044ec3c0da8fd"}, "url": "/docs/compare/?release=9.1.16#9.1.16-46b29efe37a5a32c", "source_url": "/docs/release/9.1.16/#id-1.11.6.13.5"}, {"db_id": "8d85de9533530cab682b95682f20a29a", "kind": "equivalent", "version": "9.0.20", "label": "9.0.20", "title": "在pg_upgrade中正确保留数据库级冻结信息", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "75dd48b07dbe6fbedfac804a5a9307403f267f063a9b0088180044ec3c0da8fd"}, "url": "/docs/compare/?release=9.0.20#9.0.20-46b29efe37a5a32c", "source_url": "/docs/release/9.0.20/#id-1.11.6.8.6"}]}, {"id": "9.2.11-baa1aa72925fc091", "cves": [], "html": "<p>      在 Windows 上以受限权限运行<span>pg_upgrade</span>和<span>pg_resetxlog</span>，使它们在由管理员运行时不会失败（Muhammad Asif Naeem）\n     </p>", "text": "在 Windows 上以受限权限运行pg_upgrade和pg_resetxlog，使它们在由管理员运行时不会失败（Muhammad Asif Naeem）", "title": "在 Windows 上以受限权限运行pg_upgrade和pg_resetxlog，使它们在由管理员运行时不会失败", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.2.11/#id-1.11.6.18.5", "source_hash": "5977a57458436342dd3687aff45c397db01df8db163dd369480a036e26e345b8", "section_path": ["变更"], "commit_groups": [], "identity_text": "Run pg_upgrade and pg_resetxlog with restricted privileges on Windows, so that they don't fail when run by an administrator (Muhammad Asif Naeem)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.2.11/changes/040", "db_id": "d207956864a3b3471462c3e92f808f52", "patch_ids": [], "statement_hash": "218fb66da766fe6b77120d0a6e11ec94904f1e88ce9b6d9ed84084e7a378ee17", "relations": [{"rule": 2, "type": "equivalent", "target": "4e16455126bb16c3ed6c614052916905", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "218fb66da766fe6b77120d0a6e11ec94904f1e88ce9b6d9ed84084e7a378ee17"}}, {"rule": 2, "type": "equivalent", "target": "5a5425367afbc98edcb0ee897d3d7efa", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "218fb66da766fe6b77120d0a6e11ec94904f1e88ce9b6d9ed84084e7a378ee17"}}, {"rule": 2, "type": "equivalent", "target": "906d84c770cda4fc43a0034b7e197e1e", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "218fb66da766fe6b77120d0a6e11ec94904f1e88ce9b6d9ed84084e7a378ee17"}}, {"rule": 2, "type": "equivalent", "target": "9d04c1a220d59b87d7f3fcf2300022f2", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "218fb66da766fe6b77120d0a6e11ec94904f1e88ce9b6d9ed84084e7a378ee17"}}], "version": "9.2.11", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "9d04c1a220d59b87d7f3fcf2300022f2", "kind": "equivalent", "version": "9.4.2", "label": "9.4.2", "title": "在 Windows 上以受限权限运行 pg_upgrade 和 pg_resetxlog，使它们被管理员运行时不会失败", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "218fb66da766fe6b77120d0a6e11ec94904f1e88ce9b6d9ed84084e7a378ee17"}, "url": "/docs/compare/?release=9.4.2#9.4.2-0e30634e13e1a711", "source_url": "/docs/release/9.4.2/#id-1.11.6.29.5"}, {"db_id": "906d84c770cda4fc43a0034b7e197e1e", "kind": "equivalent", "version": "9.3.7", "label": "9.3.7", "title": "在 Windows 上以受限权限运行pg_upgrade和pg_resetxlog，使它们在由管理员运行时不会失败", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "218fb66da766fe6b77120d0a6e11ec94904f1e88ce9b6d9ed84084e7a378ee17"}, "url": "/docs/compare/?release=9.3.7#9.3.7-baa1aa72925fc091", "source_url": "/docs/release/9.3.7/#id-1.11.6.23.5"}, {"db_id": "4e16455126bb16c3ed6c614052916905", "kind": "equivalent", "version": "9.1.16", "label": "9.1.16", "title": "在 Windows 上以受限权限运行pg_upgrade和pg_resetxlog，使它们在由管理员运行时不会失败", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "218fb66da766fe6b77120d0a6e11ec94904f1e88ce9b6d9ed84084e7a378ee17"}, "url": "/docs/compare/?release=9.1.16#9.1.16-baa1aa72925fc091", "source_url": "/docs/release/9.1.16/#id-1.11.6.13.5"}, {"db_id": "5a5425367afbc98edcb0ee897d3d7efa", "kind": "equivalent", "version": "9.0.20", "label": "9.0.20", "title": "在 Windows 上以受限权限运行pg_upgrade和pg_resetxlog，使它们在由管理员运行时不会失败", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "218fb66da766fe6b77120d0a6e11ec94904f1e88ce9b6d9ed84084e7a378ee17"}, "url": "/docs/compare/?release=9.0.20#9.0.20-baa1aa72925fc091", "source_url": "/docs/release/9.0.20/#id-1.11.6.8.6"}]}, {"id": "9.2.11-964ad16233ca26e3", "cves": [], "html": "<p>      改进<span>initdb</span>和<span>pg_basebackup</span>扫描目录时对<code>readdir()</code>失败的处理（Marco Nenciarini）\n     </p>", "text": "改进initdb和pg_basebackup扫描目录时对readdir()失败的处理（Marco Nenciarini）", "title": "改进initdb和pg_basebackup扫描目录时对readdir()失败的处理", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.2.11/#id-1.11.6.18.5", "source_hash": "bb2f3d13f94219b457a2cc123d05742e650d5caf03153e72fc1d68eef8148537", "section_path": ["变更"], "commit_groups": [], "identity_text": "Improve handling of readdir() failures when scanning directories in initdb and pg_basebackup (Marco Nenciarini)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.2.11/changes/041", "db_id": "097d5af9737c244bad503a682f585850", "patch_ids": [], "statement_hash": "3c6bd78cde05c6137403b2e0e1b7b4e25a644c9859c310308bf0d4f754d48071", "relations": [{"rule": 2, "type": "equivalent", "target": "05772fd16bbdf06b6afabf46d9119ade", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "3c6bd78cde05c6137403b2e0e1b7b4e25a644c9859c310308bf0d4f754d48071"}}, {"rule": 2, "type": "equivalent", "target": "3002e7bb7c63e5bad0270f2496377536", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "3c6bd78cde05c6137403b2e0e1b7b4e25a644c9859c310308bf0d4f754d48071"}}, {"rule": 2, "type": "equivalent", "target": "45e59a64fd13072c65338c452ee9633d", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "3c6bd78cde05c6137403b2e0e1b7b4e25a644c9859c310308bf0d4f754d48071"}}], "version": "9.2.11", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "3002e7bb7c63e5bad0270f2496377536", "kind": "equivalent", "version": "9.4.2", "label": "9.4.2", "title": "改进 initdb 和 pg_basebackup 扫描目录时对 readdir() 失败的处理", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "3c6bd78cde05c6137403b2e0e1b7b4e25a644c9859c310308bf0d4f754d48071"}, "url": "/docs/compare/?release=9.4.2#9.4.2-737a00ab72bfa610", "source_url": "/docs/release/9.4.2/#id-1.11.6.29.5"}, {"db_id": "45e59a64fd13072c65338c452ee9633d", "kind": "equivalent", "version": "9.3.7", "label": "9.3.7", "title": "改进initdb和pg_basebackup扫描目录时对readdir()失败的处理", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "3c6bd78cde05c6137403b2e0e1b7b4e25a644c9859c310308bf0d4f754d48071"}, "url": "/docs/compare/?release=9.3.7#9.3.7-964ad16233ca26e3", "source_url": "/docs/release/9.3.7/#id-1.11.6.23.5"}, {"db_id": "05772fd16bbdf06b6afabf46d9119ade", "kind": "equivalent", "version": "9.1.16", "label": "9.1.16", "title": "改进initdb和pg_basebackup扫描目录时对readdir()失败的处理", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "3c6bd78cde05c6137403b2e0e1b7b4e25a644c9859c310308bf0d4f754d48071"}, "url": "/docs/compare/?release=9.1.16#9.1.16-964ad16233ca26e3", "source_url": "/docs/release/9.1.16/#id-1.11.6.13.5"}]}, {"id": "9.2.11-1b95f62380461f1b", "cves": [], "html": "<p>      修复 <span>pg_receivexlog</span> 中的失败（Andres Freund）\n     </p><p>      9.2.10 中的一个补丁合并失误导致了<span>“<span>could not create archive status file</span>”</span>错误。\n     </p>", "text": "修复 pg_receivexlog 中的失败（Andres Freund） 9.2.10 中的一个补丁合并失误导致了“could not create archive status file”错误。", "title": "修复 pg_receivexlog 中的失败", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.2.11/#id-1.11.6.18.5", "source_hash": "f35c74ca7ac1fc36db8eac000f119c74e69445afd1985c93508ec447d21b69c3", "section_path": ["变更"], "commit_groups": [["6b700301c"]], "identity_text": "Fix failure in pg_receivexlog (Andres Freund) A patch merge mistake in 9.2.10 led to could not create archive status file errors.", "commit_aliases": ["6b700301c"], "source_commits": ["6b700301c"], "source_entry_id": "9.2.11/changes/042", "db_id": "da9a62d6ab13a54cf60cd9c7b89dbda5", "patch_ids": ["06253c45d299457ae110349707ccf031"], "statement_hash": "a0128cd4de7c91ef6fa6382d9b27089bad3666aa1d47e6a9bcbeaf17335f75d5", "relations": [], "version": "9.2.11", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.2.11-84a59f93e121843c", "cves": [], "html": "<p>      修复<code>contrib/intarray</code>中缓慢的排序算法（Tom Lane）\n     </p>", "text": "修复contrib/intarray中缓慢的排序算法（Tom Lane）", "title": "修复contrib/intarray中缓慢的排序算法", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.2.11/#id-1.11.6.18.5", "source_hash": "5fd6eeafed34c93cfb1ca60d1ddbf6f65ab71284c08d0111bd72125ebd1dd864", "section_path": ["变更"], "commit_groups": [], "identity_text": "Fix slow sorting algorithm in contrib/intarray (Tom Lane)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.2.11/changes/043", "db_id": "4376a2b0acf1a1e4703192ba949eb3f4", "patch_ids": [], "statement_hash": "6eed0c0dcde4b752c6b4d46b14e70e645fe8e7d097220244f509ffc50509399f", "relations": [{"rule": 2, "type": "equivalent", "target": "45a74e7e9dcd440b365eeaba283c4884", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "6eed0c0dcde4b752c6b4d46b14e70e645fe8e7d097220244f509ffc50509399f"}}, {"rule": 2, "type": "equivalent", "target": "46a207039ebfc20468ca3465d3fe1b1a", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "6eed0c0dcde4b752c6b4d46b14e70e645fe8e7d097220244f509ffc50509399f"}}, {"rule": 2, "type": "equivalent", "target": "d9f46d752b016f506e7ad54fe58281ed", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "6eed0c0dcde4b752c6b4d46b14e70e645fe8e7d097220244f509ffc50509399f"}}, {"rule": 2, "type": "equivalent", "target": "f0dab024f4747558c6df4643a77769d7", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "6eed0c0dcde4b752c6b4d46b14e70e645fe8e7d097220244f509ffc50509399f"}}], "version": "9.2.11", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "45a74e7e9dcd440b365eeaba283c4884", "kind": "equivalent", "version": "9.4.2", "label": "9.4.2", "title": "修复 contrib/intarray 中缓慢的排序算法", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "6eed0c0dcde4b752c6b4d46b14e70e645fe8e7d097220244f509ffc50509399f"}, "url": "/docs/compare/?release=9.4.2#9.4.2-a2b5602bf1b4f1b7", "source_url": "/docs/release/9.4.2/#id-1.11.6.29.5"}, {"db_id": "46a207039ebfc20468ca3465d3fe1b1a", "kind": "equivalent", "version": "9.3.7", "label": "9.3.7", "title": "修复contrib/intarray中缓慢的排序算法", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "6eed0c0dcde4b752c6b4d46b14e70e645fe8e7d097220244f509ffc50509399f"}, "url": "/docs/compare/?release=9.3.7#9.3.7-84a59f93e121843c", "source_url": "/docs/release/9.3.7/#id-1.11.6.23.5"}, {"db_id": "d9f46d752b016f506e7ad54fe58281ed", "kind": "equivalent", "version": "9.1.16", "label": "9.1.16", "title": "修复contrib/intarray中缓慢的排序算法", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "6eed0c0dcde4b752c6b4d46b14e70e645fe8e7d097220244f509ffc50509399f"}, "url": "/docs/compare/?release=9.1.16#9.1.16-84a59f93e121843c", "source_url": "/docs/release/9.1.16/#id-1.11.6.13.5"}, {"db_id": "f0dab024f4747558c6df4643a77769d7", "kind": "equivalent", "version": "9.0.20", "label": "9.0.20", "title": "修复contrib/intarray中缓慢的排序算法", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "6eed0c0dcde4b752c6b4d46b14e70e645fe8e7d097220244f509ffc50509399f"}, "url": "/docs/compare/?release=9.0.20#9.0.20-84a59f93e121843c", "source_url": "/docs/release/9.0.20/#id-1.11.6.8.6"}]}, {"id": "9.2.11-26f630e691422e4b", "cves": [], "html": "<p>      修复 Sparc V8 机器上的编译失败（Rob Rowan）\n     </p>", "text": "修复 Sparc V8 机器上的编译失败（Rob Rowan）", "title": "修复 Sparc V8 机器上的编译失败", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.2.11/#id-1.11.6.18.5", "source_hash": "e001d55da46459c8309387a3cef5b4ea5a7a3980d8e6d0d5aa685379994a9977", "section_path": ["变更"], "commit_groups": [], "identity_text": "Fix compile failure on Sparc V8 machines (Rob Rowan)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.2.11/changes/044", "db_id": "ac883f4f044813e2f88aa14897570ffc", "patch_ids": [], "statement_hash": "0da98d5b5415f8b3f624ec4f8ce60d22e1ed704973096ce59f21770c20605bc8", "relations": [{"rule": 2, "type": "equivalent", "target": "37a0fe5b1907093e80b812d12473dd21", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0da98d5b5415f8b3f624ec4f8ce60d22e1ed704973096ce59f21770c20605bc8"}}, {"rule": 2, "type": "equivalent", "target": "6c4854aeb8bbf5df9944f49e02298861", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0da98d5b5415f8b3f624ec4f8ce60d22e1ed704973096ce59f21770c20605bc8"}}, {"rule": 2, "type": "equivalent", "target": "7c782e8ba80584ae96536cd90c57e2b4", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0da98d5b5415f8b3f624ec4f8ce60d22e1ed704973096ce59f21770c20605bc8"}}, {"rule": 2, "type": "equivalent", "target": "fe5a58217a305e52ae92597bca54b5d1", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0da98d5b5415f8b3f624ec4f8ce60d22e1ed704973096ce59f21770c20605bc8"}}], "version": "9.2.11", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "7c782e8ba80584ae96536cd90c57e2b4", "kind": "equivalent", "version": "9.4.2", "label": "9.4.2", "title": "修复 Sparc V8 机器上的编译失败", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0da98d5b5415f8b3f624ec4f8ce60d22e1ed704973096ce59f21770c20605bc8"}, "url": "/docs/compare/?release=9.4.2#9.4.2-26f630e691422e4b", "source_url": "/docs/release/9.4.2/#id-1.11.6.29.5"}, {"db_id": "fe5a58217a305e52ae92597bca54b5d1", "kind": "equivalent", "version": "9.3.7", "label": "9.3.7", "title": "修复 Sparc V8 机器上的编译失败", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0da98d5b5415f8b3f624ec4f8ce60d22e1ed704973096ce59f21770c20605bc8"}, "url": "/docs/compare/?release=9.3.7#9.3.7-26f630e691422e4b", "source_url": "/docs/release/9.3.7/#id-1.11.6.23.5"}, {"db_id": "6c4854aeb8bbf5df9944f49e02298861", "kind": "equivalent", "version": "9.1.16", "label": "9.1.16", "title": "修复 Sparc V8 机器上的编译失败", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0da98d5b5415f8b3f624ec4f8ce60d22e1ed704973096ce59f21770c20605bc8"}, "url": "/docs/compare/?release=9.1.16#9.1.16-26f630e691422e4b", "source_url": "/docs/release/9.1.16/#id-1.11.6.13.5"}, {"db_id": "37a0fe5b1907093e80b812d12473dd21", "kind": "equivalent", "version": "9.0.20", "label": "9.0.20", "title": "修复 Sparc V8 机器上的编译失败", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0da98d5b5415f8b3f624ec4f8ce60d22e1ed704973096ce59f21770c20605bc8"}, "url": "/docs/compare/?release=9.0.20#9.0.20-26f630e691422e4b", "source_url": "/docs/release/9.0.20/#id-1.11.6.8.6"}]}, {"id": "9.2.11-25ab2870eecab69e", "cves": [], "html": "<p>      将时区数据文件更新到<span>tzdata</span>发行版 2015d，以反映埃及、蒙古和巴勒斯坦的夏令时法规变更，以及加拿大和智利的历史变更。同时采用 America/Adak 时区修订后的时区缩写（HST/HDT 而非 HAST/HADT）。\n     </p>", "text": "将时区数据文件更新到tzdata发行版 2015d，以反映埃及、蒙古和巴勒斯坦的夏令时法规变更，以及加拿大和智利的历史变更。同时采用 America/Adak 时区修订后的时区缩写（HST/HDT 而非 HAST/HADT）。", "title": "将时区数据文件更新到tzdata发行版 2015d，以反映埃及、蒙古和巴勒斯坦的夏令时法规变更，以及加拿大和智利的历史变更。同时采用 America/Adak 时区修订后的时区缩写（HST/HDT 而非 HAST/HADT）。", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.2.11/#id-1.11.6.18.5", "source_hash": "55c795f0e02da929e3c0676d41cae4d0ffe7a4ea59408185bc24688132cd342c", "section_path": ["变更"], "commit_groups": [], "identity_text": "Update time zone data files to tzdata release 2015d for DST law changes in Egypt, Mongolia, and Palestine, plus historical changes in Canada and Chile. Also adopt revised zone abbreviations for the America/Adak zone (HST/HDT not HAST/HADT).", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.2.11/changes/045", "db_id": "3afcee3546435d442f498388deeeee2e", "patch_ids": [], "statement_hash": "36c53b9eaf81fc6f1b94a1473114ce519c2a5d5775e361d6daab8e899b89de29", "relations": [{"rule": 2, "type": "equivalent", "target": "51a3e2c04f3d93fe1ea5593e70b08250", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "36c53b9eaf81fc6f1b94a1473114ce519c2a5d5775e361d6daab8e899b89de29"}}, {"rule": 2, "type": "equivalent", "target": "7d888050235ee7d60909cf8a6b02ff1c", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "36c53b9eaf81fc6f1b94a1473114ce519c2a5d5775e361d6daab8e899b89de29"}}, {"rule": 2, "type": "equivalent", "target": "998c30b7419eca8d2d44aadb815835ed", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "36c53b9eaf81fc6f1b94a1473114ce519c2a5d5775e361d6daab8e899b89de29"}}, {"rule": 2, "type": "equivalent", "target": "cdc52c1500bb531545df3ea10fabff01", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "36c53b9eaf81fc6f1b94a1473114ce519c2a5d5775e361d6daab8e899b89de29"}}], "version": "9.2.11", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "7d888050235ee7d60909cf8a6b02ff1c", "kind": "equivalent", "version": "9.4.2", "label": "9.4.2", "title": "将时区数据文件更新到 tzdata 发行版 2015d，涵盖埃及、蒙古和巴勒斯坦的夏令时法规变更，以及加拿大和智利的历史变更。同时为 America/Adak 时区采用修订后的时区缩写（HST/HDT 而非 HAST/HADT）。", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "36c53b9eaf81fc6f1b94a1473114ce519c2a5d5775e361d6daab8e899b89de29"}, "url": "/docs/compare/?release=9.4.2#9.4.2-55f2895bcfcf37a2", "source_url": "/docs/release/9.4.2/#id-1.11.6.29.5"}, {"db_id": "cdc52c1500bb531545df3ea10fabff01", "kind": "equivalent", "version": "9.3.7", "label": "9.3.7", "title": "将时区数据文件更新到tzdata发行版 2015d，以反映埃及、蒙古和巴勒斯坦的夏令时法规变更，以及加拿大和智利的历史变更。同时采用 America/Adak 时区修订后的时区缩写（HST/HDT 而非 HAST/HADT）。", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "36c53b9eaf81fc6f1b94a1473114ce519c2a5d5775e361d6daab8e899b89de29"}, "url": "/docs/compare/?release=9.3.7#9.3.7-25ab2870eecab69e", "source_url": "/docs/release/9.3.7/#id-1.11.6.23.5"}, {"db_id": "51a3e2c04f3d93fe1ea5593e70b08250", "kind": "equivalent", "version": "9.1.16", "label": "9.1.16", "title": "将时区数据文件更新到tzdata发行版 2015d，以反映埃及、蒙古和巴勒斯坦的夏令时法规变更，以及加拿大和智利的历史变更。同时采用 America/Adak 时区修订后的时区缩写（HST/HDT 而非 HAST/HADT）。", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "36c53b9eaf81fc6f1b94a1473114ce519c2a5d5775e361d6daab8e899b89de29"}, "url": "/docs/compare/?release=9.1.16#9.1.16-25ab2870eecab69e", "source_url": "/docs/release/9.1.16/#id-1.11.6.13.5"}, {"db_id": "998c30b7419eca8d2d44aadb815835ed", "kind": "equivalent", "version": "9.0.20", "label": "9.0.20", "title": "将时区数据文件更新到tzdata发行版 2015d，以反映埃及、蒙古和巴勒斯坦的夏令时法规变更，以及加拿大和智利的历史变更。同时采用 America/Adak 时区修订后的时区缩写（HST/HDT 而非 HAST/HADT）。", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "36c53b9eaf81fc6f1b94a1473114ce519c2a5d5775e361d6daab8e899b89de29"}, "url": "/docs/compare/?release=9.0.20#9.0.20-25ab2870eecab69e", "source_url": "/docs/release/9.0.20/#id-1.11.6.8.6"}]}]}], "stats": [{"key": "all", "label": "全部变更", "count": 45}, {"key": "feature", "label": "新功能", "count": 0}, {"key": "bugfix", "label": "BUG 修复", "count": 19}, {"key": "security", "label": "安全相关", "count": 3}, {"key": "performance", "label": "性能改进", "count": 0}, {"key": "compatibility", "label": "兼容性变化", "count": 0}, {"key": "improvement", "label": "其他改进", "count": 23}], "total": 45, "release_count": 1, "cross_major": false, "cve_count": 3, "cves": [{"id": "CVE-2015-3165", "url": "https://www.postgresql.org/support/security/CVE-2015-3165/", "fixed": {"9.0": "9.0.20", "9.1": "9.1.16", "9.2": "9.2.11", "9.3": "9.3.7", "9.4": "9.4.2"}, "score": 7.5, "title": "避免客户端恰在认证超时到期前断开时可能出现的崩溃", "vector": "AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H", "affected": {"9.0": "9.0", "9.1": "9.1", "9.2": "9.2", "9.3": "9.3", "9.4": "9.4"}, "component": "core server", "published": {"9.0": "2015-05-22", "9.1": "2015-05-22", "9.2": "2015-05-22", "9.3": "2015-05-22", "9.4": "2015-05-22"}, "introduced": {}, "cvss_version": "3.0", "description_en": "", "first_published": "2015-05-22", "fixed_version": "9.2.11"}, {"id": "CVE-2015-3166", "url": "https://www.postgresql.org/support/security/CVE-2015-3166/", "fixed": {"9.0": "9.0.20", "9.1": "9.1.16", "9.2": "9.2.11", "9.3": "9.3.7", "9.4": "9.4.2"}, "score": 5.6, "title": "改进对系统调用失败的检测", "vector": "AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:L", "affected": {"9.0": "9.0", "9.1": "9.1", "9.2": "9.2", "9.3": "9.3", "9.4": "9.4"}, "component": "core server", "published": {"9.0": "2015-05-22", "9.1": "2015-05-22", "9.2": "2015-05-22", "9.3": "2015-05-22", "9.4": "2015-05-22"}, "introduced": {}, "cvss_version": "3.0", "description_en": "", "first_published": "2015-05-22", "fixed_version": "9.2.11"}, {"id": "CVE-2015-3167", "url": "https://www.postgresql.org/support/security/CVE-2015-3167/", "fixed": {"9.0": "9.0.20", "9.1": "9.1.16", "9.2": "9.2.11", "9.3": "9.3.7", "9.4": "9.4.2"}, "score": 3.7, "title": "在contrib/pgcrypto中，统一将解密失败报告为“Wrong key or corrupt data”", "vector": "AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N", "affected": {"9.0": "9.0", "9.1": "9.1", "9.2": "9.2", "9.3": "9.3", "9.4": "9.4"}, "component": "contrib module", "published": {"9.0": "2015-05-22", "9.1": "2015-05-22", "9.2": "2015-05-22", "9.3": "2015-05-22", "9.4": "2015-05-22"}, "introduced": {}, "cvss_version": "3.0", "description_en": "", "first_published": "2015-05-22", "fixed_version": "9.2.11"}], "cve_available": true, "remaining_cves": [], "security_regressions": [], "warnings": [], "candidate_count": 45, "already_in_source_count": 0, "duplicate_count": 0, "excluded_count": 0, "exclusions": [], "source_as_of": "2026-09-26", "security_as_of": "2026-09-26"}