{"format": 1, "mode": "release", "from_release": null, "to_release": {"date": "2020-11-12", "build": "12.5", "major": "12", "minor": 5, "manual": "12", "status": "stable", "doc_git": "", "version": "12.5", "eol_date": "2024-11-21", "date_text": "2020-11-12", "supported": false, "manual_url": "/docs/12/release-12-5.html", "source_url": "/docs/release/12.5/", "entry_count": 58, "placeholder": false, "content_hash": "ff8e4ac1d01b8371b7e268ae963e7a9641bbca3bab4657c566c970245cbe4d87", "manual_build": "12.22", "source_as_of": "", "changes_count": 58, "doc_loaded_at": "2026-09-26T02:56:41.471523", "migration_html": "<p>对于运行 12.X 的用户，不需要执行导出/恢复。</p>\n<p>但是，如果是从早于 12.2 的版本升级，请参见<a href=\"/docs/12/release-12-2.html\" title=\"E.21. 发布版本 12.2\">第 E.21 节</a>。</p>", "compatibility_count": 0, "label": "12.5", "status_label": "历史版本", "eol": "2024-11-21", "age_days": 2148, "support_days": -678}, "groups": [{"date": "2020-11-12", "build": "12.5", "major": "12", "minor": 5, "manual": "12", "status": "stable", "doc_git": "", "version": "12.5", "eol_date": "2024-11-21", "date_text": "2020-11-12", "supported": false, "manual_url": "/docs/12/release-12-5.html", "source_url": "/docs/release/12.5/", "entry_count": 58, "placeholder": false, "content_hash": "ff8e4ac1d01b8371b7e268ae963e7a9641bbca3bab4657c566c970245cbe4d87", "manual_build": "12.22", "source_as_of": "", "changes_count": 58, "doc_loaded_at": "2026-09-26T02:56:41.471523", "migration_html": "<p>对于运行 12.X 的用户，不需要执行导出/恢复。</p>\n<p>但是，如果是从早于 12.2 的版本升级，请参见<a href=\"/docs/12/release-12-2.html\" title=\"E.21. 发布版本 12.2\">第 E.21 节</a>。</p>", "compatibility_count": 0, "label": "12.5", "status_label": "历史版本", "eol": "2024-11-21", "age_days": 2148, "support_days": -678, "entries": [{"id": "12.5-58ffc2453b836b7c", "cves": ["CVE-2020-25695"], "html": "<p>禁止在索引表达式和物化视图查询中执行 <code>DECLARE CURSOR ... WITH HOLD</code> 以及触发延迟触发器（Noah Misch）<a href=\"https://postgr.es/c/ac8f6243c\">§</a></p>\n<p>这实际上是<span>“<span>安全受限操作</span>”</span>沙箱机制中的一个漏洞。有权创建非临时 SQL 对象的攻击者可以利用此漏洞，以超级用户身份执行任意 SQL 代码。</p>\n<p><span>PostgreSQL</span> 项目感谢 Etienne Stalmans 报告此问题。（CVE-2020-25695）</p>", "text": "禁止在索引表达式和物化视图查询中执行 DECLARE CURSOR ... WITH HOLD 以及触发延迟触发器（Noah Misch）§ 这实际上是“安全受限操作”沙箱机制中的一个漏洞。有权创建非临时 SQL 对象的攻击者可以利用此漏洞，以超级用户身份执行任意 SQL 代码。 PostgreSQL 项目感谢 Etienne Stalmans 报告此问题。（CVE-2020-25695）", "title": "禁止在索引表达式和物化视图查询中执行 DECLARE CURSOR ... WITH HOLD 以及触发延迟触发器", "commits": ["ac8f6243c"], "section": "变更", "category": "security", "source_url": "/docs/release/12.5/#id-1.11.6.23.5", "source_hash": "45a39c6b0f7bd6a435d12091ee8109ca663a82dabe33886133d1611e61518ef0", "section_path": ["变更"], "commit_groups": [["0c3185e96", "43ebfea5a", "ac8f6243c", "aefc625de", "c90c84b3f", "f97ecea1e", "ff3de4c21"]], "identity_text": "Block DECLARE CURSOR ... WITH HOLD and firing of deferred triggers within index expressions and materialized view queries (Noah Misch) This is essentially a leak in the security restricted operation sandbox mechanism. An attacker having permission to create non-temporary SQL objects could parlay this leak to execute arbitrary SQL code as a superuser. The PostgreSQL Project thanks Etienne Stalmans for reporting this problem. (CVE-2020-25695)", "commit_aliases": ["0c3185e96", "43ebfea5a", "ac8f6243c", "aefc625de", "c90c84b3f", "f97ecea1e", "ff3de4c21"], "source_commits": ["ac8f6243c"], "source_entry_id": "12.5/changes/001", "db_id": "754d0fa35c630453e7e8be4195e0d8a5", "patch_ids": ["e898d0dfc6b33d9b63abd3fb0e8b1a11"], "statement_hash": "2795b2a9007ce3ac53806d982078b9bd14dcfd9c5923177aaaf24805ed203d24", "relations": [{"rule": 2, "type": "equivalent", "target": "27b2bc4c97af3cc7f3e3232b22c140cb", "evidence": {"same_day": true, "patch_ids": ["e898d0dfc6b33d9b63abd3fb0e8b1a11"], "statement_hash": "2795b2a9007ce3ac53806d982078b9bd14dcfd9c5923177aaaf24805ed203d24"}}, {"rule": 2, "type": "equivalent", "target": "32a38be39164587561246274bce57c11", "evidence": {"same_day": true, "patch_ids": ["e898d0dfc6b33d9b63abd3fb0e8b1a11"], "statement_hash": "2795b2a9007ce3ac53806d982078b9bd14dcfd9c5923177aaaf24805ed203d24"}}, {"rule": 2, "type": "equivalent", "target": "b80a99246721d0a6d0290a38f05221c7", "evidence": {"same_day": true, "patch_ids": ["e898d0dfc6b33d9b63abd3fb0e8b1a11"], "statement_hash": "2795b2a9007ce3ac53806d982078b9bd14dcfd9c5923177aaaf24805ed203d24"}}, {"rule": 2, "type": "equivalent", "target": "c1e18d9b246a26244718162c48be2564", "evidence": {"same_day": true, "patch_ids": ["e898d0dfc6b33d9b63abd3fb0e8b1a11"], "statement_hash": "2795b2a9007ce3ac53806d982078b9bd14dcfd9c5923177aaaf24805ed203d24"}}, {"rule": 2, "type": "equivalent", "target": "d25e683f09292446d7a493aa4076cf0a", "evidence": {"same_day": true, "patch_ids": ["e898d0dfc6b33d9b63abd3fb0e8b1a11"], "statement_hash": "2795b2a9007ce3ac53806d982078b9bd14dcfd9c5923177aaaf24805ed203d24"}}], "version": "12.5", "category_label": "安全相关", "also_in": [], "variants": [], "related_changes": [{"db_id": "d25e683f09292446d7a493aa4076cf0a", "kind": "equivalent", "version": "13.1", "label": "13.1", "title": "禁止在索引表达式和物化视图查询中执行 DECLARE CURSOR ... WITH HOLD 以及触发延迟触发器", "evidence": {"same_day": true, "patch_ids": ["e898d0dfc6b33d9b63abd3fb0e8b1a11"], "statement_hash": "2795b2a9007ce3ac53806d982078b9bd14dcfd9c5923177aaaf24805ed203d24"}, "url": "/docs/compare/?release=13.1#13.1-72b4bd56189200a8", "source_url": "/docs/release/13.1/#id-1.11.6.28.5"}, {"db_id": "27b2bc4c97af3cc7f3e3232b22c140cb", "kind": "equivalent", "version": "11.10", "label": "11.10", "title": "禁止在索引表达式和物化视图查询中执行 DECLARE CURSOR ... WITH HOLD 以及触发延迟触发器", "evidence": {"same_day": true, "patch_ids": ["e898d0dfc6b33d9b63abd3fb0e8b1a11"], "statement_hash": "2795b2a9007ce3ac53806d982078b9bd14dcfd9c5923177aaaf24805ed203d24"}, "url": "/docs/compare/?release=11.10#11.10-30b9a257c6e59de0", "source_url": "/docs/release/11.10/#id-1.11.6.17.5"}, {"db_id": "c1e18d9b246a26244718162c48be2564", "kind": "equivalent", "version": "10.15", "label": "10.15", "title": "禁止在索引表达式和物化视图查询中执行 DECLARE CURSOR ... WITH HOLD 以及触发延迟触发器", "evidence": {"same_day": true, "patch_ids": ["e898d0dfc6b33d9b63abd3fb0e8b1a11"], "statement_hash": "2795b2a9007ce3ac53806d982078b9bd14dcfd9c5923177aaaf24805ed203d24"}, "url": "/docs/compare/?release=10.15#10.15-30b9a257c6e59de0", "source_url": "/docs/release/10.15/#id-1.11.6.13.5"}, {"db_id": "32a38be39164587561246274bce57c11", "kind": "equivalent", "version": "9.6.20", "label": "9.6.20", "title": "禁止在索引表达式和物化视图查询中执行 DECLARE CURSOR ... WITH HOLD 以及触发延迟触发器", "evidence": {"same_day": true, "patch_ids": ["e898d0dfc6b33d9b63abd3fb0e8b1a11"], "statement_hash": "2795b2a9007ce3ac53806d982078b9bd14dcfd9c5923177aaaf24805ed203d24"}, "url": "/docs/compare/?release=9.6.20#9.6.20-30b9a257c6e59de0", "source_url": "/docs/release/9.6.20/#id-1.11.6.9.5"}, {"db_id": "b80a99246721d0a6d0290a38f05221c7", "kind": "equivalent", "version": "9.5.24", "label": "9.5.24", "title": "禁止在索引表达式和物化视图查询中执行 DECLARE CURSOR ... WITH HOLD 以及触发延迟触发器", "evidence": {"same_day": true, "patch_ids": ["e898d0dfc6b33d9b63abd3fb0e8b1a11"], "statement_hash": "2795b2a9007ce3ac53806d982078b9bd14dcfd9c5923177aaaf24805ed203d24"}, "url": "/docs/compare/?release=9.5.24#9.5.24-30b9a257c6e59de0", "source_url": "/docs/release/9.5.24/#id-1.11.6.6.6"}]}, {"id": "12.5-66ca83b99f74f9b0", "cves": ["CVE-2020-25694"], "html": "<p>修复 <span>pg_dump</span>、<span>pg_restore</span>、<span>clusterdb</span>、<span>reindexdb</span> 和 <span>vacuumdb</span> 对复杂连接字符串参数的使用（Tom Lane）<a href=\"https://postgr.es/c/fb93f784f\">§</a> <a href=\"https://postgr.es/c/c6d0b9b16\">§</a></p>\n<p><span>pg_dump</span> 和 <span>pg_restore</span> 的 <code>-d</code> 参数，以及其他上述程序的 <code>--maintenance-db</code> 参数，可以是包含多个连接参数的<span>“<span>连接字符串</span>”</span>，而不仅仅是数据库名称。当这些程序需要发起额外连接时，例如进行并行处理或处理多个数据库时，连接字符串会被遗忘，额外连接只会使用基本连接参数（数据库名称、主机、端口和用户名）。如果连接字符串包含其他必要信息，例如非默认的 SSL 或 GSS 参数，这可能导致连接失败。更糟的是，连接可能成功建立，却未按预期加密，或者可能遭受本应由指定连接参数防止的中间人攻击。（CVE-2020-25694）</p>", "text": "修复 pg_dump、pg_restore、clusterdb、reindexdb 和 vacuumdb 对复杂连接字符串参数的使用（Tom Lane）§ § pg_dump 和 pg_restore 的 -d 参数，以及其他上述程序的 --maintenance-db 参数，可以是包含多个连接参数的“连接字符串”，而不仅仅是数据库名称。当这些程序需要发起额外连接时，例如进行并行处理或处理多个数据库时，连接字符串会被遗忘，额外连接只会使用基本连接参数（数据库名称、主机、端口和用户名）。如果连接字符串包含其他必要信息，例如非默认的 SSL 或 GSS 参数，这可能导致连接失败。更糟的是，连接可能成功建立，却未按预期加密，或者可能遭受本应由指定连接参数防止的中间人攻击。（CVE-2020-25694）", "title": "修复 pg_dump、pg_restore、clusterdb、reindexdb 和 vacuumdb 对复杂连接字符串参数的使用", "commits": ["c6d0b9b16", "fb93f784f"], "section": "变更", "category": "security", "source_url": "/docs/release/12.5/#id-1.11.6.23.5", "source_hash": "b4ad1ce66f622e7ca6c9c00bc81765ee1360fd0f268b1d82d2ed69309106f508", "section_path": ["变更"], "commit_groups": [["1738a61c8", "1888ff8d0", "56b46d3a1", "7c154f2fd", "a45bc8a4f", "cb8885ac4", "fb93f784f"], ["1814f915b", "5a9f99bed", "5c78f7977", "68f236993", "8e5793ab6", "c6d0b9b16", "da129a04a"]], "identity_text": "Fix usage of complex connection-string parameters in pg_dump, pg_restore, clusterdb, reindexdb, and vacuumdb (Tom Lane) The -d parameter of pg_dump and pg_restore, or the --maintenance-db parameter of the other programs mentioned, can be a connection string containing multiple connection parameters rather than just a database name. In cases where these programs need to initiate additional connections, such as parallel processing or processing of multiple databases, the connection string was forgotten and just the basic connection parameters (database name, host, port, and username) were used for the additional connections. This could lead to connection failures if the connection string included any other essential information, such as non-default SSL or GSS parameters. Worse, the connection might succeed but not be encrypted as intended, or be vulnerable to man-in-the-middle attacks that the intended connection parameters would have prevented. (CVE-2020-25694)", "commit_aliases": ["1738a61c8", "1814f915b", "1888ff8d0", "56b46d3a1", "5a9f99bed", "5c78f7977", "68f236993", "7c154f2fd", "8e5793ab6", "a45bc8a4f", "c6d0b9b16", "cb8885ac4", "da129a04a", "fb93f784f"], "source_commits": ["c6d0b9b16", "fb93f784f"], "source_entry_id": "12.5/changes/002", "db_id": "6cffdf59a39c1e1204d363f316c25012", "patch_ids": ["6bb19578ad8feb3e68071169a6f567c0", "fa0aac08719ba7654ad9ab2529d63d8c"], "statement_hash": "13dd9012ccb980ba0dc19dbfbac853d5d28f338cd1f8e71e056527777c0793aa", "relations": [{"rule": 2, "type": "equivalent", "target": "90054100695610cba1c4a6aabb36f9c6", "evidence": {"same_day": true, "patch_ids": ["6bb19578ad8feb3e68071169a6f567c0", "fa0aac08719ba7654ad9ab2529d63d8c"], "statement_hash": "13dd9012ccb980ba0dc19dbfbac853d5d28f338cd1f8e71e056527777c0793aa"}}, {"rule": 2, "type": "equivalent", "target": "9bb37934f19a023764ee700751964c41", "evidence": {"same_day": true, "patch_ids": ["6bb19578ad8feb3e68071169a6f567c0", "fa0aac08719ba7654ad9ab2529d63d8c"], "statement_hash": "13dd9012ccb980ba0dc19dbfbac853d5d28f338cd1f8e71e056527777c0793aa"}}, {"rule": 2, "type": "equivalent", "target": "bd180bdbb3017b36871742d1753f820f", "evidence": {"same_day": true, "patch_ids": ["6bb19578ad8feb3e68071169a6f567c0", "fa0aac08719ba7654ad9ab2529d63d8c"], "statement_hash": "13dd9012ccb980ba0dc19dbfbac853d5d28f338cd1f8e71e056527777c0793aa"}}, {"rule": 2, "type": "equivalent", "target": "c5c358c8bfcf2af40a3f744b066dfe37", "evidence": {"same_day": true, "patch_ids": ["6bb19578ad8feb3e68071169a6f567c0", "fa0aac08719ba7654ad9ab2529d63d8c"], "statement_hash": "13dd9012ccb980ba0dc19dbfbac853d5d28f338cd1f8e71e056527777c0793aa"}}, {"rule": 2, "type": "equivalent", "target": "f99483c0194bc236cd796fb70849abb1", "evidence": {"same_day": true, "patch_ids": ["6bb19578ad8feb3e68071169a6f567c0", "fa0aac08719ba7654ad9ab2529d63d8c"], "statement_hash": "13dd9012ccb980ba0dc19dbfbac853d5d28f338cd1f8e71e056527777c0793aa"}}], "version": "12.5", "category_label": "安全相关", "also_in": [], "variants": [], "related_changes": [{"db_id": "90054100695610cba1c4a6aabb36f9c6", "kind": "equivalent", "version": "13.1", "label": "13.1", "title": "修复 pg_dump、pg_restore、clusterdb、reindexdb 和 vacuumdb 对复杂连接字符串参数的使用", "evidence": {"same_day": true, "patch_ids": ["6bb19578ad8feb3e68071169a6f567c0", "fa0aac08719ba7654ad9ab2529d63d8c"], "statement_hash": "13dd9012ccb980ba0dc19dbfbac853d5d28f338cd1f8e71e056527777c0793aa"}, "url": "/docs/compare/?release=13.1#13.1-1006a71ccc1ec016", "source_url": "/docs/release/13.1/#id-1.11.6.28.5"}, {"db_id": "c5c358c8bfcf2af40a3f744b066dfe37", "kind": "equivalent", "version": "11.10", "label": "11.10", "title": "修复 pg_dump、pg_restore、clusterdb、reindexdb 和 vacuumdb 对复杂连接字符串参数的使用", "evidence": {"same_day": true, "patch_ids": ["6bb19578ad8feb3e68071169a6f567c0", "fa0aac08719ba7654ad9ab2529d63d8c"], "statement_hash": "13dd9012ccb980ba0dc19dbfbac853d5d28f338cd1f8e71e056527777c0793aa"}, "url": "/docs/compare/?release=11.10#11.10-f5695ef1c79fd91e", "source_url": "/docs/release/11.10/#id-1.11.6.17.5"}, {"db_id": "f99483c0194bc236cd796fb70849abb1", "kind": "equivalent", "version": "10.15", "label": "10.15", "title": "修复 pg_dump、pg_restore、clusterdb、reindexdb 和 vacuumdb 对复杂连接字符串参数的使用", "evidence": {"same_day": true, "patch_ids": ["6bb19578ad8feb3e68071169a6f567c0", "fa0aac08719ba7654ad9ab2529d63d8c"], "statement_hash": "13dd9012ccb980ba0dc19dbfbac853d5d28f338cd1f8e71e056527777c0793aa"}, "url": "/docs/compare/?release=10.15#10.15-f5695ef1c79fd91e", "source_url": "/docs/release/10.15/#id-1.11.6.13.5"}, {"db_id": "9bb37934f19a023764ee700751964c41", "kind": "equivalent", "version": "9.6.20", "label": "9.6.20", "title": "修复 pg_dump、pg_restore、 clusterdb、reindexdb 和 vacuumdb 中复杂连接字符串参数的用法", "evidence": {"same_day": true, "patch_ids": ["6bb19578ad8feb3e68071169a6f567c0", "fa0aac08719ba7654ad9ab2529d63d8c"], "statement_hash": "13dd9012ccb980ba0dc19dbfbac853d5d28f338cd1f8e71e056527777c0793aa"}, "url": "/docs/compare/?release=9.6.20#9.6.20-be5bff9c020a9205", "source_url": "/docs/release/9.6.20/#id-1.11.6.9.5"}, {"db_id": "bd180bdbb3017b36871742d1753f820f", "kind": "equivalent", "version": "9.5.24", "label": "9.5.24", "title": "修复 pg_dump、pg_restore、 clusterdb、reindexdb 和 vacuumdb 中复杂连接字符串参数的用法", "evidence": {"same_day": true, "patch_ids": ["6bb19578ad8feb3e68071169a6f567c0", "fa0aac08719ba7654ad9ab2529d63d8c"], "statement_hash": "13dd9012ccb980ba0dc19dbfbac853d5d28f338cd1f8e71e056527777c0793aa"}, "url": "/docs/compare/?release=9.5.24#9.5.24-be5bff9c020a9205", "source_url": "/docs/release/9.5.24/#id-1.11.6.6.6"}]}, {"id": "12.5-3c25610dd990145e", "cves": ["CVE-2020-25694"], "html": "<p>当 <span>psql</span> 的 <code>\\connect</code> 命令复用连接参数时，确保复用先前连接字符串中所有未被覆盖的参数（Tom Lane）<a href=\"https://postgr.es/c/f656517ec\">§</a></p>\n<p>这可以避免因遗漏相关参数（例如非默认的 SSL 或 GSS 选项）而导致重新连接失败。更糟的情况是，重新连接可能成功，却未按预期加密，或者可能遭受本应由指定连接参数防止的中间人攻击。这与刚才提到的 <span>pg_dump</span> 等程序的问题基本相同，只是 <span>psql</span> 的行为更复杂，因为用户可能有意覆盖某些连接参数。（CVE-2020-25694）</p>", "text": "当 psql 的 \\connect 命令复用连接参数时，确保复用先前连接字符串中所有未被覆盖的参数（Tom Lane）§ 这可以避免因遗漏相关参数（例如非默认的 SSL 或 GSS 选项）而导致重新连接失败。更糟的情况是，重新连接可能成功，却未按预期加密，或者可能遭受本应由指定连接参数防止的中间人攻击。这与刚才提到的 pg_dump 等程序的问题基本相同，只是 psql 的行为更复杂，因为用户可能有意覆盖某些连接参数。（CVE-2020-25694）", "title": "当 psql 的 \\connect 命令复用连接参数时，确保复用先前连接字符串中所有未被覆盖的参数", "commits": ["f656517ec"], "section": "变更", "category": "security", "source_url": "/docs/release/12.5/#id-1.11.6.23.5", "source_hash": "ebfc15e6666ae869642f91b81e3ecc9fd54d6d96430fe2a17641fdff70b586e9", "section_path": ["变更"], "commit_groups": [["20be76d5c", "2e4af4110", "6997da09a", "8175da6e7", "85c54287a", "870a23230", "f656517ec"]], "identity_text": "When psql's \\connect command re-uses connection parameters, ensure that all non-overridden parameters from a previous connection string are re-used (Tom Lane) This avoids cases where reconnection might fail due to omission of relevant parameters, such as non-default SSL or GSS options. Worse, the reconnection might succeed but not be encrypted as intended, or be vulnerable to man-in-the-middle attacks that the intended connection parameters would have prevented. This is largely the same problem as just cited for pg_dump et al, although psql's behavior is more complex since the user may intentionally override some connection parameters. (CVE-2020-25694)", "commit_aliases": ["20be76d5c", "2e4af4110", "6997da09a", "8175da6e7", "85c54287a", "870a23230", "f656517ec"], "source_commits": ["f656517ec"], "source_entry_id": "12.5/changes/003", "db_id": "504ed64a289c20845de663a4c9b24733", "patch_ids": ["f12917222401547fc494ff9ed23244f8"], "statement_hash": "c429c25e5fedc5fe9b57bbe1c06653278c0be6639212de7e0e29caca1239c8af", "relations": [{"rule": 2, "type": "equivalent", "target": "048a4d116a491d8b2e54c00d82075af2", "evidence": {"same_day": true, "patch_ids": ["f12917222401547fc494ff9ed23244f8"], "statement_hash": "c429c25e5fedc5fe9b57bbe1c06653278c0be6639212de7e0e29caca1239c8af"}}, {"rule": 2, "type": "equivalent", "target": "09d652b358d89152448ded204db7f698", "evidence": {"same_day": true, "patch_ids": ["f12917222401547fc494ff9ed23244f8"], "statement_hash": "c429c25e5fedc5fe9b57bbe1c06653278c0be6639212de7e0e29caca1239c8af"}}, {"rule": 2, "type": "equivalent", "target": "33dcaa91db9a340ad489a4dab2bf38de", "evidence": {"same_day": true, "patch_ids": ["f12917222401547fc494ff9ed23244f8"], "statement_hash": "c429c25e5fedc5fe9b57bbe1c06653278c0be6639212de7e0e29caca1239c8af"}}, {"rule": 2, "type": "equivalent", "target": "9c07eaa4cc364eeece248d77060d68a6", "evidence": {"same_day": true, "patch_ids": ["f12917222401547fc494ff9ed23244f8"], "statement_hash": "c429c25e5fedc5fe9b57bbe1c06653278c0be6639212de7e0e29caca1239c8af"}}, {"rule": 2, "type": "equivalent", "target": "eb6bb7847df32de22ae4279f01bac757", "evidence": {"same_day": true, "patch_ids": ["f12917222401547fc494ff9ed23244f8"], "statement_hash": "c429c25e5fedc5fe9b57bbe1c06653278c0be6639212de7e0e29caca1239c8af"}}], "version": "12.5", "category_label": "安全相关", "also_in": [], "variants": [], "related_changes": [{"db_id": "33dcaa91db9a340ad489a4dab2bf38de", "kind": "equivalent", "version": "13.1", "label": "13.1", "title": "当 psql 的 \\connect 命令复用连接参数时，确保复用先前连接字符串中所有未被覆盖的参数", "evidence": {"same_day": true, "patch_ids": ["f12917222401547fc494ff9ed23244f8"], "statement_hash": "c429c25e5fedc5fe9b57bbe1c06653278c0be6639212de7e0e29caca1239c8af"}, "url": "/docs/compare/?release=13.1#13.1-f1badba1aaec4ac5", "source_url": "/docs/release/13.1/#id-1.11.6.28.5"}, {"db_id": "048a4d116a491d8b2e54c00d82075af2", "kind": "equivalent", "version": "11.10", "label": "11.10", "title": "当 psql 的 \\connect 命令复用连接参数时，确保复用先前连接字符串中所有未被覆盖的参数", "evidence": {"same_day": true, "patch_ids": ["f12917222401547fc494ff9ed23244f8"], "statement_hash": "c429c25e5fedc5fe9b57bbe1c06653278c0be6639212de7e0e29caca1239c8af"}, "url": "/docs/compare/?release=11.10#11.10-58b05f4e0090a9b5", "source_url": "/docs/release/11.10/#id-1.11.6.17.5"}, {"db_id": "9c07eaa4cc364eeece248d77060d68a6", "kind": "equivalent", "version": "10.15", "label": "10.15", "title": "当 psql 的 \\connect 命令复用连接参数时，确保复用先前连接字符串中所有未被覆盖的参数", "evidence": {"same_day": true, "patch_ids": ["f12917222401547fc494ff9ed23244f8"], "statement_hash": "c429c25e5fedc5fe9b57bbe1c06653278c0be6639212de7e0e29caca1239c8af"}, "url": "/docs/compare/?release=10.15#10.15-58b05f4e0090a9b5", "source_url": "/docs/release/10.15/#id-1.11.6.13.5"}, {"db_id": "09d652b358d89152448ded204db7f698", "kind": "equivalent", "version": "9.6.20", "label": "9.6.20", "title": "当 psql 的 \\connect 命令复用连接参数时，确保先前连接字符串中所有未被覆盖的参数都被复用", "evidence": {"same_day": true, "patch_ids": ["f12917222401547fc494ff9ed23244f8"], "statement_hash": "c429c25e5fedc5fe9b57bbe1c06653278c0be6639212de7e0e29caca1239c8af"}, "url": "/docs/compare/?release=9.6.20#9.6.20-1512bab65015e57b", "source_url": "/docs/release/9.6.20/#id-1.11.6.9.5"}, {"db_id": "eb6bb7847df32de22ae4279f01bac757", "kind": "equivalent", "version": "9.5.24", "label": "9.5.24", "title": "当 psql 的 \\connect 命令复用连接参数时，确保先前连接字符串中所有未被覆盖的参数都被复用", "evidence": {"same_day": true, "patch_ids": ["f12917222401547fc494ff9ed23244f8"], "statement_hash": "c429c25e5fedc5fe9b57bbe1c06653278c0be6639212de7e0e29caca1239c8af"}, "url": "/docs/compare/?release=9.5.24#9.5.24-1512bab65015e57b", "source_url": "/docs/release/9.5.24/#id-1.11.6.6.6"}]}, {"id": "12.5-729d850c2da92e5e", "cves": ["CVE-2020-25696"], "html": "<p>防止 <span>psql</span> 的 <code>\\gset</code> 命令修改具有特殊处理方式的变量（Noah Misch）<a href=\"https://postgr.es/c/3855e5b47\">§</a></p>\n<p>不带前缀的 <code>\\gset</code> 会覆盖服务器要求其设置的任何变量。因此，被攻陷的服务器可以设置 <code>PROMPT1</code> 等受到特殊处理的变量，从而能够在用户会话中执行任意 shell 代码。</p>\n<p><span>PostgreSQL</span> 项目感谢 Nick Cleaton 报告此问题。（CVE-2020-25696）</p>", "text": "防止 psql 的 \\gset 命令修改具有特殊处理方式的变量（Noah Misch）§ 不带前缀的 \\gset 会覆盖服务器要求其设置的任何变量。因此，被攻陷的服务器可以设置 PROMPT1 等受到特殊处理的变量，从而能够在用户会话中执行任意 shell 代码。 PostgreSQL 项目感谢 Nick Cleaton 报告此问题。（CVE-2020-25696）", "title": "防止 psql 的 \\gset 命令修改具有特殊处理方式的变量", "commits": ["3855e5b47"], "section": "变更", "category": "security", "source_url": "/docs/release/12.5/#id-1.11.6.23.5", "source_hash": "34ca492818c31a15f946bd19b0199488b9244cada30675d6bf2e90391bce2147", "section_path": ["变更"], "commit_groups": [["098fb0079", "12fd81cb7", "3855e5b47", "67029845b", "7b356c78f", "a498db87b", "a54dfbee1"]], "identity_text": "Prevent psql's \\gset command from modifying specially-treated variables (Noah Misch) \\gset without a prefix would overwrite whatever variables the server told it to. Thus, a compromised server could set specially-treated variables such as PROMPT1, giving the ability to execute arbitrary shell code in the user's session. The PostgreSQL Project thanks Nick Cleaton for reporting this problem. (CVE-2020-25696)", "commit_aliases": ["098fb0079", "12fd81cb7", "3855e5b47", "67029845b", "7b356c78f", "a498db87b", "a54dfbee1"], "source_commits": ["3855e5b47"], "source_entry_id": "12.5/changes/004", "db_id": "684e218336a5bfa28d8f2dfa9d6632e6", "patch_ids": ["e7d80384f9cb93cf2c18f344e115c1c5"], "statement_hash": "5eecb4487916b732023d7b29b21dff0bacb46f067826f409f98fd30f36abb576", "relations": [{"rule": 2, "type": "equivalent", "target": "048000d3411816dd2fc965b0cd624522", "evidence": {"same_day": true, "patch_ids": ["e7d80384f9cb93cf2c18f344e115c1c5"], "statement_hash": "5eecb4487916b732023d7b29b21dff0bacb46f067826f409f98fd30f36abb576"}}, {"rule": 2, "type": "equivalent", "target": "370feb049d035ea22d0a1524d0be1028", "evidence": {"same_day": true, "patch_ids": ["e7d80384f9cb93cf2c18f344e115c1c5"], "statement_hash": "5eecb4487916b732023d7b29b21dff0bacb46f067826f409f98fd30f36abb576"}}, {"rule": 2, "type": "equivalent", "target": "435fccf471fec61c697ec3f4e10aac11", "evidence": {"same_day": true, "patch_ids": ["e7d80384f9cb93cf2c18f344e115c1c5"], "statement_hash": "5eecb4487916b732023d7b29b21dff0bacb46f067826f409f98fd30f36abb576"}}, {"rule": 2, "type": "equivalent", "target": "5a10d3cd862859a12f76a3057dc3036d", "evidence": {"same_day": true, "patch_ids": ["e7d80384f9cb93cf2c18f344e115c1c5"], "statement_hash": "5eecb4487916b732023d7b29b21dff0bacb46f067826f409f98fd30f36abb576"}}, {"rule": 2, "type": "equivalent", "target": "ed15ca1feec24d6238cd80fae70f0817", "evidence": {"same_day": true, "patch_ids": ["e7d80384f9cb93cf2c18f344e115c1c5"], "statement_hash": "5eecb4487916b732023d7b29b21dff0bacb46f067826f409f98fd30f36abb576"}}], "version": "12.5", "category_label": "安全相关", "also_in": [], "variants": [], "related_changes": [{"db_id": "ed15ca1feec24d6238cd80fae70f0817", "kind": "equivalent", "version": "13.1", "label": "13.1", "title": "防止 psql 的 \\gset 命令修改具有特殊处理方式的变量", "evidence": {"same_day": true, "patch_ids": ["e7d80384f9cb93cf2c18f344e115c1c5"], "statement_hash": "5eecb4487916b732023d7b29b21dff0bacb46f067826f409f98fd30f36abb576"}, "url": "/docs/compare/?release=13.1#13.1-9070105c8a130c54", "source_url": "/docs/release/13.1/#id-1.11.6.28.5"}, {"db_id": "5a10d3cd862859a12f76a3057dc3036d", "kind": "equivalent", "version": "11.10", "label": "11.10", "title": "防止 psql 的 \\gset 命令修改具有特殊处理方式的变量", "evidence": {"same_day": true, "patch_ids": ["e7d80384f9cb93cf2c18f344e115c1c5"], "statement_hash": "5eecb4487916b732023d7b29b21dff0bacb46f067826f409f98fd30f36abb576"}, "url": "/docs/compare/?release=11.10#11.10-05f33833ef6a810b", "source_url": "/docs/release/11.10/#id-1.11.6.17.5"}, {"db_id": "048000d3411816dd2fc965b0cd624522", "kind": "equivalent", "version": "10.15", "label": "10.15", "title": "防止 psql 的 \\gset 命令修改具有特殊处理方式的变量", "evidence": {"same_day": true, "patch_ids": ["e7d80384f9cb93cf2c18f344e115c1c5"], "statement_hash": "5eecb4487916b732023d7b29b21dff0bacb46f067826f409f98fd30f36abb576"}, "url": "/docs/compare/?release=10.15#10.15-05f33833ef6a810b", "source_url": "/docs/release/10.15/#id-1.11.6.13.5"}, {"db_id": "370feb049d035ea22d0a1524d0be1028", "kind": "equivalent", "version": "9.6.20", "label": "9.6.20", "title": "防止 psql 的 \\gset 命令修改特殊处理的变量", "evidence": {"same_day": true, "patch_ids": ["e7d80384f9cb93cf2c18f344e115c1c5"], "statement_hash": "5eecb4487916b732023d7b29b21dff0bacb46f067826f409f98fd30f36abb576"}, "url": "/docs/compare/?release=9.6.20#9.6.20-1f21dcb4d2e98063", "source_url": "/docs/release/9.6.20/#id-1.11.6.9.5"}, {"db_id": "435fccf471fec61c697ec3f4e10aac11", "kind": "equivalent", "version": "9.5.24", "label": "9.5.24", "title": "防止 psql 的 \\gset 命令修改特殊处理的变量", "evidence": {"same_day": true, "patch_ids": ["e7d80384f9cb93cf2c18f344e115c1c5"], "statement_hash": "5eecb4487916b732023d7b29b21dff0bacb46f067826f409f98fd30f36abb576"}, "url": "/docs/compare/?release=9.5.24#9.5.24-1f21dcb4d2e98063", "source_url": "/docs/release/9.5.24/#id-1.11.6.6.6"}]}, {"id": "12.5-bcc58e84b0ea3b33", "cves": [], "html": "<p>防止并发截断 SLRU 日志可能造成的数据丢失（Noah Misch）<a href=\"https://postgr.es/c/30e68a2ab\">§</a> <a href=\"https://postgr.es/c/06e50d8f7\">§</a></p>\n<p>这一罕见问题会表现为后续出现 <span>“<span>apparent wraparound</span>”</span> 或 <span>“<span>could not access status of transaction</span>”</span> 错误。</p>", "text": "防止并发截断 SLRU 日志可能造成的数据丢失（Noah Misch）§ § 这一罕见问题会表现为后续出现 “apparent wraparound” 或 “could not access status of transaction” 错误。", "title": "防止并发截断 SLRU 日志可能造成的数据丢失", "commits": ["06e50d8f7", "30e68a2ab"], "section": "变更", "category": "improvement", "source_url": "/docs/release/12.5/#id-1.11.6.23.5", "source_hash": "0f97989ca2ef862f047350701956079452ae42c375406726e1563bca131da5e1", "section_path": ["变更"], "commit_groups": [["06e50d8f7", "6af0b12a5", "85aa22cb1", "d8a22a387", "e8e44e890"], ["30e68a2ab", "3fbbf64ce", "566372b3d", "592a589a0", "5ae01df6f", "d4031d784", "e525770dd"]], "identity_text": "Prevent possible data loss from concurrent truncations of SLRU logs (Noah Misch) This rare problem would manifest in later apparent wraparound or could not access status of transaction errors.", "commit_aliases": ["06e50d8f7", "30e68a2ab", "3fbbf64ce", "566372b3d", "592a589a0", "5ae01df6f", "6af0b12a5", "85aa22cb1", "d4031d784", "d8a22a387", "e525770dd", "e8e44e890"], "source_commits": ["06e50d8f7", "30e68a2ab"], "source_entry_id": "12.5/changes/005", "db_id": "142e35fb126cfad46a4c91ec3c25b333", "patch_ids": ["59c84036c83e92632eb26a24f7169cc5", "e110a891c56974765e1d1c8995307adc"], "statement_hash": "3608d7c697c0d9f2eb5f8baff64ac9352cc06fd5f64dfdf21a60dbfec1f6a1df", "relations": [{"rule": 2, "type": "equivalent", "target": "4008c0c7b4bea421ebc95a611a6b3bb2", "evidence": {"same_day": true, "patch_ids": ["59c84036c83e92632eb26a24f7169cc5", "e110a891c56974765e1d1c8995307adc"], "statement_hash": "3608d7c697c0d9f2eb5f8baff64ac9352cc06fd5f64dfdf21a60dbfec1f6a1df"}}, {"rule": 2, "type": "equivalent", "target": "647df48e15d2e4550c179c178f286a29", "evidence": {"same_day": true, "patch_ids": ["59c84036c83e92632eb26a24f7169cc5", "e110a891c56974765e1d1c8995307adc"], "statement_hash": "3608d7c697c0d9f2eb5f8baff64ac9352cc06fd5f64dfdf21a60dbfec1f6a1df"}}, {"rule": 2, "type": "equivalent", "target": "9fe8cdab84f6de7b1358c60c093715c9", "evidence": {"same_day": true, "patch_ids": ["59c84036c83e92632eb26a24f7169cc5", "e110a891c56974765e1d1c8995307adc"], "statement_hash": "3608d7c697c0d9f2eb5f8baff64ac9352cc06fd5f64dfdf21a60dbfec1f6a1df"}}, {"rule": 2, "type": "equivalent", "target": "caa345643a6e9dcea5b73e8716e2cd8a", "evidence": {"same_day": true, "patch_ids": ["59c84036c83e92632eb26a24f7169cc5", "e110a891c56974765e1d1c8995307adc"], "statement_hash": "3608d7c697c0d9f2eb5f8baff64ac9352cc06fd5f64dfdf21a60dbfec1f6a1df"}}], "version": "12.5", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "9fe8cdab84f6de7b1358c60c093715c9", "kind": "equivalent", "version": "11.10", "label": "11.10", "title": "防止并发截断 SLRU 日志可能造成的数据丢失", "evidence": {"same_day": true, "patch_ids": ["59c84036c83e92632eb26a24f7169cc5", "e110a891c56974765e1d1c8995307adc"], "statement_hash": "3608d7c697c0d9f2eb5f8baff64ac9352cc06fd5f64dfdf21a60dbfec1f6a1df"}, "url": "/docs/compare/?release=11.10#11.10-70f2ad43a290d3d0", "source_url": "/docs/release/11.10/#id-1.11.6.17.5"}, {"db_id": "caa345643a6e9dcea5b73e8716e2cd8a", "kind": "equivalent", "version": "10.15", "label": "10.15", "title": "防止并发截断 SLRU 日志可能造成的数据丢失", "evidence": {"same_day": true, "patch_ids": ["59c84036c83e92632eb26a24f7169cc5", "e110a891c56974765e1d1c8995307adc"], "statement_hash": "3608d7c697c0d9f2eb5f8baff64ac9352cc06fd5f64dfdf21a60dbfec1f6a1df"}, "url": "/docs/compare/?release=10.15#10.15-70f2ad43a290d3d0", "source_url": "/docs/release/10.15/#id-1.11.6.13.5"}, {"db_id": "4008c0c7b4bea421ebc95a611a6b3bb2", "kind": "equivalent", "version": "9.6.20", "label": "9.6.20", "title": "防止并发截断 SLRU 日志可能导致的数据丢失", "evidence": {"same_day": true, "patch_ids": ["59c84036c83e92632eb26a24f7169cc5", "e110a891c56974765e1d1c8995307adc"], "statement_hash": "3608d7c697c0d9f2eb5f8baff64ac9352cc06fd5f64dfdf21a60dbfec1f6a1df"}, "url": "/docs/compare/?release=9.6.20#9.6.20-8f9a3f0b30e2233f", "source_url": "/docs/release/9.6.20/#id-1.11.6.9.5"}, {"db_id": "647df48e15d2e4550c179c178f286a29", "kind": "equivalent", "version": "9.5.24", "label": "9.5.24", "title": "防止并发截断 SLRU 日志可能导致的数据丢失", "evidence": {"same_day": true, "patch_ids": ["59c84036c83e92632eb26a24f7169cc5", "e110a891c56974765e1d1c8995307adc"], "statement_hash": "3608d7c697c0d9f2eb5f8baff64ac9352cc06fd5f64dfdf21a60dbfec1f6a1df"}, "url": "/docs/compare/?release=9.5.24#9.5.24-8f9a3f0b30e2233f", "source_url": "/docs/release/9.5.24/#id-1.11.6.6.6"}]}, {"id": "12.5-3775a45a913e90e4", "cves": [], "html": "<p>确保在检查点期间对 SLRU 目录正确执行 fsync（Thomas Munro）<a href=\"https://postgr.es/c/7664cc869\">§</a></p>\n<p>这可以防止后续操作系统崩溃时可能发生的数据丢失。</p>", "text": "确保在检查点期间对 SLRU 目录正确执行 fsync（Thomas Munro）§ 这可以防止后续操作系统崩溃时可能发生的数据丢失。", "title": "确保在检查点期间对 SLRU 目录正确执行 fsync", "commits": ["7664cc869"], "section": "变更", "category": "improvement", "source_url": "/docs/release/12.5/#id-1.11.6.23.5", "source_hash": "adb87ae23d975005d14467905c45bda22adca7f995ef480e39991f91e23c0b70", "section_path": ["变更"], "commit_groups": [["052014a20", "23d8b3577", "7664cc869", "aca74843e", "c5a5bd0bb", "d38e15979", "dd36d6b00"]], "identity_text": "Ensure that SLRU directories are properly fsync'd during checkpoints (Thomas Munro) This prevents possible data loss in a subsequent operating system crash.", "commit_aliases": ["052014a20", "23d8b3577", "7664cc869", "aca74843e", "c5a5bd0bb", "d38e15979", "dd36d6b00"], "source_commits": ["7664cc869"], "source_entry_id": "12.5/changes/006", "db_id": "4eccc1a2390eb87494a76e3a5985f5d3", "patch_ids": ["a2c4e9bfb6dc7d28acd67d5e9096d0d3"], "statement_hash": "fccebdc7516b398ea8dca003a5f4ce75d9a565c46bd658c74e04807ecda7c7d7", "relations": [{"rule": 2, "type": "equivalent", "target": "5be2e7c4790799ca4c539a2d54536a91", "evidence": {"same_day": true, "patch_ids": ["a2c4e9bfb6dc7d28acd67d5e9096d0d3"], "statement_hash": "fccebdc7516b398ea8dca003a5f4ce75d9a565c46bd658c74e04807ecda7c7d7"}}, {"rule": 2, "type": "equivalent", "target": "80cc9ce2bd43fa57595f97e3853bcd2c", "evidence": {"same_day": true, "patch_ids": ["a2c4e9bfb6dc7d28acd67d5e9096d0d3"], "statement_hash": "fccebdc7516b398ea8dca003a5f4ce75d9a565c46bd658c74e04807ecda7c7d7"}}, {"rule": 2, "type": "equivalent", "target": "aa4a15ce9bf437e318685c548b299a9b", "evidence": {"same_day": true, "patch_ids": ["a2c4e9bfb6dc7d28acd67d5e9096d0d3"], "statement_hash": "fccebdc7516b398ea8dca003a5f4ce75d9a565c46bd658c74e04807ecda7c7d7"}}, {"rule": 2, "type": "equivalent", "target": "b06ef39e998c1dc910700de06c681e9a", "evidence": {"same_day": true, "patch_ids": ["a2c4e9bfb6dc7d28acd67d5e9096d0d3"], "statement_hash": "fccebdc7516b398ea8dca003a5f4ce75d9a565c46bd658c74e04807ecda7c7d7"}}, {"rule": 2, "type": "equivalent", "target": "fb47558544b98f8abc71ea371925ccce", "evidence": {"same_day": true, "patch_ids": ["a2c4e9bfb6dc7d28acd67d5e9096d0d3"], "statement_hash": "fccebdc7516b398ea8dca003a5f4ce75d9a565c46bd658c74e04807ecda7c7d7"}}], "version": "12.5", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "b06ef39e998c1dc910700de06c681e9a", "kind": "equivalent", "version": "13.1", "label": "13.1", "title": "确保在检查点期间对 SLRU 目录正确执行 fsync", "evidence": {"same_day": true, "patch_ids": ["a2c4e9bfb6dc7d28acd67d5e9096d0d3"], "statement_hash": "fccebdc7516b398ea8dca003a5f4ce75d9a565c46bd658c74e04807ecda7c7d7"}, "url": "/docs/compare/?release=13.1#13.1-fdad27ed414f6e2a", "source_url": "/docs/release/13.1/#id-1.11.6.28.5"}, {"db_id": "fb47558544b98f8abc71ea371925ccce", "kind": "equivalent", "version": "11.10", "label": "11.10", "title": "确保在检查点期间对 SLRU 目录正确执行 fsync", "evidence": {"same_day": true, "patch_ids": ["a2c4e9bfb6dc7d28acd67d5e9096d0d3"], "statement_hash": "fccebdc7516b398ea8dca003a5f4ce75d9a565c46bd658c74e04807ecda7c7d7"}, "url": "/docs/compare/?release=11.10#11.10-ad98622e2349a742", "source_url": "/docs/release/11.10/#id-1.11.6.17.5"}, {"db_id": "5be2e7c4790799ca4c539a2d54536a91", "kind": "equivalent", "version": "10.15", "label": "10.15", "title": "确保在检查点期间对 SLRU 目录正确执行 fsync", "evidence": {"same_day": true, "patch_ids": ["a2c4e9bfb6dc7d28acd67d5e9096d0d3"], "statement_hash": "fccebdc7516b398ea8dca003a5f4ce75d9a565c46bd658c74e04807ecda7c7d7"}, "url": "/docs/compare/?release=10.15#10.15-ad98622e2349a742", "source_url": "/docs/release/10.15/#id-1.11.6.13.5"}, {"db_id": "aa4a15ce9bf437e318685c548b299a9b", "kind": "equivalent", "version": "9.6.20", "label": "9.6.20", "title": "确保检查点期间正确 fsync SLRU 目录", "evidence": {"same_day": true, "patch_ids": ["a2c4e9bfb6dc7d28acd67d5e9096d0d3"], "statement_hash": "fccebdc7516b398ea8dca003a5f4ce75d9a565c46bd658c74e04807ecda7c7d7"}, "url": "/docs/compare/?release=9.6.20#9.6.20-d68c2334c7420742", "source_url": "/docs/release/9.6.20/#id-1.11.6.9.5"}, {"db_id": "80cc9ce2bd43fa57595f97e3853bcd2c", "kind": "equivalent", "version": "9.5.24", "label": "9.5.24", "title": "确保检查点期间正确 fsync SLRU 目录", "evidence": {"same_day": true, "patch_ids": ["a2c4e9bfb6dc7d28acd67d5e9096d0d3"], "statement_hash": "fccebdc7516b398ea8dca003a5f4ce75d9a565c46bd658c74e04807ecda7c7d7"}, "url": "/docs/compare/?release=9.5.24#9.5.24-d68c2334c7420742", "source_url": "/docs/release/9.5.24/#id-1.11.6.6.6"}]}, {"id": "12.5-f0bc8a0333a4e23a", "cves": [], "html": "<p>修复对具有 <code>BYPASSRLS</code> 属性的用户执行 <code>ALTER ROLE</code> 的行为（Tom Lane，Stephen Frost）<a href=\"https://postgr.es/c/136f87ea5\">§</a></p>\n<p>只有超级用户才可以修改 <code>BYPASSRLS</code> 属性，但其他 <code>ALTER ROLE</code> 操作（例如修改密码）应该只需通过普通权限检查就可以执行。之前的代码错误地将对此类角色的所有修改都限制为只能由超级用户执行。</p>", "text": "修复对具有 BYPASSRLS 属性的用户执行 ALTER ROLE 的行为（Tom Lane，Stephen Frost）§ 只有超级用户才可以修改 BYPASSRLS 属性，但其他 ALTER ROLE 操作（例如修改密码）应该只需通过普通权限检查就可以执行。之前的代码错误地将对此类角色的所有修改都限制为只能由超级用户执行。", "title": "修复对具有 BYPASSRLS 属性的用户执行 ALTER ROLE 的行为", "commits": ["136f87ea5"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/12.5/#id-1.11.6.23.5", "source_hash": "98d919c31a00cab84fa19ad38c51715eca1961dc114be0e34a20ef270810c88d", "section_path": ["变更"], "commit_groups": [["04c4b495b", "136f87ea5", "501035a0a", "768dbef0d", "77df80cf6", "d907bd054", "df4405b78"]], "identity_text": "Fix ALTER ROLE for users with the BYPASSRLS attribute (Tom Lane, Stephen Frost) The BYPASSRLS attribute is only allowed to be changed by superusers, but other ALTER ROLE operations, such as password changes, should be allowed with only ordinary permission checks. The previous coding erroneously restricted all changes on such a role to superusers.", "commit_aliases": ["04c4b495b", "136f87ea5", "501035a0a", "768dbef0d", "77df80cf6", "d907bd054", "df4405b78"], "source_commits": ["136f87ea5"], "source_entry_id": "12.5/changes/007", "db_id": "a28441cf5f6775c071a4dad86f50a92e", "patch_ids": ["00d5c0db091c94703a53f07d4d0b3805"], "statement_hash": "da729e238f401c4c2b990b4546d0f2abcba78f227e69a9f94d553e767c8ec67b", "relations": [{"rule": 2, "type": "equivalent", "target": "06b53ae97a656f0644b54f91e35132a5", "evidence": {"same_day": true, "patch_ids": ["00d5c0db091c94703a53f07d4d0b3805"], "statement_hash": "da729e238f401c4c2b990b4546d0f2abcba78f227e69a9f94d553e767c8ec67b"}}, {"rule": 2, "type": "equivalent", "target": "8af3f6b3b1924b7f80369eb22d67b422", "evidence": {"same_day": true, "patch_ids": ["00d5c0db091c94703a53f07d4d0b3805"], "statement_hash": "da729e238f401c4c2b990b4546d0f2abcba78f227e69a9f94d553e767c8ec67b"}}, {"rule": 2, "type": "equivalent", "target": "940ff717682ea460b74a4952e333f1ed", "evidence": {"same_day": true, "patch_ids": ["00d5c0db091c94703a53f07d4d0b3805"], "statement_hash": "da729e238f401c4c2b990b4546d0f2abcba78f227e69a9f94d553e767c8ec67b"}}, {"rule": 2, "type": "equivalent", "target": "98a5b51b9a41924b4e3b062a26969ef6", "evidence": {"same_day": true, "patch_ids": ["00d5c0db091c94703a53f07d4d0b3805"], "statement_hash": "da729e238f401c4c2b990b4546d0f2abcba78f227e69a9f94d553e767c8ec67b"}}, {"rule": 2, "type": "equivalent", "target": "b24cf385ec511257e1ddab3e66318c0c", "evidence": {"same_day": true, "patch_ids": ["00d5c0db091c94703a53f07d4d0b3805"], "statement_hash": "da729e238f401c4c2b990b4546d0f2abcba78f227e69a9f94d553e767c8ec67b"}}], "version": "12.5", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "06b53ae97a656f0644b54f91e35132a5", "kind": "equivalent", "version": "13.1", "label": "13.1", "title": "修复对具有 BYPASSRLS 属性的用户执行 ALTER ROLE 的行为", "evidence": {"same_day": true, "patch_ids": ["00d5c0db091c94703a53f07d4d0b3805"], "statement_hash": "da729e238f401c4c2b990b4546d0f2abcba78f227e69a9f94d553e767c8ec67b"}, "url": "/docs/compare/?release=13.1#13.1-6a8c8bd73d0aa902", "source_url": "/docs/release/13.1/#id-1.11.6.28.5"}, {"db_id": "b24cf385ec511257e1ddab3e66318c0c", "kind": "equivalent", "version": "11.10", "label": "11.10", "title": "修复对具有 BYPASSRLS 属性的用户执行 ALTER ROLE 的行为", "evidence": {"same_day": true, "patch_ids": ["00d5c0db091c94703a53f07d4d0b3805"], "statement_hash": "da729e238f401c4c2b990b4546d0f2abcba78f227e69a9f94d553e767c8ec67b"}, "url": "/docs/compare/?release=11.10#11.10-5d13bdf0c7f3f783", "source_url": "/docs/release/11.10/#id-1.11.6.17.5"}, {"db_id": "98a5b51b9a41924b4e3b062a26969ef6", "kind": "equivalent", "version": "10.15", "label": "10.15", "title": "修复对具有 BYPASSRLS 属性的用户执行 ALTER ROLE 的行为", "evidence": {"same_day": true, "patch_ids": ["00d5c0db091c94703a53f07d4d0b3805"], "statement_hash": "da729e238f401c4c2b990b4546d0f2abcba78f227e69a9f94d553e767c8ec67b"}, "url": "/docs/compare/?release=10.15#10.15-5d13bdf0c7f3f783", "source_url": "/docs/release/10.15/#id-1.11.6.13.5"}, {"db_id": "940ff717682ea460b74a4952e333f1ed", "kind": "equivalent", "version": "9.6.20", "label": "9.6.20", "title": "修复对具有 BYPASSRLS 属性的用户的 ALTER ROLE", "evidence": {"same_day": true, "patch_ids": ["00d5c0db091c94703a53f07d4d0b3805"], "statement_hash": "da729e238f401c4c2b990b4546d0f2abcba78f227e69a9f94d553e767c8ec67b"}, "url": "/docs/compare/?release=9.6.20#9.6.20-893176c27ae69b2f", "source_url": "/docs/release/9.6.20/#id-1.11.6.9.5"}, {"db_id": "8af3f6b3b1924b7f80369eb22d67b422", "kind": "equivalent", "version": "9.5.24", "label": "9.5.24", "title": "修复对具有 BYPASSRLS 属性的用户的 ALTER ROLE", "evidence": {"same_day": true, "patch_ids": ["00d5c0db091c94703a53f07d4d0b3805"], "statement_hash": "da729e238f401c4c2b990b4546d0f2abcba78f227e69a9f94d553e767c8ec67b"}, "url": "/docs/compare/?release=9.5.24#9.5.24-893176c27ae69b2f", "source_url": "/docs/release/9.5.24/#id-1.11.6.6.6"}]}, {"id": "12.5-fa55f3abcfa7ae19", "cves": [], "html": "<p>确保 <code>ALTER TABLE ONLY ... ENABLE/DISABLE TRIGGER</code> 不递归处理子表（Álvaro Herrera）<a href=\"https://postgr.es/c/0e6b6f8c7\">§</a></p>\n<p>以前，<code>ONLY</code> 标志被忽略了。</p>", "text": "确保 ALTER TABLE ONLY ... ENABLE/DISABLE TRIGGER 不递归处理子表（Álvaro Herrera）§ 以前，ONLY 标志被忽略了。", "title": "确保 ALTER TABLE ONLY ... ENABLE/DISABLE TRIGGER 不递归处理子表", "commits": ["0e6b6f8c7"], "section": "变更", "category": "improvement", "source_url": "/docs/release/12.5/#id-1.11.6.23.5", "source_hash": "e0e3cda2f573fb807f8322551779e3ac229589074817c1c6f7578e9f215d0e95", "section_path": ["变更"], "commit_groups": [["0e6b6f8c7", "5f6463a20", "a795f6782", "bbb927b4d"]], "identity_text": "Ensure that ALTER TABLE ONLY ... ENABLE/DISABLE TRIGGER does not recurse to child tables (Álvaro Herrera) Previously the ONLY flag was ignored.", "commit_aliases": ["0e6b6f8c7", "5f6463a20", "a795f6782", "bbb927b4d"], "source_commits": ["0e6b6f8c7"], "source_entry_id": "12.5/changes/008", "db_id": "515d920db83984a2310b61b5b956940b", "patch_ids": ["1486e5d11149ea7f531f38421c96e4ff"], "statement_hash": "b56964d028fb509b948d0a9544dc895c0ade294a5bb1fe7004886f033aa8dbbb", "relations": [{"rule": 2, "type": "equivalent", "target": "0d4143e62367e577a2a5a494c6456a70", "evidence": {"same_day": true, "patch_ids": ["1486e5d11149ea7f531f38421c96e4ff"], "statement_hash": "b56964d028fb509b948d0a9544dc895c0ade294a5bb1fe7004886f033aa8dbbb"}}, {"rule": 2, "type": "equivalent", "target": "bf73f5c2e8a4e1f58b85082ad644cebc", "evidence": {"same_day": true, "patch_ids": ["1486e5d11149ea7f531f38421c96e4ff"], "statement_hash": "b56964d028fb509b948d0a9544dc895c0ade294a5bb1fe7004886f033aa8dbbb"}}], "version": "12.5", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "bf73f5c2e8a4e1f58b85082ad644cebc", "kind": "equivalent", "version": "13.1", "label": "13.1", "title": "确保 ALTER TABLE ONLY ... ENABLE/DISABLE TRIGGER 不递归处理子表", "evidence": {"same_day": true, "patch_ids": ["1486e5d11149ea7f531f38421c96e4ff"], "statement_hash": "b56964d028fb509b948d0a9544dc895c0ade294a5bb1fe7004886f033aa8dbbb"}, "url": "/docs/compare/?release=13.1#13.1-c5abe79d94d21efe", "source_url": "/docs/release/13.1/#id-1.11.6.28.5"}, {"db_id": "0d4143e62367e577a2a5a494c6456a70", "kind": "equivalent", "version": "11.10", "label": "11.10", "title": "确保 ALTER TABLE ONLY ... ENABLE/DISABLE TRIGGER 不递归处理子表", "evidence": {"same_day": true, "patch_ids": ["1486e5d11149ea7f531f38421c96e4ff"], "statement_hash": "b56964d028fb509b948d0a9544dc895c0ade294a5bb1fe7004886f033aa8dbbb"}, "url": "/docs/compare/?release=11.10#11.10-dd58929a3ff96a33", "source_url": "/docs/release/11.10/#id-1.11.6.17.5"}]}, {"id": "12.5-3aca35e54c9bcb9f", "cves": [], "html": "<p>当目标列已标记为 <code>NOT NULL</code> 时，避免 <code>ALTER TABLE SET NOT NULL</code> 不必要地递归处理分区（Tom Lane）<a href=\"https://postgr.es/c/511690ec5\">§</a></p>\n<p>这可以避免并行 <span>pg_restore</span> 中潜在的死锁。</p>", "text": "当目标列已标记为 NOT NULL 时，避免 ALTER TABLE SET NOT NULL 不必要地递归处理分区（Tom Lane）§ 这可以避免并行 pg_restore 中潜在的死锁。", "title": "当目标列已标记为 NOT NULL 时，避免 ALTER TABLE SET NOT NULL 不必要地递归处理分区", "commits": ["511690ec5"], "section": "变更", "category": "improvement", "source_url": "/docs/release/12.5/#id-1.11.6.23.5", "source_hash": "b6bbca5739056af215b095fc058e15bdd14d6591daa0cd06aedbb8d38e38fec5", "section_path": ["变更"], "commit_groups": [["17280b31c", "511690ec5", "e5fac1cb1"]], "identity_text": "Avoid unnecessary recursion to partitions in ALTER TABLE SET NOT NULL, when the target column is already marked NOT NULL (Tom Lane) This avoids a potential deadlock in parallel pg_restore.", "commit_aliases": ["17280b31c", "511690ec5", "e5fac1cb1"], "source_commits": ["511690ec5"], "source_entry_id": "12.5/changes/009", "db_id": "b571734d32bd1cf2af24e0c5fcd1c36d", "patch_ids": ["faee22ef6a37a265040f6e4b8a0d3d3e"], "statement_hash": "f35632cac0a77c088cbe65669c7df89f781a4109c56cfc34bd8dd17c6a3a4a40", "relations": [], "version": "12.5", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": []}, {"id": "12.5-c05f13c9bb569892", "cves": [], "html": "<p>修复结合继承使用的 <code>CREATE TABLE LIKE</code> 中对表达式的处理（Tom Lane）<a href=\"https://postgr.es/c/d9253df12\">§</a> <a href=\"https://postgr.es/c/1371a1e41\">§</a></p>\n<p>如果 <code>CREATE TABLE</code> 命令同时使用 <code>LIKE</code> 和传统继承，来自 <code>LIKE</code> 父表的 <code>CHECK</code> 约束及表达式索引中的列引用往往会被错误编号，导致错误结果或奇怪的错误消息。在具有生成列特性的分支中，<code>GENERATED</code> 表达式也可能出现同样的问题。</p>", "text": "修复结合继承使用的 CREATE TABLE LIKE 中对表达式的处理（Tom Lane）§ § 如果 CREATE TABLE 命令同时使用 LIKE 和传统继承，来自 LIKE 父表的 CHECK 约束及表达式索引中的列引用往往会被错误编号，导致错误结果或奇怪的错误消息。在具有生成列特性的分支中，GENERATED 表达式也可能出现同样的问题。", "title": "修复结合继承使用的 CREATE TABLE LIKE 中对表达式的处理", "commits": ["1371a1e41", "d9253df12"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/12.5/#id-1.11.6.23.5", "source_hash": "63afaa2716e0c8d34413f301ed76965c1d37a416a2186ca71aff2b3bf70c7c71", "section_path": ["变更"], "commit_groups": [["1371a1e41", "19f5a37b9", "1a9c93ec3", "783a21eff", "86b8ef139", "b380484a8", "f11210013"], ["21f8b1811", "373796524", "37681d7e9", "502898192", "894f5dea7", "d9253df12", "e22e29c25"]], "identity_text": "Fix handling of expressions in CREATE TABLE LIKE with inheritance (Tom Lane) If a CREATE TABLE command uses both LIKE and traditional inheritance, column references in CHECK constraints and expression indexes that came from a LIKE parent table tended to get mis-numbered, resulting in wrong answers and/or bizarre error messages. The same could happen in GENERATED expressions, in branches that have that feature.", "commit_aliases": ["1371a1e41", "19f5a37b9", "1a9c93ec3", "21f8b1811", "373796524", "37681d7e9", "502898192", "783a21eff", "86b8ef139", "894f5dea7", "b380484a8", "d9253df12", "e22e29c25", "f11210013"], "source_commits": ["1371a1e41", "d9253df12"], "source_entry_id": "12.5/changes/010", "db_id": "b3ec63b6c2ce4be77603a58fb807d8de", "patch_ids": ["182ef4abb2d07c878b05627461928631", "aadf0d3a878ade603bf7aff8aefadc47"], "statement_hash": "8c2141c4f566aa3aeb2a709a70d1bce1d14dc22b99377cec2dce377c24077f74", "relations": [{"rule": 2, "type": "equivalent", "target": "bc148010404f0fadeaad86a21aad6d50", "evidence": {"same_day": true, "patch_ids": ["182ef4abb2d07c878b05627461928631", "aadf0d3a878ade603bf7aff8aefadc47"], "statement_hash": "8c2141c4f566aa3aeb2a709a70d1bce1d14dc22b99377cec2dce377c24077f74"}}, {"rule": 2, "type": "equivalent", "target": "cada443267211ce07eca1cb2e16ff830", "evidence": {"same_day": true, "patch_ids": ["182ef4abb2d07c878b05627461928631", "aadf0d3a878ade603bf7aff8aefadc47"], "statement_hash": "8c2141c4f566aa3aeb2a709a70d1bce1d14dc22b99377cec2dce377c24077f74"}}, {"rule": 2, "type": "equivalent", "target": "d1b5e089c7b0905faf36959a5fcb51a6", "evidence": {"same_day": true, "patch_ids": ["182ef4abb2d07c878b05627461928631", "aadf0d3a878ade603bf7aff8aefadc47"], "statement_hash": "8c2141c4f566aa3aeb2a709a70d1bce1d14dc22b99377cec2dce377c24077f74"}}, {"rule": 2, "type": "equivalent", "target": "ed5dc56a28ca5050284a77f376e431bf", "evidence": {"same_day": true, "patch_ids": ["182ef4abb2d07c878b05627461928631", "aadf0d3a878ade603bf7aff8aefadc47"], "statement_hash": "8c2141c4f566aa3aeb2a709a70d1bce1d14dc22b99377cec2dce377c24077f74"}}], "version": "12.5", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "d1b5e089c7b0905faf36959a5fcb51a6", "kind": "equivalent", "version": "11.10", "label": "11.10", "title": "修复结合继承使用的 CREATE TABLE LIKE 中对表达式的处理", "evidence": {"same_day": true, "patch_ids": ["182ef4abb2d07c878b05627461928631", "aadf0d3a878ade603bf7aff8aefadc47"], "statement_hash": "8c2141c4f566aa3aeb2a709a70d1bce1d14dc22b99377cec2dce377c24077f74"}, "url": "/docs/compare/?release=11.10#11.10-06fc33f985441346", "source_url": "/docs/release/11.10/#id-1.11.6.17.5"}, {"db_id": "ed5dc56a28ca5050284a77f376e431bf", "kind": "equivalent", "version": "10.15", "label": "10.15", "title": "修复结合继承使用的 CREATE TABLE LIKE 中对表达式的处理", "evidence": {"same_day": true, "patch_ids": ["182ef4abb2d07c878b05627461928631", "aadf0d3a878ade603bf7aff8aefadc47"], "statement_hash": "8c2141c4f566aa3aeb2a709a70d1bce1d14dc22b99377cec2dce377c24077f74"}, "url": "/docs/compare/?release=10.15#10.15-06fc33f985441346", "source_url": "/docs/release/10.15/#id-1.11.6.13.5"}, {"db_id": "bc148010404f0fadeaad86a21aad6d50", "kind": "equivalent", "version": "9.6.20", "label": "9.6.20", "title": "修复带继承的 CREATE TABLE LIKE 中表达式的处理", "evidence": {"same_day": true, "patch_ids": ["182ef4abb2d07c878b05627461928631", "aadf0d3a878ade603bf7aff8aefadc47"], "statement_hash": "8c2141c4f566aa3aeb2a709a70d1bce1d14dc22b99377cec2dce377c24077f74"}, "url": "/docs/compare/?release=9.6.20#9.6.20-f719405a38b9e876", "source_url": "/docs/release/9.6.20/#id-1.11.6.9.5"}, {"db_id": "cada443267211ce07eca1cb2e16ff830", "kind": "equivalent", "version": "9.5.24", "label": "9.5.24", "title": "修复带继承的 CREATE TABLE LIKE 中表达式的处理", "evidence": {"same_day": true, "patch_ids": ["182ef4abb2d07c878b05627461928631", "aadf0d3a878ade603bf7aff8aefadc47"], "statement_hash": "8c2141c4f566aa3aeb2a709a70d1bce1d14dc22b99377cec2dce377c24077f74"}, "url": "/docs/compare/?release=9.5.24#9.5.24-f719405a38b9e876", "source_url": "/docs/release/9.5.24/#id-1.11.6.6.6"}]}, {"id": "12.5-bc7ac0e6a644db6c", "cves": [], "html": "<p>禁止对分区表执行 <code>DROP INDEX CONCURRENTLY</code>（Álvaro Herrera，Michael Paquier）<a href=\"https://postgr.es/c/7067ba1b4\">§</a></p>\n<p>这种情况本来就会失败，但错误消息令人困惑。</p>", "text": "禁止对分区表执行 DROP INDEX CONCURRENTLY（Álvaro Herrera，Michael Paquier）§ 这种情况本来就会失败，但错误消息令人困惑。", "title": "禁止对分区表执行 DROP INDEX CONCURRENTLY", "commits": ["7067ba1b4"], "section": "变更", "category": "improvement", "source_url": "/docs/release/12.5/#id-1.11.6.23.5", "source_hash": "504a4606f48ae5b469726fb9a6ffb0557e48e7bacd2d3c007b15fe9886f2f6c3", "section_path": ["变更"], "commit_groups": [["15dad5776", "7067ba1b4", "afc7e0ad5", "f00f5e0c1"]], "identity_text": "Disallow DROP INDEX CONCURRENTLY on a partitioned table (Álvaro Herrera, Michael Paquier) This case failed anyway, but with a confusing error message.", "commit_aliases": ["15dad5776", "7067ba1b4", "afc7e0ad5", "f00f5e0c1"], "source_commits": ["7067ba1b4"], "source_entry_id": "12.5/changes/011", "db_id": "918820ea09118274cb315cdb541ca8d0", "patch_ids": ["0c18be1f8b08ff0528ee52d175db63ca"], "statement_hash": "c2fe75845d8bca010e280f6ec4a57442aec28569f701134e5eb23ee4c22cdae8", "relations": [{"rule": 2, "type": "equivalent", "target": "9cdc4f36c5032d5b9459ac37efd46633", "evidence": {"same_day": true, "patch_ids": ["0c18be1f8b08ff0528ee52d175db63ca"], "statement_hash": "c2fe75845d8bca010e280f6ec4a57442aec28569f701134e5eb23ee4c22cdae8"}}], "version": "12.5", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "9cdc4f36c5032d5b9459ac37efd46633", "kind": "equivalent", "version": "11.10", "label": "11.10", "title": "禁止对分区表执行 DROP INDEX CONCURRENTLY", "evidence": {"same_day": true, "patch_ids": ["0c18be1f8b08ff0528ee52d175db63ca"], "statement_hash": "c2fe75845d8bca010e280f6ec4a57442aec28569f701134e5eb23ee4c22cdae8"}, "url": "/docs/compare/?release=11.10#11.10-0fd589ac7512f7da", "source_url": "/docs/release/11.10/#id-1.11.6.17.5"}]}, {"id": "12.5-5c8f797b238b95d5", "cves": [], "html": "<p>允许对自引用视图成功执行 <code>LOCK TABLE</code>（Tom Lane）<a href=\"https://postgr.es/c/0bdf1ef3d\">§</a></p>\n<p>以前会抛出关于无限递归的错误，但似乎没有必要禁止这种情况。</p>", "text": "允许对自引用视图成功执行 LOCK TABLE（Tom Lane）§ 以前会抛出关于无限递归的错误，但似乎没有必要禁止这种情况。", "title": "允许对自引用视图成功执行 LOCK TABLE", "commits": ["0bdf1ef3d"], "section": "变更", "category": "improvement", "source_url": "/docs/release/12.5/#id-1.11.6.23.5", "source_hash": "c2be39848331991ec48fd2133ad3f578848df8513975857056938bbefe78f73a", "section_path": ["变更"], "commit_groups": [["0bdf1ef3d", "44b973b91", "5b7bfc397", "7dc18c619"]], "identity_text": "Allow LOCK TABLE to succeed on a self-referential view (Tom Lane) It previously threw an error complaining about infinite recursion, but there seems no need to disallow the case.", "commit_aliases": ["0bdf1ef3d", "44b973b91", "5b7bfc397", "7dc18c619"], "source_commits": ["0bdf1ef3d"], "source_entry_id": "12.5/changes/012", "db_id": "b18cca0fe5884749592bcb9c306e8ed8", "patch_ids": ["e80a6d62a308549fca3dca43cf214e58"], "statement_hash": "c48c786d6aefa3b2ef2bde9f2098ebab17fa00b0da9d6978ef895b89fb823222", "relations": [{"rule": 2, "type": "equivalent", "target": "2d9a7d9cd258cf795bfe09ac728c2093", "evidence": {"same_day": true, "patch_ids": ["e80a6d62a308549fca3dca43cf214e58"], "statement_hash": "c48c786d6aefa3b2ef2bde9f2098ebab17fa00b0da9d6978ef895b89fb823222"}}, {"rule": 2, "type": "equivalent", "target": "3935a2bfda3c217a89c73379e751c30f", "evidence": {"same_day": true, "patch_ids": ["e80a6d62a308549fca3dca43cf214e58"], "statement_hash": "c48c786d6aefa3b2ef2bde9f2098ebab17fa00b0da9d6978ef895b89fb823222"}}], "version": "12.5", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "2d9a7d9cd258cf795bfe09ac728c2093", "kind": "equivalent", "version": "13.1", "label": "13.1", "title": "允许对自引用视图成功执行 LOCK TABLE", "evidence": {"same_day": true, "patch_ids": ["e80a6d62a308549fca3dca43cf214e58"], "statement_hash": "c48c786d6aefa3b2ef2bde9f2098ebab17fa00b0da9d6978ef895b89fb823222"}, "url": "/docs/compare/?release=13.1#13.1-658bba060786a9be", "source_url": "/docs/release/13.1/#id-1.11.6.28.5"}, {"db_id": "3935a2bfda3c217a89c73379e751c30f", "kind": "equivalent", "version": "11.10", "label": "11.10", "title": "允许对自引用视图成功执行 LOCK TABLE", "evidence": {"same_day": true, "patch_ids": ["e80a6d62a308549fca3dca43cf214e58"], "statement_hash": "c48c786d6aefa3b2ef2bde9f2098ebab17fa00b0da9d6978ef895b89fb823222"}, "url": "/docs/compare/?release=11.10#11.10-643801686120db2e", "source_url": "/docs/release/11.10/#id-1.11.6.17.5"}]}, {"id": "12.5-aad9ec0f4672573e", "cves": [], "html": "<p>在 <code>REINDEX CONCURRENTLY</code> 前后保留索引的统计信息（Michael Paquier，Fabrízio de Royes Mello）<a href=\"https://postgr.es/c/41a033b50\">§</a></p>\n<p>非并发的索引重建一直会保留这些统计信息。</p>", "text": "在 REINDEX CONCURRENTLY 前后保留索引的统计信息（Michael Paquier，Fabrízio de Royes Mello）§ 非并发的索引重建一直会保留这些统计信息。", "title": "在 REINDEX CONCURRENTLY 前后保留索引的统计信息", "commits": ["41a033b50"], "section": "变更", "category": "improvement", "source_url": "/docs/release/12.5/#id-1.11.6.23.5", "source_hash": "89fd2e795595b12c15ba67f0e5bfe7727ddb6b05f2b3e16fb4e23d75d6347ec1", "section_path": ["变更"], "commit_groups": [["41a033b50", "b17ff07aa", "bb62df46b"]], "identity_text": "Retain statistics about an index across REINDEX CONCURRENTLY (Michael Paquier, Fabrízio de Royes Mello) Non-concurrent reindexing has always preserved such statistics.", "commit_aliases": ["41a033b50", "b17ff07aa", "bb62df46b"], "source_commits": ["41a033b50"], "source_entry_id": "12.5/changes/013", "db_id": "6f499e8e479f0c4070ca4654bbffe8c5", "patch_ids": ["4616682d99b4a9614c6f50c95b8f9808"], "statement_hash": "df824fc429752478a9fa50b60c52c5b43407e36003b5466d2f7642bb0dd5d8ab", "relations": [{"rule": 2, "type": "equivalent", "target": "968d3cde895dc97b388757887ad30210", "evidence": {"same_day": true, "patch_ids": ["4616682d99b4a9614c6f50c95b8f9808"], "statement_hash": "df824fc429752478a9fa50b60c52c5b43407e36003b5466d2f7642bb0dd5d8ab"}}], "version": "12.5", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "968d3cde895dc97b388757887ad30210", "kind": "equivalent", "version": "13.1", "label": "13.1", "title": "在 REINDEX CONCURRENTLY 前后保留索引的统计信息", "evidence": {"same_day": true, "patch_ids": ["4616682d99b4a9614c6f50c95b8f9808"], "statement_hash": "df824fc429752478a9fa50b60c52c5b43407e36003b5466d2f7642bb0dd5d8ab"}, "url": "/docs/compare/?release=13.1#13.1-98a14985b3433129", "source_url": "/docs/release/13.1/#id-1.11.6.28.5"}]}, {"id": "12.5-93ed92223ac87f9a", "cves": [], "html": "<p>修复 <code>REINDEX CONCURRENTLY</code> 不正确的进度报告（Matthias van de Meent，Michael Paquier）<a href=\"https://postgr.es/c/8aa4496dd\">§</a></p>", "text": "修复 REINDEX CONCURRENTLY 不正确的进度报告（Matthias van de Meent，Michael Paquier）§", "title": "修复 REINDEX CONCURRENTLY 不正确的进度报告", "commits": ["8aa4496dd"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/12.5/#id-1.11.6.23.5", "source_hash": "0b3527973e75261dc0a14e9982b8ae58c1942205b500f8d3fd765fae771e7644", "section_path": ["变更"], "commit_groups": [["1aedaba78", "8aa4496dd", "e66bcfb4c"]], "identity_text": "Fix incorrect progress reporting from REINDEX CONCURRENTLY (Matthias van de Meent, Michael Paquier)", "commit_aliases": ["1aedaba78", "8aa4496dd", "e66bcfb4c"], "source_commits": ["8aa4496dd"], "source_entry_id": "12.5/changes/014", "db_id": "00194a467f52402b7f116f66c09d9471", "patch_ids": ["fabfbb2cf465b61381d034c7cdb3a182"], "statement_hash": "f54fd3c370b012d2732fa3ccd7f5cb257a8732b8cf16252929406293df33d414", "relations": [{"rule": 2, "type": "equivalent", "target": "d16575197c7d14abb79c62c535df567e", "evidence": {"same_day": true, "patch_ids": ["fabfbb2cf465b61381d034c7cdb3a182"], "statement_hash": "f54fd3c370b012d2732fa3ccd7f5cb257a8732b8cf16252929406293df33d414"}}], "version": "12.5", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "d16575197c7d14abb79c62c535df567e", "kind": "equivalent", "version": "13.1", "label": "13.1", "title": "修复 REINDEX CONCURRENTLY 不正确的进度报告", "evidence": {"same_day": true, "patch_ids": ["fabfbb2cf465b61381d034c7cdb3a182"], "statement_hash": "f54fd3c370b012d2732fa3ccd7f5cb257a8732b8cf16252929406293df33d414"}, "url": "/docs/compare/?release=13.1#13.1-0e96463fff29e1d5", "source_url": "/docs/release/13.1/#id-1.11.6.28.5"}]}, {"id": "12.5-23a8b36a1285b9aa", "cves": [], "html": "<p>确保通过规则或可更新视图更新 <code>GENERATED</code> 列所依赖的列时，生成列也得到更新（Tom Lane）<a href=\"https://postgr.es/c/43330cdd4\">§</a></p>\n<p>此修复还处理了在这些情况下可能未能触发特定列触发器的问题。</p>", "text": "确保通过规则或可更新视图更新 GENERATED 列所依赖的列时，生成列也得到更新（Tom Lane）§ 此修复还处理了在这些情况下可能未能触发特定列触发器的问题。", "title": "确保通过规则或可更新视图更新 GENERATED 列所依赖的列时，生成列也得到更新", "commits": ["43330cdd4"], "section": "变更", "category": "improvement", "source_url": "/docs/release/12.5/#id-1.11.6.23.5", "source_hash": "0c2dfff6c407041c5b95e751f8ef0926798d4167623c6a157c4e21b0fc2339d7", "section_path": ["变更"], "commit_groups": [["43330cdd4", "70492195b", "ad77039fa"]], "identity_text": "Ensure that GENERATED columns are updated when the column(s) they depend on are updated via a rule or an updatable view (Tom Lane) This fix also takes care of possible failure to fire a column-specific trigger in such cases.", "commit_aliases": ["43330cdd4", "70492195b", "ad77039fa"], "source_commits": ["43330cdd4"], "source_entry_id": "12.5/changes/015", "db_id": "32954ad404f6b50f2e286068e3f41e5a", "patch_ids": ["4eee3ee8c400465bab30b28c8d723ef0"], "statement_hash": "eff768f3c78ee5cbf1190b31ba0e199a717089101bc5523812af12ca673f8e66", "relations": [{"rule": 2, "type": "equivalent", "target": "a45fb8720bc700e17cab673f382333c0", "evidence": {"same_day": true, "patch_ids": ["4eee3ee8c400465bab30b28c8d723ef0"], "statement_hash": "eff768f3c78ee5cbf1190b31ba0e199a717089101bc5523812af12ca673f8e66"}}], "version": "12.5", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "a45fb8720bc700e17cab673f382333c0", "kind": "equivalent", "version": "13.1", "label": "13.1", "title": "确保通过规则或可更新视图更新 GENERATED 列所依赖的列时，生成列也得到更新", "evidence": {"same_day": true, "patch_ids": ["4eee3ee8c400465bab30b28c8d723ef0"], "statement_hash": "eff768f3c78ee5cbf1190b31ba0e199a717089101bc5523812af12ca673f8e66"}, "url": "/docs/compare/?release=13.1#13.1-b92d780874dfee1e", "source_url": "/docs/release/13.1/#id-1.11.6.28.5"}]}, {"id": "12.5-36e156ad83274672", "cves": [], "html": "<p>将插入或更新的元组路由到正确分区时，重新检查默认分区约束（Amit Langote，Álvaro Herrera）<a href=\"https://postgr.es/c/ef1e1250e\">§</a></p>\n<p>这修复了添加分区与插入操作并发进行时的竞争条件。</p>", "text": "将插入或更新的元组路由到正确分区时，重新检查默认分区约束（Amit Langote，Álvaro Herrera）§ 这修复了添加分区与插入操作并发进行时的竞争条件。", "title": "将插入或更新的元组路由到正确分区时，重新检查默认分区约束", "commits": ["ef1e1250e"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/12.5/#id-1.11.6.23.5", "source_hash": "aa0b555bd2f09ecc2283ef1ef0b1ae2b4f5f3d91a789b0d472b1770bca899e7d", "section_path": ["变更"], "commit_groups": [["d0230a43f", "ef1e1250e", "f481d2823"]], "identity_text": "Recheck default partition constraints while routing an inserted or updated tuple to the correct partition (Amit Langote, Álvaro Herrera) This fixes race conditions when partitions are added concurrently with the insertion.", "commit_aliases": ["d0230a43f", "ef1e1250e", "f481d2823"], "source_commits": ["ef1e1250e"], "source_entry_id": "12.5/changes/016", "db_id": "6f2a048c81ef864936b6d3d306f80f3d", "patch_ids": ["e96b529d65f941ebb84c10ee2b7154cc"], "statement_hash": "30c37a55362d83ccd75f6d5f8457064cc450bef17ab3e6a18e5f4d6ba736a4ab", "relations": [], "version": "12.5", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": []}, {"id": "12.5-a16c81750495646b", "cves": [], "html": "<p>修复依赖排序规则的分区边界表达式所导致的失败（Tom Lane）<a href=\"https://postgr.es/c/29f20db85\">§</a></p>", "text": "修复依赖排序规则的分区边界表达式所导致的失败（Tom Lane）§", "title": "修复依赖排序规则的分区边界表达式所导致的失败", "commits": ["29f20db85"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/12.5/#id-1.11.6.23.5", "source_hash": "0d962560a561061a0acc79ba71e53775be6adcf8060b3203a0678ad60244507d", "section_path": ["变更"], "commit_groups": [["29f20db85", "61a78c71a", "72647ac3b"]], "identity_text": "Fix failures with collation-dependent partition bound expressions (Tom Lane)", "commit_aliases": ["29f20db85", "61a78c71a", "72647ac3b"], "source_commits": ["29f20db85"], "source_entry_id": "12.5/changes/017", "db_id": "e0a9794cb9f97d7ff10346b1d05f8fe2", "patch_ids": ["17920f371d7cd8c0a562e75329b01763"], "statement_hash": "61abd944044ae9390ecaae79d89a6d44bf926a75a31ba6a6d8683a7b3b259731", "relations": [{"rule": 2, "type": "equivalent", "target": "3aa94aaa97fbf3e45fb9a446ddb201ff", "evidence": {"same_day": true, "patch_ids": ["17920f371d7cd8c0a562e75329b01763"], "statement_hash": "61abd944044ae9390ecaae79d89a6d44bf926a75a31ba6a6d8683a7b3b259731"}}], "version": "12.5", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "3aa94aaa97fbf3e45fb9a446ddb201ff", "kind": "equivalent", "version": "13.1", "label": "13.1", "title": "修复依赖排序规则的分区边界表达式所导致的失败", "evidence": {"same_day": true, "patch_ids": ["17920f371d7cd8c0a562e75329b01763"], "statement_hash": "61abd944044ae9390ecaae79d89a6d44bf926a75a31ba6a6d8683a7b3b259731"}, "url": "/docs/compare/?release=13.1#13.1-c89429de410fa194", "source_url": "/docs/release/13.1/#id-1.11.6.28.5"}]}, {"id": "12.5-517a824cfc0e71db", "cves": [], "html": "<p>支持对 text 数组进行 hash 运算（Peter Eisentraut）<a href=\"https://postgr.es/c/ea9087938\">§</a></p>\n<p>如果数组元素类型支持排序规则，对数组进行 hash 计算就会失败。尤其是，这使 text 数组列无法用作 hash 分区的分区键。</p>", "text": "支持对 text 数组进行 hash 运算（Peter Eisentraut）§ 如果数组元素类型支持排序规则，对数组进行 hash 计算就会失败。尤其是，这使 text 数组列无法用作 hash 分区的分区键。", "title": "支持对 text 数组进行 hash 运算", "commits": ["ea9087938"], "section": "变更", "category": "improvement", "source_url": "/docs/release/12.5/#id-1.11.6.23.5", "source_hash": "61e85ac61f6cd72c8a966140273bb4ac26a72b083705d6dba40e32a3b3377269", "section_path": ["变更"], "commit_groups": [["560564d3a", "82d4a2a7d", "ea9087938"]], "identity_text": "Support hashing of text arrays (Peter Eisentraut) Array hashing failed if the array element type is collatable. Notably, this prevented using hash partitioning with a text array column as partition key.", "commit_aliases": ["560564d3a", "82d4a2a7d", "ea9087938"], "source_commits": ["ea9087938"], "source_entry_id": "12.5/changes/018", "db_id": "f22891ac3918002c7c2efa185329bc78", "patch_ids": ["113621db64df6ffdcd3e25b5f5a174ad"], "statement_hash": "f6987b0505dbb0d9cc27b1bc10d127ca08fbd9257cda5bba707d544e40a0bf5f", "relations": [{"rule": 2, "type": "equivalent", "target": "93b6025e4e4e57c6621930dccc5f805a", "evidence": {"same_day": true, "patch_ids": ["113621db64df6ffdcd3e25b5f5a174ad"], "statement_hash": "f6987b0505dbb0d9cc27b1bc10d127ca08fbd9257cda5bba707d544e40a0bf5f"}}], "version": "12.5", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "93b6025e4e4e57c6621930dccc5f805a", "kind": "equivalent", "version": "13.1", "label": "13.1", "title": "支持对 text 数组进行 hash 运算", "evidence": {"same_day": true, "patch_ids": ["113621db64df6ffdcd3e25b5f5a174ad"], "statement_hash": "f6987b0505dbb0d9cc27b1bc10d127ca08fbd9257cda5bba707d544e40a0bf5f"}, "url": "/docs/compare/?release=13.1#13.1-c548f033df2a3cfd", "source_url": "/docs/release/13.1/#id-1.11.6.28.5"}]}, {"id": "12.5-4d8b4715108b70a4", "cves": [], "html": "<p>修复 <code>to_date()</code> 和 <code>to_timestamp()</code> 将负年份转换为公元前日期时相差一年的错误（Dar Alathar-Yemen，Tom Lane）<a href=\"https://postgr.es/c/c5232dca8\">§</a></p>\n<p>另外，使负年份与显式 <span>“<span>BC</span>”</span> 标记相抵消，得到 AD 年份。</p>", "text": "修复 to_date() 和 to_timestamp() 将负年份转换为公元前日期时相差一年的错误（Dar Alathar-Yemen，Tom Lane）§ 另外，使负年份与显式 “BC” 标记相抵消，得到 AD 年份。", "title": "修复 to_date() 和 to_timestamp() 将负年份转换为公元前日期时相差一年的错误", "commits": ["c5232dca8"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/12.5/#id-1.11.6.23.5", "source_hash": "1064e47cf61c0dd81fc8ccc196c8478038161bde7152b939de7da54583365332", "section_path": ["变更"], "commit_groups": [["19e798268", "4857e6fe1", "489c9c340", "99fd38c02", "b0fe0b022", "c5232dca8", "db96be24c"]], "identity_text": "Fix off-by-one conversion of negative years to BC dates in to_date() and to_timestamp() (Dar Alathar-Yemen, Tom Lane) Also, arrange for the combination of a negative year and an explicit BC marker to cancel out and produce AD.", "commit_aliases": ["19e798268", "4857e6fe1", "489c9c340", "99fd38c02", "b0fe0b022", "c5232dca8", "db96be24c"], "source_commits": ["c5232dca8"], "source_entry_id": "12.5/changes/019", "db_id": "76c32d6fff44d9fe7f6ce0693e97bd23", "patch_ids": ["da4f71a59db3b584259538afe5bece44"], "statement_hash": "cf5dea2934e0b734f3f2ada8610ca274cf4ea8d1d1be4c871000ab64bc4ccbec", "relations": [{"rule": 2, "type": "equivalent", "target": "2fd0b94406c1d907f7cb0ca75b2f92ae", "evidence": {"same_day": true, "patch_ids": ["da4f71a59db3b584259538afe5bece44"], "statement_hash": "cf5dea2934e0b734f3f2ada8610ca274cf4ea8d1d1be4c871000ab64bc4ccbec"}}, {"rule": 2, "type": "equivalent", "target": "428678237c4649112cd18135a78fceab", "evidence": {"same_day": true, "patch_ids": ["da4f71a59db3b584259538afe5bece44"], "statement_hash": "cf5dea2934e0b734f3f2ada8610ca274cf4ea8d1d1be4c871000ab64bc4ccbec"}}, {"rule": 2, "type": "equivalent", "target": "84784e380c670115a62107d0b20c4f11", "evidence": {"same_day": true, "patch_ids": ["da4f71a59db3b584259538afe5bece44"], "statement_hash": "cf5dea2934e0b734f3f2ada8610ca274cf4ea8d1d1be4c871000ab64bc4ccbec"}}, {"rule": 2, "type": "equivalent", "target": "c9d9de197271b1d2bd42dfae5adabae0", "evidence": {"same_day": true, "patch_ids": ["da4f71a59db3b584259538afe5bece44"], "statement_hash": "cf5dea2934e0b734f3f2ada8610ca274cf4ea8d1d1be4c871000ab64bc4ccbec"}}, {"rule": 2, "type": "equivalent", "target": "f41231159e971c7ec0aead8f8434fc68", "evidence": {"same_day": true, "patch_ids": ["da4f71a59db3b584259538afe5bece44"], "statement_hash": "cf5dea2934e0b734f3f2ada8610ca274cf4ea8d1d1be4c871000ab64bc4ccbec"}}], "version": "12.5", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "2fd0b94406c1d907f7cb0ca75b2f92ae", "kind": "equivalent", "version": "13.1", "label": "13.1", "title": "修复 to_date() 和 to_timestamp() 将负年份转换为公元前日期时相差一年的错误", "evidence": {"same_day": true, "patch_ids": ["da4f71a59db3b584259538afe5bece44"], "statement_hash": "cf5dea2934e0b734f3f2ada8610ca274cf4ea8d1d1be4c871000ab64bc4ccbec"}, "url": "/docs/compare/?release=13.1#13.1-7d9550883a39e120", "source_url": "/docs/release/13.1/#id-1.11.6.28.5"}, {"db_id": "428678237c4649112cd18135a78fceab", "kind": "equivalent", "version": "11.10", "label": "11.10", "title": "修复 to_date() 和 to_timestamp() 将负年份转换为公元前日期时相差一年的错误", "evidence": {"same_day": true, "patch_ids": ["da4f71a59db3b584259538afe5bece44"], "statement_hash": "cf5dea2934e0b734f3f2ada8610ca274cf4ea8d1d1be4c871000ab64bc4ccbec"}, "url": "/docs/compare/?release=11.10#11.10-3c2e9970f05d1632", "source_url": "/docs/release/11.10/#id-1.11.6.17.5"}, {"db_id": "c9d9de197271b1d2bd42dfae5adabae0", "kind": "equivalent", "version": "10.15", "label": "10.15", "title": "修复 to_date() 和 to_timestamp() 将负年份转换为公元前日期时相差一年的错误", "evidence": {"same_day": true, "patch_ids": ["da4f71a59db3b584259538afe5bece44"], "statement_hash": "cf5dea2934e0b734f3f2ada8610ca274cf4ea8d1d1be4c871000ab64bc4ccbec"}, "url": "/docs/compare/?release=10.15#10.15-3c2e9970f05d1632", "source_url": "/docs/release/10.15/#id-1.11.6.13.5"}, {"db_id": "84784e380c670115a62107d0b20c4f11", "kind": "equivalent", "version": "9.6.20", "label": "9.6.20", "title": "修复 to_date() 和 to_timestamp() 中负年份转换为公元前日期的差一错误", "evidence": {"same_day": true, "patch_ids": ["da4f71a59db3b584259538afe5bece44"], "statement_hash": "cf5dea2934e0b734f3f2ada8610ca274cf4ea8d1d1be4c871000ab64bc4ccbec"}, "url": "/docs/compare/?release=9.6.20#9.6.20-45294dfc52627d6f", "source_url": "/docs/release/9.6.20/#id-1.11.6.9.5"}, {"db_id": "f41231159e971c7ec0aead8f8434fc68", "kind": "equivalent", "version": "9.5.24", "label": "9.5.24", "title": "修复 to_date() 和 to_timestamp() 中负年份转换为公元前日期的差一错误", "evidence": {"same_day": true, "patch_ids": ["da4f71a59db3b584259538afe5bece44"], "statement_hash": "cf5dea2934e0b734f3f2ada8610ca274cf4ea8d1d1be4c871000ab64bc4ccbec"}, "url": "/docs/compare/?release=9.5.24#9.5.24-45294dfc52627d6f", "source_url": "/docs/release/9.5.24/#id-1.11.6.6.6"}]}, {"id": "12.5-2b36622fcf63cc8d", "cves": [], "html": "<p>确保 <code>archive_mode</code> 设为 <code>always</code> 时，备库会归档 WAL 时间线历史文件（Grigory Smolkin，Fujii Masao）<a href=\"https://postgr.es/c/4d342b9d4\">§</a></p>\n<p>这一疏漏可能导致后续的 PITR 恢复尝试失败。</p>", "text": "确保 archive_mode 设为 always 时，备库会归档 WAL 时间线历史文件（Grigory Smolkin，Fujii Masao）§ 这一疏漏可能导致后续的 PITR 恢复尝试失败。", "title": "确保 archive_mode 设为 always 时，备库会归档 WAL 时间线历史文件", "commits": ["4d342b9d4"], "section": "变更", "category": "improvement", "source_url": "/docs/release/12.5/#id-1.11.6.23.5", "source_hash": "e07f9165119c27d926c70212dc2094b6938aea6679335bca42a37a40cb509f5e", "section_path": ["变更"], "commit_groups": [["059caf36c", "334417538", "40a8fb1e0", "462ff7966", "4d342b9d4", "7be02a3bf", "fd26f7823"]], "identity_text": "Ensure that standby servers will archive WAL timeline history files when archive_mode is set to always (Grigory Smolkin, Fujii Masao) This oversight could lead to failure of subsequent PITR recovery attempts.", "commit_aliases": ["059caf36c", "334417538", "40a8fb1e0", "462ff7966", "4d342b9d4", "7be02a3bf", "fd26f7823"], "source_commits": ["4d342b9d4"], "source_entry_id": "12.5/changes/020", "db_id": "053c209c339b478e67a27125edb9d08e", "patch_ids": ["b93e2d7b5411b5d576ba054ba43323f9"], "statement_hash": "2ca3bd2d6b9f535b99ead4347a591d4486a7f1d97750c5ba17bb7fa2da698587", "relations": [{"rule": 2, "type": "equivalent", "target": "1da516870d70e895fa4515a85374ec9e", "evidence": {"same_day": true, "patch_ids": ["b93e2d7b5411b5d576ba054ba43323f9"], "statement_hash": "2ca3bd2d6b9f535b99ead4347a591d4486a7f1d97750c5ba17bb7fa2da698587"}}, {"rule": 2, "type": "equivalent", "target": "64226a4dd5aec9b9132c2923c3ee3d1c", "evidence": {"same_day": true, "patch_ids": ["b93e2d7b5411b5d576ba054ba43323f9"], "statement_hash": "2ca3bd2d6b9f535b99ead4347a591d4486a7f1d97750c5ba17bb7fa2da698587"}}, {"rule": 2, "type": "equivalent", "target": "6a9a910ffb65d51355590d4f0c108eb3", "evidence": {"same_day": true, "patch_ids": ["b93e2d7b5411b5d576ba054ba43323f9"], "statement_hash": "2ca3bd2d6b9f535b99ead4347a591d4486a7f1d97750c5ba17bb7fa2da698587"}}, {"rule": 2, "type": "equivalent", "target": "75be688416a161ae255e49f6b3ac3332", "evidence": {"same_day": true, "patch_ids": ["b93e2d7b5411b5d576ba054ba43323f9"], "statement_hash": "2ca3bd2d6b9f535b99ead4347a591d4486a7f1d97750c5ba17bb7fa2da698587"}}, {"rule": 2, "type": "equivalent", "target": "b27e4f45c04f28b1ef32f985c43dc224", "evidence": {"same_day": true, "patch_ids": ["b93e2d7b5411b5d576ba054ba43323f9"], "statement_hash": "2ca3bd2d6b9f535b99ead4347a591d4486a7f1d97750c5ba17bb7fa2da698587"}}], "version": "12.5", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "64226a4dd5aec9b9132c2923c3ee3d1c", "kind": "equivalent", "version": "13.1", "label": "13.1", "title": "确保 archive_mode 设为 always 时，备库会归档 WAL 时间线历史文件", "evidence": {"same_day": true, "patch_ids": ["b93e2d7b5411b5d576ba054ba43323f9"], "statement_hash": "2ca3bd2d6b9f535b99ead4347a591d4486a7f1d97750c5ba17bb7fa2da698587"}, "url": "/docs/compare/?release=13.1#13.1-f18215fa3b715eca", "source_url": "/docs/release/13.1/#id-1.11.6.28.5"}, {"db_id": "6a9a910ffb65d51355590d4f0c108eb3", "kind": "equivalent", "version": "11.10", "label": "11.10", "title": "确保 archive_mode 设为 always 时，备库会归档 WAL 时间线历史文件", "evidence": {"same_day": true, "patch_ids": ["b93e2d7b5411b5d576ba054ba43323f9"], "statement_hash": "2ca3bd2d6b9f535b99ead4347a591d4486a7f1d97750c5ba17bb7fa2da698587"}, "url": "/docs/compare/?release=11.10#11.10-0e26c59c858c6787", "source_url": "/docs/release/11.10/#id-1.11.6.17.5"}, {"db_id": "b27e4f45c04f28b1ef32f985c43dc224", "kind": "equivalent", "version": "10.15", "label": "10.15", "title": "确保 archive_mode 设为 always 时，备库会归档 WAL 时间线历史文件", "evidence": {"same_day": true, "patch_ids": ["b93e2d7b5411b5d576ba054ba43323f9"], "statement_hash": "2ca3bd2d6b9f535b99ead4347a591d4486a7f1d97750c5ba17bb7fa2da698587"}, "url": "/docs/compare/?release=10.15#10.15-0e26c59c858c6787", "source_url": "/docs/release/10.15/#id-1.11.6.13.5"}, {"db_id": "1da516870d70e895fa4515a85374ec9e", "kind": "equivalent", "version": "9.6.20", "label": "9.6.20", "title": "确保 archive_mode 设为 always 时备库服务器会归档 WAL 时间线历史文件", "evidence": {"same_day": true, "patch_ids": ["b93e2d7b5411b5d576ba054ba43323f9"], "statement_hash": "2ca3bd2d6b9f535b99ead4347a591d4486a7f1d97750c5ba17bb7fa2da698587"}, "url": "/docs/compare/?release=9.6.20#9.6.20-26225572f436edd7", "source_url": "/docs/release/9.6.20/#id-1.11.6.9.5"}, {"db_id": "75be688416a161ae255e49f6b3ac3332", "kind": "equivalent", "version": "9.5.24", "label": "9.5.24", "title": "确保 archive_mode 设为 always 时备库服务器会归档 WAL 时间线历史文件", "evidence": {"same_day": true, "patch_ids": ["b93e2d7b5411b5d576ba054ba43323f9"], "statement_hash": "2ca3bd2d6b9f535b99ead4347a591d4486a7f1d97750c5ba17bb7fa2da698587"}, "url": "/docs/compare/?release=9.5.24#9.5.24-26225572f436edd7", "source_url": "/docs/release/9.5.24/#id-1.11.6.6.6"}]}, {"id": "12.5-b66c911717914165", "cves": [], "html": "<p>修复逻辑复制工作进程中的 <span>“<span>cache lookup failed for relation 0</span>”</span> 错误（Tom Lane）<a href=\"https://postgr.es/c/8580631ff\">§</a></p>\n<p>实际影响很小，因为这种失败不太可能发生；即使发生，工作进程也只会退出并被重启。</p>", "text": "修复逻辑复制工作进程中的 “cache lookup failed for relation 0” 错误（Tom Lane）§ 实际影响很小，因为这种失败不太可能发生；即使发生，工作进程也只会退出并被重启。", "title": "修复逻辑复制工作进程中的 “cache lookup failed for relation 0” 错误", "commits": ["8580631ff"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/12.5/#id-1.11.6.23.5", "source_hash": "c173b2f9dd5306e669931c7c1f5a197d2162af9a9b7f823ea2f7407d260dc76f", "section_path": ["变更"], "commit_groups": [["2c74f7139", "3d65b0593", "3e3f8f202", "8580631ff", "d6d70f89a"]], "identity_text": "Fix cache lookup failed for relation 0 failures in logical replication workers (Tom Lane) The real-world impact is small, since the failure is unlikely, and if it does happen the worker would just exit and be restarted.", "commit_aliases": ["2c74f7139", "3d65b0593", "3e3f8f202", "8580631ff", "d6d70f89a"], "source_commits": ["8580631ff"], "source_entry_id": "12.5/changes/021", "db_id": "8c1531618861a5eb2d213fe7aaefdb44", "patch_ids": ["b3f4ce5a5b2c180084072f5f86d1510d"], "statement_hash": "f7cbfb42445608d79a07254be2610dab56c711ed55f1ad845464f034778b3feb", "relations": [{"rule": 2, "type": "equivalent", "target": "699bc8f76f46cdadc358bd8f4cdecea5", "evidence": {"same_day": true, "patch_ids": ["b3f4ce5a5b2c180084072f5f86d1510d"], "statement_hash": "f7cbfb42445608d79a07254be2610dab56c711ed55f1ad845464f034778b3feb"}}, {"rule": 2, "type": "equivalent", "target": "c620768b846ef6e1b003de9a4364d154", "evidence": {"same_day": true, "patch_ids": ["b3f4ce5a5b2c180084072f5f86d1510d"], "statement_hash": "f7cbfb42445608d79a07254be2610dab56c711ed55f1ad845464f034778b3feb"}}], "version": "12.5", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "c620768b846ef6e1b003de9a4364d154", "kind": "equivalent", "version": "11.10", "label": "11.10", "title": "修复逻辑复制工作进程中的 “cache lookup failed for relation 0” 错误", "evidence": {"same_day": true, "patch_ids": ["b3f4ce5a5b2c180084072f5f86d1510d"], "statement_hash": "f7cbfb42445608d79a07254be2610dab56c711ed55f1ad845464f034778b3feb"}, "url": "/docs/compare/?release=11.10#11.10-442bd572d579ad01", "source_url": "/docs/release/11.10/#id-1.11.6.17.5"}, {"db_id": "699bc8f76f46cdadc358bd8f4cdecea5", "kind": "equivalent", "version": "10.15", "label": "10.15", "title": "修复逻辑复制工作进程中的 “cache lookup failed for relation 0” 错误", "evidence": {"same_day": true, "patch_ids": ["b3f4ce5a5b2c180084072f5f86d1510d"], "statement_hash": "f7cbfb42445608d79a07254be2610dab56c711ed55f1ad845464f034778b3feb"}, "url": "/docs/compare/?release=10.15#10.15-442bd572d579ad01", "source_url": "/docs/release/10.15/#id-1.11.6.13.5"}]}, {"id": "12.5-31d7919a13bbdc42", "cves": [], "html": "<p>防止逻辑复制工作进程发送多余的 ping 请求（Tom Lane）<a href=\"https://postgr.es/c/9b47ee6e7\">§</a></p>", "text": "防止逻辑复制工作进程发送多余的 ping 请求（Tom Lane）§", "title": "防止逻辑复制工作进程发送多余的 ping 请求", "commits": ["9b47ee6e7"], "section": "变更", "category": "improvement", "source_url": "/docs/release/12.5/#id-1.11.6.23.5", "source_hash": "993662a6cd6c9adc67168cfcff18f758f05f2129b886f4a2b9352f255a004a16", "section_path": ["变更"], "commit_groups": [["7156a0eac", "9b47ee6e7", "9b81a30f9", "9b8a8516e", "c8746f999"]], "identity_text": "Prevent logical replication workers from sending redundant ping requests (Tom Lane)", "commit_aliases": ["7156a0eac", "9b47ee6e7", "9b81a30f9", "9b8a8516e", "c8746f999"], "source_commits": ["9b47ee6e7"], "source_entry_id": "12.5/changes/022", "db_id": "f04b4d0cac3dc8d841d443b05ab30b77", "patch_ids": ["8cd4c03f9b2af0240b03b6822bb35eb6"], "statement_hash": "02816616f5fbb313ca548d54f9773c45913a8323c8927e62331960a760763022", "relations": [{"rule": 2, "type": "equivalent", "target": "6fcf00e98b328058ce057bbb09b9d799", "evidence": {"same_day": true, "patch_ids": ["8cd4c03f9b2af0240b03b6822bb35eb6"], "statement_hash": "02816616f5fbb313ca548d54f9773c45913a8323c8927e62331960a760763022"}}, {"rule": 2, "type": "equivalent", "target": "c9f9609f921316cd81d479afaefd49bf", "evidence": {"same_day": true, "patch_ids": ["8cd4c03f9b2af0240b03b6822bb35eb6"], "statement_hash": "02816616f5fbb313ca548d54f9773c45913a8323c8927e62331960a760763022"}}], "version": "12.5", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "6fcf00e98b328058ce057bbb09b9d799", "kind": "equivalent", "version": "11.10", "label": "11.10", "title": "防止逻辑复制工作进程发送多余的 ping 请求", "evidence": {"same_day": true, "patch_ids": ["8cd4c03f9b2af0240b03b6822bb35eb6"], "statement_hash": "02816616f5fbb313ca548d54f9773c45913a8323c8927e62331960a760763022"}, "url": "/docs/compare/?release=11.10#11.10-32d3f26bf6ef1440", "source_url": "/docs/release/11.10/#id-1.11.6.17.5"}, {"db_id": "c9f9609f921316cd81d479afaefd49bf", "kind": "equivalent", "version": "10.15", "label": "10.15", "title": "防止逻辑复制工作进程发送多余的 ping 请求", "evidence": {"same_day": true, "patch_ids": ["8cd4c03f9b2af0240b03b6822bb35eb6"], "statement_hash": "02816616f5fbb313ca548d54f9773c45913a8323c8927e62331960a760763022"}, "url": "/docs/compare/?release=10.15#10.15-32d3f26bf6ef1440", "source_url": "/docs/release/10.15/#id-1.11.6.13.5"}]}, {"id": "12.5-b52567248e8954ab", "cves": [], "html": "<p>在 <span>“<span>smart</span>”</span> 关闭期间，在所有客户端（前台）会话结束之前，不终止后台进程（Tom Lane）<a href=\"https://postgr.es/c/42566a250\">§</a></p>\n<p>以前的行为会破坏并行查询处理，因为 postmaster 会终止并行工作进程，并拒绝启动新的并行工作进程。它还会使自动清理停止工作；如果仍存活的客户端会话进行了大量数据变更，就可能造成严重的长期影响。</p>", "text": "在 “smart” 关闭期间，在所有客户端（前台）会话结束之前，不终止后台进程（Tom Lane）§ 以前的行为会破坏并行查询处理，因为 postmaster 会终止并行工作进程，并拒绝启动新的并行工作进程。它还会使自动清理停止工作；如果仍存活的客户端会话进行了大量数据变更，就可能造成严重的长期影响。", "title": "在 “smart” 关闭期间，在所有客户端（前台）会话结束之前，不终止后台进程", "commits": ["42566a250"], "section": "变更", "category": "improvement", "source_url": "/docs/release/12.5/#id-1.11.6.23.5", "source_hash": "798c60cf7f2e463c83119f813c2a3d242c7c9686f8ff8a700207be958bfe4430", "section_path": ["变更"], "commit_groups": [["0038f9438", "1c6066fbd", "250aaa2de", "326b5fe0f", "42566a250", "b4d8be9f6"]], "identity_text": "During smart shutdown, don't terminate background processes until all client (foreground) sessions are done (Tom Lane) The previous behavior broke parallel query processing, since the postmaster would terminate parallel workers and refuse to launch any new ones. It also caused autovacuum to cease functioning, which could have dire long-term effects if the surviving client sessions make a lot of data changes.", "commit_aliases": ["0038f9438", "1c6066fbd", "250aaa2de", "326b5fe0f", "42566a250", "b4d8be9f6"], "source_commits": ["42566a250"], "source_entry_id": "12.5/changes/023", "db_id": "e35232ff306351c6f3a7961aa36f4606", "patch_ids": ["83b5b8fc30512f647704f3b18d8da575"], "statement_hash": "9ea36dc6594a0057b296f3eda7cb0d5310d371473b4ee1dc297be85c37fb4c02", "relations": [{"rule": 2, "type": "equivalent", "target": "8c8cafc304613bf258b91c56b3098bdc", "evidence": {"same_day": true, "patch_ids": ["83b5b8fc30512f647704f3b18d8da575"], "statement_hash": "9ea36dc6594a0057b296f3eda7cb0d5310d371473b4ee1dc297be85c37fb4c02"}}, {"rule": 2, "type": "equivalent", "target": "cd3ff34bda7c9613674a785b3b93f3d7", "evidence": {"same_day": true, "patch_ids": ["83b5b8fc30512f647704f3b18d8da575"], "statement_hash": "9ea36dc6594a0057b296f3eda7cb0d5310d371473b4ee1dc297be85c37fb4c02"}}, {"rule": 2, "type": "equivalent", "target": "d32e57284eb71b59557faaac2ca029c2", "evidence": {"same_day": true, "patch_ids": ["83b5b8fc30512f647704f3b18d8da575"], "statement_hash": "9ea36dc6594a0057b296f3eda7cb0d5310d371473b4ee1dc297be85c37fb4c02"}}], "version": "12.5", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "d32e57284eb71b59557faaac2ca029c2", "kind": "equivalent", "version": "11.10", "label": "11.10", "title": "在 “smart” 关闭期间，在所有客户端（前台）会话结束之前，不终止后台进程", "evidence": {"same_day": true, "patch_ids": ["83b5b8fc30512f647704f3b18d8da575"], "statement_hash": "9ea36dc6594a0057b296f3eda7cb0d5310d371473b4ee1dc297be85c37fb4c02"}, "url": "/docs/compare/?release=11.10#11.10-c9a1cc657a688be0", "source_url": "/docs/release/11.10/#id-1.11.6.17.5"}, {"db_id": "cd3ff34bda7c9613674a785b3b93f3d7", "kind": "equivalent", "version": "10.15", "label": "10.15", "title": "在 “smart” 关闭期间，在所有客户端（前台）会话结束之前，不终止后台进程", "evidence": {"same_day": true, "patch_ids": ["83b5b8fc30512f647704f3b18d8da575"], "statement_hash": "9ea36dc6594a0057b296f3eda7cb0d5310d371473b4ee1dc297be85c37fb4c02"}, "url": "/docs/compare/?release=10.15#10.15-c9a1cc657a688be0", "source_url": "/docs/release/10.15/#id-1.11.6.13.5"}, {"db_id": "8c8cafc304613bf258b91c56b3098bdc", "kind": "equivalent", "version": "9.6.20", "label": "9.6.20", "title": "在“smart”关闭期间，直到所有客户端（前台）会话结束之前不要终止后台进程", "evidence": {"same_day": true, "patch_ids": ["83b5b8fc30512f647704f3b18d8da575"], "statement_hash": "9ea36dc6594a0057b296f3eda7cb0d5310d371473b4ee1dc297be85c37fb4c02"}, "url": "/docs/compare/?release=9.6.20#9.6.20-6ae2ce8f0066fc22", "source_url": "/docs/release/9.6.20/#id-1.11.6.9.5"}]}, {"id": "12.5-b352e771268a35c9", "cves": [], "html": "<p>避免 postmaster 处理信号时递归消耗栈空间（Tom Lane）<a href=\"https://postgr.es/c/8b53dbada\">§</a></p>\n<p>已有观察表明，大量使用并行处理时，过多请求创建并行工作进程的并发信号会导致 postmaster 崩溃。</p>", "text": "避免 postmaster 处理信号时递归消耗栈空间（Tom Lane）§ 已有观察表明，大量使用并行处理时，过多请求创建并行工作进程的并发信号会导致 postmaster 崩溃。", "title": "避免 postmaster 处理信号时递归消耗栈空间", "commits": ["8b53dbada"], "section": "变更", "category": "improvement", "source_url": "/docs/release/12.5/#id-1.11.6.23.5", "source_hash": "a863d5e5613c1bc82435cdbc6ad596cdc337689741dd271a6440ce10528ac96a", "section_path": ["变更"], "commit_groups": [["4e95733b0", "7753ca49d", "85834023a", "8b53dbada", "9abb2bfc0"]], "identity_text": "Avoid recursive consumption of stack space while processing signals in the postmaster (Tom Lane) Heavy use of parallel processing has been observed to cause postmaster crashes due to too many concurrent signals requesting creation of a parallel worker process.", "commit_aliases": ["4e95733b0", "7753ca49d", "85834023a", "8b53dbada", "9abb2bfc0"], "source_commits": ["8b53dbada"], "source_entry_id": "12.5/changes/024", "db_id": "f7c5a40480ff68f0a8385fbc84f6b9be", "patch_ids": ["3b0f1d49759fcb378d014b2046e23800"], "statement_hash": "b89337693106918c4876f9c173e4d593f986db5b65715e7236e072b93b54a4a3", "relations": [{"rule": 2, "type": "equivalent", "target": "1669de05b54fd9a042a0ac27f7a60de7", "evidence": {"same_day": true, "patch_ids": ["3b0f1d49759fcb378d014b2046e23800"], "statement_hash": "b89337693106918c4876f9c173e4d593f986db5b65715e7236e072b93b54a4a3"}}, {"rule": 2, "type": "equivalent", "target": "19678d08dd91a3e441f15bf787de395a", "evidence": {"same_day": true, "patch_ids": ["3b0f1d49759fcb378d014b2046e23800"], "statement_hash": "b89337693106918c4876f9c173e4d593f986db5b65715e7236e072b93b54a4a3"}}, {"rule": 2, "type": "equivalent", "target": "afe2369bc994cb5968c32d96522c8317", "evidence": {"same_day": true, "patch_ids": ["3b0f1d49759fcb378d014b2046e23800"], "statement_hash": "b89337693106918c4876f9c173e4d593f986db5b65715e7236e072b93b54a4a3"}}], "version": "12.5", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "19678d08dd91a3e441f15bf787de395a", "kind": "equivalent", "version": "11.10", "label": "11.10", "title": "避免 postmaster 处理信号时递归消耗栈空间", "evidence": {"same_day": true, "patch_ids": ["3b0f1d49759fcb378d014b2046e23800"], "statement_hash": "b89337693106918c4876f9c173e4d593f986db5b65715e7236e072b93b54a4a3"}, "url": "/docs/compare/?release=11.10#11.10-1aebd712cdf1f7d2", "source_url": "/docs/release/11.10/#id-1.11.6.17.5"}, {"db_id": "afe2369bc994cb5968c32d96522c8317", "kind": "equivalent", "version": "10.15", "label": "10.15", "title": "避免 postmaster 处理信号时递归消耗栈空间", "evidence": {"same_day": true, "patch_ids": ["3b0f1d49759fcb378d014b2046e23800"], "statement_hash": "b89337693106918c4876f9c173e4d593f986db5b65715e7236e072b93b54a4a3"}, "url": "/docs/compare/?release=10.15#10.15-1aebd712cdf1f7d2", "source_url": "/docs/release/10.15/#id-1.11.6.13.5"}, {"db_id": "1669de05b54fd9a042a0ac27f7a60de7", "kind": "equivalent", "version": "9.6.20", "label": "9.6.20", "title": "避免 postmaster 处理信号时递归消耗栈空间", "evidence": {"same_day": true, "patch_ids": ["3b0f1d49759fcb378d014b2046e23800"], "statement_hash": "b89337693106918c4876f9c173e4d593f986db5b65715e7236e072b93b54a4a3"}, "url": "/docs/compare/?release=9.6.20#9.6.20-1aebd712cdf1f7d2", "source_url": "/docs/release/9.6.20/#id-1.11.6.9.5"}]}, {"id": "12.5-d128efa24a8cdd19", "cves": [], "html": "<p>避免因 SIGQUIT 退出时运行 <span>atexit</span> 处理函数（Kyotaro Horiguchi，Tom Lane）<a href=\"https://postgr.es/c/d038c6c63\">§</a> <a href=\"https://postgr.es/c/4e10c0c8a\">§</a></p>\n<p>大多数服务器进程早已遵循这一做法，但归档进程被遗漏了。仍在等待客户端启动包的后端也处理有误。</p>", "text": "避免因 SIGQUIT 退出时运行 atexit 处理函数（Kyotaro Horiguchi，Tom Lane）§ § 大多数服务器进程早已遵循这一做法，但归档进程被遗漏了。仍在等待客户端启动包的后端也处理有误。", "title": "避免因 SIGQUIT 退出时运行 atexit 处理函数", "commits": ["4e10c0c8a", "d038c6c63"], "section": "变更", "category": "improvement", "source_url": "/docs/release/12.5/#id-1.11.6.23.5", "source_hash": "c390fe1603e7760cc270632de43ac268dfe733c8dffac4a456d42a2ec57f7779", "section_path": ["变更"], "commit_groups": [["35e59398a", "581855b6a", "67dde49a3", "95cd8902e", "b2eaddd9b", "bedadc732", "d038c6c63"], ["3f29aa48b", "4e10c0c8a", "58c6feccf", "93871b693", "ac695b8f2", "dc71c6409", "e2c9bedc9"]], "identity_text": "Avoid running atexit handlers when exiting due to SIGQUIT (Kyotaro Horiguchi, Tom Lane) Most server processes followed this practice already, but the archiver process was overlooked. Backends that were still waiting for a client startup packet got it wrong, too.", "commit_aliases": ["35e59398a", "3f29aa48b", "4e10c0c8a", "581855b6a", "58c6feccf", "67dde49a3", "93871b693", "95cd8902e", "ac695b8f2", "b2eaddd9b", "bedadc732", "d038c6c63", "dc71c6409", "e2c9bedc9"], "source_commits": ["4e10c0c8a", "d038c6c63"], "source_entry_id": "12.5/changes/025", "db_id": "86b0c8d81f28cb6de6d3e02d1c2cdb38", "patch_ids": ["6fc50702807c244fcf4500f783819777", "97c2daa6592be20230d5f63250760bea"], "statement_hash": "f9175be4ed8812d92b08079b22d55686f12a1016305f6bf94ceff3570bc35097", "relations": [{"rule": 2, "type": "equivalent", "target": "3cfc1b4563212a1453ea78730175510e", "evidence": {"same_day": true, "patch_ids": ["6fc50702807c244fcf4500f783819777", "97c2daa6592be20230d5f63250760bea"], "statement_hash": "f9175be4ed8812d92b08079b22d55686f12a1016305f6bf94ceff3570bc35097"}}, {"rule": 2, "type": "equivalent", "target": "5c177b095513e9b3c4d433c01b8e550d", "evidence": {"same_day": true, "patch_ids": ["6fc50702807c244fcf4500f783819777", "97c2daa6592be20230d5f63250760bea"], "statement_hash": "f9175be4ed8812d92b08079b22d55686f12a1016305f6bf94ceff3570bc35097"}}, {"rule": 2, "type": "equivalent", "target": "d54b4345a603ab0508f16bf041986ca7", "evidence": {"same_day": true, "patch_ids": ["6fc50702807c244fcf4500f783819777", "97c2daa6592be20230d5f63250760bea"], "statement_hash": "f9175be4ed8812d92b08079b22d55686f12a1016305f6bf94ceff3570bc35097"}}, {"rule": 2, "type": "equivalent", "target": "f2da64c370514fe62a3fd63fb720bcee", "evidence": {"same_day": true, "patch_ids": ["6fc50702807c244fcf4500f783819777", "97c2daa6592be20230d5f63250760bea"], "statement_hash": "f9175be4ed8812d92b08079b22d55686f12a1016305f6bf94ceff3570bc35097"}}], "version": "12.5", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "3cfc1b4563212a1453ea78730175510e", "kind": "equivalent", "version": "11.10", "label": "11.10", "title": "避免因 SIGQUIT 退出时运行 atexit 处理函数", "evidence": {"same_day": true, "patch_ids": ["6fc50702807c244fcf4500f783819777", "97c2daa6592be20230d5f63250760bea"], "statement_hash": "f9175be4ed8812d92b08079b22d55686f12a1016305f6bf94ceff3570bc35097"}, "url": "/docs/compare/?release=11.10#11.10-547919cd9eae76e0", "source_url": "/docs/release/11.10/#id-1.11.6.17.5"}, {"db_id": "d54b4345a603ab0508f16bf041986ca7", "kind": "equivalent", "version": "10.15", "label": "10.15", "title": "避免因 SIGQUIT 退出时运行 atexit 处理函数", "evidence": {"same_day": true, "patch_ids": ["6fc50702807c244fcf4500f783819777", "97c2daa6592be20230d5f63250760bea"], "statement_hash": "f9175be4ed8812d92b08079b22d55686f12a1016305f6bf94ceff3570bc35097"}, "url": "/docs/compare/?release=10.15#10.15-547919cd9eae76e0", "source_url": "/docs/release/10.15/#id-1.11.6.13.5"}, {"db_id": "5c177b095513e9b3c4d433c01b8e550d", "kind": "equivalent", "version": "9.6.20", "label": "9.6.20", "title": "避免因 SIGQUIT 退出时运行 atexit 处理器", "evidence": {"same_day": true, "patch_ids": ["6fc50702807c244fcf4500f783819777", "97c2daa6592be20230d5f63250760bea"], "statement_hash": "f9175be4ed8812d92b08079b22d55686f12a1016305f6bf94ceff3570bc35097"}, "url": "/docs/compare/?release=9.6.20#9.6.20-4febea7cd6c829ab", "source_url": "/docs/release/9.6.20/#id-1.11.6.9.5"}, {"db_id": "f2da64c370514fe62a3fd63fb720bcee", "kind": "equivalent", "version": "9.5.24", "label": "9.5.24", "title": "避免因 SIGQUIT 退出时运行 atexit 处理器", "evidence": {"same_day": true, "patch_ids": ["6fc50702807c244fcf4500f783819777", "97c2daa6592be20230d5f63250760bea"], "statement_hash": "f9175be4ed8812d92b08079b22d55686f12a1016305f6bf94ceff3570bc35097"}, "url": "/docs/compare/?release=9.5.24#9.5.24-4febea7cd6c829ab", "source_url": "/docs/release/9.5.24/#id-1.11.6.6.6"}]}, {"id": "12.5-f7afa19d2e53fc4e", "cves": [], "html": "<p>避免错误优化引用看似为常量的分组列的子查询限制条件（Tom Lane）<a href=\"https://postgr.es/c/6b701eaaa\">§</a></p>\n<p>如果某个<span>“<span>常量</span>”</span>子查询输出列是仅出现在部分分组集中的分组列，它就并非真正的常量。</p>", "text": "避免错误优化引用看似为常量的分组列的子查询限制条件（Tom Lane）§ 如果某个“常量”子查询输出列是仅出现在部分分组集中的分组列，它就并非真正的常量。", "title": "避免错误优化引用看似为常量的分组列的子查询限制条件", "commits": ["6b701eaaa"], "section": "变更", "category": "improvement", "source_url": "/docs/release/12.5/#id-1.11.6.23.5", "source_hash": "2ef1829cfe3796472592aef47b01fb8aa36c8dc7b88f4e4e902706fab6a3f430", "section_path": ["变更"], "commit_groups": [["4d346def1", "6b701eaaa", "6fa403e61", "7edd36eae", "b439adcab", "d3701bc8a", "de627adaa"]], "identity_text": "Avoid misoptimization of subquery qualifications that reference apparently-constant grouping columns (Tom Lane) A constant subquery output column isn't really constant if it is a grouping column that appears in only some of the grouping sets.", "commit_aliases": ["4d346def1", "6b701eaaa", "6fa403e61", "7edd36eae", "b439adcab", "d3701bc8a", "de627adaa"], "source_commits": ["6b701eaaa"], "source_entry_id": "12.5/changes/026", "db_id": "f66e915b7e2bb206744e4e30e62bf660", "patch_ids": ["c1bb4b9085437890cd101c057ebf3c1c"], "statement_hash": "6958d4b39bfaed5615534e5cd09b9198ca7e46c3b54f9b7507f94de6676f7e42", "relations": [{"rule": 2, "type": "equivalent", "target": "68b64d3d47b9acb936df521fb7f5c8f9", "evidence": {"same_day": true, "patch_ids": ["c1bb4b9085437890cd101c057ebf3c1c"], "statement_hash": "6958d4b39bfaed5615534e5cd09b9198ca7e46c3b54f9b7507f94de6676f7e42"}}, {"rule": 2, "type": "equivalent", "target": "890b5052ce09fdf2f0343fd75f919b07", "evidence": {"same_day": true, "patch_ids": ["c1bb4b9085437890cd101c057ebf3c1c"], "statement_hash": "6958d4b39bfaed5615534e5cd09b9198ca7e46c3b54f9b7507f94de6676f7e42"}}, {"rule": 2, "type": "equivalent", "target": "8b9119c81dce1d109b27e0691f2c9625", "evidence": {"same_day": true, "patch_ids": ["c1bb4b9085437890cd101c057ebf3c1c"], "statement_hash": "6958d4b39bfaed5615534e5cd09b9198ca7e46c3b54f9b7507f94de6676f7e42"}}, {"rule": 2, "type": "equivalent", "target": "d0ed26f8f54ad887ef4e0cca7062ceeb", "evidence": {"same_day": true, "patch_ids": ["c1bb4b9085437890cd101c057ebf3c1c"], "statement_hash": "6958d4b39bfaed5615534e5cd09b9198ca7e46c3b54f9b7507f94de6676f7e42"}}], "version": "12.5", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "68b64d3d47b9acb936df521fb7f5c8f9", "kind": "equivalent", "version": "11.10", "label": "11.10", "title": "避免错误优化引用看似为常量的分组列的子查询限制条件", "evidence": {"same_day": true, "patch_ids": ["c1bb4b9085437890cd101c057ebf3c1c"], "statement_hash": "6958d4b39bfaed5615534e5cd09b9198ca7e46c3b54f9b7507f94de6676f7e42"}, "url": "/docs/compare/?release=11.10#11.10-58b2c2e44d24a413", "source_url": "/docs/release/11.10/#id-1.11.6.17.5"}, {"db_id": "8b9119c81dce1d109b27e0691f2c9625", "kind": "equivalent", "version": "10.15", "label": "10.15", "title": "避免错误优化引用看似为常量的分组列的子查询限制条件", "evidence": {"same_day": true, "patch_ids": ["c1bb4b9085437890cd101c057ebf3c1c"], "statement_hash": "6958d4b39bfaed5615534e5cd09b9198ca7e46c3b54f9b7507f94de6676f7e42"}, "url": "/docs/compare/?release=10.15#10.15-58b2c2e44d24a413", "source_url": "/docs/release/10.15/#id-1.11.6.13.5"}, {"db_id": "890b5052ce09fdf2f0343fd75f919b07", "kind": "equivalent", "version": "9.6.20", "label": "9.6.20", "title": "避免错误优化引用表面常量分组列的子查询限定条件", "evidence": {"same_day": true, "patch_ids": ["c1bb4b9085437890cd101c057ebf3c1c"], "statement_hash": "6958d4b39bfaed5615534e5cd09b9198ca7e46c3b54f9b7507f94de6676f7e42"}, "url": "/docs/compare/?release=9.6.20#9.6.20-56a679e49690b05b", "source_url": "/docs/release/9.6.20/#id-1.11.6.9.5"}, {"db_id": "d0ed26f8f54ad887ef4e0cca7062ceeb", "kind": "equivalent", "version": "9.5.24", "label": "9.5.24", "title": "避免错误优化引用表面常量分组列的子查询限定条件", "evidence": {"same_day": true, "patch_ids": ["c1bb4b9085437890cd101c057ebf3c1c"], "statement_hash": "6958d4b39bfaed5615534e5cd09b9198ca7e46c3b54f9b7507f94de6676f7e42"}, "url": "/docs/compare/?release=9.5.24#9.5.24-56a679e49690b05b", "source_url": "/docs/release/9.5.24/#id-1.11.6.6.6"}]}, {"id": "12.5-28baac7d04b5dce7", "cves": [], "html": "<p>修复 GEQO 规划期间考虑逐分区连接时可能发生的崩溃（Tom Lane）<a href=\"https://postgr.es/c/3d69efc4f\">§</a></p>", "text": "修复 GEQO 规划期间考虑逐分区连接时可能发生的崩溃（Tom Lane）§", "title": "修复 GEQO 规划期间考虑逐分区连接时可能发生的崩溃", "commits": ["3d69efc4f"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/12.5/#id-1.11.6.23.5", "source_hash": "3692bfcbb382341510659c22a89acd4154a7b48363555e73eb926bd65b974e76", "section_path": ["变更"], "commit_groups": [["3d69efc4f", "b7f166efa", "d7885b1f8"]], "identity_text": "Fix possible crash when considering partition-wise joins during GEQO planning (Tom Lane)", "commit_aliases": ["3d69efc4f", "b7f166efa", "d7885b1f8"], "source_commits": ["3d69efc4f"], "source_entry_id": "12.5/changes/027", "db_id": "5e974e3e4a96fc28a8813100c7838344", "patch_ids": ["12fc209d644e2561968709cfba9ee098"], "statement_hash": "c6c5b2b3cd624ee5deeaee98c0ed57040b2ab370c3b31016bbc9910fcd7741a3", "relations": [{"rule": 2, "type": "equivalent", "target": "9967ce7aad3dd5dd2ef99246f9879800", "evidence": {"same_day": true, "patch_ids": ["12fc209d644e2561968709cfba9ee098"], "statement_hash": "c6c5b2b3cd624ee5deeaee98c0ed57040b2ab370c3b31016bbc9910fcd7741a3"}}], "version": "12.5", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "9967ce7aad3dd5dd2ef99246f9879800", "kind": "equivalent", "version": "13.1", "label": "13.1", "title": "修复 GEQO 规划期间考虑逐分区连接时可能发生的崩溃", "evidence": {"same_day": true, "patch_ids": ["12fc209d644e2561968709cfba9ee098"], "statement_hash": "c6c5b2b3cd624ee5deeaee98c0ed57040b2ab370c3b31016bbc9910fcd7741a3"}, "url": "/docs/compare/?release=13.1#13.1-c208ca7e521b0be0", "source_url": "/docs/release/13.1/#id-1.11.6.28.5"}]}, {"id": "12.5-d1079979f356661a", "cves": [], "html": "<p>避免 SQL 函数内联改变可能用于 hash 处理的子计划比较表达式的形态时发生失败（Tom Lane）<a href=\"https://postgr.es/c/912fb290c\">§</a></p>", "text": "避免 SQL 函数内联改变可能用于 hash 处理的子计划比较表达式的形态时发生失败（Tom Lane）§", "title": "避免 SQL 函数内联改变可能用于 hash 处理的子计划比较表达式的形态时发生失败", "commits": ["912fb290c"], "section": "变更", "category": "improvement", "source_url": "/docs/release/12.5/#id-1.11.6.23.5", "source_hash": "a0f7f890f0c763bf95d752fb606b82ebd5974635b1a671ef06bd1d661d9f7fcc", "section_path": ["变更"], "commit_groups": [["1e7629d2c", "5190707d7", "7241edc4f", "912fb290c", "9d472b51e", "b538e83f1", "dea07098a"]], "identity_text": "Avoid failure when SQL function inlining changes the shape of a potentially-hashable subplan comparison expression (Tom Lane)", "commit_aliases": ["1e7629d2c", "5190707d7", "7241edc4f", "912fb290c", "9d472b51e", "b538e83f1", "dea07098a"], "source_commits": ["912fb290c"], "source_entry_id": "12.5/changes/028", "db_id": "aa7c2b63f381d58c6c73fe1431979899", "patch_ids": ["6555c6cf831e2195928e96ed9a5c15b1"], "statement_hash": "03b483637a5b1d523482262aace74db288932221be91ae705615c4f479f798e1", "relations": [{"rule": 2, "type": "equivalent", "target": "7b97c574c2b4409d6c5f68b2ed629cea", "evidence": {"same_day": true, "patch_ids": ["6555c6cf831e2195928e96ed9a5c15b1"], "statement_hash": "03b483637a5b1d523482262aace74db288932221be91ae705615c4f479f798e1"}}, {"rule": 2, "type": "equivalent", "target": "9fc2c7b38aac3a5f73bff0c462cbbbc8", "evidence": {"same_day": true, "patch_ids": ["6555c6cf831e2195928e96ed9a5c15b1"], "statement_hash": "03b483637a5b1d523482262aace74db288932221be91ae705615c4f479f798e1"}}, {"rule": 2, "type": "equivalent", "target": "b47ca63cb6d953dc73dbc9bc599eda4d", "evidence": {"same_day": true, "patch_ids": ["6555c6cf831e2195928e96ed9a5c15b1"], "statement_hash": "03b483637a5b1d523482262aace74db288932221be91ae705615c4f479f798e1"}}, {"rule": 2, "type": "equivalent", "target": "f0729bd29c0b8c01cc6dbc6bfd6934c2", "evidence": {"same_day": true, "patch_ids": ["6555c6cf831e2195928e96ed9a5c15b1"], "statement_hash": "03b483637a5b1d523482262aace74db288932221be91ae705615c4f479f798e1"}}], "version": "12.5", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "7b97c574c2b4409d6c5f68b2ed629cea", "kind": "equivalent", "version": "11.10", "label": "11.10", "title": "避免 SQL 函数内联改变可能用于 hash 处理的子计划比较表达式的形态时发生失败", "evidence": {"same_day": true, "patch_ids": ["6555c6cf831e2195928e96ed9a5c15b1"], "statement_hash": "03b483637a5b1d523482262aace74db288932221be91ae705615c4f479f798e1"}, "url": "/docs/compare/?release=11.10#11.10-04267ef12ff8f448", "source_url": "/docs/release/11.10/#id-1.11.6.17.5"}, {"db_id": "b47ca63cb6d953dc73dbc9bc599eda4d", "kind": "equivalent", "version": "10.15", "label": "10.15", "title": "避免 SQL 函数内联改变可能用于 hash 处理的子计划比较表达式的形态时发生失败", "evidence": {"same_day": true, "patch_ids": ["6555c6cf831e2195928e96ed9a5c15b1"], "statement_hash": "03b483637a5b1d523482262aace74db288932221be91ae705615c4f479f798e1"}, "url": "/docs/compare/?release=10.15#10.15-04267ef12ff8f448", "source_url": "/docs/release/10.15/#id-1.11.6.13.5"}, {"db_id": "9fc2c7b38aac3a5f73bff0c462cbbbc8", "kind": "equivalent", "version": "9.6.20", "label": "9.6.20", "title": "避免 SQL 函数内联改变潜在可哈希子计划比较表达式形状时的失败", "evidence": {"same_day": true, "patch_ids": ["6555c6cf831e2195928e96ed9a5c15b1"], "statement_hash": "03b483637a5b1d523482262aace74db288932221be91ae705615c4f479f798e1"}, "url": "/docs/compare/?release=9.6.20#9.6.20-907a8537d07e2263", "source_url": "/docs/release/9.6.20/#id-1.11.6.9.5"}, {"db_id": "f0729bd29c0b8c01cc6dbc6bfd6934c2", "kind": "equivalent", "version": "9.5.24", "label": "9.5.24", "title": "避免 SQL 函数内联改变潜在可哈希子计划比较表达式形状时的失败", "evidence": {"same_day": true, "patch_ids": ["6555c6cf831e2195928e96ed9a5c15b1"], "statement_hash": "03b483637a5b1d523482262aace74db288932221be91ae705615c4f479f798e1"}, "url": "/docs/compare/?release=9.5.24#9.5.24-907a8537d07e2263", "source_url": "/docs/release/9.5.24/#id-1.11.6.6.6"}]}, {"id": "12.5-26b5029246faa887", "cves": [], "html": "<p>构建或重建索引时，容许因并发更新而出现新的 HOT 链（Anastasia Lubennikova，Álvaro Herrera）<a href=\"https://postgr.es/c/1122a903e\">§</a> <a href=\"https://postgr.es/c/4f47c8e7d\">§</a></p>\n<p>这一疏漏可能导致 <span>“<span>failed to find parent tuple for heap-only tuple</span>”</span> 错误。</p>", "text": "构建或重建索引时，容许因并发更新而出现新的 HOT 链（Anastasia Lubennikova，Álvaro Herrera）§ § 这一疏漏可能导致 “failed to find parent tuple for heap-only tuple” 错误。", "title": "构建或重建索引时，容许因并发更新而出现新的 HOT 链", "commits": ["1122a903e", "4f47c8e7d"], "section": "变更", "category": "improvement", "source_url": "/docs/release/12.5/#id-1.11.6.23.5", "source_hash": "68d2c46184581a8a085fc131d447c070770e4a39fb956d7d2f0efbdece0ef685", "section_path": ["变更"], "commit_groups": [["060e5bd70", "3a45ac076", "4f47c8e7d", "6e70443ed", "aa4da2674", "b83f1bcca", "d4d214903"], ["1122a903e", "2f29fd4cb", "385cbe8e4", "40bceae7b", "704de3739", "a811ea5bd", "e5902117d"]], "identity_text": "While building or re-building an index, tolerate the appearance of new HOT chains due to concurrent updates (Anastasia Lubennikova, Álvaro Herrera) This oversight could lead to failed to find parent tuple for heap-only tuple errors.", "commit_aliases": ["060e5bd70", "1122a903e", "2f29fd4cb", "385cbe8e4", "3a45ac076", "40bceae7b", "4f47c8e7d", "6e70443ed", "704de3739", "a811ea5bd", "aa4da2674", "b83f1bcca", "d4d214903", "e5902117d"], "source_commits": ["1122a903e", "4f47c8e7d"], "source_entry_id": "12.5/changes/029", "db_id": "f01bdaa7fa6b88bc37ff331a23ea5daf", "patch_ids": ["46cd787dd1882f412c4f11c627cb8acc", "56b3562b6e7b8d132a3175b860d0b191"], "statement_hash": "cd21d032f41fe297a6331aac99e7b3ebf1e290c600221de3faed1db013606cc8", "relations": [{"rule": 2, "type": "equivalent", "target": "0c4157e8416c7478182d070c3e580ab0", "evidence": {"same_day": true, "patch_ids": ["46cd787dd1882f412c4f11c627cb8acc", "56b3562b6e7b8d132a3175b860d0b191"], "statement_hash": "cd21d032f41fe297a6331aac99e7b3ebf1e290c600221de3faed1db013606cc8"}}, {"rule": 2, "type": "equivalent", "target": "36fa7bda094380e83e6ec02244c144a7", "evidence": {"same_day": true, "patch_ids": ["46cd787dd1882f412c4f11c627cb8acc", "56b3562b6e7b8d132a3175b860d0b191"], "statement_hash": "cd21d032f41fe297a6331aac99e7b3ebf1e290c600221de3faed1db013606cc8"}}, {"rule": 2, "type": "equivalent", "target": "7e709106d3315058aaef8144b520c3e3", "evidence": {"same_day": true, "patch_ids": ["46cd787dd1882f412c4f11c627cb8acc", "56b3562b6e7b8d132a3175b860d0b191"], "statement_hash": "cd21d032f41fe297a6331aac99e7b3ebf1e290c600221de3faed1db013606cc8"}}, {"rule": 2, "type": "equivalent", "target": "f8342c93d24e87e03679db8fd4c15bbe", "evidence": {"same_day": true, "patch_ids": ["46cd787dd1882f412c4f11c627cb8acc", "56b3562b6e7b8d132a3175b860d0b191"], "statement_hash": "cd21d032f41fe297a6331aac99e7b3ebf1e290c600221de3faed1db013606cc8"}}], "version": "12.5", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "36fa7bda094380e83e6ec02244c144a7", "kind": "equivalent", "version": "11.10", "label": "11.10", "title": "构建或重建索引时，容许因并发更新而出现新的 HOT 链", "evidence": {"same_day": true, "patch_ids": ["46cd787dd1882f412c4f11c627cb8acc", "56b3562b6e7b8d132a3175b860d0b191"], "statement_hash": "cd21d032f41fe297a6331aac99e7b3ebf1e290c600221de3faed1db013606cc8"}, "url": "/docs/compare/?release=11.10#11.10-15347be501904b2a", "source_url": "/docs/release/11.10/#id-1.11.6.17.5"}, {"db_id": "0c4157e8416c7478182d070c3e580ab0", "kind": "equivalent", "version": "10.15", "label": "10.15", "title": "构建或重建索引时，容许因并发更新而出现新的 HOT 链", "evidence": {"same_day": true, "patch_ids": ["46cd787dd1882f412c4f11c627cb8acc", "56b3562b6e7b8d132a3175b860d0b191"], "statement_hash": "cd21d032f41fe297a6331aac99e7b3ebf1e290c600221de3faed1db013606cc8"}, "url": "/docs/compare/?release=10.15#10.15-15347be501904b2a", "source_url": "/docs/release/10.15/#id-1.11.6.13.5"}, {"db_id": "7e709106d3315058aaef8144b520c3e3", "kind": "equivalent", "version": "9.6.20", "label": "9.6.20", "title": "在构建或重建索引期间，容忍并发更新导致的新 HOT 链的出现", "evidence": {"same_day": true, "patch_ids": ["46cd787dd1882f412c4f11c627cb8acc", "56b3562b6e7b8d132a3175b860d0b191"], "statement_hash": "cd21d032f41fe297a6331aac99e7b3ebf1e290c600221de3faed1db013606cc8"}, "url": "/docs/compare/?release=9.6.20#9.6.20-b5e20e02cec118ca", "source_url": "/docs/release/9.6.20/#id-1.11.6.9.5"}, {"db_id": "f8342c93d24e87e03679db8fd4c15bbe", "kind": "equivalent", "version": "9.5.24", "label": "9.5.24", "title": "在构建或重建索引期间，容忍并发更新导致的新 HOT 链的出现", "evidence": {"same_day": true, "patch_ids": ["46cd787dd1882f412c4f11c627cb8acc", "56b3562b6e7b8d132a3175b860d0b191"], "statement_hash": "cd21d032f41fe297a6331aac99e7b3ebf1e290c600221de3faed1db013606cc8"}, "url": "/docs/compare/?release=9.5.24#9.5.24-b5e20e02cec118ca", "source_url": "/docs/release/9.5.24/#id-1.11.6.6.6"}]}, {"id": "12.5-1b657abeeb19d5fe", "cves": [], "html": "<p>修复索引条件无法满足时并行 B-树索引扫描的失败（James Hunter）<a href=\"https://postgr.es/c/4bc63462d\">§</a></p>", "text": "修复索引条件无法满足时并行 B-树索引扫描的失败（James Hunter）§", "title": "修复索引条件无法满足时并行 B-树索引扫描的失败", "commits": ["4bc63462d"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/12.5/#id-1.11.6.23.5", "source_hash": "1891d00bc8a9cecaedbf0072bb84eb487b5994897f97f472d9a56ecf615c2543", "section_path": ["变更"], "commit_groups": [["0abd9cd2f", "4bc63462d", "956891fab", "b7f2dd959", "fcc3665a0"]], "identity_text": "Fix failure of parallel B-tree index scans when the index condition is unsatisfiable (James Hunter)", "commit_aliases": ["0abd9cd2f", "4bc63462d", "956891fab", "b7f2dd959", "fcc3665a0"], "source_commits": ["4bc63462d"], "source_entry_id": "12.5/changes/030", "db_id": "d3f03c886e38959f44d5fb7b6ca4ab8b", "patch_ids": ["833c9f7eeef4ee73941ace82e76138ad"], "statement_hash": "90ebc6d9bad8a80cca417e8d282060488efa6789599d3ab2085e9866c9caa9e2", "relations": [{"rule": 2, "type": "equivalent", "target": "57dbe7559f88a2d5dcbb93f9f3babe3c", "evidence": {"same_day": true, "patch_ids": ["833c9f7eeef4ee73941ace82e76138ad"], "statement_hash": "90ebc6d9bad8a80cca417e8d282060488efa6789599d3ab2085e9866c9caa9e2"}}, {"rule": 2, "type": "equivalent", "target": "8574d865168ee9bdb3b8af64caa5c784", "evidence": {"same_day": true, "patch_ids": ["833c9f7eeef4ee73941ace82e76138ad"], "statement_hash": "90ebc6d9bad8a80cca417e8d282060488efa6789599d3ab2085e9866c9caa9e2"}}], "version": "12.5", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "8574d865168ee9bdb3b8af64caa5c784", "kind": "equivalent", "version": "11.10", "label": "11.10", "title": "修复索引条件无法满足时并行 B-树索引扫描的失败", "evidence": {"same_day": true, "patch_ids": ["833c9f7eeef4ee73941ace82e76138ad"], "statement_hash": "90ebc6d9bad8a80cca417e8d282060488efa6789599d3ab2085e9866c9caa9e2"}, "url": "/docs/compare/?release=11.10#11.10-75427b7bd354ebd4", "source_url": "/docs/release/11.10/#id-1.11.6.17.5"}, {"db_id": "57dbe7559f88a2d5dcbb93f9f3babe3c", "kind": "equivalent", "version": "10.15", "label": "10.15", "title": "修复索引条件无法满足时并行 B-树索引扫描的失败", "evidence": {"same_day": true, "patch_ids": ["833c9f7eeef4ee73941ace82e76138ad"], "statement_hash": "90ebc6d9bad8a80cca417e8d282060488efa6789599d3ab2085e9866c9caa9e2"}, "url": "/docs/compare/?release=10.15#10.15-75427b7bd354ebd4", "source_url": "/docs/release/10.15/#id-1.11.6.13.5"}]}, {"id": "12.5-5dba5e2a1baab5c8", "cves": [], "html": "<p>确保数据插入 BRIN 索引之前，先将其从 TOAST 表示还原（Tomas Vondra）<a href=\"https://postgr.es/c/8149e9f9a\">§</a></p>\n<p>索引条目本不应包含指向行外数据的 TOAST 指针，但 BRIN 没有遵守这一要求。这可能导致 <span>“<span>missing chunk number 0 for toast value NNN</span>”</span> 等错误。（如果现有索引出现这种错误，执行 <code>REINDEX</code> 应该就足以修复。）</p>", "text": "确保数据插入 BRIN 索引之前，先将其从 TOAST 表示还原（Tomas Vondra）§ 索引条目本不应包含指向行外数据的 TOAST 指针，但 BRIN 没有遵守这一要求。这可能导致 “missing chunk number 0 for toast value NNN” 等错误。（如果现有索引出现这种错误，执行 REINDEX 应该就足以修复。）", "title": "确保数据插入 BRIN 索引之前，先将其从 TOAST 表示还原", "commits": ["8149e9f9a"], "section": "变更", "category": "improvement", "source_url": "/docs/release/12.5/#id-1.11.6.23.5", "source_hash": "01e246624a0d6855696df2ddc80d0ed06d7c16514c37d5bfb1a657c0197c8c94", "section_path": ["变更"], "commit_groups": [["0b96fc977", "6a7b55f37", "7577dd848", "8149e9f9a", "895d0f0e8", "bae31e75f", "d2d3a4bd3"]], "identity_text": "Ensure that data is detoasted before being inserted into a BRIN index (Tomas Vondra) Index entries are not supposed to contain out-of-line TOAST pointers, but BRIN didn't get that memo. This could lead to errors like missing chunk number 0 for toast value NNN. (If you are faced with such an error from an existing index, REINDEX should be enough to fix it.)", "commit_aliases": ["0b96fc977", "6a7b55f37", "7577dd848", "8149e9f9a", "895d0f0e8", "bae31e75f", "d2d3a4bd3"], "source_commits": ["8149e9f9a"], "source_entry_id": "12.5/changes/031", "db_id": "6d3ae9234fedba53c33fc98ff81de64e", "patch_ids": ["534abd595a708a17fb37ed3a0930c7f9"], "statement_hash": "7e77cd0db35ea74e8a823685cb223554b2c66fbdfb5071a3fbf50908516233c3", "relations": [{"rule": 2, "type": "equivalent", "target": "3a95c594e79e1558d409445b7300f390", "evidence": {"same_day": true, "patch_ids": ["534abd595a708a17fb37ed3a0930c7f9"], "statement_hash": "7e77cd0db35ea74e8a823685cb223554b2c66fbdfb5071a3fbf50908516233c3"}}, {"rule": 2, "type": "equivalent", "target": "49d146dcd44b3db32a631c0fe0867811", "evidence": {"same_day": true, "patch_ids": ["534abd595a708a17fb37ed3a0930c7f9"], "statement_hash": "7e77cd0db35ea74e8a823685cb223554b2c66fbdfb5071a3fbf50908516233c3"}}, {"rule": 2, "type": "equivalent", "target": "95765ebcf7631dcde378d4d43c4c0712", "evidence": {"same_day": true, "patch_ids": ["534abd595a708a17fb37ed3a0930c7f9"], "statement_hash": "7e77cd0db35ea74e8a823685cb223554b2c66fbdfb5071a3fbf50908516233c3"}}, {"rule": 2, "type": "equivalent", "target": "ab88194be714e40017e2bf390c01f821", "evidence": {"same_day": true, "patch_ids": ["534abd595a708a17fb37ed3a0930c7f9"], "statement_hash": "7e77cd0db35ea74e8a823685cb223554b2c66fbdfb5071a3fbf50908516233c3"}}, {"rule": 2, "type": "equivalent", "target": "bcd61f90172c14c33f00a2c033767381", "evidence": {"same_day": true, "patch_ids": ["534abd595a708a17fb37ed3a0930c7f9"], "statement_hash": "7e77cd0db35ea74e8a823685cb223554b2c66fbdfb5071a3fbf50908516233c3"}}], "version": "12.5", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "95765ebcf7631dcde378d4d43c4c0712", "kind": "equivalent", "version": "13.1", "label": "13.1", "title": "确保数据插入 BRIN 索引之前，先将其从 TOAST 表示还原", "evidence": {"same_day": true, "patch_ids": ["534abd595a708a17fb37ed3a0930c7f9"], "statement_hash": "7e77cd0db35ea74e8a823685cb223554b2c66fbdfb5071a3fbf50908516233c3"}, "url": "/docs/compare/?release=13.1#13.1-1fa45007c49735ce", "source_url": "/docs/release/13.1/#id-1.11.6.28.5"}, {"db_id": "3a95c594e79e1558d409445b7300f390", "kind": "equivalent", "version": "11.10", "label": "11.10", "title": "确保数据插入 BRIN 索引之前，先将其从 TOAST 表示还原", "evidence": {"same_day": true, "patch_ids": ["534abd595a708a17fb37ed3a0930c7f9"], "statement_hash": "7e77cd0db35ea74e8a823685cb223554b2c66fbdfb5071a3fbf50908516233c3"}, "url": "/docs/compare/?release=11.10#11.10-c53d5ef58c33b47f", "source_url": "/docs/release/11.10/#id-1.11.6.17.5"}, {"db_id": "ab88194be714e40017e2bf390c01f821", "kind": "equivalent", "version": "10.15", "label": "10.15", "title": "确保数据插入 BRIN 索引之前，先将其从 TOAST 表示还原", "evidence": {"same_day": true, "patch_ids": ["534abd595a708a17fb37ed3a0930c7f9"], "statement_hash": "7e77cd0db35ea74e8a823685cb223554b2c66fbdfb5071a3fbf50908516233c3"}, "url": "/docs/compare/?release=10.15#10.15-c53d5ef58c33b47f", "source_url": "/docs/release/10.15/#id-1.11.6.13.5"}, {"db_id": "bcd61f90172c14c33f00a2c033767381", "kind": "equivalent", "version": "9.6.20", "label": "9.6.20", "title": "确保数据在插入 BRIN 索引之前被解 TOAST", "evidence": {"same_day": true, "patch_ids": ["534abd595a708a17fb37ed3a0930c7f9"], "statement_hash": "7e77cd0db35ea74e8a823685cb223554b2c66fbdfb5071a3fbf50908516233c3"}, "url": "/docs/compare/?release=9.6.20#9.6.20-d22eb05e2689d363", "source_url": "/docs/release/9.6.20/#id-1.11.6.9.5"}, {"db_id": "49d146dcd44b3db32a631c0fe0867811", "kind": "equivalent", "version": "9.5.24", "label": "9.5.24", "title": "确保数据在插入 BRIN 索引之前被解 TOAST", "evidence": {"same_day": true, "patch_ids": ["534abd595a708a17fb37ed3a0930c7f9"], "statement_hash": "7e77cd0db35ea74e8a823685cb223554b2c66fbdfb5071a3fbf50908516233c3"}, "url": "/docs/compare/?release=9.5.24#9.5.24-d22eb05e2689d363", "source_url": "/docs/release/9.5.24/#id-1.11.6.6.6"}]}, {"id": "12.5-53d41972159f4d50", "cves": [], "html": "<p>在 BRIN 索引扫描期间正确处理并发取消汇总（Alexander Lakhin，Álvaro Herrera）<a href=\"https://postgr.es/c/0426c75e7\">§</a></p>\n<p>以前，如果某个页范围恰好在不合适的时刻被取消汇总，索引扫描就可能错误地抛出表示索引损坏的错误。</p>", "text": "在 BRIN 索引扫描期间正确处理并发取消汇总（Alexander Lakhin，Álvaro Herrera）§ 以前，如果某个页范围恰好在不合适的时刻被取消汇总，索引扫描就可能错误地抛出表示索引损坏的错误。", "title": "在 BRIN 索引扫描期间正确处理并发取消汇总", "commits": ["0426c75e7"], "section": "变更", "category": "improvement", "source_url": "/docs/release/12.5/#id-1.11.6.23.5", "source_hash": "04e9930eb4705bc3238e7e32436847f04da26fd52ab69efb66be7ce7d1c5c144", "section_path": ["变更"], "commit_groups": [["0426c75e7", "1f42d35a1", "721ef4d28", "7a3c261fb", "7af39993a", "8782ea2f3", "ce3a8fde8"]], "identity_text": "Handle concurrent desummarization correctly during BRIN index scans (Alexander Lakhin, Álvaro Herrera) Previously, if a page range was desummarized at just the wrong time, an index scan might falsely raise an error indicating index corruption.", "commit_aliases": ["0426c75e7", "1f42d35a1", "721ef4d28", "7a3c261fb", "7af39993a", "8782ea2f3", "ce3a8fde8"], "source_commits": ["0426c75e7"], "source_entry_id": "12.5/changes/032", "db_id": "96d3a54ff2f798dd521091a2bf32abef", "patch_ids": ["d2a569906c031d1485855cbad9d5244a"], "statement_hash": "b396b35af535447444e7f8afbbcf759a4b55ed99f99cc757070fc4bf0a296dc1", "relations": [{"rule": 2, "type": "equivalent", "target": "0a3ab21daf4706eff4f4f2df196c4b50", "evidence": {"same_day": true, "patch_ids": ["d2a569906c031d1485855cbad9d5244a"], "statement_hash": "b396b35af535447444e7f8afbbcf759a4b55ed99f99cc757070fc4bf0a296dc1"}}, {"rule": 2, "type": "equivalent", "target": "82130add7738c3d78e474a0a8d8e4203", "evidence": {"same_day": true, "patch_ids": ["d2a569906c031d1485855cbad9d5244a"], "statement_hash": "b396b35af535447444e7f8afbbcf759a4b55ed99f99cc757070fc4bf0a296dc1"}}, {"rule": 2, "type": "equivalent", "target": "b0d851f55446341f7d688770837b557d", "evidence": {"same_day": true, "patch_ids": ["d2a569906c031d1485855cbad9d5244a"], "statement_hash": "b396b35af535447444e7f8afbbcf759a4b55ed99f99cc757070fc4bf0a296dc1"}}, {"rule": 2, "type": "equivalent", "target": "d091137bf92885fadfe180dc9f63789c", "evidence": {"same_day": true, "patch_ids": ["d2a569906c031d1485855cbad9d5244a"], "statement_hash": "b396b35af535447444e7f8afbbcf759a4b55ed99f99cc757070fc4bf0a296dc1"}}], "version": "12.5", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "b0d851f55446341f7d688770837b557d", "kind": "equivalent", "version": "11.10", "label": "11.10", "title": "在 BRIN 索引扫描期间正确处理并发取消汇总", "evidence": {"same_day": true, "patch_ids": ["d2a569906c031d1485855cbad9d5244a"], "statement_hash": "b396b35af535447444e7f8afbbcf759a4b55ed99f99cc757070fc4bf0a296dc1"}, "url": "/docs/compare/?release=11.10#11.10-cc8e84ad6ca744c7", "source_url": "/docs/release/11.10/#id-1.11.6.17.5"}, {"db_id": "0a3ab21daf4706eff4f4f2df196c4b50", "kind": "equivalent", "version": "10.15", "label": "10.15", "title": "在 BRIN 索引扫描期间正确处理并发取消汇总", "evidence": {"same_day": true, "patch_ids": ["d2a569906c031d1485855cbad9d5244a"], "statement_hash": "b396b35af535447444e7f8afbbcf759a4b55ed99f99cc757070fc4bf0a296dc1"}, "url": "/docs/compare/?release=10.15#10.15-cc8e84ad6ca744c7", "source_url": "/docs/release/10.15/#id-1.11.6.13.5"}, {"db_id": "82130add7738c3d78e474a0a8d8e4203", "kind": "equivalent", "version": "9.6.20", "label": "9.6.20", "title": "在 BRIN 索引扫描期间正确处理并发取消摘要", "evidence": {"same_day": true, "patch_ids": ["d2a569906c031d1485855cbad9d5244a"], "statement_hash": "b396b35af535447444e7f8afbbcf759a4b55ed99f99cc757070fc4bf0a296dc1"}, "url": "/docs/compare/?release=9.6.20#9.6.20-4a4b0f9da65203f9", "source_url": "/docs/release/9.6.20/#id-1.11.6.9.5"}, {"db_id": "d091137bf92885fadfe180dc9f63789c", "kind": "equivalent", "version": "9.5.24", "label": "9.5.24", "title": "在 BRIN 索引扫描期间正确处理并发取消摘要", "evidence": {"same_day": true, "patch_ids": ["d2a569906c031d1485855cbad9d5244a"], "statement_hash": "b396b35af535447444e7f8afbbcf759a4b55ed99f99cc757070fc4bf0a296dc1"}, "url": "/docs/compare/?release=9.5.24#9.5.24-4a4b0f9da65203f9", "source_url": "/docs/release/9.5.24/#id-1.11.6.6.6"}]}, {"id": "12.5-0e610eea7b5d8349", "cves": [], "html": "<p>修复多列 GIN 索引扫描中罕见的 <span>“<span>lost saved point in index</span>”</span> 错误（Tom Lane）<a href=\"https://postgr.es/c/ff3c16d1e\">§</a></p>", "text": "修复多列 GIN 索引扫描中罕见的 “lost saved point in index” 错误（Tom Lane）§", "title": "修复多列 GIN 索引扫描中罕见的 “lost saved point in index” 错误", "commits": ["ff3c16d1e"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/12.5/#id-1.11.6.23.5", "source_hash": "d9f95582437f07caae650cdf0c92ae730f6b81c146fc593bd3a8a9b31831f423", "section_path": ["变更"], "commit_groups": [["0d3ad6540", "0dfec43c8", "10564ee02", "11ecf4bd2", "1df14a566", "fabd2f9c9", "ff3c16d1e"]], "identity_text": "Fix rare lost saved point in index errors in scans of multicolumn GIN indexes (Tom Lane)", "commit_aliases": ["0d3ad6540", "0dfec43c8", "10564ee02", "11ecf4bd2", "1df14a566", "fabd2f9c9", "ff3c16d1e"], "source_commits": ["ff3c16d1e"], "source_entry_id": "12.5/changes/033", "db_id": "064186f416a1a4aad8799c66c67a5447", "patch_ids": ["b924aefe2f76cd5bce604a07e377c598"], "statement_hash": "86104ab659d2ff370250d7157a2b7c23f91dfd1dfca52879c01db4ca63908536", "relations": [{"rule": 2, "type": "equivalent", "target": "52d30363c69dac2bb8f3ae4975eb7ac9", "evidence": {"same_day": true, "patch_ids": ["b924aefe2f76cd5bce604a07e377c598"], "statement_hash": "86104ab659d2ff370250d7157a2b7c23f91dfd1dfca52879c01db4ca63908536"}}, {"rule": 2, "type": "equivalent", "target": "c334255955eec6880b1d2779cd57e4e4", "evidence": {"same_day": true, "patch_ids": ["b924aefe2f76cd5bce604a07e377c598"], "statement_hash": "86104ab659d2ff370250d7157a2b7c23f91dfd1dfca52879c01db4ca63908536"}}, {"rule": 2, "type": "equivalent", "target": "d541c04c0ca1ab8ab4f6fe954c577657", "evidence": {"same_day": true, "patch_ids": ["b924aefe2f76cd5bce604a07e377c598"], "statement_hash": "86104ab659d2ff370250d7157a2b7c23f91dfd1dfca52879c01db4ca63908536"}}, {"rule": 2, "type": "equivalent", "target": "fbe37de2248d241f2356e247421d66de", "evidence": {"same_day": true, "patch_ids": ["b924aefe2f76cd5bce604a07e377c598"], "statement_hash": "86104ab659d2ff370250d7157a2b7c23f91dfd1dfca52879c01db4ca63908536"}}], "version": "12.5", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "d541c04c0ca1ab8ab4f6fe954c577657", "kind": "equivalent", "version": "11.10", "label": "11.10", "title": "修复多列 GIN 索引扫描中罕见的 “lost saved point in index” 错误", "evidence": {"same_day": true, "patch_ids": ["b924aefe2f76cd5bce604a07e377c598"], "statement_hash": "86104ab659d2ff370250d7157a2b7c23f91dfd1dfca52879c01db4ca63908536"}, "url": "/docs/compare/?release=11.10#11.10-224e82894a79c777", "source_url": "/docs/release/11.10/#id-1.11.6.17.5"}, {"db_id": "52d30363c69dac2bb8f3ae4975eb7ac9", "kind": "equivalent", "version": "10.15", "label": "10.15", "title": "修复多列 GIN 索引扫描中罕见的 “lost saved point in index” 错误", "evidence": {"same_day": true, "patch_ids": ["b924aefe2f76cd5bce604a07e377c598"], "statement_hash": "86104ab659d2ff370250d7157a2b7c23f91dfd1dfca52879c01db4ca63908536"}, "url": "/docs/compare/?release=10.15#10.15-224e82894a79c777", "source_url": "/docs/release/10.15/#id-1.11.6.13.5"}, {"db_id": "fbe37de2248d241f2356e247421d66de", "kind": "equivalent", "version": "9.6.20", "label": "9.6.20", "title": "修复多列 GIN 索引扫描中罕见的 “lost saved point in index” 错误", "evidence": {"same_day": true, "patch_ids": ["b924aefe2f76cd5bce604a07e377c598"], "statement_hash": "86104ab659d2ff370250d7157a2b7c23f91dfd1dfca52879c01db4ca63908536"}, "url": "/docs/compare/?release=9.6.20#9.6.20-224e82894a79c777", "source_url": "/docs/release/9.6.20/#id-1.11.6.9.5"}, {"db_id": "c334255955eec6880b1d2779cd57e4e4", "kind": "equivalent", "version": "9.5.24", "label": "9.5.24", "title": "修复多列 GIN 索引扫描中罕见的 “lost saved point in index” 错误", "evidence": {"same_day": true, "patch_ids": ["b924aefe2f76cd5bce604a07e377c598"], "statement_hash": "86104ab659d2ff370250d7157a2b7c23f91dfd1dfca52879c01db4ca63908536"}, "url": "/docs/compare/?release=9.5.24#9.5.24-224e82894a79c777", "source_url": "/docs/release/9.5.24/#id-1.11.6.6.6"}]}, {"id": "12.5-33d1ac73a3c7711b", "cves": [], "html": "<p>修复带缓冲的 GiST 索引构建，使其在索引具有内含列时正常工作（Pavel Borisov）<a href=\"https://postgr.es/c/12945874e\">§</a></p>", "text": "修复带缓冲的 GiST 索引构建，使其在索引具有内含列时正常工作（Pavel Borisov）§", "title": "修复带缓冲的 GiST 索引构建，使其在索引具有内含列时正常工作", "commits": ["12945874e"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/12.5/#id-1.11.6.23.5", "source_hash": "ecdabc5afa7fb9dff76cc26a295a28b1f6a301439615e96f08ab7f0076bcf0fe", "section_path": ["变更"], "commit_groups": [["12945874e", "371668a83", "962ab473e"]], "identity_text": "Fix buffered GiST index builds to work when the index has included columns (Pavel Borisov)", "commit_aliases": ["12945874e", "371668a83", "962ab473e"], "source_commits": ["12945874e"], "source_entry_id": "12.5/changes/034", "db_id": "c6609f80bbb5bbc7d296f261f020647e", "patch_ids": ["15503c210c7190b67cc55fc711d48d48"], "statement_hash": "1a2c941f1c8128911ad42c6eaf55db66fe2c3a1e7d0c761e9b8305473f32bd79", "relations": [{"rule": 2, "type": "equivalent", "target": "ae591682bcbfaa811e33a6b790a536bb", "evidence": {"same_day": true, "patch_ids": ["15503c210c7190b67cc55fc711d48d48"], "statement_hash": "1a2c941f1c8128911ad42c6eaf55db66fe2c3a1e7d0c761e9b8305473f32bd79"}}], "version": "12.5", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "ae591682bcbfaa811e33a6b790a536bb", "kind": "equivalent", "version": "13.1", "label": "13.1", "title": "修复带缓冲的 GiST 索引构建，使其在索引具有内含列时正常工作", "evidence": {"same_day": true, "patch_ids": ["15503c210c7190b67cc55fc711d48d48"], "statement_hash": "1a2c941f1c8128911ad42c6eaf55db66fe2c3a1e7d0c761e9b8305473f32bd79"}, "url": "/docs/compare/?release=13.1#13.1-4ec796bc827d056e", "source_url": "/docs/release/13.1/#id-1.11.6.28.5"}]}, {"id": "12.5-7342525e4b825b80", "cves": [], "html": "<p>修复 <code>pg_hba_file_rules</code> 视图中不具可移植性的 <code>getnameinfo()</code> 用法（Tom Lane）<a href=\"https://postgr.es/c/d3befe9b9\">§</a></p>\n<p>在 FreeBSD 11 以及可能的其他平台上，此错误会使该视图的 <code>address</code> 和 <code>netmask</code> 列始终为空。</p>", "text": "修复 pg_hba_file_rules 视图中不具可移植性的 getnameinfo() 用法（Tom Lane）§ 在 FreeBSD 11 以及可能的其他平台上，此错误会使该视图的 address 和 netmask 列始终为空。", "title": "修复 pg_hba_file_rules 视图中不具可移植性的 getnameinfo() 用法", "commits": ["d3befe9b9"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/12.5/#id-1.11.6.23.5", "source_hash": "ff4f515ae033b9f70a03afd1aa5b8ff5660903ecb10346063396c09e5d01c9e7", "section_path": ["变更"], "commit_groups": [["0a4b34031", "7827497ba", "a58a631b4", "d3befe9b9", "f28b089cb"]], "identity_text": "Fix unportable use of getnameinfo() in pg_hba_file_rules view (Tom Lane) On FreeBSD 11, and possibly other platforms, the view's address and netmask columns were always null due to this error.", "commit_aliases": ["0a4b34031", "7827497ba", "a58a631b4", "d3befe9b9", "f28b089cb"], "source_commits": ["d3befe9b9"], "source_entry_id": "12.5/changes/035", "db_id": "3d842635529bd2e26a671d4defac00c3", "patch_ids": ["07612e72d396d2122d66a0a72b1a6efc"], "statement_hash": "1e939b233dab97a3171ca20a18f8132b0421f4f0b22d149a89fc6ce0f9ab4ac6", "relations": [{"rule": 2, "type": "equivalent", "target": "22caa5d89861b8edea06ad5d67a5dabd", "evidence": {"same_day": true, "patch_ids": ["07612e72d396d2122d66a0a72b1a6efc"], "statement_hash": "1e939b233dab97a3171ca20a18f8132b0421f4f0b22d149a89fc6ce0f9ab4ac6"}}, {"rule": 2, "type": "equivalent", "target": "2a419bdbb78952d90ba035886c3fd4ab", "evidence": {"same_day": true, "patch_ids": ["07612e72d396d2122d66a0a72b1a6efc"], "statement_hash": "1e939b233dab97a3171ca20a18f8132b0421f4f0b22d149a89fc6ce0f9ab4ac6"}}, {"rule": 2, "type": "equivalent", "target": "4fe5308f26f8ccc15cb62e7101491e87", "evidence": {"same_day": true, "patch_ids": ["07612e72d396d2122d66a0a72b1a6efc"], "statement_hash": "1e939b233dab97a3171ca20a18f8132b0421f4f0b22d149a89fc6ce0f9ab4ac6"}}], "version": "12.5", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "2a419bdbb78952d90ba035886c3fd4ab", "kind": "equivalent", "version": "13.1", "label": "13.1", "title": "修复 pg_hba_file_rules 视图中不具可移植性的 getnameinfo() 用法", "evidence": {"same_day": true, "patch_ids": ["07612e72d396d2122d66a0a72b1a6efc"], "statement_hash": "1e939b233dab97a3171ca20a18f8132b0421f4f0b22d149a89fc6ce0f9ab4ac6"}, "url": "/docs/compare/?release=13.1#13.1-eea918ce1066bc1a", "source_url": "/docs/release/13.1/#id-1.11.6.28.5"}, {"db_id": "4fe5308f26f8ccc15cb62e7101491e87", "kind": "equivalent", "version": "11.10", "label": "11.10", "title": "修复 pg_hba_file_rules 视图中不具可移植性的 getnameinfo() 用法", "evidence": {"same_day": true, "patch_ids": ["07612e72d396d2122d66a0a72b1a6efc"], "statement_hash": "1e939b233dab97a3171ca20a18f8132b0421f4f0b22d149a89fc6ce0f9ab4ac6"}, "url": "/docs/compare/?release=11.10#11.10-a67404ca0c5638a0", "source_url": "/docs/release/11.10/#id-1.11.6.17.5"}, {"db_id": "22caa5d89861b8edea06ad5d67a5dabd", "kind": "equivalent", "version": "10.15", "label": "10.15", "title": "修复 pg_hba_file_rules 视图中不具可移植性的 getnameinfo() 用法", "evidence": {"same_day": true, "patch_ids": ["07612e72d396d2122d66a0a72b1a6efc"], "statement_hash": "1e939b233dab97a3171ca20a18f8132b0421f4f0b22d149a89fc6ce0f9ab4ac6"}, "url": "/docs/compare/?release=10.15#10.15-a67404ca0c5638a0", "source_url": "/docs/release/10.15/#id-1.11.6.13.5"}]}, {"id": "12.5-c224b36f5927f738", "cves": [], "html": "<p>避免启动并行工作进程时 <code>debug_query_string</code> 为 NULL 所导致的崩溃（Noah Misch）<a href=\"https://postgr.es/c/741b84e9f\">§</a></p>", "text": "避免启动并行工作进程时 debug_query_string 为 NULL 所导致的崩溃（Noah Misch）§", "title": "避免启动并行工作进程时 debug_query_string 为 NULL 所导致的崩溃", "commits": ["741b84e9f"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/12.5/#id-1.11.6.23.5", "source_hash": "6f0217eae1a8bc99b6cb2fa004594f74b16e59f41f5de8cf31454722e71e378a", "section_path": ["变更"], "commit_groups": [["045466675", "741b84e9f", "ab2e2ce46", "f90e80b91"]], "identity_text": "Avoid crash if debug_query_string is NULL when starting a parallel worker (Noah Misch)", "commit_aliases": ["045466675", "741b84e9f", "ab2e2ce46", "f90e80b91"], "source_commits": ["741b84e9f"], "source_entry_id": "12.5/changes/036", "db_id": "3cca734fcebd548ffabb772009aaef1b", "patch_ids": ["352162a74b6871772ce95672b7f32f90"], "statement_hash": "f25548746f8fd4e89863a95550507dd68fb246e92a5d3bfcbf18a9f0399e4c9a", "relations": [{"rule": 2, "type": "equivalent", "target": "835134fa76df0cee9abb239858d2afe9", "evidence": {"same_day": true, "patch_ids": ["352162a74b6871772ce95672b7f32f90"], "statement_hash": "f25548746f8fd4e89863a95550507dd68fb246e92a5d3bfcbf18a9f0399e4c9a"}}, {"rule": 2, "type": "equivalent", "target": "d4e57d3ea2431cb29da2824fe065b36b", "evidence": {"same_day": true, "patch_ids": ["352162a74b6871772ce95672b7f32f90"], "statement_hash": "f25548746f8fd4e89863a95550507dd68fb246e92a5d3bfcbf18a9f0399e4c9a"}}], "version": "12.5", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "d4e57d3ea2431cb29da2824fe065b36b", "kind": "equivalent", "version": "13.1", "label": "13.1", "title": "避免启动并行工作进程时 debug_query_string 为 NULL 所导致的崩溃", "evidence": {"same_day": true, "patch_ids": ["352162a74b6871772ce95672b7f32f90"], "statement_hash": "f25548746f8fd4e89863a95550507dd68fb246e92a5d3bfcbf18a9f0399e4c9a"}, "url": "/docs/compare/?release=13.1#13.1-83a4965946a4fa97", "source_url": "/docs/release/13.1/#id-1.11.6.28.5"}, {"db_id": "835134fa76df0cee9abb239858d2afe9", "kind": "equivalent", "version": "11.10", "label": "11.10", "title": "避免启动并行工作进程时 debug_query_string 为 NULL 所导致的崩溃", "evidence": {"same_day": true, "patch_ids": ["352162a74b6871772ce95672b7f32f90"], "statement_hash": "f25548746f8fd4e89863a95550507dd68fb246e92a5d3bfcbf18a9f0399e4c9a"}, "url": "/docs/compare/?release=11.10#11.10-b4c78c2986aed215", "source_url": "/docs/release/11.10/#id-1.11.6.17.5"}]}, {"id": "12.5-f4302a8e29613ece", "cves": [], "html": "<p>修复事件触发器监控 <code>ALTER TABLE</code> 操作时的释放后使用隐患（Jehan-Guillaume de Rorthais）<a href=\"https://postgr.es/c/93f726c04\">§</a></p>", "text": "修复事件触发器监控 ALTER TABLE 操作时的释放后使用隐患（Jehan-Guillaume de Rorthais）§", "title": "修复事件触发器监控 ALTER TABLE 操作时的释放后使用隐患", "commits": ["93f726c04"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/12.5/#id-1.11.6.23.5", "source_hash": "3f561836c9bca007eee761ef7b49a533ea49901f996bc8f755cc0a275e881ffc", "section_path": ["变更"], "commit_groups": [["41c742a43", "66c036b4f", "7978ad025", "93f726c04", "cc623ed2f"], ["873cb8fca", "ced138e8c"]], "identity_text": "Fix use-after-free hazard when an event trigger monitors an ALTER TABLE operation (Jehan-Guillaume de Rorthais)", "commit_aliases": ["41c742a43", "66c036b4f", "7978ad025", "873cb8fca", "93f726c04", "cc623ed2f", "ced138e8c"], "source_commits": ["93f726c04", "ced138e8c"], "source_entry_id": "12.5/changes/037", "db_id": "9f6d3c07ad0c94bb9d62ad25390390ac", "patch_ids": ["1d42344b981776a2adc111e0ce62a067", "eeaf27df3fc50a62df45605bbd19d6cd"], "statement_hash": "a45d9b6c63cc4940d9f7ec00a694e95fcbf370520ccfcac5e1b7a29943732674", "relations": [{"rule": 2, "type": "equivalent", "target": "193dc3e287c03ead8171a72f5426788b", "evidence": {"same_day": true, "patch_ids": ["1d42344b981776a2adc111e0ce62a067", "eeaf27df3fc50a62df45605bbd19d6cd"], "statement_hash": "a45d9b6c63cc4940d9f7ec00a694e95fcbf370520ccfcac5e1b7a29943732674"}}, {"rule": 2, "type": "equivalent", "target": "3eaed1205c28007d943d49c8790574bb", "evidence": {"same_day": true, "patch_ids": ["1d42344b981776a2adc111e0ce62a067", "eeaf27df3fc50a62df45605bbd19d6cd"], "statement_hash": "a45d9b6c63cc4940d9f7ec00a694e95fcbf370520ccfcac5e1b7a29943732674"}}, {"rule": 2, "type": "equivalent", "target": "70d23c4241781bf37fd90650cca4f4db", "evidence": {"same_day": true, "patch_ids": ["1d42344b981776a2adc111e0ce62a067", "eeaf27df3fc50a62df45605bbd19d6cd"], "statement_hash": "a45d9b6c63cc4940d9f7ec00a694e95fcbf370520ccfcac5e1b7a29943732674"}}, {"rule": 2, "type": "equivalent", "target": "8dabdc610b8230ef3bac9552fc0514b9", "evidence": {"same_day": true, "patch_ids": ["1d42344b981776a2adc111e0ce62a067", "eeaf27df3fc50a62df45605bbd19d6cd"], "statement_hash": "a45d9b6c63cc4940d9f7ec00a694e95fcbf370520ccfcac5e1b7a29943732674"}}], "version": "12.5", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "193dc3e287c03ead8171a72f5426788b", "kind": "equivalent", "version": "11.10", "label": "11.10", "title": "修复事件触发器监控 ALTER TABLE 操作时的释放后使用隐患", "evidence": {"same_day": true, "patch_ids": ["1d42344b981776a2adc111e0ce62a067", "eeaf27df3fc50a62df45605bbd19d6cd"], "statement_hash": "a45d9b6c63cc4940d9f7ec00a694e95fcbf370520ccfcac5e1b7a29943732674"}, "url": "/docs/compare/?release=11.10#11.10-99dd95a6b1ba9ca5", "source_url": "/docs/release/11.10/#id-1.11.6.17.5"}, {"db_id": "3eaed1205c28007d943d49c8790574bb", "kind": "equivalent", "version": "10.15", "label": "10.15", "title": "修复事件触发器监控 ALTER TABLE 操作时的释放后使用隐患", "evidence": {"same_day": true, "patch_ids": ["1d42344b981776a2adc111e0ce62a067", "eeaf27df3fc50a62df45605bbd19d6cd"], "statement_hash": "a45d9b6c63cc4940d9f7ec00a694e95fcbf370520ccfcac5e1b7a29943732674"}, "url": "/docs/compare/?release=10.15#10.15-99dd95a6b1ba9ca5", "source_url": "/docs/release/10.15/#id-1.11.6.13.5"}, {"db_id": "70d23c4241781bf37fd90650cca4f4db", "kind": "equivalent", "version": "9.6.20", "label": "9.6.20", "title": "修复事件触发器监视 ALTER TABLE 操作时的释放后使用风险", "evidence": {"same_day": true, "patch_ids": ["1d42344b981776a2adc111e0ce62a067", "eeaf27df3fc50a62df45605bbd19d6cd"], "statement_hash": "a45d9b6c63cc4940d9f7ec00a694e95fcbf370520ccfcac5e1b7a29943732674"}, "url": "/docs/compare/?release=9.6.20#9.6.20-00888948cb5f7865", "source_url": "/docs/release/9.6.20/#id-1.11.6.9.5"}, {"db_id": "8dabdc610b8230ef3bac9552fc0514b9", "kind": "equivalent", "version": "9.5.24", "label": "9.5.24", "title": "修复事件触发器监视 ALTER TABLE 操作时的释放后使用风险", "evidence": {"same_day": true, "patch_ids": ["1d42344b981776a2adc111e0ce62a067", "eeaf27df3fc50a62df45605bbd19d6cd"], "statement_hash": "a45d9b6c63cc4940d9f7ec00a694e95fcbf370520ccfcac5e1b7a29943732674"}, "url": "/docs/compare/?release=9.5.24#9.5.24-00888948cb5f7865", "source_url": "/docs/release/9.5.24/#id-1.11.6.6.6"}]}, {"id": "12.5-28ecd86af13e9c4f", "cves": [], "html": "<p>避免 <code>BEFORE ROW UPDATE</code> 触发器返回具有已删除列或<span>“<span>缺失</span>”</span>列的表中的<span>“<span>旧</span>”</span>行时发生失败（Amit Langote，Tom Lane）<a href=\"https://postgr.es/c/de78c1007\">§</a> <a href=\"https://postgr.es/c/94ec005f3\">§</a></p>\n<p>这种阻止更新的方法可能导致崩溃、意外的 <code>CHECK</code> 约束失败或不正确的 <code>RETURNING</code> 输出，因为在这些操作中，<span>“<span>缺失</span>”</span>列会被读取为 NULL。（这里所说的<span>“<span>缺失</span>”</span>列，是指通过 <code>ALTER TABLE ADD COLUMN</code> 添加、具有非 NULL 常量默认值的列。）已删除的列也可能造成问题。</p>", "text": "避免 BEFORE ROW UPDATE 触发器返回具有已删除列或“缺失”列的表中的“旧”行时发生失败（Amit Langote，Tom Lane）§ § 这种阻止更新的方法可能导致崩溃、意外的 CHECK 约束失败或不正确的 RETURNING 输出，因为在这些操作中，“缺失”列会被读取为 NULL。（这里所说的“缺失”列，是指通过 ALTER TABLE ADD COLUMN 添加、具有非 NULL 常量默认值的列。）已删除的列也可能造成问题。", "title": "避免 BEFORE ROW UPDATE 触发器返回具有已删除列或“缺失”列的表中的“旧”行时发生失败", "commits": ["94ec005f3", "de78c1007"], "section": "变更", "category": "improvement", "source_url": "/docs/release/12.5/#id-1.11.6.23.5", "source_hash": "f8edb01f0fd8eac2c4802ea348adeab1ddf2a84081d7c2eba80fd7e029a107a0", "section_path": ["变更"], "commit_groups": [["20d3fe900"], ["7aeb6404f", "8b39345a9", "94ec005f3"], ["ba9f18abd", "d88d8ad28", "de78c1007"]], "identity_text": "Avoid failures when a BEFORE ROW UPDATE trigger returns the old row of a table having dropped or missing columns (Amit Langote, Tom Lane) This method of suppressing an update could result in crashes, unexpected CHECK constraint failures, or incorrect RETURNING output, because missing columns would read as NULLs for those purposes. (A column is missing for this purpose if it was added by ALTER TABLE ADD COLUMN with a non-NULL, but constant, default value.) Dropped columns could cause trouble as well.", "commit_aliases": ["20d3fe900", "7aeb6404f", "8b39345a9", "94ec005f3", "ba9f18abd", "d88d8ad28", "de78c1007"], "source_commits": ["20d3fe900", "94ec005f3", "de78c1007"], "source_entry_id": "12.5/changes/038", "db_id": "e69f11669077089097d73c698630fe22", "patch_ids": ["52af55f0056f03b02aa4635939017e0f", "7e89c65db5015f202d6be2f9e5df3d4e", "92de05734f58351f15591809d5a00907"], "statement_hash": "7630ef316dfd261b58edc727b386a60f8bbb7fabc85637d66024306504e7b329", "relations": [{"rule": 2, "type": "equivalent", "target": "c580365d462cc35a27692a294b8f20ec", "evidence": {"same_day": true, "patch_ids": ["52af55f0056f03b02aa4635939017e0f", "7e89c65db5015f202d6be2f9e5df3d4e", "92de05734f58351f15591809d5a00907"], "statement_hash": "7630ef316dfd261b58edc727b386a60f8bbb7fabc85637d66024306504e7b329"}}], "version": "12.5", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "c580365d462cc35a27692a294b8f20ec", "kind": "equivalent", "version": "13.1", "label": "13.1", "title": "避免 BEFORE ROW UPDATE 触发器返回具有已删除列或“缺失”列的表中的“旧”行时发生失败", "evidence": {"same_day": true, "patch_ids": ["52af55f0056f03b02aa4635939017e0f", "7e89c65db5015f202d6be2f9e5df3d4e", "92de05734f58351f15591809d5a00907"], "statement_hash": "7630ef316dfd261b58edc727b386a60f8bbb7fabc85637d66024306504e7b329"}, "url": "/docs/compare/?release=13.1#13.1-ea9244931dab7272", "source_url": "/docs/release/13.1/#id-1.11.6.28.5"}]}, {"id": "12.5-d276df7b8740409c", "cves": [], "html": "<p>修复关于移动聚合数据类型不一致的不正确错误消息（Jeff Janes）<a href=\"https://postgr.es/c/f45dd3fed\">§</a></p>", "text": "修复关于移动聚合数据类型不一致的不正确错误消息（Jeff Janes）§", "title": "修复关于移动聚合数据类型不一致的不正确错误消息", "commits": ["f45dd3fed"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/12.5/#id-1.11.6.23.5", "source_hash": "cf419a0504352da5d50ebe9fa2e0ae5cb5470591ab3535f4dc0a7566d1194c32", "section_path": ["变更"], "commit_groups": [["19ad7e1d7", "2939f613f", "baef6e5e9", "e0b4c7dd0", "f04203ab7", "f45dd3fed", "f71b93b86"]], "identity_text": "Fix incorrect error message about inconsistent moving-aggregate data types (Jeff Janes)", "commit_aliases": ["19ad7e1d7", "2939f613f", "baef6e5e9", "e0b4c7dd0", "f04203ab7", "f45dd3fed", "f71b93b86"], "source_commits": ["f45dd3fed"], "source_entry_id": "12.5/changes/039", "db_id": "b7734d735931a2594d8d810c0da0d263", "patch_ids": ["a6ee29024df492c5d25c7bde4de9462d"], "statement_hash": "2f86d5f772282f0258a4d8de711614f88964da3100750473f47d12c277bdeeea", "relations": [{"rule": 2, "type": "equivalent", "target": "5ba9e6ba479940ad29508d9f1f5f4557", "evidence": {"same_day": true, "patch_ids": ["a6ee29024df492c5d25c7bde4de9462d"], "statement_hash": "2f86d5f772282f0258a4d8de711614f88964da3100750473f47d12c277bdeeea"}}, {"rule": 2, "type": "equivalent", "target": "75d932c479a5ee215f22f5cbe20fac12", "evidence": {"same_day": true, "patch_ids": ["a6ee29024df492c5d25c7bde4de9462d"], "statement_hash": "2f86d5f772282f0258a4d8de711614f88964da3100750473f47d12c277bdeeea"}}, {"rule": 2, "type": "equivalent", "target": "79da3f5b1b63a3182fa29eb6dd66f0ac", "evidence": {"same_day": true, "patch_ids": ["a6ee29024df492c5d25c7bde4de9462d"], "statement_hash": "2f86d5f772282f0258a4d8de711614f88964da3100750473f47d12c277bdeeea"}}, {"rule": 2, "type": "equivalent", "target": "b92857f8895e8e33ac12acfd3b0da7b7", "evidence": {"same_day": true, "patch_ids": ["a6ee29024df492c5d25c7bde4de9462d"], "statement_hash": "2f86d5f772282f0258a4d8de711614f88964da3100750473f47d12c277bdeeea"}}], "version": "12.5", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "b92857f8895e8e33ac12acfd3b0da7b7", "kind": "equivalent", "version": "11.10", "label": "11.10", "title": "修复关于移动聚合数据类型不一致的不正确错误消息", "evidence": {"same_day": true, "patch_ids": ["a6ee29024df492c5d25c7bde4de9462d"], "statement_hash": "2f86d5f772282f0258a4d8de711614f88964da3100750473f47d12c277bdeeea"}, "url": "/docs/compare/?release=11.10#11.10-0f9ea43ecaf5f362", "source_url": "/docs/release/11.10/#id-1.11.6.17.5"}, {"db_id": "75d932c479a5ee215f22f5cbe20fac12", "kind": "equivalent", "version": "10.15", "label": "10.15", "title": "修复关于移动聚合数据类型不一致的不正确错误消息", "evidence": {"same_day": true, "patch_ids": ["a6ee29024df492c5d25c7bde4de9462d"], "statement_hash": "2f86d5f772282f0258a4d8de711614f88964da3100750473f47d12c277bdeeea"}, "url": "/docs/compare/?release=10.15#10.15-0f9ea43ecaf5f362", "source_url": "/docs/release/10.15/#id-1.11.6.13.5"}, {"db_id": "5ba9e6ba479940ad29508d9f1f5f4557", "kind": "equivalent", "version": "9.6.20", "label": "9.6.20", "title": "修复关于移动聚合数据类型不一致的错误错误消息", "evidence": {"same_day": true, "patch_ids": ["a6ee29024df492c5d25c7bde4de9462d"], "statement_hash": "2f86d5f772282f0258a4d8de711614f88964da3100750473f47d12c277bdeeea"}, "url": "/docs/compare/?release=9.6.20#9.6.20-7ea69f80dfb12422", "source_url": "/docs/release/9.6.20/#id-1.11.6.9.5"}, {"db_id": "79da3f5b1b63a3182fa29eb6dd66f0ac", "kind": "equivalent", "version": "9.5.24", "label": "9.5.24", "title": "修复关于移动聚合数据类型不一致的错误错误消息", "evidence": {"same_day": true, "patch_ids": ["a6ee29024df492c5d25c7bde4de9462d"], "statement_hash": "2f86d5f772282f0258a4d8de711614f88964da3100750473f47d12c277bdeeea"}, "url": "/docs/compare/?release=9.5.24#9.5.24-7ea69f80dfb12422", "source_url": "/docs/release/9.5.24/#id-1.11.6.6.6"}]}, {"id": "12.5-81a3e4982fc1d917", "cves": [], "html": "<p>避免并行工作进程报告很长的错误消息时卡死（Vignesh C）<a href=\"https://postgr.es/c/82dd373f2\">§</a></p>", "text": "避免并行工作进程报告很长的错误消息时卡死（Vignesh C）§", "title": "避免并行工作进程报告很长的错误消息时卡死", "commits": ["82dd373f2"], "section": "变更", "category": "improvement", "source_url": "/docs/release/12.5/#id-1.11.6.23.5", "source_hash": "d3b89537fc7ac14c9d03f76c782bc8b0ff740ce2240bb1264319a0d857b0280e", "section_path": ["变更"], "commit_groups": [["17424e79d", "2500e51e7", "2a938c793", "3738651f5", "526df0a23", "82dd373f2", "be4b0c007"]], "identity_text": "Avoid lockup when a parallel worker reports a very long error message (Vignesh C)", "commit_aliases": ["17424e79d", "2500e51e7", "2a938c793", "3738651f5", "526df0a23", "82dd373f2", "be4b0c007"], "source_commits": ["82dd373f2"], "source_entry_id": "12.5/changes/040", "db_id": "6603b8505054465791635c102026e763", "patch_ids": ["c2dea10c2eaf9a14751919026d5a82f0"], "statement_hash": "9a1afa7cc019b644f33876e98b16a00d4e3796963507f87a87e058aaebe1fabe", "relations": [{"rule": 2, "type": "equivalent", "target": "38691d1ad3e39be8aa41d7fb3c16628c", "evidence": {"same_day": true, "patch_ids": ["c2dea10c2eaf9a14751919026d5a82f0"], "statement_hash": "9a1afa7cc019b644f33876e98b16a00d4e3796963507f87a87e058aaebe1fabe"}}, {"rule": 2, "type": "equivalent", "target": "66672a1540adc34224fa39b4fbc3deff", "evidence": {"same_day": true, "patch_ids": ["c2dea10c2eaf9a14751919026d5a82f0"], "statement_hash": "9a1afa7cc019b644f33876e98b16a00d4e3796963507f87a87e058aaebe1fabe"}}, {"rule": 2, "type": "equivalent", "target": "adf19289b8ccad8481294cf61720a125", "evidence": {"same_day": true, "patch_ids": ["c2dea10c2eaf9a14751919026d5a82f0"], "statement_hash": "9a1afa7cc019b644f33876e98b16a00d4e3796963507f87a87e058aaebe1fabe"}}, {"rule": 2, "type": "equivalent", "target": "ca2fe3f27731efae36e979cc401b5d26", "evidence": {"same_day": true, "patch_ids": ["c2dea10c2eaf9a14751919026d5a82f0"], "statement_hash": "9a1afa7cc019b644f33876e98b16a00d4e3796963507f87a87e058aaebe1fabe"}}], "version": "12.5", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "adf19289b8ccad8481294cf61720a125", "kind": "equivalent", "version": "11.10", "label": "11.10", "title": "避免并行工作进程报告很长的错误消息时卡死", "evidence": {"same_day": true, "patch_ids": ["c2dea10c2eaf9a14751919026d5a82f0"], "statement_hash": "9a1afa7cc019b644f33876e98b16a00d4e3796963507f87a87e058aaebe1fabe"}, "url": "/docs/compare/?release=11.10#11.10-e03c8a138e007d95", "source_url": "/docs/release/11.10/#id-1.11.6.17.5"}, {"db_id": "66672a1540adc34224fa39b4fbc3deff", "kind": "equivalent", "version": "10.15", "label": "10.15", "title": "避免并行工作进程报告很长的错误消息时卡死", "evidence": {"same_day": true, "patch_ids": ["c2dea10c2eaf9a14751919026d5a82f0"], "statement_hash": "9a1afa7cc019b644f33876e98b16a00d4e3796963507f87a87e058aaebe1fabe"}, "url": "/docs/compare/?release=10.15#10.15-e03c8a138e007d95", "source_url": "/docs/release/10.15/#id-1.11.6.13.5"}, {"db_id": "38691d1ad3e39be8aa41d7fb3c16628c", "kind": "equivalent", "version": "9.6.20", "label": "9.6.20", "title": "避免并行工作者报告很长的错误消息时的锁死", "evidence": {"same_day": true, "patch_ids": ["c2dea10c2eaf9a14751919026d5a82f0"], "statement_hash": "9a1afa7cc019b644f33876e98b16a00d4e3796963507f87a87e058aaebe1fabe"}, "url": "/docs/compare/?release=9.6.20#9.6.20-c539e3641874b0fb", "source_url": "/docs/release/9.6.20/#id-1.11.6.9.5"}, {"db_id": "ca2fe3f27731efae36e979cc401b5d26", "kind": "equivalent", "version": "9.5.24", "label": "9.5.24", "title": "避免并行工作者报告很长的错误消息时的锁死", "evidence": {"same_day": true, "patch_ids": ["c2dea10c2eaf9a14751919026d5a82f0"], "statement_hash": "9a1afa7cc019b644f33876e98b16a00d4e3796963507f87a87e058aaebe1fabe"}, "url": "/docs/compare/?release=9.5.24#9.5.24-c539e3641874b0fb", "source_url": "/docs/release/9.5.24/#id-1.11.6.6.6"}]}, {"id": "12.5-7887982efb40aae8", "cves": [], "html": "<p>避免通过共享内存队列传输很大的数据载荷时发生不必要的失败（Markus Wanner）<a href=\"https://postgr.es/c/bd0677bb8\">§</a></p>", "text": "避免通过共享内存队列传输很大的数据载荷时发生不必要的失败（Markus Wanner）§", "title": "避免通过共享内存队列传输很大的数据载荷时发生不必要的失败", "commits": ["bd0677bb8"], "section": "变更", "category": "improvement", "source_url": "/docs/release/12.5/#id-1.11.6.23.5", "source_hash": "04fee37e5328ee9f1612feec8ef01dee9a27e70812c18d5708d8689003bb7cda", "section_path": ["变更"], "commit_groups": [["1f53d0b9f", "6e03a8a30", "bd0677bb8", "d27c18d26", "d4e654d15", "f78ebbe68"]], "identity_text": "Avoid unnecessary failure when transferring very large payloads through shared memory queues (Markus Wanner)", "commit_aliases": ["1f53d0b9f", "6e03a8a30", "bd0677bb8", "d27c18d26", "d4e654d15", "f78ebbe68"], "source_commits": ["bd0677bb8"], "source_entry_id": "12.5/changes/041", "db_id": "12ff41f26722da3cc3a0ed8a75a9eec6", "patch_ids": ["f1543ff09429b9ab4c2897da71522546"], "statement_hash": "9b370220379a888f4a09f8f6cdaa9cfeaf1a181713b0a53730f6f0128b090878", "relations": [{"rule": 2, "type": "equivalent", "target": "4ba2ea381edaca1a2af12cc610701790", "evidence": {"same_day": true, "patch_ids": ["f1543ff09429b9ab4c2897da71522546"], "statement_hash": "9b370220379a888f4a09f8f6cdaa9cfeaf1a181713b0a53730f6f0128b090878"}}, {"rule": 2, "type": "equivalent", "target": "722acae857036426760487d25452bcc2", "evidence": {"same_day": true, "patch_ids": ["f1543ff09429b9ab4c2897da71522546"], "statement_hash": "9b370220379a888f4a09f8f6cdaa9cfeaf1a181713b0a53730f6f0128b090878"}}, {"rule": 2, "type": "equivalent", "target": "bb9141f24650e5106970fe90e0922e78", "evidence": {"same_day": true, "patch_ids": ["f1543ff09429b9ab4c2897da71522546"], "statement_hash": "9b370220379a888f4a09f8f6cdaa9cfeaf1a181713b0a53730f6f0128b090878"}}, {"rule": 2, "type": "equivalent", "target": "dece852415693fdfc7ab729e403fbc5e", "evidence": {"same_day": true, "patch_ids": ["f1543ff09429b9ab4c2897da71522546"], "statement_hash": "9b370220379a888f4a09f8f6cdaa9cfeaf1a181713b0a53730f6f0128b090878"}}, {"rule": 2, "type": "equivalent", "target": "e93b23d1f0a5d1a9e2736c1b8a37d392", "evidence": {"same_day": true, "patch_ids": ["f1543ff09429b9ab4c2897da71522546"], "statement_hash": "9b370220379a888f4a09f8f6cdaa9cfeaf1a181713b0a53730f6f0128b090878"}}], "version": "12.5", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "dece852415693fdfc7ab729e403fbc5e", "kind": "equivalent", "version": "13.1", "label": "13.1", "title": "避免通过共享内存队列传输很大的数据载荷时发生不必要的失败", "evidence": {"same_day": true, "patch_ids": ["f1543ff09429b9ab4c2897da71522546"], "statement_hash": "9b370220379a888f4a09f8f6cdaa9cfeaf1a181713b0a53730f6f0128b090878"}, "url": "/docs/compare/?release=13.1#13.1-210e18fd8bf5ac2c", "source_url": "/docs/release/13.1/#id-1.11.6.28.5"}, {"db_id": "4ba2ea381edaca1a2af12cc610701790", "kind": "equivalent", "version": "11.10", "label": "11.10", "title": "避免通过共享内存队列传输很大的数据载荷时发生不必要的失败", "evidence": {"same_day": true, "patch_ids": ["f1543ff09429b9ab4c2897da71522546"], "statement_hash": "9b370220379a888f4a09f8f6cdaa9cfeaf1a181713b0a53730f6f0128b090878"}, "url": "/docs/compare/?release=11.10#11.10-53e2e6de806fd956", "source_url": "/docs/release/11.10/#id-1.11.6.17.5"}, {"db_id": "e93b23d1f0a5d1a9e2736c1b8a37d392", "kind": "equivalent", "version": "10.15", "label": "10.15", "title": "避免通过共享内存队列传输很大的数据载荷时发生不必要的失败", "evidence": {"same_day": true, "patch_ids": ["f1543ff09429b9ab4c2897da71522546"], "statement_hash": "9b370220379a888f4a09f8f6cdaa9cfeaf1a181713b0a53730f6f0128b090878"}, "url": "/docs/compare/?release=10.15#10.15-53e2e6de806fd956", "source_url": "/docs/release/10.15/#id-1.11.6.13.5"}, {"db_id": "bb9141f24650e5106970fe90e0922e78", "kind": "equivalent", "version": "9.6.20", "label": "9.6.20", "title": "避免通过共享内存队列传输超大载荷时不必要的失败", "evidence": {"same_day": true, "patch_ids": ["f1543ff09429b9ab4c2897da71522546"], "statement_hash": "9b370220379a888f4a09f8f6cdaa9cfeaf1a181713b0a53730f6f0128b090878"}, "url": "/docs/compare/?release=9.6.20#9.6.20-f65391a2541e01bc", "source_url": "/docs/release/9.6.20/#id-1.11.6.9.5"}, {"db_id": "722acae857036426760487d25452bcc2", "kind": "equivalent", "version": "9.5.24", "label": "9.5.24", "title": "避免通过共享内存队列传输超大载荷时不必要的失败", "evidence": {"same_day": true, "patch_ids": ["f1543ff09429b9ab4c2897da71522546"], "statement_hash": "9b370220379a888f4a09f8f6cdaa9cfeaf1a181713b0a53730f6f0128b090878"}, "url": "/docs/compare/?release=9.5.24#9.5.24-f65391a2541e01bc", "source_url": "/docs/release/9.5.24/#id-1.11.6.6.6"}]}, {"id": "12.5-c8bb8dc7c5c97a78", "cves": [], "html": "<p>修复 JIT 代码生成中对模板函数属性的不正确处理（Andres Freund）<a href=\"https://postgr.es/c/c8a2bb0f1\">§</a> <a href=\"https://postgr.es/c/c835c7ffe\">§</a></p>\n<p>已证实这会在 <code>s390x</code> 上导致崩溃，而且其他平台上很可能也存在其他情况。</p>", "text": "修复 JIT 代码生成中对模板函数属性的不正确处理（Andres Freund）§ § 已证实这会在 s390x 上导致崩溃，而且其他平台上很可能也存在其他情况。", "title": "修复 JIT 代码生成中对模板函数属性的不正确处理", "commits": ["c835c7ffe", "c8a2bb0f1"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/12.5/#id-1.11.6.23.5", "source_hash": "b38247306188a7b84db7bf1c98c52593de3359ee058bcf90b2768e3bbc8142a9", "section_path": ["变更"], "commit_groups": [["4a4f4487d", "c835c7ffe", "efc9a8e98", "fe2a16d8b"], ["72559438f", "ae3e75aba", "c8a2bb0f1", "f3dee5b9a"]], "identity_text": "Fix incorrect handling of template function attributes in JIT code generation (Andres Freund) This has been shown to cause crashes on s390x, and very possibly there are other cases on other platforms.", "commit_aliases": ["4a4f4487d", "72559438f", "ae3e75aba", "c835c7ffe", "c8a2bb0f1", "efc9a8e98", "f3dee5b9a", "fe2a16d8b"], "source_commits": ["c835c7ffe", "c8a2bb0f1"], "source_entry_id": "12.5/changes/042", "db_id": "476af4bcdb407a549269c7e4f1c0b24e", "patch_ids": ["14997dfbf3961affbcf31ee3fff6f2d7", "8936ee1f49335cc56e6723c7fd14b16b"], "statement_hash": "8193cb342ca0b4d2f1847ec58f574e19a3ccaac85b81b25d315517803f81831c", "relations": [{"rule": 2, "type": "equivalent", "target": "09db2f8a5b82ecab5291e44b000f8f1b", "evidence": {"same_day": true, "patch_ids": ["14997dfbf3961affbcf31ee3fff6f2d7", "8936ee1f49335cc56e6723c7fd14b16b"], "statement_hash": "8193cb342ca0b4d2f1847ec58f574e19a3ccaac85b81b25d315517803f81831c"}}, {"rule": 2, "type": "equivalent", "target": "8aa117ba3c853d8730288d455829a2cf", "evidence": {"same_day": true, "patch_ids": ["14997dfbf3961affbcf31ee3fff6f2d7", "8936ee1f49335cc56e6723c7fd14b16b"], "statement_hash": "8193cb342ca0b4d2f1847ec58f574e19a3ccaac85b81b25d315517803f81831c"}}], "version": "12.5", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "8aa117ba3c853d8730288d455829a2cf", "kind": "equivalent", "version": "13.1", "label": "13.1", "title": "修复 JIT 代码生成中对模板函数属性的不正确处理", "evidence": {"same_day": true, "patch_ids": ["14997dfbf3961affbcf31ee3fff6f2d7", "8936ee1f49335cc56e6723c7fd14b16b"], "statement_hash": "8193cb342ca0b4d2f1847ec58f574e19a3ccaac85b81b25d315517803f81831c"}, "url": "/docs/compare/?release=13.1#13.1-ed3aae7a8e31af6f", "source_url": "/docs/release/13.1/#id-1.11.6.28.5"}, {"db_id": "09db2f8a5b82ecab5291e44b000f8f1b", "kind": "equivalent", "version": "11.10", "label": "11.10", "title": "修复 JIT 代码生成中对模板函数属性的不正确处理", "evidence": {"same_day": true, "patch_ids": ["14997dfbf3961affbcf31ee3fff6f2d7", "8936ee1f49335cc56e6723c7fd14b16b"], "statement_hash": "8193cb342ca0b4d2f1847ec58f574e19a3ccaac85b81b25d315517803f81831c"}, "url": "/docs/compare/?release=11.10#11.10-6de6a93aeed9ffbf", "source_url": "/docs/release/11.10/#id-1.11.6.17.5"}]}, {"id": "12.5-b4dac1df6e1c72f6", "cves": [], "html": "<p>修复 RLS 策略相关的关系缓存内存泄漏（Tom Lane）<a href=\"https://postgr.es/c/bda32733c\">§</a></p>", "text": "修复 RLS 策略相关的关系缓存内存泄漏（Tom Lane）§", "title": "修复 RLS 策略相关的关系缓存内存泄漏", "commits": ["bda32733c"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/12.5/#id-1.11.6.23.5", "source_hash": "3deeea70a5b87f4cac811ffa62385d293b627a2c7febd5b0846962e59c246a75", "section_path": ["变更"], "commit_groups": [["acab757ce", "bda32733c", "bf34ae930", "dd89ba578", "de6725deb", "e55f718fc", "f7873900f"]], "identity_text": "Fix relation cache memory leaks with RLS policies (Tom Lane)", "commit_aliases": ["acab757ce", "bda32733c", "bf34ae930", "dd89ba578", "de6725deb", "e55f718fc", "f7873900f"], "source_commits": ["bda32733c"], "source_entry_id": "12.5/changes/043", "db_id": "1d1e000571e98ddba13a80b34159607c", "patch_ids": ["c24aa3c25cf4a9d607cd0598510176a8"], "statement_hash": "79cb4e31c8b65a7fae0c050240167102daaf3fa393b29d81235d95db94f424a6", "relations": [{"rule": 2, "type": "equivalent", "target": "07c3f5f11a8d2c9b2f973d49833ab88a", "evidence": {"same_day": true, "patch_ids": ["c24aa3c25cf4a9d607cd0598510176a8"], "statement_hash": "79cb4e31c8b65a7fae0c050240167102daaf3fa393b29d81235d95db94f424a6"}}, {"rule": 2, "type": "equivalent", "target": "3d75c60cd5c1cd0602d6a8ef90e7175f", "evidence": {"same_day": true, "patch_ids": ["c24aa3c25cf4a9d607cd0598510176a8"], "statement_hash": "79cb4e31c8b65a7fae0c050240167102daaf3fa393b29d81235d95db94f424a6"}}, {"rule": 2, "type": "equivalent", "target": "7b847625301e69666a78bf22a37c5dbb", "evidence": {"same_day": true, "patch_ids": ["c24aa3c25cf4a9d607cd0598510176a8"], "statement_hash": "79cb4e31c8b65a7fae0c050240167102daaf3fa393b29d81235d95db94f424a6"}}, {"rule": 2, "type": "equivalent", "target": "96cd0fff2b6e9846599349b6ba5d2bd9", "evidence": {"same_day": true, "patch_ids": ["c24aa3c25cf4a9d607cd0598510176a8"], "statement_hash": "79cb4e31c8b65a7fae0c050240167102daaf3fa393b29d81235d95db94f424a6"}}, {"rule": 2, "type": "equivalent", "target": "b391f3e10b25d2204b81bd3ea8bad6d7", "evidence": {"same_day": true, "patch_ids": ["c24aa3c25cf4a9d607cd0598510176a8"], "statement_hash": "79cb4e31c8b65a7fae0c050240167102daaf3fa393b29d81235d95db94f424a6"}}], "version": "12.5", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "3d75c60cd5c1cd0602d6a8ef90e7175f", "kind": "equivalent", "version": "13.1", "label": "13.1", "title": "修复 RLS 策略相关的关系缓存内存泄漏", "evidence": {"same_day": true, "patch_ids": ["c24aa3c25cf4a9d607cd0598510176a8"], "statement_hash": "79cb4e31c8b65a7fae0c050240167102daaf3fa393b29d81235d95db94f424a6"}, "url": "/docs/compare/?release=13.1#13.1-fc30b1fb28ea1177", "source_url": "/docs/release/13.1/#id-1.11.6.28.5"}, {"db_id": "96cd0fff2b6e9846599349b6ba5d2bd9", "kind": "equivalent", "version": "11.10", "label": "11.10", "title": "修复 RLS 策略相关的关系缓存内存泄漏", "evidence": {"same_day": true, "patch_ids": ["c24aa3c25cf4a9d607cd0598510176a8"], "statement_hash": "79cb4e31c8b65a7fae0c050240167102daaf3fa393b29d81235d95db94f424a6"}, "url": "/docs/compare/?release=11.10#11.10-3873eccb92206723", "source_url": "/docs/release/11.10/#id-1.11.6.17.5"}, {"db_id": "07c3f5f11a8d2c9b2f973d49833ab88a", "kind": "equivalent", "version": "10.15", "label": "10.15", "title": "修复 RLS 策略相关的关系缓存内存泄漏", "evidence": {"same_day": true, "patch_ids": ["c24aa3c25cf4a9d607cd0598510176a8"], "statement_hash": "79cb4e31c8b65a7fae0c050240167102daaf3fa393b29d81235d95db94f424a6"}, "url": "/docs/compare/?release=10.15#10.15-3873eccb92206723", "source_url": "/docs/release/10.15/#id-1.11.6.13.5"}, {"db_id": "b391f3e10b25d2204b81bd3ea8bad6d7", "kind": "equivalent", "version": "9.6.20", "label": "9.6.20", "title": "修复 RLS 策略导致的关系缓存内存泄漏", "evidence": {"same_day": true, "patch_ids": ["c24aa3c25cf4a9d607cd0598510176a8"], "statement_hash": "79cb4e31c8b65a7fae0c050240167102daaf3fa393b29d81235d95db94f424a6"}, "url": "/docs/compare/?release=9.6.20#9.6.20-5a50c23ad7cada50", "source_url": "/docs/release/9.6.20/#id-1.11.6.9.5"}, {"db_id": "7b847625301e69666a78bf22a37c5dbb", "kind": "equivalent", "version": "9.5.24", "label": "9.5.24", "title": "修复 RLS 策略导致的关系缓存内存泄漏", "evidence": {"same_day": true, "patch_ids": ["c24aa3c25cf4a9d607cd0598510176a8"], "statement_hash": "79cb4e31c8b65a7fae0c050240167102daaf3fa393b29d81235d95db94f424a6"}, "url": "/docs/compare/?release=9.5.24#9.5.24-5a50c23ad7cada50", "source_url": "/docs/release/9.5.24/#id-1.11.6.6.6"}]}, {"id": "12.5-80bb1a21a38a3a1c", "cves": [], "html": "<p>修复 <code>index_get_partition()</code> 在边界情况下的内存泄漏（Justin Pryzby）<a href=\"https://postgr.es/c/8ad6a0c1b\">§</a></p>", "text": "修复 index_get_partition() 在边界情况下的内存泄漏（Justin Pryzby）§", "title": "修复 index_get_partition() 在边界情况下的内存泄漏", "commits": ["8ad6a0c1b"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/12.5/#id-1.11.6.23.5", "source_hash": "8c5dffcf04f5d80d2297d926788f0ee339d1a98e93a4bc786b9ef2f8f1e49f7e", "section_path": ["变更"], "commit_groups": [["623644f02", "8ad6a0c1b", "d94d37f8c"]], "identity_text": "Fix edge-case memory leak in index_get_partition() (Justin Pryzby)", "commit_aliases": ["623644f02", "8ad6a0c1b", "d94d37f8c"], "source_commits": ["8ad6a0c1b"], "source_entry_id": "12.5/changes/044", "db_id": "ae209c36e41012a6cf82f811f8f62e75", "patch_ids": ["8abd069b771dbc3d45325337ae61e3dd"], "statement_hash": "bfa51173e680610ec586ca4a627bacb5fd70d0a766124b2bf5c1e75949063e00", "relations": [{"rule": 2, "type": "equivalent", "target": "088d1b3fadfcf2a6de8436e9fd35ab47", "evidence": {"same_day": true, "patch_ids": ["8abd069b771dbc3d45325337ae61e3dd"], "statement_hash": "bfa51173e680610ec586ca4a627bacb5fd70d0a766124b2bf5c1e75949063e00"}}], "version": "12.5", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "088d1b3fadfcf2a6de8436e9fd35ab47", "kind": "equivalent", "version": "13.1", "label": "13.1", "title": "修复 index_get_partition() 在边界情况下的内存泄漏", "evidence": {"same_day": true, "patch_ids": ["8abd069b771dbc3d45325337ae61e3dd"], "statement_hash": "bfa51173e680610ec586ca4a627bacb5fd70d0a766124b2bf5c1e75949063e00"}, "url": "/docs/compare/?release=13.1#13.1-f52a7d16d401d3dc", "source_url": "/docs/release/13.1/#id-1.11.6.28.5"}]}, {"id": "12.5-1d7c96a719aa7a02", "cves": [], "html": "<p>修复 SIGHUP 处理判定某个 GUC 变量的新值必须重启才能应用时出现的小量内存泄漏（Tom Lane）<a href=\"https://postgr.es/c/f35c11770\">§</a></p>", "text": "修复 SIGHUP 处理判定某个 GUC 变量的新值必须重启才能应用时出现的小量内存泄漏（Tom Lane）§", "title": "修复 SIGHUP 处理判定某个 GUC 变量的新值必须重启才能应用时出现的小量内存泄漏", "commits": ["f35c11770"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/12.5/#id-1.11.6.23.5", "source_hash": "5da505ffe072bd02d31fe54e82be7d9993138a9cee4c458666676cbd65c2e212", "section_path": ["变更"], "commit_groups": [["397ea901e", "43ca5e07d", "9343bfefa", "a5c77e6b8", "c7573ab1e", "cfa4cff30", "f35c11770"]], "identity_text": "Fix small memory leak when SIGHUP processing decides that a new GUC variable value cannot be applied without a restart (Tom Lane)", "commit_aliases": ["397ea901e", "43ca5e07d", "9343bfefa", "a5c77e6b8", "c7573ab1e", "cfa4cff30", "f35c11770"], "source_commits": ["f35c11770"], "source_entry_id": "12.5/changes/045", "db_id": "509d82dee875e19aea96bee48e3e49bf", "patch_ids": ["c33393f6e879fadc7ea327660916e5c1"], "statement_hash": "ebb2c0e9b0854b0d6d7dad9a3f3dfa2d53fea99cc4b20ca90b674c1555c26f00", "relations": [{"rule": 2, "type": "equivalent", "target": "0be0283de15f1b9d28b4fe88d79cf481", "evidence": {"same_day": true, "patch_ids": ["c33393f6e879fadc7ea327660916e5c1"], "statement_hash": "ebb2c0e9b0854b0d6d7dad9a3f3dfa2d53fea99cc4b20ca90b674c1555c26f00"}}, {"rule": 2, "type": "equivalent", "target": "82baed7f6bc4e4089d9fa33cd5906ed1", "evidence": {"same_day": true, "patch_ids": ["c33393f6e879fadc7ea327660916e5c1"], "statement_hash": "ebb2c0e9b0854b0d6d7dad9a3f3dfa2d53fea99cc4b20ca90b674c1555c26f00"}}, {"rule": 2, "type": "equivalent", "target": "a373153a55f8a80e8ddf4a2c75367c01", "evidence": {"same_day": true, "patch_ids": ["c33393f6e879fadc7ea327660916e5c1"], "statement_hash": "ebb2c0e9b0854b0d6d7dad9a3f3dfa2d53fea99cc4b20ca90b674c1555c26f00"}}, {"rule": 2, "type": "equivalent", "target": "e3ce1a7779af456eb60753c476539994", "evidence": {"same_day": true, "patch_ids": ["c33393f6e879fadc7ea327660916e5c1"], "statement_hash": "ebb2c0e9b0854b0d6d7dad9a3f3dfa2d53fea99cc4b20ca90b674c1555c26f00"}}, {"rule": 2, "type": "equivalent", "target": "fb7d08b18e099bd56d514ea6ca3b5ea0", "evidence": {"same_day": true, "patch_ids": ["c33393f6e879fadc7ea327660916e5c1"], "statement_hash": "ebb2c0e9b0854b0d6d7dad9a3f3dfa2d53fea99cc4b20ca90b674c1555c26f00"}}], "version": "12.5", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "a373153a55f8a80e8ddf4a2c75367c01", "kind": "equivalent", "version": "13.1", "label": "13.1", "title": "修复 SIGHUP 处理判定某个 GUC 变量的新值必须重启才能应用时出现的小量内存泄漏", "evidence": {"same_day": true, "patch_ids": ["c33393f6e879fadc7ea327660916e5c1"], "statement_hash": "ebb2c0e9b0854b0d6d7dad9a3f3dfa2d53fea99cc4b20ca90b674c1555c26f00"}, "url": "/docs/compare/?release=13.1#13.1-6cc9fe20ad617d75", "source_url": "/docs/release/13.1/#id-1.11.6.28.5"}, {"db_id": "0be0283de15f1b9d28b4fe88d79cf481", "kind": "equivalent", "version": "11.10", "label": "11.10", "title": "修复 SIGHUP 处理判定某个 GUC 变量的新值必须重启才能应用时出现的小量内存泄漏", "evidence": {"same_day": true, "patch_ids": ["c33393f6e879fadc7ea327660916e5c1"], "statement_hash": "ebb2c0e9b0854b0d6d7dad9a3f3dfa2d53fea99cc4b20ca90b674c1555c26f00"}, "url": "/docs/compare/?release=11.10#11.10-418a4d7581b7a8c6", "source_url": "/docs/release/11.10/#id-1.11.6.17.5"}, {"db_id": "e3ce1a7779af456eb60753c476539994", "kind": "equivalent", "version": "10.15", "label": "10.15", "title": "修复 SIGHUP 处理判定某个 GUC 变量的新值必须重启才能应用时出现的小量内存泄漏", "evidence": {"same_day": true, "patch_ids": ["c33393f6e879fadc7ea327660916e5c1"], "statement_hash": "ebb2c0e9b0854b0d6d7dad9a3f3dfa2d53fea99cc4b20ca90b674c1555c26f00"}, "url": "/docs/compare/?release=10.15#10.15-418a4d7581b7a8c6", "source_url": "/docs/release/10.15/#id-1.11.6.13.5"}, {"db_id": "fb7d08b18e099bd56d514ea6ca3b5ea0", "kind": "equivalent", "version": "9.6.20", "label": "9.6.20", "title": "修复 SIGHUP 处理判定新的 GUC 变量值必须重启才能应用时的小内存泄漏", "evidence": {"same_day": true, "patch_ids": ["c33393f6e879fadc7ea327660916e5c1"], "statement_hash": "ebb2c0e9b0854b0d6d7dad9a3f3dfa2d53fea99cc4b20ca90b674c1555c26f00"}, "url": "/docs/compare/?release=9.6.20#9.6.20-53884971cdd88e59", "source_url": "/docs/release/9.6.20/#id-1.11.6.9.5"}, {"db_id": "82baed7f6bc4e4089d9fa33cd5906ed1", "kind": "equivalent", "version": "9.5.24", "label": "9.5.24", "title": "修复 SIGHUP 处理判定新的 GUC 变量值必须重启才能应用时的小内存泄漏", "evidence": {"same_day": true, "patch_ids": ["c33393f6e879fadc7ea327660916e5c1"], "statement_hash": "ebb2c0e9b0854b0d6d7dad9a3f3dfa2d53fea99cc4b20ca90b674c1555c26f00"}, "url": "/docs/compare/?release=9.5.24#9.5.24-53884971cdd88e59", "source_url": "/docs/release/9.5.24/#id-1.11.6.6.6"}]}, {"id": "12.5-866265e1d961abac", "cves": [], "html": "<p>修复 <span>PL/pgsql</span> 的 <code>CALL</code> 处理中的内存泄漏（Pavel Stehule，Tom Lane）<a href=\"https://postgr.es/c/c1e044bb3\">§</a></p>", "text": "修复 PL/pgsql 的 CALL 处理中的内存泄漏（Pavel Stehule，Tom Lane）§", "title": "修复 PL/pgsql 的 CALL 处理中的内存泄漏", "commits": ["c1e044bb3"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/12.5/#id-1.11.6.23.5", "source_hash": "46ec53b1e80c002df96fbf925fea733e00d6e2f6a2a6cf546566108b2a9004bf", "section_path": ["变更"], "commit_groups": [["13a1901ba", "a6b1f5365", "c1e044bb3", "f0e4ec74e"]], "identity_text": "Fix memory leaks in PL/pgsql's CALL processing (Pavel Stehule, Tom Lane)", "commit_aliases": ["13a1901ba", "a6b1f5365", "c1e044bb3", "f0e4ec74e"], "source_commits": ["c1e044bb3"], "source_entry_id": "12.5/changes/046", "db_id": "ebd7cdb9cf09146bff9cc934504b0268", "patch_ids": ["350df6d49f15995f06df958aaeabe314"], "statement_hash": "c97d124169f3a40de3e5f38f514078208298c8b00f830e234fcae66e6fcc0424", "relations": [{"rule": 2, "type": "equivalent", "target": "2a4ce31836e51abb821e20352c7759b1", "evidence": {"same_day": true, "patch_ids": ["350df6d49f15995f06df958aaeabe314"], "statement_hash": "c97d124169f3a40de3e5f38f514078208298c8b00f830e234fcae66e6fcc0424"}}, {"rule": 2, "type": "equivalent", "target": "f091620e4b07fff3fdc8824f15494487", "evidence": {"same_day": true, "patch_ids": ["350df6d49f15995f06df958aaeabe314"], "statement_hash": "c97d124169f3a40de3e5f38f514078208298c8b00f830e234fcae66e6fcc0424"}}], "version": "12.5", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "f091620e4b07fff3fdc8824f15494487", "kind": "equivalent", "version": "13.1", "label": "13.1", "title": "修复 PL/pgsql 的 CALL 处理中的内存泄漏", "evidence": {"same_day": true, "patch_ids": ["350df6d49f15995f06df958aaeabe314"], "statement_hash": "c97d124169f3a40de3e5f38f514078208298c8b00f830e234fcae66e6fcc0424"}, "url": "/docs/compare/?release=13.1#13.1-5d78588bfec39c5a", "source_url": "/docs/release/13.1/#id-1.11.6.28.5"}, {"db_id": "2a4ce31836e51abb821e20352c7759b1", "kind": "equivalent", "version": "11.10", "label": "11.10", "title": "修复 PL/pgsql 的 CALL 处理中的内存泄漏", "evidence": {"same_day": true, "patch_ids": ["350df6d49f15995f06df958aaeabe314"], "statement_hash": "c97d124169f3a40de3e5f38f514078208298c8b00f830e234fcae66e6fcc0424"}, "url": "/docs/compare/?release=11.10#11.10-b7f618c877c9b2ff", "source_url": "/docs/release/11.10/#id-1.11.6.17.5"}]}, {"id": "12.5-4a1fbec55ab6bb73", "cves": [], "html": "<p>使 <span>libpq</span> 支持 <code>.pgpass</code> 文件中任意长度的行（Tom Lane）<a href=\"https://postgr.es/c/55aea0c70\">§</a> <a href=\"https://postgr.es/c/fc37c6f61\">§</a></p>\n<p>这主要用于允许将很长的安全令牌用作密码。</p>", "text": "使 libpq 支持 .pgpass 文件中任意长度的行（Tom Lane）§ § 这主要用于允许将很长的安全令牌用作密码。", "title": "使 libpq 支持 .pgpass 文件中任意长度的行", "commits": ["55aea0c70", "fc37c6f61"], "section": "变更", "category": "improvement", "source_url": "/docs/release/12.5/#id-1.11.6.23.5", "source_hash": "0c0f958bb775b35189248c78693dfe8c693be2aa767bb8771f12a4c77d75a226", "section_path": ["变更"], "commit_groups": [["0c0a3a859", "4178b7499", "55aea0c70", "8d486cfbf", "b55b4dad9", "ba23174dd", "df8020b32"], ["4d41823c5", "546479f34", "8df601bd4", "d7ae549e3", "fc37c6f61"]], "identity_text": "Make libpq support arbitrary-length lines in .pgpass files (Tom Lane) This is mostly useful to allow using very long security tokens as passwords.", "commit_aliases": ["0c0a3a859", "4178b7499", "4d41823c5", "546479f34", "55aea0c70", "8d486cfbf", "8df601bd4", "b55b4dad9", "ba23174dd", "d7ae549e3", "df8020b32", "fc37c6f61"], "source_commits": ["55aea0c70", "fc37c6f61"], "source_entry_id": "12.5/changes/047", "db_id": "42985fac1d65c9be84f4309528a5cc93", "patch_ids": ["2951f41d3eeb6c1a9df52e929f7316a7", "c7b0b5432d7230e7d6eaec7c119c6292"], "statement_hash": "b34f03452c03656619e8482178cbd67b9a43704fb74edfb899e9320794189587", "relations": [{"rule": 2, "type": "equivalent", "target": "226b9718830bf38fe8891045cd1d0647", "evidence": {"same_day": true, "patch_ids": ["2951f41d3eeb6c1a9df52e929f7316a7", "c7b0b5432d7230e7d6eaec7c119c6292"], "statement_hash": "b34f03452c03656619e8482178cbd67b9a43704fb74edfb899e9320794189587"}}, {"rule": 2, "type": "equivalent", "target": "7ab509524aab4c60c5a68bcd37aa7242", "evidence": {"same_day": true, "patch_ids": ["2951f41d3eeb6c1a9df52e929f7316a7", "c7b0b5432d7230e7d6eaec7c119c6292"], "statement_hash": "b34f03452c03656619e8482178cbd67b9a43704fb74edfb899e9320794189587"}}, {"rule": 2, "type": "equivalent", "target": "92c53642b4a035ddb2479098010e33a5", "evidence": {"same_day": true, "patch_ids": ["2951f41d3eeb6c1a9df52e929f7316a7", "c7b0b5432d7230e7d6eaec7c119c6292"], "statement_hash": "b34f03452c03656619e8482178cbd67b9a43704fb74edfb899e9320794189587"}}, {"rule": 2, "type": "equivalent", "target": "a8756cf7c9f018cdc0b1de84f1974ed2", "evidence": {"same_day": true, "patch_ids": ["2951f41d3eeb6c1a9df52e929f7316a7", "c7b0b5432d7230e7d6eaec7c119c6292"], "statement_hash": "b34f03452c03656619e8482178cbd67b9a43704fb74edfb899e9320794189587"}}], "version": "12.5", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "7ab509524aab4c60c5a68bcd37aa7242", "kind": "equivalent", "version": "11.10", "label": "11.10", "title": "使 libpq 支持 .pgpass 文件中任意长度的行", "evidence": {"same_day": true, "patch_ids": ["2951f41d3eeb6c1a9df52e929f7316a7", "c7b0b5432d7230e7d6eaec7c119c6292"], "statement_hash": "b34f03452c03656619e8482178cbd67b9a43704fb74edfb899e9320794189587"}, "url": "/docs/compare/?release=11.10#11.10-13ee787597e73f7c", "source_url": "/docs/release/11.10/#id-1.11.6.17.5"}, {"db_id": "92c53642b4a035ddb2479098010e33a5", "kind": "equivalent", "version": "10.15", "label": "10.15", "title": "使 libpq 支持 .pgpass 文件中任意长度的行", "evidence": {"same_day": true, "patch_ids": ["2951f41d3eeb6c1a9df52e929f7316a7", "c7b0b5432d7230e7d6eaec7c119c6292"], "statement_hash": "b34f03452c03656619e8482178cbd67b9a43704fb74edfb899e9320794189587"}, "url": "/docs/compare/?release=10.15#10.15-13ee787597e73f7c", "source_url": "/docs/release/10.15/#id-1.11.6.13.5"}, {"db_id": "226b9718830bf38fe8891045cd1d0647", "kind": "equivalent", "version": "9.6.20", "label": "9.6.20", "title": "让 libpq 支持 .pgpass 文件中任意长度的行", "evidence": {"same_day": true, "patch_ids": ["2951f41d3eeb6c1a9df52e929f7316a7", "c7b0b5432d7230e7d6eaec7c119c6292"], "statement_hash": "b34f03452c03656619e8482178cbd67b9a43704fb74edfb899e9320794189587"}, "url": "/docs/compare/?release=9.6.20#9.6.20-56fef15f6bf39ed2", "source_url": "/docs/release/9.6.20/#id-1.11.6.9.5"}, {"db_id": "a8756cf7c9f018cdc0b1de84f1974ed2", "kind": "equivalent", "version": "9.5.24", "label": "9.5.24", "title": "让 libpq 支持 .pgpass 文件中任意长度的行", "evidence": {"same_day": true, "patch_ids": ["2951f41d3eeb6c1a9df52e929f7316a7", "c7b0b5432d7230e7d6eaec7c119c6292"], "statement_hash": "b34f03452c03656619e8482178cbd67b9a43704fb74edfb899e9320794189587"}, "url": "/docs/compare/?release=9.5.24#9.5.24-56fef15f6bf39ed2", "source_url": "/docs/release/9.5.24/#id-1.11.6.6.6"}]}, {"id": "12.5-e80962d233c1a58a", "cves": [], "html": "<p>在 Windows 版 <span>libpq</span> 中，每个进程只调用一次 <code>WSAStartup()</code>，完全不调用 <code>WSACleanup()</code>（Tom Lane，Alexander Lakhin）<a href=\"https://postgr.es/c/407580aab\">§</a></p>\n<p>以前，<span>libpq</span> 在连接开始时调用 <code>WSAStartup()</code>，在连接清理时调用 <code>WSACleanup()</code>。但调用 <code>WSACleanup()</code> 似乎会干扰程序的其他操作；特别是，我们观察到过无法将预期输出写入 stdout 的罕见失败。省略该调用似乎没有不良影响，因此予以省略。（这还消除了程序执行一连串数据库连接时，反复加载和卸载 DLL 所造成的性能问题。）</p>", "text": "在 Windows 版 libpq 中，每个进程只调用一次 WSAStartup()，完全不调用 WSACleanup()（Tom Lane，Alexander Lakhin）§ 以前，libpq 在连接开始时调用 WSAStartup()，在连接清理时调用 WSACleanup()。但调用 WSACleanup() 似乎会干扰程序的其他操作；特别是，我们观察到过无法将预期输出写入 stdout 的罕见失败。省略该调用似乎没有不良影响，因此予以省略。（这还消除了程序执行一连串数据库连接时，反复加载和卸载 DLL 所造成的性能问题。）", "title": "在 Windows 版 libpq 中，每个进程只调用一次 WSAStartup()，完全不调用 WSACleanup()", "commits": ["407580aab"], "section": "变更", "category": "improvement", "source_url": "/docs/release/12.5/#id-1.11.6.23.5", "source_hash": "2c927d26bb6246c967e0db4f8769eaeb7cde45299a6e34467f547c10e255f2b5", "section_path": ["变更"], "commit_groups": [["407580aab", "6670e9107", "6acc31a20", "7d00a6b2d", "883226441", "cdc7ace16", "d2074daeb"]], "identity_text": "In libpq for Windows, call WSAStartup() once per process and WSACleanup() not at all (Tom Lane, Alexander Lakhin) Previously, libpq invoked WSAStartup() at connection start and WSACleanup() at connection cleanup. However, it appears that calling WSACleanup() can interfere with other program operations; notably, we have observed rare failures to emit expected output to stdout. There appear to be no ill effects from omitting the call, so do that. (This also eliminates a performance issue from repeated DLL loads and unloads when a program performs a series of database connections.)", "commit_aliases": ["407580aab", "6670e9107", "6acc31a20", "7d00a6b2d", "883226441", "cdc7ace16", "d2074daeb"], "source_commits": ["407580aab"], "source_entry_id": "12.5/changes/048", "db_id": "b2230b031cd5496b65a99fb8f06b34a6", "patch_ids": ["bd2de89de7c58c241872e1d25f8c6962"], "statement_hash": "53d8663be6ae9751ccb3dde62703a45a228e9f4f6d96f1b92d0100eb51f5d1c4", "relations": [{"rule": 2, "type": "equivalent", "target": "49590203e538551c9c91e4b6b8ad895d", "evidence": {"same_day": true, "patch_ids": ["bd2de89de7c58c241872e1d25f8c6962"], "statement_hash": "53d8663be6ae9751ccb3dde62703a45a228e9f4f6d96f1b92d0100eb51f5d1c4"}}, {"rule": 2, "type": "equivalent", "target": "b799ee795c42f584d54fb75fe00674ad", "evidence": {"same_day": true, "patch_ids": ["bd2de89de7c58c241872e1d25f8c6962"], "statement_hash": "53d8663be6ae9751ccb3dde62703a45a228e9f4f6d96f1b92d0100eb51f5d1c4"}}, {"rule": 2, "type": "equivalent", "target": "e172f23ad3c58dbb9c06c75a27dbccc8", "evidence": {"same_day": true, "patch_ids": ["bd2de89de7c58c241872e1d25f8c6962"], "statement_hash": "53d8663be6ae9751ccb3dde62703a45a228e9f4f6d96f1b92d0100eb51f5d1c4"}}, {"rule": 2, "type": "equivalent", "target": "e5f84643de5061ea41929a264d95d11f", "evidence": {"same_day": true, "patch_ids": ["bd2de89de7c58c241872e1d25f8c6962"], "statement_hash": "53d8663be6ae9751ccb3dde62703a45a228e9f4f6d96f1b92d0100eb51f5d1c4"}}, {"rule": 2, "type": "equivalent", "target": "ff3e868befa45aef3ed64fbcffa619da", "evidence": {"same_day": true, "patch_ids": ["bd2de89de7c58c241872e1d25f8c6962"], "statement_hash": "53d8663be6ae9751ccb3dde62703a45a228e9f4f6d96f1b92d0100eb51f5d1c4"}}], "version": "12.5", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "e172f23ad3c58dbb9c06c75a27dbccc8", "kind": "equivalent", "version": "13.1", "label": "13.1", "title": "在 Windows 版 libpq 中，每个进程只调用一次 WSAStartup()，完全不调用 WSACleanup()", "evidence": {"same_day": true, "patch_ids": ["bd2de89de7c58c241872e1d25f8c6962"], "statement_hash": "53d8663be6ae9751ccb3dde62703a45a228e9f4f6d96f1b92d0100eb51f5d1c4"}, "url": "/docs/compare/?release=13.1#13.1-6506f10a9caa9696", "source_url": "/docs/release/13.1/#id-1.11.6.28.5"}, {"db_id": "49590203e538551c9c91e4b6b8ad895d", "kind": "equivalent", "version": "11.10", "label": "11.10", "title": "在 Windows 版 libpq 中，每个进程只调用一次 WSAStartup()，完全不调用 WSACleanup()", "evidence": {"same_day": true, "patch_ids": ["bd2de89de7c58c241872e1d25f8c6962"], "statement_hash": "53d8663be6ae9751ccb3dde62703a45a228e9f4f6d96f1b92d0100eb51f5d1c4"}, "url": "/docs/compare/?release=11.10#11.10-16475b1bf65ba826", "source_url": "/docs/release/11.10/#id-1.11.6.17.5"}, {"db_id": "e5f84643de5061ea41929a264d95d11f", "kind": "equivalent", "version": "10.15", "label": "10.15", "title": "在 Windows 版 libpq 中，每个进程只调用一次 WSAStartup()，完全不调用 WSACleanup()", "evidence": {"same_day": true, "patch_ids": ["bd2de89de7c58c241872e1d25f8c6962"], "statement_hash": "53d8663be6ae9751ccb3dde62703a45a228e9f4f6d96f1b92d0100eb51f5d1c4"}, "url": "/docs/compare/?release=10.15#10.15-16475b1bf65ba826", "source_url": "/docs/release/10.15/#id-1.11.6.13.5"}, {"db_id": "b799ee795c42f584d54fb75fe00674ad", "kind": "equivalent", "version": "9.6.20", "label": "9.6.20", "title": "在 Windows 的 libpq 中，每进程调用一次 WSAStartup()，完全不调用 WSACleanup()", "evidence": {"same_day": true, "patch_ids": ["bd2de89de7c58c241872e1d25f8c6962"], "statement_hash": "53d8663be6ae9751ccb3dde62703a45a228e9f4f6d96f1b92d0100eb51f5d1c4"}, "url": "/docs/compare/?release=9.6.20#9.6.20-c7326ef3480a3d5e", "source_url": "/docs/release/9.6.20/#id-1.11.6.9.5"}, {"db_id": "ff3e868befa45aef3ed64fbcffa619da", "kind": "equivalent", "version": "9.5.24", "label": "9.5.24", "title": "在 Windows 的 libpq 中，每进程调用一次 WSAStartup()，完全不调用 WSACleanup()", "evidence": {"same_day": true, "patch_ids": ["bd2de89de7c58c241872e1d25f8c6962"], "statement_hash": "53d8663be6ae9751ccb3dde62703a45a228e9f4f6d96f1b92d0100eb51f5d1c4"}, "url": "/docs/compare/?release=9.5.24#9.5.24-c7326ef3480a3d5e", "source_url": "/docs/release/9.5.24/#id-1.11.6.6.6"}]}, {"id": "12.5-2d54e279cfe61ffc", "cves": [], "html": "<p>修复 <span>ecpg</span> 库在 Windows 上的逐线程初始化逻辑（Tom Lane，Alexander Lakhin）<a href=\"https://postgr.es/c/bdc79ddd1\">§</a></p>\n<p>多线程 <span>ecpg</span> 应用可能因锁定不正确而偶发行为异常。</p>", "text": "修复 ecpg 库在 Windows 上的逐线程初始化逻辑（Tom Lane，Alexander Lakhin）§ 多线程 ecpg 应用可能因锁定不正确而偶发行为异常。", "title": "修复 ecpg 库在 Windows 上的逐线程初始化逻辑", "commits": ["bdc79ddd1"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/12.5/#id-1.11.6.23.5", "source_hash": "790d9002a888c8ccf966a9e06cd12f1c9f12b01c23f2b1b545249ba73ad25038", "section_path": ["变更"], "commit_groups": [["12a73f29f", "21d36747d", "379c43bda", "758b45e83", "bdc79ddd1", "f38b66ec0", "fd048e0cb"]], "identity_text": "Fix ecpg library's per-thread initialization logic for Windows (Tom Lane, Alexander Lakhin) Multi-threaded ecpg applications could suffer rare misbehavior due to incorrect locking.", "commit_aliases": ["12a73f29f", "21d36747d", "379c43bda", "758b45e83", "bdc79ddd1", "f38b66ec0", "fd048e0cb"], "source_commits": ["bdc79ddd1"], "source_entry_id": "12.5/changes/049", "db_id": "c250772a9e8ab85f9074deec9d995871", "patch_ids": ["bb9293718d8ff1ab911d92ebe44317c6"], "statement_hash": "bff07dc16c24f2d4b16cc80208cbf23717742f46ffffda22427c03dfe30950c6", "relations": [{"rule": 2, "type": "equivalent", "target": "0c91ba08f7a39546e2d58212d390fb9f", "evidence": {"same_day": true, "patch_ids": ["bb9293718d8ff1ab911d92ebe44317c6"], "statement_hash": "bff07dc16c24f2d4b16cc80208cbf23717742f46ffffda22427c03dfe30950c6"}}, {"rule": 2, "type": "equivalent", "target": "1ed5dde67f6486babd2a0d24dffdc57d", "evidence": {"same_day": true, "patch_ids": ["bb9293718d8ff1ab911d92ebe44317c6"], "statement_hash": "bff07dc16c24f2d4b16cc80208cbf23717742f46ffffda22427c03dfe30950c6"}}, {"rule": 2, "type": "equivalent", "target": "694cc9062e942a7e36d2268cc47ca86b", "evidence": {"same_day": true, "patch_ids": ["bb9293718d8ff1ab911d92ebe44317c6"], "statement_hash": "bff07dc16c24f2d4b16cc80208cbf23717742f46ffffda22427c03dfe30950c6"}}, {"rule": 2, "type": "equivalent", "target": "b685c8ce1e0ac047162d851829393e09", "evidence": {"same_day": true, "patch_ids": ["bb9293718d8ff1ab911d92ebe44317c6"], "statement_hash": "bff07dc16c24f2d4b16cc80208cbf23717742f46ffffda22427c03dfe30950c6"}}, {"rule": 2, "type": "equivalent", "target": "bdf254d55b6f5ae4944f832d4e4aba90", "evidence": {"same_day": true, "patch_ids": ["bb9293718d8ff1ab911d92ebe44317c6"], "statement_hash": "bff07dc16c24f2d4b16cc80208cbf23717742f46ffffda22427c03dfe30950c6"}}], "version": "12.5", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "694cc9062e942a7e36d2268cc47ca86b", "kind": "equivalent", "version": "13.1", "label": "13.1", "title": "修复 ecpg 库在 Windows 上的逐线程初始化逻辑", "evidence": {"same_day": true, "patch_ids": ["bb9293718d8ff1ab911d92ebe44317c6"], "statement_hash": "bff07dc16c24f2d4b16cc80208cbf23717742f46ffffda22427c03dfe30950c6"}, "url": "/docs/compare/?release=13.1#13.1-2267e558b078d8ca", "source_url": "/docs/release/13.1/#id-1.11.6.28.5"}, {"db_id": "b685c8ce1e0ac047162d851829393e09", "kind": "equivalent", "version": "11.10", "label": "11.10", "title": "修复 ecpg 库在 Windows 上的逐线程初始化逻辑", "evidence": {"same_day": true, "patch_ids": ["bb9293718d8ff1ab911d92ebe44317c6"], "statement_hash": "bff07dc16c24f2d4b16cc80208cbf23717742f46ffffda22427c03dfe30950c6"}, "url": "/docs/compare/?release=11.10#11.10-8f267a5ed7701a1a", "source_url": "/docs/release/11.10/#id-1.11.6.17.5"}, {"db_id": "0c91ba08f7a39546e2d58212d390fb9f", "kind": "equivalent", "version": "10.15", "label": "10.15", "title": "修复 ecpg 库在 Windows 上的逐线程初始化逻辑", "evidence": {"same_day": true, "patch_ids": ["bb9293718d8ff1ab911d92ebe44317c6"], "statement_hash": "bff07dc16c24f2d4b16cc80208cbf23717742f46ffffda22427c03dfe30950c6"}, "url": "/docs/compare/?release=10.15#10.15-8f267a5ed7701a1a", "source_url": "/docs/release/10.15/#id-1.11.6.13.5"}, {"db_id": "bdf254d55b6f5ae4944f832d4e4aba90", "kind": "equivalent", "version": "9.6.20", "label": "9.6.20", "title": "修复 ecpg 库在 Windows 上的每线程初始化逻辑", "evidence": {"same_day": true, "patch_ids": ["bb9293718d8ff1ab911d92ebe44317c6"], "statement_hash": "bff07dc16c24f2d4b16cc80208cbf23717742f46ffffda22427c03dfe30950c6"}, "url": "/docs/compare/?release=9.6.20#9.6.20-a0471424af6bfc5b", "source_url": "/docs/release/9.6.20/#id-1.11.6.9.5"}, {"db_id": "1ed5dde67f6486babd2a0d24dffdc57d", "kind": "equivalent", "version": "9.5.24", "label": "9.5.24", "title": "修复 ecpg 库在 Windows 上的每线程初始化逻辑", "evidence": {"same_day": true, "patch_ids": ["bb9293718d8ff1ab911d92ebe44317c6"], "statement_hash": "bff07dc16c24f2d4b16cc80208cbf23717742f46ffffda22427c03dfe30950c6"}, "url": "/docs/compare/?release=9.5.24#9.5.24-a0471424af6bfc5b", "source_url": "/docs/release/9.5.24/#id-1.11.6.6.6"}]}, {"id": "12.5-57376eee8ffa54c5", "cves": [], "html": "<p>在 Windows 上，使 <span>psql</span> 以文本模式而非二进制模式读取反引号命令的输出（Tom Lane）<a href=\"https://postgr.es/c/cb0982ba9\">§</a></p>\n<p>这可以确保正确处理换行符。</p>", "text": "在 Windows 上，使 psql 以文本模式而非二进制模式读取反引号命令的输出（Tom Lane）§ 这可以确保正确处理换行符。", "title": "在 Windows 上，使 psql 以文本模式而非二进制模式读取反引号命令的输出", "commits": ["cb0982ba9"], "section": "变更", "category": "improvement", "source_url": "/docs/release/12.5/#id-1.11.6.23.5", "source_hash": "4e28d09e189f54d42f49c5e1a3088f0aaf55d7329bbe0280d104e06395734077", "section_path": ["变更"], "commit_groups": [["204d77969", "504f963f7", "66f8687a8", "9eb250339", "aff06436c", "ba4f5413e", "cb0982ba9"]], "identity_text": "On Windows, make psql read the output of a backtick command in text mode, not binary mode (Tom Lane) This ensures proper handling of newlines.", "commit_aliases": ["204d77969", "504f963f7", "66f8687a8", "9eb250339", "aff06436c", "ba4f5413e", "cb0982ba9"], "source_commits": ["cb0982ba9"], "source_entry_id": "12.5/changes/050", "db_id": "acc4b62da548c94c0aaf301e49228dab", "patch_ids": ["f0676a6fd578633b244e3954ef8f397e"], "statement_hash": "147d56f6b961c6a8edec12ec9b0202a87651e641b126376307f1ceff34e989e0", "relations": [{"rule": 2, "type": "equivalent", "target": "12b9e9de7e0b7392bbc1d550c6cd6df6", "evidence": {"same_day": true, "patch_ids": ["f0676a6fd578633b244e3954ef8f397e"], "statement_hash": "147d56f6b961c6a8edec12ec9b0202a87651e641b126376307f1ceff34e989e0"}}, {"rule": 2, "type": "equivalent", "target": "4913189de70c687d45c2182a4f59108c", "evidence": {"same_day": true, "patch_ids": ["f0676a6fd578633b244e3954ef8f397e"], "statement_hash": "147d56f6b961c6a8edec12ec9b0202a87651e641b126376307f1ceff34e989e0"}}, {"rule": 2, "type": "equivalent", "target": "53bb8143f97e643054b70a519a5cd076", "evidence": {"same_day": true, "patch_ids": ["f0676a6fd578633b244e3954ef8f397e"], "statement_hash": "147d56f6b961c6a8edec12ec9b0202a87651e641b126376307f1ceff34e989e0"}}, {"rule": 2, "type": "equivalent", "target": "9b1ff42f9ce9a78c5329d18bf7b57a2c", "evidence": {"same_day": true, "patch_ids": ["f0676a6fd578633b244e3954ef8f397e"], "statement_hash": "147d56f6b961c6a8edec12ec9b0202a87651e641b126376307f1ceff34e989e0"}}, {"rule": 2, "type": "equivalent", "target": "f6660ce4942f7be69fae916d43edbb2c", "evidence": {"same_day": true, "patch_ids": ["f0676a6fd578633b244e3954ef8f397e"], "statement_hash": "147d56f6b961c6a8edec12ec9b0202a87651e641b126376307f1ceff34e989e0"}}], "version": "12.5", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "4913189de70c687d45c2182a4f59108c", "kind": "equivalent", "version": "13.1", "label": "13.1", "title": "在 Windows 上，使 psql 以文本模式而非二进制模式读取反引号命令的输出", "evidence": {"same_day": true, "patch_ids": ["f0676a6fd578633b244e3954ef8f397e"], "statement_hash": "147d56f6b961c6a8edec12ec9b0202a87651e641b126376307f1ceff34e989e0"}, "url": "/docs/compare/?release=13.1#13.1-56791cce9174d808", "source_url": "/docs/release/13.1/#id-1.11.6.28.5"}, {"db_id": "53bb8143f97e643054b70a519a5cd076", "kind": "equivalent", "version": "11.10", "label": "11.10", "title": "在 Windows 上，使 psql 以文本模式而非二进制模式读取反引号命令的输出", "evidence": {"same_day": true, "patch_ids": ["f0676a6fd578633b244e3954ef8f397e"], "statement_hash": "147d56f6b961c6a8edec12ec9b0202a87651e641b126376307f1ceff34e989e0"}, "url": "/docs/compare/?release=11.10#11.10-32081410b5ff0fa7", "source_url": "/docs/release/11.10/#id-1.11.6.17.5"}, {"db_id": "f6660ce4942f7be69fae916d43edbb2c", "kind": "equivalent", "version": "10.15", "label": "10.15", "title": "在 Windows 上，使 psql 以文本模式而非二进制模式读取反引号命令的输出", "evidence": {"same_day": true, "patch_ids": ["f0676a6fd578633b244e3954ef8f397e"], "statement_hash": "147d56f6b961c6a8edec12ec9b0202a87651e641b126376307f1ceff34e989e0"}, "url": "/docs/compare/?release=10.15#10.15-32081410b5ff0fa7", "source_url": "/docs/release/10.15/#id-1.11.6.13.5"}, {"db_id": "9b1ff42f9ce9a78c5329d18bf7b57a2c", "kind": "equivalent", "version": "9.6.20", "label": "9.6.20", "title": "在 Windows 上，让 psql 以文本模式而非二进制模式读取反引号命令的输出", "evidence": {"same_day": true, "patch_ids": ["f0676a6fd578633b244e3954ef8f397e"], "statement_hash": "147d56f6b961c6a8edec12ec9b0202a87651e641b126376307f1ceff34e989e0"}, "url": "/docs/compare/?release=9.6.20#9.6.20-8ec23b68565f2603", "source_url": "/docs/release/9.6.20/#id-1.11.6.9.5"}, {"db_id": "12b9e9de7e0b7392bbc1d550c6cd6df6", "kind": "equivalent", "version": "9.5.24", "label": "9.5.24", "title": "在 Windows 上，让 psql 以文本模式而非二进制模式读取反引号命令的输出", "evidence": {"same_day": true, "patch_ids": ["f0676a6fd578633b244e3954ef8f397e"], "statement_hash": "147d56f6b961c6a8edec12ec9b0202a87651e641b126376307f1ceff34e989e0"}, "url": "/docs/compare/?release=9.5.24#9.5.24-8ec23b68565f2603", "source_url": "/docs/release/9.5.24/#id-1.11.6.6.6"}]}, {"id": "12.5-dfe9b23fbfb99337", "cves": [], "html": "<p>确保 <span>pg_dump</span> 收集扩展配置表的逐列信息（Fabrízio de Royes Mello，Tom Lane）<a href=\"https://postgr.es/c/616110eac\">§</a> <a href=\"https://postgr.es/c/d8c2a2199\">§</a></p>\n<p>未能这样做会导致指定 <code>--inserts</code> 时崩溃，或在使用 <code>COPY</code> 重载表数据时生成指定不完整（虽然通常正确）的 <code>COPY</code> 命令。</p>", "text": "确保 pg_dump 收集扩展配置表的逐列信息（Fabrízio de Royes Mello，Tom Lane）§ § 未能这样做会导致指定 --inserts 时崩溃，或在使用 COPY 重载表数据时生成指定不完整（虽然通常正确）的 COPY 命令。", "title": "确保 pg_dump 收集扩展配置表的逐列信息", "commits": ["616110eac", "d8c2a2199"], "section": "变更", "category": "improvement", "source_url": "/docs/release/12.5/#id-1.11.6.23.5", "source_hash": "3e2bffef5be52da4a2116be5a26e69f439bfc467f0619ef0f0edd69571958ac8", "section_path": ["变更"], "commit_groups": [["0bfe356c5", "0c79dcb36", "2ea624b4b", "710c0a66d", "9e5f1f21a", "d8c2a2199", "f2c6e94f0"], ["3eb3d3e78", "616110eac", "72857482c"]], "identity_text": "Ensure that pg_dump collects per-column information about extension configuration tables (Fabrízio de Royes Mello, Tom Lane) Failure to do this led to crashes when specifying --inserts, or underspecified (though usually correct) COPY commands when using COPY to reload the tables' data.", "commit_aliases": ["0bfe356c5", "0c79dcb36", "2ea624b4b", "3eb3d3e78", "616110eac", "710c0a66d", "72857482c", "9e5f1f21a", "d8c2a2199", "f2c6e94f0"], "source_commits": ["616110eac", "d8c2a2199"], "source_entry_id": "12.5/changes/051", "db_id": "e75980d75dea2292bf4b5340ea8c6f24", "patch_ids": ["02c8ade13193991cd3513a0d65d12f48", "ad39259a02a217957e5e087530b515e1"], "statement_hash": "5912f05edc6ccabcca05e0be86776fc6d15c54b7a14dfffb6855bf58a240b42c", "relations": [{"rule": 2, "type": "equivalent", "target": "492efa905a110daab55e63b023fda63d", "evidence": {"same_day": true, "patch_ids": ["02c8ade13193991cd3513a0d65d12f48", "ad39259a02a217957e5e087530b515e1"], "statement_hash": "5912f05edc6ccabcca05e0be86776fc6d15c54b7a14dfffb6855bf58a240b42c"}}, {"rule": 2, "type": "equivalent", "target": "51e97125f2d3faef60a22cf9e030b5e0", "evidence": {"same_day": true, "patch_ids": ["02c8ade13193991cd3513a0d65d12f48", "ad39259a02a217957e5e087530b515e1"], "statement_hash": "5912f05edc6ccabcca05e0be86776fc6d15c54b7a14dfffb6855bf58a240b42c"}}, {"rule": 2, "type": "equivalent", "target": "65fb8ca7077f8c4ac19b871ef61dbc21", "evidence": {"same_day": true, "patch_ids": ["02c8ade13193991cd3513a0d65d12f48", "ad39259a02a217957e5e087530b515e1"], "statement_hash": "5912f05edc6ccabcca05e0be86776fc6d15c54b7a14dfffb6855bf58a240b42c"}}, {"rule": 2, "type": "equivalent", "target": "85b52706041163f2bfee5e624f8f1742", "evidence": {"same_day": true, "patch_ids": ["02c8ade13193991cd3513a0d65d12f48", "ad39259a02a217957e5e087530b515e1"], "statement_hash": "5912f05edc6ccabcca05e0be86776fc6d15c54b7a14dfffb6855bf58a240b42c"}}, {"rule": 2, "type": "equivalent", "target": "881989477a3ccb0c1e3be1c41ac86018", "evidence": {"same_day": true, "patch_ids": ["02c8ade13193991cd3513a0d65d12f48", "ad39259a02a217957e5e087530b515e1"], "statement_hash": "5912f05edc6ccabcca05e0be86776fc6d15c54b7a14dfffb6855bf58a240b42c"}}], "version": "12.5", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "492efa905a110daab55e63b023fda63d", "kind": "equivalent", "version": "13.1", "label": "13.1", "title": "确保 pg_dump 收集扩展配置表的逐列信息", "evidence": {"same_day": true, "patch_ids": ["02c8ade13193991cd3513a0d65d12f48", "ad39259a02a217957e5e087530b515e1"], "statement_hash": "5912f05edc6ccabcca05e0be86776fc6d15c54b7a14dfffb6855bf58a240b42c"}, "url": "/docs/compare/?release=13.1#13.1-289eab149154ff12", "source_url": "/docs/release/13.1/#id-1.11.6.28.5"}, {"db_id": "85b52706041163f2bfee5e624f8f1742", "kind": "equivalent", "version": "11.10", "label": "11.10", "title": "确保 pg_dump 收集扩展配置表的逐列信息", "evidence": {"same_day": true, "patch_ids": ["02c8ade13193991cd3513a0d65d12f48", "ad39259a02a217957e5e087530b515e1"], "statement_hash": "5912f05edc6ccabcca05e0be86776fc6d15c54b7a14dfffb6855bf58a240b42c"}, "url": "/docs/compare/?release=11.10#11.10-e219d3bedd5c79f3", "source_url": "/docs/release/11.10/#id-1.11.6.17.5"}, {"db_id": "65fb8ca7077f8c4ac19b871ef61dbc21", "kind": "equivalent", "version": "10.15", "label": "10.15", "title": "确保 pg_dump 收集扩展配置表的逐列信息", "evidence": {"same_day": true, "patch_ids": ["02c8ade13193991cd3513a0d65d12f48", "ad39259a02a217957e5e087530b515e1"], "statement_hash": "5912f05edc6ccabcca05e0be86776fc6d15c54b7a14dfffb6855bf58a240b42c"}, "url": "/docs/compare/?release=10.15#10.15-e219d3bedd5c79f3", "source_url": "/docs/release/10.15/#id-1.11.6.13.5"}, {"db_id": "881989477a3ccb0c1e3be1c41ac86018", "kind": "equivalent", "version": "9.6.20", "label": "9.6.20", "title": "确保 pg_dump 收集扩展配置表的逐列信息", "evidence": {"same_day": true, "patch_ids": ["02c8ade13193991cd3513a0d65d12f48", "ad39259a02a217957e5e087530b515e1"], "statement_hash": "5912f05edc6ccabcca05e0be86776fc6d15c54b7a14dfffb6855bf58a240b42c"}, "url": "/docs/compare/?release=9.6.20#9.6.20-e219d3bedd5c79f3", "source_url": "/docs/release/9.6.20/#id-1.11.6.9.5"}, {"db_id": "51e97125f2d3faef60a22cf9e030b5e0", "kind": "equivalent", "version": "9.5.24", "label": "9.5.24", "title": "确保 pg_dump 收集扩展配置表的逐列信息", "evidence": {"same_day": true, "patch_ids": ["02c8ade13193991cd3513a0d65d12f48", "ad39259a02a217957e5e087530b515e1"], "statement_hash": "5912f05edc6ccabcca05e0be86776fc6d15c54b7a14dfffb6855bf58a240b42c"}, "url": "/docs/compare/?release=9.5.24#9.5.24-e219d3bedd5c79f3", "source_url": "/docs/release/9.5.24/#id-1.11.6.6.6"}]}, {"id": "12.5-7689a5f8193b9e06", "cves": [], "html": "<p>确保并行 <span>pg_restore</span> 以正确顺序处理引用分区表的外键（Álvaro Herrera）<a href=\"https://postgr.es/c/3dadcb2b3\">§</a></p>\n<p>以前，它可能在所需索引尚未全部就绪时就尝试恢复外键约束，从而导致错误。</p>", "text": "确保并行 pg_restore 以正确顺序处理引用分区表的外键（Álvaro Herrera）§ 以前，它可能在所需索引尚未全部就绪时就尝试恢复外键约束，从而导致错误。", "title": "确保并行 pg_restore 以正确顺序处理引用分区表的外键", "commits": ["3dadcb2b3"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/12.5/#id-1.11.6.23.5", "source_hash": "521c386b57971d76d881ff0bf31eb07d694ddf2cd992fa67f480bb5c752bb26a", "section_path": ["变更"], "commit_groups": [["2ba5b2db7", "3dadcb2b3", "b7cc21c57"]], "identity_text": "Ensure that parallel pg_restore processes foreign keys referencing partitioned tables in the correct order (Álvaro Herrera) Previously, it might try to restore a foreign key constraint before the required indexes were all in place, leading to an error.", "commit_aliases": ["2ba5b2db7", "3dadcb2b3", "b7cc21c57"], "source_commits": ["3dadcb2b3"], "source_entry_id": "12.5/changes/052", "db_id": "d980b9a4ef30e87698a836ec3eac7630", "patch_ids": ["414f39b5253bbf918c8c5ecb36af0372"], "statement_hash": "63ef5d9b26432a77e204de8dccf3e48492fd95b4afc1936fa43e0be34b578198", "relations": [], "version": "12.5", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": []}, {"id": "12.5-4b61295613a298fd", "cves": [], "html": "<p>使 <span>pg_upgrade</span> 检查目标集群中的表空间目录是否已存在（Bruce Momjian）<a href=\"https://postgr.es/c/a106236d8\">§</a> <a href=\"https://postgr.es/c/0ab7ca98a\">§</a></p>", "text": "使 pg_upgrade 检查目标集群中的表空间目录是否已存在（Bruce Momjian）§ §", "title": "使 pg_upgrade 检查目标集群中的表空间目录是否已存在", "commits": ["0ab7ca98a", "a106236d8"], "section": "变更", "category": "improvement", "source_url": "/docs/release/12.5/#id-1.11.6.23.5", "source_hash": "c41f0d97d3caaf9418bf312ec214dacbbb71bf9da3af0fd719f56825d6462de0", "section_path": ["变更"], "commit_groups": [["0ab7ca98a", "16be4e435", "536de14e2", "6e34cc8ab", "79fe23465", "9dcffe69a", "b05672c72"], ["39c23c199", "3c0471b5f", "59cfff65b", "85fedf39f", "a106236d8", "d9ae2297b", "eb421c83b"]], "identity_text": "Make pg_upgrade check for pre-existence of tablespace directories in the target cluster (Bruce Momjian)", "commit_aliases": ["0ab7ca98a", "16be4e435", "39c23c199", "3c0471b5f", "536de14e2", "59cfff65b", "6e34cc8ab", "79fe23465", "85fedf39f", "9dcffe69a", "a106236d8", "b05672c72", "d9ae2297b", "eb421c83b"], "source_commits": ["0ab7ca98a", "a106236d8"], "source_entry_id": "12.5/changes/053", "db_id": "487015ba212a94883add480a0161d282", "patch_ids": ["385da7b634c4d18cad66323aed6e5396", "3d023e2eb93a8c3bf9b9c1a6fcef7726"], "statement_hash": "5753b5a81159391dd0515c2940fa9293fcd8bb43236bb449f206e9af55aed740", "relations": [{"rule": 2, "type": "equivalent", "target": "6359b4855420c50bac500e091bcf21ac", "evidence": {"same_day": true, "patch_ids": ["385da7b634c4d18cad66323aed6e5396", "3d023e2eb93a8c3bf9b9c1a6fcef7726"], "statement_hash": "5753b5a81159391dd0515c2940fa9293fcd8bb43236bb449f206e9af55aed740"}}, {"rule": 2, "type": "equivalent", "target": "97763d342fba71c440133e01ec21602b", "evidence": {"same_day": true, "patch_ids": ["385da7b634c4d18cad66323aed6e5396", "3d023e2eb93a8c3bf9b9c1a6fcef7726"], "statement_hash": "5753b5a81159391dd0515c2940fa9293fcd8bb43236bb449f206e9af55aed740"}}, {"rule": 2, "type": "equivalent", "target": "98c82203e1de7fa217bd04b22e341a62", "evidence": {"same_day": true, "patch_ids": ["385da7b634c4d18cad66323aed6e5396", "3d023e2eb93a8c3bf9b9c1a6fcef7726"], "statement_hash": "5753b5a81159391dd0515c2940fa9293fcd8bb43236bb449f206e9af55aed740"}}, {"rule": 2, "type": "equivalent", "target": "9cabfbf717fd03e9b875f151dac12f27", "evidence": {"same_day": true, "patch_ids": ["385da7b634c4d18cad66323aed6e5396", "3d023e2eb93a8c3bf9b9c1a6fcef7726"], "statement_hash": "5753b5a81159391dd0515c2940fa9293fcd8bb43236bb449f206e9af55aed740"}}, {"rule": 2, "type": "equivalent", "target": "d0d308a14a919dcdd011ad9f5ffbb853", "evidence": {"same_day": true, "patch_ids": ["385da7b634c4d18cad66323aed6e5396", "3d023e2eb93a8c3bf9b9c1a6fcef7726"], "statement_hash": "5753b5a81159391dd0515c2940fa9293fcd8bb43236bb449f206e9af55aed740"}}], "version": "12.5", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "98c82203e1de7fa217bd04b22e341a62", "kind": "equivalent", "version": "13.1", "label": "13.1", "title": "使 pg_upgrade 检查目标集群中的表空间目录是否已存在", "evidence": {"same_day": true, "patch_ids": ["385da7b634c4d18cad66323aed6e5396", "3d023e2eb93a8c3bf9b9c1a6fcef7726"], "statement_hash": "5753b5a81159391dd0515c2940fa9293fcd8bb43236bb449f206e9af55aed740"}, "url": "/docs/compare/?release=13.1#13.1-75fe4af2348b834a", "source_url": "/docs/release/13.1/#id-1.11.6.28.5"}, {"db_id": "97763d342fba71c440133e01ec21602b", "kind": "equivalent", "version": "11.10", "label": "11.10", "title": "使 pg_upgrade 检查目标集群中的表空间目录是否已存在", "evidence": {"same_day": true, "patch_ids": ["385da7b634c4d18cad66323aed6e5396", "3d023e2eb93a8c3bf9b9c1a6fcef7726"], "statement_hash": "5753b5a81159391dd0515c2940fa9293fcd8bb43236bb449f206e9af55aed740"}, "url": "/docs/compare/?release=11.10#11.10-afa10de72fe92b10", "source_url": "/docs/release/11.10/#id-1.11.6.17.5"}, {"db_id": "6359b4855420c50bac500e091bcf21ac", "kind": "equivalent", "version": "10.15", "label": "10.15", "title": "使 pg_upgrade 检查目标集群中的表空间目录是否已存在", "evidence": {"same_day": true, "patch_ids": ["385da7b634c4d18cad66323aed6e5396", "3d023e2eb93a8c3bf9b9c1a6fcef7726"], "statement_hash": "5753b5a81159391dd0515c2940fa9293fcd8bb43236bb449f206e9af55aed740"}, "url": "/docs/compare/?release=10.15#10.15-afa10de72fe92b10", "source_url": "/docs/release/10.15/#id-1.11.6.13.5"}, {"db_id": "d0d308a14a919dcdd011ad9f5ffbb853", "kind": "equivalent", "version": "9.6.20", "label": "9.6.20", "title": "让 pg_upgrade 检查目标集簇中表空间目录的预先存在", "evidence": {"same_day": true, "patch_ids": ["385da7b634c4d18cad66323aed6e5396", "3d023e2eb93a8c3bf9b9c1a6fcef7726"], "statement_hash": "5753b5a81159391dd0515c2940fa9293fcd8bb43236bb449f206e9af55aed740"}, "url": "/docs/compare/?release=9.6.20#9.6.20-a8ab8dfebde36bbb", "source_url": "/docs/release/9.6.20/#id-1.11.6.9.5"}, {"db_id": "9cabfbf717fd03e9b875f151dac12f27", "kind": "equivalent", "version": "9.5.24", "label": "9.5.24", "title": "让 pg_upgrade 检查目标集簇中表空间目录的预先存在", "evidence": {"same_day": true, "patch_ids": ["385da7b634c4d18cad66323aed6e5396", "3d023e2eb93a8c3bf9b9c1a6fcef7726"], "statement_hash": "5753b5a81159391dd0515c2940fa9293fcd8bb43236bb449f206e9af55aed740"}, "url": "/docs/compare/?release=9.5.24#9.5.24-a8ab8dfebde36bbb", "source_url": "/docs/release/9.5.24/#id-1.11.6.6.6"}]}, {"id": "12.5-d5c4b8e65d7a01af", "cves": [], "html": "<p>修复 <code>contrib/pgcrypto</code> 中潜在的内存泄漏（Michael Paquier）<a href=\"https://postgr.es/c/57bdf29dd\">§</a></p>", "text": "修复 contrib/pgcrypto 中潜在的内存泄漏（Michael Paquier）§", "title": "修复 contrib/pgcrypto 中潜在的内存泄漏", "commits": ["57bdf29dd"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/12.5/#id-1.11.6.23.5", "source_hash": "b1ed56003f7a5cabf8d9c8607b38857c0145533b5b4115c9e40c1e7d9bbf4e05", "section_path": ["变更"], "commit_groups": [["099238322", "1bd9b2b23", "57bdf29dd", "914139081", "994a02f7f", "ca2a12c93", "e8d36f9ec"]], "identity_text": "Fix potential memory leak in contrib/pgcrypto (Michael Paquier)", "commit_aliases": ["099238322", "1bd9b2b23", "57bdf29dd", "914139081", "994a02f7f", "ca2a12c93", "e8d36f9ec"], "source_commits": ["57bdf29dd"], "source_entry_id": "12.5/changes/054", "db_id": "b7f3d4c288208e0731eaebf124833acb", "patch_ids": ["fcad37cf0a78e9c69dccacbe62ebb55e"], "statement_hash": "c3d441978e33a71f08db237f8526b36fbb128520c138bb96c3f9af6473ab59b3", "relations": [{"rule": 2, "type": "equivalent", "target": "1cea404266f3f4251614e74fb269c3c6", "evidence": {"same_day": true, "patch_ids": ["fcad37cf0a78e9c69dccacbe62ebb55e"], "statement_hash": "c3d441978e33a71f08db237f8526b36fbb128520c138bb96c3f9af6473ab59b3"}}, {"rule": 2, "type": "equivalent", "target": "45ceced99bffb96ca8569d3037b11626", "evidence": {"same_day": true, "patch_ids": ["fcad37cf0a78e9c69dccacbe62ebb55e"], "statement_hash": "c3d441978e33a71f08db237f8526b36fbb128520c138bb96c3f9af6473ab59b3"}}, {"rule": 2, "type": "equivalent", "target": "84f48de4e35f0e3df8a91dd97a3c1ace", "evidence": {"same_day": true, "patch_ids": ["fcad37cf0a78e9c69dccacbe62ebb55e"], "statement_hash": "c3d441978e33a71f08db237f8526b36fbb128520c138bb96c3f9af6473ab59b3"}}, {"rule": 2, "type": "equivalent", "target": "98075fcb9c2c925ab7ae15b877964c92", "evidence": {"same_day": true, "patch_ids": ["fcad37cf0a78e9c69dccacbe62ebb55e"], "statement_hash": "c3d441978e33a71f08db237f8526b36fbb128520c138bb96c3f9af6473ab59b3"}}, {"rule": 2, "type": "equivalent", "target": "a090170563e74e2c4325af5b54d15723", "evidence": {"same_day": true, "patch_ids": ["fcad37cf0a78e9c69dccacbe62ebb55e"], "statement_hash": "c3d441978e33a71f08db237f8526b36fbb128520c138bb96c3f9af6473ab59b3"}}], "version": "12.5", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "45ceced99bffb96ca8569d3037b11626", "kind": "equivalent", "version": "13.1", "label": "13.1", "title": "修复 contrib/pgcrypto 中潜在的内存泄漏", "evidence": {"same_day": true, "patch_ids": ["fcad37cf0a78e9c69dccacbe62ebb55e"], "statement_hash": "c3d441978e33a71f08db237f8526b36fbb128520c138bb96c3f9af6473ab59b3"}, "url": "/docs/compare/?release=13.1#13.1-a00da32fc1ac8675", "source_url": "/docs/release/13.1/#id-1.11.6.28.5"}, {"db_id": "98075fcb9c2c925ab7ae15b877964c92", "kind": "equivalent", "version": "11.10", "label": "11.10", "title": "修复 contrib/pgcrypto 中潜在的内存泄漏", "evidence": {"same_day": true, "patch_ids": ["fcad37cf0a78e9c69dccacbe62ebb55e"], "statement_hash": "c3d441978e33a71f08db237f8526b36fbb128520c138bb96c3f9af6473ab59b3"}, "url": "/docs/compare/?release=11.10#11.10-c708d505f68a3e88", "source_url": "/docs/release/11.10/#id-1.11.6.17.5"}, {"db_id": "1cea404266f3f4251614e74fb269c3c6", "kind": "equivalent", "version": "10.15", "label": "10.15", "title": "修复 contrib/pgcrypto 中潜在的内存泄漏", "evidence": {"same_day": true, "patch_ids": ["fcad37cf0a78e9c69dccacbe62ebb55e"], "statement_hash": "c3d441978e33a71f08db237f8526b36fbb128520c138bb96c3f9af6473ab59b3"}, "url": "/docs/compare/?release=10.15#10.15-c708d505f68a3e88", "source_url": "/docs/release/10.15/#id-1.11.6.13.5"}, {"db_id": "84f48de4e35f0e3df8a91dd97a3c1ace", "kind": "equivalent", "version": "9.6.20", "label": "9.6.20", "title": "修复 contrib/pgcrypto 中潜在的内存泄漏", "evidence": {"same_day": true, "patch_ids": ["fcad37cf0a78e9c69dccacbe62ebb55e"], "statement_hash": "c3d441978e33a71f08db237f8526b36fbb128520c138bb96c3f9af6473ab59b3"}, "url": "/docs/compare/?release=9.6.20#9.6.20-c708d505f68a3e88", "source_url": "/docs/release/9.6.20/#id-1.11.6.9.5"}, {"db_id": "a090170563e74e2c4325af5b54d15723", "kind": "equivalent", "version": "9.5.24", "label": "9.5.24", "title": "修复 contrib/pgcrypto 中潜在的内存泄漏", "evidence": {"same_day": true, "patch_ids": ["fcad37cf0a78e9c69dccacbe62ebb55e"], "statement_hash": "c3d441978e33a71f08db237f8526b36fbb128520c138bb96c3f9af6473ab59b3"}, "url": "/docs/compare/?release=9.5.24#9.5.24-c708d505f68a3e88", "source_url": "/docs/release/9.5.24/#id-1.11.6.6.6"}]}, {"id": "12.5-c48c2f474d5286b5", "cves": [], "html": "<p>在 <code>contrib/pgcrypto</code> 中增加对一种不太可能发生的失败情况的检查（Daniel Gustafsson）<a href=\"https://postgr.es/c/7004ce758\">§</a></p>", "text": "在 contrib/pgcrypto 中增加对一种不太可能发生的失败情况的检查（Daniel Gustafsson）§", "title": "在 contrib/pgcrypto 中增加对一种不太可能发生的失败情况的检查", "commits": ["7004ce758"], "section": "变更", "category": "improvement", "source_url": "/docs/release/12.5/#id-1.11.6.23.5", "source_hash": "2aced7448b7ad6a68b1e9888bf7442e904e08307388d62e25cc119ef5a99660c", "section_path": ["变更"], "commit_groups": [["02a75f836", "1eb2d7e3e", "3d338a46a", "3e1a4c260", "7004ce758", "9c3032881", "e15115b4d"]], "identity_text": "Add check for an unlikely failure case in contrib/pgcrypto (Daniel Gustafsson)", "commit_aliases": ["02a75f836", "1eb2d7e3e", "3d338a46a", "3e1a4c260", "7004ce758", "9c3032881", "e15115b4d"], "source_commits": ["7004ce758"], "source_entry_id": "12.5/changes/055", "db_id": "3c818cf27839b50c64d7fe4ebfc48a48", "patch_ids": ["4f04e866de664fee005bc1be03012a43"], "statement_hash": "a101902f387455f94f8154c1086870b38160f769d5625ab9d0a607f5062e59a4", "relations": [{"rule": 2, "type": "equivalent", "target": "0d5d2e9e50fda96c7c7a5634bd6c0240", "evidence": {"same_day": true, "patch_ids": ["4f04e866de664fee005bc1be03012a43"], "statement_hash": "a101902f387455f94f8154c1086870b38160f769d5625ab9d0a607f5062e59a4"}}, {"rule": 2, "type": "equivalent", "target": "3cb5853a4b4a15ef6c0d06d259305fe2", "evidence": {"same_day": true, "patch_ids": ["4f04e866de664fee005bc1be03012a43"], "statement_hash": "a101902f387455f94f8154c1086870b38160f769d5625ab9d0a607f5062e59a4"}}, {"rule": 2, "type": "equivalent", "target": "693a364e73f018703ffd62b9539df0e4", "evidence": {"same_day": true, "patch_ids": ["4f04e866de664fee005bc1be03012a43"], "statement_hash": "a101902f387455f94f8154c1086870b38160f769d5625ab9d0a607f5062e59a4"}}, {"rule": 2, "type": "equivalent", "target": "dbac2d5baf492e2785e215805432046b", "evidence": {"same_day": true, "patch_ids": ["4f04e866de664fee005bc1be03012a43"], "statement_hash": "a101902f387455f94f8154c1086870b38160f769d5625ab9d0a607f5062e59a4"}}, {"rule": 2, "type": "equivalent", "target": "ea8273c89c569c3245f6055814b1914d", "evidence": {"same_day": true, "patch_ids": ["4f04e866de664fee005bc1be03012a43"], "statement_hash": "a101902f387455f94f8154c1086870b38160f769d5625ab9d0a607f5062e59a4"}}], "version": "12.5", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "693a364e73f018703ffd62b9539df0e4", "kind": "equivalent", "version": "13.1", "label": "13.1", "title": "在 contrib/pgcrypto 中增加对一种不太可能发生的失败情况的检查", "evidence": {"same_day": true, "patch_ids": ["4f04e866de664fee005bc1be03012a43"], "statement_hash": "a101902f387455f94f8154c1086870b38160f769d5625ab9d0a607f5062e59a4"}, "url": "/docs/compare/?release=13.1#13.1-94626e77d35a3bca", "source_url": "/docs/release/13.1/#id-1.11.6.28.5"}, {"db_id": "3cb5853a4b4a15ef6c0d06d259305fe2", "kind": "equivalent", "version": "11.10", "label": "11.10", "title": "在 contrib/pgcrypto 中增加对一种不太可能发生的失败情况的检查", "evidence": {"same_day": true, "patch_ids": ["4f04e866de664fee005bc1be03012a43"], "statement_hash": "a101902f387455f94f8154c1086870b38160f769d5625ab9d0a607f5062e59a4"}, "url": "/docs/compare/?release=11.10#11.10-d014e971353ca539", "source_url": "/docs/release/11.10/#id-1.11.6.17.5"}, {"db_id": "ea8273c89c569c3245f6055814b1914d", "kind": "equivalent", "version": "10.15", "label": "10.15", "title": "在 contrib/pgcrypto 中增加对一种不太可能发生的失败情况的检查", "evidence": {"same_day": true, "patch_ids": ["4f04e866de664fee005bc1be03012a43"], "statement_hash": "a101902f387455f94f8154c1086870b38160f769d5625ab9d0a607f5062e59a4"}, "url": "/docs/compare/?release=10.15#10.15-d014e971353ca539", "source_url": "/docs/release/10.15/#id-1.11.6.13.5"}, {"db_id": "dbac2d5baf492e2785e215805432046b", "kind": "equivalent", "version": "9.6.20", "label": "9.6.20", "title": "在 contrib/pgcrypto 中为一个不太可能发生的失败情况添加检查", "evidence": {"same_day": true, "patch_ids": ["4f04e866de664fee005bc1be03012a43"], "statement_hash": "a101902f387455f94f8154c1086870b38160f769d5625ab9d0a607f5062e59a4"}, "url": "/docs/compare/?release=9.6.20#9.6.20-c4df30e1bb4d4367", "source_url": "/docs/release/9.6.20/#id-1.11.6.9.5"}, {"db_id": "0d5d2e9e50fda96c7c7a5634bd6c0240", "kind": "equivalent", "version": "9.5.24", "label": "9.5.24", "title": "在 contrib/pgcrypto 中为一个不太可能发生的失败情况添加检查", "evidence": {"same_day": true, "patch_ids": ["4f04e866de664fee005bc1be03012a43"], "statement_hash": "a101902f387455f94f8154c1086870b38160f769d5625ab9d0a607f5062e59a4"}, "url": "/docs/compare/?release=9.5.24#9.5.24-c4df30e1bb4d4367", "source_url": "/docs/release/9.5.24/#id-1.11.6.6.6"}]}, {"id": "12.5-a31317ae21de06d0", "cves": [], "html": "<p>修复最近添加的 <code>timetz</code> 测试用例，使其在美国未实行夏令时期间也能正常工作（Tom Lane）<a href=\"https://postgr.es/c/25b587f03\">§</a></p>", "text": "修复最近添加的 timetz 测试用例，使其在美国未实行夏令时期间也能正常工作（Tom Lane）§", "title": "修复最近添加的 timetz 测试用例，使其在美国未实行夏令时期间也能正常工作", "commits": ["25b587f03"], "section": "变更", "category": "bugfix", "source_url": "/docs/release/12.5/#id-1.11.6.23.5", "source_hash": "8745ec20889b5ad025dadc1089c8cb99fd5ef0fef3e2fa18d2c234d660ebf96b", "section_path": ["变更"], "commit_groups": [["24d769b90", "25b587f03", "4a071afbd", "c39f4e81d", "ee03baad2"]], "identity_text": "Fix recently-added timetz test case so it works when the USA is not observing daylight savings time (Tom Lane)", "commit_aliases": ["24d769b90", "25b587f03", "4a071afbd", "c39f4e81d", "ee03baad2"], "source_commits": ["25b587f03"], "source_entry_id": "12.5/changes/056", "db_id": "9ca9d5b4c77251fc1b35a67283d642ca", "patch_ids": ["faa0ab88071d9f2c84164048aceaf04b"], "statement_hash": "b6b434cdd69930654f029df11918aeeb483d49ae0321496c79e07a583ded2a47", "relations": [{"rule": 2, "type": "equivalent", "target": "29ee1359b70e89be6ff3c91491982109", "evidence": {"same_day": true, "patch_ids": ["faa0ab88071d9f2c84164048aceaf04b"], "statement_hash": "b6b434cdd69930654f029df11918aeeb483d49ae0321496c79e07a583ded2a47"}}, {"rule": 2, "type": "equivalent", "target": "7aa39c9385d6d1ba1679568b9da00bba", "evidence": {"same_day": true, "patch_ids": ["faa0ab88071d9f2c84164048aceaf04b"], "statement_hash": "b6b434cdd69930654f029df11918aeeb483d49ae0321496c79e07a583ded2a47"}}, {"rule": 2, "type": "equivalent", "target": "b9e29e97c644a91f72344b503ab22257", "evidence": {"same_day": true, "patch_ids": ["faa0ab88071d9f2c84164048aceaf04b"], "statement_hash": "b6b434cdd69930654f029df11918aeeb483d49ae0321496c79e07a583ded2a47"}}], "version": "12.5", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "29ee1359b70e89be6ff3c91491982109", "kind": "equivalent", "version": "13.1", "label": "13.1", "title": "修复最近添加的 timetz 测试用例，使其在美国未实行夏令时期间也能正常工作", "evidence": {"same_day": true, "patch_ids": ["faa0ab88071d9f2c84164048aceaf04b"], "statement_hash": "b6b434cdd69930654f029df11918aeeb483d49ae0321496c79e07a583ded2a47"}, "url": "/docs/compare/?release=13.1#13.1-1cf13cfa7ad433ac", "source_url": "/docs/release/13.1/#id-1.11.6.28.5"}, {"db_id": "b9e29e97c644a91f72344b503ab22257", "kind": "equivalent", "version": "11.10", "label": "11.10", "title": "修复最近添加的 timetz 测试用例，使其在美国未实行夏令时期间也能正常工作", "evidence": {"same_day": true, "patch_ids": ["faa0ab88071d9f2c84164048aceaf04b"], "statement_hash": "b6b434cdd69930654f029df11918aeeb483d49ae0321496c79e07a583ded2a47"}, "url": "/docs/compare/?release=11.10#11.10-a677bf8bd4585eb9", "source_url": "/docs/release/11.10/#id-1.11.6.17.5"}, {"db_id": "7aa39c9385d6d1ba1679568b9da00bba", "kind": "equivalent", "version": "10.15", "label": "10.15", "title": "修复最近添加的 timetz 测试用例，使其在美国未实行夏令时期间也能正常工作", "evidence": {"same_day": true, "patch_ids": ["faa0ab88071d9f2c84164048aceaf04b"], "statement_hash": "b6b434cdd69930654f029df11918aeeb483d49ae0321496c79e07a583ded2a47"}, "url": "/docs/compare/?release=10.15#10.15-a677bf8bd4585eb9", "source_url": "/docs/release/10.15/#id-1.11.6.13.5"}]}, {"id": "12.5-a596e773c3224b3e", "cves": [], "html": "<p>将时区数据文件更新到 <span>tzdata</span> 2020d 版，以反映斐济、摩洛哥、巴勒斯坦、加拿大育空地区、麦夸里岛和凯西站（南极洲）的夏令时法规变更，并修正法国、匈牙利、摩纳哥和巴勒斯坦的历史数据。（Tom Lane）<a href=\"https://postgr.es/c/b39c94097\">§</a> <a href=\"https://postgr.es/c/78ccf7f42\">§</a></p>", "text": "将时区数据文件更新到 tzdata 2020d 版，以反映斐济、摩洛哥、巴勒斯坦、加拿大育空地区、麦夸里岛和凯西站（南极洲）的夏令时法规变更，并修正法国、匈牙利、摩纳哥和巴勒斯坦的历史数据。（Tom Lane）§ §", "title": "将时区数据文件更新到 tzdata 2020d 版，以反映斐济、摩洛哥、巴勒斯坦、加拿大育空地区、麦夸里岛和凯西站（南极洲）的夏令时法规变更，并修正法国、匈牙利、摩纳哥和巴勒斯坦的历史数据。", "commits": ["78ccf7f42", "b39c94097"], "section": "变更", "category": "improvement", "source_url": "/docs/release/12.5/#id-1.11.6.23.5", "source_hash": "8da8e6ec6354e05ab441cca3876295b469fbecd4e32564c313e816a90a93bba2", "section_path": ["变更"], "commit_groups": [["02f86d523", "05a36321a", "0abebb58f", "78ccf7f42", "7d6d6bce4", "96ed2ae93", "a357cc05d"], ["13dbf4ab8", "2b9166dbc", "3f26dca76", "aae4097b0", "b39c94097", "c4a803ac7", "c8cb243cb"]], "identity_text": "Update time zone data files to tzdata release 2020d for DST law changes in Fiji, Morocco, Palestine, the Canadian Yukon, Macquarie Island, and Casey Station (Antarctica); plus historical corrections for France, Hungary, Monaco, and Palestine. (Tom Lane)", "commit_aliases": ["02f86d523", "05a36321a", "0abebb58f", "13dbf4ab8", "2b9166dbc", "3f26dca76", "78ccf7f42", "7d6d6bce4", "96ed2ae93", "a357cc05d", "aae4097b0", "b39c94097", "c4a803ac7", "c8cb243cb"], "source_commits": ["78ccf7f42", "b39c94097"], "source_entry_id": "12.5/changes/057", "db_id": "c58c928aec65249ba5f1bb5034af5752", "patch_ids": ["6b7844d473905050493fea203fa69475", "fe3bd98ff6db91aad632edf88c490930"], "statement_hash": "c77e3801ff3941d2d01739806c015eda2ca4a03ab1bb652efed7a98081d3486e", "relations": [{"rule": 2, "type": "equivalent", "target": "0c059116f712fa34ddefc1f3c11c86f8", "evidence": {"same_day": true, "patch_ids": ["6b7844d473905050493fea203fa69475", "fe3bd98ff6db91aad632edf88c490930"]}}, {"rule": 2, "type": "equivalent", "target": "17ad90072e2a8914a07d4372466d24e4", "evidence": {"same_day": true, "patch_ids": ["6b7844d473905050493fea203fa69475", "fe3bd98ff6db91aad632edf88c490930"], "statement_hash": "c77e3801ff3941d2d01739806c015eda2ca4a03ab1bb652efed7a98081d3486e"}}, {"rule": 2, "type": "equivalent", "target": "24974773d2daa01debb16ce936e6bdc1", "evidence": {"same_day": true, "patch_ids": ["6b7844d473905050493fea203fa69475", "fe3bd98ff6db91aad632edf88c490930"]}}, {"rule": 2, "type": "equivalent", "target": "5971ee3b479e16b4b8d6835dad1bb9e3", "evidence": {"same_day": true, "patch_ids": ["6b7844d473905050493fea203fa69475", "fe3bd98ff6db91aad632edf88c490930"]}}, {"rule": 2, "type": "equivalent", "target": "5feb640716a0600d1dca369557b946b5", "evidence": {"same_day": true, "patch_ids": ["6b7844d473905050493fea203fa69475", "fe3bd98ff6db91aad632edf88c490930"]}}], "version": "12.5", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "17ad90072e2a8914a07d4372466d24e4", "kind": "equivalent", "version": "13.1", "label": "13.1", "title": "将时区数据文件更新到 tzdata 2020d 版，以反映斐济、摩洛哥、巴勒斯坦、加拿大育空地区、麦夸里岛和凯西站（南极洲）的夏令时法规变更，并修正法国、匈牙利、摩纳哥和巴勒斯坦的历史数据。", "evidence": {"same_day": true, "patch_ids": ["6b7844d473905050493fea203fa69475", "fe3bd98ff6db91aad632edf88c490930"], "statement_hash": "c77e3801ff3941d2d01739806c015eda2ca4a03ab1bb652efed7a98081d3486e"}, "url": "/docs/compare/?release=13.1#13.1-69c39fa41c88aa05", "source_url": "/docs/release/13.1/#id-1.11.6.28.5"}, {"db_id": "5feb640716a0600d1dca369557b946b5", "kind": "equivalent", "version": "11.10", "label": "11.10", "title": "将时区数据文件更新到 tzdata 2020d 版，以反映斐济、摩洛哥、巴勒斯坦、加拿大育空地区、麦夸里岛和凯西站（南极洲）的夏令时法规变更，并修正法国、匈牙利、摩纳哥和巴勒斯坦的历史数据。", "evidence": {"same_day": true, "patch_ids": ["6b7844d473905050493fea203fa69475", "fe3bd98ff6db91aad632edf88c490930"]}, "url": "/docs/compare/?release=11.10#11.10-35674ee16596b2e4", "source_url": "/docs/release/11.10/#id-1.11.6.17.5"}, {"db_id": "0c059116f712fa34ddefc1f3c11c86f8", "kind": "equivalent", "version": "10.15", "label": "10.15", "title": "将时区数据文件更新到 tzdata 2020d 版，以反映斐济、摩洛哥、巴勒斯坦、加拿大育空地区、麦夸里岛和凯西站（南极洲）的夏令时法规变更，并修正法国、匈牙利、摩纳哥和巴勒斯坦的历史数据。", "evidence": {"same_day": true, "patch_ids": ["6b7844d473905050493fea203fa69475", "fe3bd98ff6db91aad632edf88c490930"]}, "url": "/docs/compare/?release=10.15#10.15-35674ee16596b2e4", "source_url": "/docs/release/10.15/#id-1.11.6.13.5"}, {"db_id": "24974773d2daa01debb16ce936e6bdc1", "kind": "equivalent", "version": "9.6.20", "label": "9.6.20", "title": "更新时区数据文件到 tzdata 版本 2020d，涉及斐济、摩洛哥、巴勒斯坦、加拿大育空、麦夸里岛和凯西站（南极洲）的夏令时法规变更，以及法国、匈牙利、摩纳哥和巴勒斯坦的历史修正。", "evidence": {"same_day": true, "patch_ids": ["6b7844d473905050493fea203fa69475", "fe3bd98ff6db91aad632edf88c490930"]}, "url": "/docs/compare/?release=9.6.20#9.6.20-87c614097f028f7e", "source_url": "/docs/release/9.6.20/#id-1.11.6.9.5"}, {"db_id": "5971ee3b479e16b4b8d6835dad1bb9e3", "kind": "equivalent", "version": "9.5.24", "label": "9.5.24", "title": "更新时区数据文件到 tzdata 版本 2020d，涉及斐济、摩洛哥、巴勒斯坦、加拿大育空、麦夸里岛和凯西站（南极洲）的夏令时法规变更，以及法国、匈牙利、摩纳哥和巴勒斯坦的历史修正。", "evidence": {"same_day": true, "patch_ids": ["6b7844d473905050493fea203fa69475", "fe3bd98ff6db91aad632edf88c490930"]}, "url": "/docs/compare/?release=9.5.24#9.5.24-87c614097f028f7e", "source_url": "/docs/release/9.5.24/#id-1.11.6.6.6"}]}, {"id": "12.5-e5bcd809852f6361", "cves": [], "html": "<p>将我们使用的时区库副本同步到 IANA tzcode 2020d 版（Tom Lane）<a href=\"https://postgr.es/c/3d13a8307\">§</a> <a href=\"https://postgr.es/c/f56c42e50\">§</a></p>\n<p>这纳入了上游将 <span>zic</span> 默认输出选项从 <span>“<span>fat</span>”</span> 改为 <span>“<span>slim</span>”</span> 的修改。对我们而言，这只是表面上的变化，因为在 v13 之前的分支中，我们仍然选择 <span>“<span>fat</span>”</span> 模式。此项修改还确保 <code>strftime()</code> 只在失败时才改变 <code>errno</code>。</p>", "text": "将我们使用的时区库副本同步到 IANA tzcode 2020d 版（Tom Lane）§ § 这纳入了上游将 zic 默认输出选项从 “fat” 改为 “slim” 的修改。对我们而言，这只是表面上的变化，因为在 v13 之前的分支中，我们仍然选择 “fat” 模式。此项修改还确保 strftime() 只在失败时才改变 errno。", "title": "将我们使用的时区库副本同步到 IANA tzcode 2020d 版", "commits": ["3d13a8307", "f56c42e50"], "section": "变更", "category": "improvement", "source_url": "/docs/release/12.5/#id-1.11.6.23.5", "source_hash": "424d48f4ccec921d8b630791cd0d21f37f68493cb454bb6a2a997a2e40e21536", "section_path": ["变更"], "commit_groups": [["0e551533b", "34285083b", "58f9f52a3", "c5054da0d", "d2ffe0a00", "f56c42e50", "ff26f804a"], ["38fac9c1f", "3d13a8307", "41eeeb348", "4a2528bfa", "5515c73a6", "ce0e97f80", "e0cf5e9b2"]], "identity_text": "Sync our copy of the timezone library with IANA tzcode release 2020d (Tom Lane) This absorbs upstream's change of zic's default output option from fat to slim. That's just cosmetic for our purposes, as we continue to select the fat mode in pre-v13 branches. This change also ensures that strftime() does not change errno unless it fails.", "commit_aliases": ["0e551533b", "34285083b", "38fac9c1f", "3d13a8307", "41eeeb348", "4a2528bfa", "5515c73a6", "58f9f52a3", "c5054da0d", "ce0e97f80", "d2ffe0a00", "e0cf5e9b2", "f56c42e50", "ff26f804a"], "source_commits": ["3d13a8307", "f56c42e50"], "source_entry_id": "12.5/changes/058", "db_id": "9c701cb8701480bb7bf7c82ff3b881ed", "patch_ids": ["5329b926526a7821e21cf0be73875781", "c847714957ad066c1565c75e71ba3f93"], "statement_hash": "b02406ddb8da8aaea556e8b795c8d63e69a9bacfe44140c73254eb1d95d7b3fd", "relations": [{"rule": 2, "type": "equivalent", "target": "156883958c90dfb68c440d6f4e13dd68", "evidence": {"same_day": true, "patch_ids": ["5329b926526a7821e21cf0be73875781", "c847714957ad066c1565c75e71ba3f93"], "statement_hash": "b02406ddb8da8aaea556e8b795c8d63e69a9bacfe44140c73254eb1d95d7b3fd"}}, {"rule": 2, "type": "equivalent", "target": "409e74a5e9afc7b68a41d7cbf221d59a", "evidence": {"same_day": true, "patch_ids": ["5329b926526a7821e21cf0be73875781", "c847714957ad066c1565c75e71ba3f93"], "statement_hash": "b02406ddb8da8aaea556e8b795c8d63e69a9bacfe44140c73254eb1d95d7b3fd"}}, {"rule": 2, "type": "equivalent", "target": "52d347da31273abef1af14ed10ad0fb1", "evidence": {"same_day": true, "patch_ids": ["5329b926526a7821e21cf0be73875781", "c847714957ad066c1565c75e71ba3f93"], "statement_hash": "b02406ddb8da8aaea556e8b795c8d63e69a9bacfe44140c73254eb1d95d7b3fd"}}, {"rule": 2, "type": "equivalent", "target": "6336dce9078f25448e30e2435b0ec30b", "evidence": {"same_day": true, "patch_ids": ["5329b926526a7821e21cf0be73875781", "c847714957ad066c1565c75e71ba3f93"], "statement_hash": "b02406ddb8da8aaea556e8b795c8d63e69a9bacfe44140c73254eb1d95d7b3fd"}}, {"rule": 2, "type": "equivalent", "target": "ec084e870ae41f74062a40300d06758a", "evidence": {"same_day": true, "patch_ids": ["5329b926526a7821e21cf0be73875781", "c847714957ad066c1565c75e71ba3f93"], "statement_hash": "b02406ddb8da8aaea556e8b795c8d63e69a9bacfe44140c73254eb1d95d7b3fd"}}], "version": "12.5", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "ec084e870ae41f74062a40300d06758a", "kind": "equivalent", "version": "13.1", "label": "13.1", "title": "将我们使用的时区库副本同步到 IANA tzcode 2020d 版", "evidence": {"same_day": true, "patch_ids": ["5329b926526a7821e21cf0be73875781", "c847714957ad066c1565c75e71ba3f93"], "statement_hash": "b02406ddb8da8aaea556e8b795c8d63e69a9bacfe44140c73254eb1d95d7b3fd"}, "url": "/docs/compare/?release=13.1#13.1-a63484f22ea7c05b", "source_url": "/docs/release/13.1/#id-1.11.6.28.5"}, {"db_id": "409e74a5e9afc7b68a41d7cbf221d59a", "kind": "equivalent", "version": "11.10", "label": "11.10", "title": "将我们使用的时区库副本同步到 IANA tzcode 2020d 版", "evidence": {"same_day": true, "patch_ids": ["5329b926526a7821e21cf0be73875781", "c847714957ad066c1565c75e71ba3f93"], "statement_hash": "b02406ddb8da8aaea556e8b795c8d63e69a9bacfe44140c73254eb1d95d7b3fd"}, "url": "/docs/compare/?release=11.10#11.10-7078d7176841368b", "source_url": "/docs/release/11.10/#id-1.11.6.17.5"}, {"db_id": "156883958c90dfb68c440d6f4e13dd68", "kind": "equivalent", "version": "10.15", "label": "10.15", "title": "将我们使用的时区库副本同步到 IANA tzcode 2020d 版", "evidence": {"same_day": true, "patch_ids": ["5329b926526a7821e21cf0be73875781", "c847714957ad066c1565c75e71ba3f93"], "statement_hash": "b02406ddb8da8aaea556e8b795c8d63e69a9bacfe44140c73254eb1d95d7b3fd"}, "url": "/docs/compare/?release=10.15#10.15-7078d7176841368b", "source_url": "/docs/release/10.15/#id-1.11.6.13.5"}, {"db_id": "6336dce9078f25448e30e2435b0ec30b", "kind": "equivalent", "version": "9.6.20", "label": "9.6.20", "title": "把我们的时区库副本与 IANA tzcode 版本 2020d 同步", "evidence": {"same_day": true, "patch_ids": ["5329b926526a7821e21cf0be73875781", "c847714957ad066c1565c75e71ba3f93"], "statement_hash": "b02406ddb8da8aaea556e8b795c8d63e69a9bacfe44140c73254eb1d95d7b3fd"}, "url": "/docs/compare/?release=9.6.20#9.6.20-158d67700c1237ce", "source_url": "/docs/release/9.6.20/#id-1.11.6.9.5"}, {"db_id": "52d347da31273abef1af14ed10ad0fb1", "kind": "equivalent", "version": "9.5.24", "label": "9.5.24", "title": "把我们的时区库副本与 IANA tzcode 版本 2020d 同步", "evidence": {"same_day": true, "patch_ids": ["5329b926526a7821e21cf0be73875781", "c847714957ad066c1565c75e71ba3f93"], "statement_hash": "b02406ddb8da8aaea556e8b795c8d63e69a9bacfe44140c73254eb1d95d7b3fd"}, "url": "/docs/compare/?release=9.5.24#9.5.24-158d67700c1237ce", "source_url": "/docs/release/9.5.24/#id-1.11.6.6.6"}]}]}], "stats": [{"key": "all", "label": "全部变更", "count": 58}, {"key": "feature", "label": "新功能", "count": 0}, {"key": "bugfix", "label": "BUG 修复", "count": 24}, {"key": "security", "label": "安全相关", "count": 4}, {"key": "performance", "label": "性能改进", "count": 0}, {"key": "compatibility", "label": "兼容性变化", "count": 0}, {"key": "improvement", "label": "其他改进", "count": 30}], "total": 58, "release_count": 1, "cross_major": false, "cve_count": 3, "cves": [{"id": "CVE-2020-25695", "url": "https://www.postgresql.org/support/security/CVE-2020-25695/", "fixed": {"10": "10.15", "11": "11.10", "12": "12.5", "13": "13.1", "9.5": "9.5.24", "9.6": "9.6.20"}, "score": 8.8, "title": "禁止在索引表达式和物化视图查询中执行 DECLARE CURSOR ... WITH HOLD 以及触发延迟触发器", "vector": "AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H", "affected": {"10": "10", "11": "11", "12": "12", "13": "13", "9.5": "9.5", "9.6": "9.6"}, "component": "core server", "published": {"10": "2020-11-12", "11": "2020-11-12", "12": "2020-11-12", "13": "2020-11-12", "9.5": "2020-11-12", "9.6": "2020-11-12"}, "introduced": {}, "cvss_version": "3.0", "description_en": "An attacker having permission to create non-temporary objects in at least one schema can execute arbitrary SQL functions under the identity of a superuser.\n\nWhile promptly updating PostgreSQL is the best remediation for most users, a user unable to do that can work around the vulnerability by disabling autovacuum and not manually running ANALYZE , CLUSTER , REINDEX , CREATE INDEX , VACUUM FULL , REFRESH MATERIALIZED VIEW , or a restore from output of the pg_dump command. Performance may degrade quickly under this workaround.\n\nVACUUM without the FULL option is safe, and all commands are fine when a trusted user owns the target object.\n\nThe PostgreSQL project thanks Etienne Stalmans for reporting this problem.", "first_published": "2020-11-12", "fixed_version": "12.5"}, {"id": "CVE-2020-25694", "url": "https://www.postgresql.org/support/security/CVE-2020-25694/", "fixed": {"10": "10.15", "11": "11.10", "12": "12.5", "13": "13.1", "9.5": "9.5.24", "9.6": "9.6.20"}, "score": 8.1, "title": "修复 pg_dump、pg_restore、clusterdb、reindexdb 和 vacuumdb 对复杂连接字符串参数的使用", "vector": "AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H", "affected": {"10": "10", "11": "11", "12": "12", "13": "13", "9.5": "9.5", "9.6": "9.6"}, "component": "client", "published": {"10": "2020-11-12", "11": "2020-11-12", "12": "2020-11-12", "13": "2020-11-12", "9.5": "2020-11-12", "9.6": "2020-11-12"}, "introduced": {}, "cvss_version": "3.0", "description_en": "Many PostgreSQL-provided client applications have options that create additional database connections. Some of those applications reuse only the basic connection parameters (e.g. host , user , port ), dropping others. If this drops a security-relevant parameter (e.g. channel_binding , sslmode , requirepeer , gssencmode ), the attacker has an opportunity to complete a MITM attack or observe cleartext transmission.\n\nAffected applications are clusterdb , pg_dump , pg_restore , psql , reindexdb , and vacuumdb . The vulnerability arises only if one invokes an affected client application with a connection string containing a security-relevant parameter.\n\nThis also fixes how the \\connect command of psql reuses connection parameters, i.e. all non-overridden parameters from a previous connection string now re-used.\n\nThe PostgreSQL project thanks Peter Eisentraut for reporting this problem.", "first_published": "2020-11-12", "fixed_version": "12.5"}, {"id": "CVE-2020-25696", "url": "https://www.postgresql.org/support/security/CVE-2020-25696/", "fixed": {"10": "10.15", "11": "11.10", "12": "12.5", "13": "13.1", "9.5": "9.5.24", "9.6": "9.6.20"}, "score": 7.5, "title": "防止 psql 的 \\gset 命令修改具有特殊处理方式的变量", "vector": "AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H", "affected": {"10": "10", "11": "11", "12": "12", "13": "13", "9.5": "9.5", "9.6": "9.6"}, "component": "client", "published": {"10": "2020-11-12", "11": "2020-11-12", "12": "2020-11-12", "13": "2020-11-12", "9.5": "2020-11-12", "9.6": "2020-11-12"}, "introduced": {}, "cvss_version": "3.0", "description_en": "The \\gset meta-command, which sets psql variables based on query results, does not distinguish variables that control psql behavior. If an interactive psql session uses \\gset when querying a compromised server, the attacker can execute arbitrary code as the operating system account running psql . Using \\gset with a prefix not found among specially treated variables, e.g. any lowercase string, precludes the attack in an unpatched psql .\n\nThe PostgreSQL project thanks Nick Cleaton for reporting this problem.", "first_published": "2020-11-12", "fixed_version": "12.5"}], "cve_available": true, "remaining_cves": [], "security_regressions": [], "warnings": [], "candidate_count": 58, "already_in_source_count": 0, "duplicate_count": 0, "excluded_count": 0, "exclusions": [], "source_as_of": "2026-09-26", "security_as_of": "2026-09-26"}