{"already_in_source_count":0,"candidate_count":47,"cross_major":false,"cve_available":true,"cve_count":2,"cves":[{"affected":{"10":"10","9.3":"9.3","9.4":"9.4","9.5":"9.5","9.6":"9.6"},"component":"client","cvss_version":"3.0","description_en":"","first_published":"2018-08-09","fixed":{"10":"10.5","9.3":"9.3.24","9.4":"9.4.19","9.5":"9.5.14","9.6":"9.6.10"},"fixed_version":"10.5","id":"CVE-2018-10915","introduced":{},"published":{"10":"2018-08-09","9.3":"2018-08-09","9.4":"2018-08-09","9.5":"2018-08-09","9.6":"2018-08-09"},"score":8.5,"title":"修复连接尝试之间未能完全重置 libpq 状态的问题","url":"https://www.postgresql.org/support/security/CVE-2018-10915/","vector":"AV:N/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:H"},{"affected":{"10":"10","9.5":"9.5","9.6":"9.6"},"component":"core server","cvss_version":"3.0","description_en":"","first_published":"2018-08-09","fixed":{"10":"10.5","9.5":"9.5.14","9.6":"9.6.10"},"fixed_version":"10.5","id":"CVE-2018-10925","introduced":{},"published":{"10":"2018-08-09","9.5":"2018-08-09","9.6":"2018-08-09"},"score":7.1,"title":"修复通过并非简单 SELECT * FROM ... 的视图执行 INSERT ... ON CONFLICT UPDATE 的问题","url":"https://www.postgresql.org/support/security/CVE-2018-10925/","vector":"AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:N"}],"duplicate_count":0,"excluded_count":0,"exclusions":[],"from_release":null,"groups":[{"age_days":2986,"build":"10.5","changes_count":47,"compatibility_count":0,"content_hash":"a97daa05ef3a30bf68342fcda9e19c55ce86701054dc30640f6227fe7bfdd519","date":"2018-08-09","date_text":"2018-08-09","doc_git":"","doc_loaded_at":"2026-09-26T02:56:43.207462","entries":[{"also_in":[],"category":"security","category_label":"Security","commit_aliases":["243de06be","6de9766b8","7aabfd1d8","a8094d0fe","ab5400469","d1c6a14ba","f6f735f78"],"commit_groups":[["243de06be","6de9766b8","7aabfd1d8","a8094d0fe","ab5400469","d1c6a14ba","f6f735f78"]],"commits":[],"cves":["CVE-2018-10915"],"db_id":"4484dc480da4deefaaf0cb9f04a8477c","html":"\u003cp\u003e修复连接尝试之间未能完全重置 \u003cspan\u003elibpq\u003c/span\u003e 状态的问题（Tom Lane）\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003edblink\u003c/code\u003e 或 \u003ccode\u003epostgres_fdw\u003c/code\u003e 的无特权用户可以绕过用于防止使用服务器端凭据的检查，例如使用运行服务器的操作系统用户所拥有的 \u003ccode\u003e~/.pgpass\u003c/code\u003e 文件。允许在本地连接上使用 peer 认证的服务器尤其容易受到影响。其他攻击也有可能发生，例如向 \u003ccode\u003epostgres_fdw\u003c/code\u003e 会话注入 SQL。以这种方式攻击 \u003ccode\u003epostgres_fdw\u003c/code\u003e 需要能够创建带有特定连接参数的外部服务器对象，但任何能够访问 \u003ccode\u003edblink\u003c/code\u003e 的用户都可以利用此问题。一般来说，能够为使用 \u003cspan\u003elibpq\u003c/span\u003e 的应用选择连接参数的攻击者就可能造成危害，不过其他可能的攻击场景比较难以想到。感谢 Andrew Krasichkov 报告此问题。（CVE-2018-10915）\u003c/p\u003e","id":"10.5-b50ee2ad35972b64","identity_text":"Fix failure to reset libpq's state fully between connection attempts (Tom Lane) An unprivileged user of dblink or postgres_fdw could bypass the checks intended to prevent use of server-side credentials, such as a ~/.pgpass file owned by the operating-system user running the server. Servers allowing peer authentication on local connections are particularly vulnerable. Other attacks such as SQL injection into a postgres_fdw session are also possible. Attacking postgres_fdw in this way requires the ability to create a foreign server object with selected connection parameters, but any user with access to dblink could exploit the problem. In general, an attacker with the ability to select the connection parameters for a libpq-using application could cause mischief, though other plausible attack scenarios are harder to think of. Our thanks to Andrew Krasichkov for reporting this issue. (CVE-2018-10915)","part":"changes","patch_ids":["3e49e48b30754bd5457dd1101c1a2ac6"],"related_changes":[{"db_id":"0d5cfb16f95275171c5876d4383372b2","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"ad329a9602e5dec28c32ed4a012d732710b864b0bc70f9135ee685883d42a894"},"kind":"equivalent","label":"9.6.10","source_url":"/docs/release/9.6.10/#id-1.11.6.19.5","title":"修复连接尝试之间未能完全重置 libpq 状态的问题","url":"/docs/compare/?release=9.6.10#9.6.10-b50ee2ad35972b64","version":"9.6.10"},{"db_id":"29607663b820c5b5fee53b7793232307","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"ad329a9602e5dec28c32ed4a012d732710b864b0bc70f9135ee685883d42a894"},"kind":"equivalent","label":"9.5.14","source_url":"/docs/release/9.5.14/#id-1.11.6.16.5","title":"修复连接尝试之间未能完全重置 libpq 状态的问题","url":"/docs/compare/?release=9.5.14#9.5.14-b50ee2ad35972b64","version":"9.5.14"},{"db_id":"395fdb31804f461219c28a26580310df","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"ad329a9602e5dec28c32ed4a012d732710b864b0bc70f9135ee685883d42a894"},"kind":"equivalent","label":"9.4.19","source_url":"/docs/release/9.4.19/#id-1.11.6.12.5","title":"修复连接尝试之间未能完全重置 libpq 状态的问题","url":"/docs/compare/?release=9.4.19#9.4.19-b50ee2ad35972b64","version":"9.4.19"},{"db_id":"1ee0462b731478038defdba984f32dd4","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"ad329a9602e5dec28c32ed4a012d732710b864b0bc70f9135ee685883d42a894"},"kind":"equivalent","label":"9.3.24","source_url":"/docs/release/9.3.24/#id-1.11.6.6.6","title":"修复连接尝试之间未能完全重置 libpq 状态的问题","url":"/docs/compare/?release=9.3.24#9.3.24-b50ee2ad35972b64","version":"9.3.24"}],"relations":[{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"ad329a9602e5dec28c32ed4a012d732710b864b0bc70f9135ee685883d42a894"},"rule":2,"target":"0d5cfb16f95275171c5876d4383372b2","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"ad329a9602e5dec28c32ed4a012d732710b864b0bc70f9135ee685883d42a894"},"rule":2,"target":"1ee0462b731478038defdba984f32dd4","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"ad329a9602e5dec28c32ed4a012d732710b864b0bc70f9135ee685883d42a894"},"rule":2,"target":"29607663b820c5b5fee53b7793232307","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"ad329a9602e5dec28c32ed4a012d732710b864b0bc70f9135ee685883d42a894"},"rule":2,"target":"395fdb31804f461219c28a26580310df","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["ab5400469"],"source_entry_id":"10.5/changes/001","source_hash":"da4bf562b1243e7ea2292a8ae4a34c9b064f754d15dacd96c73773b5222d8c7e","source_url":"/docs/release/10.5/#id-1.11.6.23.5","statement_hash":"ad329a9602e5dec28c32ed4a012d732710b864b0bc70f9135ee685883d42a894","text":"修复连接尝试之间未能完全重置 libpq 状态的问题（Tom Lane） dblink 或 postgres_fdw 的无特权用户可以绕过用于防止使用服务器端凭据的检查，例如使用运行服务器的操作系统用户所拥有的 ~/.pgpass 文件。允许在本地连接上使用 peer 认证的服务器尤其容易受到影响。其他攻击也有可能发生，例如向 postgres_fdw 会话注入 SQL。以这种方式攻击 postgres_fdw 需要能够创建带有特定连接参数的外部服务器对象，但任何能够访问 dblink 的用户都可以利用此问题。一般来说，能够为使用 libpq 的应用选择连接参数的攻击者就可能造成危害，不过其他可能的攻击场景比较难以想到。感谢 Andrew Krasichkov 报告此问题。（CVE-2018-10915）","title":"修复连接尝试之间未能完全重置 libpq 状态的问题","variants":[],"version":"10.5"},{"also_in":[],"category":"security","category_label":"Security","commit_aliases":["5ad143cda","b484bffe7","b8a1247a3","e7154b6ac","f6a124d01"],"commit_groups":[["5ad143cda","b484bffe7","b8a1247a3","e7154b6ac","f6a124d01"]],"commits":[],"cves":["CVE-2018-10925"],"db_id":"dddc2d6546be8c5833b80708f1611577","html":"\u003cp\u003e修复通过并非简单 \u003ccode\u003eSELECT * FROM ...\u003c/code\u003e 的视图执行 \u003ccode\u003eINSERT ... ON CONFLICT UPDATE\u003c/code\u003e 的问题（Dean Rasheed，Amit Langote）\u003c/p\u003e\n\u003cp\u003e如果可更新视图的 \u003ccode\u003eSELECT\u003c/code\u003e 列表与底层表的列不一一对应，对该视图的错误展开可能导致崩溃或 \u003cspan\u003e“\u003cspan\u003eattribute ... has the wrong type\u003c/span\u003e”\u003c/span\u003e 错误。此外，如果攻击用户具有该表某些其他列的 \u003ccode\u003eINSERT\u003c/code\u003e 和 \u003ccode\u003eUPDATE\u003c/code\u003e 权限，就可以利用此缺陷更新其没有 \u003ccode\u003eUPDATE\u003c/code\u003e 权限的列。任何用户也都可以利用此缺陷泄露服务器内存。（CVE-2018-10925）\u003c/p\u003e","id":"10.5-defa8eca5d7f95e2","identity_text":"Fix INSERT ... ON CONFLICT UPDATE through a view that isn't just SELECT * FROM ... (Dean Rasheed, Amit Langote) Erroneous expansion of an updatable view could lead to crashes or attribute ... has the wrong type errors, if the view's SELECT list doesn't match one-to-one with the underlying table's columns. Furthermore, this bug could be leveraged to allow updates of columns that an attacking user lacks UPDATE privilege for, if that user has INSERT and UPDATE privileges for some other column(s) of the table. Any user could also use it for disclosure of server memory. (CVE-2018-10925)","part":"changes","patch_ids":["0c2e04688f4c00ce5ba3b73d81fa5131"],"related_changes":[{"db_id":"da2ec324c1f899bc08a54ad2a1a57106","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"7d9b36e0f42eb3c117d02fb4d1a66413944410df78a167abefe08e7595965292"},"kind":"equivalent","label":"9.6.10","source_url":"/docs/release/9.6.10/#id-1.11.6.19.5","title":"修复通过不只是 SELECT * FROM ... 的视图执行 INSERT ... ON CONFLICT UPDATE 的问题","url":"/docs/compare/?release=9.6.10#9.6.10-c2753f735acfd244","version":"9.6.10"},{"db_id":"27150ec6c353f8cf45284bc75e4ec3ca","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"7d9b36e0f42eb3c117d02fb4d1a66413944410df78a167abefe08e7595965292"},"kind":"equivalent","label":"9.5.14","source_url":"/docs/release/9.5.14/#id-1.11.6.16.5","title":"修复通过不只是 SELECT * FROM ... 的视图执行 INSERT ... ON CONFLICT UPDATE 的问题","url":"/docs/compare/?release=9.5.14#9.5.14-c2753f735acfd244","version":"9.5.14"}],"relations":[{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"7d9b36e0f42eb3c117d02fb4d1a66413944410df78a167abefe08e7595965292"},"rule":2,"target":"27150ec6c353f8cf45284bc75e4ec3ca","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"7d9b36e0f42eb3c117d02fb4d1a66413944410df78a167abefe08e7595965292"},"rule":2,"target":"da2ec324c1f899bc08a54ad2a1a57106","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["f6a124d01"],"source_entry_id":"10.5/changes/002","source_hash":"68ee179f8ba79f095c28a2de2edbdaf765d282262ed55cd292b8b2608b8925f3","source_url":"/docs/release/10.5/#id-1.11.6.23.5","statement_hash":"7d9b36e0f42eb3c117d02fb4d1a66413944410df78a167abefe08e7595965292","text":"修复通过并非简单 SELECT * FROM ... 的视图执行 INSERT ... ON CONFLICT UPDATE 的问题（Dean Rasheed，Amit Langote） 如果可更新视图的 SELECT 列表与底层表的列不一一对应，对该视图的错误展开可能导致崩溃或 “attribute ... has the wrong type” 错误。此外，如果攻击用户具有该表某些其他列的 INSERT 和 UPDATE 权限，就可以利用此缺陷更新其没有 UPDATE 权限的列。任何用户也都可以利用此缺陷泄露服务器内存。（CVE-2018-10925）","title":"修复通过并非简单 SELECT * FROM ... 的视图执行 INSERT ... ON CONFLICT UPDATE 的问题","variants":[],"version":"10.5"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["14b3ec6f3","2ce64caaf","6a46aba1c","817f9f9a8","9b9b622b2","a54e1f158"],"commit_groups":[["14b3ec6f3","2ce64caaf","6a46aba1c","817f9f9a8","9b9b622b2","a54e1f158"]],"commits":[],"cves":[],"db_id":"9ed27a4374d255ff38dff43efcbf92e6","html":"\u003cp\u003e确保及时处理对\u003cspan\u003e“\u003cspan\u003e固定\u003c/span\u003e”\u003c/span\u003e系统目录的 \u003ccode\u003erelfrozenxid\u003c/code\u003e 和 \u003ccode\u003erelminmxid\u003c/code\u003e 值的更新（Andres Freund）\u003c/p\u003e\n\u003cp\u003e过于乐观的缓存规则可能使其他会话无法看到这些更新，从而导致虚假的错误或数据损坏。对于 \u003ccode\u003epg_authid\u003c/code\u003e 等共享目录，问题严重得多，因为过期的缓存数据不仅会影响现有会话，还可能延续到新会话中。\u003c/p\u003e","id":"10.5-a02370a85c2d7333","identity_text":"Ensure that updates to the relfrozenxid and relminmxid values for nailed system catalogs are processed in a timely fashion (Andres Freund) Overoptimistic caching rules could prevent these updates from being seen by other sessions, leading to spurious errors and/or data corruption. The problem was significantly worse for shared catalogs, such as pg_authid, because the stale cache data could persist into new sessions as well as existing ones.","part":"changes","patch_ids":["f93a25d31afa046503786d9f2c005717"],"related_changes":[{"db_id":"fe02cfd82dcb3eb66cd294a2d93301ba","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"0f40973bdecf4f197c463d71b2426f583be46d71d146da06cbab774bfe103e8d"},"kind":"equivalent","label":"9.6.10","source_url":"/docs/release/9.6.10/#id-1.11.6.19.5","title":"确保对“钉住”的系统目录的 relfrozenxid 和 relminmxid 值的更新被及时处理","url":"/docs/compare/?release=9.6.10#9.6.10-69a31af726a81fe1","version":"9.6.10"},{"db_id":"d2ddc8d0e0d59d6e8ddf83d17dabea01","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"0f40973bdecf4f197c463d71b2426f583be46d71d146da06cbab774bfe103e8d"},"kind":"equivalent","label":"9.5.14","source_url":"/docs/release/9.5.14/#id-1.11.6.16.5","title":"确保对“钉住”的系统目录的 relfrozenxid 和 relminmxid 值的更新被及时处理","url":"/docs/compare/?release=9.5.14#9.5.14-69a31af726a81fe1","version":"9.5.14"},{"db_id":"32daf880b018ef0efc03b63f5bfad99d","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"0f40973bdecf4f197c463d71b2426f583be46d71d146da06cbab774bfe103e8d"},"kind":"equivalent","label":"9.4.19","source_url":"/docs/release/9.4.19/#id-1.11.6.12.5","title":"确保对“钉住”的系统目录的 relfrozenxid 和 relminmxid 值的更新被及时处理","url":"/docs/compare/?release=9.4.19#9.4.19-69a31af726a81fe1","version":"9.4.19"},{"db_id":"6b1508337c26fcb930a902e99a3573cf","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"0f40973bdecf4f197c463d71b2426f583be46d71d146da06cbab774bfe103e8d"},"kind":"equivalent","label":"9.3.24","source_url":"/docs/release/9.3.24/#id-1.11.6.6.6","title":"确保对“钉住”的系统目录的 relfrozenxid 和 relminmxid 值的更新被及时处理","url":"/docs/compare/?release=9.3.24#9.3.24-69a31af726a81fe1","version":"9.3.24"}],"relations":[{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"0f40973bdecf4f197c463d71b2426f583be46d71d146da06cbab774bfe103e8d"},"rule":2,"target":"32daf880b018ef0efc03b63f5bfad99d","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"0f40973bdecf4f197c463d71b2426f583be46d71d146da06cbab774bfe103e8d"},"rule":2,"target":"6b1508337c26fcb930a902e99a3573cf","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"0f40973bdecf4f197c463d71b2426f583be46d71d146da06cbab774bfe103e8d"},"rule":2,"target":"d2ddc8d0e0d59d6e8ddf83d17dabea01","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"0f40973bdecf4f197c463d71b2426f583be46d71d146da06cbab774bfe103e8d"},"rule":2,"target":"fe02cfd82dcb3eb66cd294a2d93301ba","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["2ce64caaf"],"source_entry_id":"10.5/changes/003","source_hash":"b6e55fc88f86ade0e0b41890c9f211265b39dc1a33f41989b05ba089853ab4e8","source_url":"/docs/release/10.5/#id-1.11.6.23.5","statement_hash":"0f40973bdecf4f197c463d71b2426f583be46d71d146da06cbab774bfe103e8d","text":"确保及时处理对“固定”系统目录的 relfrozenxid 和 relminmxid 值的更新（Andres Freund） 过于乐观的缓存规则可能使其他会话无法看到这些更新，从而导致虚假的错误或数据损坏。对于 pg_authid 等共享目录，问题严重得多，因为过期的缓存数据不仅会影响现有会话，还可能延续到新会话中。","title":"确保及时处理对“固定”系统目录的 relfrozenxid 和 relminmxid 值的更新","variants":[],"version":"10.5"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["23eef5cd7","3c64dcb1e","56535dcdc","6716f2f96","8d68ee6f3","9a1bd8271","f352f43d3"],"commit_groups":[["23eef5cd7","3c64dcb1e","56535dcdc","6716f2f96","8d68ee6f3","9a1bd8271","f352f43d3"]],"commits":[],"cves":[],"db_id":"2f3cc96e9aaf64a7e90d7c9fdd39164e","html":"\u003cp\u003e修复刚提升的备库在完成恢复后的第一个检查点之前崩溃的情况（Michael Paquier，Kyotaro Horiguchi，Pavan Deolasee，Álvaro Herrera）\u003c/p\u003e\n\u003cp\u003e这曾导致服务器在后续 WAL 重放期间认为自己尚未达到数据库一致状态，无法重新启动。\u003c/p\u003e","id":"10.5-a40b6028bb7c0cbe","identity_text":"Fix case where a freshly-promoted standby crashes before having completed its first post-recovery checkpoint (Michael Paquier, Kyotaro Horiguchi, Pavan Deolasee, Álvaro Herrera) This led to a situation where the server did not think it had reached a consistent database state during subsequent WAL replay, preventing restart.","part":"changes","patch_ids":["d419dec4dbef9207a0dd355af901cc6f"],"related_changes":[{"db_id":"7895599dd794125ea13a3eeb6c7a5ff6","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"e91754c6d4978576f71e18ac30bce445c478ff427f8ce632dc205836fb50274f"},"kind":"equivalent","label":"9.6.10","source_url":"/docs/release/9.6.10/#id-1.11.6.19.5","title":"修复刚提升的备库在完成第一个恢复后检查点之前崩溃的情况","url":"/docs/compare/?release=9.6.10#9.6.10-22efc1b502a443bd","version":"9.6.10"},{"db_id":"acd9e84bf9a88ffb7b980a511398871b","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"e91754c6d4978576f71e18ac30bce445c478ff427f8ce632dc205836fb50274f"},"kind":"equivalent","label":"9.5.14","source_url":"/docs/release/9.5.14/#id-1.11.6.16.5","title":"修复刚提升的备库在完成第一个恢复后检查点之前崩溃的情况","url":"/docs/compare/?release=9.5.14#9.5.14-22efc1b502a443bd","version":"9.5.14"},{"db_id":"8562f359facbd2be633dfe6e52bbd296","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"e91754c6d4978576f71e18ac30bce445c478ff427f8ce632dc205836fb50274f"},"kind":"equivalent","label":"9.4.19","source_url":"/docs/release/9.4.19/#id-1.11.6.12.5","title":"修复刚提升的备库在完成第一个恢复后检查点之前崩溃的情况","url":"/docs/compare/?release=9.4.19#9.4.19-22efc1b502a443bd","version":"9.4.19"},{"db_id":"e9197d5b5d6664ac74d0054e089d2a74","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"e91754c6d4978576f71e18ac30bce445c478ff427f8ce632dc205836fb50274f"},"kind":"equivalent","label":"9.3.24","source_url":"/docs/release/9.3.24/#id-1.11.6.6.6","title":"修复刚提升的备库在完成第一个恢复后检查点之前崩溃的情况","url":"/docs/compare/?release=9.3.24#9.3.24-22efc1b502a443bd","version":"9.3.24"}],"relations":[{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"e91754c6d4978576f71e18ac30bce445c478ff427f8ce632dc205836fb50274f"},"rule":2,"target":"7895599dd794125ea13a3eeb6c7a5ff6","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"e91754c6d4978576f71e18ac30bce445c478ff427f8ce632dc205836fb50274f"},"rule":2,"target":"8562f359facbd2be633dfe6e52bbd296","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"e91754c6d4978576f71e18ac30bce445c478ff427f8ce632dc205836fb50274f"},"rule":2,"target":"acd9e84bf9a88ffb7b980a511398871b","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"e91754c6d4978576f71e18ac30bce445c478ff427f8ce632dc205836fb50274f"},"rule":2,"target":"e9197d5b5d6664ac74d0054e089d2a74","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["6716f2f96"],"source_entry_id":"10.5/changes/004","source_hash":"d01423fa8fb0950b70006f9b97479ce7b42dbe801f67a9b3aa7427512756f7cc","source_url":"/docs/release/10.5/#id-1.11.6.23.5","statement_hash":"e91754c6d4978576f71e18ac30bce445c478ff427f8ce632dc205836fb50274f","text":"修复刚提升的备库在完成恢复后的第一个检查点之前崩溃的情况（Michael Paquier，Kyotaro Horiguchi，Pavan Deolasee，Álvaro Herrera） 这曾导致服务器在后续 WAL 重放期间认为自己尚未达到数据库一致状态，无法重新启动。","title":"修复刚提升的备库在完成恢复后的第一个检查点之前崩溃的情况","variants":[],"version":"10.5"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["0905fe891","568995be6","59b2dcbf4","7ddac4e8f","cfcfbd39b","d80ec868f","e8fe3bb23"],"commit_groups":[["0905fe891","568995be6","59b2dcbf4","7ddac4e8f","cfcfbd39b","d80ec868f","e8fe3bb23"]],"commits":[],"cves":[],"db_id":"67b50d90cd1cc74144791acbcf155f1c","html":"\u003cp\u003e避免回收全零 B-树页面时生成错误的 WAL 记录（Amit Kapila）\u003c/p\u003e\n\u003cp\u003e已观察到此错误会导致断言失败，也可能使热备服务器上的查询被不必要地取消。\u003c/p\u003e","id":"10.5-62a34b74aef33d5f","identity_text":"Avoid emitting a bogus WAL record when recycling an all-zero btree page (Amit Kapila) This mistake has been seen to cause assertion failures, and potentially it could result in unnecessary query cancellations on hot standby servers.","part":"changes","patch_ids":["59cc192591c9e2d91c9999d3b67d54ee"],"related_changes":[{"db_id":"03132998b632c02d15256b84330ab60a","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"068a7948ba1f16ddd35a5f5cbef739818b1ffa464aa0ba3050f488c0171e180f"},"kind":"equivalent","label":"9.6.10","source_url":"/docs/release/9.6.10/#id-1.11.6.19.5","title":"避免回收全零 btree 页时发出虚假 WAL 记录","url":"/docs/compare/?release=9.6.10#9.6.10-40ea06cea1d40f1e","version":"9.6.10"},{"db_id":"cf21645a6589d145ccf19e984286e3f7","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"068a7948ba1f16ddd35a5f5cbef739818b1ffa464aa0ba3050f488c0171e180f"},"kind":"equivalent","label":"9.5.14","source_url":"/docs/release/9.5.14/#id-1.11.6.16.5","title":"避免回收全零 btree 页时发出虚假 WAL 记录","url":"/docs/compare/?release=9.5.14#9.5.14-40ea06cea1d40f1e","version":"9.5.14"},{"db_id":"a74fce06026a164587c89b59b42606e8","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"068a7948ba1f16ddd35a5f5cbef739818b1ffa464aa0ba3050f488c0171e180f"},"kind":"equivalent","label":"9.4.19","source_url":"/docs/release/9.4.19/#id-1.11.6.12.5","title":"避免回收全零 btree 页时发出虚假 WAL 记录","url":"/docs/compare/?release=9.4.19#9.4.19-40ea06cea1d40f1e","version":"9.4.19"},{"db_id":"2dd037d083b0c3bfe29f7cfbbd4c5611","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"068a7948ba1f16ddd35a5f5cbef739818b1ffa464aa0ba3050f488c0171e180f"},"kind":"equivalent","label":"9.3.24","source_url":"/docs/release/9.3.24/#id-1.11.6.6.6","title":"避免回收全零 btree 页时发出虚假 WAL 记录","url":"/docs/compare/?release=9.3.24#9.3.24-40ea06cea1d40f1e","version":"9.3.24"}],"relations":[{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"068a7948ba1f16ddd35a5f5cbef739818b1ffa464aa0ba3050f488c0171e180f"},"rule":2,"target":"03132998b632c02d15256b84330ab60a","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"068a7948ba1f16ddd35a5f5cbef739818b1ffa464aa0ba3050f488c0171e180f"},"rule":2,"target":"2dd037d083b0c3bfe29f7cfbbd4c5611","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"068a7948ba1f16ddd35a5f5cbef739818b1ffa464aa0ba3050f488c0171e180f"},"rule":2,"target":"a74fce06026a164587c89b59b42606e8","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"068a7948ba1f16ddd35a5f5cbef739818b1ffa464aa0ba3050f488c0171e180f"},"rule":2,"target":"cf21645a6589d145ccf19e984286e3f7","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["59b2dcbf4"],"source_entry_id":"10.5/changes/005","source_hash":"5614fd82e602b28eccbc15699c999e23a02cc485e48e75c6da94d04b15c41d78","source_url":"/docs/release/10.5/#id-1.11.6.23.5","statement_hash":"068a7948ba1f16ddd35a5f5cbef739818b1ffa464aa0ba3050f488c0171e180f","text":"避免回收全零 B-树页面时生成错误的 WAL 记录（Amit Kapila） 已观察到此错误会导致断言失败，也可能使热备服务器上的查询被不必要地取消。","title":"避免回收全零 B-树页面时生成错误的 WAL 记录","variants":[],"version":"10.5"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["5860b22c4","70b4f82a4","e41c79548","fb28104a4"],"commit_groups":[["5860b22c4","70b4f82a4","e41c79548","fb28104a4"]],"commits":[],"cves":[],"db_id":"ba3d8fbe57a34976503d5f20aa9dcdbf","html":"\u003cp\u003eWAL 重放期间，防范损坏记录的长度超过 1GB 的情况（Michael Paquier）\u003c/p\u003e\n\u003cp\u003e将此类情况视为数据损坏。以前，代码会尝试分配空间并出现无法继续的错误，使恢复无法进行。\u003c/p\u003e","id":"10.5-6813edd2e1e443e0","identity_text":"During WAL replay, guard against corrupted record lengths exceeding 1GB (Michael Paquier) Treat such a case as corrupt data. Previously, the code would try to allocate space and get a hard error, making recovery impossible.","part":"changes","patch_ids":["ef305432c270f4331d18e583dd6b7779"],"related_changes":[{"db_id":"4b605aaca4274cb27916ae8041d62fed","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"6c009cbd40e60a45c40d556686aa558e12304cae5d4566922e19206197acf9e9"},"kind":"equivalent","label":"9.6.10","source_url":"/docs/release/9.6.10/#id-1.11.6.19.5","title":"在 WAL 重放期间，防范损坏的记录长度超过 1GB","url":"/docs/compare/?release=9.6.10#9.6.10-6eda169042a1659d","version":"9.6.10"},{"db_id":"41027e0df645771c19c9446f3f1b545c","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"6c009cbd40e60a45c40d556686aa558e12304cae5d4566922e19206197acf9e9"},"kind":"equivalent","label":"9.5.14","source_url":"/docs/release/9.5.14/#id-1.11.6.16.5","title":"在 WAL 重放期间，防范损坏的记录长度超过 1GB","url":"/docs/compare/?release=9.5.14#9.5.14-6eda169042a1659d","version":"9.5.14"}],"relations":[{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"6c009cbd40e60a45c40d556686aa558e12304cae5d4566922e19206197acf9e9"},"rule":2,"target":"41027e0df645771c19c9446f3f1b545c","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"6c009cbd40e60a45c40d556686aa558e12304cae5d4566922e19206197acf9e9"},"rule":2,"target":"4b605aaca4274cb27916ae8041d62fed","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["fb28104a4"],"source_entry_id":"10.5/changes/006","source_hash":"5e9b7fcfac1bc35208ba1073040547edf6973b9ac4123665e0f79b4367fdb823","source_url":"/docs/release/10.5/#id-1.11.6.23.5","statement_hash":"6c009cbd40e60a45c40d556686aa558e12304cae5d4566922e19206197acf9e9","text":"WAL 重放期间，防范损坏记录的长度超过 1GB 的情况（Michael Paquier） 将此类情况视为数据损坏。以前，代码会尝试分配空间并出现无法继续的错误，使恢复无法进行。","title":"WAL 重放期间，防范损坏记录的长度超过 1GB 的情况","variants":[],"version":"10.5"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["5d7c9347e","619dea467","62203e608","c030db349","cbc55da55"],"commit_groups":[["5d7c9347e","619dea467","62203e608","c030db349","cbc55da55"]],"commits":[],"cves":[],"db_id":"5ddea9e723cf34b46c793f3b04bef3f8","html":"\u003cp\u003e结束恢复时，尽可能推迟写入时间线历史文件（Heikki Linnakangas）\u003c/p\u003e\n\u003cp\u003e这避免了某些恢复清理期间的失败（例如两阶段状态文件问题）导致磁盘上的时间线状态不一致的情况。\u003c/p\u003e","id":"10.5-9ae231b5f6bd70e2","identity_text":"When ending recovery, delay writing the timeline history file as long as possible (Heikki Linnakangas) This avoids some situations where a failure during recovery cleanup (such as a problem with a two-phase state file) led to inconsistent timeline state on-disk.","part":"changes","patch_ids":["56b267e82260b6b2b65fbea3d07f7514"],"related_changes":[{"db_id":"f65d81dcd533494d65b6488dd9aa0008","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"0ec483036b10caf65625991b017971fd3dc13e75e76076c919a35938a47426c6"},"kind":"equivalent","label":"9.6.10","source_url":"/docs/release/9.6.10/#id-1.11.6.19.5","title":"结束恢复时，尽可能推迟写入时间线历史文件","url":"/docs/compare/?release=9.6.10#9.6.10-9ae231b5f6bd70e2","version":"9.6.10"},{"db_id":"03b56355c5d56825a10f6299f1501ca8","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"0ec483036b10caf65625991b017971fd3dc13e75e76076c919a35938a47426c6"},"kind":"equivalent","label":"9.5.14","source_url":"/docs/release/9.5.14/#id-1.11.6.16.5","title":"结束恢复时，尽可能推迟写入时间线历史文件","url":"/docs/compare/?release=9.5.14#9.5.14-9ae231b5f6bd70e2","version":"9.5.14"}],"relations":[{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"0ec483036b10caf65625991b017971fd3dc13e75e76076c919a35938a47426c6"},"rule":2,"target":"03b56355c5d56825a10f6299f1501ca8","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"0ec483036b10caf65625991b017971fd3dc13e75e76076c919a35938a47426c6"},"rule":2,"target":"f65d81dcd533494d65b6488dd9aa0008","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["c030db349"],"source_entry_id":"10.5/changes/007","source_hash":"208a16a5bf4f75a299c41fb7ac9c7ff11782eb12b98af1f9b14b1156cb1a827a","source_url":"/docs/release/10.5/#id-1.11.6.23.5","statement_hash":"0ec483036b10caf65625991b017971fd3dc13e75e76076c919a35938a47426c6","text":"结束恢复时，尽可能推迟写入时间线历史文件（Heikki Linnakangas） 这避免了某些恢复清理期间的失败（例如两阶段状态文件问题）导致磁盘上的时间线状态不一致的情况。","title":"结束恢复时，尽可能推迟写入时间线历史文件","variants":[],"version":"10.5"},{"also_in":[],"category":"performance","category_label":"Performance","commit_aliases":["614e0729a","62c2fe644","7da22d866","7ffe0127e","8463be060","9e53171b1","b41669118"],"commit_groups":[["614e0729a","62c2fe644","7da22d866","7ffe0127e","8463be060","9e53171b1","b41669118"]],"commits":[],"cves":[],"db_id":"442bd49ac88e1927ac19e63a17c88a11","html":"\u003cp\u003e提高删除大量关系的事务的 WAL 重放性能（Fujii Masao）\u003c/p\u003e\n\u003cp\u003e此更改减少了扫描共享缓冲区的次数，因此在共享缓冲区设置较大时收益最大。\u003c/p\u003e","id":"10.5-13ef945b2e108a26","identity_text":"Improve performance of WAL replay for transactions that drop many relations (Fujii Masao) This change reduces the number of times that shared buffers are scanned, so that it is of most benefit when that setting is large.","part":"changes","patch_ids":["d6d0b562027a339abf2d2de633a98707"],"related_changes":[{"db_id":"0a7c3a5fd7a055838a2d503121a355db","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"dae0982858056281ddd784b5db4d4042731d4c1115c7c137a61454406027b381"},"kind":"equivalent","label":"9.6.10","source_url":"/docs/release/9.6.10/#id-1.11.6.19.5","title":"改进删除许多关系的事务的 WAL 重放性能","url":"/docs/compare/?release=9.6.10#9.6.10-6d677cacf09bcdc6","version":"9.6.10"},{"db_id":"87e029f82b47117920a10995449b3418","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"dae0982858056281ddd784b5db4d4042731d4c1115c7c137a61454406027b381"},"kind":"equivalent","label":"9.5.14","source_url":"/docs/release/9.5.14/#id-1.11.6.16.5","title":"改进删除许多关系的事务的 WAL 重放性能","url":"/docs/compare/?release=9.5.14#9.5.14-6d677cacf09bcdc6","version":"9.5.14"},{"db_id":"152828386a677615583bbe556b597df0","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"dae0982858056281ddd784b5db4d4042731d4c1115c7c137a61454406027b381"},"kind":"equivalent","label":"9.4.19","source_url":"/docs/release/9.4.19/#id-1.11.6.12.5","title":"改进删除许多关系的事务的 WAL 重放性能","url":"/docs/compare/?release=9.4.19#9.4.19-6d677cacf09bcdc6","version":"9.4.19"},{"db_id":"53d49ed990ec4935f62ad367fb4e998e","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"dae0982858056281ddd784b5db4d4042731d4c1115c7c137a61454406027b381"},"kind":"equivalent","label":"9.3.24","source_url":"/docs/release/9.3.24/#id-1.11.6.6.6","title":"改进删除许多关系的事务的 WAL 重放性能","url":"/docs/compare/?release=9.3.24#9.3.24-6d677cacf09bcdc6","version":"9.3.24"}],"relations":[{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"dae0982858056281ddd784b5db4d4042731d4c1115c7c137a61454406027b381"},"rule":2,"target":"0a7c3a5fd7a055838a2d503121a355db","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"dae0982858056281ddd784b5db4d4042731d4c1115c7c137a61454406027b381"},"rule":2,"target":"152828386a677615583bbe556b597df0","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"dae0982858056281ddd784b5db4d4042731d4c1115c7c137a61454406027b381"},"rule":2,"target":"53d49ed990ec4935f62ad367fb4e998e","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"dae0982858056281ddd784b5db4d4042731d4c1115c7c137a61454406027b381"},"rule":2,"target":"87e029f82b47117920a10995449b3418","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["8463be060"],"source_entry_id":"10.5/changes/008","source_hash":"3f1af3e2854f20d77326c8cb6d952c6ea133651cd8bcab1b5f36234cf7ed00ea","source_url":"/docs/release/10.5/#id-1.11.6.23.5","statement_hash":"dae0982858056281ddd784b5db4d4042731d4c1115c7c137a61454406027b381","text":"提高删除大量关系的事务的 WAL 重放性能（Fujii Masao） 此更改减少了扫描共享缓冲区的次数，因此在共享缓冲区设置较大时收益最大。","title":"提高删除大量关系的事务的 WAL 重放性能","variants":[],"version":"10.5"},{"also_in":[],"category":"performance","category_label":"Performance","commit_aliases":["12f7d9199","35750a38b","7bcda60d4","88554c091","a40cff895","c4ccbcc1a"],"commit_groups":[["12f7d9199","35750a38b","7bcda60d4","88554c091","a40cff895","c4ccbcc1a"]],"commits":[],"cves":[],"db_id":"7331471ab70e53cf23524471f59d35f3","html":"\u003cp\u003e提高备库 WAL 重放中释放锁的性能（Thomas Munro）\u003c/p\u003e","id":"10.5-1c055dee978bcef7","identity_text":"Improve performance of lock releasing in standby server WAL replay (Thomas Munro)","part":"changes","patch_ids":["d5c16fb8f8cc7f5069043a3e24dd0270"],"related_changes":[{"db_id":"198f89cf0c74e8275f1b5659a253422e","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"c5e832fe5b3955e163fe6a4881dd2299279821cdfbd8c26907079cafc05875a1"},"kind":"equivalent","label":"9.6.10","source_url":"/docs/release/9.6.10/#id-1.11.6.19.5","title":"改进备库服务器 WAL 重放中锁释放的性能","url":"/docs/compare/?release=9.6.10#9.6.10-650266e24d800bcc","version":"9.6.10"},{"db_id":"8ba3323e8cfbe4ae8c3cf944b89bd142","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"c5e832fe5b3955e163fe6a4881dd2299279821cdfbd8c26907079cafc05875a1"},"kind":"equivalent","label":"9.5.14","source_url":"/docs/release/9.5.14/#id-1.11.6.16.5","title":"改进备库服务器 WAL 重放中锁释放的性能","url":"/docs/compare/?release=9.5.14#9.5.14-650266e24d800bcc","version":"9.5.14"},{"db_id":"10e8bd8bbcb3a0dc654368a93dc0266c","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"c5e832fe5b3955e163fe6a4881dd2299279821cdfbd8c26907079cafc05875a1"},"kind":"equivalent","label":"9.4.19","source_url":"/docs/release/9.4.19/#id-1.11.6.12.5","title":"改进备库 WAL 重放中锁释放的性能","url":"/docs/compare/?release=9.4.19#9.4.19-fb93b33ad1f882d2","version":"9.4.19"},{"db_id":"b632ab0b0a3e766425ff17921f9d6048","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"c5e832fe5b3955e163fe6a4881dd2299279821cdfbd8c26907079cafc05875a1"},"kind":"equivalent","label":"9.3.24","source_url":"/docs/release/9.3.24/#id-1.11.6.6.6","title":"改进备库服务器 WAL 重放中锁释放的性能","url":"/docs/compare/?release=9.3.24#9.3.24-650266e24d800bcc","version":"9.3.24"}],"relations":[{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"c5e832fe5b3955e163fe6a4881dd2299279821cdfbd8c26907079cafc05875a1"},"rule":2,"target":"10e8bd8bbcb3a0dc654368a93dc0266c","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"c5e832fe5b3955e163fe6a4881dd2299279821cdfbd8c26907079cafc05875a1"},"rule":2,"target":"198f89cf0c74e8275f1b5659a253422e","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"c5e832fe5b3955e163fe6a4881dd2299279821cdfbd8c26907079cafc05875a1"},"rule":2,"target":"8ba3323e8cfbe4ae8c3cf944b89bd142","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"c5e832fe5b3955e163fe6a4881dd2299279821cdfbd8c26907079cafc05875a1"},"rule":2,"target":"b632ab0b0a3e766425ff17921f9d6048","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["88554c091"],"source_entry_id":"10.5/changes/009","source_hash":"9d562f610cbe951ca78f2799efa0a29bf44598dee22f12098aeb233a4ea849c6","source_url":"/docs/release/10.5/#id-1.11.6.23.5","statement_hash":"c5e832fe5b3955e163fe6a4881dd2299279821cdfbd8c26907079cafc05875a1","text":"提高备库 WAL 重放中释放锁的性能（Thomas Munro）","title":"提高备库 WAL 重放中释放锁的性能","variants":[],"version":"10.5"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["0414ac6a1","11abea37d","19648375c","98e2c298c","9a7b7adc1","d5eb1fe0d"],"commit_groups":[["0414ac6a1","11abea37d","19648375c","98e2c298c","9a7b7adc1","d5eb1fe0d"]],"commits":[],"cves":[],"db_id":"153b2bc4ecaec1233e1e5d5ae5e15de9","html":"\u003cp\u003e使逻辑 WAL 发送进程正确报告流式传输状态（Simon Riggs，Sawada Masahiko）\u003c/p\u003e\n\u003cp\u003e以前，代码会错误判断是否已追上上游服务器。\u003c/p\u003e","id":"10.5-989cc221c1a1990a","identity_text":"Make logical WAL senders report streaming state correctly (Simon Riggs, Sawada Masahiko) The code previously mis-detected whether or not it had caught up with the upstream server.","part":"changes","patch_ids":["bb982ebb76a2a82c50e8e4d691e68358"],"related_changes":[{"db_id":"63531a370ad0a7a51eb997fce1a8f295","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"4d77f60252a806f87315684495c6b6acef9bfb3745d23aaa92ad3200ef8f5a10"},"kind":"equivalent","label":"9.6.10","source_url":"/docs/release/9.6.10/#id-1.11.6.19.5","title":"让逻辑 WAL 发送者正确报告流状态","url":"/docs/compare/?release=9.6.10#9.6.10-0fff8704bb5dc396","version":"9.6.10"},{"db_id":"ce0c374e27e67e4239351a562a480325","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"4d77f60252a806f87315684495c6b6acef9bfb3745d23aaa92ad3200ef8f5a10"},"kind":"equivalent","label":"9.5.14","source_url":"/docs/release/9.5.14/#id-1.11.6.16.5","title":"让逻辑 WAL 发送者正确报告流状态","url":"/docs/compare/?release=9.5.14#9.5.14-0fff8704bb5dc396","version":"9.5.14"},{"db_id":"0024dddf8b0a2457e78f36aab16a9436","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"4d77f60252a806f87315684495c6b6acef9bfb3745d23aaa92ad3200ef8f5a10"},"kind":"equivalent","label":"9.4.19","source_url":"/docs/release/9.4.19/#id-1.11.6.12.5","title":"让逻辑 WAL 发送者正确报告流状态","url":"/docs/compare/?release=9.4.19#9.4.19-0fff8704bb5dc396","version":"9.4.19"}],"relations":[{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"4d77f60252a806f87315684495c6b6acef9bfb3745d23aaa92ad3200ef8f5a10"},"rule":2,"target":"0024dddf8b0a2457e78f36aab16a9436","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"4d77f60252a806f87315684495c6b6acef9bfb3745d23aaa92ad3200ef8f5a10"},"rule":2,"target":"63531a370ad0a7a51eb997fce1a8f295","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"4d77f60252a806f87315684495c6b6acef9bfb3745d23aaa92ad3200ef8f5a10"},"rule":2,"target":"ce0c374e27e67e4239351a562a480325","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["11abea37d"],"source_entry_id":"10.5/changes/010","source_hash":"920fa77b82dd45742a52fc73a43de3bbfb05813a978e6f3ebdd7685e3608f30b","source_url":"/docs/release/10.5/#id-1.11.6.23.5","statement_hash":"4d77f60252a806f87315684495c6b6acef9bfb3745d23aaa92ad3200ef8f5a10","text":"使逻辑 WAL 发送进程正确报告流式传输状态（Simon Riggs，Sawada Masahiko） 以前，代码会错误判断是否已追上上游服务器。","title":"使逻辑 WAL 发送进程正确报告流式传输状态","variants":[],"version":"10.5"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["2c4d0f32e","4f10e7ea7","5dbd0beb8"],"commit_groups":[["2c4d0f32e","4f10e7ea7","5dbd0beb8"]],"commits":[],"cves":[],"db_id":"558ffe0a9a6e92dd204f59bf00cce1c8","html":"\u003cp\u003e确保逻辑复制订阅者执行数据类型输入函数时提供快照（Minh-Quan Tran，Álvaro Herrera）\u003c/p\u003e\n\u003cp\u003e这一遗漏会在某些情况下导致失败，例如域约束使用 SQL 语言函数时。\u003c/p\u003e","id":"10.5-97e9e9c090bcd61b","identity_text":"Ensure that a snapshot is provided when executing data type input functions in logical replication subscribers (Minh-Quan Tran, Álvaro Herrera) This omission led to failures in some cases, such as domains with constraints using SQL-language functions.","part":"changes","patch_ids":["8a57580e99f159fb2517e18664c7bef9"],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":["2c4d0f32e"],"source_entry_id":"10.5/changes/011","source_hash":"756a25c22f0eab6c74974a4fc04a37c3a40e4d981da273cb901582dd3ef05032","source_url":"/docs/release/10.5/#id-1.11.6.23.5","statement_hash":"039bda7cb3ec06d3a2da07be956121f16fbf2d467a420f6ae22b1b8d250774bd","text":"确保逻辑复制订阅者执行数据类型输入函数时提供快照（Minh-Quan Tran，Álvaro Herrera） 这一遗漏会在某些情况下导致失败，例如域约束使用 SQL 语言函数时。","title":"确保逻辑复制订阅者执行数据类型输入函数时提供快照","variants":[],"version":"10.5"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["4cb6f7837","962313558","b767b3f2e","da10d6a8a","f49a80c48"],"commit_groups":[["4cb6f7837","962313558","b767b3f2e","da10d6a8a","f49a80c48"]],"commits":[],"cves":[],"db_id":"ed39f60ba1d526a39605d75e09f29524","html":"\u003cp\u003e修复逻辑解码期间快照处理中的缺陷，这些缺陷在罕见情况下会导致错误的解码结果（Arseny Sher，Álvaro Herrera）\u003c/p\u003e","id":"10.5-7a630233e8158c82","identity_text":"Fix bugs in snapshot handling during logical decoding, allowing wrong decoding results in rare cases (Arseny Sher, Álvaro Herrera)","part":"changes","patch_ids":["16b0af9ff23fc2a4386f27e057c0453a"],"related_changes":[{"db_id":"722dda8d255ed48f07a7f1102dc85540","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"2d59a06961fcbfe2737d81b449e6ec66d6dd457093da06528417729be1ceae77"},"kind":"equivalent","label":"9.6.10","source_url":"/docs/release/9.6.10/#id-1.11.6.19.5","title":"修复逻辑解码期间快照处理中的 bug，罕见情况下可能导致错误的解码结果","url":"/docs/compare/?release=9.6.10#9.6.10-f813c7f7a2e35180","version":"9.6.10"},{"db_id":"747a23053f3fdc8513934045f4b8a8eb","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"2d59a06961fcbfe2737d81b449e6ec66d6dd457093da06528417729be1ceae77"},"kind":"equivalent","label":"9.5.14","source_url":"/docs/release/9.5.14/#id-1.11.6.16.5","title":"修复逻辑解码期间快照处理中的 bug，罕见情况下可能导致错误的解码结果","url":"/docs/compare/?release=9.5.14#9.5.14-f813c7f7a2e35180","version":"9.5.14"},{"db_id":"ba72487eca3d90a8965a8f78799d4a37","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"2d59a06961fcbfe2737d81b449e6ec66d6dd457093da06528417729be1ceae77"},"kind":"equivalent","label":"9.4.19","source_url":"/docs/release/9.4.19/#id-1.11.6.12.5","title":"修复逻辑解码期间快照处理的缺陷，罕见情况下可能导致错误的解码结果","url":"/docs/compare/?release=9.4.19#9.4.19-3a3e750646316e63","version":"9.4.19"}],"relations":[{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"2d59a06961fcbfe2737d81b449e6ec66d6dd457093da06528417729be1ceae77"},"rule":2,"target":"722dda8d255ed48f07a7f1102dc85540","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"2d59a06961fcbfe2737d81b449e6ec66d6dd457093da06528417729be1ceae77"},"rule":2,"target":"747a23053f3fdc8513934045f4b8a8eb","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"2d59a06961fcbfe2737d81b449e6ec66d6dd457093da06528417729be1ceae77"},"rule":2,"target":"ba72487eca3d90a8965a8f78799d4a37","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["b767b3f2e"],"source_entry_id":"10.5/changes/012","source_hash":"629b0ebb67958b7d82d0a1c01e850a7334021f5defef74f76837cbfd30a19886","source_url":"/docs/release/10.5/#id-1.11.6.23.5","statement_hash":"2d59a06961fcbfe2737d81b449e6ec66d6dd457093da06528417729be1ceae77","text":"修复逻辑解码期间快照处理中的缺陷，这些缺陷在罕见情况下会导致错误的解码结果（Arseny Sher，Álvaro Herrera）","title":"修复逻辑解码期间快照处理中的缺陷，这些缺陷在罕见情况下会导致错误的解码结果","variants":[],"version":"10.5"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["32df1c9af","4beb25c63","9ec9f8f68"],"commit_groups":[["32df1c9af","4beb25c63","9ec9f8f68"]],"commits":[],"cves":[],"db_id":"12ef2770fb345d90cdc2fdecd956add0","html":"\u003cp\u003e为逻辑复制表同步工作进程添加子事务处理（Amit Khandekar，Robert Haas）\u003c/p\u003e\n\u003cp\u003e以前，如果子事务修改了正在同步的表后中止，表同步就可能出现错误行为。\u003c/p\u003e","id":"10.5-1401aeb88a837443","identity_text":"Add subtransaction handling in logical-replication table synchronization workers (Amit Khandekar, Robert Haas) Previously, table synchronization could misbehave if any subtransactions were aborted after modifying a table being synchronized.","part":"changes","patch_ids":["234e63bfeb12791483c3fe8873a7b8a5"],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":["4beb25c63"],"source_entry_id":"10.5/changes/013","source_hash":"85ef0c8f2e788c4986c9d3ee883307d097bffa38d9759b3d4b7018a50bf17259","source_url":"/docs/release/10.5/#id-1.11.6.23.5","statement_hash":"7fe0b347a775e96e9548d9e8e1315fd211684ceda6d1b15972298438c0636041","text":"为逻辑复制表同步工作进程添加子事务处理（Amit Khandekar，Robert Haas） 以前，如果子事务修改了正在同步的表后中止，表同步就可能出现错误行为。","title":"为逻辑复制表同步工作进程添加子事务处理","variants":[],"version":"10.5"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["0229e087d","0a60a291c","250528cec","aca225741","b3f919da0","b9612e5cf","c83408aa7"],"commit_groups":[["0229e087d","0a60a291c","250528cec","aca225741","b3f919da0","b9612e5cf","c83408aa7"]],"commits":[],"cves":[],"db_id":"58f069360214dd9f86e14701bbefcbb5","html":"\u003cp\u003e确保索引创建中途失败后，正确重建表的缓存索引列表（Peter Geoghegan）\u003c/p\u003e\n\u003cp\u003e以前，失败索引的 OID 可能仍留在列表中，导致同一会话中后续出现问题。\u003c/p\u003e","id":"10.5-f07313845b5285b2","identity_text":"Ensure a table's cached index list is correctly rebuilt after an index creation fails partway through (Peter Geoghegan) Previously, the failed index's OID could remain in the list, causing problems later in the same session.","part":"changes","patch_ids":["358b2f298891fd54064acf312b90904f"],"related_changes":[{"db_id":"186e31d2cfd35855b738f0e59e37bc8a","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"cd62bf70f8ea7367a437e9c84dd8160f5d842a9309758b8eb517f493440f6800"},"kind":"equivalent","label":"9.6.10","source_url":"/docs/release/9.6.10/#id-1.11.6.19.5","title":"确保索引创建中途失败后正确重建表的缓存索引列表","url":"/docs/compare/?release=9.6.10#9.6.10-779e6d81d6e547c8","version":"9.6.10"},{"db_id":"26e04fcb7e6cede2081c220dd2bec55f","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"cd62bf70f8ea7367a437e9c84dd8160f5d842a9309758b8eb517f493440f6800"},"kind":"equivalent","label":"9.5.14","source_url":"/docs/release/9.5.14/#id-1.11.6.16.5","title":"确保索引创建中途失败后正确重建表的缓存索引列表","url":"/docs/compare/?release=9.5.14#9.5.14-779e6d81d6e547c8","version":"9.5.14"},{"db_id":"9816837056d8933773918134c3de8eba","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"cd62bf70f8ea7367a437e9c84dd8160f5d842a9309758b8eb517f493440f6800"},"kind":"equivalent","label":"9.4.19","source_url":"/docs/release/9.4.19/#id-1.11.6.12.5","title":"确保索引创建中途失败后正确重建表的缓存索引列表","url":"/docs/compare/?release=9.4.19#9.4.19-779e6d81d6e547c8","version":"9.4.19"},{"db_id":"323782b89f6740151049a909f0559a13","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"cd62bf70f8ea7367a437e9c84dd8160f5d842a9309758b8eb517f493440f6800"},"kind":"equivalent","label":"9.3.24","source_url":"/docs/release/9.3.24/#id-1.11.6.6.6","title":"确保索引创建中途失败后正确重建表的缓存索引列表","url":"/docs/compare/?release=9.3.24#9.3.24-779e6d81d6e547c8","version":"9.3.24"}],"relations":[{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"cd62bf70f8ea7367a437e9c84dd8160f5d842a9309758b8eb517f493440f6800"},"rule":2,"target":"186e31d2cfd35855b738f0e59e37bc8a","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"cd62bf70f8ea7367a437e9c84dd8160f5d842a9309758b8eb517f493440f6800"},"rule":2,"target":"26e04fcb7e6cede2081c220dd2bec55f","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"cd62bf70f8ea7367a437e9c84dd8160f5d842a9309758b8eb517f493440f6800"},"rule":2,"target":"323782b89f6740151049a909f0559a13","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"cd62bf70f8ea7367a437e9c84dd8160f5d842a9309758b8eb517f493440f6800"},"rule":2,"target":"9816837056d8933773918134c3de8eba","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["c83408aa7"],"source_entry_id":"10.5/changes/014","source_hash":"dae90be1c99146fa0e3cc96e72dc71e98377c256a71fcebee12851de7fb5020b","source_url":"/docs/release/10.5/#id-1.11.6.23.5","statement_hash":"cd62bf70f8ea7367a437e9c84dd8160f5d842a9309758b8eb517f493440f6800","text":"确保索引创建中途失败后，正确重建表的缓存索引列表（Peter Geoghegan） 以前，失败索引的 OID 可能仍留在列表中，导致同一会话中后续出现问题。","title":"确保索引创建中途失败后，正确重建表的缓存索引列表","variants":[],"version":"10.5"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["0d26812a4","309765fa1","3c09b032a","44b550e0d","608793266","9c6a676c4"],"commit_groups":[["0d26812a4","309765fa1","3c09b032a","44b550e0d","608793266","9c6a676c4"]],"commits":[],"cves":[],"db_id":"a6b4d547c3a7317a9933e598d026a0af","html":"\u003cp\u003e修复 GIN 索引中对空的未压缩倒排列表页面的不正确处理（Sivasubramanian Ramasubramanian，Alexander Korotkov）\u003c/p\u003e\n\u003cp\u003e这可能在通过 pg_upgrade 升级 9.4 之前的 GIN 索引后导致断言失败（9.4 及后续版本不会创建此类页面）。\u003c/p\u003e","id":"10.5-1296c8950b3656f7","identity_text":"Fix mishandling of empty uncompressed posting list pages in GIN indexes (Sivasubramanian Ramasubramanian, Alexander Korotkov) This could result in an assertion failure after pg_upgrade of a pre-9.4 GIN index (9.4 and later will not create such pages).","part":"changes","patch_ids":["94eb86e300b752fe994296ac4d42f239"],"related_changes":[{"db_id":"341f4d27388876640cba6c8724119e4b","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"b8a2167e84b84133e3ca3d47c7884079f82f923701fd5212458ebf05df7a6a90"},"kind":"equivalent","label":"9.6.10","source_url":"/docs/release/9.6.10/#id-1.11.6.19.5","title":"修复 GIN 索引中空未压缩 posting 列表页的处理不当","url":"/docs/compare/?release=9.6.10#9.6.10-b2988648e4be847c","version":"9.6.10"},{"db_id":"8f189bc48d07dd9c38455eb63e078f9a","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"b8a2167e84b84133e3ca3d47c7884079f82f923701fd5212458ebf05df7a6a90"},"kind":"equivalent","label":"9.5.14","source_url":"/docs/release/9.5.14/#id-1.11.6.16.5","title":"修复 GIN 索引中空未压缩 posting 列表页的处理不当","url":"/docs/compare/?release=9.5.14#9.5.14-b2988648e4be847c","version":"9.5.14"},{"db_id":"5c9d8f690407ff5c825e0556be5cbb4d","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"b8a2167e84b84133e3ca3d47c7884079f82f923701fd5212458ebf05df7a6a90"},"kind":"equivalent","label":"9.4.19","source_url":"/docs/release/9.4.19/#id-1.11.6.12.5","title":"修复 GIN 索引中空未压缩 posting 列表页的处理不当","url":"/docs/compare/?release=9.4.19#9.4.19-b2988648e4be847c","version":"9.4.19"}],"relations":[{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"b8a2167e84b84133e3ca3d47c7884079f82f923701fd5212458ebf05df7a6a90"},"rule":2,"target":"341f4d27388876640cba6c8724119e4b","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"b8a2167e84b84133e3ca3d47c7884079f82f923701fd5212458ebf05df7a6a90"},"rule":2,"target":"5c9d8f690407ff5c825e0556be5cbb4d","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"b8a2167e84b84133e3ca3d47c7884079f82f923701fd5212458ebf05df7a6a90"},"rule":2,"target":"8f189bc48d07dd9c38455eb63e078f9a","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["0d26812a4"],"source_entry_id":"10.5/changes/015","source_hash":"5e9e44e0df7061b4b108e895c9b42e297a892327a92aa074f1c51f22bb38f02b","source_url":"/docs/release/10.5/#id-1.11.6.23.5","statement_hash":"b8a2167e84b84133e3ca3d47c7884079f82f923701fd5212458ebf05df7a6a90","text":"修复 GIN 索引中对空的未压缩倒排列表页面的不正确处理（Sivasubramanian Ramasubramanian，Alexander Korotkov） 这可能在通过 pg_upgrade 升级 9.4 之前的 GIN 索引后导致断言失败（9.4 及后续版本不会创建此类页面）。","title":"修复 GIN 索引中对空的未压缩倒排列表页面的不正确处理","variants":[],"version":"10.5"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["2d3067595","46201d603","f2db5f3bb"],"commit_groups":[["2d3067595","46201d603","f2db5f3bb"]],"commits":[],"cves":[],"db_id":"bf10dbfaa75c8f49718b7db43d61b4ed","html":"\u003cp\u003e填充未命名 POSIX 信号量数组，以减少缓存行共享（Thomas Munro）\u003c/p\u003e\n\u003cp\u003e这减少了多 CPU 系统上的争用，修复了 Linux 和 FreeBSD 上相对于以前版本的性能回归。\u003c/p\u003e","id":"10.5-ccfef0505d67bc5b","identity_text":"Pad arrays of unnamed POSIX semaphores to reduce cache line sharing (Thomas Munro) This reduces contention on many-CPU systems, fixing a performance regression (compared to previous releases) on Linux and FreeBSD.","part":"changes","patch_ids":["06eee3c1ab9f0eba65d7ff5b308f579c"],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":["46201d603"],"source_entry_id":"10.5/changes/016","source_hash":"51c52ff3656516abb2d9c71efd63283c5a826164a688ad1cd919135c781152f7","source_url":"/docs/release/10.5/#id-1.11.6.23.5","statement_hash":"160b01199fce88eca439041a61944aaa2c5eb2b2fc0b59fac3b10066ee61447f","text":"填充未命名 POSIX 信号量数组，以减少缓存行共享（Thomas Munro） 这减少了多 CPU 系统上的争用，修复了 Linux 和 FreeBSD 上相对于以前版本的性能回归。","title":"填充未命名 POSIX 信号量数组，以减少缓存行共享","variants":[],"version":"10.5"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["09a5be587","8ce29bb4f","ff8ce0b79"],"commit_groups":[["09a5be587","8ce29bb4f","ff8ce0b79"]],"commits":[],"cves":[],"db_id":"25035c3e522792f2fd0523bf51c69061","html":"\u003cp\u003e确保执行并行索引扫描的进程响应信号（Amit Kapila）\u003c/p\u003e\n\u003cp\u003e以前，并行工作进程可能卡在等待索引页锁的状态，无法注意到中止查询的请求。\u003c/p\u003e","id":"10.5-0792b8fce8f196d5","identity_text":"Ensure that a process doing a parallel index scan will respond to signals (Amit Kapila) Previously, parallel workers could get stuck waiting for a lock on an index page, and not notice requests to abort the query.","part":"changes","patch_ids":["4831d13891d78976b0cb471b8179777b"],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":["ff8ce0b79"],"source_entry_id":"10.5/changes/017","source_hash":"61c931e8951520f826674d01409e66efb7bebe62e6d99892225568796e862612","source_url":"/docs/release/10.5/#id-1.11.6.23.5","statement_hash":"60d269f18bf02b349d26d72968c3fab71f75a1e3a8ad4dca9d62393b1f5601c2","text":"确保执行并行索引扫描的进程响应信号（Amit Kapila） 以前，并行工作进程可能卡在等待索引页锁的状态，无法注意到中止查询的请求。","title":"确保执行并行索引扫描的进程响应信号","variants":[],"version":"10.5"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["009580989","0c69db762","2adadf018","3a01f68e3","8c8c9f37c","f411108c9"],"commit_groups":[["009580989","0c69db762","2adadf018","3a01f68e3","8c8c9f37c","f411108c9"]],"commits":[],"cves":[],"db_id":"9daba184165b978b5048851d3664d90f","html":"\u003cp\u003e确保 \u003ccode\u003eVACUUM\u003c/code\u003e 在 B-树页面删除循环中响应信号（Andres Freund）\u003c/p\u003e\n\u003cp\u003e损坏的 B-树索引可能在这里导致无限循环，以前只能通过强制崩溃才能中断。\u003c/p\u003e","id":"10.5-a963e430e7d11605","identity_text":"Ensure that VACUUM will respond to signals within btree page deletion loops (Andres Freund) Corrupted btree indexes could result in an infinite loop here, and that previously wasn't interruptible without forcing a crash.","part":"changes","patch_ids":["7e06a9d303385fe97672e25db5d82910"],"related_changes":[{"db_id":"a56694ab96dd635cd3ac4625fff21988","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"6742ae11a896e2fd92be7b1babe613d1036f84f4921911000e38736d395a8e6c"},"kind":"equivalent","label":"9.6.10","source_url":"/docs/release/9.6.10/#id-1.11.6.19.5","title":"确保 VACUUM 在 btree 页删除循环中响应信号","url":"/docs/compare/?release=9.6.10#9.6.10-58f18e932dffa484","version":"9.6.10"},{"db_id":"e77cd5b3cc2485698c5eff5d1d373f8d","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"6742ae11a896e2fd92be7b1babe613d1036f84f4921911000e38736d395a8e6c"},"kind":"equivalent","label":"9.5.14","source_url":"/docs/release/9.5.14/#id-1.11.6.16.5","title":"确保 VACUUM 在 btree 页删除循环中响应信号","url":"/docs/compare/?release=9.5.14#9.5.14-58f18e932dffa484","version":"9.5.14"},{"db_id":"4721267ab5f350035de8fbf5ef55ea6b","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"6742ae11a896e2fd92be7b1babe613d1036f84f4921911000e38736d395a8e6c"},"kind":"equivalent","label":"9.4.19","source_url":"/docs/release/9.4.19/#id-1.11.6.12.5","title":"确保 VACUUM 在 btree 页删除循环中响应信号","url":"/docs/compare/?release=9.4.19#9.4.19-58f18e932dffa484","version":"9.4.19"}],"relations":[{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"6742ae11a896e2fd92be7b1babe613d1036f84f4921911000e38736d395a8e6c"},"rule":2,"target":"4721267ab5f350035de8fbf5ef55ea6b","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"6742ae11a896e2fd92be7b1babe613d1036f84f4921911000e38736d395a8e6c"},"rule":2,"target":"a56694ab96dd635cd3ac4625fff21988","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"6742ae11a896e2fd92be7b1babe613d1036f84f4921911000e38736d395a8e6c"},"rule":2,"target":"e77cd5b3cc2485698c5eff5d1d373f8d","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["009580989"],"source_entry_id":"10.5/changes/018","source_hash":"c441f00c8408c3d1b3d4ffd163c7ef2116d501ead70cbaa2cc189ce04731ab3a","source_url":"/docs/release/10.5/#id-1.11.6.23.5","statement_hash":"6742ae11a896e2fd92be7b1babe613d1036f84f4921911000e38736d395a8e6c","text":"确保 VACUUM 在 B-树页面删除循环中响应信号（Andres Freund） 损坏的 B-树索引可能在这里导致无限循环，以前只能通过强制崩溃才能中断。","title":"确保 VACUUM 在 B-树页面删除循环中响应信号","variants":[],"version":"10.5"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["0bb28ca36","1007b0a12","704e39319"],"commit_groups":[["0bb28ca36","1007b0a12","704e39319"]],"commits":[],"cves":[],"db_id":"cb28c2a1cfaf68cb1e5e16bc274e1569","html":"\u003cp\u003e修复 inner_unique 优化引入的哈希连接代价估算错误（David Rowley）\u003c/p\u003e\n\u003cp\u003e这可能在适用该优化的情况下导致选择低效计划。\u003c/p\u003e","id":"10.5-5dd1464634da2d5b","identity_text":"Fix hash-join costing mistake introduced with inner_unique optimization (David Rowley) This could lead to bad plan choices in situations where that optimization was applicable.","part":"changes","patch_ids":["4bd6ad5137fb6a02b3578c9dbaccc9c9"],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":["0bb28ca36"],"source_entry_id":"10.5/changes/019","source_hash":"ca83be624fa69706395482230fa3cccd42b2723b3a4b5c9f82e1d8f84ba80aa1","source_url":"/docs/release/10.5/#id-1.11.6.23.5","statement_hash":"0b5dc7c7c0eddd49585e068ce90551bf68cd053a363cea201694c7d084a12440","text":"修复 inner_unique 优化引入的哈希连接代价估算错误（David Rowley） 这可能在适用该优化的情况下导致选择低效计划。","title":"修复 inner_unique 优化引入的哈希连接代价估算错误","variants":[],"version":"10.5"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["62e0020ad","6d7629094","a11b3bd37","aada0a764","ace3c7cc0","bc711befd"],"commit_groups":[["62e0020ad","6d7629094","a11b3bd37","aada0a764","ace3c7cc0","bc711befd"]],"commits":[],"cves":[],"db_id":"4c8532a87fe864b0d7dd80115d45ded5","html":"\u003cp\u003e修复涉及复合类型列的等价类的不正确优化（Tom Lane）\u003c/p\u003e\n\u003cp\u003e这曾导致无法识别复合列上的索引能够提供该列归并连接所需的排序顺序。\u003c/p\u003e","id":"10.5-b23536709041574c","identity_text":"Fix misoptimization of equivalence classes involving composite-type columns (Tom Lane) This resulted in failure to recognize that an index on a composite column could provide the sort order needed for a mergejoin on that column.","part":"changes","patch_ids":["7b5a10e4b35fae911265c1fffd528465"],"related_changes":[{"db_id":"52cef43a8c73048f335ccbec3a8eaa20","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"f614996577b318997d1ad826e475da2f633c108f544ab5dfc793c89467fd4beb"},"kind":"equivalent","label":"9.6.10","source_url":"/docs/release/9.6.10/#id-1.11.6.19.5","title":"修复涉及复合类型列的等价类的错误优化","url":"/docs/compare/?release=9.6.10#9.6.10-cf3ce0b44d07413b","version":"9.6.10"},{"db_id":"a9b35e1d8e5e3420204fe78b358c9962","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"f614996577b318997d1ad826e475da2f633c108f544ab5dfc793c89467fd4beb"},"kind":"equivalent","label":"9.5.14","source_url":"/docs/release/9.5.14/#id-1.11.6.16.5","title":"修复涉及复合类型列的等价类的错误优化","url":"/docs/compare/?release=9.5.14#9.5.14-cf3ce0b44d07413b","version":"9.5.14"},{"db_id":"1a738a8866da02b729b2a8833232d01b","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"f614996577b318997d1ad826e475da2f633c108f544ab5dfc793c89467fd4beb"},"kind":"equivalent","label":"9.4.19","source_url":"/docs/release/9.4.19/#id-1.11.6.12.5","title":"修复涉及复合类型列的等价类的错误优化","url":"/docs/compare/?release=9.4.19#9.4.19-cf3ce0b44d07413b","version":"9.4.19"},{"db_id":"182bf1369f6e672ae01de81e926e566b","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"f614996577b318997d1ad826e475da2f633c108f544ab5dfc793c89467fd4beb"},"kind":"equivalent","label":"9.3.24","source_url":"/docs/release/9.3.24/#id-1.11.6.6.6","title":"修复涉及复合类型列的等价类的错误优化","url":"/docs/compare/?release=9.3.24#9.3.24-cf3ce0b44d07413b","version":"9.3.24"}],"relations":[{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"f614996577b318997d1ad826e475da2f633c108f544ab5dfc793c89467fd4beb"},"rule":2,"target":"182bf1369f6e672ae01de81e926e566b","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"f614996577b318997d1ad826e475da2f633c108f544ab5dfc793c89467fd4beb"},"rule":2,"target":"1a738a8866da02b729b2a8833232d01b","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"f614996577b318997d1ad826e475da2f633c108f544ab5dfc793c89467fd4beb"},"rule":2,"target":"52cef43a8c73048f335ccbec3a8eaa20","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"f614996577b318997d1ad826e475da2f633c108f544ab5dfc793c89467fd4beb"},"rule":2,"target":"a9b35e1d8e5e3420204fe78b358c9962","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["aada0a764"],"source_entry_id":"10.5/changes/020","source_hash":"5f90366241a347f6c4ace61d29c9c9593a4ec8fd9101e0b8e8c2def43eedda16","source_url":"/docs/release/10.5/#id-1.11.6.23.5","statement_hash":"f614996577b318997d1ad826e475da2f633c108f544ab5dfc793c89467fd4beb","text":"修复涉及复合类型列的等价类的不正确优化（Tom Lane） 这曾导致无法识别复合列上的索引能够提供该列归并连接所需的排序顺序。","title":"修复涉及复合类型列的等价类的不正确优化","variants":[],"version":"10.5"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["07e5a2135","4b8860e2d","57cd2b6e6","5b762d96e","a4c95b0b8","c35032027"],"commit_groups":[["07e5a2135","a4c95b0b8"],["4b8860e2d","57cd2b6e6","5b762d96e","c35032027"]],"commits":[],"cves":[],"db_id":"e5e34c399d9dc4d7735d61a36a91d51f","html":"\u003cp\u003e修复规划器，避免某些包含返回集合函数的查询发生 \u003cspan\u003e“\u003cspan\u003eORDER/GROUP BY expression not found in targetlist\u003c/span\u003e”\u003c/span\u003e 错误（Tom Lane）\u003c/p\u003e","id":"10.5-c03a5f6f7e37363f","identity_text":"Fix planner to avoid ORDER/GROUP BY expression not found in targetlist errors in some queries with set-returning functions (Tom Lane)","part":"changes","patch_ids":["3dff590c67eba6eeee2d9343bab4d6a8","4ea40717bb65974396dd289aadb1050b"],"related_changes":[{"db_id":"3f847ab19378158a35fbe6c486b7a25b","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"8b3babba83aca5f6472be6d4565597f7888b9f988876dd4d916ea0bd90fd9a9c"},"kind":"equivalent","label":"9.6.10","source_url":"/docs/release/9.6.10/#id-1.11.6.19.5","title":"修复规划器避免某些带集合返回函数的查询中的 “ORDER/GROUP BY expression not found in targetlist” 错误","url":"/docs/compare/?release=9.6.10#9.6.10-46b3345315e9cb1a","version":"9.6.10"}],"relations":[{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"8b3babba83aca5f6472be6d4565597f7888b9f988876dd4d916ea0bd90fd9a9c"},"rule":2,"target":"3f847ab19378158a35fbe6c486b7a25b","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["a4c95b0b8","c35032027"],"source_entry_id":"10.5/changes/021","source_hash":"ff071bf202e5121187bb77326658aaf34cb22543b53149d8d0e4668f946c05f6","source_url":"/docs/release/10.5/#id-1.11.6.23.5","statement_hash":"8b3babba83aca5f6472be6d4565597f7888b9f988876dd4d916ea0bd90fd9a9c","text":"修复规划器，避免某些包含返回集合函数的查询发生 “ORDER/GROUP BY expression not found in targetlist” 错误（Tom Lane）","title":"修复规划器，避免某些包含返回集合函数的查询发生 “ORDER/GROUP BY expression not found in targetlist” 错误","variants":[],"version":"10.5"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["7c644b7d3","b6e3a3a49","e7df94f31"],"commit_groups":[["7c644b7d3","b6e3a3a49","e7df94f31"]],"commits":[],"cves":[],"db_id":"49a59715fb2117eefef62c00fbf4032f","html":"\u003cp\u003e修复对数组等数据类型使用多态 B-树操作符类的分区键的处理（Amit Langote，Álvaro Herrera）\u003c/p\u003e","id":"10.5-0094faed266e2c4b","identity_text":"Fix handling of partition keys whose data type uses a polymorphic btree operator class, such as arrays (Amit Langote, Álvaro Herrera)","part":"changes","patch_ids":["c5f45f6be8b42ef94808fe1edf7f0bbd"],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":["7c644b7d3"],"source_entry_id":"10.5/changes/022","source_hash":"5a245a0358c2e9cc9f0fc1dd1711c2451ba6bdf2bacfcdb5ab0422fac5762954","source_url":"/docs/release/10.5/#id-1.11.6.23.5","statement_hash":"ff99bc765c6e41e827085a5e969b673f8cc346d1818b15d4857b698c215caa7d","text":"修复对数组等数据类型使用多态 B-树操作符类的分区键的处理（Amit Langote，Álvaro Herrera）","title":"修复对数组等数据类型使用多态 B-树操作符类的分区键的处理","variants":[],"version":"10.5"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["1da162e1f","3b0fb2529","769e6fcd1","7a0aa8d12","89b09db01","cf516dc9d"],"commit_groups":[["1da162e1f","3b0fb2529","769e6fcd1","7a0aa8d12","89b09db01","cf516dc9d"]],"commits":[],"cves":[],"db_id":"ffee22d09074ad0235653a33dd93df64","html":"\u003cp\u003e修复 SQL 标准的 \u003ccode\u003eFETCH FIRST\u003c/code\u003e 语法，使其按照标准预期允许参数（\u003ccode\u003e$\u003cem\u003e\u003ccode\u003en\u003c/code\u003e\u003c/em\u003e\u003c/code\u003e）（Andrew Gierth）\u003c/p\u003e","id":"10.5-3c42f8df248c938e","identity_text":"Fix SQL-standard FETCH FIRST syntax to allow parameters ($n), as the standard expects (Andrew Gierth)","part":"changes","patch_ids":["eb5350100f0b47b5a8f790027abb890f"],"related_changes":[{"db_id":"1968060fb84d59b197c126ae941b4b3b","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"461ce3f06fb3ad3bfe5901fc90283844df681aee22c74abd9dd1b8dd8f30c649"},"kind":"equivalent","label":"9.6.10","source_url":"/docs/release/9.6.10/#id-1.11.6.19.5","title":"修复 SQL 标准 FETCH FIRST 语法允许参数（$n），正如标准所期望的","url":"/docs/compare/?release=9.6.10#9.6.10-4fc173c77f38c086","version":"9.6.10"},{"db_id":"23762746b800611931fc7c4cd4b33449","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"461ce3f06fb3ad3bfe5901fc90283844df681aee22c74abd9dd1b8dd8f30c649"},"kind":"equivalent","label":"9.5.14","source_url":"/docs/release/9.5.14/#id-1.11.6.16.5","title":"修复 SQL 标准 FETCH FIRST 语法允许参数（$n），正如标准所期望的","url":"/docs/compare/?release=9.5.14#9.5.14-4fc173c77f38c086","version":"9.5.14"},{"db_id":"24bdb88062ca581f68e29dbcbd38c755","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"461ce3f06fb3ad3bfe5901fc90283844df681aee22c74abd9dd1b8dd8f30c649"},"kind":"equivalent","label":"9.4.19","source_url":"/docs/release/9.4.19/#id-1.11.6.12.5","title":"修复 SQL 标准FETCH FIRST语法，按标准预期允许参数（$n）","url":"/docs/compare/?release=9.4.19#9.4.19-a8aaf744484cbc12","version":"9.4.19"},{"db_id":"490c01ca4c089acfc35b01915796225c","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"461ce3f06fb3ad3bfe5901fc90283844df681aee22c74abd9dd1b8dd8f30c649"},"kind":"equivalent","label":"9.3.24","source_url":"/docs/release/9.3.24/#id-1.11.6.6.6","title":"修复 SQL 标准 FETCH FIRST 语法允许参数（$n），正如标准所期望的","url":"/docs/compare/?release=9.3.24#9.3.24-4fc173c77f38c086","version":"9.3.24"}],"relations":[{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"461ce3f06fb3ad3bfe5901fc90283844df681aee22c74abd9dd1b8dd8f30c649"},"rule":2,"target":"1968060fb84d59b197c126ae941b4b3b","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"461ce3f06fb3ad3bfe5901fc90283844df681aee22c74abd9dd1b8dd8f30c649"},"rule":2,"target":"23762746b800611931fc7c4cd4b33449","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"461ce3f06fb3ad3bfe5901fc90283844df681aee22c74abd9dd1b8dd8f30c649"},"rule":2,"target":"24bdb88062ca581f68e29dbcbd38c755","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"461ce3f06fb3ad3bfe5901fc90283844df681aee22c74abd9dd1b8dd8f30c649"},"rule":2,"target":"490c01ca4c089acfc35b01915796225c","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["cf516dc9d"],"source_entry_id":"10.5/changes/023","source_hash":"4bc45c6a0ed517f4e9dd5632e1c22396503485ffc2117847da3687893b5b5f19","source_url":"/docs/release/10.5/#id-1.11.6.23.5","statement_hash":"461ce3f06fb3ad3bfe5901fc90283844df681aee22c74abd9dd1b8dd8f30c649","text":"修复 SQL 标准的 FETCH FIRST 语法，使其按照标准预期允许参数（$n）（Andrew Gierth）","title":"修复 SQL 标准的 FETCH FIRST 语法，使其按照标准预期允许参数（$n）","variants":[],"version":"10.5"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["2131d4501","240971675","b1af4bcc4"],"commit_groups":[["2131d4501","240971675","b1af4bcc4"]],"commits":[],"cves":[],"db_id":"df487443f27a3c0ff7374a2c01e91623","html":"\u003cp\u003e移除未文档化的禁止重复分区键列的限制（Yugo Nagata）\u003c/p\u003e","id":"10.5-9c5e6a4cff6a19a3","identity_text":"Remove undocumented restriction against duplicate partition key columns (Yugo Nagata)","part":"changes","patch_ids":["51db3843a4cc892600367a0a47e9b0a0"],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":["2131d4501"],"source_entry_id":"10.5/changes/024","source_hash":"0fb7db223c42940232635500b07a7c84a850ed4a3ccf11a75ea1952fba0c6096","source_url":"/docs/release/10.5/#id-1.11.6.23.5","statement_hash":"345b0a41f7ef810598e60cdf70ffdf485ae9f69be81c78b8d06d8e446d8b43bd","text":"移除未文档化的禁止重复分区键列的限制（Yugo Nagata）","title":"移除未文档化的禁止重复分区键列的限制","variants":[],"version":"10.5"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["1c7c317cd","5862174ec"],"commit_groups":[["1c7c317cd","5862174ec"]],"commits":[],"cves":[],"db_id":"d02e6b2c15f154f3d9b0a6042054b9e7","html":"\u003cp\u003e禁止临时表成为非临时表的分区（Amit Langote，Michael Paquier）\u003c/p\u003e\n\u003cp\u003e虽然以前允许这种情况，但其运行并不可靠。\u003c/p\u003e","id":"10.5-fce3d4ebf3df9fa6","identity_text":"Disallow temporary tables from being partitions of non-temporary tables (Amit Langote, Michael Paquier) While previously allowed, this case didn't work reliably.","part":"changes","patch_ids":["a5f4eea2bbef0d6a2018ce30d843efd4"],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":["5862174ec"],"source_entry_id":"10.5/changes/025","source_hash":"a9a80f347a2b29a98113556ba7f8edf94af4afbed5d629176780b58f6399ccbc","source_url":"/docs/release/10.5/#id-1.11.6.23.5","statement_hash":"399b11a8e56509518f4baba6c12f5058813f9159eb46f24c51a828264b5df84d","text":"禁止临时表成为非临时表的分区（Amit Langote，Michael Paquier） 虽然以前允许这种情况，但其运行并不可靠。","title":"禁止临时表成为非临时表的分区","variants":[],"version":"10.5"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["19df1702f","3f02b5150","7124c93fb","85c9d3475","b805b63ac","ccc84a956","dac7fe13b","ef305bd59"],"commit_groups":[["19df1702f","85c9d3475","b805b63ac","dac7fe13b"],["3f02b5150","7124c93fb","ccc84a956","ef305bd59"]],"commits":[],"cves":[],"db_id":"91a2db8ea40f2ae941be07b0cc923829","html":"\u003cp\u003e修复 \u003ccode\u003eEXPLAIN\u003c/code\u003e 对并行工作进程资源用量的统计，尤其是缓冲区访问（Amit Kapila，Robert Haas）\u003c/p\u003e","id":"10.5-31e6211ad5de572c","identity_text":"Fix EXPLAIN's accounting for resource usage, particularly buffer accesses, in parallel workers (Amit Kapila, Robert Haas)","part":"changes","patch_ids":["22b765f38806e39516ea03fdb4dfeb42","b8671b01958bd0c7cff067ae5e2bd879"],"related_changes":[{"db_id":"c1f9392f4d7859c13d01d6165cacf15f","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"5c6f42f0b8605a56f546d57f10623f5716499739c8498f105b03dd299f8e18a0"},"kind":"equivalent","label":"9.6.10","source_url":"/docs/release/9.6.10/#id-1.11.6.19.5","title":"修复 EXPLAIN 对并行工作者中资源使用（特别是缓冲区访问）的计算","url":"/docs/compare/?release=9.6.10#9.6.10-ce164119f60b6a39","version":"9.6.10"}],"relations":[{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"5c6f42f0b8605a56f546d57f10623f5716499739c8498f105b03dd299f8e18a0"},"rule":2,"target":"c1f9392f4d7859c13d01d6165cacf15f","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["3f02b5150","b805b63ac"],"source_entry_id":"10.5/changes/026","source_hash":"23ad6e4cfff4b753e662f7245ea8b35e726dce8a42be25d8427fe20b7e109f66","source_url":"/docs/release/10.5/#id-1.11.6.23.5","statement_hash":"5c6f42f0b8605a56f546d57f10623f5716499739c8498f105b03dd299f8e18a0","text":"修复 EXPLAIN 对并行工作进程资源用量的统计，尤其是缓冲区访问（Amit Kapila，Robert Haas）","title":"修复 EXPLAIN 对并行工作进程资源用量的统计，尤其是缓冲区访问","variants":[],"version":"10.5"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["0c8910a0c","a25c207b2"],"commit_groups":[["0c8910a0c","a25c207b2"]],"commits":[],"cves":[],"db_id":"531411b58207564e771c92712c6ad5d9","html":"\u003cp\u003e修复 \u003ccode\u003eSHOW ALL\u003c/code\u003e，使其向 \u003ccode\u003epg_read_all_settings\u003c/code\u003e 的成员角色显示所有设置，并允许这些角色在 \u003ccode\u003epg_settings\u003c/code\u003e 视图中看到源文件名和行号（Laurenz Albe，Álvaro Herrera）\u003c/p\u003e","id":"10.5-497d7e08122cd60b","identity_text":"Fix SHOW ALL to show all settings to roles that are members of pg_read_all_settings, and also allow such roles to see source filename and line number in the pg_settings view (Laurenz Albe, Álvaro Herrera)","part":"changes","patch_ids":["c3afec749bf07c17710c5087c1c8155b"],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":["a25c207b2"],"source_entry_id":"10.5/changes/027","source_hash":"d8b7555853df8b8540f0506a4cc1d174f986439ee0a27b0353df317fead5ffc4","source_url":"/docs/release/10.5/#id-1.11.6.23.5","statement_hash":"a8f533623229c92d55e6aea7003d23dddfed02739bb911b28dd2569b65b9220e","text":"修复 SHOW ALL，使其向 pg_read_all_settings 的成员角色显示所有设置，并允许这些角色在 pg_settings 视图中看到源文件名和行号（Laurenz Albe，Álvaro Herrera）","title":"修复 SHOW ALL，使其向 pg_read_all_settings 的成员角色显示所有设置，并允许这些角色在 pg_settings 视图中看到源文件名和行号","variants":[],"version":"10.5"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["056f52d9c","1a31baf61","3d3165210","8f2143bc8","ad73c07b4","cbb37b2e1","e8cb8fdfd","eb1aa1b46"],"commit_groups":[["056f52d9c","3d3165210","8f2143bc8","ad73c07b4","cbb37b2e1","eb1aa1b46"],["1a31baf61","e8cb8fdfd"]],"commits":[],"cves":[],"db_id":"3614134805c98546d80f129fab9d172c","html":"\u003cp\u003e修复 \u003ccode\u003egetObjectDescription\u003c/code\u003e 和 \u003ccode\u003egetObjectIdentity\u003c/code\u003e 输出中某些对象名未加模式限定的问题（Kyotaro Horiguchi，Tom Lane）\u003c/p\u003e\n\u003cp\u003e排序规则、转换、文本检索对象、发布关系和扩展统计对象的名称，未在应当使用模式限定时加上限定。\u003c/p\u003e","id":"10.5-369c63d77b05504a","identity_text":"Fix failure to schema-qualify some object names in getObjectDescription and getObjectIdentity output (Kyotaro Horiguchi, Tom Lane) Names of collations, conversions, text search objects, publication relations, and extended statistics objects were not schema-qualified when they should be.","part":"changes","patch_ids":["97629c476140db83bc40bc5062419bde","9bb5f1b57b2298a2a06e7fee8df89fae"],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":["e8cb8fdfd","eb1aa1b46"],"source_entry_id":"10.5/changes/028","source_hash":"f960419af5004f827453116c4d9bbeffc653c0e6a8735c089918eba4101010bf","source_url":"/docs/release/10.5/#id-1.11.6.23.5","statement_hash":"291a7c7de7a5830cd88cbda78324935037caae79489086a540c8437421a6fc80","text":"修复 getObjectDescription 和 getObjectIdentity 输出中某些对象名未加模式限定的问题（Kyotaro Horiguchi，Tom Lane） 排序规则、转换、文本检索对象、发布关系和扩展统计对象的名称，未在应当使用模式限定时加上限定。","title":"修复 getObjectDescription 和 getObjectIdentity 输出中某些对象名未加模式限定的问题","variants":[],"version":"10.5"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["05ca21b87","17083ab7e","f92491186"],"commit_groups":[["05ca21b87","17083ab7e","f92491186"]],"commits":[],"cves":[],"db_id":"231e903ab6c7535dc9a83e6a9b088ca3","html":"\u003cp\u003e修复 \u003ccode\u003eCREATE AGGREGATE\u003c/code\u003e 的类型检查，使并行支持函数能够附加到可变参数聚合（Alexey Bashtanov）\u003c/p\u003e","id":"10.5-5278ba0dd640443a","identity_text":"Fix CREATE AGGREGATE type checking so that parallelism support functions can be attached to variadic aggregates (Alexey Bashtanov)","part":"changes","patch_ids":["e71d4d8b6fad3e2668afd7382c16bd6e"],"related_changes":[{"db_id":"f2c894774513362cc4b36b04d02b8679","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"61f459aef33b0d0b068e96999cb9a7afff3aba237bab6c13c92647178e30a09d"},"kind":"equivalent","label":"9.6.10","source_url":"/docs/release/9.6.10/#id-1.11.6.19.5","title":"修复 CREATE AGGREGATE 的类型检查，使并行支持函数可以附加到可变参数聚合上","url":"/docs/compare/?release=9.6.10#9.6.10-aa7082cd0e944462","version":"9.6.10"}],"relations":[{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"61f459aef33b0d0b068e96999cb9a7afff3aba237bab6c13c92647178e30a09d"},"rule":2,"target":"f2c894774513362cc4b36b04d02b8679","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["17083ab7e"],"source_entry_id":"10.5/changes/029","source_hash":"5996aa9b1814e6cc84b7c397a3f096bb29a977dd6b998ab17ed8522577736aae","source_url":"/docs/release/10.5/#id-1.11.6.23.5","statement_hash":"61f459aef33b0d0b068e96999cb9a7afff3aba237bab6c13c92647178e30a09d","text":"修复 CREATE AGGREGATE 的类型检查，使并行支持函数能够附加到可变参数聚合（Alexey Bashtanov）","title":"修复 CREATE AGGREGATE 的类型检查，使并行支持函数能够附加到可变参数聚合","variants":[],"version":"10.5"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["588edd83e","7df277827","c92d1461e","d25714d0a","d78028350","ecac23511"],"commit_groups":[["588edd83e","7df277827","c92d1461e","d25714d0a","d78028350","ecac23511"]],"commits":[],"cves":[],"db_id":"b2cd9cf689a963719a5775af84071246","html":"\u003cp\u003e将 \u003ccode\u003eCOPY FROM\u003c/code\u003e 的当前行号计数器从 32 位扩为 64 位（David Rowley）\u003c/p\u003e\n\u003cp\u003e这避免了输入超过 4G 行时的两个问题：\u003ccode\u003eCOPY FROM WITH HEADER\u003c/code\u003e 会每隔 4G 行丢弃一行，而不只是第一行；错误报告也可能显示不正确的行号。\u003c/p\u003e","id":"10.5-bc005ea158a544ad","identity_text":"Widen COPY FROM's current-line-number counter from 32 to 64 bits (David Rowley) This avoids two problems with input exceeding 4G lines: COPY FROM WITH HEADER would drop a line every 4G lines, not only the first line, and error reports could show a wrong line number.","part":"changes","patch_ids":["84ef40d22da31149a1d582f97833390c"],"related_changes":[{"db_id":"400870fbe55df9359ede788c742a20f4","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"8d31fc4a2ed333c07b1d2ccfe8dcf71234b6e2ef3078d93c716d562b5a7179b3"},"kind":"equivalent","label":"9.6.10","source_url":"/docs/release/9.6.10/#id-1.11.6.19.5","title":"把 COPY FROM 的当前行号计数器从 32 位加宽到 64 位","url":"/docs/compare/?release=9.6.10#9.6.10-320884ea8c60e438","version":"9.6.10"},{"db_id":"6a29568a274d6d7c0272352ceaa8bff2","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"8d31fc4a2ed333c07b1d2ccfe8dcf71234b6e2ef3078d93c716d562b5a7179b3"},"kind":"equivalent","label":"9.5.14","source_url":"/docs/release/9.5.14/#id-1.11.6.16.5","title":"把 COPY FROM 的当前行号计数器从 32 位加宽到 64 位","url":"/docs/compare/?release=9.5.14#9.5.14-320884ea8c60e438","version":"9.5.14"},{"db_id":"97fc4eb2cf786b0b5d7e4acc0dfdfdc3","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"8d31fc4a2ed333c07b1d2ccfe8dcf71234b6e2ef3078d93c716d562b5a7179b3"},"kind":"equivalent","label":"9.4.19","source_url":"/docs/release/9.4.19/#id-1.11.6.12.5","title":"把 COPY FROM 的当前行号计数器从 32 位加宽到 64 位","url":"/docs/compare/?release=9.4.19#9.4.19-320884ea8c60e438","version":"9.4.19"},{"db_id":"4f3380485fe76c091f58f1ddcd87dfde","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"8d31fc4a2ed333c07b1d2ccfe8dcf71234b6e2ef3078d93c716d562b5a7179b3"},"kind":"equivalent","label":"9.3.24","source_url":"/docs/release/9.3.24/#id-1.11.6.6.6","title":"把 COPY FROM 的当前行号计数器从 32 位加宽到 64 位","url":"/docs/compare/?release=9.3.24#9.3.24-320884ea8c60e438","version":"9.3.24"}],"relations":[{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"8d31fc4a2ed333c07b1d2ccfe8dcf71234b6e2ef3078d93c716d562b5a7179b3"},"rule":2,"target":"400870fbe55df9359ede788c742a20f4","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"8d31fc4a2ed333c07b1d2ccfe8dcf71234b6e2ef3078d93c716d562b5a7179b3"},"rule":2,"target":"4f3380485fe76c091f58f1ddcd87dfde","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"8d31fc4a2ed333c07b1d2ccfe8dcf71234b6e2ef3078d93c716d562b5a7179b3"},"rule":2,"target":"6a29568a274d6d7c0272352ceaa8bff2","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"8d31fc4a2ed333c07b1d2ccfe8dcf71234b6e2ef3078d93c716d562b5a7179b3"},"rule":2,"target":"97fc4eb2cf786b0b5d7e4acc0dfdfdc3","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["c92d1461e"],"source_entry_id":"10.5/changes/030","source_hash":"2b9ed58ffb79229cc1d22b5c98ad13fdee10c36f779eacc35c7f7fb5288263a3","source_url":"/docs/release/10.5/#id-1.11.6.23.5","statement_hash":"8d31fc4a2ed333c07b1d2ccfe8dcf71234b6e2ef3078d93c716d562b5a7179b3","text":"将 COPY FROM 的当前行号计数器从 32 位扩为 64 位（David Rowley） 这避免了输入超过 4G 行时的两个问题：COPY FROM WITH HEADER 会每隔 4G 行丢弃一行，而不只是第一行；错误报告也可能显示不正确的行号。","title":"将 COPY FROM 的当前行号计数器从 32 位扩为 64 位","variants":[],"version":"10.5"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["0ce5cf2ef","a1f680d96","ef6464595"],"commit_groups":[["0ce5cf2ef","a1f680d96","ef6464595"]],"commits":[],"cves":[],"db_id":"4c6be3a82e5378347bc419cb3f8e48f4","html":"\u003cp\u003e允许在单用户模式下删除复制槽（Álvaro Herrera）\u003c/p\u003e\n\u003cp\u003e这种用法在 10.0 版中被意外破坏。\u003c/p\u003e","id":"10.5-ea7f9c937dfb28f7","identity_text":"Allow replication slots to be dropped in single-user mode (Álvaro Herrera) This use-case was accidentally broken in release 10.0.","part":"changes","patch_ids":["727b4b5097af1855347d9b170ff5515a"],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":["a1f680d96"],"source_entry_id":"10.5/changes/031","source_hash":"7e2ee541517a3378d0506f1347cb54347e22abfe30a811c7a5112461d5300264","source_url":"/docs/release/10.5/#id-1.11.6.23.5","statement_hash":"07d5c014edc1b682a8aeb47e70d0faf1bb5dae9dc114687ff473fb0c945dd723","text":"允许在单用户模式下删除复制槽（Álvaro Herrera） 这种用法在 10.0 版中被意外破坏。","title":"允许在单用户模式下删除复制槽","variants":[],"version":"10.5"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["b8a1d0302","ec4719cd1"],"commit_groups":[["b8a1d0302","ec4719cd1"]],"commits":[],"cves":[],"db_id":"4c647c440fc0730b70911c56d8f74331","html":"\u003cp\u003e修复 \u003ccode\u003evariance(int4)\u003c/code\u003e 及相关聚合在并行聚合模式下运行时结果不正确的问题（David Rowley）\u003c/p\u003e","id":"10.5-a0627b2463d0f530","identity_text":"Fix incorrect results from variance(int4) and related aggregates when run in parallel aggregation mode (David Rowley)","part":"changes","patch_ids":["cad96fbf9a3aa007e9f55dd2900e70bd"],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":["b8a1d0302"],"source_entry_id":"10.5/changes/032","source_hash":"50af1ea0b25cc2d86ba79e315316d61ff3f2e3f57bed32d1bbb2d8d05ae577f4","source_url":"/docs/release/10.5/#id-1.11.6.23.5","statement_hash":"913b93f9d3e913c4c53afcfe947daebf808dfcb00be07e5b64e7ae9a8aac2453","text":"修复 variance(int4) 及相关聚合在并行聚合模式下运行时结果不正确的问题（David Rowley）","title":"修复 variance(int4) 及相关聚合在并行聚合模式下运行时结果不正确的问题","variants":[],"version":"10.5"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["04ab840b8","b7f0be9a7","e10bc161f"],"commit_groups":[["04ab840b8"],["b7f0be9a7","e10bc161f"]],"commits":[],"cves":[],"db_id":"378b803c0383d0f64f65816ea890fe83","html":"\u003cp\u003e正确处理 \u003ccode\u003exmltable()\u003c/code\u003e 列表达式中的 \u003ccode\u003eTEXT\u003c/code\u003e 和 \u003ccode\u003eCDATA\u003c/code\u003e 节点（Markus Winand）\u003c/p\u003e","id":"10.5-fc6896666ae3aa00","identity_text":"Process TEXT and CDATA nodes correctly in xmltable() column expressions (Markus Winand)","part":"changes","patch_ids":["2e2c6f2c51d7afc6ed2376dc48c60b23","78ec229866de405fb1e0ec7dffa13839"],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":["04ab840b8","e10bc161f"],"source_entry_id":"10.5/changes/033","source_hash":"0d9c37d1774a22b8975ebdf73e4d4bba98fe2b1f0245e73e87e3dc5f58d259fc","source_url":"/docs/release/10.5/#id-1.11.6.23.5","statement_hash":"ad007b09c351b6c2040d0b6ffd66b2f02a27c94d296db6d22d2d1ae82792b7d7","text":"正确处理 xmltable() 列表达式中的 TEXT 和 CDATA 节点（Markus Winand）","title":"正确处理 xmltable() 列表达式中的 TEXT 和 CDATA 节点","variants":[],"version":"10.5"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["1f919e663","821200405","8f6ce7fb0"],"commit_groups":[["1f919e663","821200405","8f6ce7fb0"]],"commits":[],"cves":[],"db_id":"4dfa48b73b9f1a30f3a27603bfa9cb56","html":"\u003cp\u003e处理 \u003cspan\u003eOpenSSL\u003c/span\u003e 的 \u003ccode\u003eRAND_bytes()\u003c/code\u003e 函数可能发生的失败（Dean Rasheed，Michael Paquier）\u003c/p\u003e\n\u003cp\u003e在罕见情况下，这一疏漏可能导致只能通过重启 postmaster 解决的 \u003cspan\u003e“\u003cspan\u003ecould not generate random cancel key\u003c/span\u003e”\u003c/span\u003e 失败。\u003c/p\u003e","id":"10.5-cf8567051c81d18a","identity_text":"Cope with possible failure of OpenSSL's RAND_bytes() function (Dean Rasheed, Michael Paquier) Under rare circumstances, this oversight could result in could not generate random cancel key failures that could only be resolved by restarting the postmaster.","part":"changes","patch_ids":["6b8f4f595677edecd9774307d91c56f4"],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":["821200405"],"source_entry_id":"10.5/changes/034","source_hash":"17851574857a30a692429014fcf3331ffc4539fdbd855ba4bb58b639fe36e25c","source_url":"/docs/release/10.5/#id-1.11.6.23.5","statement_hash":"a5d14572cc4aae04865cfab96f8e4571e9f6ee512f6e5b9a3a6063c9d4efe5ef","text":"处理 OpenSSL 的 RAND_bytes() 函数可能发生的失败（Dean Rasheed，Michael Paquier） 在罕见情况下，这一疏漏可能导致只能通过重启 postmaster 解决的 “could not generate random cancel key” 失败。","title":"处理 OpenSSL 的 RAND_bytes() 函数可能发生的失败","variants":[],"version":"10.5"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["1944cdc98","24986c955","62038810b","6efc30167","71e3b2890","8d00858ba","b90d97e08","c7a8f7867","d8b2beb26","dc961e582","e3f99e03e","e9bbfe608","ed5d8196c","ff4fb4cc1"],"commit_groups":[["1944cdc98"],["24986c955","6efc30167","8d00858ba"],["62038810b"],["71e3b2890","e3f99e03e","e9bbfe608"],["b90d97e08","dc961e582","ff4fb4cc1"],["c7a8f7867","d8b2beb26","ed5d8196c"]],"commits":[],"cves":[],"db_id":"7221db9847b65df7eee1f74fca0656de","html":"\u003cp\u003e修复 \u003cspan\u003elibpq\u003c/span\u003e 对某些指定了 \u003ccode\u003ehostaddr\u003c/code\u003e 的情况的处理（Hari Babu，Tom Lane，Robert Haas）\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003ePQhost()\u003c/code\u003e 在某些情况下会给出误导性或不正确的结果。现在，它统一遵循以下规则：如果指定了主机名，则返回主机名；如果仅指定主机地址，则返回主机地址；如果两个参数都省略，则返回默认主机名（通常为 \u003ccode\u003e/tmp\u003c/code\u003e 或 \u003ccode\u003elocalhost\u003c/code\u003e）。\u003c/p\u003e\n\u003cp\u003e此外，验证 SSL 证书时，可能使用错误的值与服务器名比较。\u003c/p\u003e\n\u003cp\u003e此外，可能使用错误的值与 \u003ccode\u003e~/.pgpass\u003c/code\u003e 中的主机名字段比较。现在，如果指定了主机名，则用主机名比较；如果仅指定主机地址，则用主机地址比较；如果两个参数都省略，则用 \u003ccode\u003elocalhost\u003c/code\u003e 比较。\u003c/p\u003e\n\u003cp\u003e此外，对于无法解析的 \u003ccode\u003ehostaddr\u003c/code\u003e 值，以前会报告不正确的错误消息。\u003c/p\u003e\n\u003cp\u003e此外，当 \u003ccode\u003ehost\u003c/code\u003e、\u003ccode\u003ehostaddr\u003c/code\u003e 或 \u003ccode\u003eport\u003c/code\u003e 参数包含逗号分隔的列表时，\u003cspan\u003elibpq\u003c/span\u003e 现在会更谨慎地将列表中的空元素视为选择默认行为。\u003c/p\u003e","id":"10.5-58f5446cf6e70d37","identity_text":"Fix libpq's handling of some cases where hostaddr is specified (Hari Babu, Tom Lane, Robert Haas) PQhost() gave misleading or incorrect results in some cases. Now, it uniformly returns the host name if specified, or the host address if only that is specified, or the default host name (typically /tmp or localhost) if both parameters are omitted. Also, the wrong value might be compared to the server name when verifying an SSL certificate. Also, the wrong value might be compared to the host name field in ~/.pgpass. Now, that field is compared to the host name if specified, or the host address if only that is specified, or localhost if both parameters are omitted. Also, an incorrect error message was reported for an unparseable hostaddr value. Also, when the host, hostaddr, or port parameters contain comma-separated lists, libpq is now more careful to treat empty elements of a list as selecting the default behavior.","part":"changes","patch_ids":["3bbdae533fb5be12e6716e3f81432605","59e0e39eb193a6191bf6829b0801e833","a01cbcb16925bcb7fe0ad5321fbd1f2c","b5e071e0721708d7e792db3d054f8158","bae292f071e085c02e9b0d7f288adff6","d41fdea48f8f86424a5d6ef8c9490fd1"],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":["1944cdc98","62038810b","71e3b2890","8d00858ba","ed5d8196c","ff4fb4cc1"],"source_entry_id":"10.5/changes/035","source_hash":"351e55a8abedb2b6108d4a63a1186db264e4d5461fd52681db52a320ab2d8a57","source_url":"/docs/release/10.5/#id-1.11.6.23.5","statement_hash":"5a44432037b1ba29e655d2bcc0b846d84e2371a628dfb0bfcd024b8b4c2d45a1","text":"修复 libpq 对某些指定了 hostaddr 的情况的处理（Hari Babu，Tom Lane，Robert Haas） PQhost() 在某些情况下会给出误导性或不正确的结果。现在，它统一遵循以下规则：如果指定了主机名，则返回主机名；如果仅指定主机地址，则返回主机地址；如果两个参数都省略，则返回默认主机名（通常为 /tmp 或 localhost）。 此外，验证 SSL 证书时，可能使用错误的值与服务器名比较。 此外，可能使用错误的值与 ~/.pgpass 中的主机名字段比较。现在，如果指定了主机名，则用主机名比较；如果仅指定主机地址，则用主机地址比较；如果两个参数都省略，则用 localhost 比较。 此外，对于无法解析的 hostaddr 值，以前会报告不正确的错误消息。 此外，当 host、hostaddr 或 port 参数包含逗号分隔的列表时，libpq 现在会更谨慎地将列表中的空元素视为选择默认行为。","title":"修复 libpq 对某些指定了 hostaddr 的情况的处理","variants":[],"version":"10.5"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["3566873f2","3bc19d0d2","4c8156d87","b5b973ef0","db05d0b90","edabd8f5a"],"commit_groups":[["3566873f2","3bc19d0d2","4c8156d87","b5b973ef0","db05d0b90","edabd8f5a"]],"commits":[],"cves":[],"db_id":"41f554276a4627478e8a48afd1c9655e","html":"\u003cp\u003e为 \u003cspan\u003eecpg\u003c/span\u003e 的 \u003ccode\u003epgtypes\u003c/code\u003e 库添加字符串释放函数，以避免 Windows 上跨模块内存管理的问题（Takayuki Tsunakawa）\u003c/p\u003e\n\u003cp\u003e在 Windows 上，如果对某块内存调用 \u003ccode\u003efree\u003c/code\u003e 的 DLL 与调用 \u003ccode\u003emalloc\u003c/code\u003e 分配它的 DLL 不同，就可能崩溃。\u003ccode\u003epgtypes\u003c/code\u003e 库有时返回预期由调用者释放的字符串，使这条规则无法遵循。现在添加简单包装 \u003ccode\u003efree\u003c/code\u003e 的 \u003ccode\u003ePGTYPESchar_free()\u003c/code\u003e 函数，使应用能够遵循这条规则。\u003c/p\u003e","id":"10.5-87992818e1200b8e","identity_text":"Add a string freeing function to ecpg's pgtypes library, so that cross-module memory management problems can be avoided on Windows (Takayuki Tsunakawa) On Windows, crashes can ensue if the free call for a given chunk of memory is not made from the same DLL that malloc'ed the memory. The pgtypes library sometimes returns strings that it expects the caller to free, making it impossible to follow this rule. Add a PGTYPESchar_free() function that just wraps free, allowing applications to follow this rule.","part":"changes","patch_ids":["5f224742c91d041d6136b5cf65ba7546"],"related_changes":[{"db_id":"eb1d28d406157fb5bbad175fbbb79b13","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"fed3b2344f2871ef3ce62e5f5fd4d3ae3281b67ceefa8cf91ca4e2d9da6203c1"},"kind":"equivalent","label":"9.6.10","source_url":"/docs/release/9.6.10/#id-1.11.6.19.5","title":"向 ecpg 的 pgtypes 库添加字符串释放函数，以避免 Windows 上的跨模块内存管理问题","url":"/docs/compare/?release=9.6.10#9.6.10-52df9474d43758a2","version":"9.6.10"},{"db_id":"8c9a67f692106da0e5f9c5949aa377bf","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"fed3b2344f2871ef3ce62e5f5fd4d3ae3281b67ceefa8cf91ca4e2d9da6203c1"},"kind":"equivalent","label":"9.5.14","source_url":"/docs/release/9.5.14/#id-1.11.6.16.5","title":"向 ecpg 的 pgtypes 库添加字符串释放函数，以避免 Windows 上的跨模块内存管理问题","url":"/docs/compare/?release=9.5.14#9.5.14-52df9474d43758a2","version":"9.5.14"},{"db_id":"0946cb89007c74396f2e5853cc40c2dd","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"fed3b2344f2871ef3ce62e5f5fd4d3ae3281b67ceefa8cf91ca4e2d9da6203c1"},"kind":"equivalent","label":"9.4.19","source_url":"/docs/release/9.4.19/#id-1.11.6.12.5","title":"向 ecpg 的 pgtypes 库添加字符串释放函数，以避免 Windows 上的跨模块内存管理问题","url":"/docs/compare/?release=9.4.19#9.4.19-52df9474d43758a2","version":"9.4.19"},{"db_id":"0b91ed0ea692c7622473081c3cee603e","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"fed3b2344f2871ef3ce62e5f5fd4d3ae3281b67ceefa8cf91ca4e2d9da6203c1"},"kind":"equivalent","label":"9.3.24","source_url":"/docs/release/9.3.24/#id-1.11.6.6.6","title":"向 ecpg 的 pgtypes 库添加字符串释放函数，以避免 Windows 上的跨模块内存管理问题","url":"/docs/compare/?release=9.3.24#9.3.24-52df9474d43758a2","version":"9.3.24"}],"relations":[{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"fed3b2344f2871ef3ce62e5f5fd4d3ae3281b67ceefa8cf91ca4e2d9da6203c1"},"rule":2,"target":"0946cb89007c74396f2e5853cc40c2dd","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"fed3b2344f2871ef3ce62e5f5fd4d3ae3281b67ceefa8cf91ca4e2d9da6203c1"},"rule":2,"target":"0b91ed0ea692c7622473081c3cee603e","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"fed3b2344f2871ef3ce62e5f5fd4d3ae3281b67ceefa8cf91ca4e2d9da6203c1"},"rule":2,"target":"8c9a67f692106da0e5f9c5949aa377bf","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"fed3b2344f2871ef3ce62e5f5fd4d3ae3281b67ceefa8cf91ca4e2d9da6203c1"},"rule":2,"target":"eb1d28d406157fb5bbad175fbbb79b13","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["3566873f2"],"source_entry_id":"10.5/changes/036","source_hash":"e145725345ae918c60eb2fae838efcb1d84230b183703685c1be13c0b4a666e6","source_url":"/docs/release/10.5/#id-1.11.6.23.5","statement_hash":"fed3b2344f2871ef3ce62e5f5fd4d3ae3281b67ceefa8cf91ca4e2d9da6203c1","text":"为 ecpg 的 pgtypes 库添加字符串释放函数，以避免 Windows 上跨模块内存管理的问题（Takayuki Tsunakawa） 在 Windows 上，如果对某块内存调用 free 的 DLL 与调用 malloc 分配它的 DLL 不同，就可能崩溃。pgtypes 库有时返回预期由调用者释放的字符串，使这条规则无法遵循。现在添加简单包装 free 的 PGTYPESchar_free() 函数，使应用能够遵循这条规则。","title":"为 ecpg 的 pgtypes 库添加字符串释放函数，以避免 Windows 上跨模块内存管理的问题","variants":[],"version":"10.5"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["023aa76e1","06f66cff9","11a110595","22d22e4bd","25caeae8d","385f4acbf","4ffd7909c","63d3e787f","7329af6b9","8109f201d","91f3bcc9e","95fef6e82","a5be529aa","a6228128f","c964c2147","cf39aebf1","e9f475f99","f586f8638"],"commit_groups":[["023aa76e1","4ffd7909c","95fef6e82","a6228128f","c964c2147","e9f475f99"],["06f66cff9","22d22e4bd","7329af6b9","8109f201d","91f3bcc9e","a5be529aa"],["11a110595","25caeae8d","385f4acbf","63d3e787f","cf39aebf1","f586f8638"]],"commits":[],"cves":[],"db_id":"29b9d2586a64e3779f17fbed067c9f5e","html":"\u003cp\u003e修复 \u003cspan\u003eecpg\u003c/span\u003e 在 Windows 以及其他对 \u003ccode\u003estrtoll\u003c/code\u003e/\u003ccode\u003estrtoull\u003c/code\u003e 使用非标准声明或完全不声明的平台上对 \u003ccode\u003elong long\u003c/code\u003e 变量的支持（Dang Minh Huong，Tom Lane）\u003c/p\u003e","id":"10.5-3d40105a0648a12b","identity_text":"Fix ecpg's support for long long variables on Windows, as well as other platforms that declare strtoll/strtoull nonstandardly or not at all (Dang Minh Huong, Tom Lane)","part":"changes","patch_ids":["7af0f590c9f91d2130b2895ee509f2cb","9a73c3cbdf09de45791ce933605f9d7f","eb1a173f69e013be43171318d832c470"],"related_changes":[{"db_id":"9edbfa560d7bc4f98cbfe7246f929813","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"f7ca0fedca8ddd6a9a136e28c41758a99a77ff4476410d935beb51bef343f256"},"kind":"equivalent","label":"9.6.10","source_url":"/docs/release/9.6.10/#id-1.11.6.19.5","title":"修复 ecpg 在 Windows 以及其他非标准声明 strtoll/strtoull 或根本不声明的平台上对 long long 变量的支持","url":"/docs/compare/?release=9.6.10#9.6.10-67eb3d7560ffa91c","version":"9.6.10"},{"db_id":"82491916a79200c133a3da7416449cf8","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"f7ca0fedca8ddd6a9a136e28c41758a99a77ff4476410d935beb51bef343f256"},"kind":"equivalent","label":"9.5.14","source_url":"/docs/release/9.5.14/#id-1.11.6.16.5","title":"修复 ecpg 在 Windows 以及其他非标准声明 strtoll/strtoull 或根本不声明的平台上对 long long 变量的支持","url":"/docs/compare/?release=9.5.14#9.5.14-67eb3d7560ffa91c","version":"9.5.14"},{"db_id":"c379d6a95fbe876d03da7fe73d83b725","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"f7ca0fedca8ddd6a9a136e28c41758a99a77ff4476410d935beb51bef343f256"},"kind":"equivalent","label":"9.4.19","source_url":"/docs/release/9.4.19/#id-1.11.6.12.5","title":"修复ecpg在 Windows 上对long long变量的支持，以及其他以非标准方式声明或不声明strtoll/strtoull的平台上的支持","url":"/docs/compare/?release=9.4.19#9.4.19-1b86ad0653d1fd97","version":"9.4.19"},{"db_id":"318c71edee40025f50d789b0a24c41af","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"f7ca0fedca8ddd6a9a136e28c41758a99a77ff4476410d935beb51bef343f256"},"kind":"equivalent","label":"9.3.24","source_url":"/docs/release/9.3.24/#id-1.11.6.6.6","title":"修复 ecpg 在 Windows 以及其他非标准声明 strtoll/strtoull 或根本不声明的平台上对 long long 变量的支持","url":"/docs/compare/?release=9.3.24#9.3.24-67eb3d7560ffa91c","version":"9.3.24"}],"relations":[{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"f7ca0fedca8ddd6a9a136e28c41758a99a77ff4476410d935beb51bef343f256"},"rule":2,"target":"318c71edee40025f50d789b0a24c41af","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"f7ca0fedca8ddd6a9a136e28c41758a99a77ff4476410d935beb51bef343f256"},"rule":2,"target":"82491916a79200c133a3da7416449cf8","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"f7ca0fedca8ddd6a9a136e28c41758a99a77ff4476410d935beb51bef343f256"},"rule":2,"target":"9edbfa560d7bc4f98cbfe7246f929813","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"f7ca0fedca8ddd6a9a136e28c41758a99a77ff4476410d935beb51bef343f256"},"rule":2,"target":"c379d6a95fbe876d03da7fe73d83b725","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["a5be529aa","c964c2147","cf39aebf1"],"source_entry_id":"10.5/changes/037","source_hash":"e6b1de53b9a3ba488b4938669cf303173106c5bb4f98992b323dfb74a5aba5d2","source_url":"/docs/release/10.5/#id-1.11.6.23.5","statement_hash":"f7ca0fedca8ddd6a9a136e28c41758a99a77ff4476410d935beb51bef343f256","text":"修复 ecpg 在 Windows 以及其他对 strtoll/strtoull 使用非标准声明或完全不声明的平台上对 long long 变量的支持（Dang Minh Huong，Tom Lane）","title":"修复 ecpg 在 Windows 以及其他对 strtoll/strtoull 使用非标准声明或完全不声明的平台上对 long long 变量的支持","variants":[],"version":"10.5"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["004293c66","5a225b0d6","98d522a1d","9a8aa25cc","da757bf0f","f9ecb6cab"],"commit_groups":[["004293c66","5a225b0d6","98d522a1d","9a8aa25cc","da757bf0f","f9ecb6cab"]],"commits":[],"cves":[],"db_id":"5eb19d3945e05d6a36e3cba773c73980","html":"\u003cp\u003e修复规则变更导致会话内语句语义变化时，PL/pgSQL 对 SQL 语句类型的错误识别（Tom Lane）\u003c/p\u003e\n\u003cp\u003e此错误会导致断言失败，或在罕见情况下未按预期实施 \u003ccode\u003eINTO STRICT\u003c/code\u003e 选项。\u003c/p\u003e","id":"10.5-67cece77cbc771a0","identity_text":"Fix misidentification of SQL statement type in PL/pgSQL, when a rule change causes a change in the semantics of a statement intra-session (Tom Lane) This error led to assertion failures, or in rare cases, failure to enforce the INTO STRICT option as expected.","part":"changes","patch_ids":["7f1008dffaeb007d81117c3bd049d362"],"related_changes":[{"db_id":"283e4e2066e3fae941f41b07645cf98d","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"82cb32c7a541a1d095ae2692add8c5349a737267c1e08b0e0930b8863cd61338"},"kind":"equivalent","label":"9.6.10","source_url":"/docs/release/9.6.10/#id-1.11.6.19.5","title":"修复规则更改导致会话内语句语义改变时 PL/pgSQL 对 SQL 语句类型的错误识别","url":"/docs/compare/?release=9.6.10#9.6.10-3e36bf92386b3cd1","version":"9.6.10"},{"db_id":"66127d75d1aa478ae66eca83dcad5294","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"82cb32c7a541a1d095ae2692add8c5349a737267c1e08b0e0930b8863cd61338"},"kind":"equivalent","label":"9.5.14","source_url":"/docs/release/9.5.14/#id-1.11.6.16.5","title":"修复规则更改导致会话内语句语义改变时 PL/pgSQL 对 SQL 语句类型的错误识别","url":"/docs/compare/?release=9.5.14#9.5.14-3e36bf92386b3cd1","version":"9.5.14"},{"db_id":"bb99b4ea43117011f5f0360b2036a7c1","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"82cb32c7a541a1d095ae2692add8c5349a737267c1e08b0e0930b8863cd61338"},"kind":"equivalent","label":"9.4.19","source_url":"/docs/release/9.4.19/#id-1.11.6.12.5","title":"修复规则更改导致会话内语句语义改变时 PL/pgSQL 对 SQL 语句类型的错误识别","url":"/docs/compare/?release=9.4.19#9.4.19-3e36bf92386b3cd1","version":"9.4.19"},{"db_id":"d3b640bbeb4bf56c38af211f2774639b","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"82cb32c7a541a1d095ae2692add8c5349a737267c1e08b0e0930b8863cd61338"},"kind":"equivalent","label":"9.3.24","source_url":"/docs/release/9.3.24/#id-1.11.6.6.6","title":"修复规则更改导致会话内语句语义改变时 PL/pgSQL 对 SQL 语句类型的错误识别","url":"/docs/compare/?release=9.3.24#9.3.24-3e36bf92386b3cd1","version":"9.3.24"}],"relations":[{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"82cb32c7a541a1d095ae2692add8c5349a737267c1e08b0e0930b8863cd61338"},"rule":2,"target":"283e4e2066e3fae941f41b07645cf98d","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"82cb32c7a541a1d095ae2692add8c5349a737267c1e08b0e0930b8863cd61338"},"rule":2,"target":"66127d75d1aa478ae66eca83dcad5294","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"82cb32c7a541a1d095ae2692add8c5349a737267c1e08b0e0930b8863cd61338"},"rule":2,"target":"bb99b4ea43117011f5f0360b2036a7c1","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"82cb32c7a541a1d095ae2692add8c5349a737267c1e08b0e0930b8863cd61338"},"rule":2,"target":"d3b640bbeb4bf56c38af211f2774639b","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["5a225b0d6"],"source_entry_id":"10.5/changes/038","source_hash":"7ecaf4941d1417cf07d02148075e50b779780740192738493663288ad7c0750c","source_url":"/docs/release/10.5/#id-1.11.6.23.5","statement_hash":"82cb32c7a541a1d095ae2692add8c5349a737267c1e08b0e0930b8863cd61338","text":"修复规则变更导致会话内语句语义变化时，PL/pgSQL 对 SQL 语句类型的错误识别（Tom Lane） 此错误会导致断言失败，或在罕见情况下未按预期实施 INTO STRICT 选项。","title":"修复规则变更导致会话内语句语义变化时，PL/pgSQL 对 SQL 语句类型的错误识别","variants":[],"version":"10.5"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["085791b8a","09fb2d5d3","3466b0202","50485b3e2","bbaf75ee0","bed74e9d4"],"commit_groups":[["085791b8a","09fb2d5d3","3466b0202","50485b3e2","bbaf75ee0","bed74e9d4"]],"commits":[],"cves":[],"db_id":"1df1135d0a7cbdfe3a31f75380bcfdf2","html":"\u003cp\u003e修复客户端程序的密码提示，使 Windows 上的 \u003ccode\u003estdin\u003c/code\u003e 不是终端时也能正确禁用回显（Matthew Stickney）\u003c/p\u003e","id":"10.5-7af307ab6ef3a309","identity_text":"Fix password prompting in client programs so that echo is properly disabled on Windows when stdin is not the terminal (Matthew Stickney)","part":"changes","patch_ids":["4a69be7f9998dfa99c80308fa58c0b20"],"related_changes":[{"db_id":"84b9f4946c2f108d70eef0e833d17e8f","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"1f2ab9b526273c711adb63e2bdeffba2541a8128e02b1a6b961e579520cd151f"},"kind":"equivalent","label":"9.6.10","source_url":"/docs/release/9.6.10/#id-1.11.6.19.5","title":"修复客户端程序中的密码提示，使 Windows 上 stdin 不是终端时正确关闭回显","url":"/docs/compare/?release=9.6.10#9.6.10-db89b4647f22b7d9","version":"9.6.10"},{"db_id":"74bb3ebc08ac88a7b5271ea572b2ed76","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"1f2ab9b526273c711adb63e2bdeffba2541a8128e02b1a6b961e579520cd151f"},"kind":"equivalent","label":"9.5.14","source_url":"/docs/release/9.5.14/#id-1.11.6.16.5","title":"修复客户端程序中的密码提示，使 Windows 上 stdin 不是终端时正确关闭回显","url":"/docs/compare/?release=9.5.14#9.5.14-db89b4647f22b7d9","version":"9.5.14"},{"db_id":"216ec588ac11dcb3f585ce754a697f06","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"1f2ab9b526273c711adb63e2bdeffba2541a8128e02b1a6b961e579520cd151f"},"kind":"equivalent","label":"9.4.19","source_url":"/docs/release/9.4.19/#id-1.11.6.12.5","title":"修复客户端程序的密码提示，使 Windows 上stdin不是终端时正确关闭回显","url":"/docs/compare/?release=9.4.19#9.4.19-d282a4116b92d51a","version":"9.4.19"},{"db_id":"660d6473a675ba3f8e3878a90ddfb31f","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"1f2ab9b526273c711adb63e2bdeffba2541a8128e02b1a6b961e579520cd151f"},"kind":"equivalent","label":"9.3.24","source_url":"/docs/release/9.3.24/#id-1.11.6.6.6","title":"修复客户端程序中的密码提示，使 Windows 上 stdin 不是终端时正确关闭回显","url":"/docs/compare/?release=9.3.24#9.3.24-db89b4647f22b7d9","version":"9.3.24"}],"relations":[{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"1f2ab9b526273c711adb63e2bdeffba2541a8128e02b1a6b961e579520cd151f"},"rule":2,"target":"216ec588ac11dcb3f585ce754a697f06","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"1f2ab9b526273c711adb63e2bdeffba2541a8128e02b1a6b961e579520cd151f"},"rule":2,"target":"660d6473a675ba3f8e3878a90ddfb31f","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"1f2ab9b526273c711adb63e2bdeffba2541a8128e02b1a6b961e579520cd151f"},"rule":2,"target":"74bb3ebc08ac88a7b5271ea572b2ed76","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"1f2ab9b526273c711adb63e2bdeffba2541a8128e02b1a6b961e579520cd151f"},"rule":2,"target":"84b9f4946c2f108d70eef0e833d17e8f","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["bed74e9d4"],"source_entry_id":"10.5/changes/039","source_hash":"540eccfab1748cf353afe1e673b1e52debb4d578dd5d592c8c2e8a0ddd2d134f","source_url":"/docs/release/10.5/#id-1.11.6.23.5","statement_hash":"1f2ab9b526273c711adb63e2bdeffba2541a8128e02b1a6b961e579520cd151f","text":"修复客户端程序的密码提示，使 Windows 上的 stdin 不是终端时也能正确禁用回显（Matthew Stickney）","title":"修复客户端程序的密码提示，使 Windows 上的 stdin 不是终端时也能正确禁用回显","variants":[],"version":"10.5"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["12f2d814a","31b29b1b3","461e2e433","6680d19a8","88adf1add","a56c11d44","f3eb76b39"],"commit_groups":[["12f2d814a","31b29b1b3","461e2e433","6680d19a8","88adf1add","a56c11d44","f3eb76b39"]],"commits":[],"cves":[],"db_id":"3d2f303084793f85b50b53f7aa4e4ae1","html":"\u003cp\u003e进一步修复转储中列表值 GUC 变量的值的引号处理错误（Tom Lane）\u003c/p\u003e\n\u003cp\u003e此前针对 \u003cspan\u003epg_dump\u003c/span\u003e 输出中 \u003ccode\u003esearch_path\u003c/code\u003e 和其他列表值变量引号处理的修复，在列表元素为空字符串时表现不正确，还存在截断长文件路径的风险。\u003c/p\u003e","id":"10.5-8d7088781aea00b6","identity_text":"Further fix mis-quoting of values for list-valued GUC variables in dumps (Tom Lane) The previous fix for quoting of search_path and other list-valued variables in pg_dump output turned out to misbehave for empty-string list elements, and it risked truncation of long file paths.","part":"changes","patch_ids":["b8af21945a487279b3e0a51d442ac741"],"related_changes":[{"db_id":"18842e4d5965cc8aea228715c6a1442c","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"afa809772dac3835f43627d537ffebaa34d52a019f22e472b785959ff2e94241"},"kind":"equivalent","label":"9.6.10","source_url":"/docs/release/9.6.10/#id-1.11.6.19.5","title":"进一步修复转储中列表值 GUC 变量值的错误引号","url":"/docs/compare/?release=9.6.10#9.6.10-86ff6e7fd5dd3050","version":"9.6.10"},{"db_id":"9b63dbd8f3ae2ab3289281d518d2a173","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"afa809772dac3835f43627d537ffebaa34d52a019f22e472b785959ff2e94241"},"kind":"equivalent","label":"9.5.14","source_url":"/docs/release/9.5.14/#id-1.11.6.16.5","title":"进一步修复转储中列表值 GUC 变量值的错误引号","url":"/docs/compare/?release=9.5.14#9.5.14-86ff6e7fd5dd3050","version":"9.5.14"},{"db_id":"d26ab5999bb6fb3eee4efa3b34edada0","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"afa809772dac3835f43627d537ffebaa34d52a019f22e472b785959ff2e94241"},"kind":"equivalent","label":"9.4.19","source_url":"/docs/release/9.4.19/#id-1.11.6.12.5","title":"进一步修复转储中列表值 GUC 变量值的错误引号","url":"/docs/compare/?release=9.4.19#9.4.19-86ff6e7fd5dd3050","version":"9.4.19"},{"db_id":"c2e4c85fba0591e0216d81c8a295851f","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"afa809772dac3835f43627d537ffebaa34d52a019f22e472b785959ff2e94241"},"kind":"equivalent","label":"9.3.24","source_url":"/docs/release/9.3.24/#id-1.11.6.6.6","title":"进一步修复转储中列表值 GUC 变量值的错误引号","url":"/docs/compare/?release=9.3.24#9.3.24-86ff6e7fd5dd3050","version":"9.3.24"}],"relations":[{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"afa809772dac3835f43627d537ffebaa34d52a019f22e472b785959ff2e94241"},"rule":2,"target":"18842e4d5965cc8aea228715c6a1442c","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"afa809772dac3835f43627d537ffebaa34d52a019f22e472b785959ff2e94241"},"rule":2,"target":"9b63dbd8f3ae2ab3289281d518d2a173","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"afa809772dac3835f43627d537ffebaa34d52a019f22e472b785959ff2e94241"},"rule":2,"target":"c2e4c85fba0591e0216d81c8a295851f","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"afa809772dac3835f43627d537ffebaa34d52a019f22e472b785959ff2e94241"},"rule":2,"target":"d26ab5999bb6fb3eee4efa3b34edada0","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["31b29b1b3"],"source_entry_id":"10.5/changes/040","source_hash":"93a4844ef367e15079cba4080b1551bcf0559f637af1aa12023cc43b4eda4d63","source_url":"/docs/release/10.5/#id-1.11.6.23.5","statement_hash":"afa809772dac3835f43627d537ffebaa34d52a019f22e472b785959ff2e94241","text":"进一步修复转储中列表值 GUC 变量的值的引号处理错误（Tom Lane） 此前针对 pg_dump 输出中 search_path 和其他列表值变量引号处理的修复，在列表元素为空字符串时表现不正确，还存在截断长文件路径的风险。","title":"进一步修复转储中列表值 GUC 变量的值的引号处理错误","variants":[],"version":"10.5"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["8c7f64b0e","96b1d984f","addf9e1bd","b868c08eb","c0a552921","f6ef3ed43"],"commit_groups":[["8c7f64b0e","96b1d984f","addf9e1bd","b868c08eb","c0a552921","f6ef3ed43"]],"commits":[],"cves":[],"db_id":"4b0730fb3ae031353c3767d68fcf4d60","html":"\u003cp\u003e修复 \u003cspan\u003epg_dump\u003c/span\u003e 未能转储约束索引的 \u003ccode\u003eREPLICA IDENTITY\u003c/code\u003e 属性的问题（Tom Lane）\u003c/p\u003e\n\u003cp\u003e手动创建的唯一索引得到了正确标记，但通过声明 \u003ccode\u003eUNIQUE\u003c/code\u003e 或 \u003ccode\u003ePRIMARY KEY\u003c/code\u003e 约束创建的索引没有。\u003c/p\u003e","id":"10.5-b987c929b6f5acf9","identity_text":"Fix pg_dump's failure to dump REPLICA IDENTITY properties for constraint indexes (Tom Lane) Manually created unique indexes were properly marked, but not those created by declaring UNIQUE or PRIMARY KEY constraints.","part":"changes","patch_ids":["c0724a4cc64906ff68d9b9b0dc0402af"],"related_changes":[{"db_id":"c1cfe2a227fb4d435a3864a5833964c4","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"cab68c07de650c8a368f677e1fb8963e430202b9c85e5fbe52dfe065233d8b81"},"kind":"equivalent","label":"9.6.10","source_url":"/docs/release/9.6.10/#id-1.11.6.19.5","title":"修复 pg_dump 未能转储约束索引的 REPLICA IDENTITY 属性","url":"/docs/compare/?release=9.6.10#9.6.10-0b84c6c044df9044","version":"9.6.10"},{"db_id":"f67129dfffc0911c61d5c7cd421e664d","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"cab68c07de650c8a368f677e1fb8963e430202b9c85e5fbe52dfe065233d8b81"},"kind":"equivalent","label":"9.5.14","source_url":"/docs/release/9.5.14/#id-1.11.6.16.5","title":"修复 pg_dump 未能转储约束索引的 REPLICA IDENTITY 属性","url":"/docs/compare/?release=9.5.14#9.5.14-0b84c6c044df9044","version":"9.5.14"},{"db_id":"33cbdc882efe754330c28de8fc9fd78d","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"cab68c07de650c8a368f677e1fb8963e430202b9c85e5fbe52dfe065233d8b81"},"kind":"equivalent","label":"9.4.19","source_url":"/docs/release/9.4.19/#id-1.11.6.12.5","title":"修复 pg_dump 未能转储约束索引的 REPLICA IDENTITY 属性","url":"/docs/compare/?release=9.4.19#9.4.19-0b84c6c044df9044","version":"9.4.19"}],"relations":[{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"cab68c07de650c8a368f677e1fb8963e430202b9c85e5fbe52dfe065233d8b81"},"rule":2,"target":"33cbdc882efe754330c28de8fc9fd78d","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"cab68c07de650c8a368f677e1fb8963e430202b9c85e5fbe52dfe065233d8b81"},"rule":2,"target":"c1cfe2a227fb4d435a3864a5833964c4","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"cab68c07de650c8a368f677e1fb8963e430202b9c85e5fbe52dfe065233d8b81"},"rule":2,"target":"f67129dfffc0911c61d5c7cd421e664d","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["96b1d984f"],"source_entry_id":"10.5/changes/041","source_hash":"9bc1b8215744f0cdc283aa4490b2ee27d061a3c882a37670d6fc401a1b3cc8f3","source_url":"/docs/release/10.5/#id-1.11.6.23.5","statement_hash":"cab68c07de650c8a368f677e1fb8963e430202b9c85e5fbe52dfe065233d8b81","text":"修复 pg_dump 未能转储约束索引的 REPLICA IDENTITY 属性的问题（Tom Lane） 手动创建的唯一索引得到了正确标记，但通过声明 UNIQUE 或 PRIMARY KEY 约束创建的索引没有。","title":"修复 pg_dump 未能转储约束索引的 REPLICA IDENTITY 属性的问题","variants":[],"version":"10.5"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["113224848","12dd07008","244142d32","260fe9f2b","764e21db0","920001633","92a11a0d8","9a13e7f0f","a1d383ab5","a326ca75b","a5c84e0b7","b6d6488a3","d8dd8d221","dfc71a1b2","f87878106"],"commit_groups":[["113224848","244142d32","260fe9f2b","9a13e7f0f","a326ca75b","a5c84e0b7","f87878106"],["12dd07008","764e21db0","920001633","92a11a0d8","a1d383ab5","b6d6488a3","d8dd8d221"],["dfc71a1b2"]],"commits":[],"cves":[],"db_id":"eb47de5066dfd069f8ee0aa9c0944fff","html":"\u003cp\u003e使 \u003cspan\u003epg_upgrade\u003c/span\u003e 检查旧服务器是否正常关闭（Bruce Momjian）\u003c/p\u003e\n\u003cp\u003e以前的检查可能被 immediate 模式关闭所蒙蔽。\u003c/p\u003e","id":"10.5-fe23c400c0cfd077","identity_text":"Make pg_upgrade check that the old server was shut down cleanly (Bruce Momjian) The previous check could be fooled by an immediate-mode shutdown.","part":"changes","patch_ids":["256a70d393b3782b20c02a918abfce11","4de67fbc0bc3e2baa02d6431d552b39d","a7dd6a5ed5951db94ae563e03ec6c414"],"related_changes":[{"db_id":"4d1283c51899e26f1867c2769f6a309c","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"bdf17569914514a3150e2111f270f56c6dbf1c441dcea5e64bdcde79be711743"},"kind":"equivalent","label":"9.6.10","source_url":"/docs/release/9.6.10/#id-1.11.6.19.5","title":"让 pg_upgrade 检查旧服务器是否被干净地关闭","url":"/docs/compare/?release=9.6.10#9.6.10-cbcd7c3d8a8e4117","version":"9.6.10"},{"db_id":"c1499885d0749c110343bddd70ca1309","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"bdf17569914514a3150e2111f270f56c6dbf1c441dcea5e64bdcde79be711743"},"kind":"equivalent","label":"9.5.14","source_url":"/docs/release/9.5.14/#id-1.11.6.16.5","title":"让 pg_upgrade 检查旧服务器是否被干净地关闭","url":"/docs/compare/?release=9.5.14#9.5.14-cbcd7c3d8a8e4117","version":"9.5.14"},{"db_id":"739f9fce188dadad715b9a79b61ba59a","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"bdf17569914514a3150e2111f270f56c6dbf1c441dcea5e64bdcde79be711743"},"kind":"equivalent","label":"9.4.19","source_url":"/docs/release/9.4.19/#id-1.11.6.12.5","title":"让 pg_upgrade 检查旧服务器是否被干净地关闭","url":"/docs/compare/?release=9.4.19#9.4.19-cbcd7c3d8a8e4117","version":"9.4.19"},{"db_id":"1954689a48854915e718dbce8ff7ab6b","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"bdf17569914514a3150e2111f270f56c6dbf1c441dcea5e64bdcde79be711743"},"kind":"equivalent","label":"9.3.24","source_url":"/docs/release/9.3.24/#id-1.11.6.6.6","title":"让 pg_upgrade 检查旧服务器是否被干净地关闭","url":"/docs/compare/?release=9.3.24#9.3.24-cbcd7c3d8a8e4117","version":"9.3.24"}],"relations":[{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"bdf17569914514a3150e2111f270f56c6dbf1c441dcea5e64bdcde79be711743"},"rule":2,"target":"1954689a48854915e718dbce8ff7ab6b","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"bdf17569914514a3150e2111f270f56c6dbf1c441dcea5e64bdcde79be711743"},"rule":2,"target":"4d1283c51899e26f1867c2769f6a309c","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"bdf17569914514a3150e2111f270f56c6dbf1c441dcea5e64bdcde79be711743"},"rule":2,"target":"739f9fce188dadad715b9a79b61ba59a","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"bdf17569914514a3150e2111f270f56c6dbf1c441dcea5e64bdcde79be711743"},"rule":2,"target":"c1499885d0749c110343bddd70ca1309","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["9a13e7f0f","d8dd8d221","dfc71a1b2"],"source_entry_id":"10.5/changes/042","source_hash":"2ee5e2b1a42a5f6b23dacd0ac0059feca95d5bf32d7aad3ef2739941a3e5ae40","source_url":"/docs/release/10.5/#id-1.11.6.23.5","statement_hash":"bdf17569914514a3150e2111f270f56c6dbf1c441dcea5e64bdcde79be711743","text":"使 pg_upgrade 检查旧服务器是否正常关闭（Bruce Momjian） 以前的检查可能被 immediate 模式关闭所蒙蔽。","title":"使 pg_upgrade 检查旧服务器是否正常关闭","variants":[],"version":"10.5"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["1bebfb9b6","645929c54","7594b7a53","e3b7f7cc5"],"commit_groups":[["1bebfb9b6","645929c54","7594b7a53","e3b7f7cc5"]],"commits":[],"cves":[],"db_id":"e406ef3e530ccb62194d156810d41e13","html":"\u003cp\u003e修复 \u003ccode\u003econtrib/hstore_plperl\u003c/code\u003e，使其解引用 Perl 标量引用，并在预期 hash 引用却未找到时不再崩溃（Tom Lane）\u003c/p\u003e","id":"10.5-887b02127b51c8d4","identity_text":"Fix contrib/hstore_plperl to look through Perl scalar references, and to not crash if it doesn't find a hash reference where it expects one (Tom Lane)","part":"changes","patch_ids":["ca99f20b27bbb873d7b0b5fba6773cde"],"related_changes":[{"db_id":"02e66838f31a8874e78ef748a007397c","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"f5edfe1b703b92ff9c9fc18907d42fe7705e0b43f5903145b601f3ef95d71621"},"kind":"equivalent","label":"9.6.10","source_url":"/docs/release/9.6.10/#id-1.11.6.19.5","title":"修复 contrib/hstore_plperl 透过 Perl 标量引用查看，以及在预期位置找不到哈希引用时不崩溃","url":"/docs/compare/?release=9.6.10#9.6.10-56b761c95ec99e16","version":"9.6.10"},{"db_id":"c148b7f11f757ab5dccb2d01de8155d0","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"f5edfe1b703b92ff9c9fc18907d42fe7705e0b43f5903145b601f3ef95d71621"},"kind":"equivalent","label":"9.5.14","source_url":"/docs/release/9.5.14/#id-1.11.6.16.5","title":"修复 contrib/hstore_plperl 透过 Perl 标量引用查看，以及在预期位置找不到哈希引用时不崩溃","url":"/docs/compare/?release=9.5.14#9.5.14-56b761c95ec99e16","version":"9.5.14"}],"relations":[{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"f5edfe1b703b92ff9c9fc18907d42fe7705e0b43f5903145b601f3ef95d71621"},"rule":2,"target":"02e66838f31a8874e78ef748a007397c","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"f5edfe1b703b92ff9c9fc18907d42fe7705e0b43f5903145b601f3ef95d71621"},"rule":2,"target":"c148b7f11f757ab5dccb2d01de8155d0","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["7594b7a53"],"source_entry_id":"10.5/changes/043","source_hash":"087e27f1028489f623aefb7e696afe04b999dedeb70f2c087c20fb14da89f423","source_url":"/docs/release/10.5/#id-1.11.6.23.5","statement_hash":"f5edfe1b703b92ff9c9fc18907d42fe7705e0b43f5903145b601f3ef95d71621","text":"修复 contrib/hstore_plperl，使其解引用 Perl 标量引用，并在预期 hash 引用却未找到时不再崩溃（Tom Lane）","title":"修复 contrib/hstore_plperl，使其解引用 Perl 标量引用，并在预期 hash 引用却未找到时不再崩溃","variants":[],"version":"10.5"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["1f47eb08c","28a1ae534","330cad2c4","ac6b69c19","cbbe75fe6","dbd7f4e7c","f8e8be7f2"],"commit_groups":[["1f47eb08c","28a1ae534","330cad2c4","ac6b69c19","cbbe75fe6","dbd7f4e7c","f8e8be7f2"]],"commits":[],"cves":[],"db_id":"6e4b995caabcd4a7d43881109ed241b5","html":"\u003cp\u003e修复输入数组为空时 \u003ccode\u003econtrib/ltree\u003c/code\u003e 的 \u003ccode\u003elca()\u003c/code\u003e 函数发生的崩溃（Pierre Ducroquet）\u003c/p\u003e","id":"10.5-5d1fa14a4e14c6a7","identity_text":"Fix crash in contrib/ltree's lca() function when the input array is empty (Pierre Ducroquet)","part":"changes","patch_ids":["c01cf6276afb64d1593bfba58a1455fd"],"related_changes":[{"db_id":"ce3c9aafa78c8bc47f09c8ca12bc608d","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"9bcb9a639c58de4ad9728c70629f5441dd26cd49ea50d8f2f72b2d0b5b071384"},"kind":"equivalent","label":"9.6.10","source_url":"/docs/release/9.6.10/#id-1.11.6.19.5","title":"修复 contrib/ltree 的 lca() 函数在输入数组为空时崩溃的问题","url":"/docs/compare/?release=9.6.10#9.6.10-14000aea2f0f6924","version":"9.6.10"},{"db_id":"acb1331ecaacd3afa267795660e83095","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"9bcb9a639c58de4ad9728c70629f5441dd26cd49ea50d8f2f72b2d0b5b071384"},"kind":"equivalent","label":"9.5.14","source_url":"/docs/release/9.5.14/#id-1.11.6.16.5","title":"修复 contrib/ltree 的 lca() 函数在输入数组为空时崩溃的问题","url":"/docs/compare/?release=9.5.14#9.5.14-14000aea2f0f6924","version":"9.5.14"},{"db_id":"f195adf248f9833c303c916f0bbac701","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"9bcb9a639c58de4ad9728c70629f5441dd26cd49ea50d8f2f72b2d0b5b071384"},"kind":"equivalent","label":"9.4.19","source_url":"/docs/release/9.4.19/#id-1.11.6.12.5","title":"修复contrib/ltree的lca()函数在输入数组为空时崩溃的问题","url":"/docs/compare/?release=9.4.19#9.4.19-650262016eb5a041","version":"9.4.19"},{"db_id":"8f29616271ac721629aaa9067f4cf731","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"9bcb9a639c58de4ad9728c70629f5441dd26cd49ea50d8f2f72b2d0b5b071384"},"kind":"equivalent","label":"9.3.24","source_url":"/docs/release/9.3.24/#id-1.11.6.6.6","title":"修复 contrib/ltree 的 lca() 函数在输入数组为空时崩溃的问题","url":"/docs/compare/?release=9.3.24#9.3.24-14000aea2f0f6924","version":"9.3.24"}],"relations":[{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"9bcb9a639c58de4ad9728c70629f5441dd26cd49ea50d8f2f72b2d0b5b071384"},"rule":2,"target":"8f29616271ac721629aaa9067f4cf731","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"9bcb9a639c58de4ad9728c70629f5441dd26cd49ea50d8f2f72b2d0b5b071384"},"rule":2,"target":"acb1331ecaacd3afa267795660e83095","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"9bcb9a639c58de4ad9728c70629f5441dd26cd49ea50d8f2f72b2d0b5b071384"},"rule":2,"target":"ce3c9aafa78c8bc47f09c8ca12bc608d","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"9bcb9a639c58de4ad9728c70629f5441dd26cd49ea50d8f2f72b2d0b5b071384"},"rule":2,"target":"f195adf248f9833c303c916f0bbac701","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["1f47eb08c"],"source_entry_id":"10.5/changes/044","source_hash":"6ef21e6311c13c34f27eba640d8b0c985dbff7679208a09339c20b7ea25e097b","source_url":"/docs/release/10.5/#id-1.11.6.23.5","statement_hash":"9bcb9a639c58de4ad9728c70629f5441dd26cd49ea50d8f2f72b2d0b5b071384","text":"修复输入数组为空时 contrib/ltree 的 lca() 函数发生的崩溃（Pierre Ducroquet）","title":"修复输入数组为空时 contrib/ltree 的 lca() 函数发生的崩溃","variants":[],"version":"10.5"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["048caa556","1545ca9a7","28782d7e3","29ce50091","5517367e9","58673b4a5","5a23c74b6","69599cc49","6cb337241","6eec6724f","7124e6452","714d8e5fa","79b5b101f","7fdf56b0a","81256cd05","830e8e360","910e2aca1","afd5fde85","b5f096d50","ced0cdc76","cfb758b6d","e69a3ac4a","f53ed82b7","f5b4bb881"],"commit_groups":[["048caa556","29ce50091","714d8e5fa","830e8e360","b5f096d50","cfb758b6d"],["1545ca9a7","28782d7e3","5517367e9","81256cd05","ced0cdc76"],["58673b4a5","5a23c74b6","69599cc49","7124e6452","afd5fde85","e69a3ac4a","f5b4bb881"],["6cb337241","6eec6724f","79b5b101f","7fdf56b0a","910e2aca1","f53ed82b7"]],"commits":[],"cves":[],"db_id":"ed7faf376a1da5be2a371fed15a0acba","html":"\u003cp\u003e修复可能报告不正确错误码的各种错误处理代码路径（Michael Paquier，Tom Lane，Magnus Hagander）\u003c/p\u003e","id":"10.5-23012dc05c2623c5","identity_text":"Fix various error-handling code paths in which an incorrect error code might be reported (Michael Paquier, Tom Lane, Magnus Hagander)","part":"changes","patch_ids":["1844a660af8fcfa523a80a6d2dff230a","1e70d15087c25b8c9bc584369cf4ee19","5260a864feb78ba747b6f50d43f352c0","9dcfc15a1f314a34d217c197ccc8bb15"],"related_changes":[{"db_id":"abc61176748d713bf18596dfa5958398","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"5a05d314c8d902e97894777af926545d7a1d139f8ad17e798b5f8925814e49c8"},"kind":"equivalent","label":"9.6.10","source_url":"/docs/release/9.6.10/#id-1.11.6.19.5","title":"修复若干可能报告错误错误码的错误处理代码路径","url":"/docs/compare/?release=9.6.10#9.6.10-9385f6c3af4d237f","version":"9.6.10"},{"db_id":"6bc786b07ebdffc9fa3a314516e966a4","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"5a05d314c8d902e97894777af926545d7a1d139f8ad17e798b5f8925814e49c8"},"kind":"equivalent","label":"9.5.14","source_url":"/docs/release/9.5.14/#id-1.11.6.16.5","title":"修复若干可能报告错误错误码的错误处理代码路径","url":"/docs/compare/?release=9.5.14#9.5.14-9385f6c3af4d237f","version":"9.5.14"},{"db_id":"44343b5147cbbb9d79bd4862e5dc7084","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"5a05d314c8d902e97894777af926545d7a1d139f8ad17e798b5f8925814e49c8"},"kind":"equivalent","label":"9.4.19","source_url":"/docs/release/9.4.19/#id-1.11.6.12.5","title":"修复若干可能报告错误错误码的错误处理代码路径","url":"/docs/compare/?release=9.4.19#9.4.19-9385f6c3af4d237f","version":"9.4.19"},{"db_id":"dd5ba05fde3e4dbb1c77961c638213f0","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"5a05d314c8d902e97894777af926545d7a1d139f8ad17e798b5f8925814e49c8"},"kind":"equivalent","label":"9.3.24","source_url":"/docs/release/9.3.24/#id-1.11.6.6.6","title":"修复若干可能报告错误错误码的错误处理代码路径","url":"/docs/compare/?release=9.3.24#9.3.24-9385f6c3af4d237f","version":"9.3.24"}],"relations":[{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"5a05d314c8d902e97894777af926545d7a1d139f8ad17e798b5f8925814e49c8"},"rule":2,"target":"44343b5147cbbb9d79bd4862e5dc7084","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"5a05d314c8d902e97894777af926545d7a1d139f8ad17e798b5f8925814e49c8"},"rule":2,"target":"6bc786b07ebdffc9fa3a314516e966a4","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"5a05d314c8d902e97894777af926545d7a1d139f8ad17e798b5f8925814e49c8"},"rule":2,"target":"abc61176748d713bf18596dfa5958398","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"5a05d314c8d902e97894777af926545d7a1d139f8ad17e798b5f8925814e49c8"},"rule":2,"target":"dd5ba05fde3e4dbb1c77961c638213f0","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["28782d7e3","29ce50091","6eec6724f","7124e6452"],"source_entry_id":"10.5/changes/045","source_hash":"e7874fd38bf42a70abcb5250add00436a6444a9ea9be923b816894a360aa1000","source_url":"/docs/release/10.5/#id-1.11.6.23.5","statement_hash":"5a05d314c8d902e97894777af926545d7a1d139f8ad17e798b5f8925814e49c8","text":"修复可能报告不正确错误码的各种错误处理代码路径（Michael Paquier，Tom Lane，Magnus Hagander）","title":"修复可能报告不正确错误码的各种错误处理代码路径","variants":[],"version":"10.5"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["6532ca57a","c74f48a4e","ccc286da1","dd4e83674","dddfc4cb2","f6f75539d"],"commit_groups":[["6532ca57a","c74f48a4e","ccc286da1","dd4e83674","dddfc4cb2","f6f75539d"]],"commits":[],"cves":[],"db_id":"092ac1884398bcbc8a003e01acd466cc","html":"\u003cp\u003e重新安排 makefile，确保程序链接到刚构建的库（如 \u003ccode\u003elibpq.so\u003c/code\u003e），而非可能存在于系统库目录中的库（Tom Lane）\u003c/p\u003e\n\u003cp\u003e这避免了在提供旧版 \u003cspan\u003ePostgreSQL\u003c/span\u003e 库的平台上构建时出现问题。\u003c/p\u003e","id":"10.5-5b0266319b857177","identity_text":"Rearrange makefiles to ensure that programs link to freshly-built libraries (such as libpq.so) rather than ones that might exist in the system library directories (Tom Lane) This avoids problems when building on platforms that supply old copies of PostgreSQL libraries.","part":"changes","patch_ids":["aac72147bc94721e8dcd6ec6bc91beb7"],"related_changes":[{"db_id":"d056736e371dede2d98e0596877e08b6","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"8e0e1d9b06d086f4846a6b8ba0946ea4470385b68265ec27f156bce0eee67d3f"},"kind":"equivalent","label":"9.6.10","source_url":"/docs/release/9.6.10/#id-1.11.6.19.5","title":"重排 makefile，确保程序链接到新构建的库（如 libpq.so）而不是系统库目录中可能存在的","url":"/docs/compare/?release=9.6.10#9.6.10-05d287de5d87d704","version":"9.6.10"},{"db_id":"2add6f424e337938f103c3b77f8214ff","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"8e0e1d9b06d086f4846a6b8ba0946ea4470385b68265ec27f156bce0eee67d3f"},"kind":"equivalent","label":"9.5.14","source_url":"/docs/release/9.5.14/#id-1.11.6.16.5","title":"重排 makefile，确保程序链接到新构建的库（如 libpq.so）而不是系统库目录中可能存在的","url":"/docs/compare/?release=9.5.14#9.5.14-05d287de5d87d704","version":"9.5.14"},{"db_id":"fb9cfc50eee8d8b0e1ae293bbf759a17","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"8e0e1d9b06d086f4846a6b8ba0946ea4470385b68265ec27f156bce0eee67d3f"},"kind":"equivalent","label":"9.4.19","source_url":"/docs/release/9.4.19/#id-1.11.6.12.5","title":"重排 makefile，确保程序链接到新构建的库（如 libpq.so）而不是系统库目录中可能存在的","url":"/docs/compare/?release=9.4.19#9.4.19-05d287de5d87d704","version":"9.4.19"},{"db_id":"e0fe94c2f5bcc8d0829a3e2e0f1f5567","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"8e0e1d9b06d086f4846a6b8ba0946ea4470385b68265ec27f156bce0eee67d3f"},"kind":"equivalent","label":"9.3.24","source_url":"/docs/release/9.3.24/#id-1.11.6.6.6","title":"重排 makefile，确保程序链接到新构建的库（如 libpq.so）而不是系统库目录中可能存在的","url":"/docs/compare/?release=9.3.24#9.3.24-05d287de5d87d704","version":"9.3.24"}],"relations":[{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"8e0e1d9b06d086f4846a6b8ba0946ea4470385b68265ec27f156bce0eee67d3f"},"rule":2,"target":"2add6f424e337938f103c3b77f8214ff","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"8e0e1d9b06d086f4846a6b8ba0946ea4470385b68265ec27f156bce0eee67d3f"},"rule":2,"target":"d056736e371dede2d98e0596877e08b6","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"8e0e1d9b06d086f4846a6b8ba0946ea4470385b68265ec27f156bce0eee67d3f"},"rule":2,"target":"e0fe94c2f5bcc8d0829a3e2e0f1f5567","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"8e0e1d9b06d086f4846a6b8ba0946ea4470385b68265ec27f156bce0eee67d3f"},"rule":2,"target":"fb9cfc50eee8d8b0e1ae293bbf759a17","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["c74f48a4e"],"source_entry_id":"10.5/changes/046","source_hash":"4e92ea534c8f1f5b29f42317bd71bdd35563c00949c3bb874fd453899e986171","source_url":"/docs/release/10.5/#id-1.11.6.23.5","statement_hash":"8e0e1d9b06d086f4846a6b8ba0946ea4470385b68265ec27f156bce0eee67d3f","text":"重新安排 makefile，确保程序链接到刚构建的库（如 libpq.so），而非可能存在于系统库目录中的库（Tom Lane） 这避免了在提供旧版 PostgreSQL 库的平台上构建时出现问题。","title":"重新安排 makefile，确保程序链接到刚构建的库（如 libpq.so），而非可能存在于系统库目录中的库","variants":[],"version":"10.5"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["22e524d97","234bb985c","32453bc5a","3f36e4fc5","777918e34","aba2f5522"],"commit_groups":[["22e524d97","234bb985c","32453bc5a","3f36e4fc5","777918e34","aba2f5522"]],"commits":[],"cves":[],"db_id":"e66a4e42e0632f51b3db77194fc6ea05","html":"\u003cp\u003e将时区数据文件更新到 \u003cspan\u003etzdata\u003c/span\u003e 2018e 版，以反映朝鲜的夏令时法规变更，并修正捷克斯洛伐克的历史数据。\u003c/p\u003e\n\u003cp\u003e此更新重新定义了爱尔兰以及纳米比亚和捷克斯洛伐克部分历史年份中的\u003cspan\u003e“\u003cspan\u003e夏令时\u003c/span\u003e”\u003c/span\u003e。这些地区在法律上于夏季采用标准时间，冬季采用夏令时，因此夏令时偏移量比标准时间慢一小时，而非快一小时。这既不影响实际 UTC 偏移量，也不影响使用的时区缩写；唯一已知的影响是，在这些情况下，\u003ccode\u003epg_timezone_names\u003c/code\u003e 视图中的 \u003ccode\u003eis_dst\u003c/code\u003e 列现在会在冬季为真、夏季为假。\u003c/p\u003e","id":"10.5-0cd7c764f1682723","identity_text":"Update time zone data files to tzdata release 2018e for DST law changes in North Korea, plus historical corrections for Czechoslovakia. This update includes a redefinition of daylight savings in Ireland, as well as for some past years in Namibia and Czechoslovakia. In those jurisdictions, legally standard time is observed in summer, and daylight savings time in winter, so that the daylight savings offset is one hour behind standard time not one hour ahead. This does not affect either the actual UTC offset or the timezone abbreviations in use; the only known effect is that the is_dst column in the pg_timezone_names view will now be true in winter and false in summer in these cases.","part":"changes","patch_ids":["f4c0bc667d323efc3f2745aa697fb4a9"],"related_changes":[{"db_id":"eae244a6dda158da8e88045e274b818f","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"121e90e8bc23ffc5b72b1b0813a32d1c613b718c6334e0d052ff766689a0a87c"},"kind":"equivalent","label":"9.6.10","source_url":"/docs/release/9.6.10/#id-1.11.6.19.5","title":"更新时区数据文件到 tzdata 版本 2018e，涉及朝鲜的夏令时法规变更，以及捷克斯洛伐克的历史修正。","url":"/docs/compare/?release=9.6.10#9.6.10-f91b05fd75538bcc","version":"9.6.10"},{"db_id":"4665643582ca528c025ca51ef876640b","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"121e90e8bc23ffc5b72b1b0813a32d1c613b718c6334e0d052ff766689a0a87c"},"kind":"equivalent","label":"9.5.14","source_url":"/docs/release/9.5.14/#id-1.11.6.16.5","title":"更新时区数据文件到 tzdata 版本 2018e，涉及朝鲜的夏令时法规变更，以及捷克斯洛伐克的历史修正。","url":"/docs/compare/?release=9.5.14#9.5.14-f91b05fd75538bcc","version":"9.5.14"},{"db_id":"eab8b499ede5f2e4cd22b4228850bace","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"121e90e8bc23ffc5b72b1b0813a32d1c613b718c6334e0d052ff766689a0a87c"},"kind":"equivalent","label":"9.4.19","source_url":"/docs/release/9.4.19/#id-1.11.6.12.5","title":"更新时区数据文件到 tzdata 版本 2018e，涉及朝鲜的夏令时法规变更，以及捷克斯洛伐克的历史修正。","url":"/docs/compare/?release=9.4.19#9.4.19-f91b05fd75538bcc","version":"9.4.19"},{"db_id":"5e2e95399fa99faba1ec919a703975de","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"121e90e8bc23ffc5b72b1b0813a32d1c613b718c6334e0d052ff766689a0a87c"},"kind":"equivalent","label":"9.3.24","source_url":"/docs/release/9.3.24/#id-1.11.6.6.6","title":"更新时区数据文件到 tzdata 版本 2018e，涉及朝鲜的夏令时法规变更，以及捷克斯洛伐克的历史修正。","url":"/docs/compare/?release=9.3.24#9.3.24-f91b05fd75538bcc","version":"9.3.24"}],"relations":[{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"121e90e8bc23ffc5b72b1b0813a32d1c613b718c6334e0d052ff766689a0a87c"},"rule":2,"target":"4665643582ca528c025ca51ef876640b","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"121e90e8bc23ffc5b72b1b0813a32d1c613b718c6334e0d052ff766689a0a87c"},"rule":2,"target":"5e2e95399fa99faba1ec919a703975de","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"121e90e8bc23ffc5b72b1b0813a32d1c613b718c6334e0d052ff766689a0a87c"},"rule":2,"target":"eab8b499ede5f2e4cd22b4228850bace","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"121e90e8bc23ffc5b72b1b0813a32d1c613b718c6334e0d052ff766689a0a87c"},"rule":2,"target":"eae244a6dda158da8e88045e274b818f","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["aba2f5522"],"source_entry_id":"10.5/changes/047","source_hash":"f059c071ea67cc1a4ff75d9bb47548e32866972a01d3fd737cc0728f7de6f41b","source_url":"/docs/release/10.5/#id-1.11.6.23.5","statement_hash":"121e90e8bc23ffc5b72b1b0813a32d1c613b718c6334e0d052ff766689a0a87c","text":"将时区数据文件更新到 tzdata 2018e 版，以反映朝鲜的夏令时法规变更，并修正捷克斯洛伐克的历史数据。 此更新重新定义了爱尔兰以及纳米比亚和捷克斯洛伐克部分历史年份中的“夏令时”。这些地区在法律上于夏季采用标准时间，冬季采用夏令时，因此夏令时偏移量比标准时间慢一小时，而非快一小时。这既不影响实际 UTC 偏移量，也不影响使用的时区缩写；唯一已知的影响是，在这些情况下，pg_timezone_names 视图中的 is_dst 列现在会在冬季为真、夏季为假。","title":"将时区数据文件更新到 tzdata 2018e 版，以反映朝鲜的夏令时法规变更，并修正捷克斯洛伐克的历史数据。","variants":[],"version":"10.5"}],"entry_count":47,"eol":"2022-11-10","eol_date":"2022-11-10","label":"10.5","major":"10","manual":"10","manual_build":"10.23","manual_url":"/docs/10/release-10-5.html","migration_html":"\u003cp\u003e对于运行 10.X 的用户，不需要执行导出/恢复。\u003c/p\u003e\n\u003cp\u003e但是，如果是从早于 10.4 的版本升级，请参见\u003ca href=\"/docs/10/release-10-4.html\" title=\"E.20. 发布版本 10.4\"\u003e第 E.20 节\u003c/a\u003e。\u003c/p\u003e","minor":5,"placeholder":false,"source_as_of":"","source_url":"/docs/release/10.5/","status":"stable","status_label":"Historical","support_days":-1432,"supported":false,"version":"10.5"}],"mode":"release","release_count":1,"remaining_cves":[],"security_as_of":"2026-09-26","security_regressions":[],"source_as_of":"2026-09-26","stats":[{"count":47,"key":"all","label":"All changes"},{"count":0,"key":"feature","label":"Features"},{"count":22,"key":"bugfix","label":"Bug fixes"},{"count":2,"key":"security","label":"Security"},{"count":2,"key":"performance","label":"Performance"},{"count":0,"key":"compatibility","label":"Compatibility"},{"count":21,"key":"improvement","label":"Improvements"}],"to_release":{"age_days":2986,"build":"10.5","changes_count":47,"compatibility_count":0,"content_hash":"a97daa05ef3a30bf68342fcda9e19c55ce86701054dc30640f6227fe7bfdd519","date":"2018-08-09","date_text":"2018-08-09","doc_git":"","doc_loaded_at":"2026-09-26T02:56:43.207462","entry_count":47,"eol":"2022-11-10","eol_date":"2022-11-10","label":"10.5","major":"10","manual":"10","manual_build":"10.23","manual_url":"/docs/10/release-10-5.html","migration_html":"\u003cp\u003e对于运行 10.X 的用户，不需要执行导出/恢复。\u003c/p\u003e\n\u003cp\u003e但是，如果是从早于 10.4 的版本升级，请参见\u003ca href=\"/docs/10/release-10-4.html\" title=\"E.20. 发布版本 10.4\"\u003e第 E.20 节\u003c/a\u003e。\u003c/p\u003e","minor":5,"placeholder":false,"source_as_of":"","source_url":"/docs/release/10.5/","status":"stable","status_label":"Historical","support_days":-1432,"supported":false,"version":"10.5"},"total":47,"warnings":[]}
