{"format": 1, "mode": "release", "from_release": null, "to_release": {"date": "2018-03-01", "build": "10.3", "major": "10", "minor": 3, "manual": "10", "status": "stable", "doc_git": "", "version": "10.3", "eol_date": "2022-11-10", "date_text": "2018-03-01", "supported": false, "manual_url": "/docs/10/release-10-3.html", "source_url": "/docs/release/10.3/", "entry_count": 11, "placeholder": false, "content_hash": "15a58e8ca63e57c447776f6773c5e47662c9adb7d20e1d5f01d0accfcf6d2c31", "manual_build": "10.23", "source_as_of": "", "changes_count": 11, "doc_loaded_at": "2026-09-26T02:56:43.207462", "migration_html": "<p>对于运行 10.X 的用户，不需要执行导出/恢复。</p>\n<p>但是，如果您的安装中并非所有用户都相互信任，或者您维护的应用程序或扩展需要用于各种场景，强烈建议阅读下方第一条变更日志所述的文档变更，并采取适当措施，确保您的安装或代码安全。</p>\n<p>另外，下方变更记录中第二项所述的修改，可能使索引表达式或物化视图中使用的函数在自动分析期间或从转储重载时失败。升级后，请监视服务器日志中是否有此类问题，并修复受影响的函数。</p>\n<p>此外，如果是从早于 10.2 的版本升级，请参见<a href=\"/docs/10/release-10-2.html\" title=\"E.22. 发布版本 10.2\">第 E.22 节</a>。</p>", "compatibility_count": 0, "label": "10.3", "status_label": "历史版本", "eol": "2022-11-10", "age_days": 3135, "support_days": -1420}, "groups": [{"date": "2018-03-01", "build": "10.3", "major": "10", "minor": 3, "manual": "10", "status": "stable", "doc_git": "", "version": "10.3", "eol_date": "2022-11-10", "date_text": "2018-03-01", "supported": false, "manual_url": "/docs/10/release-10-3.html", "source_url": "/docs/release/10.3/", "entry_count": 11, "placeholder": false, "content_hash": "15a58e8ca63e57c447776f6773c5e47662c9adb7d20e1d5f01d0accfcf6d2c31", "manual_build": "10.23", "source_as_of": "", "changes_count": 11, "doc_loaded_at": "2026-09-26T02:56:43.207462", "migration_html": "<p>对于运行 10.X 的用户，不需要执行导出/恢复。</p>\n<p>但是，如果您的安装中并非所有用户都相互信任，或者您维护的应用程序或扩展需要用于各种场景，强烈建议阅读下方第一条变更日志所述的文档变更，并采取适当措施，确保您的安装或代码安全。</p>\n<p>另外，下方变更记录中第二项所述的修改，可能使索引表达式或物化视图中使用的函数在自动分析期间或从转储重载时失败。升级后，请监视服务器日志中是否有此类问题，并修复受影响的函数。</p>\n<p>此外，如果是从早于 10.2 的版本升级，请参见<a href=\"/docs/10/release-10-2.html\" title=\"E.22. 发布版本 10.2\">第 E.22 节</a>。</p>", "compatibility_count": 0, "label": "10.3", "status_label": "历史版本", "eol": "2022-11-10", "age_days": 3135, "support_days": -1420, "entries": [{"id": "10.3-12464343c3fa6b9c", "cves": ["CVE-2018-1058"], "html": "<p>记录如何配置安装和应用程序，以防范其他用户利用搜索路径发起的特洛伊木马攻击（Noah Misch）</p>\n<p>如果 <code>search_path</code> 设置包含恶意用户可写的任何模式，该用户就能控制查询，进而以被攻击用户的权限运行任意 SQL 代码。虽然可以编写不受此类劫持影响的查询，但写法十分繁琐，也很容易遗漏漏洞。因此，我们现在建议配置搜索路径时不要包含任何不可信模式。相关文档见<a href=\"/docs/10/ddl-schemas.html#DDL-SCHEMAS-PATTERNS\" title=\"5.8.6. 使用方式\">第 5.8.6 节</a>（面向数据库管理员和用户）、<a href=\"/docs/10/libpq.html#LIBPQ-CONNECT\" title=\"33.1. 数据库连接控制函数\">第 33.1 节</a>（面向应用作者）、<a href=\"/docs/10/extend-extensions.html#EXTEND-EXTENSIONS-SECURITY\" title=\"37.15.6. 扩展的安全注意事项\">第 37.15.6 节</a>（面向扩展作者），以及<a href=\"/docs/10/sql-createfunction.html\" title=\"CREATE FUNCTION\"><span>CREATE FUNCTION</span></a>（面向 <code>SECURITY DEFINER</code> 函数作者）。（CVE-2018-1058）</p>", "text": "记录如何配置安装和应用程序，以防范其他用户利用搜索路径发起的特洛伊木马攻击（Noah Misch） 如果 search_path 设置包含恶意用户可写的任何模式，该用户就能控制查询，进而以被攻击用户的权限运行任意 SQL 代码。虽然可以编写不受此类劫持影响的查询，但写法十分繁琐，也很容易遗漏漏洞。因此，我们现在建议配置搜索路径时不要包含任何不可信模式。相关文档见第 5.8.6 节（面向数据库管理员和用户）、第 33.1 节（面向应用作者）、第 37.15.6 节（面向扩展作者），以及CREATE FUNCTION（面向 SECURITY DEFINER 函数作者）。（CVE-2018-1058）", "title": "记录如何配置安装和应用程序，以防范其他用户利用搜索路径发起的特洛伊木马攻击", "commits": [], "section": "变更", "category": "security", "source_url": "/docs/release/10.3/#id-1.11.6.25.5", "source_hash": "7efd832bd57a72f96d1e03c0fcbf7532ec1a5d04b63dcdd31ad059b13ac6d3c0", "section_path": ["变更"], "commit_groups": [["1f47ea7b8", "41ee473a4", "5770172cb", "70396dbe3", "ee0d1966e", "f28955e38"]], "identity_text": "Document how to configure installations and applications to guard against search-path-dependent trojan-horse attacks from other users (Noah Misch) Using a search_path setting that includes any schemas writable by a hostile user enables that user to capture control of queries and then run arbitrary SQL code with the permissions of the attacked user. While it is possible to write queries that are proof against such hijacking, it is notationally tedious, and it's very easy to overlook holes. Therefore, we now recommend configurations in which no untrusted schemas appear in one's search path. Relevant documentation appears in ddl-schemas-patterns (for database administrators and users), libpq-connect (for application authors), extend-extensions-security (for extension authors), and sql-createfunction (for authors of SECURITY DEFINER functions). (CVE-2018-1058)", "commit_aliases": ["1f47ea7b8", "41ee473a4", "5770172cb", "70396dbe3", "ee0d1966e", "f28955e38"], "source_commits": ["ee0d1966e"], "source_entry_id": "10.3/changes/001", "db_id": "f34e722728f91f9ee97653e304b9d28b", "patch_ids": ["9509262dcd68cb579f74db6f746b0d51"], "statement_hash": "f4eb8c1812403c7fd9294768855535e0d4d524fd0478356fc9a8531e7c291d62", "relations": [{"rule": 2, "type": "equivalent", "target": "5a21500343ad00e5e00f3021b610a0a9", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "f4eb8c1812403c7fd9294768855535e0d4d524fd0478356fc9a8531e7c291d62"}}, {"rule": 2, "type": "equivalent", "target": "82073b679da941aa72a8287b38619ba8", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "f4eb8c1812403c7fd9294768855535e0d4d524fd0478356fc9a8531e7c291d62"}}], "version": "10.3", "category_label": "安全相关", "also_in": [], "variants": [], "related_changes": [{"db_id": "82073b679da941aa72a8287b38619ba8", "kind": "equivalent", "version": "9.6.8", "label": "9.6.8", "title": "记录如何配置安装和应用以防受其他用户依赖 search_path 的特洛伊木马攻击", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "f4eb8c1812403c7fd9294768855535e0d4d524fd0478356fc9a8531e7c291d62"}, "url": "/docs/compare/?release=9.6.8#9.6.8-15416513126c15d4", "source_url": "/docs/release/9.6.8/#id-1.11.6.21.5"}, {"db_id": "5a21500343ad00e5e00f3021b610a0a9", "kind": "equivalent", "version": "9.5.12", "label": "9.5.12", "title": "记录如何配置安装和应用以防受其他用户依赖 search_path 的特洛伊木马攻击", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "f4eb8c1812403c7fd9294768855535e0d4d524fd0478356fc9a8531e7c291d62"}, "url": "/docs/compare/?release=9.5.12#9.5.12-15416513126c15d4", "source_url": "/docs/release/9.5.12/#id-1.11.6.18.5"}]}, {"id": "10.3-5f3c119a2c06181a", "cves": ["CVE-2018-1058"], "html": "<p>避免在 <span>pg_dump</span> 和其他客户端程序中使用不安全的 <code>search_path</code> 设置（Noah Misch，Tom Lane）</p>\n<p><span>pg_dump</span>、<span>pg_upgrade</span>、<span>vacuumdb</span> 以及其他由 <span>PostgreSQL</span> 提供的应用本身，也容易受到上一条变更记录中所述的劫持攻击；由于这些应用通常由超级用户运行，它们尤其容易成为攻击目标。为确保无论整个安装环境是否已做好安全配置，这些应用本身都安全，将它们的 <code>search_path</code> 设置修改为只包含 <code>pg_catalog</code> 模式。自动清理工作进程现在也采用相同做法。</p>\n<p>如果这些程序间接执行用户提供的函数，例如索引表达式中的用户函数，更严格的 <code>search_path</code> 可能导致错误。需要调整这些用户函数，消除它们对调用时搜索路径的任何假设，才能修正这些错误。这一直是良好实践，而现在则是保证行为正确的必要条件。（CVE-2018-1058）</p>", "text": "避免在 pg_dump 和其他客户端程序中使用不安全的 search_path 设置（Noah Misch，Tom Lane） pg_dump、pg_upgrade、vacuumdb 以及其他由 PostgreSQL 提供的应用本身，也容易受到上一条变更记录中所述的劫持攻击；由于这些应用通常由超级用户运行，它们尤其容易成为攻击目标。为确保无论整个安装环境是否已做好安全配置，这些应用本身都安全，将它们的 search_path 设置修改为只包含 pg_catalog 模式。自动清理工作进程现在也采用相同做法。 如果这些程序间接执行用户提供的函数，例如索引表达式中的用户函数，更严格的 search_path 可能导致错误。需要调整这些用户函数，消除它们对调用时搜索路径的任何假设，才能修正这些错误。这一直是良好实践，而现在则是保证行为正确的必要条件。（CVE-2018-1058）", "title": "避免在 pg_dump 和其他客户端程序中使用不安全的 search_path 设置", "commits": [], "section": "变更", "category": "security", "source_url": "/docs/release/10.3/#id-1.11.6.25.5", "source_hash": "da65a43e2cf23871979fcc517b2e8c811deb41c36ababba4320026f61403a227", "section_path": ["变更"], "commit_groups": [["10d598354", "3db38b0ce", "582edc369", "91f3ffc52", "928bca1a3", "e170b8c8c"], ["3d2aed664", "815172ba8", "9f6e5296a", "a8fc37a63", "b8a2908f0", "fe8b95b7e"], ["461c32b55", "de8ffd666"]], "identity_text": "Avoid use of insecure search_path settings in pg_dump and other client programs (Noah Misch, Tom Lane) pg_dump, pg_upgrade, vacuumdb and other PostgreSQL-provided applications were themselves vulnerable to the type of hijacking described in the previous changelog entry; since these applications are commonly run by superusers, they present particularly attractive targets. To make them secure whether or not the installation as a whole has been secured, modify them to include only the pg_catalog schema in their search_path settings. Autovacuum worker processes now do the same, as well. In cases where user-provided functions are indirectly executed by these programs — for example, user-provided functions in index expressions — the tighter search_path may result in errors, which will need to be corrected by adjusting those user-provided functions to not assume anything about what search path they are invoked under. That has always been good practice, but now it will be necessary for correct behavior. (CVE-2018-1058)", "commit_aliases": ["10d598354", "3d2aed664", "3db38b0ce", "461c32b55", "582edc369", "815172ba8", "91f3ffc52", "928bca1a3", "9f6e5296a", "a8fc37a63", "b8a2908f0", "de8ffd666", "e170b8c8c", "fe8b95b7e"], "source_commits": ["10d598354", "461c32b55", "b8a2908f0"], "source_entry_id": "10.3/changes/002", "db_id": "9cdc72dacd8957621666de3bc80f94e9", "patch_ids": ["27009e0c68b226f737ba1140e94140c6", "a125df395912fc6b2575aff469ce2e85", "d6cdd80d6588e6dfd1aa9670c22c0b18"], "statement_hash": "eb872ee514bdcc8e5a99cee1edd0ab15630d15a4f9d4dc968f51ce88151958c6", "relations": [{"rule": 2, "type": "equivalent", "target": "07e7c249ed74636cb7ff30cca14583a2", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "eb872ee514bdcc8e5a99cee1edd0ab15630d15a4f9d4dc968f51ce88151958c6"}}, {"rule": 2, "type": "equivalent", "target": "285ab0afa4e4e1bda61cb74e401a85e4", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "eb872ee514bdcc8e5a99cee1edd0ab15630d15a4f9d4dc968f51ce88151958c6"}}, {"rule": 2, "type": "equivalent", "target": "2ec2e0c64c523020ee8bff794b7dc5bb", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "eb872ee514bdcc8e5a99cee1edd0ab15630d15a4f9d4dc968f51ce88151958c6"}}, {"rule": 2, "type": "equivalent", "target": "69e724f77f37ca5335e439d572362f89", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "eb872ee514bdcc8e5a99cee1edd0ab15630d15a4f9d4dc968f51ce88151958c6"}}], "version": "10.3", "category_label": "安全相关", "also_in": [], "variants": [], "related_changes": [{"db_id": "285ab0afa4e4e1bda61cb74e401a85e4", "kind": "equivalent", "version": "9.6.8", "label": "9.6.8", "title": "避免在 pg_dump 和其他客户端程序中使用不安全的 search_path 设置", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "eb872ee514bdcc8e5a99cee1edd0ab15630d15a4f9d4dc968f51ce88151958c6"}, "url": "/docs/compare/?release=9.6.8#9.6.8-5f3c119a2c06181a", "source_url": "/docs/release/9.6.8/#id-1.11.6.21.5"}, {"db_id": "69e724f77f37ca5335e439d572362f89", "kind": "equivalent", "version": "9.5.12", "label": "9.5.12", "title": "避免在 pg_dump 和其他客户端程序中使用不安全的 search_path 设置", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "eb872ee514bdcc8e5a99cee1edd0ab15630d15a4f9d4dc968f51ce88151958c6"}, "url": "/docs/compare/?release=9.5.12#9.5.12-5f3c119a2c06181a", "source_url": "/docs/release/9.5.12/#id-1.11.6.18.5"}, {"db_id": "2ec2e0c64c523020ee8bff794b7dc5bb", "kind": "equivalent", "version": "9.4.17", "label": "9.4.17", "title": "避免在 pg_dump 和其他客户端程序中使用不安全的 search_path 设置", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "eb872ee514bdcc8e5a99cee1edd0ab15630d15a4f9d4dc968f51ce88151958c6"}, "url": "/docs/compare/?release=9.4.17#9.4.17-5f3c119a2c06181a", "source_url": "/docs/release/9.4.17/#id-1.11.6.14.5"}, {"db_id": "07e7c249ed74636cb7ff30cca14583a2", "kind": "equivalent", "version": "9.3.22", "label": "9.3.22", "title": "避免在 pg_dump 和其他客户端程序中使用不安全的 search_path 设置", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "eb872ee514bdcc8e5a99cee1edd0ab15630d15a4f9d4dc968f51ce88151958c6"}, "url": "/docs/compare/?release=9.3.22#9.3.22-5f3c119a2c06181a", "source_url": "/docs/release/9.3.22/#id-1.11.6.8.5"}]}, {"id": "10.3-fba3e7a17696effe", "cves": [], "html": "<p>防止逻辑复制尝试传送不可发布关系的变更（Peter Eisentraut）</p>\n<p>标记为 <code>FOR ALL TABLES</code> 的发布会错误地传送物化视图和 <code>information_schema</code> 表的变更，而这些变更本应从变更流中排除。</p>", "text": "防止逻辑复制尝试传送不可发布关系的变更（Peter Eisentraut） 标记为 FOR ALL TABLES 的发布会错误地传送物化视图和 information_schema 表的变更，而这些变更本应从变更流中排除。", "title": "防止逻辑复制尝试传送不可发布关系的变更", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/10.3/#id-1.11.6.25.5", "source_hash": "bd0871f3c74403a1a4a6c3adb3a0f10e95f37acd827eaae47207eac6a29f79a8", "section_path": ["变更"], "commit_groups": [["b9bf23abb", "bc1adc651"]], "identity_text": "Prevent logical replication from trying to ship changes for unpublishable relations (Peter Eisentraut) A publication marked FOR ALL TABLES would incorrectly ship changes in materialized views and information_schema tables, which are supposed to be omitted from the change stream.", "commit_aliases": ["b9bf23abb", "bc1adc651"], "source_commits": ["b9bf23abb"], "source_entry_id": "10.3/changes/003", "db_id": "8433683681eadc696f30800d46da5868", "patch_ids": ["21a210ad7872eb78204d535426e1f927"], "statement_hash": "8086ca4284915f2729d10d3e398a500919e4a79cfae6e64c959ce1d6ac7d1225", "relations": [], "version": "10.3", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": []}, {"id": "10.3-a872d5a8564edde1", "cves": [], "html": "<p>修复子计划中存在 CTE 引用时并发更新重新检查的错误行为（Tom Lane）</p>\n<p>如果 InitPlan 或 SubPlan 使用了 CTE（<code>WITH</code> 子句引用），且查询因尝试更新或锁定被并发更新的行而需要重新检查，就可能产生不正确的结果。</p>", "text": "修复子计划中存在 CTE 引用时并发更新重新检查的错误行为（Tom Lane） 如果 InitPlan 或 SubPlan 使用了 CTE（WITH 子句引用），且查询因尝试更新或锁定被并发更新的行而需要重新检查，就可能产生不正确的结果。", "title": "修复子计划中存在 CTE 引用时并发更新重新检查的错误行为", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/10.3/#id-1.11.6.25.5", "source_hash": "da87f46162f28ae0b56f36c7a06b7089eb95d3e15110665ec52deab109db84ee", "section_path": ["变更"], "commit_groups": [["159efe4af", "340d63bfb", "517e0fe86", "795f2112e", "e11b6488e", "ea6d67cf8"]], "identity_text": "Fix misbehavior of concurrent-update rechecks with CTE references appearing in subplans (Tom Lane) If a CTE (WITH clause reference) is used in an InitPlan or SubPlan, and the query requires a recheck due to trying to update or lock a concurrently-updated row, incorrect results could be obtained.", "commit_aliases": ["159efe4af", "340d63bfb", "517e0fe86", "795f2112e", "e11b6488e", "ea6d67cf8"], "source_commits": ["517e0fe86"], "source_entry_id": "10.3/changes/004", "db_id": "557e981b12d86db91785cdce175221a5", "patch_ids": ["05dafaa9cd3e414e9cc5d08fec74eb7d"], "statement_hash": "5432474fe0549d18c17576b865b20cc16bfd43db793e3101d0b2a544761bbacb", "relations": [{"rule": 2, "type": "equivalent", "target": "4ac3c087eadec6a09af2ac698c7527e8", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "5432474fe0549d18c17576b865b20cc16bfd43db793e3101d0b2a544761bbacb"}}, {"rule": 2, "type": "equivalent", "target": "65c2b1f3aa8fcd6277735aeab8756942", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "5432474fe0549d18c17576b865b20cc16bfd43db793e3101d0b2a544761bbacb"}}, {"rule": 2, "type": "equivalent", "target": "9bf393cccf389e1408524d365c537615", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "5432474fe0549d18c17576b865b20cc16bfd43db793e3101d0b2a544761bbacb"}}, {"rule": 2, "type": "equivalent", "target": "a8daaadc8ea647c9253fa0ea6edcdf0e", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "5432474fe0549d18c17576b865b20cc16bfd43db793e3101d0b2a544761bbacb"}}], "version": "10.3", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "9bf393cccf389e1408524d365c537615", "kind": "equivalent", "version": "9.6.8", "label": "9.6.8", "title": "修复子计划中出现 CTE 引用时并发更新重检查的错误行为", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "5432474fe0549d18c17576b865b20cc16bfd43db793e3101d0b2a544761bbacb"}, "url": "/docs/compare/?release=9.6.8#9.6.8-a2a2d10a68caa3ed", "source_url": "/docs/release/9.6.8/#id-1.11.6.21.5"}, {"db_id": "4ac3c087eadec6a09af2ac698c7527e8", "kind": "equivalent", "version": "9.5.12", "label": "9.5.12", "title": "修复子计划中出现 CTE 引用时并发更新重检查的错误行为", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "5432474fe0549d18c17576b865b20cc16bfd43db793e3101d0b2a544761bbacb"}, "url": "/docs/compare/?release=9.5.12#9.5.12-a2a2d10a68caa3ed", "source_url": "/docs/release/9.5.12/#id-1.11.6.18.5"}, {"db_id": "65c2b1f3aa8fcd6277735aeab8756942", "kind": "equivalent", "version": "9.4.17", "label": "9.4.17", "title": "修复子计划中出现 CTE 引用时并发更新重检查的错误行为", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "5432474fe0549d18c17576b865b20cc16bfd43db793e3101d0b2a544761bbacb"}, "url": "/docs/compare/?release=9.4.17#9.4.17-a2a2d10a68caa3ed", "source_url": "/docs/release/9.4.17/#id-1.11.6.14.5"}, {"db_id": "a8daaadc8ea647c9253fa0ea6edcdf0e", "kind": "equivalent", "version": "9.3.22", "label": "9.3.22", "title": "修复子计划中出现 CTE 引用时并发更新重检查的错误行为", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "5432474fe0549d18c17576b865b20cc16bfd43db793e3101d0b2a544761bbacb"}, "url": "/docs/compare/?release=9.3.22#9.3.22-a2a2d10a68caa3ed", "source_url": "/docs/release/9.3.22/#id-1.11.6.8.5"}]}, {"id": "10.3-839b6a412f88926e", "cves": [], "html": "<p>修复外连接中存在重叠归并连接子句时规划器失败的问题（Tom Lane）</p>\n<p>这些问题会在边界情况下导致 <span>“<span>left and right pathkeys do not match in mergejoin</span>”</span> 或 <span>“<span>outer pathkeys do not match mergeclauses</span>”</span> 规划器错误。</p>", "text": "修复外连接中存在重叠归并连接子句时规划器失败的问题（Tom Lane） 这些问题会在边界情况下导致 “left and right pathkeys do not match in mergejoin” 或 “outer pathkeys do not match mergeclauses” 规划器错误。", "title": "修复外连接中存在重叠归并连接子句时规划器失败的问题", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/10.3/#id-1.11.6.25.5", "source_hash": "c68a948afee03c19a0a2cd0e3e6497c5a8b04cd0e438b69d868b879044a21b57", "section_path": ["变更"], "commit_groups": [["71a0d0c5a", "7dc5f316f", "9afd513df", "c458970ad", "e7c02a54a", "f6dd08489"]], "identity_text": "Fix planner failures with overlapping mergejoin clauses in an outer join (Tom Lane) These mistakes led to left and right pathkeys do not match in mergejoin or outer pathkeys do not match mergeclauses planner errors in corner cases.", "commit_aliases": ["71a0d0c5a", "7dc5f316f", "9afd513df", "c458970ad", "e7c02a54a", "f6dd08489"], "source_commits": ["c458970ad"], "source_entry_id": "10.3/changes/005", "db_id": "0246ca748e8808601f2952aaf477bc7d", "patch_ids": ["4dabdd55ccf975e10e6c6abe02165ce2"], "statement_hash": "d46b6a0d8a8b14ab6d44be2c4975c36de0dcd287333c7ce57b1d6285931eb26c", "relations": [{"rule": 2, "type": "equivalent", "target": "112e761317a2a41a3ad1e08f6759cb18", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "d46b6a0d8a8b14ab6d44be2c4975c36de0dcd287333c7ce57b1d6285931eb26c"}}, {"rule": 2, "type": "equivalent", "target": "56fa2fc847577a89467780f69c68e5f3", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "d46b6a0d8a8b14ab6d44be2c4975c36de0dcd287333c7ce57b1d6285931eb26c"}}, {"rule": 2, "type": "equivalent", "target": "9aada7ac4c7520858d32cdd00dd57e1f", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "d46b6a0d8a8b14ab6d44be2c4975c36de0dcd287333c7ce57b1d6285931eb26c"}}, {"rule": 2, "type": "equivalent", "target": "9cc2fe244dd7f351eac0b31733b2d757", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "d46b6a0d8a8b14ab6d44be2c4975c36de0dcd287333c7ce57b1d6285931eb26c"}}], "version": "10.3", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "9cc2fe244dd7f351eac0b31733b2d757", "kind": "equivalent", "version": "9.6.8", "label": "9.6.8", "title": "修复外连接中重叠 mergejoin 子句导致的规划器失败", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "d46b6a0d8a8b14ab6d44be2c4975c36de0dcd287333c7ce57b1d6285931eb26c"}, "url": "/docs/compare/?release=9.6.8#9.6.8-179826c81b230b71", "source_url": "/docs/release/9.6.8/#id-1.11.6.21.5"}, {"db_id": "112e761317a2a41a3ad1e08f6759cb18", "kind": "equivalent", "version": "9.5.12", "label": "9.5.12", "title": "修复外连接中重叠 mergejoin 子句导致的规划器失败", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "d46b6a0d8a8b14ab6d44be2c4975c36de0dcd287333c7ce57b1d6285931eb26c"}, "url": "/docs/compare/?release=9.5.12#9.5.12-179826c81b230b71", "source_url": "/docs/release/9.5.12/#id-1.11.6.18.5"}, {"db_id": "56fa2fc847577a89467780f69c68e5f3", "kind": "equivalent", "version": "9.4.17", "label": "9.4.17", "title": "修复外连接中重叠 mergejoin 子句导致的规划器失败", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "d46b6a0d8a8b14ab6d44be2c4975c36de0dcd287333c7ce57b1d6285931eb26c"}, "url": "/docs/compare/?release=9.4.17#9.4.17-179826c81b230b71", "source_url": "/docs/release/9.4.17/#id-1.11.6.14.5"}, {"db_id": "9aada7ac4c7520858d32cdd00dd57e1f", "kind": "equivalent", "version": "9.3.22", "label": "9.3.22", "title": "修复外连接中重叠 mergejoin 子句导致的规划器失败", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "d46b6a0d8a8b14ab6d44be2c4975c36de0dcd287333c7ce57b1d6285931eb26c"}, "url": "/docs/compare/?release=9.3.22#9.3.22-179826c81b230b71", "source_url": "/docs/release/9.3.22/#id-1.11.6.8.5"}]}, {"id": "10.3-40183e31fae9fef5", "cves": [], "html": "<p>修复 <span>pg_upgrade</span> 未保留物化视图的 <code>relfrozenxid</code> 的问题（Tom Lane，Andres Freund）</p>\n<p>这一疏漏可能在升级后导致物化视图中的数据损坏，表现为 <span>“<span>could not access status of transaction</span>”</span> 或 <span>“<span>found xmin from before relfrozenxid</span>”</span> 错误。很少刷新的物化视图，或仅使用 <code>REFRESH MATERIALIZED VIEW CONCURRENTLY</code> 维护的物化视图，更容易出现此问题。</p>\n<p>如果发现此类损坏，可以通过刷新物化视图（不使用 <code>CONCURRENTLY</code>）来修复。</p>", "text": "修复 pg_upgrade 未保留物化视图的 relfrozenxid 的问题（Tom Lane，Andres Freund） 这一疏漏可能在升级后导致物化视图中的数据损坏，表现为 “could not access status of transaction” 或 “found xmin from before relfrozenxid” 错误。很少刷新的物化视图，或仅使用 REFRESH MATERIALIZED VIEW CONCURRENTLY 维护的物化视图，更容易出现此问题。 如果发现此类损坏，可以通过刷新物化视图（不使用 CONCURRENTLY）来修复。", "title": "修复 pg_upgrade 未保留物化视图的 relfrozenxid 的问题", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/10.3/#id-1.11.6.25.5", "source_hash": "b9cef49e88ff62734eea8f45a126c20bf42aab3704bdb3fa1a23e5b61d24fbf0", "section_path": ["变更"], "commit_groups": [["2d12c5593", "38b41f182", "5ab5d21aa", "66e203c85", "9936f1499", "d3b0a23a2"]], "identity_text": "Repair pg_upgrade's failure to preserve relfrozenxid for materialized views (Tom Lane, Andres Freund) This oversight could lead to data corruption in materialized views after an upgrade, manifesting as could not access status of transaction or found xmin from before relfrozenxid errors. The problem would be more likely to occur in seldom-refreshed materialized views, or ones that were maintained only with REFRESH MATERIALIZED VIEW CONCURRENTLY. If such corruption is observed, it can be repaired by refreshing the materialized view (without CONCURRENTLY).", "commit_aliases": ["2d12c5593", "38b41f182", "5ab5d21aa", "66e203c85", "9936f1499", "d3b0a23a2"], "source_commits": ["5ab5d21aa"], "source_entry_id": "10.3/changes/006", "db_id": "809e86a4b23d7d03113dae5ef73ab9fb", "patch_ids": ["354cd2ec8a579e132b7cd5a940ef8328"], "statement_hash": "0f3fcc2128fc12d86be3cff82b0890b6675a4699af19d5ae2ade404e1e4da7c5", "relations": [{"rule": 2, "type": "equivalent", "target": "267341483bb67f18762263a23a116a9a", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0f3fcc2128fc12d86be3cff82b0890b6675a4699af19d5ae2ade404e1e4da7c5"}}, {"rule": 2, "type": "equivalent", "target": "6ec91031a9df77ef7dd3930d1b4037a6", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0f3fcc2128fc12d86be3cff82b0890b6675a4699af19d5ae2ade404e1e4da7c5"}}, {"rule": 2, "type": "equivalent", "target": "8c7f0090d3efdd2cd57229f28fd5b068", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0f3fcc2128fc12d86be3cff82b0890b6675a4699af19d5ae2ade404e1e4da7c5"}}, {"rule": 2, "type": "equivalent", "target": "e9404b51f387085a208937d5e6a9fffe", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0f3fcc2128fc12d86be3cff82b0890b6675a4699af19d5ae2ade404e1e4da7c5"}}], "version": "10.3", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "e9404b51f387085a208937d5e6a9fffe", "kind": "equivalent", "version": "9.6.8", "label": "9.6.8", "title": "修复 pg_upgrade 未能为物化视图保留 relfrozenxid 的问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0f3fcc2128fc12d86be3cff82b0890b6675a4699af19d5ae2ade404e1e4da7c5"}, "url": "/docs/compare/?release=9.6.8#9.6.8-2464e26a56508e56", "source_url": "/docs/release/9.6.8/#id-1.11.6.21.5"}, {"db_id": "8c7f0090d3efdd2cd57229f28fd5b068", "kind": "equivalent", "version": "9.5.12", "label": "9.5.12", "title": "修复 pg_upgrade 未能为物化视图保留 relfrozenxid 的问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0f3fcc2128fc12d86be3cff82b0890b6675a4699af19d5ae2ade404e1e4da7c5"}, "url": "/docs/compare/?release=9.5.12#9.5.12-2464e26a56508e56", "source_url": "/docs/release/9.5.12/#id-1.11.6.18.5"}, {"db_id": "6ec91031a9df77ef7dd3930d1b4037a6", "kind": "equivalent", "version": "9.4.17", "label": "9.4.17", "title": "修复 pg_upgrade 未能为物化视图保留 relfrozenxid 的问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0f3fcc2128fc12d86be3cff82b0890b6675a4699af19d5ae2ade404e1e4da7c5"}, "url": "/docs/compare/?release=9.4.17#9.4.17-2464e26a56508e56", "source_url": "/docs/release/9.4.17/#id-1.11.6.14.5"}, {"db_id": "267341483bb67f18762263a23a116a9a", "kind": "equivalent", "version": "9.3.22", "label": "9.3.22", "title": "修复 pg_upgrade 未能为物化视图保留 relfrozenxid 的问题", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0f3fcc2128fc12d86be3cff82b0890b6675a4699af19d5ae2ade404e1e4da7c5"}, "url": "/docs/compare/?release=9.3.22#9.3.22-2464e26a56508e56", "source_url": "/docs/release/9.3.22/#id-1.11.6.8.5"}]}, {"id": "10.3-61967bc9b0b30750", "cves": [], "html": "<p>修复某些非默认序列界限值的 <span>pg_dump</span> 输出不正确的问题（Alexey Bashtanov）</p>", "text": "修复某些非默认序列界限值的 pg_dump 输出不正确的问题（Alexey Bashtanov）", "title": "修复某些非默认序列界限值的 pg_dump 输出不正确的问题", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/10.3/#id-1.11.6.25.5", "source_hash": "10c3862cddde21421b94a98ea54b86d6ea0747d8037de27f0f00f07841e3cb51", "section_path": ["变更"], "commit_groups": [["3486bcf9e", "6753f6c41"]], "identity_text": "Fix incorrect pg_dump output for some non-default sequence limit values (Alexey Bashtanov)", "commit_aliases": ["3486bcf9e", "6753f6c41"], "source_commits": ["6753f6c41"], "source_entry_id": "10.3/changes/007", "db_id": "53779952bb6e094383b5dc0d969566b9", "patch_ids": ["64d673da721b67635e12808ed78fc6d9"], "statement_hash": "edfe58fb3d55720d3b67215cead3a517b1afb6d90cc01877844520ee13c90da2", "relations": [], "version": "10.3", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": []}, {"id": "10.3-b82ee936d7deec9e", "cves": [], "html": "<p>修复 <span>pg_dump</span> 对 <code>STATISTICS</code> 对象处理不当的问题（Tom Lane）</p>\n<p>扩展统计对象所属的模式在转储目录中标注错误，可能导致按模式选择性恢复时产生错误结果。其所有权也未正确恢复。此外，调整逻辑，将统计对象作为独立对象决定是否转储和恢复，不再将这一决定与其所在表的转储和恢复决定绑定。原来的定义无法适应计划在未来增加的跨表统计功能。</p>", "text": "修复 pg_dump 对 STATISTICS 对象处理不当的问题（Tom Lane） 扩展统计对象所属的模式在转储目录中标注错误，可能导致按模式选择性恢复时产生错误结果。其所有权也未正确恢复。此外，调整逻辑，将统计对象作为独立对象决定是否转储和恢复，不再将这一决定与其所在表的转储和恢复决定绑定。原来的定义无法适应计划在未来增加的跨表统计功能。", "title": "修复 pg_dump 对 STATISTICS 对象处理不当的问题", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/10.3/#id-1.11.6.25.5", "source_hash": "68483f80588101eea09f0cc335b6ebf43663dd3ec9fa74eb9f119f303817c723", "section_path": ["变更"], "commit_groups": [["1298fccef", "5c9f2564f"]], "identity_text": "Fix pg_dump's mishandling of STATISTICS objects (Tom Lane) An extended statistics object's schema was mislabeled in the dump's table of contents, possibly leading to the wrong results in a schema-selective restore. Its ownership was not correctly restored, either. Also, change the logic so that statistics objects are dumped/restored, or not, as independent objects rather than tying them to the dump/restore decision for the table they are on. The original definition could not scale to the planned future extension to cross-table statistics.", "commit_aliases": ["1298fccef", "5c9f2564f"], "source_commits": ["1298fccef"], "source_entry_id": "10.3/changes/008", "db_id": "db480cb5d80ad114b85aa680f6372c18", "patch_ids": ["581e7275f418252e54156657d7063111"], "statement_hash": "f8c4b9fc08e9da121a0009f75fb82e5f984cc39839323358e3dc71f1dd0a9964", "relations": [], "version": "10.3", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": []}, {"id": "10.3-08c915c97e67156b", "cves": [], "html": "<p>修复错误 <code>CONTEXT</code> 堆栈中 PL/Python 函数名报告不正确的问题（Tom Lane）</p>\n<p>嵌套 PL/Python 函数调用（即从另一个 PL/Python 函数通过 SPI 查询到达的调用）内部发生错误时，堆栈跟踪会将内部函数名显示两次，未产生预期结果。此外，嵌套 PL/Python <code>DO</code> 块中的错误在某些平台上可能导致空指针解引用崩溃。</p>", "text": "修复错误 CONTEXT 堆栈中 PL/Python 函数名报告不正确的问题（Tom Lane） 嵌套 PL/Python 函数调用（即从另一个 PL/Python 函数通过 SPI 查询到达的调用）内部发生错误时，堆栈跟踪会将内部函数名显示两次，未产生预期结果。此外，嵌套 PL/Python DO 块中的错误在某些平台上可能导致空指针解引用崩溃。", "title": "修复错误 CONTEXT 堆栈中 PL/Python 函数名报告不正确的问题", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/10.3/#id-1.11.6.25.5", "source_hash": "138c7c8b5cfd09319ab7399fc9915e5fee1c2e6c4f3bb1856cf2119c374d6c56", "section_path": ["变更"], "commit_groups": [["0a2381d13", "4081e1136", "457e9e88e", "bd8718637", "db1c597f3", "e748e902d"]], "identity_text": "Fix incorrect reporting of PL/Python function names in error CONTEXT stacks (Tom Lane) An error occurring within a nested PL/Python function call (that is, one reached via a SPI query from another PL/Python function) would result in a stack trace showing the inner function's name twice, rather than the expected results. Also, an error in a nested PL/Python DO block could result in a null pointer dereference crash on some platforms.", "commit_aliases": ["0a2381d13", "4081e1136", "457e9e88e", "bd8718637", "db1c597f3", "e748e902d"], "source_commits": ["4081e1136"], "source_entry_id": "10.3/changes/009", "db_id": "8efb22bf1c2808bb7eb3dd918acf092e", "patch_ids": ["1c43adb814d5d5fc6a618ba3158b74ba"], "statement_hash": "95ac95eba01e2ab653ffd472aa6f6ad7b8e9c97aa1910cffde48c739c7051400", "relations": [{"rule": 2, "type": "equivalent", "target": "641a7d3d3a936660de7b1adcb973d842", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "95ac95eba01e2ab653ffd472aa6f6ad7b8e9c97aa1910cffde48c739c7051400"}}, {"rule": 2, "type": "equivalent", "target": "8f7222d3e858041c70d5edc267115e70", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "95ac95eba01e2ab653ffd472aa6f6ad7b8e9c97aa1910cffde48c739c7051400"}}, {"rule": 2, "type": "equivalent", "target": "e61fc28c486ea88b24d944ad276d95f3", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "95ac95eba01e2ab653ffd472aa6f6ad7b8e9c97aa1910cffde48c739c7051400"}}, {"rule": 2, "type": "equivalent", "target": "ff5ece554dad73d86b0508d20401b0c9", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "95ac95eba01e2ab653ffd472aa6f6ad7b8e9c97aa1910cffde48c739c7051400"}}], "version": "10.3", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "641a7d3d3a936660de7b1adcb973d842", "kind": "equivalent", "version": "9.6.8", "label": "9.6.8", "title": "修复错误 CONTEXT 栈中 PL/Python 函数名的错误报告", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "95ac95eba01e2ab653ffd472aa6f6ad7b8e9c97aa1910cffde48c739c7051400"}, "url": "/docs/compare/?release=9.6.8#9.6.8-e08582093695d39b", "source_url": "/docs/release/9.6.8/#id-1.11.6.21.5"}, {"db_id": "ff5ece554dad73d86b0508d20401b0c9", "kind": "equivalent", "version": "9.5.12", "label": "9.5.12", "title": "修复错误 CONTEXT 栈中 PL/Python 函数名的错误报告", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "95ac95eba01e2ab653ffd472aa6f6ad7b8e9c97aa1910cffde48c739c7051400"}, "url": "/docs/compare/?release=9.5.12#9.5.12-e08582093695d39b", "source_url": "/docs/release/9.5.12/#id-1.11.6.18.5"}, {"db_id": "e61fc28c486ea88b24d944ad276d95f3", "kind": "equivalent", "version": "9.4.17", "label": "9.4.17", "title": "修复错误 CONTEXT 栈中 PL/Python 函数名的错误报告", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "95ac95eba01e2ab653ffd472aa6f6ad7b8e9c97aa1910cffde48c739c7051400"}, "url": "/docs/compare/?release=9.4.17#9.4.17-e08582093695d39b", "source_url": "/docs/release/9.4.17/#id-1.11.6.14.5"}, {"db_id": "8f7222d3e858041c70d5edc267115e70", "kind": "equivalent", "version": "9.3.22", "label": "9.3.22", "title": "修复错误 CONTEXT 栈中 PL/Python 函数名的错误报告", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "95ac95eba01e2ab653ffd472aa6f6ad7b8e9c97aa1910cffde48c739c7051400"}, "url": "/docs/compare/?release=9.3.22#9.3.22-e08582093695d39b", "source_url": "/docs/release/9.3.22/#id-1.11.6.8.5"}]}, {"id": "10.3-a9f080e9c7d9f1d0", "cves": [], "html": "<p>允许 <code>contrib/auto_explain</code> 的 <code>log_min_duration</code> 设置最大达到 <code>INT_MAX</code>，即约 24 天，而非 35 分钟（Tom Lane）</p>", "text": "允许 contrib/auto_explain 的 log_min_duration 设置最大达到 INT_MAX，即约 24 天，而非 35 分钟（Tom Lane）", "title": "允许 contrib/auto_explain 的 log_min_duration 设置最大达到 INT_MAX，即约 24 天，而非 35 分钟", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/10.3/#id-1.11.6.25.5", "source_hash": "15c8e6bf9b7df11012b7d25f8825c953103c197226e8ef00207dcfd3a6817516", "section_path": ["变更"], "commit_groups": [["0222e897d", "3ba503bde", "753875ed4", "8af87f411", "a7a6051cf", "be87cd2a0"]], "identity_text": "Allow contrib/auto_explain's log_min_duration setting to range up to INT_MAX, or about 24 days instead of 35 minutes (Tom Lane)", "commit_aliases": ["0222e897d", "3ba503bde", "753875ed4", "8af87f411", "a7a6051cf", "be87cd2a0"], "source_commits": ["0222e897d"], "source_entry_id": "10.3/changes/010", "db_id": "39f018451dfc209d196591c749df6ecf", "patch_ids": ["7b5bfffc5f0b01e6845a09948c41362d"], "statement_hash": "eaadbfc5806e32dadac7996d8d66d54eae17f09c30b79d8aa2ef206c3bc6cfc4", "relations": [{"rule": 2, "type": "equivalent", "target": "2a43d364e24fe16f64e31371c27a75b4", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "eaadbfc5806e32dadac7996d8d66d54eae17f09c30b79d8aa2ef206c3bc6cfc4"}}, {"rule": 2, "type": "equivalent", "target": "3fbe1d14bce68f7ca59bc906345df355", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "eaadbfc5806e32dadac7996d8d66d54eae17f09c30b79d8aa2ef206c3bc6cfc4"}}, {"rule": 2, "type": "equivalent", "target": "d8e8bedb3712958c3ebb83d9907fb10b", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "eaadbfc5806e32dadac7996d8d66d54eae17f09c30b79d8aa2ef206c3bc6cfc4"}}, {"rule": 2, "type": "equivalent", "target": "e539fab6105b8e64c5a0cf584c2f64e5", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "eaadbfc5806e32dadac7996d8d66d54eae17f09c30b79d8aa2ef206c3bc6cfc4"}}], "version": "10.3", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "3fbe1d14bce68f7ca59bc906345df355", "kind": "equivalent", "version": "9.6.8", "label": "9.6.8", "title": "允许 contrib/auto_explain 的 log_min_duration 设置范围达到 INT_MAX，即约 24 天而不是 35 分钟", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "eaadbfc5806e32dadac7996d8d66d54eae17f09c30b79d8aa2ef206c3bc6cfc4"}, "url": "/docs/compare/?release=9.6.8#9.6.8-b77c944da95a643c", "source_url": "/docs/release/9.6.8/#id-1.11.6.21.5"}, {"db_id": "e539fab6105b8e64c5a0cf584c2f64e5", "kind": "equivalent", "version": "9.5.12", "label": "9.5.12", "title": "允许 contrib/auto_explain 的 log_min_duration 设置范围达到 INT_MAX，即约 24 天而不是 35 分钟", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "eaadbfc5806e32dadac7996d8d66d54eae17f09c30b79d8aa2ef206c3bc6cfc4"}, "url": "/docs/compare/?release=9.5.12#9.5.12-b77c944da95a643c", "source_url": "/docs/release/9.5.12/#id-1.11.6.18.5"}, {"db_id": "d8e8bedb3712958c3ebb83d9907fb10b", "kind": "equivalent", "version": "9.4.17", "label": "9.4.17", "title": "允许 contrib/auto_explain 的 log_min_duration 设置范围达到 INT_MAX，即约 24 天而不是 35 分钟", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "eaadbfc5806e32dadac7996d8d66d54eae17f09c30b79d8aa2ef206c3bc6cfc4"}, "url": "/docs/compare/?release=9.4.17#9.4.17-b77c944da95a643c", "source_url": "/docs/release/9.4.17/#id-1.11.6.14.5"}, {"db_id": "2a43d364e24fe16f64e31371c27a75b4", "kind": "equivalent", "version": "9.3.22", "label": "9.3.22", "title": "允许 contrib/auto_explain 的 log_min_duration 设置范围达到 INT_MAX，即约 24 天而不是 35 分钟", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "eaadbfc5806e32dadac7996d8d66d54eae17f09c30b79d8aa2ef206c3bc6cfc4"}, "url": "/docs/compare/?release=9.3.22#9.3.22-b77c944da95a643c", "source_url": "/docs/release/9.3.22/#id-1.11.6.8.5"}]}, {"id": "10.3-a69652ba806045b1", "cves": [], "html": "<p>将多个 GUC 变量标记为 <code>PGDLLIMPORT</code>，以便将扩展模块移植到 Windows（Metin Doslu）</p>", "text": "将多个 GUC 变量标记为 PGDLLIMPORT，以便将扩展模块移植到 Windows（Metin Doslu）", "title": "将多个 GUC 变量标记为 PGDLLIMPORT，以便将扩展模块移植到 Windows", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/10.3/#id-1.11.6.25.5", "source_hash": "594855ad0b2fd71211747371a624b99e0b8c2aa92ded653b005d4eefce79aea7", "section_path": ["变更"], "commit_groups": [["2ff2baa22", "83fce670e"], ["935dee9ad"]], "identity_text": "Mark assorted GUC variables as PGDLLIMPORT, to ease porting extension modules to Windows (Metin Doslu)", "commit_aliases": ["2ff2baa22", "83fce670e", "935dee9ad"], "source_commits": ["2ff2baa22", "935dee9ad"], "source_entry_id": "10.3/changes/011", "db_id": "7c95bb8479877165a6b12af8a0330d6c", "patch_ids": ["16382912834bdbc38119dea8ebc59d17", "e5867b3c487ec1bd22c59447567a9451"], "statement_hash": "fbfd62b69c2a2f2c68aaf7ab8a4791729ed4d5433680a56bbc2482e797ea5b4a", "relations": [{"rule": 2, "type": "equivalent", "target": "c0571cdf8adad607d1dc42bf43979318", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "fbfd62b69c2a2f2c68aaf7ab8a4791729ed4d5433680a56bbc2482e797ea5b4a"}}], "version": "10.3", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "c0571cdf8adad607d1dc42bf43979318", "kind": "equivalent", "version": "9.6.8", "label": "9.6.8", "title": "把若干 GUC 变量标记为 PGDLLIMPORT，以便于把扩展模块移植到 Windows", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "fbfd62b69c2a2f2c68aaf7ab8a4791729ed4d5433680a56bbc2482e797ea5b4a"}, "url": "/docs/compare/?release=9.6.8#9.6.8-8b5ce35665dd0bda", "source_url": "/docs/release/9.6.8/#id-1.11.6.21.5"}]}]}], "stats": [{"key": "all", "label": "全部变更", "count": 11}, {"key": "feature", "label": "新功能", "count": 0}, {"key": "bugfix", "label": "BUG 修复", "count": 6}, {"key": "security", "label": "安全相关", "count": 2}, {"key": "performance", "label": "性能改进", "count": 0}, {"key": "compatibility", "label": "兼容性变化", "count": 0}, {"key": "improvement", "label": "其他改进", "count": 3}], "total": 11, "release_count": 1, "cross_major": false, "cve_count": 1, "cves": [{"id": "CVE-2018-1058", "url": "https://www.postgresql.org/support/security/CVE-2018-1058/", "fixed": {"10": "10.3", "9.3": "9.3.22", "9.4": "9.4.17", "9.5": "9.5.12", "9.6": "9.6.8"}, "score": 8.8, "title": "记录如何配置安装和应用程序，以防范其他用户利用搜索路径发起的特洛伊木马攻击", "vector": "AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H", "affected": {"10": "10", "9.3": "9.3", "9.4": "9.4", "9.5": "9.5", "9.6": "9.6"}, "component": "client", "published": {"10": "2018-03-01", "9.3": "2018-03-01", "9.4": "2018-03-01", "9.5": "2018-03-01", "9.6": "2018-03-01"}, "introduced": {}, "cvss_version": "3.0", "description_en": "", "first_published": "2018-03-01", "fixed_version": "10.3"}], "cve_available": true, "remaining_cves": [], "security_regressions": [], "warnings": [], "candidate_count": 11, "already_in_source_count": 0, "duplicate_count": 0, "excluded_count": 0, "exclusions": [], "source_as_of": "2026-09-26", "security_as_of": "2026-09-26"}