{"format": 1, "mode": "release", "from_release": null, "to_release": {"date": "2016-02-11", "build": "9.4.6", "major": "9.4", "minor": 6, "manual": "9.4", "status": "stable", "doc_git": "", "version": "9.4.6", "eol_date": "2020-02-13", "date_text": "2016-02-11", "supported": false, "manual_url": "/docs/9.4/release-9-4-6.html", "source_url": "/docs/release/9.4.6/", "entry_count": 59, "placeholder": false, "content_hash": "700fa4331872de7e49e0531a168cff71b701e378cb47e2a9e4a8438bc36d6967", "manual_build": "9.4.26", "source_as_of": "", "changes_count": 59, "doc_loaded_at": "2026-09-26T02:56:45.438944", "migration_html": "<p>对于运行 9.4.X 的用户，不需要转储/恢复。</p>\n<p>但是，如果你要升级的安装中包含任何使用（非默认的）<code>jsonb_path_ops</code>操作符类的 GIN 索引，请参见下面的第一条变更日志条目。</p>\n<p>另外，如果你是从早于 9.4.4 的版本升级，请参见<a href=\"/docs/9.4/release-9-4-4.html\" title=\"E.23. 版本 9.4.4\">第 E.23 节</a>。</p>", "compatibility_count": 0, "label": "9.4.6", "status_label": "历史版本", "eol": "2020-02-13", "age_days": 3884, "support_days": -2421}, "groups": [{"date": "2016-02-11", "build": "9.4.6", "major": "9.4", "minor": 6, "manual": "9.4", "status": "stable", "doc_git": "", "version": "9.4.6", "eol_date": "2020-02-13", "date_text": "2016-02-11", "supported": false, "manual_url": "/docs/9.4/release-9-4-6.html", "source_url": "/docs/release/9.4.6/", "entry_count": 59, "placeholder": false, "content_hash": "700fa4331872de7e49e0531a168cff71b701e378cb47e2a9e4a8438bc36d6967", "manual_build": "9.4.26", "source_as_of": "", "changes_count": 59, "doc_loaded_at": "2026-09-26T02:56:45.438944", "migration_html": "<p>对于运行 9.4.X 的用户，不需要转储/恢复。</p>\n<p>但是，如果你要升级的安装中包含任何使用（非默认的）<code>jsonb_path_ops</code>操作符类的 GIN 索引，请参见下面的第一条变更日志条目。</p>\n<p>另外，如果你是从早于 9.4.4 的版本升级，请参见<a href=\"/docs/9.4/release-9-4-4.html\" title=\"E.23. 版本 9.4.4\">第 E.23 节</a>。</p>", "compatibility_count": 0, "label": "9.4.6", "status_label": "历史版本", "eol": "2020-02-13", "age_days": 3884, "support_days": -2421, "entries": [{"id": "9.4.6-396153ab06c0b48e", "cves": [], "html": "<p>修复<code>jsonb_path_ops</code>GIN 索引中不一致的哈希计算（Tom Lane）</p>\n<p>在处理同一嵌套层级同时包含标量和子对象的<code>jsonb</code>值（例如同时包含标量和子数组的数组）时，键哈希值的计算方式可能与同一键在其他上下文中的计算方式不同。这可能导致查询找不到本应找到的条目。修复该问题意味着现有索引可能与新的哈希计算代码不一致。用户在安装此更新后应当对<code>jsonb_path_ops</code>GIN 索引执行<code>REINDEX</code>，以确保所有搜索按预期工作。</p>", "text": "修复jsonb_path_opsGIN 索引中不一致的哈希计算（Tom Lane） 在处理同一嵌套层级同时包含标量和子对象的jsonb值（例如同时包含标量和子数组的数组）时，键哈希值的计算方式可能与同一键在其他上下文中的计算方式不同。这可能导致查询找不到本应找到的条目。修复该问题意味着现有索引可能与新的哈希计算代码不一致。用户在安装此更新后应当对jsonb_path_opsGIN 索引执行REINDEX，以确保所有搜索按预期工作。", "title": "修复jsonb_path_opsGIN 索引中不一致的哈希计算", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.4.6/#id-1.11.6.25.5", "source_hash": "4da69d69caba7689d8173b4cb25825ac299a248fb439f96d5f420fe3bcd1cdbf", "section_path": ["变更"], "commit_groups": [["4d867458f", "788e35ac0", "b23af4587"]], "identity_text": "Fix inconsistent hash calculations in jsonb_path_ops GIN indexes (Tom Lane) When processing jsonb values that contain both scalars and sub-objects at the same nesting level, for example an array containing both scalars and sub-arrays, key hash values could be calculated differently than they would be for the same key in a different context. This could result in queries not finding entries that they should find. Fixing this means that existing indexes may now be inconsistent with the new hash calculation code. Users should REINDEX jsonb_path_ops GIN indexes after installing this update to make sure that all searches work as expected.", "commit_aliases": ["4d867458f", "788e35ac0", "b23af4587"], "source_commits": ["788e35ac0"], "source_entry_id": "9.4.6/changes/001", "db_id": "9eae3a9a29117d90b25c7593b6d180cb", "patch_ids": ["217a808ccf73dfef9ebc59074408e8cd"], "statement_hash": "b21f9f8f2f169ea461de68da60195dba1dc452c19b2aff7c4eb3f4fdafd4c1e9", "relations": [], "version": "9.4.6", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.4.6-f56bb4796f0084d4", "cves": ["CVE-2016-0773"], "html": "<p>修复正则表达式中的无限循环和缓冲区越界问题（Tom Lane）</p>\n<p>方括号表达式中非常大的字符范围在某些情况下可能导致无限循环，在另一些情况下可能导致内存覆写。（CVE-2016-0773）</p>", "text": "修复正则表达式中的无限循环和缓冲区越界问题（Tom Lane） 方括号表达式中非常大的字符范围在某些情况下可能导致无限循环，在另一些情况下可能导致内存覆写。（CVE-2016-0773）", "title": "修复正则表达式中的无限循环和缓冲区越界问题", "commits": [], "section": "变更", "category": "security", "source_url": "/docs/release/9.4.6/#id-1.11.6.25.5", "source_hash": "eb0438a45957947108c61c598f04acd2ec453dd2b563c4193f035f6b8b92e868", "section_path": ["变更"], "commit_groups": [], "identity_text": "Fix infinite loops and buffer-overrun problems in regular expressions (Tom Lane) Very large character ranges in bracket expressions could cause infinite loops in some cases, and memory overwrites in other cases. (CVE-2016-0773)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.4.6/changes/002", "db_id": "eb48871d4635001988ed54c5482d6ada", "patch_ids": [], "statement_hash": "86c3969d7d94649f2681aaabfba3eb2e2d707639975ebea74333022223b0914c", "relations": [{"rule": 2, "type": "equivalent", "target": "859232add61df95d2630e724ae0f4618", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "86c3969d7d94649f2681aaabfba3eb2e2d707639975ebea74333022223b0914c"}}, {"rule": 2, "type": "equivalent", "target": "a209620754197e56fafec1ecd0cd9842", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "86c3969d7d94649f2681aaabfba3eb2e2d707639975ebea74333022223b0914c"}}, {"rule": 2, "type": "equivalent", "target": "acbbe23ea65dd41f0174374de68d073f", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "86c3969d7d94649f2681aaabfba3eb2e2d707639975ebea74333022223b0914c"}}, {"rule": 2, "type": "equivalent", "target": "f82b2c278b85f75fb51729724ed1a13f", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "86c3969d7d94649f2681aaabfba3eb2e2d707639975ebea74333022223b0914c"}}], "version": "9.4.6", "category_label": "安全相关", "also_in": [], "variants": [], "related_changes": [{"db_id": "acbbe23ea65dd41f0174374de68d073f", "kind": "equivalent", "version": "9.5.1", "label": "9.5.1", "title": "修复正则表达式中的无限循环和缓冲区越界问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "86c3969d7d94649f2681aaabfba3eb2e2d707639975ebea74333022223b0914c"}, "url": "/docs/compare/?release=9.5.1#9.5.1-f56bb4796f0084d4", "source_url": "/docs/release/9.5.1/#id-1.11.6.29.5"}, {"db_id": "f82b2c278b85f75fb51729724ed1a13f", "kind": "equivalent", "version": "9.3.11", "label": "9.3.11", "title": "修复正则表达式中的无限循环和缓冲区越界问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "86c3969d7d94649f2681aaabfba3eb2e2d707639975ebea74333022223b0914c"}, "url": "/docs/compare/?release=9.3.11#9.3.11-f56bb4796f0084d4", "source_url": "/docs/release/9.3.11/#id-1.11.6.19.5"}, {"db_id": "a209620754197e56fafec1ecd0cd9842", "kind": "equivalent", "version": "9.2.15", "label": "9.2.15", "title": "修复正则表达式中的无限循环和缓冲区越界问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "86c3969d7d94649f2681aaabfba3eb2e2d707639975ebea74333022223b0914c"}, "url": "/docs/compare/?release=9.2.15#9.2.15-f56bb4796f0084d4", "source_url": "/docs/release/9.2.15/#id-1.11.6.14.5"}, {"db_id": "859232add61df95d2630e724ae0f4618", "kind": "equivalent", "version": "9.1.20", "label": "9.1.20", "title": "修复正则表达式中的无限循环和缓冲区越界问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "86c3969d7d94649f2681aaabfba3eb2e2d707639975ebea74333022223b0914c"}, "url": "/docs/compare/?release=9.1.20#9.1.20-f56bb4796f0084d4", "source_url": "/docs/release/9.1.20/#id-1.11.6.9.5"}]}, {"id": "9.4.6-dc35983aaefb9fe6", "cves": [], "html": "<p>如果<code>postmaster.pid</code>文件被移除则执行立即关闭（Tom Lane）</p>\n<p>postmaster 现在大约每分钟检查一次<code>postmaster.pid</code>是否仍然存在且仍包含自己的 PID。如果不是，它会执行立即关闭，就像收到<span>SIGQUIT</span>一样。此变更的主要目的是确保失败的 buildfarm 运行无需人工干预即可被清理；同时也可在 DBA 强行删除<code>postmaster.pid</code>并启动新 postmaster 时限制不良影响。</p>", "text": "如果postmaster.pid文件被移除则执行立即关闭（Tom Lane） postmaster 现在大约每分钟检查一次postmaster.pid是否仍然存在且仍包含自己的 PID。如果不是，它会执行立即关闭，就像收到SIGQUIT一样。此变更的主要目的是确保失败的 buildfarm 运行无需人工干预即可被清理；同时也可在 DBA 强行删除postmaster.pid并启动新 postmaster 时限制不良影响。", "title": "如果postmaster.pid文件被移除则执行立即关闭", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.4.6/#id-1.11.6.25.5", "source_hash": "b25f3e8506b748424d055b38cd09c335842b7bb9db10bc083c210d5a909bbe0a", "section_path": ["变更"], "commit_groups": [["02580df6c", "31bc563b9", "3d10f3970", "3d701277f", "7e2a18a91", "dea6da132"]], "identity_text": "Perform an immediate shutdown if the postmaster.pid file is removed (Tom Lane) The postmaster now checks every minute or so that postmaster.pid is still there and still contains its own PID. If not, it performs an immediate shutdown, as though it had received SIGQUIT. The main motivation for this change is to ensure that failed buildfarm runs will get cleaned up without manual intervention; but it also serves to limit the bad effects if a DBA forcibly removes postmaster.pid and then starts a new postmaster.", "commit_aliases": ["02580df6c", "31bc563b9", "3d10f3970", "3d701277f", "7e2a18a91", "dea6da132"], "source_commits": ["3d701277f"], "source_entry_id": "9.4.6/changes/003", "db_id": "c55899e48d6baa7a17138919d6fc6f04", "patch_ids": ["97e6b03d2d8382a3157f7c103e16c166"], "statement_hash": "a0c410ab7d8a05e1c8cee411dbf802fe7bfd23598c2a54b9d0a580962e3595e6", "relations": [{"rule": 2, "type": "equivalent", "target": "272049d3bf7c9032e75640faba9f3985", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a0c410ab7d8a05e1c8cee411dbf802fe7bfd23598c2a54b9d0a580962e3595e6"}}, {"rule": 2, "type": "equivalent", "target": "5361516b0f1e8423be8f269da0090fdd", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a0c410ab7d8a05e1c8cee411dbf802fe7bfd23598c2a54b9d0a580962e3595e6"}}, {"rule": 2, "type": "equivalent", "target": "ffdaf0a425db308f390271495c6c3565", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a0c410ab7d8a05e1c8cee411dbf802fe7bfd23598c2a54b9d0a580962e3595e6"}}], "version": "9.4.6", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "ffdaf0a425db308f390271495c6c3565", "kind": "equivalent", "version": "9.3.11", "label": "9.3.11", "title": "如果postmaster.pid文件被移除则执行立即关闭", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a0c410ab7d8a05e1c8cee411dbf802fe7bfd23598c2a54b9d0a580962e3595e6"}, "url": "/docs/compare/?release=9.3.11#9.3.11-dc35983aaefb9fe6", "source_url": "/docs/release/9.3.11/#id-1.11.6.19.5"}, {"db_id": "5361516b0f1e8423be8f269da0090fdd", "kind": "equivalent", "version": "9.2.15", "label": "9.2.15", "title": "如果postmaster.pid文件被移除则执行立即关闭", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a0c410ab7d8a05e1c8cee411dbf802fe7bfd23598c2a54b9d0a580962e3595e6"}, "url": "/docs/compare/?release=9.2.15#9.2.15-dc35983aaefb9fe6", "source_url": "/docs/release/9.2.15/#id-1.11.6.14.5"}, {"db_id": "272049d3bf7c9032e75640faba9f3985", "kind": "equivalent", "version": "9.1.20", "label": "9.1.20", "title": "如果postmaster.pid文件被移除则执行立即关闭", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a0c410ab7d8a05e1c8cee411dbf802fe7bfd23598c2a54b9d0a580962e3595e6"}, "url": "/docs/compare/?release=9.1.20#9.1.20-dc35983aaefb9fe6", "source_url": "/docs/release/9.1.20/#id-1.11.6.9.5"}]}, {"id": "9.4.6-627b9200a59daf00", "cves": [], "html": "<p>在<code>SERIALIZABLE</code>事务隔离模式下，插入期间的竞争条件可能导致漏掉串行化异常（Kevin Grittner、Thomas Munro）</p>", "text": "在SERIALIZABLE事务隔离模式下，插入期间的竞争条件可能导致漏掉串行化异常（Kevin Grittner、Thomas Munro）", "title": "在SERIALIZABLE事务隔离模式下，插入期间的竞争条件可能导致漏掉串行化异常", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.4.6/#id-1.11.6.25.5", "source_hash": "76cf8afad40e31058a865937e3e2d5ef6389bb9ac0deed30b6eaffaa2a439f8f", "section_path": ["变更"], "commit_groups": [["08322daed", "18479293c", "1d95617f7", "50ca917d9", "585e2a3b1", "caff7fc3f"]], "identity_text": "In SERIALIZABLE transaction isolation mode, serialization anomalies could be missed due to race conditions during insertions (Kevin Grittner, Thomas Munro)", "commit_aliases": ["08322daed", "18479293c", "1d95617f7", "50ca917d9", "585e2a3b1", "caff7fc3f"], "source_commits": ["1d95617f7"], "source_entry_id": "9.4.6/changes/004", "db_id": "cb94074deb3a1c356738172dfa31451e", "patch_ids": ["ee56d1bb3611c595de6d4987bd794f2b"], "statement_hash": "01f9b440350ffa2262367a26f09d4e0eb75a5af7744835f7c9410c5b4e257e50", "relations": [{"rule": 2, "type": "equivalent", "target": "41b125da8cd3f335cd583eb8d442b9de", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "01f9b440350ffa2262367a26f09d4e0eb75a5af7744835f7c9410c5b4e257e50"}}, {"rule": 2, "type": "equivalent", "target": "bf1e5cc52237c8a6dc3b1c9b350efb75", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "01f9b440350ffa2262367a26f09d4e0eb75a5af7744835f7c9410c5b4e257e50"}}, {"rule": 2, "type": "equivalent", "target": "ff6b5b6dccde5b769c2f4ec14980302a", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "01f9b440350ffa2262367a26f09d4e0eb75a5af7744835f7c9410c5b4e257e50"}}], "version": "9.4.6", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "ff6b5b6dccde5b769c2f4ec14980302a", "kind": "equivalent", "version": "9.3.11", "label": "9.3.11", "title": "在SERIALIZABLE事务隔离模式下，插入期间的竞争条件可能导致漏掉串行化异常", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "01f9b440350ffa2262367a26f09d4e0eb75a5af7744835f7c9410c5b4e257e50"}, "url": "/docs/compare/?release=9.3.11#9.3.11-627b9200a59daf00", "source_url": "/docs/release/9.3.11/#id-1.11.6.19.5"}, {"db_id": "bf1e5cc52237c8a6dc3b1c9b350efb75", "kind": "equivalent", "version": "9.2.15", "label": "9.2.15", "title": "在SERIALIZABLE事务隔离模式下，插入期间的竞争条件可能导致漏掉串行化异常", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "01f9b440350ffa2262367a26f09d4e0eb75a5af7744835f7c9410c5b4e257e50"}, "url": "/docs/compare/?release=9.2.15#9.2.15-627b9200a59daf00", "source_url": "/docs/release/9.2.15/#id-1.11.6.14.5"}, {"db_id": "41b125da8cd3f335cd583eb8d442b9de", "kind": "equivalent", "version": "9.1.20", "label": "9.1.20", "title": "在SERIALIZABLE事务隔离模式下，插入期间的竞争条件可能导致漏掉串行化异常", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "01f9b440350ffa2262367a26f09d4e0eb75a5af7744835f7c9410c5b4e257e50"}, "url": "/docs/compare/?release=9.1.20#9.1.20-627b9200a59daf00", "source_url": "/docs/release/9.1.20/#id-1.11.6.9.5"}]}, {"id": "9.4.6-5a914425e0982ca6", "cves": [], "html": "<p>修复对非日志关系执行<code>ALTER TABLE ... SET TABLESPACE</code>时未发出适当 WAL 记录的问题（Michael Paquier、Andres Freund）</p>\n<p>尽管关系的数据是非日志的，但移动操作本身必须被记录，否则在备库提升为主库后该关系将不可访问。</p>", "text": "修复对非日志关系执行ALTER TABLE ... SET TABLESPACE时未发出适当 WAL 记录的问题（Michael Paquier、Andres Freund） 尽管关系的数据是非日志的，但移动操作本身必须被记录，否则在备库提升为主库后该关系将不可访问。", "title": "修复对非日志关系执行ALTER TABLE ... SET TABLESPACE时未发出适当 WAL 记录的问题", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.4.6/#id-1.11.6.25.5", "source_hash": "15c2c0cd196a8b558c55c40a1f6a1eb4eac2f2f9ab363f06ae28c8f319233fd4", "section_path": ["变更"], "commit_groups": [["5f9a86b35", "9037bdc88", "a15ad6708", "ada9c09ae", "d638aeef6", "f54d0629e"]], "identity_text": "Fix failure to emit appropriate WAL records when doing ALTER TABLE ... SET TABLESPACE for unlogged relations (Michael Paquier, Andres Freund) Even though the relation's data is unlogged, the move must be logged or the relation will be inaccessible after a standby is promoted to master.", "commit_aliases": ["5f9a86b35", "9037bdc88", "a15ad6708", "ada9c09ae", "d638aeef6", "f54d0629e"], "source_commits": ["d638aeef6"], "source_entry_id": "9.4.6/changes/005", "db_id": "c6f84f4ea4d59a4fb5b6cd29292e6760", "patch_ids": ["ca1228a33f45b4023e98f7b6294212fc"], "statement_hash": "0ffb2faa7228c5711a313dd1c073efa0d104442071d9d7b73c1157ff4c3a099c", "relations": [{"rule": 2, "type": "equivalent", "target": "0f0039ed91ae6f8fb3aa24a616d317e1", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0ffb2faa7228c5711a313dd1c073efa0d104442071d9d7b73c1157ff4c3a099c"}}, {"rule": 2, "type": "equivalent", "target": "28340bc6c292ea1428474c8f4fce9e17", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0ffb2faa7228c5711a313dd1c073efa0d104442071d9d7b73c1157ff4c3a099c"}}, {"rule": 2, "type": "equivalent", "target": "e075c12fece44b4897ed9267d2a70e98", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0ffb2faa7228c5711a313dd1c073efa0d104442071d9d7b73c1157ff4c3a099c"}}], "version": "9.4.6", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "0f0039ed91ae6f8fb3aa24a616d317e1", "kind": "equivalent", "version": "9.3.11", "label": "9.3.11", "title": "修复对非日志关系执行ALTER TABLE ... SET TABLESPACE时未发出适当 WAL 记录的问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0ffb2faa7228c5711a313dd1c073efa0d104442071d9d7b73c1157ff4c3a099c"}, "url": "/docs/compare/?release=9.3.11#9.3.11-5a914425e0982ca6", "source_url": "/docs/release/9.3.11/#id-1.11.6.19.5"}, {"db_id": "e075c12fece44b4897ed9267d2a70e98", "kind": "equivalent", "version": "9.2.15", "label": "9.2.15", "title": "修复对非日志关系执行ALTER TABLE ... SET TABLESPACE时未发出适当 WAL 记录的问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0ffb2faa7228c5711a313dd1c073efa0d104442071d9d7b73c1157ff4c3a099c"}, "url": "/docs/compare/?release=9.2.15#9.2.15-5a914425e0982ca6", "source_url": "/docs/release/9.2.15/#id-1.11.6.14.5"}, {"db_id": "28340bc6c292ea1428474c8f4fce9e17", "kind": "equivalent", "version": "9.1.20", "label": "9.1.20", "title": "修复对非日志关系执行ALTER TABLE ... SET TABLESPACE时未发出适当 WAL 记录的问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0ffb2faa7228c5711a313dd1c073efa0d104442071d9d7b73c1157ff4c3a099c"}, "url": "/docs/compare/?release=9.1.20#9.1.20-5a914425e0982ca6", "source_url": "/docs/release/9.1.20/#id-1.11.6.9.5"}]}, {"id": "9.4.6-0f197d99dbaa2f5b", "cves": [], "html": "<p>修复崩溃恢复结束时未日志关系可能初始化不当的问题（Andres Freund、Michael Paquier）</p>", "text": "修复崩溃恢复结束时未日志关系可能初始化不当的问题（Andres Freund、Michael Paquier）", "title": "修复崩溃恢复结束时未日志关系可能初始化不当的问题", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.4.6/#id-1.11.6.25.5", "source_hash": "effc85520d655bdb2d00064b99e845e4a1d6099e0b7ede9c6bd7d8061485b605", "section_path": ["变更"], "commit_groups": [["2de281da2", "3199c13fc", "5b51805fe", "b19405a44", "c6a67bbc7", "e3f4cfc7a"]], "identity_text": "Fix possible misinitialization of unlogged relations at the end of crash recovery (Andres Freund, Michael Paquier)", "commit_aliases": ["2de281da2", "3199c13fc", "5b51805fe", "b19405a44", "c6a67bbc7", "e3f4cfc7a"], "source_commits": ["c6a67bbc7"], "source_entry_id": "9.4.6/changes/006", "db_id": "2439414dd18669a45c6a2b6f20bbb42c", "patch_ids": ["76af98999cacb054bde57985bbc35bef"], "statement_hash": "86e2fc3a9f78f335c9cbadbd78d4e8c15550892605a92711d01b5e4898c86914", "relations": [{"rule": 2, "type": "equivalent", "target": "170f3da8f8173b7719b688440db80a85", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "86e2fc3a9f78f335c9cbadbd78d4e8c15550892605a92711d01b5e4898c86914"}}, {"rule": 2, "type": "equivalent", "target": "3a5254aa042e5d5728a4126c6f0e215f", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "86e2fc3a9f78f335c9cbadbd78d4e8c15550892605a92711d01b5e4898c86914"}}, {"rule": 2, "type": "equivalent", "target": "64d7ff18ffc9d038fa8cc76780d8bf24", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "86e2fc3a9f78f335c9cbadbd78d4e8c15550892605a92711d01b5e4898c86914"}}], "version": "9.4.6", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "64d7ff18ffc9d038fa8cc76780d8bf24", "kind": "equivalent", "version": "9.3.11", "label": "9.3.11", "title": "修复崩溃恢复结束时非日志关系可能被错误初始化的问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "86e2fc3a9f78f335c9cbadbd78d4e8c15550892605a92711d01b5e4898c86914"}, "url": "/docs/compare/?release=9.3.11#9.3.11-7d00074d2b1f6521", "source_url": "/docs/release/9.3.11/#id-1.11.6.19.5"}, {"db_id": "3a5254aa042e5d5728a4126c6f0e215f", "kind": "equivalent", "version": "9.2.15", "label": "9.2.15", "title": "修复崩溃恢复结束时非日志关系可能被错误初始化的问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "86e2fc3a9f78f335c9cbadbd78d4e8c15550892605a92711d01b5e4898c86914"}, "url": "/docs/compare/?release=9.2.15#9.2.15-7d00074d2b1f6521", "source_url": "/docs/release/9.2.15/#id-1.11.6.14.5"}, {"db_id": "170f3da8f8173b7719b688440db80a85", "kind": "equivalent", "version": "9.1.20", "label": "9.1.20", "title": "修复崩溃恢复结束时非日志关系可能被错误初始化的问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "86e2fc3a9f78f335c9cbadbd78d4e8c15550892605a92711d01b5e4898c86914"}, "url": "/docs/compare/?release=9.1.20#9.1.20-7d00074d2b1f6521", "source_url": "/docs/release/9.1.20/#id-1.11.6.9.5"}]}, {"id": "9.4.6-05ad58e4481e52e6", "cves": [], "html": "<p>确保 walsender 槽位在重用时被完全重新初始化（Magnus Hagander）</p>", "text": "确保 walsender 槽位在重用时被完全重新初始化（Magnus Hagander）", "title": "确保 walsender 槽位在重用时被完全重新初始化", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.4.6/#id-1.11.6.25.5", "source_hash": "746c092897e7d69e4818a0449d10dfc78695ad467c482ead81cfb0fc6fb27a60", "section_path": ["变更"], "commit_groups": [["263c19572", "61c7bee21", "a1fb84990", "a9c56ff0e"]], "identity_text": "Ensure walsender slots are fully re-initialized when being re-used (Magnus Hagander)", "commit_aliases": ["263c19572", "61c7bee21", "a1fb84990", "a9c56ff0e"], "source_commits": ["61c7bee21"], "source_entry_id": "9.4.6/changes/007", "db_id": "7e7a2a0cb37bbd66773455f1d88253e9", "patch_ids": ["d8c708bb358e5b9c13c2551eb66bad26"], "statement_hash": "14b2029d574aa8fb2980b4f3332644380e5fac871dc3d03773d9ebd013e25265", "relations": [{"rule": 2, "type": "equivalent", "target": "4e327958d19f52a47d4f9f3fda9d783f", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "14b2029d574aa8fb2980b4f3332644380e5fac871dc3d03773d9ebd013e25265"}}], "version": "9.4.6", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "4e327958d19f52a47d4f9f3fda9d783f", "kind": "equivalent", "version": "9.3.11", "label": "9.3.11", "title": "确保 walsender 槽在重用时被完全重新初始化", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "14b2029d574aa8fb2980b4f3332644380e5fac871dc3d03773d9ebd013e25265"}, "url": "/docs/compare/?release=9.3.11#9.3.11-3f49b12e7d866114", "source_url": "/docs/release/9.3.11/#id-1.11.6.19.5"}]}, {"id": "9.4.6-59c03954e7f82f9a", "cves": [], "html": "<p>修复 <code>ALTER COLUMN TYPE</code> 使其正确重建继承的检查约束（Tom Lane）</p>", "text": "修复 ALTER COLUMN TYPE 使其正确重建继承的检查约束（Tom Lane）", "title": "修复 ALTER COLUMN TYPE 使其正确重建继承的检查约束", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.4.6/#id-1.11.6.25.5", "source_hash": "ef5317945f98a76f49161145c192462cef15104cb9b7b68ca4e71dc9a8c9432a", "section_path": ["变更"], "commit_groups": [["074c5cfbf", "47ea4614e", "60ba32cb5", "64349f1d2", "a35c5b7c1", "c49279dfd"]], "identity_text": "Fix ALTER COLUMN TYPE to reconstruct inherited check constraints properly (Tom Lane)", "commit_aliases": ["074c5cfbf", "47ea4614e", "60ba32cb5", "64349f1d2", "a35c5b7c1", "c49279dfd"], "source_commits": ["47ea4614e"], "source_entry_id": "9.4.6/changes/008", "db_id": "45cfe30788f885758f38745525f50b3b", "patch_ids": ["1c27b2025d424b01ac9c886d96450056"], "statement_hash": "23f0912e7f0303040b187688c299fd74787f59f55c113663ddfeb2a201d70dd6", "relations": [{"rule": 2, "type": "equivalent", "target": "1bdd76097ef078857fb41def0bd75bd6", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "23f0912e7f0303040b187688c299fd74787f59f55c113663ddfeb2a201d70dd6"}}, {"rule": 2, "type": "equivalent", "target": "4a06a88e4e8c3f9a451ea0200472a3f9", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "23f0912e7f0303040b187688c299fd74787f59f55c113663ddfeb2a201d70dd6"}}, {"rule": 2, "type": "equivalent", "target": "c8bc24b69b1ff3648fed67adef978940", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "23f0912e7f0303040b187688c299fd74787f59f55c113663ddfeb2a201d70dd6"}}], "version": "9.4.6", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "1bdd76097ef078857fb41def0bd75bd6", "kind": "equivalent", "version": "9.3.11", "label": "9.3.11", "title": "修复ALTER COLUMN TYPE以正确重建继承的检查约束", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "23f0912e7f0303040b187688c299fd74787f59f55c113663ddfeb2a201d70dd6"}, "url": "/docs/compare/?release=9.3.11#9.3.11-a077a4b2e76cbe3d", "source_url": "/docs/release/9.3.11/#id-1.11.6.19.5"}, {"db_id": "c8bc24b69b1ff3648fed67adef978940", "kind": "equivalent", "version": "9.2.15", "label": "9.2.15", "title": "修复ALTER COLUMN TYPE以正确重建继承的检查约束", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "23f0912e7f0303040b187688c299fd74787f59f55c113663ddfeb2a201d70dd6"}, "url": "/docs/compare/?release=9.2.15#9.2.15-a077a4b2e76cbe3d", "source_url": "/docs/release/9.2.15/#id-1.11.6.14.5"}, {"db_id": "4a06a88e4e8c3f9a451ea0200472a3f9", "kind": "equivalent", "version": "9.1.20", "label": "9.1.20", "title": "修复ALTER COLUMN TYPE以正确重建继承的检查约束", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "23f0912e7f0303040b187688c299fd74787f59f55c113663ddfeb2a201d70dd6"}, "url": "/docs/compare/?release=9.1.20#9.1.20-a077a4b2e76cbe3d", "source_url": "/docs/release/9.1.20/#id-1.11.6.9.5"}]}, {"id": "9.4.6-50b02bd81715a2a0", "cves": [], "html": "<p>修复 <code>REASSIGN OWNED</code> 使其正确更改组合类型的所有权（Álvaro Herrera）</p>", "text": "修复 REASSIGN OWNED 使其正确更改组合类型的所有权（Álvaro Herrera）", "title": "修复 REASSIGN OWNED 使其正确更改组合类型的所有权", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.4.6/#id-1.11.6.25.5", "source_hash": "5f2040824f1b6a857f91d4317a97ed918fe2dd942b41d8b45fcfe8bd6571359e", "section_path": ["变更"], "commit_groups": [["7e29e7f55", "bc72c3b3f", "d07afa42d", "f9643d0d6"]], "identity_text": "Fix REASSIGN OWNED to change ownership of composite types properly (Álvaro Herrera)", "commit_aliases": ["7e29e7f55", "bc72c3b3f", "d07afa42d", "f9643d0d6"], "source_commits": ["d07afa42d"], "source_entry_id": "9.4.6/changes/009", "db_id": "43cfa3f826d212492e3e6b88a2f9871a", "patch_ids": ["323ea1e22c766259134d26607f09029c"], "statement_hash": "4ac60f65020454bb1ddd88e26fd0adf9b13b3c821d874bcdd2897dad420bddce", "relations": [{"rule": 2, "type": "equivalent", "target": "8c3b93c4658ee989d5692699c55d7d1f", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "4ac60f65020454bb1ddd88e26fd0adf9b13b3c821d874bcdd2897dad420bddce"}}, {"rule": 2, "type": "equivalent", "target": "9025484a5068b2028278c8ed4ba79032", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "4ac60f65020454bb1ddd88e26fd0adf9b13b3c821d874bcdd2897dad420bddce"}}, {"rule": 2, "type": "equivalent", "target": "a6a57f2596a162c34b1a9798613f50f8", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "4ac60f65020454bb1ddd88e26fd0adf9b13b3c821d874bcdd2897dad420bddce"}}], "version": "9.4.6", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "9025484a5068b2028278c8ed4ba79032", "kind": "equivalent", "version": "9.3.11", "label": "9.3.11", "title": "修复REASSIGN OWNED以正确更改组合类型的所有权", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "4ac60f65020454bb1ddd88e26fd0adf9b13b3c821d874bcdd2897dad420bddce"}, "url": "/docs/compare/?release=9.3.11#9.3.11-37b1036d3ad3fdc7", "source_url": "/docs/release/9.3.11/#id-1.11.6.19.5"}, {"db_id": "a6a57f2596a162c34b1a9798613f50f8", "kind": "equivalent", "version": "9.2.15", "label": "9.2.15", "title": "修复REASSIGN OWNED以正确更改组合类型的所有权", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "4ac60f65020454bb1ddd88e26fd0adf9b13b3c821d874bcdd2897dad420bddce"}, "url": "/docs/compare/?release=9.2.15#9.2.15-37b1036d3ad3fdc7", "source_url": "/docs/release/9.2.15/#id-1.11.6.14.5"}, {"db_id": "8c3b93c4658ee989d5692699c55d7d1f", "kind": "equivalent", "version": "9.1.20", "label": "9.1.20", "title": "修复REASSIGN OWNED以正确更改组合类型的所有权", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "4ac60f65020454bb1ddd88e26fd0adf9b13b3c821d874bcdd2897dad420bddce"}, "url": "/docs/compare/?release=9.1.20#9.1.20-37b1036d3ad3fdc7", "source_url": "/docs/release/9.1.20/#id-1.11.6.9.5"}]}, {"id": "9.4.6-d4d096e577ddb143", "cves": [], "html": "<p>修复 <code>REASSIGN OWNED</code> 和 <code>ALTER OWNER</code>，使其在更改数据类型、外部数据包装器或外部服务器的所有者时正确更新已授予权限列表（Bruce Momjian, Álvaro Herrera）</p>", "text": "修复 REASSIGN OWNED 和 ALTER OWNER，使其在更改数据类型、外部数据包装器或外部服务器的所有者时正确更新已授予权限列表（Bruce Momjian, Álvaro Herrera）", "title": "修复 REASSIGN OWNED 和 ALTER OWNER，使其在更改数据类型、外部数据包装器或外部服务器的所有者时正确更新已授予权限列表", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.4.6/#id-1.11.6.25.5", "source_hash": "f8c3c9f34d9533f12bd7788f7d1d54a7accc79114da913c63f5578c567b06786", "section_path": ["变更"], "commit_groups": [["2c8ae6442", "62e6eba8d", "7af3dd540", "ab14c1383"]], "identity_text": "Fix REASSIGN OWNED and ALTER OWNER to correctly update granted-permissions lists when changing owners of data types, foreign data wrappers, or foreign servers (Bruce Momjian, Álvaro Herrera)", "commit_aliases": ["2c8ae6442", "62e6eba8d", "7af3dd540", "ab14c1383"], "source_commits": ["2c8ae6442"], "source_entry_id": "9.4.6/changes/010", "db_id": "9b3b19319db1fa74d544114862cf4ed1", "patch_ids": ["02d3af30236a3c56ab5644e76bd185cf"], "statement_hash": "616f07df1899da758663e9ac8b637f9149b4073657e3d6675a0c3a6653ab807f", "relations": [{"rule": 2, "type": "equivalent", "target": "5167234bbf1ccb52ee07fe8ff3e6684e", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "616f07df1899da758663e9ac8b637f9149b4073657e3d6675a0c3a6653ab807f"}}, {"rule": 2, "type": "equivalent", "target": "b09183eb21b0475b089deb1274c9f2a4", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "616f07df1899da758663e9ac8b637f9149b4073657e3d6675a0c3a6653ab807f"}}, {"rule": 2, "type": "equivalent", "target": "fdfc2dbe8f2d1c6b202ef223fd277fed", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "616f07df1899da758663e9ac8b637f9149b4073657e3d6675a0c3a6653ab807f"}}], "version": "9.4.6", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "fdfc2dbe8f2d1c6b202ef223fd277fed", "kind": "equivalent", "version": "9.3.11", "label": "9.3.11", "title": "修复REASSIGN OWNED和ALTER OWNER在更改数据类型、外部数据包装器或外部服务器的所有者时正确更新已授权权限列表的问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "616f07df1899da758663e9ac8b637f9149b4073657e3d6675a0c3a6653ab807f"}, "url": "/docs/compare/?release=9.3.11#9.3.11-c7bc79180b3cb879", "source_url": "/docs/release/9.3.11/#id-1.11.6.19.5"}, {"db_id": "b09183eb21b0475b089deb1274c9f2a4", "kind": "equivalent", "version": "9.2.15", "label": "9.2.15", "title": "修复REASSIGN OWNED和ALTER OWNER在更改数据类型、外部数据包装器或外部服务器的所有者时正确更新已授权权限列表的问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "616f07df1899da758663e9ac8b637f9149b4073657e3d6675a0c3a6653ab807f"}, "url": "/docs/compare/?release=9.2.15#9.2.15-c7bc79180b3cb879", "source_url": "/docs/release/9.2.15/#id-1.11.6.14.5"}, {"db_id": "5167234bbf1ccb52ee07fe8ff3e6684e", "kind": "equivalent", "version": "9.1.20", "label": "9.1.20", "title": "修复REASSIGN OWNED和ALTER OWNER在更改数据类型、外部数据包装器或外部服务器的所有者时正确更新已授权权限列表的问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "616f07df1899da758663e9ac8b637f9149b4073657e3d6675a0c3a6653ab807f"}, "url": "/docs/compare/?release=9.1.20#9.1.20-c7bc79180b3cb879", "source_url": "/docs/release/9.1.20/#id-1.11.6.9.5"}]}, {"id": "9.4.6-8648c44d0dd4625e", "cves": [], "html": "<p>修复 <code>REASSIGN OWNED</code> 使其忽略外部用户映射而不是失败（Álvaro Herrera）</p>", "text": "修复 REASSIGN OWNED 使其忽略外部用户映射而不是失败（Álvaro Herrera）", "title": "修复 REASSIGN OWNED 使其忽略外部用户映射而不是失败", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.4.6/#id-1.11.6.25.5", "source_hash": "f2f9a115104e50e9df18e54449f5c4c079487ca0b507d7cfae66efae4ac05b3b", "section_path": ["变更"], "commit_groups": [["1f8757ad8", "31f88a12a", "4626245bc", "629842a8e", "8c1615531", "f44c5203b"]], "identity_text": "Fix REASSIGN OWNED to ignore foreign user mappings, rather than fail (Álvaro Herrera)", "commit_aliases": ["1f8757ad8", "31f88a12a", "4626245bc", "629842a8e", "8c1615531", "f44c5203b"], "source_commits": ["1f8757ad8"], "source_entry_id": "9.4.6/changes/011", "db_id": "3d700258dae1790ee23d4ae4c97e2605", "patch_ids": ["11f8eb46c21ad9abdf9d69b146c79298"], "statement_hash": "2637fabb30f8d4629ef580972da7dacb5d68007ff73cfaa7bce0f1fc77312355", "relations": [{"rule": 2, "type": "equivalent", "target": "3aaf0a5c22bbe317858a83384ccea661", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "2637fabb30f8d4629ef580972da7dacb5d68007ff73cfaa7bce0f1fc77312355"}}, {"rule": 2, "type": "equivalent", "target": "4a4d7158c2195dc9cdb83d2abac8cb48", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "2637fabb30f8d4629ef580972da7dacb5d68007ff73cfaa7bce0f1fc77312355"}}, {"rule": 2, "type": "equivalent", "target": "c9060f0fd9ec6743df500bd14f360fc2", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "2637fabb30f8d4629ef580972da7dacb5d68007ff73cfaa7bce0f1fc77312355"}}], "version": "9.4.6", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "3aaf0a5c22bbe317858a83384ccea661", "kind": "equivalent", "version": "9.3.11", "label": "9.3.11", "title": "修复REASSIGN OWNED忽略外部用户映射而不是报错的问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "2637fabb30f8d4629ef580972da7dacb5d68007ff73cfaa7bce0f1fc77312355"}, "url": "/docs/compare/?release=9.3.11#9.3.11-0d75369201d3b808", "source_url": "/docs/release/9.3.11/#id-1.11.6.19.5"}, {"db_id": "c9060f0fd9ec6743df500bd14f360fc2", "kind": "equivalent", "version": "9.2.15", "label": "9.2.15", "title": "修复REASSIGN OWNED忽略外部用户映射而不是报错的问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "2637fabb30f8d4629ef580972da7dacb5d68007ff73cfaa7bce0f1fc77312355"}, "url": "/docs/compare/?release=9.2.15#9.2.15-0d75369201d3b808", "source_url": "/docs/release/9.2.15/#id-1.11.6.14.5"}, {"db_id": "4a4d7158c2195dc9cdb83d2abac8cb48", "kind": "equivalent", "version": "9.1.20", "label": "9.1.20", "title": "修复REASSIGN OWNED忽略外部用户映射而不是报错的问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "2637fabb30f8d4629ef580972da7dacb5d68007ff73cfaa7bce0f1fc77312355"}, "url": "/docs/compare/?release=9.1.20#9.1.20-0d75369201d3b808", "source_url": "/docs/release/9.1.20/#id-1.11.6.9.5"}]}, {"id": "9.4.6-28122c4d01088862", "cves": [], "html": "<p>修复对可更新视图进行查询重写后可能崩溃的问题（Stephen Frost）</p>", "text": "修复对可更新视图进行查询重写后可能崩溃的问题（Stephen Frost）", "title": "修复对可更新视图进行查询重写后可能崩溃的问题", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.4.6/#id-1.11.6.25.5", "source_hash": "c2938ac1d74bbd1b4c508bf2a53a77930863e928a063bd38e96a0e0cb07464a5", "section_path": ["变更"], "commit_groups": [["4271ed386", "496943ec2", "6f8cb1e23", "f02137da8"]], "identity_text": "Fix possible crash after doing query rewrite for an updatable view (Stephen Frost)", "commit_aliases": ["4271ed386", "496943ec2", "6f8cb1e23", "f02137da8"], "source_commits": ["f02137da8"], "source_entry_id": "9.4.6/changes/012", "db_id": "95269a7b562c7950b596e56d273a367b", "patch_ids": ["bc3c55f616efa099c09bc28914b63ad0"], "statement_hash": "513203cc89720c76bdc7bfb435dd4f93a2ddfcc074b88fa9ef96973dff8341d9", "relations": [{"rule": 2, "type": "equivalent", "target": "b3e9ea2c42ce0b3eb98602d2d3d41ddc", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "513203cc89720c76bdc7bfb435dd4f93a2ddfcc074b88fa9ef96973dff8341d9"}}], "version": "9.4.6", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "b3e9ea2c42ce0b3eb98602d2d3d41ddc", "kind": "equivalent", "version": "9.3.11", "label": "9.3.11", "title": "修复对可更新视图执行查询重写后可能崩溃的问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "513203cc89720c76bdc7bfb435dd4f93a2ddfcc074b88fa9ef96973dff8341d9"}, "url": "/docs/compare/?release=9.3.11#9.3.11-ac44129713c36e1a", "source_url": "/docs/release/9.3.11/#id-1.11.6.19.5"}]}, {"id": "9.4.6-d37835be5166d57f", "cves": [], "html": "<p>修复规划器对 <code>LATERAL</code> 引用的处理（Tom Lane）</p>\n<p>这修复了一些导致 <span>“<span>failed to build any N-way joins</span>”</span> 或 <span>“<span>could not devise a query plan</span>”</span> 规划器错误的极端情况。</p>", "text": "修复规划器对 LATERAL 引用的处理（Tom Lane） 这修复了一些导致 “failed to build any N-way joins” 或 “could not devise a query plan” 规划器错误的极端情况。", "title": "修复规划器对 LATERAL 引用的处理", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.4.6/#id-1.11.6.25.5", "source_hash": "dad4dfe52b9a8dea2a5c7d6484aea58fa12db72fd8cc77036340127e15835c52", "section_path": ["变更"], "commit_groups": [["0901d68ba", "0a34ff7e9", "25517ee14", "7e19db0c0"], ["260590e6b", "564c19e86", "7ad696066", "acfcd45ca"]], "identity_text": "Fix planner's handling of LATERAL references (Tom Lane) This fixes some corner cases that led to failed to build any N-way joins or could not devise a query plan planner failures.", "commit_aliases": ["0901d68ba", "0a34ff7e9", "25517ee14", "260590e6b", "564c19e86", "7ad696066", "7e19db0c0", "acfcd45ca"], "source_commits": ["0901d68ba", "7ad696066"], "source_entry_id": "9.4.6/changes/013", "db_id": "e1b87ea2312f798a96b9fabd76e0ec3f", "patch_ids": ["b8027e7bd35107c353a93004a3f46941", "d3b2f31fe32d352a709c3f94704a4626"], "statement_hash": "bbfbeb87fd7e5830ab3494f47bdbeee0374ad21f57bfa3b1ca5cf4a0eab87a7c", "relations": [{"rule": 2, "type": "equivalent", "target": "7bdc31d2ac2813a1a07bba68448165e9", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "bbfbeb87fd7e5830ab3494f47bdbeee0374ad21f57bfa3b1ca5cf4a0eab87a7c"}}], "version": "9.4.6", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "7bdc31d2ac2813a1a07bba68448165e9", "kind": "equivalent", "version": "9.3.11", "label": "9.3.11", "title": "修复规划器对 LATERAL 引用的处理", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "bbfbeb87fd7e5830ab3494f47bdbeee0374ad21f57bfa3b1ca5cf4a0eab87a7c"}, "url": "/docs/compare/?release=9.3.11#9.3.11-d37835be5166d57f", "source_url": "/docs/release/9.3.11/#id-1.11.6.19.5"}]}, {"id": "9.4.6-1261b4bf8371c738", "cves": [], "html": "<p>当 GIN 索引的内部统计信息非常过时时，为其扫描的错误规划器代价估计增加更多防御（Tom Lane）</p>", "text": "当 GIN 索引的内部统计信息非常过时时，为其扫描的错误规划器代价估计增加更多防御（Tom Lane）", "title": "当 GIN 索引的内部统计信息非常过时时，为其扫描的错误规划器代价估计增加更多防御", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.4.6/#id-1.11.6.25.5", "source_hash": "c7510ff8b3e83876f12137b5b1fe70a00a820f0036525ee4403049b9dc1561d9", "section_path": ["变更"], "commit_groups": [["3c93a60f6", "60f8cc91d", "76eccf07b", "8e79b24c5", "94114469f", "d932391fd"]], "identity_text": "Add more defenses against bad planner cost estimates for GIN index scans when the index's internal statistics are very out-of-date (Tom Lane)", "commit_aliases": ["3c93a60f6", "60f8cc91d", "76eccf07b", "8e79b24c5", "94114469f", "d932391fd"], "source_commits": ["76eccf07b"], "source_entry_id": "9.4.6/changes/014", "db_id": "0f279c95c32a2d0661bc28d96a0131df", "patch_ids": ["7876b184f647609f69098e77aca92b2e"], "statement_hash": "04263a5e93039d2670d153a0b81ece4d6cde4158286224ba1364160d8aba2521", "relations": [{"rule": 2, "type": "equivalent", "target": "81949f1f514319a00c14fe158ea6a03a", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "04263a5e93039d2670d153a0b81ece4d6cde4158286224ba1364160d8aba2521"}}, {"rule": 2, "type": "equivalent", "target": "ba87f769b3b5f833fa25584e21611e99", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "04263a5e93039d2670d153a0b81ece4d6cde4158286224ba1364160d8aba2521"}}, {"rule": 2, "type": "equivalent", "target": "e305dd9d7b02f2f8c9f68c97ad50ca42", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "04263a5e93039d2670d153a0b81ece4d6cde4158286224ba1364160d8aba2521"}}], "version": "9.4.6", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "ba87f769b3b5f833fa25584e21611e99", "kind": "equivalent", "version": "9.3.11", "label": "9.3.11", "title": "当 GIN 索引的内部统计信息严重过时时，增加更多针对规划器错误代价估计的防护", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "04263a5e93039d2670d153a0b81ece4d6cde4158286224ba1364160d8aba2521"}, "url": "/docs/compare/?release=9.3.11#9.3.11-b009bbaf11bf7b65", "source_url": "/docs/release/9.3.11/#id-1.11.6.19.5"}, {"db_id": "e305dd9d7b02f2f8c9f68c97ad50ca42", "kind": "equivalent", "version": "9.2.15", "label": "9.2.15", "title": "当 GIN 索引的内部统计信息严重过时时，增加更多针对规划器错误代价估计的防护", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "04263a5e93039d2670d153a0b81ece4d6cde4158286224ba1364160d8aba2521"}, "url": "/docs/compare/?release=9.2.15#9.2.15-b009bbaf11bf7b65", "source_url": "/docs/release/9.2.15/#id-1.11.6.14.5"}, {"db_id": "81949f1f514319a00c14fe158ea6a03a", "kind": "equivalent", "version": "9.1.20", "label": "9.1.20", "title": "当 GIN 索引的内部统计信息严重过时时，增加更多针对规划器错误代价估计的防护", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "04263a5e93039d2670d153a0b81ece4d6cde4158286224ba1364160d8aba2521"}, "url": "/docs/compare/?release=9.1.20#9.1.20-b009bbaf11bf7b65", "source_url": "/docs/release/9.1.20/#id-1.11.6.9.5"}]}, {"id": "9.4.6-3433971eac1d6227", "cves": [], "html": "<p>使规划器能处理索引顾问插件建议的假想 GIN 索引（Julien Rouhaud）</p>", "text": "使规划器能处理索引顾问插件建议的假想 GIN 索引（Julien Rouhaud）", "title": "使规划器能处理索引顾问插件建议的假想 GIN 索引", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.4.6/#id-1.11.6.25.5", "source_hash": "265957971f4f558957d58f3b936d9b66440f7f8d6b586c3c81c7961face2691a", "section_path": ["变更"], "commit_groups": [["3d4bdd2f9", "52774e52d", "7882143dc", "7fb008c5e", "ab14e0e4c", "e9986a811"]], "identity_text": "Make planner cope with hypothetical GIN indexes suggested by an index advisor plug-in (Julien Rouhaud)", "commit_aliases": ["3d4bdd2f9", "52774e52d", "7882143dc", "7fb008c5e", "ab14e0e4c", "e9986a811"], "source_commits": ["ab14e0e4c"], "source_entry_id": "9.4.6/changes/015", "db_id": "82077afd34ef4072810c019617838b26", "patch_ids": ["e2c2e4d6559592ec0958cca5d5529a76"], "statement_hash": "73c45150f6acae55c66df53a294c863df1dbea9dfa21848d2383b4e70c93530f", "relations": [{"rule": 2, "type": "equivalent", "target": "a9e6e360d2453ea0aad3366eb5481297", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "73c45150f6acae55c66df53a294c863df1dbea9dfa21848d2383b4e70c93530f"}}, {"rule": 2, "type": "equivalent", "target": "de32f3588b2ad064dca9e27fc56fd06d", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "73c45150f6acae55c66df53a294c863df1dbea9dfa21848d2383b4e70c93530f"}}, {"rule": 2, "type": "equivalent", "target": "e2e461e6d19df39a870d1ec1fd662df3", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "73c45150f6acae55c66df53a294c863df1dbea9dfa21848d2383b4e70c93530f"}}], "version": "9.4.6", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "a9e6e360d2453ea0aad3366eb5481297", "kind": "equivalent", "version": "9.3.11", "label": "9.3.11", "title": "使规划器能够处理由索引顾问插件建议的假设性 GIN 索引", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "73c45150f6acae55c66df53a294c863df1dbea9dfa21848d2383b4e70c93530f"}, "url": "/docs/compare/?release=9.3.11#9.3.11-45c3d647a720fc94", "source_url": "/docs/release/9.3.11/#id-1.11.6.19.5"}, {"db_id": "de32f3588b2ad064dca9e27fc56fd06d", "kind": "equivalent", "version": "9.2.15", "label": "9.2.15", "title": "使规划器能够处理由索引顾问插件建议的假设性 GIN 索引", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "73c45150f6acae55c66df53a294c863df1dbea9dfa21848d2383b4e70c93530f"}, "url": "/docs/compare/?release=9.2.15#9.2.15-45c3d647a720fc94", "source_url": "/docs/release/9.2.15/#id-1.11.6.14.5"}, {"db_id": "e2e461e6d19df39a870d1ec1fd662df3", "kind": "equivalent", "version": "9.1.20", "label": "9.1.20", "title": "使规划器能够处理由索引顾问插件建议的假设性 GIN 索引", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "73c45150f6acae55c66df53a294c863df1dbea9dfa21848d2383b4e70c93530f"}, "url": "/docs/compare/?release=9.1.20#9.1.20-45c3d647a720fc94", "source_url": "/docs/release/9.1.20/#id-1.11.6.9.5"}]}, {"id": "9.4.6-8e58b7ae4aace536", "cves": [], "html": "<p>加速 <code>EXPLAIN</code> 和规则转储中唯一表别名的生成，并确保生成的别名不超过 <code>NAMEDATALEN</code>（Tom Lane）</p>", "text": "加速 EXPLAIN 和规则转储中唯一表别名的生成，并确保生成的别名不超过 NAMEDATALEN（Tom Lane）", "title": "加速 EXPLAIN 和规则转储中唯一表别名的生成，并确保生成的别名不超过 NAMEDATALEN", "commits": [], "section": "变更", "category": "performance", "source_url": "/docs/release/9.4.6/#id-1.11.6.25.5", "source_hash": "d24dc1f17a25958bf227ecf507c022684d3476570339ee9d66a10d516488effe", "section_path": ["变更"], "commit_groups": [["34d4f49bb", "8004953b5", "a6c4c07fc", "faf18a905"]], "identity_text": "Speed up generation of unique table aliases in EXPLAIN and rule dumping, and ensure that generated aliases do not exceed NAMEDATALEN (Tom Lane)", "commit_aliases": ["34d4f49bb", "8004953b5", "a6c4c07fc", "faf18a905"], "source_commits": ["a6c4c07fc"], "source_entry_id": "9.4.6/changes/016", "db_id": "c5f846ef2915a0a17f3217be11f3d120", "patch_ids": ["0a75f921e861869deef01ced3675f2d3"], "statement_hash": "ffe2dc752294f7f3f3418ec829bcee8f4e1cb53f0bdc8092d4b064523e18b5f8", "relations": [{"rule": 2, "type": "equivalent", "target": "37a88fb6c1cb19b20df54b17bc871710", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ffe2dc752294f7f3f3418ec829bcee8f4e1cb53f0bdc8092d4b064523e18b5f8"}}], "version": "9.4.6", "category_label": "性能改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "37a88fb6c1cb19b20df54b17bc871710", "kind": "equivalent", "version": "9.3.11", "label": "9.3.11", "title": "加快EXPLAIN和规则转储中唯一表别名的生成速度，并确保生成的别名不超过NAMEDATALEN", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ffe2dc752294f7f3f3418ec829bcee8f4e1cb53f0bdc8092d4b064523e18b5f8"}, "url": "/docs/compare/?release=9.3.11#9.3.11-5e4e98d2508ebf7c", "source_url": "/docs/release/9.3.11/#id-1.11.6.19.5"}]}, {"id": "9.4.6-a640c2833a255b32", "cves": [], "html": "<p>修复 <code>ROW()</code> 和 <code>VALUES()</code> 列表中整行 Var 的转储（Tom Lane）</p>", "text": "修复 ROW() 和 VALUES() 列表中整行 Var 的转储（Tom Lane）", "title": "修复 ROW() 和 VALUES() 列表中整行 Var 的转储", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.4.6/#id-1.11.6.25.5", "source_hash": "39ebf05775b62edea83ef93cd93e92ec1800b7c113dbee5d8fb609a641ac794b", "section_path": ["变更"], "commit_groups": [["0489a048d", "7745bc352", "7b21d1bca", "7d0e87208", "d33ab56b0", "ed824cf80"]], "identity_text": "Fix dumping of whole-row Vars in ROW() and VALUES() lists (Tom Lane)", "commit_aliases": ["0489a048d", "7745bc352", "7b21d1bca", "7d0e87208", "d33ab56b0", "ed824cf80"], "source_commits": ["d33ab56b0"], "source_entry_id": "9.4.6/changes/017", "db_id": "05bbd5dd73a99ff0606527f0c5f2a81a", "patch_ids": ["49ec1d1668265efd029245bceabf4aa2"], "statement_hash": "8dd46726a9ed4a1dc09fbb8c78587721848cee16fe4e42baf45e1b38e2caca3b", "relations": [{"rule": 2, "type": "equivalent", "target": "1318d06dfff58b1b58ed513ade754a1e", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "8dd46726a9ed4a1dc09fbb8c78587721848cee16fe4e42baf45e1b38e2caca3b"}}, {"rule": 2, "type": "equivalent", "target": "5bdc19a42f438197d57dbc69fed4f6ff", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "8dd46726a9ed4a1dc09fbb8c78587721848cee16fe4e42baf45e1b38e2caca3b"}}, {"rule": 2, "type": "equivalent", "target": "c6068508f3be0f5db9055e6f5c6c19dd", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "8dd46726a9ed4a1dc09fbb8c78587721848cee16fe4e42baf45e1b38e2caca3b"}}], "version": "9.4.6", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "5bdc19a42f438197d57dbc69fed4f6ff", "kind": "equivalent", "version": "9.3.11", "label": "9.3.11", "title": "修复ROW()和VALUES()列表中整行 Var 的转储问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "8dd46726a9ed4a1dc09fbb8c78587721848cee16fe4e42baf45e1b38e2caca3b"}, "url": "/docs/compare/?release=9.3.11#9.3.11-1b0ea26a781e542e", "source_url": "/docs/release/9.3.11/#id-1.11.6.19.5"}, {"db_id": "1318d06dfff58b1b58ed513ade754a1e", "kind": "equivalent", "version": "9.2.15", "label": "9.2.15", "title": "修复ROW()和VALUES()列表中整行 Var 的转储问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "8dd46726a9ed4a1dc09fbb8c78587721848cee16fe4e42baf45e1b38e2caca3b"}, "url": "/docs/compare/?release=9.2.15#9.2.15-1b0ea26a781e542e", "source_url": "/docs/release/9.2.15/#id-1.11.6.14.5"}, {"db_id": "c6068508f3be0f5db9055e6f5c6c19dd", "kind": "equivalent", "version": "9.1.20", "label": "9.1.20", "title": "修复ROW()和VALUES()列表中整行 Var 的转储问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "8dd46726a9ed4a1dc09fbb8c78587721848cee16fe4e42baf45e1b38e2caca3b"}, "url": "/docs/compare/?release=9.1.20#9.1.20-1b0ea26a781e542e", "source_url": "/docs/release/9.1.20/#id-1.11.6.9.5"}]}, {"id": "9.4.6-78e6c1ef1b721ce3", "cves": [], "html": "<p>把负无穷日期和时间戳转换为 <code>json</code> 或 <code>jsonb</code> 时曾错误地将其呈现为正无穷（Tom Lane）</p>", "text": "把负无穷日期和时间戳转换为 json 或 jsonb 时曾错误地将其呈现为正无穷（Tom Lane）", "title": "把负无穷日期和时间戳转换为 json 或 jsonb 时曾错误地将其呈现为正无穷", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.4.6/#id-1.11.6.25.5", "source_hash": "00747f29eedf6f179279ed17d55a257c535317994a415215466f93a9dae0ded0", "section_path": ["变更"], "commit_groups": [["4f33572ee", "5fb20a5ba", "d43554258"]], "identity_text": "Translation of minus-infinity dates and timestamps to json or jsonb incorrectly rendered them as plus-infinity (Tom Lane)", "commit_aliases": ["4f33572ee", "5fb20a5ba", "d43554258"], "source_commits": ["4f33572ee"], "source_entry_id": "9.4.6/changes/018", "db_id": "2e617f608d19831405c057b8448e478c", "patch_ids": ["9f3cddd8c6c3f228d153da8ae9bc9bb6"], "statement_hash": "cc457fad691a1874891125b0b039a0735d7e768e9163d8bc19bff0780884db30", "relations": [], "version": "9.4.6", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.4.6-55bdd2ba2c7960f3", "cves": [], "html": "<p>修复 <code>numeric</code> 除法中可能的内部溢出（Dean Rasheed）</p>", "text": "修复 numeric 除法中可能的内部溢出（Dean Rasheed）", "title": "修复 numeric 除法中可能的内部溢出", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.4.6/#id-1.11.6.25.5", "source_hash": "492b087f1cfc8bcc99ebceb3d6d47c55ce523851519fcca3c43d9c08cf891c4d", "section_path": ["变更"], "commit_groups": [["5f10b7a60", "728a2ac21", "7df6dc405", "80be41979", "c47bdb372", "cc95595e0"]], "identity_text": "Fix possible internal overflow in numeric division (Dean Rasheed)", "commit_aliases": ["5f10b7a60", "728a2ac21", "7df6dc405", "80be41979", "c47bdb372", "cc95595e0"], "source_commits": ["cc95595e0"], "source_entry_id": "9.4.6/changes/019", "db_id": "e6e02450415d40d55c6e2ee3e634f42a", "patch_ids": ["d27dc40620324886cca83d651fb83790"], "statement_hash": "48908b913f749a6623b7ec3d9c4ed0ab04ac432bda3225f96f030591d2acebdb", "relations": [{"rule": 2, "type": "equivalent", "target": "76b2edad38a2983906ca94c72c39a891", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "48908b913f749a6623b7ec3d9c4ed0ab04ac432bda3225f96f030591d2acebdb"}}, {"rule": 2, "type": "equivalent", "target": "850111e9a2c79f690d5cf1d90bf208f1", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "48908b913f749a6623b7ec3d9c4ed0ab04ac432bda3225f96f030591d2acebdb"}}, {"rule": 2, "type": "equivalent", "target": "870daffe63d191d7f29e9a8dfd59b24a", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "48908b913f749a6623b7ec3d9c4ed0ab04ac432bda3225f96f030591d2acebdb"}}], "version": "9.4.6", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "850111e9a2c79f690d5cf1d90bf208f1", "kind": "equivalent", "version": "9.3.11", "label": "9.3.11", "title": "修复numeric除法中可能出现的内部溢出", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "48908b913f749a6623b7ec3d9c4ed0ab04ac432bda3225f96f030591d2acebdb"}, "url": "/docs/compare/?release=9.3.11#9.3.11-0cbc3b4a6cd8a49e", "source_url": "/docs/release/9.3.11/#id-1.11.6.19.5"}, {"db_id": "870daffe63d191d7f29e9a8dfd59b24a", "kind": "equivalent", "version": "9.2.15", "label": "9.2.15", "title": "修复numeric除法中可能出现的内部溢出", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "48908b913f749a6623b7ec3d9c4ed0ab04ac432bda3225f96f030591d2acebdb"}, "url": "/docs/compare/?release=9.2.15#9.2.15-0cbc3b4a6cd8a49e", "source_url": "/docs/release/9.2.15/#id-1.11.6.14.5"}, {"db_id": "76b2edad38a2983906ca94c72c39a891", "kind": "equivalent", "version": "9.1.20", "label": "9.1.20", "title": "修复numeric除法中可能出现的内部溢出", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "48908b913f749a6623b7ec3d9c4ed0ab04ac432bda3225f96f030591d2acebdb"}, "url": "/docs/compare/?release=9.1.20#9.1.20-0cbc3b4a6cd8a49e", "source_url": "/docs/release/9.1.20/#id-1.11.6.9.5"}]}, {"id": "9.4.6-b7701ff7f698f0fe", "cves": [], "html": "<p>修复正则表达式先行约束中括号内限制的执行（Tom Lane）</p>\n<p>根据手册，先行约束不允许包含反向引用，且其中的括号始终被视为非捕获括号。但代码未能正确处理括号子表达式内的这些情况，会给出意外的结果。</p>", "text": "修复正则表达式先行约束中括号内限制的执行（Tom Lane） 根据手册，先行约束不允许包含反向引用，且其中的括号始终被视为非捕获括号。但代码未能正确处理括号子表达式内的这些情况，会给出意外的结果。", "title": "修复正则表达式先行约束中括号内限制的执行", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.4.6/#id-1.11.6.25.5", "source_hash": "4254b0e26450f11ffb4c5d0c4aa1c5fa906c4cd93fadfa6c65efbfab7120890d", "section_path": ["变更"], "commit_groups": [["03ee6591d", "44fc25153", "8db652359", "a43b4ab11", "bfb10db81", "f69c01f2c"]], "identity_text": "Fix enforcement of restrictions inside parentheses within regular expression lookahead constraints (Tom Lane) Lookahead constraints aren't allowed to contain backrefs, and parentheses within them are always considered non-capturing, according to the manual. However, the code failed to handle these cases properly inside a parenthesized subexpression, and would give unexpected results.", "commit_aliases": ["03ee6591d", "44fc25153", "8db652359", "a43b4ab11", "bfb10db81", "f69c01f2c"], "source_commits": ["f69c01f2c"], "source_entry_id": "9.4.6/changes/020", "db_id": "bfec6c594f480e5fdd6220e1c1de14f1", "patch_ids": ["179eae571c71ada7a35e9959a1af57ce"], "statement_hash": "95668fcee284dc6f5ce15ec59115c1adc63bf0683d92359d1b8b5b899eae9d5d", "relations": [{"rule": 2, "type": "equivalent", "target": "9617e26480065522fa3f78e9229652ee", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "95668fcee284dc6f5ce15ec59115c1adc63bf0683d92359d1b8b5b899eae9d5d"}}, {"rule": 2, "type": "equivalent", "target": "a40490aafd342d8960ede34951e7c749", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "95668fcee284dc6f5ce15ec59115c1adc63bf0683d92359d1b8b5b899eae9d5d"}}, {"rule": 2, "type": "equivalent", "target": "d41c612b765d8250a4cb87f1e3f331ce", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "95668fcee284dc6f5ce15ec59115c1adc63bf0683d92359d1b8b5b899eae9d5d"}}], "version": "9.4.6", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "d41c612b765d8250a4cb87f1e3f331ce", "kind": "equivalent", "version": "9.3.11", "label": "9.3.11", "title": "修复正则表达式先行约束中括号内限制的执行", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "95668fcee284dc6f5ce15ec59115c1adc63bf0683d92359d1b8b5b899eae9d5d"}, "url": "/docs/compare/?release=9.3.11#9.3.11-b7701ff7f698f0fe", "source_url": "/docs/release/9.3.11/#id-1.11.6.19.5"}, {"db_id": "a40490aafd342d8960ede34951e7c749", "kind": "equivalent", "version": "9.2.15", "label": "9.2.15", "title": "修复正则表达式先行约束中括号内限制的执行", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "95668fcee284dc6f5ce15ec59115c1adc63bf0683d92359d1b8b5b899eae9d5d"}, "url": "/docs/compare/?release=9.2.15#9.2.15-b7701ff7f698f0fe", "source_url": "/docs/release/9.2.15/#id-1.11.6.14.5"}, {"db_id": "9617e26480065522fa3f78e9229652ee", "kind": "equivalent", "version": "9.1.20", "label": "9.1.20", "title": "修复正则表达式先行约束中括号内限制的执行", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "95668fcee284dc6f5ce15ec59115c1adc63bf0683d92359d1b8b5b899eae9d5d"}, "url": "/docs/compare/?release=9.1.20#9.1.20-b7701ff7f698f0fe", "source_url": "/docs/release/9.1.20/#id-1.11.6.9.5"}]}, {"id": "9.4.6-a6de31ebddea75db", "cves": [], "html": "<p>把正则表达式转换为索引扫描边界时，可能从包含先行约束的正则表达式产生错误的边界（Tom Lane）</p>", "text": "把正则表达式转换为索引扫描边界时，可能从包含先行约束的正则表达式产生错误的边界（Tom Lane）", "title": "把正则表达式转换为索引扫描边界时，可能从包含先行约束的正则表达式产生错误的边界", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.4.6/#id-1.11.6.25.5", "source_hash": "658d2855fc1ca8afb49b003ff646dbd95058f4c6f010ce5d28d0e4e460df930e", "section_path": ["变更"], "commit_groups": [["05e62ff59", "0ce829caf", "43e36f8dd", "52f21c588", "9f1e642d5", "e69d4756e"]], "identity_text": "Conversion of regular expressions to indexscan bounds could produce incorrect bounds from regexps containing lookahead constraints (Tom Lane)", "commit_aliases": ["05e62ff59", "0ce829caf", "43e36f8dd", "52f21c588", "9f1e642d5", "e69d4756e"], "source_commits": ["52f21c588"], "source_entry_id": "9.4.6/changes/021", "db_id": "153decd14a48f13c2d5478fd9d2e3087", "patch_ids": ["96080f1836be2b0525e7d4d934d8451c"], "statement_hash": "d31a3a9a4ce2a64448176075466c01e49a36d1af492041b99f16bd00726a30fa", "relations": [{"rule": 2, "type": "equivalent", "target": "07bb6416b9ff04c6b8920f6390a9b454", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "d31a3a9a4ce2a64448176075466c01e49a36d1af492041b99f16bd00726a30fa"}}, {"rule": 2, "type": "equivalent", "target": "1f6a8fc785e35fd9f2fb6bcf86a02da0", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "d31a3a9a4ce2a64448176075466c01e49a36d1af492041b99f16bd00726a30fa"}}, {"rule": 2, "type": "equivalent", "target": "95151408ba1ed314c79c478f111070eb", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "d31a3a9a4ce2a64448176075466c01e49a36d1af492041b99f16bd00726a30fa"}}], "version": "9.4.6", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "95151408ba1ed314c79c478f111070eb", "kind": "equivalent", "version": "9.3.11", "label": "9.3.11", "title": "将正则表达式转换为索引扫描边界时，可能从包含向前看约束的正则表达式生成错误边界", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "d31a3a9a4ce2a64448176075466c01e49a36d1af492041b99f16bd00726a30fa"}, "url": "/docs/compare/?release=9.3.11#9.3.11-c1ec7b0dad9afdd0", "source_url": "/docs/release/9.3.11/#id-1.11.6.19.5"}, {"db_id": "1f6a8fc785e35fd9f2fb6bcf86a02da0", "kind": "equivalent", "version": "9.2.15", "label": "9.2.15", "title": "将正则表达式转换为索引扫描边界时，可能从包含向前看约束的正则表达式生成错误边界", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "d31a3a9a4ce2a64448176075466c01e49a36d1af492041b99f16bd00726a30fa"}, "url": "/docs/compare/?release=9.2.15#9.2.15-c1ec7b0dad9afdd0", "source_url": "/docs/release/9.2.15/#id-1.11.6.14.5"}, {"db_id": "07bb6416b9ff04c6b8920f6390a9b454", "kind": "equivalent", "version": "9.1.20", "label": "9.1.20", "title": "将正则表达式转换为索引扫描边界时，可能从包含向前看约束的正则表达式生成错误边界", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "d31a3a9a4ce2a64448176075466c01e49a36d1af492041b99f16bd00726a30fa"}, "url": "/docs/compare/?release=9.1.20#9.1.20-c1ec7b0dad9afdd0", "source_url": "/docs/release/9.1.20/#id-1.11.6.9.5"}]}, {"id": "9.4.6-82d8694e58be71f9", "cves": ["CVE-2007-4772"], "html": "<p>修复正则表达式编译器使其处理约束弧构成的环（Tom Lane）</p>\n<p>为 CVE-2007-4772 添加的代码既不完整——未能处理涉及多个状态的环——又不正确——可能导致断言失败（不过在非断言构建中似乎没有不良后果）。多状态环会使编译器一直运行，直到查询被取消或达到状态数过多的错误条件。</p>", "text": "修复正则表达式编译器使其处理约束弧构成的环（Tom Lane） 为 CVE-2007-4772 添加的代码既不完整——未能处理涉及多个状态的环——又不正确——可能导致断言失败（不过在非断言构建中似乎没有不良后果）。多状态环会使编译器一直运行，直到查询被取消或达到状态数过多的错误条件。", "title": "修复正则表达式编译器使其处理约束弧构成的环", "commits": [], "section": "变更", "category": "security", "source_url": "/docs/release/9.4.6/#id-1.11.6.25.5", "source_hash": "fe426a2975f0b0778ee2d8eefaf0b7e18927db9731c09b39b26663bf28960fe6", "section_path": ["变更"], "commit_groups": [["0889e1857", "48789c5d2", "6e4dda796", "83c34825e", "b6eb5fc40", "d394f12c0"]], "identity_text": "Fix regular-expression compiler to handle loops of constraint arcs (Tom Lane) The code added for CVE-2007-4772 was both incomplete, in that it didn't handle loops involving more than one state, and incorrect, in that it could cause assertion failures (though there seem to be no bad consequences of that in a non-assert build). Multi-state loops would cause the compiler to run until the query was canceled or it reached the too-many-states error condition.", "commit_aliases": ["0889e1857", "48789c5d2", "6e4dda796", "83c34825e", "b6eb5fc40", "d394f12c0"], "source_commits": ["b6eb5fc40"], "source_entry_id": "9.4.6/changes/022", "db_id": "6db5628506239001ed8ac0da810f6bda", "patch_ids": ["dbfcebd230ed3b80e16db0f292b12d22"], "statement_hash": "8143ee095791cdb83c00e7313db15616f9c11f7776360c9467dddb8b137d7f38", "relations": [{"rule": 2, "type": "equivalent", "target": "6a91b9ae443e2c543ca4c57cc8205b07", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "8143ee095791cdb83c00e7313db15616f9c11f7776360c9467dddb8b137d7f38"}}, {"rule": 2, "type": "equivalent", "target": "b74cab109e0d8e965daa8427ca0b3604", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "8143ee095791cdb83c00e7313db15616f9c11f7776360c9467dddb8b137d7f38"}}, {"rule": 2, "type": "equivalent", "target": "fd8566b91fd55ceecc46742112b2be1b", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "8143ee095791cdb83c00e7313db15616f9c11f7776360c9467dddb8b137d7f38"}}], "version": "9.4.6", "category_label": "安全相关", "also_in": [], "variants": [], "related_changes": [{"db_id": "b74cab109e0d8e965daa8427ca0b3604", "kind": "equivalent", "version": "9.3.11", "label": "9.3.11", "title": "修复正则表达式编译器使其处理约束弧构成的环", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "8143ee095791cdb83c00e7313db15616f9c11f7776360c9467dddb8b137d7f38"}, "url": "/docs/compare/?release=9.3.11#9.3.11-82d8694e58be71f9", "source_url": "/docs/release/9.3.11/#id-1.11.6.19.5"}, {"db_id": "6a91b9ae443e2c543ca4c57cc8205b07", "kind": "equivalent", "version": "9.2.15", "label": "9.2.15", "title": "修复正则表达式编译器使其处理约束弧构成的环", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "8143ee095791cdb83c00e7313db15616f9c11f7776360c9467dddb8b137d7f38"}, "url": "/docs/compare/?release=9.2.15#9.2.15-82d8694e58be71f9", "source_url": "/docs/release/9.2.15/#id-1.11.6.14.5"}, {"db_id": "fd8566b91fd55ceecc46742112b2be1b", "kind": "equivalent", "version": "9.1.20", "label": "9.1.20", "title": "修复正则表达式编译器使其处理约束弧构成的环", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "8143ee095791cdb83c00e7313db15616f9c11f7776360c9467dddb8b137d7f38"}, "url": "/docs/compare/?release=9.1.20#9.1.20-82d8694e58be71f9", "source_url": "/docs/release/9.1.20/#id-1.11.6.9.5"}]}, {"id": "9.4.6-a4831e5eb18f1eae", "cves": [], "html": "<p>改进正则表达式编译器中的内存用量统计（Tom Lane）</p>\n<p>这使代码在一些以前耗费不合理时间和内存量的情况下发出 <span>“<span>regular expression is too complex</span>”</span> 错误。</p>", "text": "改进正则表达式编译器中的内存用量统计（Tom Lane） 这使代码在一些以前耗费不合理时间和内存量的情况下发出 “regular expression is too complex” 错误。", "title": "改进正则表达式编译器中的内存用量统计", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.4.6/#id-1.11.6.25.5", "source_hash": "48c12eb4699b41eb2d9598246cbabe30f47ae69510150fa6e1b95f8e8499bc43", "section_path": ["变更"], "commit_groups": [["0ecf4a9e5", "4e4610a8a", "538b3b8b3", "ad5e5a62a", "b94c2b6a6", "e91cfdead"]], "identity_text": "Improve memory-usage accounting in regular-expression compiler (Tom Lane) This causes the code to emit regular expression is too complex errors in some cases that previously used unreasonable amounts of time and memory.", "commit_aliases": ["0ecf4a9e5", "4e4610a8a", "538b3b8b3", "ad5e5a62a", "b94c2b6a6", "e91cfdead"], "source_commits": ["0ecf4a9e5"], "source_entry_id": "9.4.6/changes/023", "db_id": "8f01f9343291ecc14a285721f7d45fb7", "patch_ids": ["0b7453b1749b56b4de504b8fc26cbaeb"], "statement_hash": "0e8f3b6e45ded4c12118acd6786077b19714155aef944f936ffd615ec4781ab1", "relations": [{"rule": 2, "type": "equivalent", "target": "50c316f11f0f5e38247282f9ad112302", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0e8f3b6e45ded4c12118acd6786077b19714155aef944f936ffd615ec4781ab1"}}, {"rule": 2, "type": "equivalent", "target": "aab3f274a056f7a14bd1126dfb0a8f61", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0e8f3b6e45ded4c12118acd6786077b19714155aef944f936ffd615ec4781ab1"}}, {"rule": 2, "type": "equivalent", "target": "edf10a1f4e39420bf38bf597e6036fc5", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0e8f3b6e45ded4c12118acd6786077b19714155aef944f936ffd615ec4781ab1"}}], "version": "9.4.6", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "edf10a1f4e39420bf38bf597e6036fc5", "kind": "equivalent", "version": "9.3.11", "label": "9.3.11", "title": "改进正则表达式编译器中的内存用量统计", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0e8f3b6e45ded4c12118acd6786077b19714155aef944f936ffd615ec4781ab1"}, "url": "/docs/compare/?release=9.3.11#9.3.11-a4831e5eb18f1eae", "source_url": "/docs/release/9.3.11/#id-1.11.6.19.5"}, {"db_id": "50c316f11f0f5e38247282f9ad112302", "kind": "equivalent", "version": "9.2.15", "label": "9.2.15", "title": "改进正则表达式编译器中的内存用量统计", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0e8f3b6e45ded4c12118acd6786077b19714155aef944f936ffd615ec4781ab1"}, "url": "/docs/compare/?release=9.2.15#9.2.15-a4831e5eb18f1eae", "source_url": "/docs/release/9.2.15/#id-1.11.6.14.5"}, {"db_id": "aab3f274a056f7a14bd1126dfb0a8f61", "kind": "equivalent", "version": "9.1.20", "label": "9.1.20", "title": "改进正则表达式编译器中的内存用量统计", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0e8f3b6e45ded4c12118acd6786077b19714155aef944f936ffd615ec4781ab1"}, "url": "/docs/compare/?release=9.1.20#9.1.20-a4831e5eb18f1eae", "source_url": "/docs/release/9.1.20/#id-1.11.6.9.5"}]}, {"id": "9.4.6-dbfc14f2e9175269", "cves": [], "html": "<p>改进正则表达式编译器的性能（Tom Lane）</p>", "text": "改进正则表达式编译器的性能（Tom Lane）", "title": "改进正则表达式编译器的性能", "commits": [], "section": "变更", "category": "performance", "source_url": "/docs/release/9.4.6/#id-1.11.6.25.5", "source_hash": "f104c1347bc1ab27187ac36fa7d02eeb3be4c798a949087748c1447a45ed0b04", "section_path": ["变更"], "commit_groups": [["067f96fe3", "1bb0fbca3", "2a8d6e4d0", "6a7153661", "9774fda86", "a257b808a"], ["18b032f8f", "5503e6e0f", "677e64cb8", "8cf4eed0b", "e9cf3dc30", "f5b7d103b"], ["296241635", "579840ca0", "a2ad467ae", "b00c79b5b", "bdde29e1c", "cff9e0659"]], "identity_text": "Improve performance of regular-expression compiler (Tom Lane)", "commit_aliases": ["067f96fe3", "18b032f8f", "1bb0fbca3", "296241635", "2a8d6e4d0", "5503e6e0f", "579840ca0", "677e64cb8", "6a7153661", "8cf4eed0b", "9774fda86", "a257b808a", "a2ad467ae", "b00c79b5b", "bdde29e1c", "cff9e0659", "e9cf3dc30", "f5b7d103b"], "source_commits": ["8cf4eed0b", "9774fda86", "bdde29e1c"], "source_entry_id": "9.4.6/changes/024", "db_id": "66a6c4c3d71299504c7825ca11d1d73a", "patch_ids": ["4253616114299a26b802a998303e77d8", "9d7290bfb41b37d99971d9f95fb6ce3a", "c77e927601bac121a7175fb4fbed4f32"], "statement_hash": "6911061a9a9c267878a194b5f8eec4a5b9a60ce0260c6179b28ac2c97dc2c693", "relations": [{"rule": 2, "type": "equivalent", "target": "211333fd4abd90a0768476dd05067640", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "6911061a9a9c267878a194b5f8eec4a5b9a60ce0260c6179b28ac2c97dc2c693"}}, {"rule": 2, "type": "equivalent", "target": "259a5b87dfa4c583b0d6339fc5bdc200", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "6911061a9a9c267878a194b5f8eec4a5b9a60ce0260c6179b28ac2c97dc2c693"}}, {"rule": 2, "type": "equivalent", "target": "2681a4bf07c62e79df54ed97aa35ec74", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "6911061a9a9c267878a194b5f8eec4a5b9a60ce0260c6179b28ac2c97dc2c693"}}], "version": "9.4.6", "category_label": "性能改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "259a5b87dfa4c583b0d6339fc5bdc200", "kind": "equivalent", "version": "9.3.11", "label": "9.3.11", "title": "改进正则表达式编译器的性能", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "6911061a9a9c267878a194b5f8eec4a5b9a60ce0260c6179b28ac2c97dc2c693"}, "url": "/docs/compare/?release=9.3.11#9.3.11-dbfc14f2e9175269", "source_url": "/docs/release/9.3.11/#id-1.11.6.19.5"}, {"db_id": "211333fd4abd90a0768476dd05067640", "kind": "equivalent", "version": "9.2.15", "label": "9.2.15", "title": "改进正则表达式编译器的性能", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "6911061a9a9c267878a194b5f8eec4a5b9a60ce0260c6179b28ac2c97dc2c693"}, "url": "/docs/compare/?release=9.2.15#9.2.15-dbfc14f2e9175269", "source_url": "/docs/release/9.2.15/#id-1.11.6.14.5"}, {"db_id": "2681a4bf07c62e79df54ed97aa35ec74", "kind": "equivalent", "version": "9.1.20", "label": "9.1.20", "title": "改进正则表达式编译器的性能", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "6911061a9a9c267878a194b5f8eec4a5b9a60ce0260c6179b28ac2c97dc2c693"}, "url": "/docs/compare/?release=9.1.20#9.1.20-dbfc14f2e9175269", "source_url": "/docs/release/9.1.20/#id-1.11.6.9.5"}]}, {"id": "9.4.6-d2d542d258130ed6", "cves": [], "html": "<p>使 <code>log_line_prefix</code> 中的 <code>%h</code> 和 <code>%r</code> 转义对因 <code>log_connections</code> 而发出的消息也生效（Tom Lane）</p>\n<p>以前，<code>%h</code>/<code>%r</code> 要等到新会话发出<span>“<span>connection received</span>”</span>日志消息之后才开始生效；现在它们对该消息也生效。</p>", "text": "使 log_line_prefix 中的 %h 和 %r 转义对因 log_connections 而发出的消息也生效（Tom Lane） 以前，%h/%r 要等到新会话发出“connection received”日志消息之后才开始生效；现在它们对该消息也生效。", "title": "使 log_line_prefix 中的 %h 和 %r 转义对因 log_connections 而发出的消息也生效", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.4.6/#id-1.11.6.25.5", "source_hash": "524ab5fc9127fa1fe1203725d7a634010f9983154f06673adeb85dfbacb1b42b", "section_path": ["变更"], "commit_groups": [], "identity_text": "Make %h and %r escapes in log_line_prefix work for messages emitted due to log_connections (Tom Lane) Previously, %h/%r started to work just after a new session had emitted the connection received log message; now they work for that message too.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.4.6/changes/025", "db_id": "7caf7f1373b5cb1b3c69c8e5a4f8f302", "patch_ids": [], "statement_hash": "fde27ff894818314fdc8ea270864cc6f5f13055f8344c2ef3495f3d94f0a75cc", "relations": [{"rule": 2, "type": "equivalent", "target": "6cc1fd169e073e22555fc531aff02d28", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "fde27ff894818314fdc8ea270864cc6f5f13055f8344c2ef3495f3d94f0a75cc"}}, {"rule": 2, "type": "equivalent", "target": "7cbb23e7d2754a3bd8e761e886e63406", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "fde27ff894818314fdc8ea270864cc6f5f13055f8344c2ef3495f3d94f0a75cc"}}, {"rule": 2, "type": "equivalent", "target": "885ed48fb5fbfb10eada458542befc93", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "fde27ff894818314fdc8ea270864cc6f5f13055f8344c2ef3495f3d94f0a75cc"}}, {"rule": 2, "type": "equivalent", "target": "dbb4d11812f0944feba47107395dba8f", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "fde27ff894818314fdc8ea270864cc6f5f13055f8344c2ef3495f3d94f0a75cc"}}], "version": "9.4.6", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "6cc1fd169e073e22555fc531aff02d28", "kind": "equivalent", "version": "9.5.1", "label": "9.5.1", "title": "使 log_line_prefix 中的 %h 和 %r 转义对因 log_connections 而发出的消息也生效", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "fde27ff894818314fdc8ea270864cc6f5f13055f8344c2ef3495f3d94f0a75cc"}, "url": "/docs/compare/?release=9.5.1#9.5.1-d2d542d258130ed6", "source_url": "/docs/release/9.5.1/#id-1.11.6.29.5"}, {"db_id": "885ed48fb5fbfb10eada458542befc93", "kind": "equivalent", "version": "9.3.11", "label": "9.3.11", "title": "使 log_line_prefix 中的 %h 和 %r 转义对因 log_connections 而发出的消息也生效", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "fde27ff894818314fdc8ea270864cc6f5f13055f8344c2ef3495f3d94f0a75cc"}, "url": "/docs/compare/?release=9.3.11#9.3.11-d2d542d258130ed6", "source_url": "/docs/release/9.3.11/#id-1.11.6.19.5"}, {"db_id": "7cbb23e7d2754a3bd8e761e886e63406", "kind": "equivalent", "version": "9.2.15", "label": "9.2.15", "title": "使 log_line_prefix 中的 %h 和 %r 转义对因 log_connections 而发出的消息也生效", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "fde27ff894818314fdc8ea270864cc6f5f13055f8344c2ef3495f3d94f0a75cc"}, "url": "/docs/compare/?release=9.2.15#9.2.15-d2d542d258130ed6", "source_url": "/docs/release/9.2.15/#id-1.11.6.14.5"}, {"db_id": "dbb4d11812f0944feba47107395dba8f", "kind": "equivalent", "version": "9.1.20", "label": "9.1.20", "title": "使 log_line_prefix 中的 %h 和 %r 转义对因 log_connections 而发出的消息也生效", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "fde27ff894818314fdc8ea270864cc6f5f13055f8344c2ef3495f3d94f0a75cc"}, "url": "/docs/compare/?release=9.1.20#9.1.20-d2d542d258130ed6", "source_url": "/docs/release/9.1.20/#id-1.11.6.9.5"}]}, {"id": "9.4.6-178007adf94e2ff7", "cves": [], "html": "<p>在 Windows 上，确保不需要共享内存映射句柄的子进程关闭该句柄（Tom Lane、Amit Kapila）</p>\n<p>只要 <code>logging_collector</code> 处于开启状态，这一疏忽就会导致无法从崩溃中恢复。</p>", "text": "在 Windows 上，确保不需要共享内存映射句柄的子进程关闭该句柄（Tom Lane、Amit Kapila） 只要 logging_collector 处于开启状态，这一疏忽就会导致无法从崩溃中恢复。", "title": "在 Windows 上，确保不需要共享内存映射句柄的子进程关闭该句柄", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.4.6/#id-1.11.6.25.5", "source_hash": "d60f73c3b88a7436501b988fb8df35682bec47b0560ae6a5bdb918cafe9fb595", "section_path": ["变更"], "commit_groups": [["39ac29394", "39cd1bdb8", "44a6e24fb", "869f693a3", "b0d858359", "bc6b03bb8"]], "identity_text": "On Windows, ensure the shared-memory mapping handle gets closed in child processes that don't need it (Tom Lane, Amit Kapila) This oversight resulted in failure to recover from crashes whenever logging_collector is turned on.", "commit_aliases": ["39ac29394", "39cd1bdb8", "44a6e24fb", "869f693a3", "b0d858359", "bc6b03bb8"], "source_commits": ["44a6e24fb"], "source_entry_id": "9.4.6/changes/026", "db_id": "1793486797112ed5709de3c3426ebe4c", "patch_ids": ["b74b63104163519184721d97c611f0bd"], "statement_hash": "64f7e5acae1f0182efd4777c70f81754be0ce297efa06fce61b8d1d5a8f8e6aa", "relations": [{"rule": 2, "type": "equivalent", "target": "5e8b4ba630ad065c84eff88165870fc7", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "64f7e5acae1f0182efd4777c70f81754be0ce297efa06fce61b8d1d5a8f8e6aa"}}, {"rule": 2, "type": "equivalent", "target": "8741c15522c5c8c3e8ec003f4a32524f", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "64f7e5acae1f0182efd4777c70f81754be0ce297efa06fce61b8d1d5a8f8e6aa"}}, {"rule": 2, "type": "equivalent", "target": "ae111462fc415f21d561a6e21fb59c08", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "64f7e5acae1f0182efd4777c70f81754be0ce297efa06fce61b8d1d5a8f8e6aa"}}], "version": "9.4.6", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "5e8b4ba630ad065c84eff88165870fc7", "kind": "equivalent", "version": "9.3.11", "label": "9.3.11", "title": "在 Windows 上，确保不需要共享内存映射句柄的子进程关闭该句柄", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "64f7e5acae1f0182efd4777c70f81754be0ce297efa06fce61b8d1d5a8f8e6aa"}, "url": "/docs/compare/?release=9.3.11#9.3.11-178007adf94e2ff7", "source_url": "/docs/release/9.3.11/#id-1.11.6.19.5"}, {"db_id": "8741c15522c5c8c3e8ec003f4a32524f", "kind": "equivalent", "version": "9.2.15", "label": "9.2.15", "title": "在 Windows 上，确保不需要共享内存映射句柄的子进程关闭该句柄", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "64f7e5acae1f0182efd4777c70f81754be0ce297efa06fce61b8d1d5a8f8e6aa"}, "url": "/docs/compare/?release=9.2.15#9.2.15-178007adf94e2ff7", "source_url": "/docs/release/9.2.15/#id-1.11.6.14.5"}, {"db_id": "ae111462fc415f21d561a6e21fb59c08", "kind": "equivalent", "version": "9.1.20", "label": "9.1.20", "title": "在 Windows 上，确保不需要共享内存映射句柄的子进程关闭该句柄", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "64f7e5acae1f0182efd4777c70f81754be0ce297efa06fce61b8d1d5a8f8e6aa"}, "url": "/docs/compare/?release=9.1.20#9.1.20-178007adf94e2ff7", "source_url": "/docs/release/9.1.20/#id-1.11.6.9.5"}]}, {"id": "9.4.6-84258c86732f85eb", "cves": [], "html": "<p>修复 Windows 上非阻塞模式下可能无法检测套接字 EOF 的问题（Tom Lane）</p>\n<p>目前尚不完全清楚此问题是否会在 9.5 之前的分支中发生，但如果发生，其症状将是 walsender 进程无限等待而不是察觉到连接丢失。</p>", "text": "修复 Windows 上非阻塞模式下可能无法检测套接字 EOF 的问题（Tom Lane） 目前尚不完全清楚此问题是否会在 9.5 之前的分支中发生，但如果发生，其症状将是 walsender 进程无限等待而不是察觉到连接丢失。", "title": "修复 Windows 上非阻塞模式下可能无法检测套接字 EOF 的问题", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.4.6/#id-1.11.6.25.5", "source_hash": "0fef517403bb4b9a51c7a7ae46e1ea4679b94e9edc558c361ebcfbaece980bb5", "section_path": ["变更"], "commit_groups": [["0f527f73b", "9b2eacba7", "add6d821b", "d05103b77"]], "identity_text": "Fix possible failure to detect socket EOF in non-blocking mode on Windows (Tom Lane) It's not entirely clear whether this problem can happen in pre-9.5 branches, but if it did, the symptom would be that a walsender process would wait indefinitely rather than noticing a loss of connection.", "commit_aliases": ["0f527f73b", "9b2eacba7", "add6d821b", "d05103b77"], "source_commits": ["add6d821b"], "source_entry_id": "9.4.6/changes/027", "db_id": "7330033d8af66a27ff86c5201d715abd", "patch_ids": ["df650ee915bcaf30d49cdf51a62451a6"], "statement_hash": "550b86474c16c645547f6fea84c5ef235a6fdbfa1f6f9cd67d8f688a8f76148a", "relations": [{"rule": 2, "type": "equivalent", "target": "128d71964eb22992c4948e897f1a7bb4", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "550b86474c16c645547f6fea84c5ef235a6fdbfa1f6f9cd67d8f688a8f76148a"}}, {"rule": 2, "type": "equivalent", "target": "4c11281711fe56e83dcc3dc810c8a787", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "550b86474c16c645547f6fea84c5ef235a6fdbfa1f6f9cd67d8f688a8f76148a"}}, {"rule": 2, "type": "equivalent", "target": "ffeeb895ea2aa2b93b49869b421f8782", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "550b86474c16c645547f6fea84c5ef235a6fdbfa1f6f9cd67d8f688a8f76148a"}}], "version": "9.4.6", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "ffeeb895ea2aa2b93b49869b421f8782", "kind": "equivalent", "version": "9.3.11", "label": "9.3.11", "title": "修复 Windows 上非阻塞模式下可能无法检测套接字 EOF 的问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "550b86474c16c645547f6fea84c5ef235a6fdbfa1f6f9cd67d8f688a8f76148a"}, "url": "/docs/compare/?release=9.3.11#9.3.11-84258c86732f85eb", "source_url": "/docs/release/9.3.11/#id-1.11.6.19.5"}, {"db_id": "128d71964eb22992c4948e897f1a7bb4", "kind": "equivalent", "version": "9.2.15", "label": "9.2.15", "title": "修复 Windows 上非阻塞模式下可能无法检测套接字 EOF 的问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "550b86474c16c645547f6fea84c5ef235a6fdbfa1f6f9cd67d8f688a8f76148a"}, "url": "/docs/compare/?release=9.2.15#9.2.15-84258c86732f85eb", "source_url": "/docs/release/9.2.15/#id-1.11.6.14.5"}, {"db_id": "4c11281711fe56e83dcc3dc810c8a787", "kind": "equivalent", "version": "9.1.20", "label": "9.1.20", "title": "修复 Windows 上非阻塞模式下可能无法检测套接字 EOF 的问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "550b86474c16c645547f6fea84c5ef235a6fdbfa1f6f9cd67d8f688a8f76148a"}, "url": "/docs/compare/?release=9.1.20#9.1.20-84258c86732f85eb", "source_url": "/docs/release/9.1.20/#id-1.11.6.9.5"}]}, {"id": "9.4.6-3d56b3b235f19bc9", "cves": [], "html": "<p>避免 SSPI 身份验证期间泄漏令牌句柄（Christian Ullrich）</p>", "text": "避免 SSPI 身份验证期间泄漏令牌句柄（Christian Ullrich）", "title": "避免 SSPI 身份验证期间泄漏令牌句柄", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.4.6/#id-1.11.6.25.5", "source_hash": "6e00352525219b364bf7bec2bdd6b5991a0d8e7f973838f788d127d1e4f09497", "section_path": ["变更"], "commit_groups": [], "identity_text": "Avoid leaking a token handle during SSPI authentication (Christian Ullrich)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.4.6/changes/028", "db_id": "f3b2f1ddac374281dba34c16bc28d77e", "patch_ids": [], "statement_hash": "012913b378f1f48c997b8ee492e4b5b37c9a4c93f4afddd3ff1c98326e4a2160", "relations": [{"rule": 2, "type": "equivalent", "target": "2e51514f5864394cf46f8e85f7419104", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "012913b378f1f48c997b8ee492e4b5b37c9a4c93f4afddd3ff1c98326e4a2160"}}, {"rule": 2, "type": "equivalent", "target": "438714cc5e6c71db4312eb35fbebec55", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "012913b378f1f48c997b8ee492e4b5b37c9a4c93f4afddd3ff1c98326e4a2160"}}, {"rule": 2, "type": "equivalent", "target": "5e825f5f564b8ef9b8c2ffbaf04b47cb", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "012913b378f1f48c997b8ee492e4b5b37c9a4c93f4afddd3ff1c98326e4a2160"}}, {"rule": 2, "type": "equivalent", "target": "a4a1520f5f054523d7c0e2fe9df3ced2", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "012913b378f1f48c997b8ee492e4b5b37c9a4c93f4afddd3ff1c98326e4a2160"}}], "version": "9.4.6", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "5e825f5f564b8ef9b8c2ffbaf04b47cb", "kind": "equivalent", "version": "9.5.1", "label": "9.5.1", "title": "避免 SSPI 身份验证期间泄漏令牌句柄", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "012913b378f1f48c997b8ee492e4b5b37c9a4c93f4afddd3ff1c98326e4a2160"}, "url": "/docs/compare/?release=9.5.1#9.5.1-3d56b3b235f19bc9", "source_url": "/docs/release/9.5.1/#id-1.11.6.29.5"}, {"db_id": "438714cc5e6c71db4312eb35fbebec55", "kind": "equivalent", "version": "9.3.11", "label": "9.3.11", "title": "避免 SSPI 身份验证期间泄漏令牌句柄", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "012913b378f1f48c997b8ee492e4b5b37c9a4c93f4afddd3ff1c98326e4a2160"}, "url": "/docs/compare/?release=9.3.11#9.3.11-3d56b3b235f19bc9", "source_url": "/docs/release/9.3.11/#id-1.11.6.19.5"}, {"db_id": "2e51514f5864394cf46f8e85f7419104", "kind": "equivalent", "version": "9.2.15", "label": "9.2.15", "title": "避免 SSPI 身份验证期间泄漏令牌句柄", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "012913b378f1f48c997b8ee492e4b5b37c9a4c93f4afddd3ff1c98326e4a2160"}, "url": "/docs/compare/?release=9.2.15#9.2.15-3d56b3b235f19bc9", "source_url": "/docs/release/9.2.15/#id-1.11.6.14.5"}, {"db_id": "a4a1520f5f054523d7c0e2fe9df3ced2", "kind": "equivalent", "version": "9.1.20", "label": "9.1.20", "title": "避免 SSPI 身份验证期间泄漏令牌句柄", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "012913b378f1f48c997b8ee492e4b5b37c9a4c93f4afddd3ff1c98326e4a2160"}, "url": "/docs/compare/?release=9.1.20#9.1.20-3d56b3b235f19bc9", "source_url": "/docs/release/9.1.20/#id-1.11.6.9.5"}]}, {"id": "9.4.6-31d93c56f6c0f139", "cves": [], "html": "<p>在 <span>psql</span> 中，确保当终端窗口大小改变时更新 <span>libreadline</span> 所认知的屏幕尺寸（Merlin Moncure）</p>\n<p>此前，如果窗口在查询输出期间被调整大小，<span>libreadline</span> 不会察觉，导致之后输入多行查询时出现奇怪的行为。</p>", "text": "在 psql 中，确保当终端窗口大小改变时更新 libreadline 所认知的屏幕尺寸（Merlin Moncure） 此前，如果窗口在查询输出期间被调整大小，libreadline 不会察觉，导致之后输入多行查询时出现奇怪的行为。", "title": "在 psql 中，确保当终端窗口大小改变时更新 libreadline 所认知的屏幕尺寸", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.4.6/#id-1.11.6.25.5", "source_hash": "9505df501824af4fea7f57b9649ac05df22da560c2adc3f6f2067c962365c24d", "section_path": ["变更"], "commit_groups": [["03b138e90", "2ec477dc8", "9afe392dc", "bcce4a5e3", "e168dfef6", "f1c152866"], ["09b7abc27", "5ec0aad01", "acb6c64f4", "aee7705be", "b41777988", "db462a44e"]], "identity_text": "In psql, ensure that libreadline's idea of the screen size is updated when the terminal window size changes (Merlin Moncure) Previously, libreadline did not notice if the window was resized during query output, leading to strange behavior during later input of multiline queries.", "commit_aliases": ["03b138e90", "09b7abc27", "2ec477dc8", "5ec0aad01", "9afe392dc", "acb6c64f4", "aee7705be", "b41777988", "bcce4a5e3", "db462a44e", "e168dfef6", "f1c152866"], "source_commits": ["acb6c64f4", "e168dfef6"], "source_entry_id": "9.4.6/changes/029", "db_id": "b6a5b28de05e68907ae4444cef8491e5", "patch_ids": ["a48e23019baa2b3f4c82f16c64867fb5", "f06d1eb537e1f30dfb7051750bc8d4ef"], "statement_hash": "50539cb80071f3a4fedf35fb39b51c0264ef89787762cc6bf0eeecd35fb72ec1", "relations": [{"rule": 2, "type": "equivalent", "target": "065313bd06092a3622772ded245dc2da", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "50539cb80071f3a4fedf35fb39b51c0264ef89787762cc6bf0eeecd35fb72ec1"}}, {"rule": 2, "type": "equivalent", "target": "7689b96136a1dea123f9c699a8e72724", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "50539cb80071f3a4fedf35fb39b51c0264ef89787762cc6bf0eeecd35fb72ec1"}}, {"rule": 2, "type": "equivalent", "target": "facbf4653d2438dde9bd9f18c200a981", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "50539cb80071f3a4fedf35fb39b51c0264ef89787762cc6bf0eeecd35fb72ec1"}}], "version": "9.4.6", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "facbf4653d2438dde9bd9f18c200a981", "kind": "equivalent", "version": "9.3.11", "label": "9.3.11", "title": "在 psql 中，确保当终端窗口大小改变时更新 libreadline 所认知的屏幕尺寸", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "50539cb80071f3a4fedf35fb39b51c0264ef89787762cc6bf0eeecd35fb72ec1"}, "url": "/docs/compare/?release=9.3.11#9.3.11-31d93c56f6c0f139", "source_url": "/docs/release/9.3.11/#id-1.11.6.19.5"}, {"db_id": "065313bd06092a3622772ded245dc2da", "kind": "equivalent", "version": "9.2.15", "label": "9.2.15", "title": "在 psql 中，确保当终端窗口大小改变时更新 libreadline 所认知的屏幕尺寸", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "50539cb80071f3a4fedf35fb39b51c0264ef89787762cc6bf0eeecd35fb72ec1"}, "url": "/docs/compare/?release=9.2.15#9.2.15-31d93c56f6c0f139", "source_url": "/docs/release/9.2.15/#id-1.11.6.14.5"}, {"db_id": "7689b96136a1dea123f9c699a8e72724", "kind": "equivalent", "version": "9.1.20", "label": "9.1.20", "title": "在 psql 中，确保当终端窗口大小改变时更新 libreadline 所认知的屏幕尺寸", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "50539cb80071f3a4fedf35fb39b51c0264ef89787762cc6bf0eeecd35fb72ec1"}, "url": "/docs/compare/?release=9.1.20#9.1.20-31d93c56f6c0f139", "source_url": "/docs/release/9.1.20/#id-1.11.6.9.5"}]}, {"id": "9.4.6-393f4986211d864e", "cves": [], "html": "<p>修复 <span>psql</span> 的 <code>\\det</code> 命令，使其以与其他可能带模式限定模式的 <code>\\d</code> 命令相同的方式解释模式参数（Reece Hart）</p>", "text": "修复 psql 的 \\det 命令，使其以与其他可能带模式限定模式的 \\d 命令相同的方式解释模式参数（Reece Hart）", "title": "修复 psql 的 \\det 命令，使其以与其他可能带模式限定模式的 \\d 命令相同的方式解释模式参数", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.4.6/#id-1.11.6.25.5", "source_hash": "2934761f32aeac456966ea22ed7d360753afeefcfcb88be526134be654340215", "section_path": ["变更"], "commit_groups": [], "identity_text": "Fix psql's \\det command to interpret its pattern argument the same way as other \\d commands with potentially schema-qualified patterns do (Reece Hart)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.4.6/changes/030", "db_id": "c2275e8ef3b9fe637be3a173f5a783ae", "patch_ids": [], "statement_hash": "79256d97ef2ed9e364cc39b322679681500fab10ebe923dfc4f0522d3545fe44", "relations": [{"rule": 2, "type": "equivalent", "target": "56543181c886e0a9e02d16ceb110d586", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "79256d97ef2ed9e364cc39b322679681500fab10ebe923dfc4f0522d3545fe44"}}, {"rule": 2, "type": "equivalent", "target": "72c2989920da86c253ab09eecb31b14e", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "79256d97ef2ed9e364cc39b322679681500fab10ebe923dfc4f0522d3545fe44"}}, {"rule": 2, "type": "equivalent", "target": "a44ae03d4941be3dc2e2c64890df9f35", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "79256d97ef2ed9e364cc39b322679681500fab10ebe923dfc4f0522d3545fe44"}}, {"rule": 2, "type": "equivalent", "target": "ae26b564c233409889218223f5607057", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "79256d97ef2ed9e364cc39b322679681500fab10ebe923dfc4f0522d3545fe44"}}], "version": "9.4.6", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "56543181c886e0a9e02d16ceb110d586", "kind": "equivalent", "version": "9.5.1", "label": "9.5.1", "title": "修复 psql 的 \\det 命令，使其以与其他可能带模式限定模式的 \\d 命令相同的方式解释模式参数", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "79256d97ef2ed9e364cc39b322679681500fab10ebe923dfc4f0522d3545fe44"}, "url": "/docs/compare/?release=9.5.1#9.5.1-393f4986211d864e", "source_url": "/docs/release/9.5.1/#id-1.11.6.29.5"}, {"db_id": "a44ae03d4941be3dc2e2c64890df9f35", "kind": "equivalent", "version": "9.3.11", "label": "9.3.11", "title": "修复 psql 的 \\det 命令，使其以与其他可能带模式限定模式的 \\d 命令相同的方式解释模式参数", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "79256d97ef2ed9e364cc39b322679681500fab10ebe923dfc4f0522d3545fe44"}, "url": "/docs/compare/?release=9.3.11#9.3.11-393f4986211d864e", "source_url": "/docs/release/9.3.11/#id-1.11.6.19.5"}, {"db_id": "ae26b564c233409889218223f5607057", "kind": "equivalent", "version": "9.2.15", "label": "9.2.15", "title": "修复 psql 的 \\det 命令，使其以与其他可能带模式限定模式的 \\d 命令相同的方式解释模式参数", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "79256d97ef2ed9e364cc39b322679681500fab10ebe923dfc4f0522d3545fe44"}, "url": "/docs/compare/?release=9.2.15#9.2.15-393f4986211d864e", "source_url": "/docs/release/9.2.15/#id-1.11.6.14.5"}, {"db_id": "72c2989920da86c253ab09eecb31b14e", "kind": "equivalent", "version": "9.1.20", "label": "9.1.20", "title": "修复 psql 的 \\det 命令，使其以与其他可能带模式限定模式的 \\d 命令相同的方式解释模式参数", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "79256d97ef2ed9e364cc39b322679681500fab10ebe923dfc4f0522d3545fe44"}, "url": "/docs/compare/?release=9.1.20#9.1.20-393f4986211d864e", "source_url": "/docs/release/9.1.20/#id-1.11.6.9.5"}]}, {"id": "9.4.6-70678b2a8d35dfcd", "cves": [], "html": "<p>避免 <span>psql</span> 的 <code>\\c</code> 命令在先前连接经由 Unix 套接字、而命令指定了新的主机名和相同用户名时可能出现的崩溃（Tom Lane）</p>", "text": "避免 psql 的 \\c 命令在先前连接经由 Unix 套接字、而命令指定了新的主机名和相同用户名时可能出现的崩溃（Tom Lane）", "title": "避免 psql 的 \\c 命令在先前连接经由 Unix 套接字、而命令指定了新的主机名和相同用户名时可能出现的崩溃", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.4.6/#id-1.11.6.25.5", "source_hash": "779f9799026c90f9854e33d4fdbbcbb140c35cccba0e1cc5fc513e6182b40a05", "section_path": ["变更"], "commit_groups": [["3d357b48f", "55a2cc844", "6430a11fa", "64b7079e5", "c5ef8ce53", "d44b4deaa"]], "identity_text": "Avoid possible crash in psql's \\c command when previous connection was via Unix socket and command specifies a new hostname and same username (Tom Lane)", "commit_aliases": ["3d357b48f", "55a2cc844", "6430a11fa", "64b7079e5", "c5ef8ce53", "d44b4deaa"], "source_commits": ["3d357b48f"], "source_entry_id": "9.4.6/changes/031", "db_id": "e432b0363a0e15d7b46f21c697d28367", "patch_ids": ["f0b23e84017ef7f124ee8121be0eac81"], "statement_hash": "a24088aeb192b2327cbcb2ff7fa4dc218f550b0cef5813da47e013d7330ffde9", "relations": [{"rule": 2, "type": "equivalent", "target": "163374b0b2b1b0cba4206c4c6dac6d54", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a24088aeb192b2327cbcb2ff7fa4dc218f550b0cef5813da47e013d7330ffde9"}}, {"rule": 2, "type": "equivalent", "target": "24916cdaf5c6a5503f807299d69f5ee8", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a24088aeb192b2327cbcb2ff7fa4dc218f550b0cef5813da47e013d7330ffde9"}}, {"rule": 2, "type": "equivalent", "target": "d9e0ccce765c6789974b764efaec559e", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a24088aeb192b2327cbcb2ff7fa4dc218f550b0cef5813da47e013d7330ffde9"}}], "version": "9.4.6", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "163374b0b2b1b0cba4206c4c6dac6d54", "kind": "equivalent", "version": "9.3.11", "label": "9.3.11", "title": "避免在以下情况下psql的\\c命令可能崩溃：先前连接是通过 Unix 套接字建立的，而命令指定了新的主机名和相同的用户名", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a24088aeb192b2327cbcb2ff7fa4dc218f550b0cef5813da47e013d7330ffde9"}, "url": "/docs/compare/?release=9.3.11#9.3.11-8c5f08ec035be10c", "source_url": "/docs/release/9.3.11/#id-1.11.6.19.5"}, {"db_id": "24916cdaf5c6a5503f807299d69f5ee8", "kind": "equivalent", "version": "9.2.15", "label": "9.2.15", "title": "避免在以下情况下psql的\\c命令可能崩溃：先前连接是通过 Unix 套接字建立的，而命令指定了新的主机名和相同的用户名", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a24088aeb192b2327cbcb2ff7fa4dc218f550b0cef5813da47e013d7330ffde9"}, "url": "/docs/compare/?release=9.2.15#9.2.15-8c5f08ec035be10c", "source_url": "/docs/release/9.2.15/#id-1.11.6.14.5"}, {"db_id": "d9e0ccce765c6789974b764efaec559e", "kind": "equivalent", "version": "9.1.20", "label": "9.1.20", "title": "避免在以下情况下psql的\\c命令可能崩溃：先前连接是通过 Unix 套接字建立的，而命令指定了新的主机名和相同的用户名", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a24088aeb192b2327cbcb2ff7fa4dc218f550b0cef5813da47e013d7330ffde9"}, "url": "/docs/compare/?release=9.1.20#9.1.20-8c5f08ec035be10c", "source_url": "/docs/release/9.1.20/#id-1.11.6.9.5"}]}, {"id": "9.4.6-987de65d0c9199dd", "cves": [], "html": "<p>在 <code>pg_ctl start -w</code> 中，直接测试子进程状态而不是依赖启发式方法（Tom Lane、Michael Paquier）</p>\n<p>此前，<span>pg_ctl</span> 依赖一个假设：新的 postmaster 总会在五秒内创建 <code>postmaster.pid</code>。但在高负载系统上这可能失败，导致 <span>pg_ctl</span> 错误地报告 postmaster 启动失败。</p>\n<p>除 Windows 外，此变更还意味着紧接另一个此类命令之后执行的 <code>pg_ctl start -w</code> 现在会可靠地失败，而此前如果在第一条命令后两秒内执行则会报告成功。</p>", "text": "在 pg_ctl start -w 中，直接测试子进程状态而不是依赖启发式方法（Tom Lane、Michael Paquier） 此前，pg_ctl 依赖一个假设：新的 postmaster 总会在五秒内创建 postmaster.pid。但在高负载系统上这可能失败，导致 pg_ctl 错误地报告 postmaster 启动失败。 除 Windows 外，此变更还意味着紧接另一个此类命令之后执行的 pg_ctl start -w 现在会可靠地失败，而此前如果在第一条命令后两秒内执行则会报告成功。", "title": "在 pg_ctl start -w 中，直接测试子进程状态而不是依赖启发式方法", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.4.6/#id-1.11.6.25.5", "source_hash": "57a6a5194ae3545cd2574e796402c417481b9d0051bc819eb897bd8452c75070", "section_path": ["变更"], "commit_groups": [["250108b6f", "57f54b5e4", "6bcce2580", "a151a5c38", "c869a7d5b", "dfe572de0"]], "identity_text": "In pg_ctl start -w, test child process status directly rather than relying on heuristics (Tom Lane, Michael Paquier) Previously, pg_ctl relied on an assumption that the new postmaster would always create postmaster.pid within five seconds. But that can fail on heavily-loaded systems, causing pg_ctl to report incorrectly that the postmaster failed to start. Except on Windows, this change also means that a pg_ctl start -w done immediately after another such command will now reliably fail, whereas previously it would report success if done within two seconds of the first command.", "commit_aliases": ["250108b6f", "57f54b5e4", "6bcce2580", "a151a5c38", "c869a7d5b", "dfe572de0"], "source_commits": ["57f54b5e4"], "source_entry_id": "9.4.6/changes/032", "db_id": "73385a6fa29aa9a59d5f81cc9096fa18", "patch_ids": ["2f7f2ddf0dc2f0cb96d45af9eabcd906"], "statement_hash": "3187beadb9dfd986aa162515e18e12ddda052dd79e75ed7955aded06997032eb", "relations": [{"rule": 2, "type": "equivalent", "target": "885c4072d183b1a64dc87bede580e48f", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "3187beadb9dfd986aa162515e18e12ddda052dd79e75ed7955aded06997032eb"}}, {"rule": 2, "type": "equivalent", "target": "8b66d8e3f3ac6cc5300f8fcb5d86ef8f", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "3187beadb9dfd986aa162515e18e12ddda052dd79e75ed7955aded06997032eb"}}, {"rule": 2, "type": "equivalent", "target": "cb81120b324bdde1d67a88daf617a646", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "3187beadb9dfd986aa162515e18e12ddda052dd79e75ed7955aded06997032eb"}}], "version": "9.4.6", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "cb81120b324bdde1d67a88daf617a646", "kind": "equivalent", "version": "9.3.11", "label": "9.3.11", "title": "在 pg_ctl start -w 中，直接测试子进程状态而不是依赖启发式方法", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "3187beadb9dfd986aa162515e18e12ddda052dd79e75ed7955aded06997032eb"}, "url": "/docs/compare/?release=9.3.11#9.3.11-987de65d0c9199dd", "source_url": "/docs/release/9.3.11/#id-1.11.6.19.5"}, {"db_id": "885c4072d183b1a64dc87bede580e48f", "kind": "equivalent", "version": "9.2.15", "label": "9.2.15", "title": "在 pg_ctl start -w 中，直接测试子进程状态而不是依赖启发式方法", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "3187beadb9dfd986aa162515e18e12ddda052dd79e75ed7955aded06997032eb"}, "url": "/docs/compare/?release=9.2.15#9.2.15-987de65d0c9199dd", "source_url": "/docs/release/9.2.15/#id-1.11.6.14.5"}, {"db_id": "8b66d8e3f3ac6cc5300f8fcb5d86ef8f", "kind": "equivalent", "version": "9.1.20", "label": "9.1.20", "title": "在 pg_ctl start -w 中，直接测试子进程状态而不是依赖启发式方法", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "3187beadb9dfd986aa162515e18e12ddda052dd79e75ed7955aded06997032eb"}, "url": "/docs/compare/?release=9.1.20#9.1.20-987de65d0c9199dd", "source_url": "/docs/release/9.1.20/#id-1.11.6.9.5"}]}, {"id": "9.4.6-fedb61d027839e17", "cves": [], "html": "<p>在 <code>pg_ctl start -w</code> 中，不再尝试使用通配监听地址连接 postmaster（Kondo Yuta）</p>\n<p>在 Windows 上，如果 <code>listen_addresses</code> 被设置为 <code>0.0.0.0</code> 或 <code>::</code>，<span>pg_ctl</span> 将无法检测到 postmaster 的启动，因为它会试图原样使用该值作为要连接的地址，而这行不通。现在改为假定应分别使用 <code>127.0.0.1</code> 或 <code>::1</code>。</p>", "text": "在 pg_ctl start -w 中，不再尝试使用通配监听地址连接 postmaster（Kondo Yuta） 在 Windows 上，如果 listen_addresses 被设置为 0.0.0.0 或 ::，pg_ctl 将无法检测到 postmaster 的启动，因为它会试图原样使用该值作为要连接的地址，而这行不通。现在改为假定应分别使用 127.0.0.1 或 ::1。", "title": "在 pg_ctl start -w 中，不再尝试使用通配监听地址连接 postmaster", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.4.6/#id-1.11.6.25.5", "source_hash": "cb8b9086c23315164eaf9c6c27ff21b59a495dbe0ca0cb8a30981d069728a7df", "section_path": ["变更"], "commit_groups": [["24379a45c", "34725292d", "87deb55a4", "99027350e", "bdb42bac3", "fed19f312"]], "identity_text": "In pg_ctl start -w, don't attempt to use a wildcard listen address to connect to the postmaster (Kondo Yuta) On Windows, pg_ctl would fail to detect postmaster startup if listen_addresses is set to 0.0.0.0 or ::, because it would try to use that value verbatim as the address to connect to, which doesn't work. Instead assume that 127.0.0.1 or ::1, respectively, is the right thing to use.", "commit_aliases": ["24379a45c", "34725292d", "87deb55a4", "99027350e", "bdb42bac3", "fed19f312"], "source_commits": ["24379a45c"], "source_entry_id": "9.4.6/changes/033", "db_id": "31b49007fe1571a1ebbd1c79f0557c22", "patch_ids": ["d4f9858b4d92fd34521494ae8ded6e57"], "statement_hash": "375fbca2d6c21ae86c4cf9cd26ae6b20b1cf127681e8eb881d188a0dfcfdde26", "relations": [{"rule": 2, "type": "equivalent", "target": "0eadcc76ba08a7b2f8b4cc094e5b3943", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "375fbca2d6c21ae86c4cf9cd26ae6b20b1cf127681e8eb881d188a0dfcfdde26"}}, {"rule": 2, "type": "equivalent", "target": "cec7e1bf118d81943e04bec629ffb877", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "375fbca2d6c21ae86c4cf9cd26ae6b20b1cf127681e8eb881d188a0dfcfdde26"}}, {"rule": 2, "type": "related", "target": "eecc5aaa6765bfe268eb07d9fa8f853b", "evidence": {"same_day": false, "patch_ids": ["d4f9858b4d92fd34521494ae8ded6e57"]}}, {"rule": 2, "type": "equivalent", "target": "f10b7978b831cababff57b9f264baa42", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "375fbca2d6c21ae86c4cf9cd26ae6b20b1cf127681e8eb881d188a0dfcfdde26"}}], "version": "9.4.6", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "eecc5aaa6765bfe268eb07d9fa8f853b", "kind": "related", "version": "9.5.0", "label": "9.5", "title": "如果服务器的监听地址设置为通配值（IPv4 的 0.0.0.0 或 IPv6 的 ::），则通过回环地址连接，而不是尝试按字面使用通配地址", "evidence": {"same_day": false, "patch_ids": ["d4f9858b4d92fd34521494ae8ded6e57"]}, "url": "/docs/compare/?release=9.5.0#9.5.0-044c8e1d6461626f", "source_url": "/docs/release/9.5.0/#id-1.11.6.30.5.11.5"}, {"db_id": "cec7e1bf118d81943e04bec629ffb877", "kind": "equivalent", "version": "9.3.11", "label": "9.3.11", "title": "在 pg_ctl start -w 中，不再尝试使用通配监听地址连接 postmaster", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "375fbca2d6c21ae86c4cf9cd26ae6b20b1cf127681e8eb881d188a0dfcfdde26"}, "url": "/docs/compare/?release=9.3.11#9.3.11-fedb61d027839e17", "source_url": "/docs/release/9.3.11/#id-1.11.6.19.5"}, {"db_id": "0eadcc76ba08a7b2f8b4cc094e5b3943", "kind": "equivalent", "version": "9.2.15", "label": "9.2.15", "title": "在 pg_ctl start -w 中，不再尝试使用通配监听地址连接 postmaster", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "375fbca2d6c21ae86c4cf9cd26ae6b20b1cf127681e8eb881d188a0dfcfdde26"}, "url": "/docs/compare/?release=9.2.15#9.2.15-fedb61d027839e17", "source_url": "/docs/release/9.2.15/#id-1.11.6.14.5"}, {"db_id": "f10b7978b831cababff57b9f264baa42", "kind": "equivalent", "version": "9.1.20", "label": "9.1.20", "title": "在 pg_ctl start -w 中，不再尝试使用通配监听地址连接 postmaster", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "375fbca2d6c21ae86c4cf9cd26ae6b20b1cf127681e8eb881d188a0dfcfdde26"}, "url": "/docs/compare/?release=9.1.20#9.1.20-fedb61d027839e17", "source_url": "/docs/release/9.1.20/#id-1.11.6.9.5"}]}, {"id": "9.4.6-ffc20c3efcf2b89c", "cves": [], "html": "<p>在 Windows 上的 <span>pg_ctl</span> 中，通过检查服务状态来决定输出发送到哪里，而不是检查标准输出是否为终端（Michael Paquier）</p>", "text": "在 Windows 上的 pg_ctl 中，通过检查服务状态来决定输出发送到哪里，而不是检查标准输出是否为终端（Michael Paquier）", "title": "在 Windows 上的 pg_ctl 中，通过检查服务状态来决定输出发送到哪里，而不是检查标准输出是否为终端", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.4.6/#id-1.11.6.25.5", "source_hash": "5725a069624b9666f0fa1ef408405403512d70dc60fdb5543bda4a3f60c91408", "section_path": ["变更"], "commit_groups": [], "identity_text": "In pg_ctl on Windows, check service status to decide where to send output, rather than checking if standard output is a terminal (Michael Paquier)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.4.6/changes/034", "db_id": "f2c17c58b814d10bbb6e43d22001d01f", "patch_ids": [], "statement_hash": "b404d198beded8192b6c56dd9af3ca99944268276d611688f7d3cf39aeb4571d", "relations": [{"rule": 2, "type": "equivalent", "target": "46bc5c70bec439f4ae601fe91c34c983", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b404d198beded8192b6c56dd9af3ca99944268276d611688f7d3cf39aeb4571d"}}, {"rule": 2, "type": "equivalent", "target": "50a28c9cf76d98dccd0ae115ab281817", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b404d198beded8192b6c56dd9af3ca99944268276d611688f7d3cf39aeb4571d"}}, {"rule": 2, "type": "equivalent", "target": "998f6731981001ad75f03a48efe6cfa2", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b404d198beded8192b6c56dd9af3ca99944268276d611688f7d3cf39aeb4571d"}}, {"rule": 2, "type": "equivalent", "target": "fc55b81ca38dd48fd637c4b89b222440", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b404d198beded8192b6c56dd9af3ca99944268276d611688f7d3cf39aeb4571d"}}], "version": "9.4.6", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "fc55b81ca38dd48fd637c4b89b222440", "kind": "equivalent", "version": "9.5.1", "label": "9.5.1", "title": "在 Windows 上的 pg_ctl 中，通过检查服务状态来决定输出发送到哪里，而不是检查标准输出是否为终端", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b404d198beded8192b6c56dd9af3ca99944268276d611688f7d3cf39aeb4571d"}, "url": "/docs/compare/?release=9.5.1#9.5.1-ffc20c3efcf2b89c", "source_url": "/docs/release/9.5.1/#id-1.11.6.29.5"}, {"db_id": "46bc5c70bec439f4ae601fe91c34c983", "kind": "equivalent", "version": "9.3.11", "label": "9.3.11", "title": "在 Windows 上的 pg_ctl 中，通过检查服务状态来决定输出发送到哪里，而不是检查标准输出是否为终端", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b404d198beded8192b6c56dd9af3ca99944268276d611688f7d3cf39aeb4571d"}, "url": "/docs/compare/?release=9.3.11#9.3.11-ffc20c3efcf2b89c", "source_url": "/docs/release/9.3.11/#id-1.11.6.19.5"}, {"db_id": "998f6731981001ad75f03a48efe6cfa2", "kind": "equivalent", "version": "9.2.15", "label": "9.2.15", "title": "在 Windows 上的 pg_ctl 中，通过检查服务状态来决定输出发送到哪里，而不是检查标准输出是否为终端", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b404d198beded8192b6c56dd9af3ca99944268276d611688f7d3cf39aeb4571d"}, "url": "/docs/compare/?release=9.2.15#9.2.15-ffc20c3efcf2b89c", "source_url": "/docs/release/9.2.15/#id-1.11.6.14.5"}, {"db_id": "50a28c9cf76d98dccd0ae115ab281817", "kind": "equivalent", "version": "9.1.20", "label": "9.1.20", "title": "在 Windows 上的 pg_ctl 中，通过检查服务状态来决定输出发送到哪里，而不是检查标准输出是否为终端", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b404d198beded8192b6c56dd9af3ca99944268276d611688f7d3cf39aeb4571d"}, "url": "/docs/compare/?release=9.1.20#9.1.20-ffc20c3efcf2b89c", "source_url": "/docs/release/9.1.20/#id-1.11.6.9.5"}]}, {"id": "9.4.6-1c89c97d21ad6317", "cves": [], "html": "<p>在 <span>pg_dump</span> 和 <span>pg_basebackup</span> 中，采用 GNU 约定来处理超过 8GB 的 tar 归档成员（Tom Lane）</p>\n<p><code>tar</code> 文件格式的 POSIX 标准不允许归档成员文件超过 8GB，但大多数现代 <span>tar</span> 实现支持解决此问题的扩展。采用这一扩展后，<span>pg_dump</span> 使用 <code>-Ft</code> 时不再在数据超过 8GB 的表上失败，<span>pg_basebackup</span> 也能处理大于 8GB 的文件。此外，还修复了一些可移植性问题，它们可能在某些平台上导致 4GB 到 8GB 之间的成员失败。这些问题有可能因备份文件不可读而造成不可恢复的数据丢失。</p>", "text": "在 pg_dump 和 pg_basebackup 中，采用 GNU 约定来处理超过 8GB 的 tar 归档成员（Tom Lane） tar 文件格式的 POSIX 标准不允许归档成员文件超过 8GB，但大多数现代 tar 实现支持解决此问题的扩展。采用这一扩展后，pg_dump 使用 -Ft 时不再在数据超过 8GB 的表上失败，pg_basebackup 也能处理大于 8GB 的文件。此外，还修复了一些可移植性问题，它们可能在某些平台上导致 4GB 到 8GB 之间的成员失败。这些问题有可能因备份文件不可读而造成不可恢复的数据丢失。", "title": "在 pg_dump 和 pg_basebackup 中，采用 GNU 约定来处理超过 8GB 的 tar 归档成员", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.4.6/#id-1.11.6.25.5", "source_hash": "2213eb482983f24460681f25a1d6aab3ebf5c5c8bfa091335858861952d1a9e2", "section_path": ["变更"], "commit_groups": [["00cdd8352", "0e6185283", "5f5e68b08", "7acad9546", "8f1559aa5", "b054ca031"], ["05c9bc063", "6df62ef43"]], "identity_text": "In pg_dump and pg_basebackup, adopt the GNU convention for handling tar-archive members exceeding 8GB (Tom Lane) The POSIX standard for tar file format does not allow archive member files to exceed 8GB, but most modern implementations of tar support an extension that fixes that. Adopt this extension so that pg_dump with -Ft no longer fails on tables with more than 8GB of data, and so that pg_basebackup can handle files larger than 8GB. In addition, fix some portability issues that could cause failures for members between 4GB and 8GB on some platforms. Potentially these problems could cause unrecoverable data loss due to unreadable backup files.", "commit_aliases": ["00cdd8352", "05c9bc063", "0e6185283", "5f5e68b08", "6df62ef43", "7acad9546", "8f1559aa5", "b054ca031"], "source_commits": ["05c9bc063", "7acad9546"], "source_entry_id": "9.4.6/changes/035", "db_id": "4e3f89c03416acc7e4b32ecb6ddaa0a7", "patch_ids": ["0c6ac74dcbd77ff543f6b6e505094534", "649b94ec9206b7a616abf2708b3aad3f"], "statement_hash": "1421b6c76583c061333d55cbc87b06b43bf488a92aaf06901c18d23c4f0c5e2b", "relations": [{"rule": 2, "type": "equivalent", "target": "37f720617c09e5e2e5b5c1d1020505d6", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "1421b6c76583c061333d55cbc87b06b43bf488a92aaf06901c18d23c4f0c5e2b"}}, {"rule": 2, "type": "equivalent", "target": "a6b94e057f8ee6675d25a19e1239462e", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "1421b6c76583c061333d55cbc87b06b43bf488a92aaf06901c18d23c4f0c5e2b"}}, {"rule": 2, "type": "equivalent", "target": "d340f9ebe90c51468ecc805fe2db4e41", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "1421b6c76583c061333d55cbc87b06b43bf488a92aaf06901c18d23c4f0c5e2b"}}, {"rule": 2, "type": "related", "target": "f383c7e9ad9ec10560ab185e01c34b8d", "evidence": {"same_day": false, "patch_ids": ["649b94ec9206b7a616abf2708b3aad3f"]}}], "version": "9.4.6", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "f383c7e9ad9ec10560ab185e01c34b8d", "kind": "related", "version": "9.5.0", "label": "9.5", "title": "支持 tar 归档格式中超过 8GB 的表", "evidence": {"same_day": false, "patch_ids": ["649b94ec9206b7a616abf2708b3aad3f"]}, "url": "/docs/compare/?release=9.5.0#9.5.0-1dac4a69e35ccd0b", "source_url": "/docs/release/9.5.0/#id-1.11.6.30.5.11.4"}, {"db_id": "d340f9ebe90c51468ecc805fe2db4e41", "kind": "equivalent", "version": "9.3.11", "label": "9.3.11", "title": "在 pg_dump 和 pg_basebackup 中，采用 GNU 约定来处理超过 8GB 的 tar 归档成员", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "1421b6c76583c061333d55cbc87b06b43bf488a92aaf06901c18d23c4f0c5e2b"}, "url": "/docs/compare/?release=9.3.11#9.3.11-1c89c97d21ad6317", "source_url": "/docs/release/9.3.11/#id-1.11.6.19.5"}, {"db_id": "37f720617c09e5e2e5b5c1d1020505d6", "kind": "equivalent", "version": "9.2.15", "label": "9.2.15", "title": "在 pg_dump 和 pg_basebackup 中，采用 GNU 约定来处理超过 8GB 的 tar 归档成员", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "1421b6c76583c061333d55cbc87b06b43bf488a92aaf06901c18d23c4f0c5e2b"}, "url": "/docs/compare/?release=9.2.15#9.2.15-1c89c97d21ad6317", "source_url": "/docs/release/9.2.15/#id-1.11.6.14.5"}, {"db_id": "a6b94e057f8ee6675d25a19e1239462e", "kind": "equivalent", "version": "9.1.20", "label": "9.1.20", "title": "在 pg_dump 和 pg_basebackup 中，采用 GNU 约定来处理超过 8GB 的 tar 归档成员", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "1421b6c76583c061333d55cbc87b06b43bf488a92aaf06901c18d23c4f0c5e2b"}, "url": "/docs/compare/?release=9.1.20#9.1.20-1c89c97d21ad6317", "source_url": "/docs/release/9.1.20/#id-1.11.6.9.5"}]}, {"id": "9.4.6-3813de76442f9d72", "cves": [], "html": "<p>修复 <span>pg_dump</span> 处理扩展成员对象时的若干边界 bug（Tom Lane）</p>", "text": "修复 pg_dump 处理扩展成员对象时的若干边界 bug（Tom Lane）", "title": "修复 pg_dump 处理扩展成员对象时的若干边界 bug", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.4.6/#id-1.11.6.25.5", "source_hash": "2e319798e33c8ba0526134260735925be957264ad5cb5636acc8bf83d281fe93", "section_path": ["变更"], "commit_groups": [], "identity_text": "Fix assorted corner-case bugs in pg_dump's processing of extension member objects (Tom Lane)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.4.6/changes/036", "db_id": "73af11867b35c973d9c8af24f2b31875", "patch_ids": [], "statement_hash": "2280fab706b4c2ed445a351017a4d11c031a77ae47bf936aa42b41be487b7fe4", "relations": [{"rule": 2, "type": "equivalent", "target": "2457804d08df483237bb75a8f59d49cd", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "2280fab706b4c2ed445a351017a4d11c031a77ae47bf936aa42b41be487b7fe4"}}, {"rule": 2, "type": "equivalent", "target": "731b97a7fd7086f0d44dbe80bb27f8a5", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "2280fab706b4c2ed445a351017a4d11c031a77ae47bf936aa42b41be487b7fe4"}}, {"rule": 2, "type": "equivalent", "target": "e630fa430c08c62d366dea55d599cfc4", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "2280fab706b4c2ed445a351017a4d11c031a77ae47bf936aa42b41be487b7fe4"}}, {"rule": 2, "type": "equivalent", "target": "fadd4c514c362343f3f596b4eee319e5", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "2280fab706b4c2ed445a351017a4d11c031a77ae47bf936aa42b41be487b7fe4"}}], "version": "9.4.6", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "731b97a7fd7086f0d44dbe80bb27f8a5", "kind": "equivalent", "version": "9.5.1", "label": "9.5.1", "title": "修复 pg_dump 处理扩展成员对象时的若干边界 bug", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "2280fab706b4c2ed445a351017a4d11c031a77ae47bf936aa42b41be487b7fe4"}, "url": "/docs/compare/?release=9.5.1#9.5.1-3813de76442f9d72", "source_url": "/docs/release/9.5.1/#id-1.11.6.29.5"}, {"db_id": "fadd4c514c362343f3f596b4eee319e5", "kind": "equivalent", "version": "9.3.11", "label": "9.3.11", "title": "修复 pg_dump 处理扩展成员对象时的若干边界 bug", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "2280fab706b4c2ed445a351017a4d11c031a77ae47bf936aa42b41be487b7fe4"}, "url": "/docs/compare/?release=9.3.11#9.3.11-3813de76442f9d72", "source_url": "/docs/release/9.3.11/#id-1.11.6.19.5"}, {"db_id": "2457804d08df483237bb75a8f59d49cd", "kind": "equivalent", "version": "9.2.15", "label": "9.2.15", "title": "修复 pg_dump 处理扩展成员对象时的若干边界 bug", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "2280fab706b4c2ed445a351017a4d11c031a77ae47bf936aa42b41be487b7fe4"}, "url": "/docs/compare/?release=9.2.15#9.2.15-3813de76442f9d72", "source_url": "/docs/release/9.2.15/#id-1.11.6.14.5"}, {"db_id": "e630fa430c08c62d366dea55d599cfc4", "kind": "equivalent", "version": "9.1.20", "label": "9.1.20", "title": "修复 pg_dump 处理扩展成员对象时的若干边界 bug", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "2280fab706b4c2ed445a351017a4d11c031a77ae47bf936aa42b41be487b7fe4"}, "url": "/docs/compare/?release=9.1.20#9.1.20-3813de76442f9d72", "source_url": "/docs/release/9.1.20/#id-1.11.6.9.5"}]}, {"id": "9.4.6-4ac819f6b4fd1f7a", "cves": [], "html": "<p>使 <span>pg_dump</span> 把视图的触发器标记为需要在其规则之后处理，以防止并行 <span>pg_restore</span> 期间可能出现的失败（Tom Lane）</p>", "text": "使 pg_dump 把视图的触发器标记为需要在其规则之后处理，以防止并行 pg_restore 期间可能出现的失败（Tom Lane）", "title": "使 pg_dump 把视图的触发器标记为需要在其规则之后处理，以防止并行 pg_restore 期间可能出现的失败", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.4.6/#id-1.11.6.25.5", "source_hash": "77701c0eed34d059806bb959fb9962cf60619e0e8b5014e1a21b88cd5a15e04f", "section_path": ["变更"], "commit_groups": [], "identity_text": "Make pg_dump mark a view's triggers as needing to be processed after its rule, to prevent possible failure during parallel pg_restore (Tom Lane)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.4.6/changes/037", "db_id": "7164bcf02cc88ab85c08ce3c606ae32c", "patch_ids": [], "statement_hash": "dc6aaf1f5385330a98f6748b2c1e31c2c612076c0e3c2e8f033d3bdc03ff77a3", "relations": [{"rule": 2, "type": "equivalent", "target": "639282d960c0c0b620edebea4b414918", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "dc6aaf1f5385330a98f6748b2c1e31c2c612076c0e3c2e8f033d3bdc03ff77a3"}}, {"rule": 2, "type": "equivalent", "target": "63b8a63bbdbf13afeea084b329b5de75", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "dc6aaf1f5385330a98f6748b2c1e31c2c612076c0e3c2e8f033d3bdc03ff77a3"}}, {"rule": 2, "type": "equivalent", "target": "b2e8b7cf11bd9b63b30920bdeb93c80d", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "dc6aaf1f5385330a98f6748b2c1e31c2c612076c0e3c2e8f033d3bdc03ff77a3"}}, {"rule": 2, "type": "equivalent", "target": "e36862b792e753bdfce395af7b742909", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "dc6aaf1f5385330a98f6748b2c1e31c2c612076c0e3c2e8f033d3bdc03ff77a3"}}], "version": "9.4.6", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "b2e8b7cf11bd9b63b30920bdeb93c80d", "kind": "equivalent", "version": "9.5.1", "label": "9.5.1", "title": "使 pg_dump 把视图的触发器标记为需要在其规则之后处理，以防止并行 pg_restore 期间可能出现的失败", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "dc6aaf1f5385330a98f6748b2c1e31c2c612076c0e3c2e8f033d3bdc03ff77a3"}, "url": "/docs/compare/?release=9.5.1#9.5.1-4ac819f6b4fd1f7a", "source_url": "/docs/release/9.5.1/#id-1.11.6.29.5"}, {"db_id": "63b8a63bbdbf13afeea084b329b5de75", "kind": "equivalent", "version": "9.3.11", "label": "9.3.11", "title": "使 pg_dump 把视图的触发器标记为需要在其规则之后处理，以防止并行 pg_restore 期间可能出现的失败", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "dc6aaf1f5385330a98f6748b2c1e31c2c612076c0e3c2e8f033d3bdc03ff77a3"}, "url": "/docs/compare/?release=9.3.11#9.3.11-4ac819f6b4fd1f7a", "source_url": "/docs/release/9.3.11/#id-1.11.6.19.5"}, {"db_id": "e36862b792e753bdfce395af7b742909", "kind": "equivalent", "version": "9.2.15", "label": "9.2.15", "title": "使 pg_dump 把视图的触发器标记为需要在其规则之后处理，以防止并行 pg_restore 期间可能出现的失败", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "dc6aaf1f5385330a98f6748b2c1e31c2c612076c0e3c2e8f033d3bdc03ff77a3"}, "url": "/docs/compare/?release=9.2.15#9.2.15-4ac819f6b4fd1f7a", "source_url": "/docs/release/9.2.15/#id-1.11.6.14.5"}, {"db_id": "639282d960c0c0b620edebea4b414918", "kind": "equivalent", "version": "9.1.20", "label": "9.1.20", "title": "使 pg_dump 把视图的触发器标记为需要在其规则之后处理，以防止并行 pg_restore 期间可能出现的失败", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "dc6aaf1f5385330a98f6748b2c1e31c2c612076c0e3c2e8f033d3bdc03ff77a3"}, "url": "/docs/compare/?release=9.1.20#9.1.20-4ac819f6b4fd1f7a", "source_url": "/docs/release/9.1.20/#id-1.11.6.9.5"}]}, {"id": "9.4.6-f8d0884c8f8aeb04", "cves": [], "html": "<p>确保在 <span>pg_dump</span> 中正确引用关系选项值（Kouhei Sutou、Tom Lane）</p>\n<p>不是简单标识符或数字的 reloption 值可能因 <span>pg_dump</span> 发出的 CREATE 语句中的语法错误而导致转储/重载失败。核心 <span>PostgreSQL</span> 目前支持的任何 reloption 都不存在此问题，但扩展可能允许导致该问题的 reloption。</p>", "text": "确保在 pg_dump 中正确引用关系选项值（Kouhei Sutou、Tom Lane） 不是简单标识符或数字的 reloption 值可能因 pg_dump 发出的 CREATE 语句中的语法错误而导致转储/重载失败。核心 PostgreSQL 目前支持的任何 reloption 都不存在此问题，但扩展可能允许导致该问题的 reloption。", "title": "确保在 pg_dump 中正确引用关系选项值", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.4.6/#id-1.11.6.25.5", "source_hash": "abb3879baa8d83ef9c3c6c885ece851e929b013c6a1538d9b879b3f9612dd7ea", "section_path": ["变更"], "commit_groups": [["1eb515ad7", "6a0d63d35", "aab4b73bd", "b01828e97", "b416c0bb6", "e4959fb5c"], ["404c45bac", "69cfe15b5", "85dbc46bd", "babf38e88", "c7e27becd", "f9b3b3fec"]], "identity_text": "Ensure that relation option values are properly quoted in pg_dump (Kouhei Sutou, Tom Lane) A reloption value that isn't a simple identifier or number could lead to dump/reload failures due to syntax errors in CREATE statements issued by pg_dump. This is not an issue with any reloption currently supported by core PostgreSQL, but extensions could allow reloptions that cause the problem.", "commit_aliases": ["1eb515ad7", "404c45bac", "69cfe15b5", "6a0d63d35", "85dbc46bd", "aab4b73bd", "b01828e97", "b416c0bb6", "babf38e88", "c7e27becd", "e4959fb5c", "f9b3b3fec"], "source_commits": ["aab4b73bd", "f9b3b3fec"], "source_entry_id": "9.4.6/changes/038", "db_id": "a6bb80d37fa66eaf597d5a3624573c67", "patch_ids": ["5fc77f9e6113b75de49c0473a0253544", "708ef09886e0078579c44cab15753446"], "statement_hash": "35e4aef187331f675fee96ab6510031394a03be2bc63aab2bb3f0107e1403eba", "relations": [{"rule": 2, "type": "equivalent", "target": "19602b097ec7cc56905fc5cc268cc944", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "35e4aef187331f675fee96ab6510031394a03be2bc63aab2bb3f0107e1403eba"}}, {"rule": 2, "type": "equivalent", "target": "6651e7f0b23e756ca87408364e77ea30", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "35e4aef187331f675fee96ab6510031394a03be2bc63aab2bb3f0107e1403eba"}}, {"rule": 2, "type": "equivalent", "target": "77f577d99ffe9bb3cc7c632c9b2ff12a", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "35e4aef187331f675fee96ab6510031394a03be2bc63aab2bb3f0107e1403eba"}}], "version": "9.4.6", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "6651e7f0b23e756ca87408364e77ea30", "kind": "equivalent", "version": "9.3.11", "label": "9.3.11", "title": "确保在 pg_dump 中正确引用关系选项值", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "35e4aef187331f675fee96ab6510031394a03be2bc63aab2bb3f0107e1403eba"}, "url": "/docs/compare/?release=9.3.11#9.3.11-f8d0884c8f8aeb04", "source_url": "/docs/release/9.3.11/#id-1.11.6.19.5"}, {"db_id": "77f577d99ffe9bb3cc7c632c9b2ff12a", "kind": "equivalent", "version": "9.2.15", "label": "9.2.15", "title": "确保在 pg_dump 中正确引用关系选项值", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "35e4aef187331f675fee96ab6510031394a03be2bc63aab2bb3f0107e1403eba"}, "url": "/docs/compare/?release=9.2.15#9.2.15-f8d0884c8f8aeb04", "source_url": "/docs/release/9.2.15/#id-1.11.6.14.5"}, {"db_id": "19602b097ec7cc56905fc5cc268cc944", "kind": "equivalent", "version": "9.1.20", "label": "9.1.20", "title": "确保在 pg_dump 中正确引用关系选项值", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "35e4aef187331f675fee96ab6510031394a03be2bc63aab2bb3f0107e1403eba"}, "url": "/docs/compare/?release=9.1.20#9.1.20-f8d0884c8f8aeb04", "source_url": "/docs/release/9.1.20/#id-1.11.6.9.5"}]}, {"id": "9.4.6-34c3087e2bb84354", "cves": [], "html": "<p>避免并行 <span>pg_dump</span> 期间重复的口令提示（Zeus Kronion）</p>", "text": "避免并行 pg_dump 期间重复的口令提示（Zeus Kronion）", "title": "避免并行 pg_dump 期间重复的口令提示", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.4.6/#id-1.11.6.25.5", "source_hash": "02d59b5360a577502847a2cb2d2e52735d79f5277bec982efe61e96b472d7602", "section_path": ["变更"], "commit_groups": [["1aa41e3ea", "534a4159c", "a21994c1b", "f56802a2d"]], "identity_text": "Avoid repeated password prompts during parallel pg_dump (Zeus Kronion)", "commit_aliases": ["1aa41e3ea", "534a4159c", "a21994c1b", "f56802a2d"], "source_commits": ["f56802a2d"], "source_entry_id": "9.4.6/changes/039", "db_id": "94867aa46faff4bfb8f40fcdf3c81e64", "patch_ids": ["8e76cebf3b24a9619b07bcf195ca2773"], "statement_hash": "bd59de4b368f5d4a7441b795fd508f9124638d7a8f575383897c6ee089960b99", "relations": [{"rule": 2, "type": "equivalent", "target": "f8b4bb463beb72cd5f98b04f6f8ab176", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "bd59de4b368f5d4a7441b795fd508f9124638d7a8f575383897c6ee089960b99"}}], "version": "9.4.6", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "f8b4bb463beb72cd5f98b04f6f8ab176", "kind": "equivalent", "version": "9.3.11", "label": "9.3.11", "title": "避免并行pg_dump期间重复提示输入密码", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "bd59de4b368f5d4a7441b795fd508f9124638d7a8f575383897c6ee089960b99"}, "url": "/docs/compare/?release=9.3.11#9.3.11-fded54185e639631", "source_url": "/docs/release/9.3.11/#id-1.11.6.19.5"}]}, {"id": "9.4.6-0dc3c0f12850888d", "cves": [], "html": "<p>修复 <span>pg_upgrade</span> 的文件复制代码，使其在 Windows 上正确处理错误（Bruce Momjian）</p>", "text": "修复 pg_upgrade 的文件复制代码，使其在 Windows 上正确处理错误（Bruce Momjian）", "title": "修复 pg_upgrade 的文件复制代码，使其在 Windows 上正确处理错误", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.4.6/#id-1.11.6.25.5", "source_hash": "db33870d5da16e37e14667734660b159c3feb2347d765fa048fade1438975e4b", "section_path": ["变更"], "commit_groups": [["025106e31", "87cdfeb18", "a75efb483", "b4c4220ed", "bdcbc2b47", "fae58d5be"], ["0ca3c51e5", "13b30c16f", "6638c9aaf", "b17dbf262", "c36064e43", "f91c4e326"]], "identity_text": "Fix pg_upgrade's file-copying code to handle errors properly on Windows (Bruce Momjian)", "commit_aliases": ["025106e31", "0ca3c51e5", "13b30c16f", "6638c9aaf", "87cdfeb18", "a75efb483", "b17dbf262", "b4c4220ed", "bdcbc2b47", "c36064e43", "f91c4e326", "fae58d5be"], "source_commits": ["87cdfeb18", "f91c4e326"], "source_entry_id": "9.4.6/changes/040", "db_id": "8140d29f7f589c870ded31cc7977247a", "patch_ids": ["0359972ac2df4791de8ca3e50c69d9f6", "5a082616ab37f9acad99ec74564bb401"], "statement_hash": "68a5674f71f69904948966f78ebc4083806d6465fcaa9352218b989d73be6b86", "relations": [{"rule": 2, "type": "equivalent", "target": "26862cd7129c3b4e932d1d6cf1e81781", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "68a5674f71f69904948966f78ebc4083806d6465fcaa9352218b989d73be6b86"}}, {"rule": 2, "type": "equivalent", "target": "4eab1336d67ab9c7670f4eb659d285b7", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "68a5674f71f69904948966f78ebc4083806d6465fcaa9352218b989d73be6b86"}}, {"rule": 2, "type": "equivalent", "target": "82c2c51b41f7eb65423ef1707b2e5dc3", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "68a5674f71f69904948966f78ebc4083806d6465fcaa9352218b989d73be6b86"}}], "version": "9.4.6", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "26862cd7129c3b4e932d1d6cf1e81781", "kind": "equivalent", "version": "9.3.11", "label": "9.3.11", "title": "修复pg_upgrade的文件复制代码在 Windows 上正确处理错误的问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "68a5674f71f69904948966f78ebc4083806d6465fcaa9352218b989d73be6b86"}, "url": "/docs/compare/?release=9.3.11#9.3.11-74211eed4186e5ae", "source_url": "/docs/release/9.3.11/#id-1.11.6.19.5"}, {"db_id": "4eab1336d67ab9c7670f4eb659d285b7", "kind": "equivalent", "version": "9.2.15", "label": "9.2.15", "title": "修复pg_upgrade的文件复制代码在 Windows 上正确处理错误的问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "68a5674f71f69904948966f78ebc4083806d6465fcaa9352218b989d73be6b86"}, "url": "/docs/compare/?release=9.2.15#9.2.15-74211eed4186e5ae", "source_url": "/docs/release/9.2.15/#id-1.11.6.14.5"}, {"db_id": "82c2c51b41f7eb65423ef1707b2e5dc3", "kind": "equivalent", "version": "9.1.20", "label": "9.1.20", "title": "修复pg_upgrade的文件复制代码在 Windows 上正确处理错误的问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "68a5674f71f69904948966f78ebc4083806d6465fcaa9352218b989d73be6b86"}, "url": "/docs/compare/?release=9.1.20#9.1.20-74211eed4186e5ae", "source_url": "/docs/release/9.1.20/#id-1.11.6.9.5"}]}, {"id": "9.4.6-062bdb6ed6ecd3a0", "cves": [], "html": "<p>在 <span>pgbench</span> 中加入防护，防止计算脚本指定的除法或取模运算符期间的边界溢出情况（Fabien Coelho、Michael Paquier）</p>", "text": "在 pgbench 中加入防护，防止计算脚本指定的除法或取模运算符期间的边界溢出情况（Fabien Coelho、Michael Paquier）", "title": "在 pgbench 中加入防护，防止计算脚本指定的除法或取模运算符期间的边界溢出情况", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.4.6/#id-1.11.6.25.5", "source_hash": "aed2a0ec093010ea8eb85c16b4a0826a6d8a11475174d1920558c04aaf69eca5", "section_path": ["变更"], "commit_groups": [], "identity_text": "Install guards in pgbench against corner-case overflow conditions during evaluation of script-specified division or modulo operators (Fabien Coelho, Michael Paquier)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.4.6/changes/041", "db_id": "463b7c278954267c51dffc4cc837224d", "patch_ids": [], "statement_hash": "6fa6f9c75d6b8001063fd0b5e76296556c995444580bfe40bb47117e6b139dd0", "relations": [{"rule": 2, "type": "equivalent", "target": "4429311b4c20fda04d0ca5162000d686", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "6fa6f9c75d6b8001063fd0b5e76296556c995444580bfe40bb47117e6b139dd0"}}, {"rule": 2, "type": "equivalent", "target": "8343cc2c0cc89f60b2a1ea88aed18d6f", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "6fa6f9c75d6b8001063fd0b5e76296556c995444580bfe40bb47117e6b139dd0"}}, {"rule": 2, "type": "equivalent", "target": "9acad733ddf9374f74a8f9a01331be18", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "6fa6f9c75d6b8001063fd0b5e76296556c995444580bfe40bb47117e6b139dd0"}}, {"rule": 2, "type": "equivalent", "target": "a93a7956fc7b9f395d4fc12c4ba43568", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "6fa6f9c75d6b8001063fd0b5e76296556c995444580bfe40bb47117e6b139dd0"}}], "version": "9.4.6", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "9acad733ddf9374f74a8f9a01331be18", "kind": "equivalent", "version": "9.5.1", "label": "9.5.1", "title": "在 pgbench 中加入防护，防止计算脚本指定的除法或取模运算符期间的边界溢出情况", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "6fa6f9c75d6b8001063fd0b5e76296556c995444580bfe40bb47117e6b139dd0"}, "url": "/docs/compare/?release=9.5.1#9.5.1-062bdb6ed6ecd3a0", "source_url": "/docs/release/9.5.1/#id-1.11.6.29.5"}, {"db_id": "a93a7956fc7b9f395d4fc12c4ba43568", "kind": "equivalent", "version": "9.3.11", "label": "9.3.11", "title": "在 pgbench 中加入防护，防止计算脚本指定的除法或取模运算符期间的边界溢出情况", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "6fa6f9c75d6b8001063fd0b5e76296556c995444580bfe40bb47117e6b139dd0"}, "url": "/docs/compare/?release=9.3.11#9.3.11-062bdb6ed6ecd3a0", "source_url": "/docs/release/9.3.11/#id-1.11.6.19.5"}, {"db_id": "8343cc2c0cc89f60b2a1ea88aed18d6f", "kind": "equivalent", "version": "9.2.15", "label": "9.2.15", "title": "在 pgbench 中加入防护，防止计算脚本指定的除法或取模运算符期间的边界溢出情况", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "6fa6f9c75d6b8001063fd0b5e76296556c995444580bfe40bb47117e6b139dd0"}, "url": "/docs/compare/?release=9.2.15#9.2.15-062bdb6ed6ecd3a0", "source_url": "/docs/release/9.2.15/#id-1.11.6.14.5"}, {"db_id": "4429311b4c20fda04d0ca5162000d686", "kind": "equivalent", "version": "9.1.20", "label": "9.1.20", "title": "在 pgbench 中加入防护，防止计算脚本指定的除法或取模运算符期间的边界溢出情况", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "6fa6f9c75d6b8001063fd0b5e76296556c995444580bfe40bb47117e6b139dd0"}, "url": "/docs/compare/?release=9.1.20#9.1.20-062bdb6ed6ecd3a0", "source_url": "/docs/release/9.1.20/#id-1.11.6.9.5"}]}, {"id": "9.4.6-8e951010d5c7d666", "cves": [], "html": "<p>修复 <span>pg_receivexlog</span> 和 <span>pg_recvlogical</span> 发出的消息未能本地化的问题（Ioseph Kim）</p>", "text": "修复 pg_receivexlog 和 pg_recvlogical 发出的消息未能本地化的问题（Ioseph Kim）", "title": "修复 pg_receivexlog 和 pg_recvlogical 发出的消息未能本地化的问题", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.4.6/#id-1.11.6.25.5", "source_hash": "ddbd946dc25286792052c93d7c3bf602c966a4f85ccd54a47b0e9682a91aed80", "section_path": ["变更"], "commit_groups": [["4fb9e6109", "7533d5d35", "c3e068b26", "f98bc20dd", "fc995bfdb"]], "identity_text": "Fix failure to localize messages emitted by pg_receivexlog and pg_recvlogical (Ioseph Kim)", "commit_aliases": ["4fb9e6109", "7533d5d35", "c3e068b26", "f98bc20dd", "fc995bfdb"], "source_commits": ["f98bc20dd"], "source_entry_id": "9.4.6/changes/042", "db_id": "848f1dfb79f8ba831f4eb1228c8baf67", "patch_ids": ["831dc257074cbea418260d487b2b8924"], "statement_hash": "937b76544c27c1c25d87e8efc6232e4f7e25349272b63ed90649ac31c28c3b80", "relations": [{"rule": 2, "type": "equivalent", "target": "0e1477de110bb136923a7cac20e12a9d", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "937b76544c27c1c25d87e8efc6232e4f7e25349272b63ed90649ac31c28c3b80"}}, {"rule": 2, "type": "equivalent", "target": "a4918730cecb15cbd2eeade1a35d16d9", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "937b76544c27c1c25d87e8efc6232e4f7e25349272b63ed90649ac31c28c3b80"}}], "version": "9.4.6", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "0e1477de110bb136923a7cac20e12a9d", "kind": "equivalent", "version": "9.3.11", "label": "9.3.11", "title": "修复pg_receivexlog和pg_recvlogical发出的消息未能本地化的问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "937b76544c27c1c25d87e8efc6232e4f7e25349272b63ed90649ac31c28c3b80"}, "url": "/docs/compare/?release=9.3.11#9.3.11-441f67497790b5ab", "source_url": "/docs/release/9.3.11/#id-1.11.6.19.5"}, {"db_id": "a4918730cecb15cbd2eeade1a35d16d9", "kind": "equivalent", "version": "9.2.15", "label": "9.2.15", "title": "修复pg_receivexlog和pg_recvlogical发出的消息未能本地化的问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "937b76544c27c1c25d87e8efc6232e4f7e25349272b63ed90649ac31c28c3b80"}, "url": "/docs/compare/?release=9.2.15#9.2.15-441f67497790b5ab", "source_url": "/docs/release/9.2.15/#id-1.11.6.14.5"}]}, {"id": "9.4.6-b80acca3e311d56f", "cves": [], "html": "<p>避免同时使用 <span>plpython2</span> 和 <span>plpython3</span> 时的转储/重载问题（Tom Lane）</p>\n<p>原则上，两个版本的 <span>PL/Python</span> 可以在同一个数据库中使用，但不能在同一个会话中使用（因为两个版本的 <span>libpython</span> 无法安全地并发使用）。然而，<span>pg_restore</span> 和 <span>pg_upgrade</span> 都会做一些可能触犯同会话限制的事情。通过更改检查的时机来规避这一点。</p>", "text": "避免同时使用 plpython2 和 plpython3 时的转储/重载问题（Tom Lane） 原则上，两个版本的 PL/Python 可以在同一个数据库中使用，但不能在同一个会话中使用（因为两个版本的 libpython 无法安全地并发使用）。然而，pg_restore 和 pg_upgrade 都会做一些可能触犯同会话限制的事情。通过更改检查的时机来规避这一点。", "title": "避免同时使用 plpython2 和 plpython3 时的转储/重载问题", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.4.6/#id-1.11.6.25.5", "source_hash": "552fa7de07fa605440aef3fd02ef0ecce882d2734845ecd8afb209ff2f02b59f", "section_path": ["变更"], "commit_groups": [], "identity_text": "Avoid dump/reload problems when using both plpython2 and plpython3 (Tom Lane) In principle, both versions of PL/Python can be used in the same database, though not in the same session (because the two versions of libpython cannot safely be used concurrently). However, pg_restore and pg_upgrade both do things that can fall foul of the same-session restriction. Work around that by changing the timing of the check.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.4.6/changes/043", "db_id": "7fdfe610b682c284f5187886cab8f091", "patch_ids": [], "statement_hash": "b2c01f4b617880c0b4e4761aee6ee4f8e87a36a38ced76f9fceb6655ee777068", "relations": [{"rule": 2, "type": "equivalent", "target": "5c4e991f8d4a642900a543199662451d", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b2c01f4b617880c0b4e4761aee6ee4f8e87a36a38ced76f9fceb6655ee777068"}}, {"rule": 2, "type": "equivalent", "target": "73bfe5d2b41d97c4d9debc1380abac6d", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b2c01f4b617880c0b4e4761aee6ee4f8e87a36a38ced76f9fceb6655ee777068"}}, {"rule": 2, "type": "equivalent", "target": "f96612f238be71ec939b6687fd44e0ef", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b2c01f4b617880c0b4e4761aee6ee4f8e87a36a38ced76f9fceb6655ee777068"}}], "version": "9.4.6", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "73bfe5d2b41d97c4d9debc1380abac6d", "kind": "equivalent", "version": "9.5.1", "label": "9.5.1", "title": "避免同时使用 plpython2 和 plpython3 时的转储/重载问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b2c01f4b617880c0b4e4761aee6ee4f8e87a36a38ced76f9fceb6655ee777068"}, "url": "/docs/compare/?release=9.5.1#9.5.1-b80acca3e311d56f", "source_url": "/docs/release/9.5.1/#id-1.11.6.29.5"}, {"db_id": "5c4e991f8d4a642900a543199662451d", "kind": "equivalent", "version": "9.3.11", "label": "9.3.11", "title": "避免同时使用 plpython2 和 plpython3 时的转储/重载问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b2c01f4b617880c0b4e4761aee6ee4f8e87a36a38ced76f9fceb6655ee777068"}, "url": "/docs/compare/?release=9.3.11#9.3.11-b80acca3e311d56f", "source_url": "/docs/release/9.3.11/#id-1.11.6.19.5"}, {"db_id": "f96612f238be71ec939b6687fd44e0ef", "kind": "equivalent", "version": "9.2.15", "label": "9.2.15", "title": "避免同时使用 plpython2 和 plpython3 时的转储/重载问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b2c01f4b617880c0b4e4761aee6ee4f8e87a36a38ced76f9fceb6655ee777068"}, "url": "/docs/compare/?release=9.2.15#9.2.15-b80acca3e311d56f", "source_url": "/docs/release/9.2.15/#id-1.11.6.14.5"}]}, {"id": "9.4.6-98e44a64839adac8", "cves": [], "html": "<p>修复 <span>PL/Python</span> 回归测试，使其在 Python 3.5 下通过（Peter Eisentraut）</p>", "text": "修复 PL/Python 回归测试，使其在 Python 3.5 下通过（Peter Eisentraut）", "title": "修复 PL/Python 回归测试，使其在 Python 3.5 下通过", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.4.6/#id-1.11.6.25.5", "source_hash": "5416494c28506e35c4e5c6199da40e786243910596e4da9b594da441a8c96b16", "section_path": ["变更"], "commit_groups": [], "identity_text": "Fix PL/Python regression tests to pass with Python 3.5 (Peter Eisentraut)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.4.6/changes/044", "db_id": "d386cbd1ac4a9f26bef75a9d608f038a", "patch_ids": [], "statement_hash": "237dcc688f27a213242316d250ad373c3d96ed314c1e3cea371795c31275bc9d", "relations": [{"rule": 2, "type": "equivalent", "target": "55b28d130ac75b6dc9cfaabf8bcdb824", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "237dcc688f27a213242316d250ad373c3d96ed314c1e3cea371795c31275bc9d"}}, {"rule": 2, "type": "equivalent", "target": "87806806231c4a8aae83fd9987903150", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "237dcc688f27a213242316d250ad373c3d96ed314c1e3cea371795c31275bc9d"}}, {"rule": 2, "type": "equivalent", "target": "a5ea72bcf0bc30d1ac85879513b1a196", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "237dcc688f27a213242316d250ad373c3d96ed314c1e3cea371795c31275bc9d"}}], "version": "9.4.6", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "87806806231c4a8aae83fd9987903150", "kind": "equivalent", "version": "9.5.1", "label": "9.5.1", "title": "修复 PL/Python 回归测试，使其在 Python 3.5 下通过", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "237dcc688f27a213242316d250ad373c3d96ed314c1e3cea371795c31275bc9d"}, "url": "/docs/compare/?release=9.5.1#9.5.1-98e44a64839adac8", "source_url": "/docs/release/9.5.1/#id-1.11.6.29.5"}, {"db_id": "a5ea72bcf0bc30d1ac85879513b1a196", "kind": "equivalent", "version": "9.3.11", "label": "9.3.11", "title": "修复 PL/Python 回归测试，使其在 Python 3.5 下通过", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "237dcc688f27a213242316d250ad373c3d96ed314c1e3cea371795c31275bc9d"}, "url": "/docs/compare/?release=9.3.11#9.3.11-98e44a64839adac8", "source_url": "/docs/release/9.3.11/#id-1.11.6.19.5"}, {"db_id": "55b28d130ac75b6dc9cfaabf8bcdb824", "kind": "equivalent", "version": "9.2.15", "label": "9.2.15", "title": "修复 PL/Python 回归测试，使其在 Python 3.5 下通过", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "237dcc688f27a213242316d250ad373c3d96ed314c1e3cea371795c31275bc9d"}, "url": "/docs/compare/?release=9.2.15#9.2.15-98e44a64839adac8", "source_url": "/docs/release/9.2.15/#id-1.11.6.14.5"}]}, {"id": "9.4.6-765a429a54702905", "cves": [], "html": "<p>修复看到套接字 EOF 时过早清空 <span>libpq</span> 输入缓冲区的问题（Tom Lane）</p>\n<p>这一错误导致 <span>libpq</span> 有时在报告 <span>“<span>server closed the connection unexpectedly</span>”</span> 之前未能报告后端的最终错误消息。</p>", "text": "修复看到套接字 EOF 时过早清空 libpq 输入缓冲区的问题（Tom Lane） 这一错误导致 libpq 有时在报告 “server closed the connection unexpectedly” 之前未能报告后端的最终错误消息。", "title": "修复看到套接字 EOF 时过早清空 libpq 输入缓冲区的问题", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.4.6/#id-1.11.6.25.5", "source_hash": "687b4fa2129004dd10b3889deafceb726baaa11d567280e81a2478b5e6f1e65e", "section_path": ["变更"], "commit_groups": [["40879a92b", "747854f01", "c40591885", "db6e8e162"]], "identity_text": "Fix premature clearing of libpq's input buffer when socket EOF is seen (Tom Lane) This mistake caused libpq to sometimes not report the backend's final error message before reporting server closed the connection unexpectedly.", "commit_aliases": ["40879a92b", "747854f01", "c40591885", "db6e8e162"], "source_commits": ["40879a92b"], "source_entry_id": "9.4.6/changes/045", "db_id": "7e035a0c6aeb16ff79bb21c31a6fa805", "patch_ids": ["af2e229827e96a334912c818fd405848"], "statement_hash": "8b4aa5d50f03b37b23b65c855fb3699aa3e5b6b3e3fa0daf401164df1bee580d", "relations": [{"rule": 2, "type": "equivalent", "target": "98cc9d433de0cea732f333360c2f2245", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "8b4aa5d50f03b37b23b65c855fb3699aa3e5b6b3e3fa0daf401164df1bee580d"}}], "version": "9.4.6", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "98cc9d433de0cea732f333360c2f2245", "kind": "equivalent", "version": "9.3.11", "label": "9.3.11", "title": "修复看到套接字 EOF 时过早清空 libpq 输入缓冲区的问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "8b4aa5d50f03b37b23b65c855fb3699aa3e5b6b3e3fa0daf401164df1bee580d"}, "url": "/docs/compare/?release=9.3.11#9.3.11-765a429a54702905", "source_url": "/docs/release/9.3.11/#id-1.11.6.19.5"}]}, {"id": "9.4.6-4bd6cf6c1d36bca3", "cves": ["CVE-2016-0766"], "html": "<p>防止某些 <span>PL/Java</span> 参数被非超级用户设置（Noah Misch）</p>\n<p>此变更缓解了 <span>PL/Java</span> 的一个安全 bug（CVE-2016-0766），该 bug 在 <span>PL/Java</span> 中已通过把这些参数标记为仅超级用户可用来修复。为了保护那些更新 <span>PostgreSQL</span> 比 <span>PL/Java</span> 更频繁的站点，核心代码现在也识别这些参数。</p>", "text": "防止某些 PL/Java 参数被非超级用户设置（Noah Misch） 此变更缓解了 PL/Java 的一个安全 bug（CVE-2016-0766），该 bug 在 PL/Java 中已通过把这些参数标记为仅超级用户可用来修复。为了保护那些更新 PostgreSQL 比 PL/Java 更频繁的站点，核心代码现在也识别这些参数。", "title": "防止某些 PL/Java 参数被非超级用户设置", "commits": [], "section": "变更", "category": "security", "source_url": "/docs/release/9.4.6/#id-1.11.6.25.5", "source_hash": "65ada80d16c184c7b2bfa993f528e031432a64b029e02243e50a34e77fb06ecc", "section_path": ["变更"], "commit_groups": [], "identity_text": "Prevent certain PL/Java parameters from being set by non-superusers (Noah Misch) This change mitigates a PL/Java security bug (CVE-2016-0766), which was fixed in PL/Java by marking these parameters as superuser-only. To fix the security hazard for sites that update PostgreSQL more frequently than PL/Java, make the core code aware of them also.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.4.6/changes/046", "db_id": "c75a2e5f772bd39312a83d259c6eca92", "patch_ids": [], "statement_hash": "b7641a8f14767c8e49f5f56ee76f2f9bf1af49b7c7045d413e7ea1f09a6f7f11", "relations": [{"rule": 2, "type": "equivalent", "target": "4917d87c69fd2381f0cd0bb043dd7284", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b7641a8f14767c8e49f5f56ee76f2f9bf1af49b7c7045d413e7ea1f09a6f7f11"}}, {"rule": 2, "type": "equivalent", "target": "97dc39fa0e7bec5e2534a2b04109f605", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b7641a8f14767c8e49f5f56ee76f2f9bf1af49b7c7045d413e7ea1f09a6f7f11"}}, {"rule": 2, "type": "equivalent", "target": "da4a43b885b72a66ad8ccbcf7f4c082b", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b7641a8f14767c8e49f5f56ee76f2f9bf1af49b7c7045d413e7ea1f09a6f7f11"}}, {"rule": 2, "type": "equivalent", "target": "e039ea2a4900d0587260a96ef5854826", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b7641a8f14767c8e49f5f56ee76f2f9bf1af49b7c7045d413e7ea1f09a6f7f11"}}], "version": "9.4.6", "category_label": "安全相关", "also_in": [], "variants": [], "related_changes": [{"db_id": "97dc39fa0e7bec5e2534a2b04109f605", "kind": "equivalent", "version": "9.5.1", "label": "9.5.1", "title": "防止某些 PL/Java 参数被非超级用户设置", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b7641a8f14767c8e49f5f56ee76f2f9bf1af49b7c7045d413e7ea1f09a6f7f11"}, "url": "/docs/compare/?release=9.5.1#9.5.1-4bd6cf6c1d36bca3", "source_url": "/docs/release/9.5.1/#id-1.11.6.29.5"}, {"db_id": "e039ea2a4900d0587260a96ef5854826", "kind": "equivalent", "version": "9.3.11", "label": "9.3.11", "title": "防止某些 PL/Java 参数被非超级用户设置", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b7641a8f14767c8e49f5f56ee76f2f9bf1af49b7c7045d413e7ea1f09a6f7f11"}, "url": "/docs/compare/?release=9.3.11#9.3.11-4bd6cf6c1d36bca3", "source_url": "/docs/release/9.3.11/#id-1.11.6.19.5"}, {"db_id": "da4a43b885b72a66ad8ccbcf7f4c082b", "kind": "equivalent", "version": "9.2.15", "label": "9.2.15", "title": "防止某些 PL/Java 参数被非超级用户设置", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b7641a8f14767c8e49f5f56ee76f2f9bf1af49b7c7045d413e7ea1f09a6f7f11"}, "url": "/docs/compare/?release=9.2.15#9.2.15-4bd6cf6c1d36bca3", "source_url": "/docs/release/9.2.15/#id-1.11.6.14.5"}, {"db_id": "4917d87c69fd2381f0cd0bb043dd7284", "kind": "equivalent", "version": "9.1.20", "label": "9.1.20", "title": "防止某些 PL/Java 参数被非超级用户设置", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b7641a8f14767c8e49f5f56ee76f2f9bf1af49b7c7045d413e7ea1f09a6f7f11"}, "url": "/docs/compare/?release=9.1.20#9.1.20-4bd6cf6c1d36bca3", "source_url": "/docs/release/9.1.20/#id-1.11.6.9.5"}]}, {"id": "9.4.6-28d5e03370026ec7", "cves": [], "html": "<p>改进 <span>libpq</span> 对内存不足情况的处理（Michael Paquier、Amit Kapila、Heikki Linnakangas）</p>", "text": "改进 libpq 对内存不足情况的处理（Michael Paquier、Amit Kapila、Heikki Linnakangas）", "title": "改进 libpq 对内存不足情况的处理", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.4.6/#id-1.11.6.25.5", "source_hash": "f079a5069615afff4320321c696cb91411fd1f22b50d45be2d2a4516175e666c", "section_path": ["变更"], "commit_groups": [["1e23caae3", "34d136f92", "4b58ded74", "7b96bf445", "affae5e98", "dee1ed54f"]], "identity_text": "Improve libpq's handling of out-of-memory situations (Michael Paquier, Amit Kapila, Heikki Linnakangas)", "commit_aliases": ["1e23caae3", "34d136f92", "4b58ded74", "7b96bf445", "affae5e98", "dee1ed54f"], "source_commits": ["affae5e98"], "source_entry_id": "9.4.6/changes/047", "db_id": "04602bb7abe3e41cae470dd025c9b56c", "patch_ids": ["f8e05d0b08c4c6e1ca32886f460e7ae3"], "statement_hash": "94de8cb6f391c44f358766a276080845a47663e05dc388c5ef643bc2811a8878", "relations": [{"rule": 2, "type": "equivalent", "target": "1fa9f10469b0b247fb97b3b1896e5a58", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "94de8cb6f391c44f358766a276080845a47663e05dc388c5ef643bc2811a8878"}}, {"rule": 2, "type": "equivalent", "target": "585e6569d6e7c0f2d5bd6881fc9cd9fb", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "94de8cb6f391c44f358766a276080845a47663e05dc388c5ef643bc2811a8878"}}, {"rule": 2, "type": "equivalent", "target": "693ce08e2c5739bfdb85663d1686aec9", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "94de8cb6f391c44f358766a276080845a47663e05dc388c5ef643bc2811a8878"}}], "version": "9.4.6", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "1fa9f10469b0b247fb97b3b1896e5a58", "kind": "equivalent", "version": "9.3.11", "label": "9.3.11", "title": "改进libpq对内存耗尽情况的处理", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "94de8cb6f391c44f358766a276080845a47663e05dc388c5ef643bc2811a8878"}, "url": "/docs/compare/?release=9.3.11#9.3.11-325b5407b34583a4", "source_url": "/docs/release/9.3.11/#id-1.11.6.19.5"}, {"db_id": "585e6569d6e7c0f2d5bd6881fc9cd9fb", "kind": "equivalent", "version": "9.2.15", "label": "9.2.15", "title": "改进libpq对内存耗尽情况的处理", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "94de8cb6f391c44f358766a276080845a47663e05dc388c5ef643bc2811a8878"}, "url": "/docs/compare/?release=9.2.15#9.2.15-325b5407b34583a4", "source_url": "/docs/release/9.2.15/#id-1.11.6.14.5"}, {"db_id": "693ce08e2c5739bfdb85663d1686aec9", "kind": "equivalent", "version": "9.1.20", "label": "9.1.20", "title": "改进libpq对内存耗尽情况的处理", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "94de8cb6f391c44f358766a276080845a47663e05dc388c5ef643bc2811a8878"}, "url": "/docs/compare/?release=9.1.20#9.1.20-325b5407b34583a4", "source_url": "/docs/release/9.1.20/#id-1.11.6.9.5"}]}, {"id": "9.4.6-b5d6c72652781a40", "cves": [], "html": "<p>修复 <span>ecpg</span> 生成的 <code>typedef</code> 语句中参数的顺序（Michael Meskes）</p>", "text": "修复 ecpg 生成的 typedef 语句中参数的顺序（Michael Meskes）", "title": "修复 ecpg 生成的 typedef 语句中参数的顺序", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.4.6/#id-1.11.6.25.5", "source_hash": "b7bfccb43aaae3586c5248e58fdde3f98cf23548b60b1f97815706d68676155f", "section_path": ["变更"], "commit_groups": [["8f67643be", "937261454", "a850d7136", "a9bcd8370", "defd2ecf4"]], "identity_text": "Fix order of arguments in ecpg-generated typedef statements (Michael Meskes)", "commit_aliases": ["8f67643be", "937261454", "a850d7136", "a9bcd8370", "defd2ecf4"], "source_commits": ["a850d7136"], "source_entry_id": "9.4.6/changes/048", "db_id": "3972f64925ac1c9b0a688be9a80db3e3", "patch_ids": ["b14482a24793f3fb4dc0ef4e80526caa"], "statement_hash": "e58240c0c0d3c47743af3ba809be9c295fc91498139cd74694af343f1f3a352a", "relations": [{"rule": 2, "type": "equivalent", "target": "35eb5819788d465623279fefda1ec2e8", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e58240c0c0d3c47743af3ba809be9c295fc91498139cd74694af343f1f3a352a"}}, {"rule": 2, "type": "equivalent", "target": "3b5b535df34a8cd0cf1ea264b3e70939", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e58240c0c0d3c47743af3ba809be9c295fc91498139cd74694af343f1f3a352a"}}, {"rule": 2, "type": "equivalent", "target": "8b5ddfcb2c0ea310b8c6ff72f01b3292", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e58240c0c0d3c47743af3ba809be9c295fc91498139cd74694af343f1f3a352a"}}], "version": "9.4.6", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "35eb5819788d465623279fefda1ec2e8", "kind": "equivalent", "version": "9.3.11", "label": "9.3.11", "title": "修复ecpg生成的typedef语句中参数顺序错误的问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e58240c0c0d3c47743af3ba809be9c295fc91498139cd74694af343f1f3a352a"}, "url": "/docs/compare/?release=9.3.11#9.3.11-aad5e0977e02651d", "source_url": "/docs/release/9.3.11/#id-1.11.6.19.5"}, {"db_id": "8b5ddfcb2c0ea310b8c6ff72f01b3292", "kind": "equivalent", "version": "9.2.15", "label": "9.2.15", "title": "修复ecpg生成的typedef语句中参数顺序错误的问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e58240c0c0d3c47743af3ba809be9c295fc91498139cd74694af343f1f3a352a"}, "url": "/docs/compare/?release=9.2.15#9.2.15-aad5e0977e02651d", "source_url": "/docs/release/9.2.15/#id-1.11.6.14.5"}, {"db_id": "3b5b535df34a8cd0cf1ea264b3e70939", "kind": "equivalent", "version": "9.1.20", "label": "9.1.20", "title": "修复ecpg生成的typedef语句中参数顺序错误的问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e58240c0c0d3c47743af3ba809be9c295fc91498139cd74694af343f1f3a352a"}, "url": "/docs/compare/?release=9.1.20#9.1.20-aad5e0977e02651d", "source_url": "/docs/release/9.1.20/#id-1.11.6.9.5"}]}, {"id": "9.4.6-4fab32938ac8dd39", "cves": [], "html": "<p>在 <span>ecpg</span> 的 <code>PGTYPESnumeric_from_double()</code> 中使用 <code>%g</code> 而非 <code>%f</code> 格式（Tom Lane）</p>", "text": "在 ecpg 的 PGTYPESnumeric_from_double() 中使用 %g 而非 %f 格式（Tom Lane）", "title": "在 ecpg 的 PGTYPESnumeric_from_double() 中使用 %g 而非 %f 格式", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.4.6/#id-1.11.6.25.5", "source_hash": "2f50526249bd3042beca9f77b97d711ff18f64e5ba5a2c6c210da5b240e1507d", "section_path": ["变更"], "commit_groups": [["346cc2f01", "3e6e98c5a", "74cf6defa", "84387496f", "c79bdc990", "db4a5cfc7"]], "identity_text": "Use %g not %f format in ecpg's PGTYPESnumeric_from_double() (Tom Lane)", "commit_aliases": ["346cc2f01", "3e6e98c5a", "74cf6defa", "84387496f", "c79bdc990", "db4a5cfc7"], "source_commits": ["346cc2f01"], "source_entry_id": "9.4.6/changes/049", "db_id": "ec9808d09f2f1d70982641c89c979f27", "patch_ids": ["0594e18be854b3d33a9cf0fabe8f893f"], "statement_hash": "618844741a56ff7e0570120408dbe6ed55cafce111638a2d1973dcfa9e373d17", "relations": [{"rule": 2, "type": "equivalent", "target": "2cb1563074e55b7594b47f548e834cca", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "618844741a56ff7e0570120408dbe6ed55cafce111638a2d1973dcfa9e373d17"}}, {"rule": 2, "type": "equivalent", "target": "cdcc7040acee07c99d12e7597669627f", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "618844741a56ff7e0570120408dbe6ed55cafce111638a2d1973dcfa9e373d17"}}, {"rule": 2, "type": "equivalent", "target": "f52cc6da89a75ad4df01adce7effcd81", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "618844741a56ff7e0570120408dbe6ed55cafce111638a2d1973dcfa9e373d17"}}], "version": "9.4.6", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "2cb1563074e55b7594b47f548e834cca", "kind": "equivalent", "version": "9.3.11", "label": "9.3.11", "title": "在ecpg的PGTYPESnumeric_from_double()中使用%g而非%f格式", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "618844741a56ff7e0570120408dbe6ed55cafce111638a2d1973dcfa9e373d17"}, "url": "/docs/compare/?release=9.3.11#9.3.11-8a31d96997d8bcd6", "source_url": "/docs/release/9.3.11/#id-1.11.6.19.5"}, {"db_id": "cdcc7040acee07c99d12e7597669627f", "kind": "equivalent", "version": "9.2.15", "label": "9.2.15", "title": "在ecpg的PGTYPESnumeric_from_double()中使用%g而非%f格式", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "618844741a56ff7e0570120408dbe6ed55cafce111638a2d1973dcfa9e373d17"}, "url": "/docs/compare/?release=9.2.15#9.2.15-8a31d96997d8bcd6", "source_url": "/docs/release/9.2.15/#id-1.11.6.14.5"}, {"db_id": "f52cc6da89a75ad4df01adce7effcd81", "kind": "equivalent", "version": "9.1.20", "label": "9.1.20", "title": "在ecpg的PGTYPESnumeric_from_double()中使用%g而非%f格式", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "618844741a56ff7e0570120408dbe6ed55cafce111638a2d1973dcfa9e373d17"}, "url": "/docs/compare/?release=9.1.20#9.1.20-8a31d96997d8bcd6", "source_url": "/docs/release/9.1.20/#id-1.11.6.9.5"}]}, {"id": "9.4.6-265e230ca84c450a", "cves": [], "html": "<p>修复 <span>ecpg</span> 提供的头文件，使其不包含从预处理指令行延续到下一行的注释（Michael Meskes）</p>\n<p>这样的注释会被 <span>ecpg</span> 拒绝。尚不清楚是否应该更改 <span>ecpg</span> 本身。</p>", "text": "修复 ecpg 提供的头文件，使其不包含从预处理指令行延续到下一行的注释（Michael Meskes） 这样的注释会被 ecpg 拒绝。尚不清楚是否应该更改 ecpg 本身。", "title": "修复 ecpg 提供的头文件，使其不包含从预处理指令行延续到下一行的注释", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.4.6/#id-1.11.6.25.5", "source_hash": "dc136081e9898e255bf89931c5ff9b85e5904e7d50b0a9329a1128145ef8e0df", "section_path": ["变更"], "commit_groups": [], "identity_text": "Fix ecpg-supplied header files to not contain comments continued from a preprocessor directive line onto the next line (Michael Meskes) Such a comment is rejected by ecpg. It's not yet clear whether ecpg itself should be changed.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.4.6/changes/050", "db_id": "50f0a9e0cfb049a7cead7166e0526ccf", "patch_ids": [], "statement_hash": "d373359c60c9b2678de3e08e31b5db658d4c439df52a1da3998a616757e8fb90", "relations": [{"rule": 2, "type": "equivalent", "target": "0bf8a231c2b475eb4b99b5b31cdf39ee", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "d373359c60c9b2678de3e08e31b5db658d4c439df52a1da3998a616757e8fb90"}}, {"rule": 2, "type": "equivalent", "target": "25923104378ff078f6db6dfc3a69ed95", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "d373359c60c9b2678de3e08e31b5db658d4c439df52a1da3998a616757e8fb90"}}, {"rule": 2, "type": "equivalent", "target": "46427e125a70e51c6f0c98928b775de3", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "d373359c60c9b2678de3e08e31b5db658d4c439df52a1da3998a616757e8fb90"}}, {"rule": 2, "type": "equivalent", "target": "d63bda274e38217adfc55e5c5421c6d9", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "d373359c60c9b2678de3e08e31b5db658d4c439df52a1da3998a616757e8fb90"}}], "version": "9.4.6", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "25923104378ff078f6db6dfc3a69ed95", "kind": "equivalent", "version": "9.5.1", "label": "9.5.1", "title": "修复 ecpg 提供的头文件，使其不包含从预处理指令行延续到下一行的注释", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "d373359c60c9b2678de3e08e31b5db658d4c439df52a1da3998a616757e8fb90"}, "url": "/docs/compare/?release=9.5.1#9.5.1-265e230ca84c450a", "source_url": "/docs/release/9.5.1/#id-1.11.6.29.5"}, {"db_id": "d63bda274e38217adfc55e5c5421c6d9", "kind": "equivalent", "version": "9.3.11", "label": "9.3.11", "title": "修复 ecpg 提供的头文件，使其不包含从预处理指令行延续到下一行的注释", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "d373359c60c9b2678de3e08e31b5db658d4c439df52a1da3998a616757e8fb90"}, "url": "/docs/compare/?release=9.3.11#9.3.11-265e230ca84c450a", "source_url": "/docs/release/9.3.11/#id-1.11.6.19.5"}, {"db_id": "46427e125a70e51c6f0c98928b775de3", "kind": "equivalent", "version": "9.2.15", "label": "9.2.15", "title": "修复 ecpg 提供的头文件，使其不包含从预处理指令行延续到下一行的注释", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "d373359c60c9b2678de3e08e31b5db658d4c439df52a1da3998a616757e8fb90"}, "url": "/docs/compare/?release=9.2.15#9.2.15-265e230ca84c450a", "source_url": "/docs/release/9.2.15/#id-1.11.6.14.5"}, {"db_id": "0bf8a231c2b475eb4b99b5b31cdf39ee", "kind": "equivalent", "version": "9.1.20", "label": "9.1.20", "title": "修复 ecpg 提供的头文件，使其不包含从预处理指令行延续到下一行的注释", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "d373359c60c9b2678de3e08e31b5db658d4c439df52a1da3998a616757e8fb90"}, "url": "/docs/compare/?release=9.1.20#9.1.20-265e230ca84c450a", "source_url": "/docs/release/9.1.20/#id-1.11.6.9.5"}]}, {"id": "9.4.6-c90195d020119a21", "cves": [], "html": "<p>修复 <code>hstore_to_json_loose()</code> 对 <code>hstore</code> 值能否转换为 JSON 数字的测试（Tom Lane）</p>\n<p>以前该函数可能被尾部的非字母数字字符欺骗，导致输出语法无效的 JSON。</p>", "text": "修复 hstore_to_json_loose() 对 hstore 值能否转换为 JSON 数字的测试（Tom Lane） 以前该函数可能被尾部的非字母数字字符欺骗，导致输出语法无效的 JSON。", "title": "修复 hstore_to_json_loose() 对 hstore 值能否转换为 JSON 数字的测试", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.4.6/#id-1.11.6.25.5", "source_hash": "66e58b57c6881dab8412ed70ed75cc97f99b7fe5dfb5851ccc4e3757ae44ba32", "section_path": ["变更"], "commit_groups": [], "identity_text": "Fix hstore_to_json_loose()'s test for whether an hstore value can be converted to a JSON number (Tom Lane) Previously this function could be fooled by non-alphanumeric trailing characters, leading to emitting syntactically-invalid JSON.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.4.6/changes/051", "db_id": "04bda60ae91abda4ba10b35de91c4e22", "patch_ids": [], "statement_hash": "0af8bbd9bec4ee929e53a8ba062ce284da2e6662bf12024a57f4329ee6b33bc8", "relations": [{"rule": 2, "type": "equivalent", "target": "03f2410191b24ef609506ead82abc566", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0af8bbd9bec4ee929e53a8ba062ce284da2e6662bf12024a57f4329ee6b33bc8"}}, {"rule": 2, "type": "equivalent", "target": "0c8d921d241d195812cf1b0b980d872a", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0af8bbd9bec4ee929e53a8ba062ce284da2e6662bf12024a57f4329ee6b33bc8"}}], "version": "9.4.6", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "0c8d921d241d195812cf1b0b980d872a", "kind": "equivalent", "version": "9.5.1", "label": "9.5.1", "title": "修复 hstore_to_json_loose() 对 hstore 值能否转换为 JSON 数字的测试", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0af8bbd9bec4ee929e53a8ba062ce284da2e6662bf12024a57f4329ee6b33bc8"}, "url": "/docs/compare/?release=9.5.1#9.5.1-c90195d020119a21", "source_url": "/docs/release/9.5.1/#id-1.11.6.29.5"}, {"db_id": "03f2410191b24ef609506ead82abc566", "kind": "equivalent", "version": "9.3.11", "label": "9.3.11", "title": "修复 hstore_to_json_loose() 对 hstore 值能否转换为 JSON 数字的测试", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0af8bbd9bec4ee929e53a8ba062ce284da2e6662bf12024a57f4329ee6b33bc8"}, "url": "/docs/compare/?release=9.3.11#9.3.11-c90195d020119a21", "source_url": "/docs/release/9.3.11/#id-1.11.6.19.5"}]}, {"id": "9.4.6-3fc60742b8cf2759", "cves": [], "html": "<p>确保 <code>contrib/pgcrypto</code> 的 <code>crypt()</code> 函数可被查询取消中断（Andreas Karlsson）</p>", "text": "确保 contrib/pgcrypto 的 crypt() 函数可被查询取消中断（Andreas Karlsson）", "title": "确保 contrib/pgcrypto 的 crypt() 函数可被查询取消中断", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.4.6/#id-1.11.6.25.5", "source_hash": "35811a335982171bd2b5d99e5277198c69d654a0bb06efd52e4f923c9b240699", "section_path": ["变更"], "commit_groups": [["0244677cf", "0a29cf693", "1b6102eb7", "51dd54ba7", "743229a67", "c886c30cc"]], "identity_text": "Ensure that contrib/pgcrypto's crypt() function can be interrupted by query cancel (Andreas Karlsson)", "commit_aliases": ["0244677cf", "0a29cf693", "1b6102eb7", "51dd54ba7", "743229a67", "c886c30cc"], "source_commits": ["0a29cf693"], "source_entry_id": "9.4.6/changes/052", "db_id": "36d163f66a9547a06695af730291f2c7", "patch_ids": ["d7d6219d8bf6ddfea88886cff506f1cc"], "statement_hash": "d5aba7cc58e9448274e3b19ac4bb3fead01664880d10c5378aae43f85430e928", "relations": [{"rule": 2, "type": "equivalent", "target": "4e4a68abe07a7b26e6364073aeb52f4f", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "d5aba7cc58e9448274e3b19ac4bb3fead01664880d10c5378aae43f85430e928"}}, {"rule": 2, "type": "equivalent", "target": "6072883e694987de5df5f3f8a459bcc3", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "d5aba7cc58e9448274e3b19ac4bb3fead01664880d10c5378aae43f85430e928"}}, {"rule": 2, "type": "equivalent", "target": "f818b18649961b8a146ae214059f6113", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "d5aba7cc58e9448274e3b19ac4bb3fead01664880d10c5378aae43f85430e928"}}], "version": "9.4.6", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "6072883e694987de5df5f3f8a459bcc3", "kind": "equivalent", "version": "9.3.11", "label": "9.3.11", "title": "确保contrib/pgcrypto的crypt()函数可以被查询取消中断", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "d5aba7cc58e9448274e3b19ac4bb3fead01664880d10c5378aae43f85430e928"}, "url": "/docs/compare/?release=9.3.11#9.3.11-816aca1be8409695", "source_url": "/docs/release/9.3.11/#id-1.11.6.19.5"}, {"db_id": "f818b18649961b8a146ae214059f6113", "kind": "equivalent", "version": "9.2.15", "label": "9.2.15", "title": "确保contrib/pgcrypto的crypt()函数可以被查询取消中断", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "d5aba7cc58e9448274e3b19ac4bb3fead01664880d10c5378aae43f85430e928"}, "url": "/docs/compare/?release=9.2.15#9.2.15-816aca1be8409695", "source_url": "/docs/release/9.2.15/#id-1.11.6.14.5"}, {"db_id": "4e4a68abe07a7b26e6364073aeb52f4f", "kind": "equivalent", "version": "9.1.20", "label": "9.1.20", "title": "确保contrib/pgcrypto的crypt()函数可以被查询取消中断", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "d5aba7cc58e9448274e3b19ac4bb3fead01664880d10c5378aae43f85430e928"}, "url": "/docs/compare/?release=9.1.20#9.1.20-816aca1be8409695", "source_url": "/docs/release/9.1.20/#id-1.11.6.9.5"}]}, {"id": "9.4.6-2bcb159d4f53dbc2", "cves": [], "html": "<p>修复<code>contrib/postgres_fdw</code>中在数据修改命令中使用<code>tableoid</code>触发的缺陷（Etsuro Fujita、Robert Haas）</p>", "text": "修复contrib/postgres_fdw中在数据修改命令中使用tableoid触发的缺陷（Etsuro Fujita、Robert Haas）", "title": "修复contrib/postgres_fdw中在数据修改命令中使用tableoid触发的缺陷", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.4.6/#id-1.11.6.25.5", "source_hash": "43331eab26eba41b01203a6c31a5dd2d7b0cf29e431cd84ad3bd9735e0fbc60b", "section_path": ["变更"], "commit_groups": [], "identity_text": "In contrib/postgres_fdw, fix bugs triggered by use of tableoid in data-modifying commands (Etsuro Fujita, Robert Haas)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.4.6/changes/053", "db_id": "d7c09d03805867d10fad0549fb0b2120", "patch_ids": [], "statement_hash": "b50820b450dca25e0fa742e53e3618238b1e7b8647181de22971a4a85648ed32", "relations": [{"rule": 2, "type": "equivalent", "target": "c4c2ba6603cd54bca3e4d0558afedff5", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b50820b450dca25e0fa742e53e3618238b1e7b8647181de22971a4a85648ed32"}}], "version": "9.4.6", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "c4c2ba6603cd54bca3e4d0558afedff5", "kind": "equivalent", "version": "9.5.1", "label": "9.5.1", "title": "在 contrib/postgres_fdw 中，修复由数据修改命令中使用 tableoid 触发的 bug", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b50820b450dca25e0fa742e53e3618238b1e7b8647181de22971a4a85648ed32"}, "url": "/docs/compare/?release=9.5.1#9.5.1-d84eb7aaf1094df9", "source_url": "/docs/release/9.5.1/#id-1.11.6.29.5"}]}, {"id": "9.4.6-36715e8c85c0a3ef", "cves": [], "html": "<p>接受晚于 2.5.x 的<span>flex</span>版本（Tom Lane、Michael Paquier）</p>\n<p>由于 flex 2.6.0 已发布，需要调整构建脚本中的版本检查。</p>", "text": "接受晚于 2.5.x 的flex版本（Tom Lane、Michael Paquier） 由于 flex 2.6.0 已发布，需要调整构建脚本中的版本检查。", "title": "接受晚于 2.5.x 的flex版本", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.4.6/#id-1.11.6.25.5", "source_hash": "a26c9ab366197ea5af9c122c84d76b775441ef32059f336b1ace009f7532749e", "section_path": ["变更"], "commit_groups": [["2355faae0", "7f94a5c10", "9c779c49e", "b3e377a00", "ee0df4d77"], ["32f15d05c", "659d47292", "6e1d26f1f", "ae81d4fb1", "b4afc39f7", "d5bb7c6f6"]], "identity_text": "Accept flex versions later than 2.5.x (Tom Lane, Michael Paquier) Now that flex 2.6.0 has been released, the version checks in our build scripts needed to be adjusted.", "commit_aliases": ["2355faae0", "32f15d05c", "659d47292", "6e1d26f1f", "7f94a5c10", "9c779c49e", "ae81d4fb1", "b3e377a00", "b4afc39f7", "d5bb7c6f6", "ee0df4d77"], "source_commits": ["d5bb7c6f6", "ee0df4d77"], "source_entry_id": "9.4.6/changes/054", "db_id": "810de2d9ab88c5ef9d847a8f42e8b5ea", "patch_ids": ["45e63f298ae887223ea4107301cdaf28", "670279b2a1cda1ef1f85cb181b2e5c74"], "statement_hash": "64c451275012077edec5617571e4a00e75916d692cf2207b84f1343651cba057", "relations": [{"rule": 2, "type": "equivalent", "target": "21af7d9d2bbb4b0700a874ad548b49dc", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "64c451275012077edec5617571e4a00e75916d692cf2207b84f1343651cba057"}}, {"rule": 2, "type": "equivalent", "target": "8a0495dc8bcbd35f65151fffd05ec57d", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "64c451275012077edec5617571e4a00e75916d692cf2207b84f1343651cba057"}}, {"rule": 2, "type": "equivalent", "target": "cf08c0a4cd2bb213b067a24b32cfb765", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "64c451275012077edec5617571e4a00e75916d692cf2207b84f1343651cba057"}}], "version": "9.4.6", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "8a0495dc8bcbd35f65151fffd05ec57d", "kind": "equivalent", "version": "9.3.11", "label": "9.3.11", "title": "接受晚于 2.5.x 的flex版本", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "64c451275012077edec5617571e4a00e75916d692cf2207b84f1343651cba057"}, "url": "/docs/compare/?release=9.3.11#9.3.11-36715e8c85c0a3ef", "source_url": "/docs/release/9.3.11/#id-1.11.6.19.5"}, {"db_id": "cf08c0a4cd2bb213b067a24b32cfb765", "kind": "equivalent", "version": "9.2.15", "label": "9.2.15", "title": "接受晚于 2.5.x 的flex版本", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "64c451275012077edec5617571e4a00e75916d692cf2207b84f1343651cba057"}, "url": "/docs/compare/?release=9.2.15#9.2.15-36715e8c85c0a3ef", "source_url": "/docs/release/9.2.15/#id-1.11.6.14.5"}, {"db_id": "21af7d9d2bbb4b0700a874ad548b49dc", "kind": "equivalent", "version": "9.1.20", "label": "9.1.20", "title": "接受晚于 2.5.x 的flex版本", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "64c451275012077edec5617571e4a00e75916d692cf2207b84f1343651cba057"}, "url": "/docs/compare/?release=9.1.20#9.1.20-36715e8c85c0a3ef", "source_url": "/docs/release/9.1.20/#id-1.11.6.9.5"}]}, {"id": "9.4.6-e403ee59d1b1487c", "cves": [], "html": "<p>通过确保以固定顺序向链接器提供文件名，提高构建输出的可重现性（Christoph Berg）</p>\n<p>这避免了产生的可执行文件在不同构建之间可能出现按位差异。</p>", "text": "通过确保以固定顺序向链接器提供文件名，提高构建输出的可重现性（Christoph Berg） 这避免了产生的可执行文件在不同构建之间可能出现按位差异。", "title": "通过确保以固定顺序向链接器提供文件名，提高构建输出的可重现性", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.4.6/#id-1.11.6.25.5", "source_hash": "199fdef18ba63db71265f40385e6d5746ff6dcde6f83d902e00915b4855978e3", "section_path": ["变更"], "commit_groups": [], "identity_text": "Improve reproducibility of build output by ensuring filenames are given to the linker in a fixed order (Christoph Berg) This avoids possible bitwise differences in the produced executable files from one build to the next.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.4.6/changes/055", "db_id": "7866311e30659f5004aabe65ed6de911", "patch_ids": [], "statement_hash": "6f3f8d895e1f4d6fe829ed428f3184029a3c175fcb43a82fed9db6214a5c25c2", "relations": [{"rule": 2, "type": "equivalent", "target": "6c585d6778a3d2697d5dcc424f1d350c", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "6f3f8d895e1f4d6fe829ed428f3184029a3c175fcb43a82fed9db6214a5c25c2"}}, {"rule": 2, "type": "equivalent", "target": "f7e1414cc27ba5e639b640d4543e7178", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "6f3f8d895e1f4d6fe829ed428f3184029a3c175fcb43a82fed9db6214a5c25c2"}}], "version": "9.4.6", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "f7e1414cc27ba5e639b640d4543e7178", "kind": "equivalent", "version": "9.5.1", "label": "9.5.1", "title": "通过确保以固定顺序向链接器提供文件名，提高构建输出的可重现性", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "6f3f8d895e1f4d6fe829ed428f3184029a3c175fcb43a82fed9db6214a5c25c2"}, "url": "/docs/compare/?release=9.5.1#9.5.1-e403ee59d1b1487c", "source_url": "/docs/release/9.5.1/#id-1.11.6.29.5"}, {"db_id": "6c585d6778a3d2697d5dcc424f1d350c", "kind": "equivalent", "version": "9.3.11", "label": "9.3.11", "title": "通过确保以固定顺序向链接器提供文件名，提高构建输出的可重现性", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "6f3f8d895e1f4d6fe829ed428f3184029a3c175fcb43a82fed9db6214a5c25c2"}, "url": "/docs/compare/?release=9.3.11#9.3.11-e403ee59d1b1487c", "source_url": "/docs/release/9.3.11/#id-1.11.6.19.5"}]}, {"id": "9.4.6-a12a91658dfce79a", "cves": [], "html": "<p>将我们的<code>missing</code>脚本安装到 PGXS 构建能找到的位置（Jim Nasby）</p>\n<p>这使得在缺少<span>bison</span>等构建工具的机器上进行 PGXS 构建时能有合理的行为。</p>", "text": "将我们的missing脚本安装到 PGXS 构建能找到的位置（Jim Nasby） 这使得在缺少bison等构建工具的机器上进行 PGXS 构建时能有合理的行为。", "title": "将我们的missing脚本安装到 PGXS 构建能找到的位置", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.4.6/#id-1.11.6.25.5", "source_hash": "7b2b1c81c7ef5ed5ab385730a0a92df78b2604bb4ffebc4fe4887375d0d4b87d", "section_path": ["变更"], "commit_groups": [["1ebe75a2c", "2a37a103b", "423697e3d", "6061aa8ed", "98467b35d", "dccf8e9e6"]], "identity_text": "Install our missing script where PGXS builds can find it (Jim Nasby) This allows sane behavior in a PGXS build done on a machine where build tools such as bison are missing.", "commit_aliases": ["1ebe75a2c", "2a37a103b", "423697e3d", "6061aa8ed", "98467b35d", "dccf8e9e6"], "source_commits": ["423697e3d"], "source_entry_id": "9.4.6/changes/056", "db_id": "8afb0953e59f0ba75f121de3072efb3c", "patch_ids": ["e7ea89b7227ba1a5e665159bdba28f64"], "statement_hash": "e259256dcdad6e7a7c80962e25df103d90bb0fff4855fa10ea1978fbe718a80d", "relations": [{"rule": 2, "type": "equivalent", "target": "275e93f5a756d47f0363e038c636234f", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e259256dcdad6e7a7c80962e25df103d90bb0fff4855fa10ea1978fbe718a80d"}}, {"rule": 2, "type": "equivalent", "target": "399319a63d71f37295a6f4de7ce9335c", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e259256dcdad6e7a7c80962e25df103d90bb0fff4855fa10ea1978fbe718a80d"}}, {"rule": 2, "type": "equivalent", "target": "fd08a31e743464a85e16e2d20143c96e", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e259256dcdad6e7a7c80962e25df103d90bb0fff4855fa10ea1978fbe718a80d"}}], "version": "9.4.6", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "fd08a31e743464a85e16e2d20143c96e", "kind": "equivalent", "version": "9.3.11", "label": "9.3.11", "title": "将我们的missing脚本安装到 PGXS 构建能找到的位置", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e259256dcdad6e7a7c80962e25df103d90bb0fff4855fa10ea1978fbe718a80d"}, "url": "/docs/compare/?release=9.3.11#9.3.11-a12a91658dfce79a", "source_url": "/docs/release/9.3.11/#id-1.11.6.19.5"}, {"db_id": "275e93f5a756d47f0363e038c636234f", "kind": "equivalent", "version": "9.2.15", "label": "9.2.15", "title": "将我们的missing脚本安装到 PGXS 构建能找到的位置", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e259256dcdad6e7a7c80962e25df103d90bb0fff4855fa10ea1978fbe718a80d"}, "url": "/docs/compare/?release=9.2.15#9.2.15-a12a91658dfce79a", "source_url": "/docs/release/9.2.15/#id-1.11.6.14.5"}, {"db_id": "399319a63d71f37295a6f4de7ce9335c", "kind": "equivalent", "version": "9.1.20", "label": "9.1.20", "title": "将我们的missing脚本安装到 PGXS 构建能找到的位置", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e259256dcdad6e7a7c80962e25df103d90bb0fff4855fa10ea1978fbe718a80d"}, "url": "/docs/compare/?release=9.1.20#9.1.20-a12a91658dfce79a", "source_url": "/docs/release/9.1.20/#id-1.11.6.9.5"}]}, {"id": "9.4.6-4bace5f9003e475f", "cves": [], "html": "<p>确保 MSVC 构建中安装的头文件包含<code>dynloader.h</code>（Bruce Momjian、Michael Paquier）</p>", "text": "确保 MSVC 构建中安装的头文件包含dynloader.h（Bruce Momjian、Michael Paquier）", "title": "确保 MSVC 构建中安装的头文件包含dynloader.h", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.4.6/#id-1.11.6.25.5", "source_hash": "aeda060b735fbc220542de8d385a4decdba8f6d898707cb355495b9cb3e1fa7d", "section_path": ["变更"], "commit_groups": [], "identity_text": "Ensure that dynloader.h is included in the installed header files in MSVC builds (Bruce Momjian, Michael Paquier)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.4.6/changes/057", "db_id": "d7a602e7b3be1c6f91455ba18fac8ae3", "patch_ids": [], "statement_hash": "eb43a65f20af59d1229f53f762d7a70750b26fc149366d58b3dd6099d368dd83", "relations": [{"rule": 2, "type": "equivalent", "target": "24615ed3777f4cc8415f1be5cb3c6886", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "eb43a65f20af59d1229f53f762d7a70750b26fc149366d58b3dd6099d368dd83"}}, {"rule": 2, "type": "equivalent", "target": "3620494c7d45e6dfc1d177208fe06745", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "eb43a65f20af59d1229f53f762d7a70750b26fc149366d58b3dd6099d368dd83"}}, {"rule": 2, "type": "equivalent", "target": "da1850390a9c1f327882277c4eb3def9", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "eb43a65f20af59d1229f53f762d7a70750b26fc149366d58b3dd6099d368dd83"}}, {"rule": 2, "type": "equivalent", "target": "f15b775bc084b37a970dbfe86e6aba76", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "eb43a65f20af59d1229f53f762d7a70750b26fc149366d58b3dd6099d368dd83"}}], "version": "9.4.6", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "da1850390a9c1f327882277c4eb3def9", "kind": "equivalent", "version": "9.5.1", "label": "9.5.1", "title": "确保 dynloader.h 包含在 MSVC 构建安装的头文件中", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "eb43a65f20af59d1229f53f762d7a70750b26fc149366d58b3dd6099d368dd83"}, "url": "/docs/compare/?release=9.5.1#9.5.1-a9f19425bc6a02bc", "source_url": "/docs/release/9.5.1/#id-1.11.6.29.5"}, {"db_id": "24615ed3777f4cc8415f1be5cb3c6886", "kind": "equivalent", "version": "9.3.11", "label": "9.3.11", "title": "确保 dynloader.h 包含在 MSVC 构建安装的头文件中", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "eb43a65f20af59d1229f53f762d7a70750b26fc149366d58b3dd6099d368dd83"}, "url": "/docs/compare/?release=9.3.11#9.3.11-a9f19425bc6a02bc", "source_url": "/docs/release/9.3.11/#id-1.11.6.19.5"}, {"db_id": "3620494c7d45e6dfc1d177208fe06745", "kind": "equivalent", "version": "9.2.15", "label": "9.2.15", "title": "确保 dynloader.h 包含在 MSVC 构建安装的头文件中", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "eb43a65f20af59d1229f53f762d7a70750b26fc149366d58b3dd6099d368dd83"}, "url": "/docs/compare/?release=9.2.15#9.2.15-a9f19425bc6a02bc", "source_url": "/docs/release/9.2.15/#id-1.11.6.14.5"}, {"db_id": "f15b775bc084b37a970dbfe86e6aba76", "kind": "equivalent", "version": "9.1.20", "label": "9.1.20", "title": "确保 dynloader.h 包含在 MSVC 构建安装的头文件中", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "eb43a65f20af59d1229f53f762d7a70750b26fc149366d58b3dd6099d368dd83"}, "url": "/docs/compare/?release=9.1.20#9.1.20-a9f19425bc6a02bc", "source_url": "/docs/release/9.1.20/#id-1.11.6.9.5"}]}, {"id": "9.4.6-7110ad0033f27e27", "cves": ["CVE-2015-7499"], "html": "<p>新增变体回归测试期望输出文件，以匹配当前<span>libxml2</span>的行为（Tom Lane）</p>\n<p><span>libxml2</span>对 CVE-2015-7499 的修复导致它在某些过去会输出错误上下文报告的情况下不再输出。这似乎是一个缺陷，但我们可能不得不在一段时间内接受它，因此做了变通处理。</p>", "text": "新增变体回归测试期望输出文件，以匹配当前libxml2的行为（Tom Lane） libxml2对 CVE-2015-7499 的修复导致它在某些过去会输出错误上下文报告的情况下不再输出。这似乎是一个缺陷，但我们可能不得不在一段时间内接受它，因此做了变通处理。", "title": "新增变体回归测试期望输出文件，以匹配当前libxml2的行为", "commits": [], "section": "变更", "category": "security", "source_url": "/docs/release/9.4.6/#id-1.11.6.25.5", "source_hash": "62a43ffc293498cf47455f4a9d456c78449b983d0954bd5c9e390924436bf254", "section_path": ["变更"], "commit_groups": [["085423e3e", "09824cd99", "386dcd539", "ea7f7d8b3", "f5eebea8d", "fee485815"]], "identity_text": "Add variant regression test expected-output file to match behavior of current libxml2 (Tom Lane) The fix for libxml2's CVE-2015-7499 causes it not to output error context reports in some cases where it used to do so. This seems to be a bug, but we'll probably have to live with it for some time, so work around it.", "commit_aliases": ["085423e3e", "09824cd99", "386dcd539", "ea7f7d8b3", "f5eebea8d", "fee485815"], "source_commits": ["09824cd99"], "source_entry_id": "9.4.6/changes/058", "db_id": "a97feb129ece72a5fcdac009e274bcdb", "patch_ids": ["4786091d1615cf30895c67f0682e9007"], "statement_hash": "4e9998b11c8ae5678c7c35e18046aabbd878497c12ef0e622032a73524726d32", "relations": [{"rule": 2, "type": "equivalent", "target": "6e4463eeaf593e5a1065da9c33ba9f7b", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "4e9998b11c8ae5678c7c35e18046aabbd878497c12ef0e622032a73524726d32"}}, {"rule": 2, "type": "equivalent", "target": "dcebfb5ac7f7f9520d59041656980bcf", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "4e9998b11c8ae5678c7c35e18046aabbd878497c12ef0e622032a73524726d32"}}, {"rule": 2, "type": "equivalent", "target": "f170c0a6d2f825e1703e30d22ba3afc1", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "4e9998b11c8ae5678c7c35e18046aabbd878497c12ef0e622032a73524726d32"}}], "version": "9.4.6", "category_label": "安全相关", "also_in": [], "variants": [], "related_changes": [{"db_id": "f170c0a6d2f825e1703e30d22ba3afc1", "kind": "equivalent", "version": "9.3.11", "label": "9.3.11", "title": "新增变体回归测试期望输出文件，以匹配当前libxml2的行为", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "4e9998b11c8ae5678c7c35e18046aabbd878497c12ef0e622032a73524726d32"}, "url": "/docs/compare/?release=9.3.11#9.3.11-7110ad0033f27e27", "source_url": "/docs/release/9.3.11/#id-1.11.6.19.5"}, {"db_id": "dcebfb5ac7f7f9520d59041656980bcf", "kind": "equivalent", "version": "9.2.15", "label": "9.2.15", "title": "新增变体回归测试期望输出文件，以匹配当前libxml2的行为", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "4e9998b11c8ae5678c7c35e18046aabbd878497c12ef0e622032a73524726d32"}, "url": "/docs/compare/?release=9.2.15#9.2.15-7110ad0033f27e27", "source_url": "/docs/release/9.2.15/#id-1.11.6.14.5"}, {"db_id": "6e4463eeaf593e5a1065da9c33ba9f7b", "kind": "equivalent", "version": "9.1.20", "label": "9.1.20", "title": "新增变体回归测试期望输出文件，以匹配当前libxml2的行为", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "4e9998b11c8ae5678c7c35e18046aabbd878497c12ef0e622032a73524726d32"}, "url": "/docs/compare/?release=9.1.20#9.1.20-7110ad0033f27e27", "source_url": "/docs/release/9.1.20/#id-1.11.6.9.5"}]}, {"id": "9.4.6-e5191de67210fcce", "cves": [], "html": "<p>将时区数据文件更新到<span>tzdata</span>发行版 2016a，以反映开曼群岛、梅特拉卡特拉和外贝加尔边疆区的夏令时法规变更，以及巴基斯坦的历史修正。</p>", "text": "将时区数据文件更新到tzdata发行版 2016a，以反映开曼群岛、梅特拉卡特拉和外贝加尔边疆区的夏令时法规变更，以及巴基斯坦的历史修正。", "title": "将时区数据文件更新到tzdata发行版 2016a，以反映开曼群岛、梅特拉卡特拉和外贝加尔边疆区的夏令时法规变更，以及巴基斯坦的历史修正。", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.4.6/#id-1.11.6.25.5", "source_hash": "0de04b7c71cb7bf3b6c6f53e7740a355957f07616d0fef41ee07fc13a33efe77", "section_path": ["变更"], "commit_groups": [], "identity_text": "Update time zone data files to tzdata release 2016a for DST law changes in Cayman Islands, Metlakatla, and Trans-Baikal Territory (Zabaykalsky Krai), plus historical corrections for Pakistan.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.4.6/changes/059", "db_id": "f08f6b2c87032eb0ae56d29afd228106", "patch_ids": [], "statement_hash": "638399189025dc0c121b79118fc69a6e45ded5ed4e52b9f4393ef2458a3201c8", "relations": [{"rule": 2, "type": "equivalent", "target": "2dd502f3961a7bc4d19efd4ee63e9da5", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "638399189025dc0c121b79118fc69a6e45ded5ed4e52b9f4393ef2458a3201c8"}}, {"rule": 2, "type": "equivalent", "target": "5597e80195585ed30008c59306886b22", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "638399189025dc0c121b79118fc69a6e45ded5ed4e52b9f4393ef2458a3201c8"}}, {"rule": 2, "type": "equivalent", "target": "dcb5b295c36a7627a763f51c946763ec", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "638399189025dc0c121b79118fc69a6e45ded5ed4e52b9f4393ef2458a3201c8"}}, {"rule": 2, "type": "equivalent", "target": "dfb917d07e1c239db68c9dd1bf24ca9a", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "638399189025dc0c121b79118fc69a6e45ded5ed4e52b9f4393ef2458a3201c8"}}], "version": "9.4.6", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "5597e80195585ed30008c59306886b22", "kind": "equivalent", "version": "9.5.1", "label": "9.5.1", "title": "把时区数据文件更新到 tzdata 2016a 版，涉及开曼群岛、梅特拉卡特拉和外贝加尔边疆区的夏令时法规变更，以及巴基斯坦的历史数据修正。", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "638399189025dc0c121b79118fc69a6e45ded5ed4e52b9f4393ef2458a3201c8"}, "url": "/docs/compare/?release=9.5.1#9.5.1-4a8856bb6c168e90", "source_url": "/docs/release/9.5.1/#id-1.11.6.29.5"}, {"db_id": "2dd502f3961a7bc4d19efd4ee63e9da5", "kind": "equivalent", "version": "9.3.11", "label": "9.3.11", "title": "把时区数据文件更新到 tzdata 2016a 版，涉及开曼群岛、梅特拉卡特拉和外贝加尔边疆区的夏令时法规变更，以及巴基斯坦的历史数据修正。", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "638399189025dc0c121b79118fc69a6e45ded5ed4e52b9f4393ef2458a3201c8"}, "url": "/docs/compare/?release=9.3.11#9.3.11-4a8856bb6c168e90", "source_url": "/docs/release/9.3.11/#id-1.11.6.19.5"}, {"db_id": "dcb5b295c36a7627a763f51c946763ec", "kind": "equivalent", "version": "9.2.15", "label": "9.2.15", "title": "把时区数据文件更新到 tzdata 2016a 版，涉及开曼群岛、梅特拉卡特拉和外贝加尔边疆区的夏令时法规变更，以及巴基斯坦的历史数据修正。", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "638399189025dc0c121b79118fc69a6e45ded5ed4e52b9f4393ef2458a3201c8"}, "url": "/docs/compare/?release=9.2.15#9.2.15-4a8856bb6c168e90", "source_url": "/docs/release/9.2.15/#id-1.11.6.14.5"}, {"db_id": "dfb917d07e1c239db68c9dd1bf24ca9a", "kind": "equivalent", "version": "9.1.20", "label": "9.1.20", "title": "把时区数据文件更新到 tzdata 2016a 版，涉及开曼群岛、梅特拉卡特拉和外贝加尔边疆区的夏令时法规变更，以及巴基斯坦的历史数据修正。", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "638399189025dc0c121b79118fc69a6e45ded5ed4e52b9f4393ef2458a3201c8"}, "url": "/docs/compare/?release=9.1.20#9.1.20-4a8856bb6c168e90", "source_url": "/docs/release/9.1.20/#id-1.11.6.9.5"}]}]}], "stats": [{"key": "all", "label": "全部变更", "count": 59}, {"key": "feature", "label": "新功能", "count": 0}, {"key": "bugfix", "label": "BUG 修复", "count": 26}, {"key": "security", "label": "安全相关", "count": 4}, {"key": "performance", "label": "性能改进", "count": 2}, {"key": "compatibility", "label": "兼容性变化", "count": 0}, {"key": "improvement", "label": "其他改进", "count": 27}], "total": 59, "release_count": 1, "cross_major": false, "cve_count": 4, "cves": [{"id": "CVE-2016-0773", "url": "https://www.postgresql.org/support/security/CVE-2016-0773/", "fixed": {"9.1": "9.1.20", "9.2": "9.2.15", "9.3": "9.3.11", "9.4": "9.4.6", "9.5": "9.5.1"}, "score": 6.5, "title": "修复正则表达式中的无限循环和缓冲区越界问题", "vector": "AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:H", "affected": {"9.1": "9.1", "9.2": "9.2", "9.3": "9.3", "9.4": "9.4", "9.5": "9.5"}, "component": "core server", "published": {"9.1": "2016-02-11", "9.2": "2016-02-11", "9.3": "2016-02-11", "9.4": "2016-02-11", "9.5": "2016-02-11"}, "introduced": {}, "cvss_version": "3.0", "description_en": "", "first_published": "2016-02-11", "fixed_version": "9.4.6"}, {"id": "CVE-2016-0766", "url": "https://www.postgresql.org/support/security/CVE-2016-0766/", "fixed_version": "", "title": "防止某些 PL/Java 参数被非超级用户设置"}, {"id": "CVE-2015-7499", "url": "https://www.postgresql.org/support/security/CVE-2015-7499/", "fixed_version": "", "title": "新增变体回归测试期望输出文件，以匹配当前libxml2的行为"}, {"id": "CVE-2007-4772", "url": "https://www.postgresql.org/support/security/CVE-2007-4772/", "fixed_version": "", "title": "修复正则表达式编译器使其处理约束弧构成的环"}], "cve_available": true, "remaining_cves": [], "security_regressions": [], "warnings": [], "candidate_count": 59, "already_in_source_count": 0, "duplicate_count": 0, "excluded_count": 0, "exclusions": [], "source_as_of": "2026-09-26", "security_as_of": "2026-09-26"}