{"already_in_source_count":0,"candidate_count":33,"cross_major":false,"cve_available":true,"cve_count":1,"cves":[{"affected":{"10":"10","11":"11","12":"12","9.6":"9.6"},"component":"core server","cvss_version":"3.0","description_en":"The ALTER ... DEPENDS ON EXTENSION sub-commands do not perform authorization checks, which can allow an unprivileged user to drop any function, procedure, materialized view, index, or trigger under certain conditions. This attack is possible if an administrator has installed an extension and an unprivileged user can CREATE , or an extension owner either executes DROP EXTENSION predictably or can be convinced to execute DROP EXTENSION .\n\nThe PostgreSQL project thanks Tom Lane for reporting this problem.","first_published":"2020-02-13","fixed":{"10":"10.12","11":"11.7","12":"12.2","9.6":"9.6.17"},"fixed_version":"9.6.17","id":"CVE-2020-1720","introduced":{},"published":{"10":"2020-02-13","11":"2020-02-13","12":"2020-02-13","9.6":"2020-02-13"},"score":3.1,"title":"为 ALTER ... DEPENDS ON EXTENSION 补上缺失的权限检查","url":"https://www.postgresql.org/support/security/CVE-2020-1720/","vector":"AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:L/A:N"}],"duplicate_count":0,"excluded_count":0,"exclusions":[],"from_release":null,"groups":[{"age_days":2433,"build":"9.6.17","changes_count":33,"compatibility_count":0,"content_hash":"9cb807f9a639ec44bb4804e6fe10b110909b8476f58488a6794ee13c48b7b111","date":"2020-02-13","date_text":"2020-02-13","doc_git":"","doc_loaded_at":"2026-09-26T02:56:43.973460","entries":[{"also_in":[],"category":"security","category_label":"Security","commit_aliases":["2ad125322","ac1a998ed","b048f558d","bdd19e48a","e8b8eb937"],"commit_groups":[["2ad125322","ac1a998ed","b048f558d","bdd19e48a","e8b8eb937"]],"commits":[],"cves":["CVE-2020-1720"],"db_id":"e7c3294c568782d7f22c5b777ffb6235","html":"\u003cp\u003e为 \u003ccode\u003eALTER ... DEPENDS ON EXTENSION\u003c/code\u003e 补上缺失的权限检查（Álvaro Herrera）\u003c/p\u003e\n\u003cp\u003e把对象标记为依赖于扩展此前没有任何权限检查。这一疏漏允许任何用户把例程、触发器、物化视图或索引标记为任何能删除扩展的人都可以删除的对象。现在要求调用用户拥有指定对象（从而有权删除它）。（CVE-2020-1720）\u003c/p\u003e","id":"9.6.17-43b06b9c53a094d4","identity_text":"Add missing permissions checks for ALTER ... DEPENDS ON EXTENSION (Álvaro Herrera) Marking an object as dependent on an extension did not have any privilege check whatsoever. This oversight allowed any user to mark routines, triggers, materialized views, or indexes as droppable by anyone able to drop an extension. Require that the calling user own the specified object (and hence have privilege to drop it). (CVE-2020-1720)","part":"changes","patch_ids":["63b3debbf84673645f7ac9b987c30ca0"],"related_changes":[{"db_id":"d70df0706df2abf1bfb334c185608edf","evidence":{"patch_ids":["63b3debbf84673645f7ac9b987c30ca0"],"same_day":true,"statement_hash":"af764eb0a2c95d985bd43741228f2ce69db83bb4a9b5160bf1ab42bbd0a0fb7e"},"kind":"equivalent","label":"12.2","source_url":"/docs/release/12.2/#id-1.11.6.26.5","title":"为 ALTER ... DEPENDS ON EXTENSION 补上缺失的权限检查","url":"/docs/compare/?release=12.2#12.2-aa2ddd8e29f6283e","version":"12.2"},{"db_id":"0996f001cb1ffbb122a5bba8cf55764f","evidence":{"patch_ids":["63b3debbf84673645f7ac9b987c30ca0"],"same_day":true,"statement_hash":"af764eb0a2c95d985bd43741228f2ce69db83bb4a9b5160bf1ab42bbd0a0fb7e"},"kind":"equivalent","label":"11.7","source_url":"/docs/release/11.7/#id-1.11.6.20.5","title":"为 ALTER ... DEPENDS ON EXTENSION 补上缺失的权限检查","url":"/docs/compare/?release=11.7#11.7-43b06b9c53a094d4","version":"11.7"},{"db_id":"98301dcc33caa482d422a6f57fbf5957","evidence":{"patch_ids":["63b3debbf84673645f7ac9b987c30ca0"],"same_day":true,"statement_hash":"af764eb0a2c95d985bd43741228f2ce69db83bb4a9b5160bf1ab42bbd0a0fb7e"},"kind":"equivalent","label":"10.12","source_url":"/docs/release/10.12/#id-1.11.6.16.5","title":"为 ALTER ... DEPENDS ON EXTENSION 补上缺失的权限检查","url":"/docs/compare/?release=10.12#10.12-43b06b9c53a094d4","version":"10.12"}],"relations":[{"evidence":{"patch_ids":["63b3debbf84673645f7ac9b987c30ca0"],"same_day":true,"statement_hash":"af764eb0a2c95d985bd43741228f2ce69db83bb4a9b5160bf1ab42bbd0a0fb7e"},"rule":2,"target":"0996f001cb1ffbb122a5bba8cf55764f","type":"equivalent"},{"evidence":{"patch_ids":["63b3debbf84673645f7ac9b987c30ca0"],"same_day":true,"statement_hash":"af764eb0a2c95d985bd43741228f2ce69db83bb4a9b5160bf1ab42bbd0a0fb7e"},"rule":2,"target":"98301dcc33caa482d422a6f57fbf5957","type":"equivalent"},{"evidence":{"patch_ids":["63b3debbf84673645f7ac9b987c30ca0"],"same_day":true,"statement_hash":"af764eb0a2c95d985bd43741228f2ce69db83bb4a9b5160bf1ab42bbd0a0fb7e"},"rule":2,"target":"d70df0706df2abf1bfb334c185608edf","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["e8b8eb937"],"source_entry_id":"9.6.17/changes/001","source_hash":"d0fa67e696a624ffaee54fcc80de35cabb2415d61c297f3b562313504ae8714e","source_url":"/docs/release/9.6.17/#id-1.11.6.12.5","statement_hash":"af764eb0a2c95d985bd43741228f2ce69db83bb4a9b5160bf1ab42bbd0a0fb7e","text":"为 ALTER ... DEPENDS ON EXTENSION 补上缺失的权限检查（Álvaro Herrera） 把对象标记为依赖于扩展此前没有任何权限检查。这一疏漏允许任何用户把例程、触发器、物化视图或索引标记为任何能删除扩展的人都可以删除的对象。现在要求调用用户拥有指定对象（从而有权删除它）。（CVE-2020-1720）","title":"为 ALTER ... DEPENDS ON EXTENSION 补上缺失的权限检查","variants":[],"version":"9.6.17"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["17869eca7","1ad47e875","27b5f48c7","3e3a79735","a6f4f407a","ba5b4e506","d20703805","ed7bb5c31","f8a6d8e71","f9e95252a","fa1eaebfa"],"commit_groups":[["17869eca7","ed7bb5c31","f9e95252a","fa1eaebfa"],["1ad47e875","27b5f48c7","3e3a79735","a6f4f407a","ba5b4e506","d20703805","f8a6d8e71"]],"commits":[],"cves":[],"db_id":"8152a6b8f545280daf022279f4c3d05d","html":"\u003cp\u003e修复大事务必须被溢出到许多单独临时文件时逻辑解码的失败（Amit Khandekar）\u003c/p\u003e","id":"9.6.17-2a411fa7a7c90adf","identity_text":"Avoid failure in logical decoding when a large transaction must be spilled into many separate temporary files (Amit Khandekar)","part":"changes","patch_ids":["7873f3c15aeba6e04159e49c910ab6c5","ba9fb0a08c7a9f3e14a8eef4a462b4f6"],"related_changes":[{"db_id":"f8dcaeea8d85b6d20f07efe349465535","evidence":{"patch_ids":["7873f3c15aeba6e04159e49c910ab6c5","ba9fb0a08c7a9f3e14a8eef4a462b4f6"],"same_day":true,"statement_hash":"cfce4214cc870b1929d4ffd6e6ea956c6b88212d0df22fe921f0b5bfc818b553"},"kind":"equivalent","label":"12.2","source_url":"/docs/release/12.2/#id-1.11.6.26.5","title":"避免大事务必须溢写到许多独立临时文件时逻辑解码发生失败","url":"/docs/compare/?release=12.2#12.2-b7d94cbf0f06a3c9","version":"12.2"},{"db_id":"c00a4ec8d0168caec4abb79741c56f83","evidence":{"patch_ids":["7873f3c15aeba6e04159e49c910ab6c5","ba9fb0a08c7a9f3e14a8eef4a462b4f6"],"same_day":true,"statement_hash":"cfce4214cc870b1929d4ffd6e6ea956c6b88212d0df22fe921f0b5bfc818b553"},"kind":"equivalent","label":"11.7","source_url":"/docs/release/11.7/#id-1.11.6.20.5","title":"避免大事务必须溢写到许多独立临时文件时逻辑解码发生失败","url":"/docs/compare/?release=11.7#11.7-ec420340a4da7fb3","version":"11.7"},{"db_id":"4c6102cafd4a5d2470d743e4aa779d47","evidence":{"patch_ids":["7873f3c15aeba6e04159e49c910ab6c5","ba9fb0a08c7a9f3e14a8eef4a462b4f6"],"same_day":true,"statement_hash":"cfce4214cc870b1929d4ffd6e6ea956c6b88212d0df22fe921f0b5bfc818b553"},"kind":"equivalent","label":"10.12","source_url":"/docs/release/10.12/#id-1.11.6.16.5","title":"避免大事务必须溢写到许多独立临时文件时逻辑解码发生失败","url":"/docs/compare/?release=10.12#10.12-ec420340a4da7fb3","version":"10.12"},{"db_id":"513700ddaf2321d10b3500d50a8d1699","evidence":{"patch_ids":["7873f3c15aeba6e04159e49c910ab6c5","ba9fb0a08c7a9f3e14a8eef4a462b4f6"],"same_day":true,"statement_hash":"cfce4214cc870b1929d4ffd6e6ea956c6b88212d0df22fe921f0b5bfc818b553"},"kind":"equivalent","label":"9.5.21","source_url":"/docs/release/9.5.21/#id-1.11.6.9.5","title":"修复大事务必须被溢出到许多单独临时文件时逻辑解码的失败","url":"/docs/compare/?release=9.5.21#9.5.21-2a411fa7a7c90adf","version":"9.5.21"},{"db_id":"2d998ba88a4a32c7f02f2c0a1eec85f8","evidence":{"patch_ids":["7873f3c15aeba6e04159e49c910ab6c5","ba9fb0a08c7a9f3e14a8eef4a462b4f6"],"same_day":true,"statement_hash":"cfce4214cc870b1929d4ffd6e6ea956c6b88212d0df22fe921f0b5bfc818b553"},"kind":"equivalent","label":"9.4.26","source_url":"/docs/release/9.4.26/#id-1.11.6.5.6","title":"修复大事务必须被溢出到许多单独临时文件时逻辑解码的失败","url":"/docs/compare/?release=9.4.26#9.4.26-2a411fa7a7c90adf","version":"9.4.26"}],"relations":[{"evidence":{"patch_ids":["7873f3c15aeba6e04159e49c910ab6c5","ba9fb0a08c7a9f3e14a8eef4a462b4f6"],"same_day":true,"statement_hash":"cfce4214cc870b1929d4ffd6e6ea956c6b88212d0df22fe921f0b5bfc818b553"},"rule":2,"target":"2d998ba88a4a32c7f02f2c0a1eec85f8","type":"equivalent"},{"evidence":{"patch_ids":["7873f3c15aeba6e04159e49c910ab6c5","ba9fb0a08c7a9f3e14a8eef4a462b4f6"],"same_day":true,"statement_hash":"cfce4214cc870b1929d4ffd6e6ea956c6b88212d0df22fe921f0b5bfc818b553"},"rule":2,"target":"4c6102cafd4a5d2470d743e4aa779d47","type":"equivalent"},{"evidence":{"patch_ids":["7873f3c15aeba6e04159e49c910ab6c5","ba9fb0a08c7a9f3e14a8eef4a462b4f6"],"same_day":true,"statement_hash":"cfce4214cc870b1929d4ffd6e6ea956c6b88212d0df22fe921f0b5bfc818b553"},"rule":2,"target":"513700ddaf2321d10b3500d50a8d1699","type":"equivalent"},{"evidence":{"patch_ids":["7873f3c15aeba6e04159e49c910ab6c5","ba9fb0a08c7a9f3e14a8eef4a462b4f6"],"same_day":true,"statement_hash":"cfce4214cc870b1929d4ffd6e6ea956c6b88212d0df22fe921f0b5bfc818b553"},"rule":2,"target":"c00a4ec8d0168caec4abb79741c56f83","type":"equivalent"},{"evidence":{"patch_ids":["7873f3c15aeba6e04159e49c910ab6c5","ba9fb0a08c7a9f3e14a8eef4a462b4f6"],"same_day":true,"statement_hash":"cfce4214cc870b1929d4ffd6e6ea956c6b88212d0df22fe921f0b5bfc818b553"},"rule":2,"target":"f8dcaeea8d85b6d20f07efe349465535","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["ba5b4e506","ed7bb5c31"],"source_entry_id":"9.6.17/changes/002","source_hash":"7eb53778167e5b3409b06f17f619be72f9afa6eef28c73bbad99d64013e003f4","source_url":"/docs/release/9.6.17/#id-1.11.6.12.5","statement_hash":"cfce4214cc870b1929d4ffd6e6ea956c6b88212d0df22fe921f0b5bfc818b553","text":"修复大事务必须被溢出到许多单独临时文件时逻辑解码的失败（Amit Khandekar）","title":"修复大事务必须被溢出到许多单独临时文件时逻辑解码的失败","variants":[],"version":"9.6.17"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["15cac3a52","20a1dc1e3","58997ace5","bc2140627","cdb14154b","e3154aae3","fe955ebee"],"commit_groups":[["15cac3a52","20a1dc1e3","58997ace5","bc2140627","cdb14154b","e3154aae3","fe955ebee"]],"commits":[],"cves":[],"db_id":"13a4ebbb62f816078b950dca41b5176f","html":"\u003cp\u003e修复数据库崩溃并重启之后逻辑复制发布方的失败（Vignesh C）\u003c/p\u003e","id":"9.6.17-bb73047540aea4a6","identity_text":"Fix failure in logical replication publisher after a database crash and restart (Vignesh C)","part":"changes","patch_ids":["f2ffa9572aba4ae2d2a48ee347082cf8"],"related_changes":[{"db_id":"fb326a72fe79a9793c3b84416b31cf6e","evidence":{"patch_ids":["f2ffa9572aba4ae2d2a48ee347082cf8"],"same_day":true,"statement_hash":"6aa2b325bf72bd1e6c55231d63ce0dc8c7973d98bf84b5311b3b54dc630c7b0b"},"kind":"equivalent","label":"12.2","source_url":"/docs/release/12.2/#id-1.11.6.26.5","title":"修复数据库崩溃并重启后逻辑复制发布者的失败","url":"/docs/compare/?release=12.2#12.2-9f094e8e9a48d1df","version":"12.2"},{"db_id":"e09e97ef6771dfc7645f23e799878130","evidence":{"patch_ids":["f2ffa9572aba4ae2d2a48ee347082cf8"],"same_day":true,"statement_hash":"6aa2b325bf72bd1e6c55231d63ce0dc8c7973d98bf84b5311b3b54dc630c7b0b"},"kind":"equivalent","label":"11.7","source_url":"/docs/release/11.7/#id-1.11.6.20.5","title":"修复数据库崩溃并重启后逻辑复制发布者的失败","url":"/docs/compare/?release=11.7#11.7-afe7bf7c09cc7a15","version":"11.7"},{"db_id":"bb33ba157feb3169dd07ff305f37c896","evidence":{"patch_ids":["f2ffa9572aba4ae2d2a48ee347082cf8"],"same_day":true,"statement_hash":"6aa2b325bf72bd1e6c55231d63ce0dc8c7973d98bf84b5311b3b54dc630c7b0b"},"kind":"equivalent","label":"10.12","source_url":"/docs/release/10.12/#id-1.11.6.16.5","title":"修复数据库崩溃并重启后逻辑复制发布者的失败","url":"/docs/compare/?release=10.12#10.12-afe7bf7c09cc7a15","version":"10.12"},{"db_id":"1439b88ee7359150b890bfd4fe23b881","evidence":{"patch_ids":["f2ffa9572aba4ae2d2a48ee347082cf8"],"same_day":true,"statement_hash":"6aa2b325bf72bd1e6c55231d63ce0dc8c7973d98bf84b5311b3b54dc630c7b0b"},"kind":"equivalent","label":"9.5.21","source_url":"/docs/release/9.5.21/#id-1.11.6.9.5","title":"修复数据库崩溃并重启之后逻辑复制发布方的失败","url":"/docs/compare/?release=9.5.21#9.5.21-bb73047540aea4a6","version":"9.5.21"},{"db_id":"c97e1f22cceb95da773367228c582c34","evidence":{"patch_ids":["f2ffa9572aba4ae2d2a48ee347082cf8"],"same_day":true,"statement_hash":"6aa2b325bf72bd1e6c55231d63ce0dc8c7973d98bf84b5311b3b54dc630c7b0b"},"kind":"equivalent","label":"9.4.26","source_url":"/docs/release/9.4.26/#id-1.11.6.5.6","title":"修复数据库崩溃并重启之后逻辑复制发布方的失败","url":"/docs/compare/?release=9.4.26#9.4.26-bb73047540aea4a6","version":"9.4.26"}],"relations":[{"evidence":{"patch_ids":["f2ffa9572aba4ae2d2a48ee347082cf8"],"same_day":true,"statement_hash":"6aa2b325bf72bd1e6c55231d63ce0dc8c7973d98bf84b5311b3b54dc630c7b0b"},"rule":2,"target":"1439b88ee7359150b890bfd4fe23b881","type":"equivalent"},{"evidence":{"patch_ids":["f2ffa9572aba4ae2d2a48ee347082cf8"],"same_day":true,"statement_hash":"6aa2b325bf72bd1e6c55231d63ce0dc8c7973d98bf84b5311b3b54dc630c7b0b"},"rule":2,"target":"bb33ba157feb3169dd07ff305f37c896","type":"equivalent"},{"evidence":{"patch_ids":["f2ffa9572aba4ae2d2a48ee347082cf8"],"same_day":true,"statement_hash":"6aa2b325bf72bd1e6c55231d63ce0dc8c7973d98bf84b5311b3b54dc630c7b0b"},"rule":2,"target":"c97e1f22cceb95da773367228c582c34","type":"equivalent"},{"evidence":{"patch_ids":["f2ffa9572aba4ae2d2a48ee347082cf8"],"same_day":true,"statement_hash":"6aa2b325bf72bd1e6c55231d63ce0dc8c7973d98bf84b5311b3b54dc630c7b0b"},"rule":2,"target":"e09e97ef6771dfc7645f23e799878130","type":"equivalent"},{"evidence":{"patch_ids":["f2ffa9572aba4ae2d2a48ee347082cf8"],"same_day":true,"statement_hash":"6aa2b325bf72bd1e6c55231d63ce0dc8c7973d98bf84b5311b3b54dc630c7b0b"},"rule":2,"target":"fb326a72fe79a9793c3b84416b31cf6e","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["cdb14154b"],"source_entry_id":"9.6.17/changes/003","source_hash":"f3e085313def01bd4942a676a22c9e7959daeafbbc93a033f0bccee00af750fa","source_url":"/docs/release/9.6.17/#id-1.11.6.12.5","statement_hash":"6aa2b325bf72bd1e6c55231d63ce0dc8c7973d98bf84b5311b3b54dc630c7b0b","text":"修复数据库崩溃并重启之后逻辑复制发布方的失败（Vignesh C）","title":"修复数据库崩溃并重启之后逻辑复制发布方的失败","variants":[],"version":"9.6.17"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["080313f82","1ad0df67c","1cc3a90c7","d0ccfa9d6","f7ae68aac"],"commit_groups":[["080313f82","1ad0df67c","1cc3a90c7","d0ccfa9d6","f7ae68aac"]],"commits":[],"cves":[],"db_id":"3b9453a17ccc702c506c79746e5ba421","html":"\u003cp\u003e防止位于 Limit 节点之下的 Gather 或 GatherMerge 计划节点过早关闭（Amit Kapila）\u003c/p\u003e\n\u003cp\u003e这避免了此类计划节点需要被扫描多次时的失败，例如当它位于 nestloop 内侧时。\u003c/p\u003e","id":"9.6.17-cf57a0132267fb11","identity_text":"Prevent premature shutdown of a Gather or GatherMerge plan node that is underneath a Limit node (Amit Kapila) This avoids failure if such a plan node needs to be scanned more than once, as for instance if it is on the inside of a nestloop.","part":"changes","patch_ids":["ae20cbf89e29f4005017f037b249493b"],"related_changes":[{"db_id":"0736925131e2a1aa47c59c632711680f","evidence":{"patch_ids":["ae20cbf89e29f4005017f037b249493b"],"same_day":true,"statement_hash":"1f92ba2fffc4a678b50d81f64a3f0e9f14dd99adf8edc4996af62aade7874ca6"},"kind":"equivalent","label":"12.2","source_url":"/docs/release/12.2/#id-1.11.6.26.5","title":"防止过早关闭位于 Limit 节点下方的 Gather 或 GatherMerge 计划节点","url":"/docs/compare/?release=12.2#12.2-f220ed06d9d08439","version":"12.2"},{"db_id":"5f88ee03759351364b6139686c2c4363","evidence":{"patch_ids":["ae20cbf89e29f4005017f037b249493b"],"same_day":true,"statement_hash":"1f92ba2fffc4a678b50d81f64a3f0e9f14dd99adf8edc4996af62aade7874ca6"},"kind":"equivalent","label":"11.7","source_url":"/docs/release/11.7/#id-1.11.6.20.5","title":"防止过早关闭位于 Limit 节点下方的 Gather 或 GatherMerge 计划节点","url":"/docs/compare/?release=11.7#11.7-4ca5fbf6a06d3712","version":"11.7"},{"db_id":"c522b4d56b52473e55baecaf0a9ee541","evidence":{"patch_ids":["ae20cbf89e29f4005017f037b249493b"],"same_day":true,"statement_hash":"1f92ba2fffc4a678b50d81f64a3f0e9f14dd99adf8edc4996af62aade7874ca6"},"kind":"equivalent","label":"10.12","source_url":"/docs/release/10.12/#id-1.11.6.16.5","title":"防止过早关闭位于 Limit 节点下方的 Gather 或 GatherMerge 计划节点","url":"/docs/compare/?release=10.12#10.12-4ca5fbf6a06d3712","version":"10.12"}],"relations":[{"evidence":{"patch_ids":["ae20cbf89e29f4005017f037b249493b"],"same_day":true,"statement_hash":"1f92ba2fffc4a678b50d81f64a3f0e9f14dd99adf8edc4996af62aade7874ca6"},"rule":2,"target":"0736925131e2a1aa47c59c632711680f","type":"equivalent"},{"evidence":{"patch_ids":["ae20cbf89e29f4005017f037b249493b"],"same_day":true,"statement_hash":"1f92ba2fffc4a678b50d81f64a3f0e9f14dd99adf8edc4996af62aade7874ca6"},"rule":2,"target":"5f88ee03759351364b6139686c2c4363","type":"equivalent"},{"evidence":{"patch_ids":["ae20cbf89e29f4005017f037b249493b"],"same_day":true,"statement_hash":"1f92ba2fffc4a678b50d81f64a3f0e9f14dd99adf8edc4996af62aade7874ca6"},"rule":2,"target":"c522b4d56b52473e55baecaf0a9ee541","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["1ad0df67c"],"source_entry_id":"9.6.17/changes/004","source_hash":"5044f042baacaa08448d04861de44433908c0c6c273e1764f5099a4ebb38697e","source_url":"/docs/release/9.6.17/#id-1.11.6.12.5","statement_hash":"1f92ba2fffc4a678b50d81f64a3f0e9f14dd99adf8edc4996af62aade7874ca6","text":"防止位于 Limit 节点之下的 Gather 或 GatherMerge 计划节点过早关闭（Amit Kapila） 这避免了此类计划节点需要被扫描多次时的失败，例如当它位于 nestloop 内侧时。","title":"防止位于 Limit 节点之下的 Gather 或 GatherMerge 计划节点过早关闭","variants":[],"version":"9.6.17"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["24dd34af1","600387f5d","93745f1e0","93be45245","95936c795","a5f45c3dd","aab30cd4e"],"commit_groups":[["24dd34af1","600387f5d","93745f1e0","93be45245","95936c795","a5f45c3dd","aab30cd4e"]],"commits":[],"cves":[],"db_id":"5e2f4f77c98c1824485cb030a9acdc86","html":"\u003cp\u003e避免没有空闲动态共享内存槽位时的内存泄漏（Thomas Munro）\u003c/p\u003e","id":"9.6.17-3cba81c9a7bf45df","identity_text":"Avoid memory leak when there are no free dynamic shared memory slots (Thomas Munro)","part":"changes","patch_ids":["8afd81caf08066e62fe0151510b70316"],"related_changes":[{"db_id":"9030c00e8e7259264942b4fc186c7cff","evidence":{"patch_ids":["8afd81caf08066e62fe0151510b70316"],"same_day":true,"statement_hash":"d120380ee87a8eb9c6373c3e3dbe226784646299975215e18461754478df75bd"},"kind":"equivalent","label":"12.2","source_url":"/docs/release/12.2/#id-1.11.6.26.5","title":"避免没有空闲动态共享内存槽时发生内存泄漏","url":"/docs/compare/?release=12.2#12.2-68dbd8d3853a1a9d","version":"12.2"},{"db_id":"2fbc97d14f34ee4610c171e22430c3eb","evidence":{"patch_ids":["8afd81caf08066e62fe0151510b70316"],"same_day":true,"statement_hash":"d120380ee87a8eb9c6373c3e3dbe226784646299975215e18461754478df75bd"},"kind":"equivalent","label":"11.7","source_url":"/docs/release/11.7/#id-1.11.6.20.5","title":"避免没有空闲动态共享内存槽时发生内存泄漏","url":"/docs/compare/?release=11.7#11.7-4d5931233667908f","version":"11.7"},{"db_id":"28e588ec50dad9c08c90a47528c2384a","evidence":{"patch_ids":["8afd81caf08066e62fe0151510b70316"],"same_day":true,"statement_hash":"d120380ee87a8eb9c6373c3e3dbe226784646299975215e18461754478df75bd"},"kind":"equivalent","label":"10.12","source_url":"/docs/release/10.12/#id-1.11.6.16.5","title":"避免没有空闲动态共享内存槽时发生内存泄漏","url":"/docs/compare/?release=10.12#10.12-4d5931233667908f","version":"10.12"},{"db_id":"922f0696cbfcdd119487a61a4b5c3e0f","evidence":{"patch_ids":["8afd81caf08066e62fe0151510b70316"],"same_day":true,"statement_hash":"d120380ee87a8eb9c6373c3e3dbe226784646299975215e18461754478df75bd"},"kind":"equivalent","label":"9.5.21","source_url":"/docs/release/9.5.21/#id-1.11.6.9.5","title":"避免没有空闲动态共享内存槽位时的内存泄漏","url":"/docs/compare/?release=9.5.21#9.5.21-3cba81c9a7bf45df","version":"9.5.21"},{"db_id":"a9adae9994911ba8a4cfc85bad76adb2","evidence":{"patch_ids":["8afd81caf08066e62fe0151510b70316"],"same_day":true,"statement_hash":"d120380ee87a8eb9c6373c3e3dbe226784646299975215e18461754478df75bd"},"kind":"equivalent","label":"9.4.26","source_url":"/docs/release/9.4.26/#id-1.11.6.5.6","title":"避免没有空闲动态共享内存槽位时的内存泄漏","url":"/docs/compare/?release=9.4.26#9.4.26-3cba81c9a7bf45df","version":"9.4.26"}],"relations":[{"evidence":{"patch_ids":["8afd81caf08066e62fe0151510b70316"],"same_day":true,"statement_hash":"d120380ee87a8eb9c6373c3e3dbe226784646299975215e18461754478df75bd"},"rule":2,"target":"28e588ec50dad9c08c90a47528c2384a","type":"equivalent"},{"evidence":{"patch_ids":["8afd81caf08066e62fe0151510b70316"],"same_day":true,"statement_hash":"d120380ee87a8eb9c6373c3e3dbe226784646299975215e18461754478df75bd"},"rule":2,"target":"2fbc97d14f34ee4610c171e22430c3eb","type":"equivalent"},{"evidence":{"patch_ids":["8afd81caf08066e62fe0151510b70316"],"same_day":true,"statement_hash":"d120380ee87a8eb9c6373c3e3dbe226784646299975215e18461754478df75bd"},"rule":2,"target":"9030c00e8e7259264942b4fc186c7cff","type":"equivalent"},{"evidence":{"patch_ids":["8afd81caf08066e62fe0151510b70316"],"same_day":true,"statement_hash":"d120380ee87a8eb9c6373c3e3dbe226784646299975215e18461754478df75bd"},"rule":2,"target":"922f0696cbfcdd119487a61a4b5c3e0f","type":"equivalent"},{"evidence":{"patch_ids":["8afd81caf08066e62fe0151510b70316"],"same_day":true,"statement_hash":"d120380ee87a8eb9c6373c3e3dbe226784646299975215e18461754478df75bd"},"rule":2,"target":"a9adae9994911ba8a4cfc85bad76adb2","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["93be45245"],"source_entry_id":"9.6.17/changes/005","source_hash":"f1037c30413aa202e95448cccf2b74261a7dd8651f1993cc2aaf649272f76097","source_url":"/docs/release/9.6.17/#id-1.11.6.12.5","statement_hash":"d120380ee87a8eb9c6373c3e3dbe226784646299975215e18461754478df75bd","text":"避免没有空闲动态共享内存槽位时的内存泄漏（Thomas Munro）","title":"避免没有空闲动态共享内存槽位时的内存泄漏","variants":[],"version":"9.6.17"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["5b4b07fa9","817a1b88a","9055344b4","a904abe2e","c39f45598","d76652edc","ef33edeb5"],"commit_groups":[["5b4b07fa9","817a1b88a","9055344b4","a904abe2e","c39f45598","d76652edc","ef33edeb5"]],"commits":[],"cves":[],"db_id":"1ef6ab0fe5752bbfa61615312ee12220","html":"\u003cp\u003e对临时表执行索引创建、删除或重建时忽略 \u003ccode\u003eCONCURRENTLY\u003c/code\u003e 选项（Michael Paquier、Heikki Linnakangas、Andres Freund）\u003c/p\u003e\n\u003cp\u003e这避免了临时表带有 \u003ccode\u003eON COMMIT\u003c/code\u003e 动作时的奇怪失败。反正对临时表使用 \u003ccode\u003eCONCURRENTLY\u003c/code\u003e 没有益处，因为其他会话无法访问该表，额外的处理毫无意义。\u003c/p\u003e","id":"9.6.17-3ccce672ad5d3a6f","identity_text":"Ignore the CONCURRENTLY option when performing an index creation, drop, or rebuild on a temporary table (Michael Paquier, Heikki Linnakangas, Andres Freund) This avoids strange failures if the temporary table has an ON COMMIT action. There is no benefit in using CONCURRENTLY for a temporary table anyway, since other sessions cannot access the table, making the extra processing pointless.","part":"changes","patch_ids":["160560ced7cd4414f6a596bdbc1cd1f3"],"related_changes":[{"db_id":"bce130b79a518098d2bae3fa099dda62","evidence":{"patch_ids":["160560ced7cd4414f6a596bdbc1cd1f3"],"same_day":true,"statement_hash":"1e672d30a52f2ae770d93c187ed303c83766147300618606cf0605977114780b"},"kind":"equivalent","label":"12.2","source_url":"/docs/release/12.2/#id-1.11.6.26.5","title":"在临时表上创建、删除或重建索引时，忽略 CONCURRENTLY 选项","url":"/docs/compare/?release=12.2#12.2-6dd4435540f1aa1f","version":"12.2"},{"db_id":"74b9411413f95a70a3972f85e0c2dd7d","evidence":{"patch_ids":["160560ced7cd4414f6a596bdbc1cd1f3"],"same_day":true,"statement_hash":"1e672d30a52f2ae770d93c187ed303c83766147300618606cf0605977114780b"},"kind":"equivalent","label":"11.7","source_url":"/docs/release/11.7/#id-1.11.6.20.5","title":"在临时表上创建、删除或重建索引时，忽略 CONCURRENTLY 选项","url":"/docs/compare/?release=11.7#11.7-b6aea19cca5f1154","version":"11.7"},{"db_id":"1fda7e81ac8a1705fadbac8958c8be79","evidence":{"patch_ids":["160560ced7cd4414f6a596bdbc1cd1f3"],"same_day":true,"statement_hash":"1e672d30a52f2ae770d93c187ed303c83766147300618606cf0605977114780b"},"kind":"equivalent","label":"10.12","source_url":"/docs/release/10.12/#id-1.11.6.16.5","title":"在临时表上创建、删除或重建索引时，忽略 CONCURRENTLY 选项","url":"/docs/compare/?release=10.12#10.12-b6aea19cca5f1154","version":"10.12"},{"db_id":"a2dfdb2ad6a366ce0ab3a02e54e52d3c","evidence":{"patch_ids":["160560ced7cd4414f6a596bdbc1cd1f3"],"same_day":true,"statement_hash":"1e672d30a52f2ae770d93c187ed303c83766147300618606cf0605977114780b"},"kind":"equivalent","label":"9.5.21","source_url":"/docs/release/9.5.21/#id-1.11.6.9.5","title":"对临时表执行索引创建、删除或重建时忽略 CONCURRENTLY 选项","url":"/docs/compare/?release=9.5.21#9.5.21-3ccce672ad5d3a6f","version":"9.5.21"},{"db_id":"81d83e8d0bb1a990c2664a42c44d825c","evidence":{"patch_ids":["160560ced7cd4414f6a596bdbc1cd1f3"],"same_day":true,"statement_hash":"1e672d30a52f2ae770d93c187ed303c83766147300618606cf0605977114780b"},"kind":"equivalent","label":"9.4.26","source_url":"/docs/release/9.4.26/#id-1.11.6.5.6","title":"对临时表执行索引创建、删除或重建时忽略 CONCURRENTLY 选项","url":"/docs/compare/?release=9.4.26#9.4.26-3ccce672ad5d3a6f","version":"9.4.26"}],"relations":[{"evidence":{"patch_ids":["160560ced7cd4414f6a596bdbc1cd1f3"],"same_day":true,"statement_hash":"1e672d30a52f2ae770d93c187ed303c83766147300618606cf0605977114780b"},"rule":2,"target":"1fda7e81ac8a1705fadbac8958c8be79","type":"equivalent"},{"evidence":{"patch_ids":["160560ced7cd4414f6a596bdbc1cd1f3"],"same_day":true,"statement_hash":"1e672d30a52f2ae770d93c187ed303c83766147300618606cf0605977114780b"},"rule":2,"target":"74b9411413f95a70a3972f85e0c2dd7d","type":"equivalent"},{"evidence":{"patch_ids":["160560ced7cd4414f6a596bdbc1cd1f3"],"same_day":true,"statement_hash":"1e672d30a52f2ae770d93c187ed303c83766147300618606cf0605977114780b"},"rule":2,"target":"81d83e8d0bb1a990c2664a42c44d825c","type":"equivalent"},{"evidence":{"patch_ids":["160560ced7cd4414f6a596bdbc1cd1f3"],"same_day":true,"statement_hash":"1e672d30a52f2ae770d93c187ed303c83766147300618606cf0605977114780b"},"rule":2,"target":"a2dfdb2ad6a366ce0ab3a02e54e52d3c","type":"equivalent"},{"evidence":{"patch_ids":["160560ced7cd4414f6a596bdbc1cd1f3"],"same_day":true,"statement_hash":"1e672d30a52f2ae770d93c187ed303c83766147300618606cf0605977114780b"},"rule":2,"target":"bce130b79a518098d2bae3fa099dda62","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["ef33edeb5"],"source_entry_id":"9.6.17/changes/006","source_hash":"4fad64c68bd2e414f2fd6032d73b8a4c56b86d098c5d4cbc814a370570776e1d","source_url":"/docs/release/9.6.17/#id-1.11.6.12.5","statement_hash":"1e672d30a52f2ae770d93c187ed303c83766147300618606cf0605977114780b","text":"对临时表执行索引创建、删除或重建时忽略 CONCURRENTLY 选项（Michael Paquier、Heikki Linnakangas、Andres Freund） 这避免了临时表带有 ON COMMIT 动作时的奇怪失败。反正对临时表使用 CONCURRENTLY 没有益处，因为其他会话无法访问该表，额外的处理毫无意义。","title":"对临时表执行索引创建、删除或重建时忽略 CONCURRENTLY 选项","variants":[],"version":"9.6.17"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["0c84e992c","25c7183c0","283f095d0","768a401e2","b154d70f7","c35b714ca","cfffa8a6b"],"commit_groups":[["0c84e992c","25c7183c0","283f095d0","768a401e2","b154d70f7","c35b714ca","cfffa8a6b"]],"commits":[],"cves":[],"db_id":"e25762d447d9f6d0e649c022b2324661","html":"\u003cp\u003e修复重置标记为 \u003ccode\u003eON COMMIT DELETE ROWS\u003c/code\u003e 的临时表上的表达式索引时可能的失败（Tom Lane）\u003c/p\u003e","id":"9.6.17-785cdb35ca3fa1d3","identity_text":"Fix possible failure when resetting expression indexes on temporary tables that are marked ON COMMIT DELETE ROWS (Tom Lane)","part":"changes","patch_ids":["d42d4ae6f194be7c0690b06444bc16a2"],"related_changes":[{"db_id":"e6d3ce0118db9057dc27c54ff834d1a0","evidence":{"patch_ids":["d42d4ae6f194be7c0690b06444bc16a2"],"same_day":true,"statement_hash":"197220b9fb34990fbf91e24bf9b9a2cc0e239aa17932aab3c2b329e106c38017"},"kind":"equivalent","label":"12.2","source_url":"/docs/release/12.2/#id-1.11.6.26.5","title":"修复重置标记为 ON COMMIT DELETE ROWS 的临时表上的表达式索引时可能发生的失败","url":"/docs/compare/?release=12.2#12.2-17f4b0fbe04898b0","version":"12.2"},{"db_id":"9b7ce358661e494a8f98a2913a29e84d","evidence":{"patch_ids":["d42d4ae6f194be7c0690b06444bc16a2"],"same_day":true,"statement_hash":"197220b9fb34990fbf91e24bf9b9a2cc0e239aa17932aab3c2b329e106c38017"},"kind":"equivalent","label":"11.7","source_url":"/docs/release/11.7/#id-1.11.6.20.5","title":"修复重置标记为 ON COMMIT DELETE ROWS 的临时表上的表达式索引时可能发生的失败","url":"/docs/compare/?release=11.7#11.7-cefb17b7aa176da2","version":"11.7"},{"db_id":"c7ad22067c9cf2e6ad0b90fc4c4bafec","evidence":{"patch_ids":["d42d4ae6f194be7c0690b06444bc16a2"],"same_day":true,"statement_hash":"197220b9fb34990fbf91e24bf9b9a2cc0e239aa17932aab3c2b329e106c38017"},"kind":"equivalent","label":"10.12","source_url":"/docs/release/10.12/#id-1.11.6.16.5","title":"修复重置标记为 ON COMMIT DELETE ROWS 的临时表上的表达式索引时可能发生的失败","url":"/docs/compare/?release=10.12#10.12-cefb17b7aa176da2","version":"10.12"},{"db_id":"bd2bdb9fd93c223dfe82e4631a020d1a","evidence":{"patch_ids":["d42d4ae6f194be7c0690b06444bc16a2"],"same_day":true,"statement_hash":"197220b9fb34990fbf91e24bf9b9a2cc0e239aa17932aab3c2b329e106c38017"},"kind":"equivalent","label":"9.5.21","source_url":"/docs/release/9.5.21/#id-1.11.6.9.5","title":"修复重置标记为 ON COMMIT DELETE ROWS 的临时表上的表达式索引时可能的失败","url":"/docs/compare/?release=9.5.21#9.5.21-785cdb35ca3fa1d3","version":"9.5.21"},{"db_id":"19c0cd27ddfaf38099b0d6dceec72740","evidence":{"patch_ids":["d42d4ae6f194be7c0690b06444bc16a2"],"same_day":true,"statement_hash":"197220b9fb34990fbf91e24bf9b9a2cc0e239aa17932aab3c2b329e106c38017"},"kind":"equivalent","label":"9.4.26","source_url":"/docs/release/9.4.26/#id-1.11.6.5.6","title":"修复重置标记为 ON COMMIT DELETE ROWS 的临时表上的表达式索引时可能的失败","url":"/docs/compare/?release=9.4.26#9.4.26-785cdb35ca3fa1d3","version":"9.4.26"}],"relations":[{"evidence":{"patch_ids":["d42d4ae6f194be7c0690b06444bc16a2"],"same_day":true,"statement_hash":"197220b9fb34990fbf91e24bf9b9a2cc0e239aa17932aab3c2b329e106c38017"},"rule":2,"target":"19c0cd27ddfaf38099b0d6dceec72740","type":"equivalent"},{"evidence":{"patch_ids":["d42d4ae6f194be7c0690b06444bc16a2"],"same_day":true,"statement_hash":"197220b9fb34990fbf91e24bf9b9a2cc0e239aa17932aab3c2b329e106c38017"},"rule":2,"target":"9b7ce358661e494a8f98a2913a29e84d","type":"equivalent"},{"evidence":{"patch_ids":["d42d4ae6f194be7c0690b06444bc16a2"],"same_day":true,"statement_hash":"197220b9fb34990fbf91e24bf9b9a2cc0e239aa17932aab3c2b329e106c38017"},"rule":2,"target":"bd2bdb9fd93c223dfe82e4631a020d1a","type":"equivalent"},{"evidence":{"patch_ids":["d42d4ae6f194be7c0690b06444bc16a2"],"same_day":true,"statement_hash":"197220b9fb34990fbf91e24bf9b9a2cc0e239aa17932aab3c2b329e106c38017"},"rule":2,"target":"c7ad22067c9cf2e6ad0b90fc4c4bafec","type":"equivalent"},{"evidence":{"patch_ids":["d42d4ae6f194be7c0690b06444bc16a2"],"same_day":true,"statement_hash":"197220b9fb34990fbf91e24bf9b9a2cc0e239aa17932aab3c2b329e106c38017"},"rule":2,"target":"e6d3ce0118db9057dc27c54ff834d1a0","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["283f095d0"],"source_entry_id":"9.6.17/changes/007","source_hash":"806aa53be998a186a4dfb1ae779e2fac14dbb74f758087e7d0c625ed58482948","source_url":"/docs/release/9.6.17/#id-1.11.6.12.5","statement_hash":"197220b9fb34990fbf91e24bf9b9a2cc0e239aa17932aab3c2b329e106c38017","text":"修复重置标记为 ON COMMIT DELETE ROWS 的临时表上的表达式索引时可能的失败（Tom Lane）","title":"修复重置标记为 ON COMMIT DELETE ROWS 的临时表上的表达式索引时可能的失败","variants":[],"version":"9.6.17"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["4c8701098","98f0d2837","da7abcf0f","e96f30d89","fd436bba0","ff0c567cb"],"commit_groups":[["4c8701098","98f0d2837","da7abcf0f","e96f30d89","fd436bba0","ff0c567cb"]],"commits":[],"cves":[],"db_id":"12ad963273ec88e8c7a7dffa7d317b13","html":"\u003cp\u003e修复对 \u003ccode\u003ebox\u003c/code\u003e、\u003ccode\u003erange\u003c/code\u003e 和 \u003ccode\u003einet\u003c/code\u003e 数据类型执行 BRIN 索引操作时可能的崩溃（Heikki Linnakangas）\u003c/p\u003e","id":"9.6.17-ba50284679678c9a","identity_text":"Fix possible crash in BRIN index operations with box, range and inet data types (Heikki Linnakangas)","part":"changes","patch_ids":["459068976a8e29ddf25a5336ace1f8cc"],"related_changes":[{"db_id":"97b781d31fc46815140196138432fd72","evidence":{"patch_ids":["459068976a8e29ddf25a5336ace1f8cc"],"same_day":true,"statement_hash":"42b7080a586af06174e0e4a2fd87330321b281b51acf0010f5ce8a3d66857230"},"kind":"equivalent","label":"12.2","source_url":"/docs/release/12.2/#id-1.11.6.26.5","title":"修复对 box、range 和 inet 数据类型执行 BRIN 索引操作时可能发生的崩溃","url":"/docs/compare/?release=12.2#12.2-c0f90603cf117fad","version":"12.2"},{"db_id":"ddc83fcc1582b3dbf2bbc9c60e8f7071","evidence":{"patch_ids":["459068976a8e29ddf25a5336ace1f8cc"],"same_day":true,"statement_hash":"42b7080a586af06174e0e4a2fd87330321b281b51acf0010f5ce8a3d66857230"},"kind":"equivalent","label":"11.7","source_url":"/docs/release/11.7/#id-1.11.6.20.5","title":"修复对 box、range 和 inet 数据类型执行 BRIN 索引操作时可能发生的崩溃","url":"/docs/compare/?release=11.7#11.7-7fe5570d13abef64","version":"11.7"},{"db_id":"b4d4c0f54025cb1b7f6c445dfca85b32","evidence":{"patch_ids":["459068976a8e29ddf25a5336ace1f8cc"],"same_day":true,"statement_hash":"42b7080a586af06174e0e4a2fd87330321b281b51acf0010f5ce8a3d66857230"},"kind":"equivalent","label":"10.12","source_url":"/docs/release/10.12/#id-1.11.6.16.5","title":"修复对 box、range 和 inet 数据类型执行 BRIN 索引操作时可能发生的崩溃","url":"/docs/compare/?release=10.12#10.12-7fe5570d13abef64","version":"10.12"},{"db_id":"1235864c3c57c21c0c5a10b209ca85b4","evidence":{"patch_ids":["459068976a8e29ddf25a5336ace1f8cc"],"same_day":true,"statement_hash":"42b7080a586af06174e0e4a2fd87330321b281b51acf0010f5ce8a3d66857230"},"kind":"equivalent","label":"9.5.21","source_url":"/docs/release/9.5.21/#id-1.11.6.9.5","title":"修复对 box、range 和 inet 数据类型执行 BRIN 索引操作时可能的崩溃","url":"/docs/compare/?release=9.5.21#9.5.21-ba50284679678c9a","version":"9.5.21"}],"relations":[{"evidence":{"patch_ids":["459068976a8e29ddf25a5336ace1f8cc"],"same_day":true,"statement_hash":"42b7080a586af06174e0e4a2fd87330321b281b51acf0010f5ce8a3d66857230"},"rule":2,"target":"1235864c3c57c21c0c5a10b209ca85b4","type":"equivalent"},{"evidence":{"patch_ids":["459068976a8e29ddf25a5336ace1f8cc"],"same_day":true,"statement_hash":"42b7080a586af06174e0e4a2fd87330321b281b51acf0010f5ce8a3d66857230"},"rule":2,"target":"97b781d31fc46815140196138432fd72","type":"equivalent"},{"evidence":{"patch_ids":["459068976a8e29ddf25a5336ace1f8cc"],"same_day":true,"statement_hash":"42b7080a586af06174e0e4a2fd87330321b281b51acf0010f5ce8a3d66857230"},"rule":2,"target":"b4d4c0f54025cb1b7f6c445dfca85b32","type":"equivalent"},{"evidence":{"patch_ids":["459068976a8e29ddf25a5336ace1f8cc"],"same_day":true,"statement_hash":"42b7080a586af06174e0e4a2fd87330321b281b51acf0010f5ce8a3d66857230"},"rule":2,"target":"ddc83fcc1582b3dbf2bbc9c60e8f7071","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["e96f30d89"],"source_entry_id":"9.6.17/changes/008","source_hash":"4fd5de34758c467952aacc49d278e63669b19941904195fc67b92a7c7163bb5b","source_url":"/docs/release/9.6.17/#id-1.11.6.12.5","statement_hash":"42b7080a586af06174e0e4a2fd87330321b281b51acf0010f5ce8a3d66857230","text":"修复对 box、range 和 inet 数据类型执行 BRIN 索引操作时可能的崩溃（Heikki Linnakangas）","title":"修复对 box、range 和 inet 数据类型执行 BRIN 索引操作时可能的崩溃","variants":[],"version":"9.6.17"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["051c50c01","1414821e1","21ad61ab3","4093ff573","4fc485684","7d467dee0","99f5888d3","9f2927989","a64e7e05a","ab64b474d","b10714080","baf487123","c0bf35421","d5ad7a09a","e14641197","ee437ca74","f91706b00"],"commit_groups":[["051c50c01","21ad61ab3","9f2927989","e14641197"],["1414821e1","4fc485684","99f5888d3","ab64b474d","c0bf35421","d5ad7a09a","ee437ca74"],["4093ff573","baf487123","f91706b00"],["7d467dee0","a64e7e05a","b10714080"]],"commits":[],"cves":[],"db_id":"1c0ccf06670d2279d01e43d3f63aaab6","html":"\u003cp\u003e修复 GIN 索引中对已删除页的处理（Alexander Korotkov）\u003c/p\u003e\n\u003cp\u003e避免可能的死锁、已删除页状态的错误更新，以及穿过最近删除页的遍历失败。\u003c/p\u003e","id":"9.6.17-32e05da2ada9e89b","identity_text":"Fix handling of deleted pages in GIN indexes (Alexander Korotkov) Avoid possible deadlocks, incorrect updates of a deleted page's state, and failure to traverse through a recently-deleted page.","part":"changes","patch_ids":["0fb51caa2a6599d8ae03ec723df72516","2d779b29920a9156df03dacbfed95bdf","5614389161137ab83fc478bb6dc593c7","70da9dc7f21eb7c1acbaa8639acbac5e"],"related_changes":[{"db_id":"4f986828312e793956423c2975a5b2c8","evidence":{"patch_ids":["0fb51caa2a6599d8ae03ec723df72516","2d779b29920a9156df03dacbfed95bdf","5614389161137ab83fc478bb6dc593c7","70da9dc7f21eb7c1acbaa8639acbac5e"],"same_day":true,"statement_hash":"a4489e08e273e747212a8ae0efaec9bc58505c38caaac21cc5fa44b30e80bb46"},"kind":"equivalent","label":"12.2","source_url":"/docs/release/12.2/#id-1.11.6.26.5","title":"修复 GIN 索引中对已删除页面的处理","url":"/docs/compare/?release=12.2#12.2-5be8d704bafc0f2f","version":"12.2"},{"db_id":"baa0df43bab5ee15154867b855376f70","evidence":{"patch_ids":["0fb51caa2a6599d8ae03ec723df72516","2d779b29920a9156df03dacbfed95bdf","5614389161137ab83fc478bb6dc593c7","70da9dc7f21eb7c1acbaa8639acbac5e"],"same_day":true,"statement_hash":"a4489e08e273e747212a8ae0efaec9bc58505c38caaac21cc5fa44b30e80bb46"},"kind":"equivalent","label":"11.7","source_url":"/docs/release/11.7/#id-1.11.6.20.5","title":"修复 GIN 索引中对已删除页面的处理","url":"/docs/compare/?release=11.7#11.7-266952a113d1e196","version":"11.7"},{"db_id":"ba63d0d0210c6a9fd78797edfd452c32","evidence":{"patch_ids":["0fb51caa2a6599d8ae03ec723df72516","2d779b29920a9156df03dacbfed95bdf","5614389161137ab83fc478bb6dc593c7","70da9dc7f21eb7c1acbaa8639acbac5e"],"same_day":true,"statement_hash":"a4489e08e273e747212a8ae0efaec9bc58505c38caaac21cc5fa44b30e80bb46"},"kind":"equivalent","label":"10.12","source_url":"/docs/release/10.12/#id-1.11.6.16.5","title":"修复 GIN 索引中对已删除页面的处理","url":"/docs/compare/?release=10.12#10.12-266952a113d1e196","version":"10.12"},{"db_id":"163a1188a571ecf3210d6a867b91e4d2","evidence":{"patch_ids":["0fb51caa2a6599d8ae03ec723df72516","2d779b29920a9156df03dacbfed95bdf","5614389161137ab83fc478bb6dc593c7","70da9dc7f21eb7c1acbaa8639acbac5e"],"same_day":true,"statement_hash":"a4489e08e273e747212a8ae0efaec9bc58505c38caaac21cc5fa44b30e80bb46"},"kind":"equivalent","label":"9.5.21","source_url":"/docs/release/9.5.21/#id-1.11.6.9.5","title":"修复 GIN 索引中对已删除页的处理","url":"/docs/compare/?release=9.5.21#9.5.21-32e05da2ada9e89b","version":"9.5.21"},{"db_id":"382e9c585cfb14f9b1c242bd2db98948","evidence":{"patch_ids":["0fb51caa2a6599d8ae03ec723df72516","2d779b29920a9156df03dacbfed95bdf","5614389161137ab83fc478bb6dc593c7","70da9dc7f21eb7c1acbaa8639acbac5e"],"same_day":true,"statement_hash":"a4489e08e273e747212a8ae0efaec9bc58505c38caaac21cc5fa44b30e80bb46"},"kind":"equivalent","label":"9.4.26","source_url":"/docs/release/9.4.26/#id-1.11.6.5.6","title":"修复 GIN 索引中对已删除页的处理","url":"/docs/compare/?release=9.4.26#9.4.26-32e05da2ada9e89b","version":"9.4.26"}],"relations":[{"evidence":{"patch_ids":["0fb51caa2a6599d8ae03ec723df72516","2d779b29920a9156df03dacbfed95bdf","5614389161137ab83fc478bb6dc593c7","70da9dc7f21eb7c1acbaa8639acbac5e"],"same_day":true,"statement_hash":"a4489e08e273e747212a8ae0efaec9bc58505c38caaac21cc5fa44b30e80bb46"},"rule":2,"target":"163a1188a571ecf3210d6a867b91e4d2","type":"equivalent"},{"evidence":{"patch_ids":["0fb51caa2a6599d8ae03ec723df72516","2d779b29920a9156df03dacbfed95bdf","5614389161137ab83fc478bb6dc593c7","70da9dc7f21eb7c1acbaa8639acbac5e"],"same_day":true,"statement_hash":"a4489e08e273e747212a8ae0efaec9bc58505c38caaac21cc5fa44b30e80bb46"},"rule":2,"target":"382e9c585cfb14f9b1c242bd2db98948","type":"equivalent"},{"evidence":{"patch_ids":["0fb51caa2a6599d8ae03ec723df72516","2d779b29920a9156df03dacbfed95bdf","5614389161137ab83fc478bb6dc593c7","70da9dc7f21eb7c1acbaa8639acbac5e"],"same_day":true,"statement_hash":"a4489e08e273e747212a8ae0efaec9bc58505c38caaac21cc5fa44b30e80bb46"},"rule":2,"target":"4f986828312e793956423c2975a5b2c8","type":"equivalent"},{"evidence":{"patch_ids":["0fb51caa2a6599d8ae03ec723df72516","2d779b29920a9156df03dacbfed95bdf","5614389161137ab83fc478bb6dc593c7","70da9dc7f21eb7c1acbaa8639acbac5e"],"same_day":true,"statement_hash":"a4489e08e273e747212a8ae0efaec9bc58505c38caaac21cc5fa44b30e80bb46"},"rule":2,"target":"ba63d0d0210c6a9fd78797edfd452c32","type":"equivalent"},{"evidence":{"patch_ids":["0fb51caa2a6599d8ae03ec723df72516","2d779b29920a9156df03dacbfed95bdf","5614389161137ab83fc478bb6dc593c7","70da9dc7f21eb7c1acbaa8639acbac5e"],"same_day":true,"statement_hash":"a4489e08e273e747212a8ae0efaec9bc58505c38caaac21cc5fa44b30e80bb46"},"rule":2,"target":"baa0df43bab5ee15154867b855376f70","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["4093ff573","99f5888d3","b10714080","e14641197"],"source_entry_id":"9.6.17/changes/009","source_hash":"d370ba5411edd13ee37c902a0718707541d83c4830bb49ec4243e295f7cfff13","source_url":"/docs/release/9.6.17/#id-1.11.6.12.5","statement_hash":"a4489e08e273e747212a8ae0efaec9bc58505c38caaac21cc5fa44b30e80bb46","text":"修复 GIN 索引中对已删除页的处理（Alexander Korotkov） 避免可能的死锁、已删除页状态的错误更新，以及穿过最近删除页的遍历失败。","title":"修复 GIN 索引中对已删除页的处理","variants":[],"version":"9.6.17"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["167fd022f","2e2646060","396472278","41c6f9db2","45f03cfa5","d8e877b86","eb9d1f050"],"commit_groups":[["167fd022f","2e2646060","396472278","41c6f9db2","45f03cfa5","d8e877b86","eb9d1f050"]],"commits":[],"cves":[],"db_id":"23f1e9f5f1eecf6bc98e3d1dbf8dbf61","html":"\u003cp\u003e修复多行 \u003ccode\u003eVALUES\u003c/code\u003e 列表中包含 SubPlan（子 \u003ccode\u003eSELECT\u003c/code\u003e）时可能的崩溃（Tom Lane）\u003c/p\u003e","id":"9.6.17-7095f012d7edd6c2","identity_text":"Fix possible crash with a SubPlan (sub-SELECT) within a multi-row VALUES list (Tom Lane)","part":"changes","patch_ids":["0e17af1c06016767dcaf523c34b89247"],"related_changes":[{"db_id":"cfcc37a35ec28d0ca50bbc931b129973","evidence":{"patch_ids":["0e17af1c06016767dcaf523c34b89247"],"same_day":true,"statement_hash":"eaa0685446b3ea3d2207ebce434bedbb3076bf723e74a802fae6db261235f49b"},"kind":"equivalent","label":"12.2","source_url":"/docs/release/12.2/#id-1.11.6.26.5","title":"修复多行 VALUES 列表中包含 SubPlan（子 SELECT）时可能发生的崩溃","url":"/docs/compare/?release=12.2#12.2-3536e7c874996cfb","version":"12.2"},{"db_id":"04698fe64e11862558442505d05ca0d6","evidence":{"patch_ids":["0e17af1c06016767dcaf523c34b89247"],"same_day":true,"statement_hash":"eaa0685446b3ea3d2207ebce434bedbb3076bf723e74a802fae6db261235f49b"},"kind":"equivalent","label":"11.7","source_url":"/docs/release/11.7/#id-1.11.6.20.5","title":"修复多行 VALUES 列表中包含 SubPlan（子 SELECT）时可能发生的崩溃","url":"/docs/compare/?release=11.7#11.7-79315b8d0599d7b8","version":"11.7"},{"db_id":"cd3c71415d61d2b5bb0e321d7fbda1f0","evidence":{"patch_ids":["0e17af1c06016767dcaf523c34b89247"],"same_day":true,"statement_hash":"eaa0685446b3ea3d2207ebce434bedbb3076bf723e74a802fae6db261235f49b"},"kind":"equivalent","label":"10.12","source_url":"/docs/release/10.12/#id-1.11.6.16.5","title":"修复多行 VALUES 列表中包含 SubPlan（子 SELECT）时可能发生的崩溃","url":"/docs/compare/?release=10.12#10.12-79315b8d0599d7b8","version":"10.12"},{"db_id":"f68d6dcdc3d684e7fbb68f4ebc48aa5c","evidence":{"patch_ids":["0e17af1c06016767dcaf523c34b89247"],"same_day":true,"statement_hash":"eaa0685446b3ea3d2207ebce434bedbb3076bf723e74a802fae6db261235f49b"},"kind":"equivalent","label":"9.5.21","source_url":"/docs/release/9.5.21/#id-1.11.6.9.5","title":"修复多行 VALUES 列表中包含 SubPlan（子 SELECT）时可能的崩溃","url":"/docs/compare/?release=9.5.21#9.5.21-7095f012d7edd6c2","version":"9.5.21"},{"db_id":"8d45a10666899d1d1a204650d114bf63","evidence":{"patch_ids":["0e17af1c06016767dcaf523c34b89247"],"same_day":true,"statement_hash":"eaa0685446b3ea3d2207ebce434bedbb3076bf723e74a802fae6db261235f49b"},"kind":"equivalent","label":"9.4.26","source_url":"/docs/release/9.4.26/#id-1.11.6.5.6","title":"修复多行 VALUES 列表中包含 SubPlan（子 SELECT）时可能的崩溃","url":"/docs/compare/?release=9.4.26#9.4.26-7095f012d7edd6c2","version":"9.4.26"}],"relations":[{"evidence":{"patch_ids":["0e17af1c06016767dcaf523c34b89247"],"same_day":true,"statement_hash":"eaa0685446b3ea3d2207ebce434bedbb3076bf723e74a802fae6db261235f49b"},"rule":2,"target":"04698fe64e11862558442505d05ca0d6","type":"equivalent"},{"evidence":{"patch_ids":["0e17af1c06016767dcaf523c34b89247"],"same_day":true,"statement_hash":"eaa0685446b3ea3d2207ebce434bedbb3076bf723e74a802fae6db261235f49b"},"rule":2,"target":"8d45a10666899d1d1a204650d114bf63","type":"equivalent"},{"evidence":{"patch_ids":["0e17af1c06016767dcaf523c34b89247"],"same_day":true,"statement_hash":"eaa0685446b3ea3d2207ebce434bedbb3076bf723e74a802fae6db261235f49b"},"rule":2,"target":"cd3c71415d61d2b5bb0e321d7fbda1f0","type":"equivalent"},{"evidence":{"patch_ids":["0e17af1c06016767dcaf523c34b89247"],"same_day":true,"statement_hash":"eaa0685446b3ea3d2207ebce434bedbb3076bf723e74a802fae6db261235f49b"},"rule":2,"target":"cfcc37a35ec28d0ca50bbc931b129973","type":"equivalent"},{"evidence":{"patch_ids":["0e17af1c06016767dcaf523c34b89247"],"same_day":true,"statement_hash":"eaa0685446b3ea3d2207ebce434bedbb3076bf723e74a802fae6db261235f49b"},"rule":2,"target":"f68d6dcdc3d684e7fbb68f4ebc48aa5c","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["45f03cfa5"],"source_entry_id":"9.6.17/changes/010","source_hash":"5d7b0719cf5ee2b2f6f2769e01167f3197b990c16d3a4872b98217099fd5b2d7","source_url":"/docs/release/9.6.17/#id-1.11.6.12.5","statement_hash":"eaa0685446b3ea3d2207ebce434bedbb3076bf723e74a802fae6db261235f49b","text":"修复多行 VALUES 列表中包含 SubPlan（子 SELECT）时可能的崩溃（Tom Lane）","title":"修复多行 VALUES 列表中包含 SubPlan（子 SELECT）时可能的崩溃","variants":[],"version":"9.6.17"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["21fdfd0e8","8bb006a41","affdde2e1","ba1dfbe22","c8e0e560e","d4c339924","f651976d9"],"commit_groups":[["21fdfd0e8","8bb006a41","affdde2e1","ba1dfbe22","c8e0e560e","d4c339924","f651976d9"]],"commits":[],"cves":[],"db_id":"aa38fe8a84a05ccb7d5ca2231a4a9ab2","html":"\u003cp\u003e修复按引用传递的聚合转换状态不太可能的崩溃（Andres Freund、Teodor Sigaev）\u003c/p\u003e","id":"9.6.17-3c11e63680e64497","identity_text":"Fix unlikely crash with pass-by-reference aggregate transition states (Andres Freund, Teodor Sigaev)","part":"changes","patch_ids":["730f997a58a04f63067e9ce63b4b26a6"],"related_changes":[{"db_id":"7c398b24a82fde3f229eb10a248b5b97","evidence":{"patch_ids":["730f997a58a04f63067e9ce63b4b26a6"],"same_day":true,"statement_hash":"247ecf8b0f57ea41bff13f5eb478cd6d22e7b98f79a7290a54702aa6470249b2"},"kind":"equivalent","label":"12.2","source_url":"/docs/release/12.2/#id-1.11.6.26.5","title":"修复使用按引用传递的聚合转换状态时发生的罕见崩溃","url":"/docs/compare/?release=12.2#12.2-30062929998dd8f5","version":"12.2"},{"db_id":"55eecb13c679c1b456e4f63a0afa50a3","evidence":{"patch_ids":["730f997a58a04f63067e9ce63b4b26a6"],"same_day":true,"statement_hash":"247ecf8b0f57ea41bff13f5eb478cd6d22e7b98f79a7290a54702aa6470249b2"},"kind":"equivalent","label":"11.7","source_url":"/docs/release/11.7/#id-1.11.6.20.5","title":"修复使用按引用传递的聚合转换状态时发生的罕见崩溃","url":"/docs/compare/?release=11.7#11.7-1145da8fb2f19235","version":"11.7"},{"db_id":"7bbdbe671f37e7a8f307651f9934bbb5","evidence":{"patch_ids":["730f997a58a04f63067e9ce63b4b26a6"],"same_day":true,"statement_hash":"247ecf8b0f57ea41bff13f5eb478cd6d22e7b98f79a7290a54702aa6470249b2"},"kind":"equivalent","label":"10.12","source_url":"/docs/release/10.12/#id-1.11.6.16.5","title":"修复使用按引用传递的聚合转换状态时发生的罕见崩溃","url":"/docs/compare/?release=10.12#10.12-1145da8fb2f19235","version":"10.12"},{"db_id":"a4516e116251828c608ebe40de67937c","evidence":{"patch_ids":["730f997a58a04f63067e9ce63b4b26a6"],"same_day":true,"statement_hash":"247ecf8b0f57ea41bff13f5eb478cd6d22e7b98f79a7290a54702aa6470249b2"},"kind":"equivalent","label":"9.5.21","source_url":"/docs/release/9.5.21/#id-1.11.6.9.5","title":"修复按引用传递的聚合转换状态不太可能的崩溃","url":"/docs/compare/?release=9.5.21#9.5.21-3c11e63680e64497","version":"9.5.21"},{"db_id":"36852c66d198f3d3882a089f2fe0f1b9","evidence":{"patch_ids":["730f997a58a04f63067e9ce63b4b26a6"],"same_day":true,"statement_hash":"247ecf8b0f57ea41bff13f5eb478cd6d22e7b98f79a7290a54702aa6470249b2"},"kind":"equivalent","label":"9.4.26","source_url":"/docs/release/9.4.26/#id-1.11.6.5.6","title":"修复按引用传递的聚合转换状态不太可能的崩溃","url":"/docs/compare/?release=9.4.26#9.4.26-3c11e63680e64497","version":"9.4.26"}],"relations":[{"evidence":{"patch_ids":["730f997a58a04f63067e9ce63b4b26a6"],"same_day":true,"statement_hash":"247ecf8b0f57ea41bff13f5eb478cd6d22e7b98f79a7290a54702aa6470249b2"},"rule":2,"target":"36852c66d198f3d3882a089f2fe0f1b9","type":"equivalent"},{"evidence":{"patch_ids":["730f997a58a04f63067e9ce63b4b26a6"],"same_day":true,"statement_hash":"247ecf8b0f57ea41bff13f5eb478cd6d22e7b98f79a7290a54702aa6470249b2"},"rule":2,"target":"55eecb13c679c1b456e4f63a0afa50a3","type":"equivalent"},{"evidence":{"patch_ids":["730f997a58a04f63067e9ce63b4b26a6"],"same_day":true,"statement_hash":"247ecf8b0f57ea41bff13f5eb478cd6d22e7b98f79a7290a54702aa6470249b2"},"rule":2,"target":"7bbdbe671f37e7a8f307651f9934bbb5","type":"equivalent"},{"evidence":{"patch_ids":["730f997a58a04f63067e9ce63b4b26a6"],"same_day":true,"statement_hash":"247ecf8b0f57ea41bff13f5eb478cd6d22e7b98f79a7290a54702aa6470249b2"},"rule":2,"target":"7c398b24a82fde3f229eb10a248b5b97","type":"equivalent"},{"evidence":{"patch_ids":["730f997a58a04f63067e9ce63b4b26a6"],"same_day":true,"statement_hash":"247ecf8b0f57ea41bff13f5eb478cd6d22e7b98f79a7290a54702aa6470249b2"},"rule":2,"target":"a4516e116251828c608ebe40de67937c","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["d4c339924"],"source_entry_id":"9.6.17/changes/011","source_hash":"e3a8cde999f990b67762e4cfa5dc0d1119fd9b7d9fc37ebbf108f0be990593f6","source_url":"/docs/release/9.6.17/#id-1.11.6.12.5","statement_hash":"247ecf8b0f57ea41bff13f5eb478cd6d22e7b98f79a7290a54702aa6470249b2","text":"修复按引用传递的聚合转换状态不太可能的崩溃（Andres Freund、Teodor Sigaev）","title":"修复按引用传递的聚合转换状态不太可能的崩溃","variants":[],"version":"9.6.17"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["0e63d9641","212b870d6","451f50813","4c70098ff","600b953d7","7a9fef299","8fc33e6cc","9a3a75cb8","9e24575f6","a576f2a8f","be13f227f","d6a9548b2","f309c812e","fb12aefaa"],"commit_groups":[["0e63d9641","451f50813","7a9fef299","8fc33e6cc","9a3a75cb8","d6a9548b2","f309c812e"],["212b870d6","4c70098ff","600b953d7","9e24575f6","a576f2a8f","be13f227f","fb12aefaa"]],"commits":[],"cves":[],"db_id":"ba9b3b2bf6101c85ca968cf1bc4c2a39","html":"\u003cp\u003e改进 \u003ccode\u003eto_date()\u003c/code\u003e 和 \u003ccode\u003eto_timestamp()\u003c/code\u003e 中的错误报告（Tom Lane、Álvaro Herrera）\u003c/p\u003e\n\u003cp\u003e关于输入字符串中不正确月份或日期名称的报告，可能在多字节字符中间截断输入，导致错误编码的错误消息并引发后续失败。现在改为在下一个空白处截断。\u003c/p\u003e","id":"9.6.17-b115320876673b56","identity_text":"Improve error reporting in to_date() and to_timestamp() (Tom Lane, Álvaro Herrera) Reports about incorrect month or day names in input strings could truncate the input in the middle of a multi-byte character, leading to an improperly encoded error message that could cause follow-on failures. Truncate at the next whitespace instead.","part":"changes","patch_ids":["881a4ad4e73e5bd4a9e5a289b084a789","b3676034f161a2b8e0f55f02dbf6ca1d"],"related_changes":[{"db_id":"2e88f289c1234dc88f881d954d466e4a","evidence":{"patch_ids":["881a4ad4e73e5bd4a9e5a289b084a789","b3676034f161a2b8e0f55f02dbf6ca1d"],"same_day":true,"statement_hash":"9e20b30958a588fb9e31c02ef288f2ed5e1df59831e7e09f29ac2a8de8f66856"},"kind":"equivalent","label":"12.2","source_url":"/docs/release/12.2/#id-1.11.6.26.5","title":"改进 to_date() 和 to_timestamp() 中的错误报告","url":"/docs/compare/?release=12.2#12.2-0bc48a9f176e3069","version":"12.2"},{"db_id":"70492e26779a8a1656d44ae93b8feaa6","evidence":{"patch_ids":["881a4ad4e73e5bd4a9e5a289b084a789","b3676034f161a2b8e0f55f02dbf6ca1d"],"same_day":true,"statement_hash":"9e20b30958a588fb9e31c02ef288f2ed5e1df59831e7e09f29ac2a8de8f66856"},"kind":"equivalent","label":"11.7","source_url":"/docs/release/11.7/#id-1.11.6.20.5","title":"改进 to_date() 和 to_timestamp() 中的错误报告","url":"/docs/compare/?release=11.7#11.7-b115320876673b56","version":"11.7"},{"db_id":"cdbf4f801b3c350a10257de0582a1372","evidence":{"patch_ids":["881a4ad4e73e5bd4a9e5a289b084a789","b3676034f161a2b8e0f55f02dbf6ca1d"],"same_day":true,"statement_hash":"9e20b30958a588fb9e31c02ef288f2ed5e1df59831e7e09f29ac2a8de8f66856"},"kind":"equivalent","label":"10.12","source_url":"/docs/release/10.12/#id-1.11.6.16.5","title":"改进 to_date() 和 to_timestamp() 中的错误报告","url":"/docs/compare/?release=10.12#10.12-b115320876673b56","version":"10.12"},{"db_id":"39630b7768bb1c46d4b6752581ccf6ce","evidence":{"patch_ids":["881a4ad4e73e5bd4a9e5a289b084a789","b3676034f161a2b8e0f55f02dbf6ca1d"],"same_day":true,"statement_hash":"9e20b30958a588fb9e31c02ef288f2ed5e1df59831e7e09f29ac2a8de8f66856"},"kind":"equivalent","label":"9.5.21","source_url":"/docs/release/9.5.21/#id-1.11.6.9.5","title":"改进 to_date() 和 to_timestamp() 中的错误报告","url":"/docs/compare/?release=9.5.21#9.5.21-b115320876673b56","version":"9.5.21"},{"db_id":"e5a881c43afb38e00e461fd4d589dc16","evidence":{"patch_ids":["881a4ad4e73e5bd4a9e5a289b084a789","b3676034f161a2b8e0f55f02dbf6ca1d"],"same_day":true,"statement_hash":"9e20b30958a588fb9e31c02ef288f2ed5e1df59831e7e09f29ac2a8de8f66856"},"kind":"equivalent","label":"9.4.26","source_url":"/docs/release/9.4.26/#id-1.11.6.5.6","title":"改进 to_date() 和 to_timestamp() 中的错误报告","url":"/docs/compare/?release=9.4.26#9.4.26-b115320876673b56","version":"9.4.26"}],"relations":[{"evidence":{"patch_ids":["881a4ad4e73e5bd4a9e5a289b084a789","b3676034f161a2b8e0f55f02dbf6ca1d"],"same_day":true,"statement_hash":"9e20b30958a588fb9e31c02ef288f2ed5e1df59831e7e09f29ac2a8de8f66856"},"rule":2,"target":"2e88f289c1234dc88f881d954d466e4a","type":"equivalent"},{"evidence":{"patch_ids":["881a4ad4e73e5bd4a9e5a289b084a789","b3676034f161a2b8e0f55f02dbf6ca1d"],"same_day":true,"statement_hash":"9e20b30958a588fb9e31c02ef288f2ed5e1df59831e7e09f29ac2a8de8f66856"},"rule":2,"target":"39630b7768bb1c46d4b6752581ccf6ce","type":"equivalent"},{"evidence":{"patch_ids":["881a4ad4e73e5bd4a9e5a289b084a789","b3676034f161a2b8e0f55f02dbf6ca1d"],"same_day":true,"statement_hash":"9e20b30958a588fb9e31c02ef288f2ed5e1df59831e7e09f29ac2a8de8f66856"},"rule":2,"target":"70492e26779a8a1656d44ae93b8feaa6","type":"equivalent"},{"evidence":{"patch_ids":["881a4ad4e73e5bd4a9e5a289b084a789","b3676034f161a2b8e0f55f02dbf6ca1d"],"same_day":true,"statement_hash":"9e20b30958a588fb9e31c02ef288f2ed5e1df59831e7e09f29ac2a8de8f66856"},"rule":2,"target":"cdbf4f801b3c350a10257de0582a1372","type":"equivalent"},{"evidence":{"patch_ids":["881a4ad4e73e5bd4a9e5a289b084a789","b3676034f161a2b8e0f55f02dbf6ca1d"],"same_day":true,"statement_hash":"9e20b30958a588fb9e31c02ef288f2ed5e1df59831e7e09f29ac2a8de8f66856"},"rule":2,"target":"e5a881c43afb38e00e461fd4d589dc16","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["451f50813","9e24575f6"],"source_entry_id":"9.6.17/changes/012","source_hash":"b8e9685b7e0be50a64fe8219ed7bf855fea6068a7c7987125824976a871f1543","source_url":"/docs/release/9.6.17/#id-1.11.6.12.5","statement_hash":"9e20b30958a588fb9e31c02ef288f2ed5e1df59831e7e09f29ac2a8de8f66856","text":"改进 to_date() 和 to_timestamp() 中的错误报告（Tom Lane、Álvaro Herrera） 关于输入字符串中不正确月份或日期名称的报告，可能在多字节字符中间截断输入，导致错误编码的错误消息并引发后续失败。现在改为在下一个空白处截断。","title":"改进 to_date() 和 to_timestamp() 中的错误报告","variants":[],"version":"9.6.17"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["07c4b6ac7","1a3efa1eb","323c47925","332584da9","6aa126311","6e2ac8d66","c965c42a5"],"commit_groups":[["07c4b6ac7","1a3efa1eb","323c47925","332584da9","6aa126311","6e2ac8d66","c965c42a5"]],"commits":[],"cves":[],"db_id":"8165e96592be79ede7a550c4a042b9d4","html":"\u003cp\u003e修复公元前日期的 \u003ccode\u003eEXTRACT(ISOYEAR FROM \u003cem\u003e\u003ccode\u003etimestamp\u003c/code\u003e\u003c/em\u003e)\u003c/code\u003e 的差一结果（Tom Lane）\u003c/p\u003e","id":"9.6.17-c797d83d4d4b0861","identity_text":"Fix off-by-one result for EXTRACT(ISOYEAR FROM timestamp) for BC dates (Tom Lane)","part":"changes","patch_ids":["e64c1aedea53edbdb2a27f60e946cd5f"],"related_changes":[{"db_id":"a2a9f3ed8a680dc61d461557c9720630","evidence":{"patch_ids":["e64c1aedea53edbdb2a27f60e946cd5f"],"same_day":true,"statement_hash":"0a67a694ed58e0baf5b93141608db1f69dce394feec5bdb8f7c817eb8767ed8d"},"kind":"equivalent","label":"12.2","source_url":"/docs/release/12.2/#id-1.11.6.26.5","title":"修复对公元前日期计算 EXTRACT(ISOYEAR FROM timestamp) 时结果相差一的问题","url":"/docs/compare/?release=12.2#12.2-1044778c53f32f8d","version":"12.2"},{"db_id":"976efdd3073cd52012c4d8fad816cc02","evidence":{"patch_ids":["e64c1aedea53edbdb2a27f60e946cd5f"],"same_day":true,"statement_hash":"0a67a694ed58e0baf5b93141608db1f69dce394feec5bdb8f7c817eb8767ed8d"},"kind":"equivalent","label":"11.7","source_url":"/docs/release/11.7/#id-1.11.6.20.5","title":"修复对公元前日期计算 EXTRACT(ISOYEAR FROM timestamp) 时结果相差一的问题","url":"/docs/compare/?release=11.7#11.7-c369b627d2709619","version":"11.7"},{"db_id":"d41730767b50746673b7b49da97f6bb1","evidence":{"patch_ids":["e64c1aedea53edbdb2a27f60e946cd5f"],"same_day":true,"statement_hash":"0a67a694ed58e0baf5b93141608db1f69dce394feec5bdb8f7c817eb8767ed8d"},"kind":"equivalent","label":"10.12","source_url":"/docs/release/10.12/#id-1.11.6.16.5","title":"修复对公元前日期计算 EXTRACT(ISOYEAR FROM timestamp) 时结果相差一的问题","url":"/docs/compare/?release=10.12#10.12-c369b627d2709619","version":"10.12"},{"db_id":"b5b8b7b90208d81bd67592a4a8638877","evidence":{"patch_ids":["e64c1aedea53edbdb2a27f60e946cd5f"],"same_day":true,"statement_hash":"0a67a694ed58e0baf5b93141608db1f69dce394feec5bdb8f7c817eb8767ed8d"},"kind":"equivalent","label":"9.5.21","source_url":"/docs/release/9.5.21/#id-1.11.6.9.5","title":"修复公元前日期的 EXTRACT(ISOYEAR FROM timestamp) 的差一结果","url":"/docs/compare/?release=9.5.21#9.5.21-c797d83d4d4b0861","version":"9.5.21"},{"db_id":"a3244dabefb4bb88f7b0a7987bd3ae31","evidence":{"patch_ids":["e64c1aedea53edbdb2a27f60e946cd5f"],"same_day":true,"statement_hash":"0a67a694ed58e0baf5b93141608db1f69dce394feec5bdb8f7c817eb8767ed8d"},"kind":"equivalent","label":"9.4.26","source_url":"/docs/release/9.4.26/#id-1.11.6.5.6","title":"修复公元前日期的 EXTRACT(ISOYEAR FROM timestamp) 的差一结果","url":"/docs/compare/?release=9.4.26#9.4.26-c797d83d4d4b0861","version":"9.4.26"}],"relations":[{"evidence":{"patch_ids":["e64c1aedea53edbdb2a27f60e946cd5f"],"same_day":true,"statement_hash":"0a67a694ed58e0baf5b93141608db1f69dce394feec5bdb8f7c817eb8767ed8d"},"rule":2,"target":"976efdd3073cd52012c4d8fad816cc02","type":"equivalent"},{"evidence":{"patch_ids":["e64c1aedea53edbdb2a27f60e946cd5f"],"same_day":true,"statement_hash":"0a67a694ed58e0baf5b93141608db1f69dce394feec5bdb8f7c817eb8767ed8d"},"rule":2,"target":"a2a9f3ed8a680dc61d461557c9720630","type":"equivalent"},{"evidence":{"patch_ids":["e64c1aedea53edbdb2a27f60e946cd5f"],"same_day":true,"statement_hash":"0a67a694ed58e0baf5b93141608db1f69dce394feec5bdb8f7c817eb8767ed8d"},"rule":2,"target":"a3244dabefb4bb88f7b0a7987bd3ae31","type":"equivalent"},{"evidence":{"patch_ids":["e64c1aedea53edbdb2a27f60e946cd5f"],"same_day":true,"statement_hash":"0a67a694ed58e0baf5b93141608db1f69dce394feec5bdb8f7c817eb8767ed8d"},"rule":2,"target":"b5b8b7b90208d81bd67592a4a8638877","type":"equivalent"},{"evidence":{"patch_ids":["e64c1aedea53edbdb2a27f60e946cd5f"],"same_day":true,"statement_hash":"0a67a694ed58e0baf5b93141608db1f69dce394feec5bdb8f7c817eb8767ed8d"},"rule":2,"target":"d41730767b50746673b7b49da97f6bb1","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["6e2ac8d66"],"source_entry_id":"9.6.17/changes/013","source_hash":"8c0700d91b9d82d47ef15f3b31d5033089d21951a0ccf0f8319a4588fbea4992","source_url":"/docs/release/9.6.17/#id-1.11.6.12.5","statement_hash":"0a67a694ed58e0baf5b93141608db1f69dce394feec5bdb8f7c817eb8767ed8d","text":"修复公元前日期的 EXTRACT(ISOYEAR FROM timestamp) 的差一结果（Tom Lane）","title":"修复公元前日期的 EXTRACT(ISOYEAR FROM timestamp) 的差一结果","variants":[],"version":"9.6.17"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["4a0aab14d","5186f7625","52434ba73","669138ebd","b9f3d7a53","bcd541897","f09829017"],"commit_groups":[["4a0aab14d","5186f7625","52434ba73","669138ebd","b9f3d7a53","bcd541897","f09829017"]],"commits":[],"cves":[],"db_id":"1b330957449f4b21da4a1725df3776af","html":"\u003cp\u003e避免系统目录中存在自引用视图时 \u003ccode\u003einformation_schema\u003c/code\u003e 视图中的栈溢出（Tom Lane）\u003c/p\u003e\n\u003cp\u003e自引用视图无法工作；它总是导致无限递归。我们在尝试执行该视图时能正确处理这种情况，但在查询它是否自动可更新时不能。\u003c/p\u003e","id":"9.6.17-1a4a5880e6239261","identity_text":"Avoid stack overflow in information_schema views when a self-referential view exists in the system catalogs (Tom Lane) A self-referential view can't work; it will always result in infinite recursion. We handled that situation correctly when trying to execute the view, but not when inquiring whether it is automatically updatable.","part":"changes","patch_ids":["ee445a89d96850907b66829bdd2041c7"],"related_changes":[{"db_id":"acf1d52fad98389a471114b8df0c0fdc","evidence":{"patch_ids":["ee445a89d96850907b66829bdd2041c7"],"same_day":true,"statement_hash":"d38af59ef3e029aa8eb8934c03824ef4b851b43bc0892f344b143600ae7807ce"},"kind":"equivalent","label":"12.2","source_url":"/docs/release/12.2/#id-1.11.6.26.5","title":"避免系统目录中存在自引用视图时 information_schema 视图发生栈溢出","url":"/docs/compare/?release=12.2#12.2-78335de878eb3d78","version":"12.2"},{"db_id":"e552e8dba5a3299576dfb60b582319bc","evidence":{"patch_ids":["ee445a89d96850907b66829bdd2041c7"],"same_day":true,"statement_hash":"d38af59ef3e029aa8eb8934c03824ef4b851b43bc0892f344b143600ae7807ce"},"kind":"equivalent","label":"11.7","source_url":"/docs/release/11.7/#id-1.11.6.20.5","title":"避免系统目录中存在自引用视图时 information_schema 视图发生栈溢出","url":"/docs/compare/?release=11.7#11.7-a585e920494ebca6","version":"11.7"},{"db_id":"b491675de114029fc48083e9392427fe","evidence":{"patch_ids":["ee445a89d96850907b66829bdd2041c7"],"same_day":true,"statement_hash":"d38af59ef3e029aa8eb8934c03824ef4b851b43bc0892f344b143600ae7807ce"},"kind":"equivalent","label":"10.12","source_url":"/docs/release/10.12/#id-1.11.6.16.5","title":"避免系统目录中存在自引用视图时 information_schema 视图发生栈溢出","url":"/docs/compare/?release=10.12#10.12-a585e920494ebca6","version":"10.12"},{"db_id":"b933e5d77c8aa2e81fd04399a0e55040","evidence":{"patch_ids":["ee445a89d96850907b66829bdd2041c7"],"same_day":true,"statement_hash":"d38af59ef3e029aa8eb8934c03824ef4b851b43bc0892f344b143600ae7807ce"},"kind":"equivalent","label":"9.5.21","source_url":"/docs/release/9.5.21/#id-1.11.6.9.5","title":"避免系统目录中存在自引用视图时 information_schema 视图中的栈溢出","url":"/docs/compare/?release=9.5.21#9.5.21-1a4a5880e6239261","version":"9.5.21"},{"db_id":"4c60a3ca30b315e9f22ac913e2ce2d4b","evidence":{"patch_ids":["ee445a89d96850907b66829bdd2041c7"],"same_day":true,"statement_hash":"d38af59ef3e029aa8eb8934c03824ef4b851b43bc0892f344b143600ae7807ce"},"kind":"equivalent","label":"9.4.26","source_url":"/docs/release/9.4.26/#id-1.11.6.5.6","title":"避免系统目录中存在自引用视图时 information_schema 视图中的栈溢出","url":"/docs/compare/?release=9.4.26#9.4.26-1a4a5880e6239261","version":"9.4.26"}],"relations":[{"evidence":{"patch_ids":["ee445a89d96850907b66829bdd2041c7"],"same_day":true,"statement_hash":"d38af59ef3e029aa8eb8934c03824ef4b851b43bc0892f344b143600ae7807ce"},"rule":2,"target":"4c60a3ca30b315e9f22ac913e2ce2d4b","type":"equivalent"},{"evidence":{"patch_ids":["ee445a89d96850907b66829bdd2041c7"],"same_day":true,"statement_hash":"d38af59ef3e029aa8eb8934c03824ef4b851b43bc0892f344b143600ae7807ce"},"rule":2,"target":"acf1d52fad98389a471114b8df0c0fdc","type":"equivalent"},{"evidence":{"patch_ids":["ee445a89d96850907b66829bdd2041c7"],"same_day":true,"statement_hash":"d38af59ef3e029aa8eb8934c03824ef4b851b43bc0892f344b143600ae7807ce"},"rule":2,"target":"b491675de114029fc48083e9392427fe","type":"equivalent"},{"evidence":{"patch_ids":["ee445a89d96850907b66829bdd2041c7"],"same_day":true,"statement_hash":"d38af59ef3e029aa8eb8934c03824ef4b851b43bc0892f344b143600ae7807ce"},"rule":2,"target":"b933e5d77c8aa2e81fd04399a0e55040","type":"equivalent"},{"evidence":{"patch_ids":["ee445a89d96850907b66829bdd2041c7"],"same_day":true,"statement_hash":"d38af59ef3e029aa8eb8934c03824ef4b851b43bc0892f344b143600ae7807ce"},"rule":2,"target":"e552e8dba5a3299576dfb60b582319bc","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["52434ba73"],"source_entry_id":"9.6.17/changes/014","source_hash":"4137c5b7625f4d5cc1e46b9daf3d378bd89d98b5eaeef8698089eddba7d7b424","source_url":"/docs/release/9.6.17/#id-1.11.6.12.5","statement_hash":"d38af59ef3e029aa8eb8934c03824ef4b851b43bc0892f344b143600ae7807ce","text":"避免系统目录中存在自引用视图时 information_schema 视图中的栈溢出（Tom Lane） 自引用视图无法工作；它总是导致无限递归。我们在尝试执行该视图时能正确处理这种情况，但在查询它是否自动可更新时不能。","title":"避免系统目录中存在自引用视图时 information_schema 视图中的栈溢出","variants":[],"version":"9.6.17"},{"also_in":[],"category":"performance","category_label":"Performance","commit_aliases":["15861deb6","5c0a132cf","8052aaf52","893eaf0be","8e89bc6df","9e551a14c","e69d64454"],"commit_groups":[["15861deb6","5c0a132cf","8052aaf52","893eaf0be","8e89bc6df","9e551a14c","e69d64454"]],"commits":[],"cves":[],"db_id":"b3cb781746ac72afd92d36eb4d30e449","html":"\u003cp\u003e改进有超大内侧关系的哈希连接的性能（Thomas Munro）\u003c/p\u003e","id":"9.6.17-ba72bdf7449915cf","identity_text":"Improve performance of hash joins with very large inner relations (Thomas Munro)","part":"changes","patch_ids":["4fd40ea9c8ea4eadf6c96b64d56d3642"],"related_changes":[{"db_id":"17ab53f94dcefd2c93fabf044fcac49e","evidence":{"patch_ids":["4fd40ea9c8ea4eadf6c96b64d56d3642"],"same_day":true,"statement_hash":"2df267ae22df679eccfb91c9e704ed41b727a5277b344abfcc0fa5ca790fe3bd"},"kind":"equivalent","label":"12.2","source_url":"/docs/release/12.2/#id-1.11.6.26.5","title":"提高内侧关系非常大时的哈希连接性能","url":"/docs/compare/?release=12.2#12.2-fd4ec8b7ca5e3534","version":"12.2"},{"db_id":"d2e309cdc378e915039257fd8823d0bf","evidence":{"patch_ids":["4fd40ea9c8ea4eadf6c96b64d56d3642"],"same_day":true,"statement_hash":"2df267ae22df679eccfb91c9e704ed41b727a5277b344abfcc0fa5ca790fe3bd"},"kind":"equivalent","label":"11.7","source_url":"/docs/release/11.7/#id-1.11.6.20.5","title":"提高内侧关系非常大时的哈希连接性能","url":"/docs/compare/?release=11.7#11.7-c524cf29609d73b0","version":"11.7"},{"db_id":"116f6d8659176bcd964a41e0209aedea","evidence":{"patch_ids":["4fd40ea9c8ea4eadf6c96b64d56d3642"],"same_day":true,"statement_hash":"2df267ae22df679eccfb91c9e704ed41b727a5277b344abfcc0fa5ca790fe3bd"},"kind":"equivalent","label":"10.12","source_url":"/docs/release/10.12/#id-1.11.6.16.5","title":"提高内侧关系非常大时的哈希连接性能","url":"/docs/compare/?release=10.12#10.12-c524cf29609d73b0","version":"10.12"},{"db_id":"470ba833faa3f091a2c921a50dcf0786","evidence":{"patch_ids":["4fd40ea9c8ea4eadf6c96b64d56d3642"],"same_day":true,"statement_hash":"2df267ae22df679eccfb91c9e704ed41b727a5277b344abfcc0fa5ca790fe3bd"},"kind":"equivalent","label":"9.5.21","source_url":"/docs/release/9.5.21/#id-1.11.6.9.5","title":"改进有超大内侧关系的哈希连接的性能","url":"/docs/compare/?release=9.5.21#9.5.21-ba72bdf7449915cf","version":"9.5.21"},{"db_id":"0895ef11a5e64d19ab1da8f1b5310d96","evidence":{"patch_ids":["4fd40ea9c8ea4eadf6c96b64d56d3642"],"same_day":true,"statement_hash":"2df267ae22df679eccfb91c9e704ed41b727a5277b344abfcc0fa5ca790fe3bd"},"kind":"equivalent","label":"9.4.26","source_url":"/docs/release/9.4.26/#id-1.11.6.5.6","title":"改进有超大内侧关系的哈希连接的性能","url":"/docs/compare/?release=9.4.26#9.4.26-ba72bdf7449915cf","version":"9.4.26"}],"relations":[{"evidence":{"patch_ids":["4fd40ea9c8ea4eadf6c96b64d56d3642"],"same_day":true,"statement_hash":"2df267ae22df679eccfb91c9e704ed41b727a5277b344abfcc0fa5ca790fe3bd"},"rule":2,"target":"0895ef11a5e64d19ab1da8f1b5310d96","type":"equivalent"},{"evidence":{"patch_ids":["4fd40ea9c8ea4eadf6c96b64d56d3642"],"same_day":true,"statement_hash":"2df267ae22df679eccfb91c9e704ed41b727a5277b344abfcc0fa5ca790fe3bd"},"rule":2,"target":"116f6d8659176bcd964a41e0209aedea","type":"equivalent"},{"evidence":{"patch_ids":["4fd40ea9c8ea4eadf6c96b64d56d3642"],"same_day":true,"statement_hash":"2df267ae22df679eccfb91c9e704ed41b727a5277b344abfcc0fa5ca790fe3bd"},"rule":2,"target":"17ab53f94dcefd2c93fabf044fcac49e","type":"equivalent"},{"evidence":{"patch_ids":["4fd40ea9c8ea4eadf6c96b64d56d3642"],"same_day":true,"statement_hash":"2df267ae22df679eccfb91c9e704ed41b727a5277b344abfcc0fa5ca790fe3bd"},"rule":2,"target":"470ba833faa3f091a2c921a50dcf0786","type":"equivalent"},{"evidence":{"patch_ids":["4fd40ea9c8ea4eadf6c96b64d56d3642"],"same_day":true,"statement_hash":"2df267ae22df679eccfb91c9e704ed41b727a5277b344abfcc0fa5ca790fe3bd"},"rule":2,"target":"d2e309cdc378e915039257fd8823d0bf","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["15861deb6"],"source_entry_id":"9.6.17/changes/015","source_hash":"ea9c247303cf1e473b9f46057f918da380615d1a49456fcadda768eaa113d832","source_url":"/docs/release/9.6.17/#id-1.11.6.12.5","statement_hash":"2df267ae22df679eccfb91c9e704ed41b727a5277b344abfcc0fa5ca790fe3bd","text":"改进有超大内侧关系的哈希连接的性能（Thomas Munro）","title":"改进有超大内侧关系的哈希连接的性能","variants":[],"version":"9.6.17"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["2dd10477c","5832be6ca","652686a33","6bd567b65","70c17a812","784c58da1","8c8b456b5"],"commit_groups":[["2dd10477c","5832be6ca","652686a33","6bd567b65","70c17a812","784c58da1","8c8b456b5"]],"commits":[],"cves":[],"db_id":"0961d7751c5492d2b84a38d198cdf128","html":"\u003cp\u003e修复 \u003ccode\u003e\u0026lt;@\u003c/code\u003e 和 \u003ccode\u003e@\u0026gt;\u003c/code\u003e 范围操作符选择率计算中的边界崩溃和估计错误（Michael Paquier、Andrey Borodin、Tom Lane）\u003c/p\u003e","id":"9.6.17-8b8cb30dd25eac7f","identity_text":"Fix edge-case crashes and misestimations in selectivity calculations for the \u003c@ and @\u003e range operators (Michael Paquier, Andrey Borodin, Tom Lane)","part":"changes","patch_ids":["4425958e08be3e89a78ee9b62d849cf3"],"related_changes":[{"db_id":"4307f0bc311d7b89cc4a721613633ad8","evidence":{"patch_ids":["4425958e08be3e89a78ee9b62d849cf3"],"same_day":true,"statement_hash":"6f94d2044f860f50d8d6b357be87022695af2a03bbef74ed8e9916f71ecce695"},"kind":"equivalent","label":"12.2","source_url":"/docs/release/12.2/#id-1.11.6.26.5","title":"修复为范围操作符 \u003c@ 和 @\u003e 计算选择率时在边界情况下发生的崩溃和估算错误","url":"/docs/compare/?release=12.2#12.2-f56a7665ee2764ef","version":"12.2"},{"db_id":"aef27d6d21de7e23502c594e8807df56","evidence":{"patch_ids":["4425958e08be3e89a78ee9b62d849cf3"],"same_day":true,"statement_hash":"6f94d2044f860f50d8d6b357be87022695af2a03bbef74ed8e9916f71ecce695"},"kind":"equivalent","label":"11.7","source_url":"/docs/release/11.7/#id-1.11.6.20.5","title":"修复为范围操作符 \u003c@ 和 @\u003e 计算选择率时在边界情况下发生的崩溃和估算错误","url":"/docs/compare/?release=11.7#11.7-3914b7cb2a0346b0","version":"11.7"},{"db_id":"691c00f1e97381d8ffaec7f1f4a3c6e9","evidence":{"patch_ids":["4425958e08be3e89a78ee9b62d849cf3"],"same_day":true,"statement_hash":"6f94d2044f860f50d8d6b357be87022695af2a03bbef74ed8e9916f71ecce695"},"kind":"equivalent","label":"10.12","source_url":"/docs/release/10.12/#id-1.11.6.16.5","title":"修复为范围操作符 \u003c@ 和 @\u003e 计算选择率时在边界情况下发生的崩溃和估算错误","url":"/docs/compare/?release=10.12#10.12-3914b7cb2a0346b0","version":"10.12"},{"db_id":"be5fcc5dce8879026b2c0741f46e490c","evidence":{"patch_ids":["4425958e08be3e89a78ee9b62d849cf3"],"same_day":true,"statement_hash":"6f94d2044f860f50d8d6b357be87022695af2a03bbef74ed8e9916f71ecce695"},"kind":"equivalent","label":"9.5.21","source_url":"/docs/release/9.5.21/#id-1.11.6.9.5","title":"修复 \u003c@ 和 @\u003e 范围操作符选择率计算中的边界崩溃和估计错误","url":"/docs/compare/?release=9.5.21#9.5.21-8b8cb30dd25eac7f","version":"9.5.21"},{"db_id":"3e9147b0ae8d405e39d48172b2657379","evidence":{"patch_ids":["4425958e08be3e89a78ee9b62d849cf3"],"same_day":true,"statement_hash":"6f94d2044f860f50d8d6b357be87022695af2a03bbef74ed8e9916f71ecce695"},"kind":"equivalent","label":"9.4.26","source_url":"/docs/release/9.4.26/#id-1.11.6.5.6","title":"修复 \u003c@ 和 @\u003e 范围操作符选择率计算中的边界崩溃和估计错误","url":"/docs/compare/?release=9.4.26#9.4.26-8b8cb30dd25eac7f","version":"9.4.26"}],"relations":[{"evidence":{"patch_ids":["4425958e08be3e89a78ee9b62d849cf3"],"same_day":true,"statement_hash":"6f94d2044f860f50d8d6b357be87022695af2a03bbef74ed8e9916f71ecce695"},"rule":2,"target":"3e9147b0ae8d405e39d48172b2657379","type":"equivalent"},{"evidence":{"patch_ids":["4425958e08be3e89a78ee9b62d849cf3"],"same_day":true,"statement_hash":"6f94d2044f860f50d8d6b357be87022695af2a03bbef74ed8e9916f71ecce695"},"rule":2,"target":"4307f0bc311d7b89cc4a721613633ad8","type":"equivalent"},{"evidence":{"patch_ids":["4425958e08be3e89a78ee9b62d849cf3"],"same_day":true,"statement_hash":"6f94d2044f860f50d8d6b357be87022695af2a03bbef74ed8e9916f71ecce695"},"rule":2,"target":"691c00f1e97381d8ffaec7f1f4a3c6e9","type":"equivalent"},{"evidence":{"patch_ids":["4425958e08be3e89a78ee9b62d849cf3"],"same_day":true,"statement_hash":"6f94d2044f860f50d8d6b357be87022695af2a03bbef74ed8e9916f71ecce695"},"rule":2,"target":"aef27d6d21de7e23502c594e8807df56","type":"equivalent"},{"evidence":{"patch_ids":["4425958e08be3e89a78ee9b62d849cf3"],"same_day":true,"statement_hash":"6f94d2044f860f50d8d6b357be87022695af2a03bbef74ed8e9916f71ecce695"},"rule":2,"target":"be5fcc5dce8879026b2c0741f46e490c","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["2dd10477c"],"source_entry_id":"9.6.17/changes/016","source_hash":"c4be8a36f9461dfa640c2307f2729b4d7361950f48d88071365cf2c9fee10e4a","source_url":"/docs/release/9.6.17/#id-1.11.6.12.5","statement_hash":"6f94d2044f860f50d8d6b357be87022695af2a03bbef74ed8e9916f71ecce695","text":"修复 \u003c@ 和 @\u003e 范围操作符选择率计算中的边界崩溃和估计错误（Michael Paquier、Andrey Borodin、Tom Lane）","title":"修复 \u003c@ 和 @\u003e 范围操作符选择率计算中的边界崩溃和估计错误","variants":[],"version":"9.6.17"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["353cd826f","9bdb1f0e3","9be6fcb3e","bb09a9414","d751ba523","fd5476b79","fd87262de"],"commit_groups":[["353cd826f","9bdb1f0e3","9be6fcb3e","bb09a9414","d751ba523","fd5476b79","fd87262de"]],"commits":[],"cves":[],"db_id":"646ae9c6eeaa9bddece446e464cf5a8b","html":"\u003cp\u003e改进对试图在带条件 \u003ccode\u003eINSTEAD\u003c/code\u003e 规则的视图上使用自动更新的错误报告（Dean Rasheed）\u003c/p\u003e\n\u003cp\u003e这从未被支持过，但此前错误只在执行时抛出，因此可能被规划器错误掩盖。\u003c/p\u003e","id":"9.6.17-2af30e94440f1b18","identity_text":"Improve error reporting for attempts to use automatic updating of views with conditional INSTEAD rules (Dean Rasheed) This has never been supported, but previously the error was thrown only at execution time, so that it could be masked by planner errors.","part":"changes","patch_ids":["83c7e47d9b1c9e8c2a4bac13bbbac361"],"related_changes":[{"db_id":"9d92be7c89b9bc2ab41a36e67bd07fa3","evidence":{"patch_ids":["83c7e47d9b1c9e8c2a4bac13bbbac361"],"same_day":true,"statement_hash":"640c1858997877f97952553ab17f0024c19eabd56a1824f1e665ebe039970517"},"kind":"equivalent","label":"12.2","source_url":"/docs/release/12.2/#id-1.11.6.26.5","title":"改进对带条件 INSTEAD 规则的视图尝试使用自动更新时的错误报告","url":"/docs/compare/?release=12.2#12.2-d1508c69413dbdc4","version":"12.2"},{"db_id":"6442085995f48457f67674804be68be5","evidence":{"patch_ids":["83c7e47d9b1c9e8c2a4bac13bbbac361"],"same_day":true,"statement_hash":"640c1858997877f97952553ab17f0024c19eabd56a1824f1e665ebe039970517"},"kind":"equivalent","label":"11.7","source_url":"/docs/release/11.7/#id-1.11.6.20.5","title":"改进对带条件 INSTEAD 规则的视图尝试使用自动更新时的错误报告","url":"/docs/compare/?release=11.7#11.7-d7ff4e00c12d1f8f","version":"11.7"},{"db_id":"c9ab6a2569ad820f5fcbce804d8d3c80","evidence":{"patch_ids":["83c7e47d9b1c9e8c2a4bac13bbbac361"],"same_day":true,"statement_hash":"640c1858997877f97952553ab17f0024c19eabd56a1824f1e665ebe039970517"},"kind":"equivalent","label":"10.12","source_url":"/docs/release/10.12/#id-1.11.6.16.5","title":"改进对带条件 INSTEAD 规则的视图尝试使用自动更新时的错误报告","url":"/docs/compare/?release=10.12#10.12-d7ff4e00c12d1f8f","version":"10.12"},{"db_id":"f0ee5749c0a83d8cc1d5c36dd742602e","evidence":{"patch_ids":["83c7e47d9b1c9e8c2a4bac13bbbac361"],"same_day":true,"statement_hash":"640c1858997877f97952553ab17f0024c19eabd56a1824f1e665ebe039970517"},"kind":"equivalent","label":"9.5.21","source_url":"/docs/release/9.5.21/#id-1.11.6.9.5","title":"改进对试图在带条件 INSTEAD 规则的视图上使用自动更新的错误报告","url":"/docs/compare/?release=9.5.21#9.5.21-2af30e94440f1b18","version":"9.5.21"},{"db_id":"ab7f2c29a2205a2026611703391223db","evidence":{"patch_ids":["83c7e47d9b1c9e8c2a4bac13bbbac361"],"same_day":true,"statement_hash":"640c1858997877f97952553ab17f0024c19eabd56a1824f1e665ebe039970517"},"kind":"equivalent","label":"9.4.26","source_url":"/docs/release/9.4.26/#id-1.11.6.5.6","title":"改进对试图在带条件 INSTEAD 规则的视图上使用自动更新的错误报告","url":"/docs/compare/?release=9.4.26#9.4.26-2af30e94440f1b18","version":"9.4.26"}],"relations":[{"evidence":{"patch_ids":["83c7e47d9b1c9e8c2a4bac13bbbac361"],"same_day":true,"statement_hash":"640c1858997877f97952553ab17f0024c19eabd56a1824f1e665ebe039970517"},"rule":2,"target":"6442085995f48457f67674804be68be5","type":"equivalent"},{"evidence":{"patch_ids":["83c7e47d9b1c9e8c2a4bac13bbbac361"],"same_day":true,"statement_hash":"640c1858997877f97952553ab17f0024c19eabd56a1824f1e665ebe039970517"},"rule":2,"target":"9d92be7c89b9bc2ab41a36e67bd07fa3","type":"equivalent"},{"evidence":{"patch_ids":["83c7e47d9b1c9e8c2a4bac13bbbac361"],"same_day":true,"statement_hash":"640c1858997877f97952553ab17f0024c19eabd56a1824f1e665ebe039970517"},"rule":2,"target":"ab7f2c29a2205a2026611703391223db","type":"equivalent"},{"evidence":{"patch_ids":["83c7e47d9b1c9e8c2a4bac13bbbac361"],"same_day":true,"statement_hash":"640c1858997877f97952553ab17f0024c19eabd56a1824f1e665ebe039970517"},"rule":2,"target":"c9ab6a2569ad820f5fcbce804d8d3c80","type":"equivalent"},{"evidence":{"patch_ids":["83c7e47d9b1c9e8c2a4bac13bbbac361"],"same_day":true,"statement_hash":"640c1858997877f97952553ab17f0024c19eabd56a1824f1e665ebe039970517"},"rule":2,"target":"f0ee5749c0a83d8cc1d5c36dd742602e","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["fd87262de"],"source_entry_id":"9.6.17/changes/017","source_hash":"a90ed90b9c10030cfb638ad722558ef71e3bd32b52fe92e49de8fc4105422549","source_url":"/docs/release/9.6.17/#id-1.11.6.12.5","statement_hash":"640c1858997877f97952553ab17f0024c19eabd56a1824f1e665ebe039970517","text":"改进对试图在带条件 INSTEAD 规则的视图上使用自动更新的错误报告（Dean Rasheed） 这从未被支持过，但此前错误只在执行时抛出，因此可能被规划器错误掩盖。","title":"改进对试图在带条件 INSTEAD 规则的视图上使用自动更新的错误报告","variants":[],"version":"9.6.17"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["0d245d13c","25dc267a1","31dfa40a8","354d913f9","4af2531d0","59047b6d0","65aa15513","6609c3ad9","742c646c1","74b35eb46","976cb11f6","de3d2df75","f521ef0ae","fc7695891"],"commit_groups":[["0d245d13c","31dfa40a8","354d913f9","4af2531d0","6609c3ad9","976cb11f6","fc7695891"],["25dc267a1","59047b6d0","65aa15513","742c646c1","74b35eb46","de3d2df75","f521ef0ae"]],"commits":[],"cves":[],"db_id":"a2f957278a64b12dad6638c4a2a238a3","html":"\u003cp\u003e防止复合类型通过范围类型间接包含自身（Tom Lane、Julien Rouhaud）\u003c/p\u003e","id":"9.6.17-48690d42f8d5438e","identity_text":"Prevent a composite type from being included in itself indirectly via a range type (Tom Lane, Julien Rouhaud)","part":"changes","patch_ids":["c52b1e33ff03c0a7dd458178601d99df","d106744efdd32c05bf5cf6e0d1da13bc"],"related_changes":[{"db_id":"e67d212ae0c11e78088262e4b34e72aa","evidence":{"patch_ids":["c52b1e33ff03c0a7dd458178601d99df","d106744efdd32c05bf5cf6e0d1da13bc"],"same_day":true,"statement_hash":"f1d1bba4b13cb2d41b5076b349c2869b1a75ad694d10325d17019e4f1e158ef0"},"kind":"equivalent","label":"12.2","source_url":"/docs/release/12.2/#id-1.11.6.26.5","title":"防止复合类型通过范围类型间接包含自身","url":"/docs/compare/?release=12.2#12.2-497f5e61d9c1b201","version":"12.2"},{"db_id":"fb5b776882ac9cf61570568881850052","evidence":{"patch_ids":["c52b1e33ff03c0a7dd458178601d99df","d106744efdd32c05bf5cf6e0d1da13bc"],"same_day":true,"statement_hash":"f1d1bba4b13cb2d41b5076b349c2869b1a75ad694d10325d17019e4f1e158ef0"},"kind":"equivalent","label":"11.7","source_url":"/docs/release/11.7/#id-1.11.6.20.5","title":"防止复合类型通过范围类型间接包含自身","url":"/docs/compare/?release=11.7#11.7-48690d42f8d5438e","version":"11.7"},{"db_id":"35c56caabddafddc3571fbc8e4d52531","evidence":{"patch_ids":["c52b1e33ff03c0a7dd458178601d99df","d106744efdd32c05bf5cf6e0d1da13bc"],"same_day":true,"statement_hash":"f1d1bba4b13cb2d41b5076b349c2869b1a75ad694d10325d17019e4f1e158ef0"},"kind":"equivalent","label":"10.12","source_url":"/docs/release/10.12/#id-1.11.6.16.5","title":"防止复合类型通过范围类型间接包含自身","url":"/docs/compare/?release=10.12#10.12-48690d42f8d5438e","version":"10.12"},{"db_id":"fffa3fefd5d79f160d2ddf4bf5538921","evidence":{"patch_ids":["c52b1e33ff03c0a7dd458178601d99df","d106744efdd32c05bf5cf6e0d1da13bc"],"same_day":true,"statement_hash":"f1d1bba4b13cb2d41b5076b349c2869b1a75ad694d10325d17019e4f1e158ef0"},"kind":"equivalent","label":"9.5.21","source_url":"/docs/release/9.5.21/#id-1.11.6.9.5","title":"防止复合类型通过范围类型间接包含自身","url":"/docs/compare/?release=9.5.21#9.5.21-48690d42f8d5438e","version":"9.5.21"},{"db_id":"2d785e978a00eda25468d8fb4cfb2f75","evidence":{"patch_ids":["c52b1e33ff03c0a7dd458178601d99df","d106744efdd32c05bf5cf6e0d1da13bc"],"same_day":true,"statement_hash":"f1d1bba4b13cb2d41b5076b349c2869b1a75ad694d10325d17019e4f1e158ef0"},"kind":"equivalent","label":"9.4.26","source_url":"/docs/release/9.4.26/#id-1.11.6.5.6","title":"防止复合类型通过范围类型间接包含自身","url":"/docs/compare/?release=9.4.26#9.4.26-48690d42f8d5438e","version":"9.4.26"}],"relations":[{"evidence":{"patch_ids":["c52b1e33ff03c0a7dd458178601d99df","d106744efdd32c05bf5cf6e0d1da13bc"],"same_day":true,"statement_hash":"f1d1bba4b13cb2d41b5076b349c2869b1a75ad694d10325d17019e4f1e158ef0"},"rule":2,"target":"2d785e978a00eda25468d8fb4cfb2f75","type":"equivalent"},{"evidence":{"patch_ids":["c52b1e33ff03c0a7dd458178601d99df","d106744efdd32c05bf5cf6e0d1da13bc"],"same_day":true,"statement_hash":"f1d1bba4b13cb2d41b5076b349c2869b1a75ad694d10325d17019e4f1e158ef0"},"rule":2,"target":"35c56caabddafddc3571fbc8e4d52531","type":"equivalent"},{"evidence":{"patch_ids":["c52b1e33ff03c0a7dd458178601d99df","d106744efdd32c05bf5cf6e0d1da13bc"],"same_day":true,"statement_hash":"f1d1bba4b13cb2d41b5076b349c2869b1a75ad694d10325d17019e4f1e158ef0"},"rule":2,"target":"e67d212ae0c11e78088262e4b34e72aa","type":"equivalent"},{"evidence":{"patch_ids":["c52b1e33ff03c0a7dd458178601d99df","d106744efdd32c05bf5cf6e0d1da13bc"],"same_day":true,"statement_hash":"f1d1bba4b13cb2d41b5076b349c2869b1a75ad694d10325d17019e4f1e158ef0"},"rule":2,"target":"fb5b776882ac9cf61570568881850052","type":"equivalent"},{"evidence":{"patch_ids":["c52b1e33ff03c0a7dd458178601d99df","d106744efdd32c05bf5cf6e0d1da13bc"],"same_day":true,"statement_hash":"f1d1bba4b13cb2d41b5076b349c2869b1a75ad694d10325d17019e4f1e158ef0"},"rule":2,"target":"fffa3fefd5d79f160d2ddf4bf5538921","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["354d913f9","742c646c1"],"source_entry_id":"9.6.17/changes/018","source_hash":"42113818971343b95c7d380201570a8dad0f7bd57c6dcb8fa907e3c7a655a9a0","source_url":"/docs/release/9.6.17/#id-1.11.6.12.5","statement_hash":"f1d1bba4b13cb2d41b5076b349c2869b1a75ad694d10325d17019e4f1e158ef0","text":"防止复合类型通过范围类型间接包含自身（Tom Lane、Julien Rouhaud）","title":"防止复合类型通过范围类型间接包含自身","variants":[],"version":"9.6.17"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["275a8ac4f","298d056d9","2acab054b","5c5a268c6","97ba30fab","da5dd4218","fc449abc3"],"commit_groups":[["275a8ac4f","298d056d9","2acab054b","5c5a268c6","97ba30fab","da5dd4218","fc449abc3"]],"commits":[],"cves":[],"db_id":"4c8354beb60a5626a666682abda93b92","html":"\u003cp\u003e修复对禁止类型索引表达式的错误报告（Amit Langote）\u003c/p\u003e","id":"9.6.17-e4b18e7f6b9a4016","identity_text":"Fix error reporting for index expressions of prohibited types (Amit Langote)","part":"changes","patch_ids":["9ebd2a16b818858b89002e88642403f2"],"related_changes":[{"db_id":"e8ba847993f879f935751b4d4f862b2c","evidence":{"patch_ids":["9ebd2a16b818858b89002e88642403f2"],"same_day":true,"statement_hash":"28d1e927697d02690e4caea98e721555cea4c2b840ec748b42cd629016dc759c"},"kind":"equivalent","label":"12.2","source_url":"/docs/release/12.2/#id-1.11.6.26.5","title":"修复索引表达式使用禁止的类型时的错误报告","url":"/docs/compare/?release=12.2#12.2-6143d250a536d32b","version":"12.2"},{"db_id":"d703eb963ada69f3f8f94e175186b02a","evidence":{"patch_ids":["9ebd2a16b818858b89002e88642403f2"],"same_day":true,"statement_hash":"28d1e927697d02690e4caea98e721555cea4c2b840ec748b42cd629016dc759c"},"kind":"equivalent","label":"11.7","source_url":"/docs/release/11.7/#id-1.11.6.20.5","title":"修复索引表达式使用禁止的类型时的错误报告","url":"/docs/compare/?release=11.7#11.7-a5b54460a1e82b29","version":"11.7"},{"db_id":"1bdd4656461fd2b6d206dbe16e040209","evidence":{"patch_ids":["9ebd2a16b818858b89002e88642403f2"],"same_day":true,"statement_hash":"28d1e927697d02690e4caea98e721555cea4c2b840ec748b42cd629016dc759c"},"kind":"equivalent","label":"10.12","source_url":"/docs/release/10.12/#id-1.11.6.16.5","title":"修复索引表达式使用禁止的类型时的错误报告","url":"/docs/compare/?release=10.12#10.12-a5b54460a1e82b29","version":"10.12"},{"db_id":"c68cb246482528c6d028f8424cbc1206","evidence":{"patch_ids":["9ebd2a16b818858b89002e88642403f2"],"same_day":true,"statement_hash":"28d1e927697d02690e4caea98e721555cea4c2b840ec748b42cd629016dc759c"},"kind":"equivalent","label":"9.5.21","source_url":"/docs/release/9.5.21/#id-1.11.6.9.5","title":"修复对禁止类型索引表达式的错误报告","url":"/docs/compare/?release=9.5.21#9.5.21-e4b18e7f6b9a4016","version":"9.5.21"},{"db_id":"c67e1dcc68db8ad7eaad8c63d5deabf3","evidence":{"patch_ids":["9ebd2a16b818858b89002e88642403f2"],"same_day":true,"statement_hash":"28d1e927697d02690e4caea98e721555cea4c2b840ec748b42cd629016dc759c"},"kind":"equivalent","label":"9.4.26","source_url":"/docs/release/9.4.26/#id-1.11.6.5.6","title":"修复对禁止类型索引表达式的错误报告","url":"/docs/compare/?release=9.4.26#9.4.26-e4b18e7f6b9a4016","version":"9.4.26"}],"relations":[{"evidence":{"patch_ids":["9ebd2a16b818858b89002e88642403f2"],"same_day":true,"statement_hash":"28d1e927697d02690e4caea98e721555cea4c2b840ec748b42cd629016dc759c"},"rule":2,"target":"1bdd4656461fd2b6d206dbe16e040209","type":"equivalent"},{"evidence":{"patch_ids":["9ebd2a16b818858b89002e88642403f2"],"same_day":true,"statement_hash":"28d1e927697d02690e4caea98e721555cea4c2b840ec748b42cd629016dc759c"},"rule":2,"target":"c67e1dcc68db8ad7eaad8c63d5deabf3","type":"equivalent"},{"evidence":{"patch_ids":["9ebd2a16b818858b89002e88642403f2"],"same_day":true,"statement_hash":"28d1e927697d02690e4caea98e721555cea4c2b840ec748b42cd629016dc759c"},"rule":2,"target":"c68cb246482528c6d028f8424cbc1206","type":"equivalent"},{"evidence":{"patch_ids":["9ebd2a16b818858b89002e88642403f2"],"same_day":true,"statement_hash":"28d1e927697d02690e4caea98e721555cea4c2b840ec748b42cd629016dc759c"},"rule":2,"target":"d703eb963ada69f3f8f94e175186b02a","type":"equivalent"},{"evidence":{"patch_ids":["9ebd2a16b818858b89002e88642403f2"],"same_day":true,"statement_hash":"28d1e927697d02690e4caea98e721555cea4c2b840ec748b42cd629016dc759c"},"rule":2,"target":"e8ba847993f879f935751b4d4f862b2c","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["275a8ac4f"],"source_entry_id":"9.6.17/changes/019","source_hash":"20695d5a33e1805e533c87ae85745b0a899879353436f132c357a9fc5646b576","source_url":"/docs/release/9.6.17/#id-1.11.6.12.5","statement_hash":"28d1e927697d02690e4caea98e721555cea4c2b840ec748b42cd629016dc759c","text":"修复对禁止类型索引表达式的错误报告（Amit Langote）","title":"修复对禁止类型索引表达式的错误报告","variants":[],"version":"9.6.17"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["65da6dd1d","a1b2cf095","bf2efc55d","d898edf4f","e4865bbdc","ecb533af6","fcaf29d87"],"commit_groups":[["65da6dd1d","a1b2cf095","bf2efc55d","d898edf4f","e4865bbdc","ecb533af6","fcaf29d87"]],"commits":[],"cves":[],"db_id":"c5a470b36ead1242493daddc8fb98bc3","html":"\u003cp\u003e修复仅包含 \u003ccode\u003eVALUES\u003c/code\u003e 列表的视图的转储，以处理视图输出列被改名的情况（Tom Lane）\u003c/p\u003e","id":"9.6.17-271ea55e3cdb7c40","identity_text":"Fix dumping of views that contain only a VALUES list to handle cases where a view output column has been renamed (Tom Lane)","part":"changes","patch_ids":["d0e5f9a5954b0ba7bf2c6cded4624789"],"related_changes":[{"db_id":"b4b2f6890a3b567f11f25ea786365222","evidence":{"patch_ids":["d0e5f9a5954b0ba7bf2c6cded4624789"],"same_day":true,"statement_hash":"30dd3a000cd75714571897ab68be85070f76b5e6845e37b477eb18f25418d8db"},"kind":"equivalent","label":"12.2","source_url":"/docs/release/12.2/#id-1.11.6.26.5","title":"修复仅包含 VALUES 列表的视图的转储，使其能够处理视图输出列被重命名的情况","url":"/docs/compare/?release=12.2#12.2-6951d1f6b70962f5","version":"12.2"},{"db_id":"dc0527aebbd5c1db7a8a5297167be3f1","evidence":{"patch_ids":["d0e5f9a5954b0ba7bf2c6cded4624789"],"same_day":true,"statement_hash":"30dd3a000cd75714571897ab68be85070f76b5e6845e37b477eb18f25418d8db"},"kind":"equivalent","label":"11.7","source_url":"/docs/release/11.7/#id-1.11.6.20.5","title":"修复仅包含 VALUES 列表的视图的转储，使其能够处理视图输出列被重命名的情况","url":"/docs/compare/?release=11.7#11.7-3a20ba2926c3cd68","version":"11.7"},{"db_id":"04dbf98c6fd89d5d83a6ee1523f36485","evidence":{"patch_ids":["d0e5f9a5954b0ba7bf2c6cded4624789"],"same_day":true,"statement_hash":"30dd3a000cd75714571897ab68be85070f76b5e6845e37b477eb18f25418d8db"},"kind":"equivalent","label":"10.12","source_url":"/docs/release/10.12/#id-1.11.6.16.5","title":"修复仅包含 VALUES 列表的视图的转储，使其能够处理视图输出列被重命名的情况","url":"/docs/compare/?release=10.12#10.12-3a20ba2926c3cd68","version":"10.12"},{"db_id":"d463514a5b782724319f0c99cd0e05d3","evidence":{"patch_ids":["d0e5f9a5954b0ba7bf2c6cded4624789"],"same_day":true,"statement_hash":"30dd3a000cd75714571897ab68be85070f76b5e6845e37b477eb18f25418d8db"},"kind":"equivalent","label":"9.5.21","source_url":"/docs/release/9.5.21/#id-1.11.6.9.5","title":"修复仅包含 VALUES 列表的视图的转储，以处理视图输出列被改名的情况","url":"/docs/compare/?release=9.5.21#9.5.21-271ea55e3cdb7c40","version":"9.5.21"},{"db_id":"4e641d633934a272f25b013ed45ef490","evidence":{"patch_ids":["d0e5f9a5954b0ba7bf2c6cded4624789"],"same_day":true,"statement_hash":"30dd3a000cd75714571897ab68be85070f76b5e6845e37b477eb18f25418d8db"},"kind":"equivalent","label":"9.4.26","source_url":"/docs/release/9.4.26/#id-1.11.6.5.6","title":"修复仅包含 VALUES 列表的视图的转储，以处理视图输出列被改名的情况","url":"/docs/compare/?release=9.4.26#9.4.26-271ea55e3cdb7c40","version":"9.4.26"}],"relations":[{"evidence":{"patch_ids":["d0e5f9a5954b0ba7bf2c6cded4624789"],"same_day":true,"statement_hash":"30dd3a000cd75714571897ab68be85070f76b5e6845e37b477eb18f25418d8db"},"rule":2,"target":"04dbf98c6fd89d5d83a6ee1523f36485","type":"equivalent"},{"evidence":{"patch_ids":["d0e5f9a5954b0ba7bf2c6cded4624789"],"same_day":true,"statement_hash":"30dd3a000cd75714571897ab68be85070f76b5e6845e37b477eb18f25418d8db"},"rule":2,"target":"4e641d633934a272f25b013ed45ef490","type":"equivalent"},{"evidence":{"patch_ids":["d0e5f9a5954b0ba7bf2c6cded4624789"],"same_day":true,"statement_hash":"30dd3a000cd75714571897ab68be85070f76b5e6845e37b477eb18f25418d8db"},"rule":2,"target":"b4b2f6890a3b567f11f25ea786365222","type":"equivalent"},{"evidence":{"patch_ids":["d0e5f9a5954b0ba7bf2c6cded4624789"],"same_day":true,"statement_hash":"30dd3a000cd75714571897ab68be85070f76b5e6845e37b477eb18f25418d8db"},"rule":2,"target":"d463514a5b782724319f0c99cd0e05d3","type":"equivalent"},{"evidence":{"patch_ids":["d0e5f9a5954b0ba7bf2c6cded4624789"],"same_day":true,"statement_hash":"30dd3a000cd75714571897ab68be85070f76b5e6845e37b477eb18f25418d8db"},"rule":2,"target":"dc0527aebbd5c1db7a8a5297167be3f1","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["e4865bbdc"],"source_entry_id":"9.6.17/changes/020","source_hash":"f9c3cd26c99745837db498fdafca21abc88a7e64b854ef655b5dfe0b81a177e9","source_url":"/docs/release/9.6.17/#id-1.11.6.12.5","statement_hash":"30dd3a000cd75714571897ab68be85070f76b5e6845e37b477eb18f25418d8db","text":"修复仅包含 VALUES 列表的视图的转储，以处理视图输出列被改名的情况（Tom Lane）","title":"修复仅包含 VALUES 列表的视图的转储，以处理视图输出列被改名的情况","variants":[],"version":"9.6.17"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["111298aa6","377d1b95b","790026972","c47f498c9","dbe15524b"],"commit_groups":[["111298aa6","377d1b95b","790026972","c47f498c9","dbe15524b"]],"commits":[],"cves":[],"db_id":"f7b4edeffd8f7e2bbd60da7e8191bcaf","html":"\u003cp\u003e把传入的 \u003ccode\u003eNOTIFY\u003c/code\u003e 消息在发送 \u003ccode\u003eReadyForQuery\u003c/code\u003e 之前而不是之后传给客户端（Tom Lane）\u003c/p\u003e\n\u003cp\u003e这一更改确保在使用 libpq 及行为类似它的其他客户端库时，事务期间收到的任何通知在客户端认为事务完成之时都已可用。这在实际应用中可能没有差别（反正都需要应对异步通知）；但它使构建行为可重现的测试用例更容易。\u003c/p\u003e","id":"9.6.17-c62c77f1fc1b6427","identity_text":"Transmit incoming NOTIFY messages to the client before sending ReadyForQuery, rather than after (Tom Lane) This change ensures that, with libpq and other client libraries that act similarly to it, any notifications received during a transaction will be available by the time the client thinks the transaction is complete. This probably makes no difference in practical applications (which would need to cope with asynchronous notifications in any case); but it makes it easier to build test cases with reproducible behavior.","part":"changes","patch_ids":["143ac7220b04444a8a549b7e07106f4c"],"related_changes":[{"db_id":"a39c1e72595c5bfe66bdafb5f1287cbf","evidence":{"patch_ids":["143ac7220b04444a8a549b7e07106f4c"],"same_day":true,"statement_hash":"8312a6e591ff94226aa79fbd57a837b0f77fedcc878f005bd0cf9b138118552a"},"kind":"equivalent","label":"12.2","source_url":"/docs/release/12.2/#id-1.11.6.26.5","title":"在发送 ReadyForQuery 之前向客户端传送收到的 NOTIFY 消息，而非在之后发送","url":"/docs/compare/?release=12.2#12.2-889874eb8cc1b3e7","version":"12.2"},{"db_id":"0d54b92cb025561e0cae46f0875d9f49","evidence":{"patch_ids":["143ac7220b04444a8a549b7e07106f4c"],"same_day":true,"statement_hash":"8312a6e591ff94226aa79fbd57a837b0f77fedcc878f005bd0cf9b138118552a"},"kind":"equivalent","label":"11.7","source_url":"/docs/release/11.7/#id-1.11.6.20.5","title":"在发送 ReadyForQuery 之前向客户端传送收到的 NOTIFY 消息，而非在之后发送","url":"/docs/compare/?release=11.7#11.7-8d456906e9cde243","version":"11.7"},{"db_id":"c119abea7e9d42151b4f9b00b579082b","evidence":{"patch_ids":["143ac7220b04444a8a549b7e07106f4c"],"same_day":true,"statement_hash":"8312a6e591ff94226aa79fbd57a837b0f77fedcc878f005bd0cf9b138118552a"},"kind":"equivalent","label":"10.12","source_url":"/docs/release/10.12/#id-1.11.6.16.5","title":"在发送 ReadyForQuery 之前向客户端传送收到的 NOTIFY 消息，而非在之后发送","url":"/docs/compare/?release=10.12#10.12-8d456906e9cde243","version":"10.12"}],"relations":[{"evidence":{"patch_ids":["143ac7220b04444a8a549b7e07106f4c"],"same_day":true,"statement_hash":"8312a6e591ff94226aa79fbd57a837b0f77fedcc878f005bd0cf9b138118552a"},"rule":2,"target":"0d54b92cb025561e0cae46f0875d9f49","type":"equivalent"},{"evidence":{"patch_ids":["143ac7220b04444a8a549b7e07106f4c"],"same_day":true,"statement_hash":"8312a6e591ff94226aa79fbd57a837b0f77fedcc878f005bd0cf9b138118552a"},"rule":2,"target":"a39c1e72595c5bfe66bdafb5f1287cbf","type":"equivalent"},{"evidence":{"patch_ids":["143ac7220b04444a8a549b7e07106f4c"],"same_day":true,"statement_hash":"8312a6e591ff94226aa79fbd57a837b0f77fedcc878f005bd0cf9b138118552a"},"rule":2,"target":"c119abea7e9d42151b4f9b00b579082b","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["111298aa6"],"source_entry_id":"9.6.17/changes/021","source_hash":"53741ecbef9c45c8cca27f721f703a9cd58e483c8986fca31daa2903b96341d3","source_url":"/docs/release/9.6.17/#id-1.11.6.12.5","statement_hash":"8312a6e591ff94226aa79fbd57a837b0f77fedcc878f005bd0cf9b138118552a","text":"把传入的 NOTIFY 消息在发送 ReadyForQuery 之前而不是之后传给客户端（Tom Lane） 这一更改确保在使用 libpq 及行为类似它的其他客户端库时，事务期间收到的任何通知在客户端认为事务完成之时都已可用。这在实际应用中可能没有差别（反正都需要应对异步通知）；但它使构建行为可重现的测试用例更容易。","title":"把传入的 NOTIFY 消息在发送 ReadyForQuery 之前而不是之后传给客户端","variants":[],"version":"9.6.17"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["1a77ea02d","5e22a1111","875c7d70d","c11bd6c10","d09cfa3e2","e60b480d3","e8f60e6fe"],"commit_groups":[["1a77ea02d","5e22a1111","875c7d70d","c11bd6c10","d09cfa3e2","e60b480d3","e8f60e6fe"]],"commits":[],"cves":[],"db_id":"403244521d4fdb482380e481cc2ced93","html":"\u003cp\u003e允许 \u003cspan\u003elibpq\u003c/span\u003e 在未编译 GSSAPI 代码时也解析所有与 GSS 相关的连接参数（Tom Lane）\u003c/p\u003e\n\u003cp\u003e这使行为与我们的 SSL 支持相似——很久以前我们就认为始终接受所有相关参数是个好主意，即使在特定构建中因缺少该特性而忽略或限制某些参数。\u003c/p\u003e","id":"9.6.17-1eba4957cff6dc49","identity_text":"Allow libpq to parse all GSS-related connection parameters even when the GSSAPI code hasn't been compiled in (Tom Lane) This makes the behavior similar to our SSL support, where it was long ago deemed to be a good idea to always accept all the related parameters, even if some are ignored or restricted due to lack of the feature in a particular build.","part":"changes","patch_ids":["545032ece7d355adeec65ef480fad60d"],"related_changes":[{"db_id":"b722089a0263aa3d6c363961a1789ede","evidence":{"patch_ids":["545032ece7d355adeec65ef480fad60d"],"same_day":true,"statement_hash":"1206a1ac182d983384194ddf901975451c4f893e2c798f2df70cc5614c46e763"},"kind":"equivalent","label":"12.2","source_url":"/docs/release/12.2/#id-1.11.6.26.5","title":"即使未编译 GSSAPI 代码，也允许 libpq 解析所有与 GSS 有关的连接参数","url":"/docs/compare/?release=12.2#12.2-fe8985d3df13efcf","version":"12.2"},{"db_id":"1bb2f6337ba2898734544030a669e49d","evidence":{"patch_ids":["545032ece7d355adeec65ef480fad60d"],"same_day":true,"statement_hash":"1206a1ac182d983384194ddf901975451c4f893e2c798f2df70cc5614c46e763"},"kind":"equivalent","label":"11.7","source_url":"/docs/release/11.7/#id-1.11.6.20.5","title":"即使未编译 GSSAPI 代码，也允许 libpq 解析所有与 GSS 有关的连接参数","url":"/docs/compare/?release=11.7#11.7-a18dd44ba61d6ab0","version":"11.7"},{"db_id":"784fb8e33c762755c78c61d3c0255575","evidence":{"patch_ids":["545032ece7d355adeec65ef480fad60d"],"same_day":true,"statement_hash":"1206a1ac182d983384194ddf901975451c4f893e2c798f2df70cc5614c46e763"},"kind":"equivalent","label":"10.12","source_url":"/docs/release/10.12/#id-1.11.6.16.5","title":"即使未编译 GSSAPI 代码，也允许 libpq 解析所有与 GSS 有关的连接参数","url":"/docs/compare/?release=10.12#10.12-a18dd44ba61d6ab0","version":"10.12"},{"db_id":"2d073031d898b2ce379669b11bf00500","evidence":{"patch_ids":["545032ece7d355adeec65ef480fad60d"],"same_day":true,"statement_hash":"1206a1ac182d983384194ddf901975451c4f893e2c798f2df70cc5614c46e763"},"kind":"equivalent","label":"9.5.21","source_url":"/docs/release/9.5.21/#id-1.11.6.9.5","title":"允许 libpq 在未编译 GSSAPI 代码时也解析所有与 GSS 相关的连接参数","url":"/docs/compare/?release=9.5.21#9.5.21-1eba4957cff6dc49","version":"9.5.21"},{"db_id":"484d7d42670f34504842f8b64f8610bc","evidence":{"patch_ids":["545032ece7d355adeec65ef480fad60d"],"same_day":true,"statement_hash":"1206a1ac182d983384194ddf901975451c4f893e2c798f2df70cc5614c46e763"},"kind":"equivalent","label":"9.4.26","source_url":"/docs/release/9.4.26/#id-1.11.6.5.6","title":"允许 libpq 在未编译 GSSAPI 代码时也解析所有与 GSS 相关的连接参数","url":"/docs/compare/?release=9.4.26#9.4.26-1eba4957cff6dc49","version":"9.4.26"}],"relations":[{"evidence":{"patch_ids":["545032ece7d355adeec65ef480fad60d"],"same_day":true,"statement_hash":"1206a1ac182d983384194ddf901975451c4f893e2c798f2df70cc5614c46e763"},"rule":2,"target":"1bb2f6337ba2898734544030a669e49d","type":"equivalent"},{"evidence":{"patch_ids":["545032ece7d355adeec65ef480fad60d"],"same_day":true,"statement_hash":"1206a1ac182d983384194ddf901975451c4f893e2c798f2df70cc5614c46e763"},"rule":2,"target":"2d073031d898b2ce379669b11bf00500","type":"equivalent"},{"evidence":{"patch_ids":["545032ece7d355adeec65ef480fad60d"],"same_day":true,"statement_hash":"1206a1ac182d983384194ddf901975451c4f893e2c798f2df70cc5614c46e763"},"rule":2,"target":"484d7d42670f34504842f8b64f8610bc","type":"equivalent"},{"evidence":{"patch_ids":["545032ece7d355adeec65ef480fad60d"],"same_day":true,"statement_hash":"1206a1ac182d983384194ddf901975451c4f893e2c798f2df70cc5614c46e763"},"rule":2,"target":"784fb8e33c762755c78c61d3c0255575","type":"equivalent"},{"evidence":{"patch_ids":["545032ece7d355adeec65ef480fad60d"],"same_day":true,"statement_hash":"1206a1ac182d983384194ddf901975451c4f893e2c798f2df70cc5614c46e763"},"rule":2,"target":"b722089a0263aa3d6c363961a1789ede","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["c11bd6c10"],"source_entry_id":"9.6.17/changes/022","source_hash":"6bb4a12738abdd750816a2c4baebcd5ca131dcbd4bc10b862310251e5731286d","source_url":"/docs/release/9.6.17/#id-1.11.6.12.5","statement_hash":"1206a1ac182d983384194ddf901975451c4f893e2c798f2df70cc5614c46e763","text":"允许 libpq 在未编译 GSSAPI 代码时也解析所有与 GSS 相关的连接参数（Tom Lane） 这使行为与我们的 SSL 支持相似——很久以前我们就认为始终接受所有相关参数是个好主意，即使在特定构建中因缺少该特性而忽略或限制某些参数。","title":"允许 libpq 在未编译 GSSAPI 代码时也解析所有与 GSS 相关的连接参数","variants":[],"version":"9.6.17"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["0dafed6fe","3ff660bbe","9668bf5d5","a17602de1","c59414da7","d9b974e99","f71b22f53"],"commit_groups":[["0dafed6fe","3ff660bbe","9668bf5d5","a17602de1","c59414da7","d9b974e99","f71b22f53"]],"commits":[],"cves":[],"db_id":"ccd200283e6eaabea774bf29b3a5c9b0","html":"\u003cp\u003e修复 \u003cspan\u003eecpg\u003c/span\u003e 的 \u003ccode\u003ePGTYPEStimestamp_fmt_asc()\u003c/code\u003e 函数中 \u003ccode\u003e%b\u003c/code\u003e 和 \u003ccode\u003e%B\u003c/code\u003e 格式代码的错误处理（Tomas Vondra）\u003c/p\u003e\n\u003cp\u003e由于差一错误，这些代码会打印错误的月份名称，或者可能崩溃。\u003c/p\u003e","id":"9.6.17-0c629553afdfef1a","identity_text":"Fix incorrect handling of %b and %B format codes in ecpg's PGTYPEStimestamp_fmt_asc() function (Tomas Vondra) Due to an off-by-one error, these codes would print the wrong month name, or possibly crash.","part":"changes","patch_ids":["98ce3485e7421c58dabcd04707a8b4dc"],"related_changes":[{"db_id":"7fc768077bbbaba7bb2800f2d9790945","evidence":{"patch_ids":["98ce3485e7421c58dabcd04707a8b4dc"],"same_day":true,"statement_hash":"55f40e67e7ff67ce051d1e229c5b9805045fa9e0750b98da37f72bd574814bf6"},"kind":"equivalent","label":"12.2","source_url":"/docs/release/12.2/#id-1.11.6.26.5","title":"修复 ecpg 的 PGTYPEStimestamp_fmt_asc() 函数对格式代码 %b 和 %B 的不正确处理","url":"/docs/compare/?release=12.2#12.2-1e9b09723b65ec71","version":"12.2"},{"db_id":"4c483fea559a83716ed5879fc5f8ebc4","evidence":{"patch_ids":["98ce3485e7421c58dabcd04707a8b4dc"],"same_day":true,"statement_hash":"55f40e67e7ff67ce051d1e229c5b9805045fa9e0750b98da37f72bd574814bf6"},"kind":"equivalent","label":"11.7","source_url":"/docs/release/11.7/#id-1.11.6.20.5","title":"修复 ecpg 的 PGTYPEStimestamp_fmt_asc() 函数对格式代码 %b 和 %B 的不正确处理","url":"/docs/compare/?release=11.7#11.7-fec0d969ab1ed0c5","version":"11.7"},{"db_id":"f7eb19a202cef3c275a0ac6028d63ec8","evidence":{"patch_ids":["98ce3485e7421c58dabcd04707a8b4dc"],"same_day":true,"statement_hash":"55f40e67e7ff67ce051d1e229c5b9805045fa9e0750b98da37f72bd574814bf6"},"kind":"equivalent","label":"10.12","source_url":"/docs/release/10.12/#id-1.11.6.16.5","title":"修复 ecpg 的 PGTYPEStimestamp_fmt_asc() 函数对格式代码 %b 和 %B 的不正确处理","url":"/docs/compare/?release=10.12#10.12-fec0d969ab1ed0c5","version":"10.12"},{"db_id":"a18b89f65dd1e0d20dfd4b9c304a3ed2","evidence":{"patch_ids":["98ce3485e7421c58dabcd04707a8b4dc"],"same_day":true,"statement_hash":"55f40e67e7ff67ce051d1e229c5b9805045fa9e0750b98da37f72bd574814bf6"},"kind":"equivalent","label":"9.5.21","source_url":"/docs/release/9.5.21/#id-1.11.6.9.5","title":"修复 ecpg 的 PGTYPEStimestamp_fmt_asc() 函数中 %b 和 %B 格式代码的错误处理","url":"/docs/compare/?release=9.5.21#9.5.21-0c629553afdfef1a","version":"9.5.21"},{"db_id":"07c9c08c3f6d8a9d7bb489a91bc7bfad","evidence":{"patch_ids":["98ce3485e7421c58dabcd04707a8b4dc"],"same_day":true,"statement_hash":"55f40e67e7ff67ce051d1e229c5b9805045fa9e0750b98da37f72bd574814bf6"},"kind":"equivalent","label":"9.4.26","source_url":"/docs/release/9.4.26/#id-1.11.6.5.6","title":"修复 ecpg 的 PGTYPEStimestamp_fmt_asc() 函数中 %b 和 %B 格式代码的错误处理","url":"/docs/compare/?release=9.4.26#9.4.26-0c629553afdfef1a","version":"9.4.26"}],"relations":[{"evidence":{"patch_ids":["98ce3485e7421c58dabcd04707a8b4dc"],"same_day":true,"statement_hash":"55f40e67e7ff67ce051d1e229c5b9805045fa9e0750b98da37f72bd574814bf6"},"rule":2,"target":"07c9c08c3f6d8a9d7bb489a91bc7bfad","type":"equivalent"},{"evidence":{"patch_ids":["98ce3485e7421c58dabcd04707a8b4dc"],"same_day":true,"statement_hash":"55f40e67e7ff67ce051d1e229c5b9805045fa9e0750b98da37f72bd574814bf6"},"rule":2,"target":"4c483fea559a83716ed5879fc5f8ebc4","type":"equivalent"},{"evidence":{"patch_ids":["98ce3485e7421c58dabcd04707a8b4dc"],"same_day":true,"statement_hash":"55f40e67e7ff67ce051d1e229c5b9805045fa9e0750b98da37f72bd574814bf6"},"rule":2,"target":"7fc768077bbbaba7bb2800f2d9790945","type":"equivalent"},{"evidence":{"patch_ids":["98ce3485e7421c58dabcd04707a8b4dc"],"same_day":true,"statement_hash":"55f40e67e7ff67ce051d1e229c5b9805045fa9e0750b98da37f72bd574814bf6"},"rule":2,"target":"a18b89f65dd1e0d20dfd4b9c304a3ed2","type":"equivalent"},{"evidence":{"patch_ids":["98ce3485e7421c58dabcd04707a8b4dc"],"same_day":true,"statement_hash":"55f40e67e7ff67ce051d1e229c5b9805045fa9e0750b98da37f72bd574814bf6"},"rule":2,"target":"f7eb19a202cef3c275a0ac6028d63ec8","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["c59414da7"],"source_entry_id":"9.6.17/changes/023","source_hash":"cb73abd0179aff744368d094303667835d295d77290fd6eeab3f343c6f3389fd","source_url":"/docs/release/9.6.17/#id-1.11.6.12.5","statement_hash":"55f40e67e7ff67ce051d1e229c5b9805045fa9e0750b98da37f72bd574814bf6","text":"修复 ecpg 的 PGTYPEStimestamp_fmt_asc() 函数中 %b 和 %B 格式代码的错误处理（Tomas Vondra） 由于差一错误，这些代码会打印错误的月份名称，或者可能崩溃。","title":"修复 ecpg 的 PGTYPEStimestamp_fmt_asc() 函数中 %b 和 %B 格式代码的错误处理","variants":[],"version":"9.6.17"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["0c84199f7","1b78759a6","2425f8f71","5d60df830","63634883f","8b1d447a7","cb4c04a4e"],"commit_groups":[["0c84199f7","1b78759a6","2425f8f71","5d60df830","63634883f","8b1d447a7","cb4c04a4e"]],"commits":[],"cves":[],"db_id":"0ab31d1c876e317b3b92455400a0ad54","html":"\u003cp\u003e修复并行 \u003cspan\u003epg_dump\u003c/span\u003e/\u003cspan\u003epg_restore\u003c/span\u003e 更优雅地处理工作者进程创建失败（Tom Lane）\u003c/p\u003e","id":"9.6.17-dcdce388ce7b0731","identity_text":"Fix parallel pg_dump/pg_restore to more gracefully handle failure to create worker processes (Tom Lane)","part":"changes","patch_ids":["0d7f5bc545ea1e1a61a67392cf699588"],"related_changes":[{"db_id":"8a9244297667d21859c24d9abc30e876","evidence":{"patch_ids":["0d7f5bc545ea1e1a61a67392cf699588"],"same_day":true,"statement_hash":"7e204789eeadc31c686e16ec9957cb9befb4b28d48d5c03d21cddfba4184ac1b"},"kind":"equivalent","label":"12.2","source_url":"/docs/release/12.2/#id-1.11.6.26.5","title":"修复并行 pg_dump/pg_restore，使其更妥善地处理无法创建工作进程的情况","url":"/docs/compare/?release=12.2#12.2-e74f446ac1d82f13","version":"12.2"},{"db_id":"a1d22ded062e9e3096bacd967cdc61ef","evidence":{"patch_ids":["0d7f5bc545ea1e1a61a67392cf699588"],"same_day":true,"statement_hash":"7e204789eeadc31c686e16ec9957cb9befb4b28d48d5c03d21cddfba4184ac1b"},"kind":"equivalent","label":"11.7","source_url":"/docs/release/11.7/#id-1.11.6.20.5","title":"修复并行 pg_dump/pg_restore，使其更妥善地处理无法创建工作进程的情况","url":"/docs/compare/?release=11.7#11.7-5ae69ff611ec986e","version":"11.7"},{"db_id":"c1a394e88df8828ac55b88015435150b","evidence":{"patch_ids":["0d7f5bc545ea1e1a61a67392cf699588"],"same_day":true,"statement_hash":"7e204789eeadc31c686e16ec9957cb9befb4b28d48d5c03d21cddfba4184ac1b"},"kind":"equivalent","label":"10.12","source_url":"/docs/release/10.12/#id-1.11.6.16.5","title":"修复并行 pg_dump/pg_restore，使其更妥善地处理无法创建工作进程的情况","url":"/docs/compare/?release=10.12#10.12-5ae69ff611ec986e","version":"10.12"},{"db_id":"a3267b55c0fd1e4e3eb579367cfbf7d5","evidence":{"patch_ids":["0d7f5bc545ea1e1a61a67392cf699588"],"same_day":true,"statement_hash":"7e204789eeadc31c686e16ec9957cb9befb4b28d48d5c03d21cddfba4184ac1b"},"kind":"equivalent","label":"9.5.21","source_url":"/docs/release/9.5.21/#id-1.11.6.9.5","title":"修复并行 pg_dump/pg_restore 更优雅地处理工作者进程创建失败","url":"/docs/compare/?release=9.5.21#9.5.21-dcdce388ce7b0731","version":"9.5.21"},{"db_id":"e0a38ce313ac6d1f4adca0f715b2100c","evidence":{"patch_ids":["0d7f5bc545ea1e1a61a67392cf699588"],"same_day":true,"statement_hash":"7e204789eeadc31c686e16ec9957cb9befb4b28d48d5c03d21cddfba4184ac1b"},"kind":"equivalent","label":"9.4.26","source_url":"/docs/release/9.4.26/#id-1.11.6.5.6","title":"修复并行 pg_dump/pg_restore 更优雅地处理工作者进程创建失败","url":"/docs/compare/?release=9.4.26#9.4.26-dcdce388ce7b0731","version":"9.4.26"}],"relations":[{"evidence":{"patch_ids":["0d7f5bc545ea1e1a61a67392cf699588"],"same_day":true,"statement_hash":"7e204789eeadc31c686e16ec9957cb9befb4b28d48d5c03d21cddfba4184ac1b"},"rule":2,"target":"8a9244297667d21859c24d9abc30e876","type":"equivalent"},{"evidence":{"patch_ids":["0d7f5bc545ea1e1a61a67392cf699588"],"same_day":true,"statement_hash":"7e204789eeadc31c686e16ec9957cb9befb4b28d48d5c03d21cddfba4184ac1b"},"rule":2,"target":"a1d22ded062e9e3096bacd967cdc61ef","type":"equivalent"},{"evidence":{"patch_ids":["0d7f5bc545ea1e1a61a67392cf699588"],"same_day":true,"statement_hash":"7e204789eeadc31c686e16ec9957cb9befb4b28d48d5c03d21cddfba4184ac1b"},"rule":2,"target":"a3267b55c0fd1e4e3eb579367cfbf7d5","type":"equivalent"},{"evidence":{"patch_ids":["0d7f5bc545ea1e1a61a67392cf699588"],"same_day":true,"statement_hash":"7e204789eeadc31c686e16ec9957cb9befb4b28d48d5c03d21cddfba4184ac1b"},"rule":2,"target":"c1a394e88df8828ac55b88015435150b","type":"equivalent"},{"evidence":{"patch_ids":["0d7f5bc545ea1e1a61a67392cf699588"],"same_day":true,"statement_hash":"7e204789eeadc31c686e16ec9957cb9befb4b28d48d5c03d21cddfba4184ac1b"},"rule":2,"target":"e0a38ce313ac6d1f4adca0f715b2100c","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["cb4c04a4e"],"source_entry_id":"9.6.17/changes/024","source_hash":"9297ce6cbade008bd268013fec521839ec1a8b8b3d42f4f968b22e26010e0d94","source_url":"/docs/release/9.6.17/#id-1.11.6.12.5","statement_hash":"7e204789eeadc31c686e16ec9957cb9befb4b28d48d5c03d21cddfba4184ac1b","text":"修复并行 pg_dump/pg_restore 更优雅地处理工作者进程创建失败（Tom Lane）","title":"修复并行 pg_dump/pg_restore 更优雅地处理工作者进程创建失败","variants":[],"version":"9.6.17"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["208e262f9","42e538fe6","4ea5cf403","6f6daa1be","71b121f42","b1392a950","cd23a2019"],"commit_groups":[["208e262f9","42e538fe6","4ea5cf403","6f6daa1be","71b121f42","b1392a950","cd23a2019"]],"commits":[],"cves":[],"db_id":"30c6a89696ef02370e40ff591f5789bf","html":"\u003cp\u003e防止试图通过信号终止并行 \u003cspan\u003epg_dump\u003c/span\u003e/ \u003cspan\u003epg_restore\u003c/span\u003e 运行时可能的崩溃或锁死（Tom Lane）\u003c/p\u003e","id":"9.6.17-a790382d436d3cc1","identity_text":"Prevent possible crash or lockup when attempting to terminate a parallel pg_dump/pg_restore run via a signal (Tom Lane)","part":"changes","patch_ids":["e1cd77d183d2459836ef8973a423eb92"],"related_changes":[{"db_id":"59290e6cad80d05142e78788b0a3d970","evidence":{"patch_ids":["e1cd77d183d2459836ef8973a423eb92"],"same_day":true,"statement_hash":"4c13e614942a0d58d6085d345b46b5cdafb2d5bc4ba245d4f7cae8ffa05c14ad"},"kind":"equivalent","label":"12.2","source_url":"/docs/release/12.2/#id-1.11.6.26.5","title":"防止尝试通过信号终止并行 pg_dump/pg_restore 运行时可能发生的崩溃或卡死","url":"/docs/compare/?release=12.2#12.2-8e1bf144ec0b5547","version":"12.2"},{"db_id":"0646cf398136f66e7d5ea03ec7db8d18","evidence":{"patch_ids":["e1cd77d183d2459836ef8973a423eb92"],"same_day":true,"statement_hash":"4c13e614942a0d58d6085d345b46b5cdafb2d5bc4ba245d4f7cae8ffa05c14ad"},"kind":"equivalent","label":"11.7","source_url":"/docs/release/11.7/#id-1.11.6.20.5","title":"防止尝试通过信号终止并行 pg_dump/pg_restore 运行时可能发生的崩溃或卡死","url":"/docs/compare/?release=11.7#11.7-0d312ba445ab7934","version":"11.7"},{"db_id":"791b656bd54dbd56091c423512e75420","evidence":{"patch_ids":["e1cd77d183d2459836ef8973a423eb92"],"same_day":true,"statement_hash":"4c13e614942a0d58d6085d345b46b5cdafb2d5bc4ba245d4f7cae8ffa05c14ad"},"kind":"equivalent","label":"10.12","source_url":"/docs/release/10.12/#id-1.11.6.16.5","title":"防止尝试通过信号终止并行 pg_dump/pg_restore 运行时可能发生的崩溃或卡死","url":"/docs/compare/?release=10.12#10.12-0d312ba445ab7934","version":"10.12"},{"db_id":"1a15011a7e46a553a64c592b19223755","evidence":{"patch_ids":["e1cd77d183d2459836ef8973a423eb92"],"same_day":true,"statement_hash":"4c13e614942a0d58d6085d345b46b5cdafb2d5bc4ba245d4f7cae8ffa05c14ad"},"kind":"equivalent","label":"9.5.21","source_url":"/docs/release/9.5.21/#id-1.11.6.9.5","title":"防止试图通过信号终止并行 pg_dump/ pg_restore 运行时可能的崩溃或锁死","url":"/docs/compare/?release=9.5.21#9.5.21-a790382d436d3cc1","version":"9.5.21"},{"db_id":"c8a304f2379323f0227ce2a1b8869c64","evidence":{"patch_ids":["e1cd77d183d2459836ef8973a423eb92"],"same_day":true,"statement_hash":"4c13e614942a0d58d6085d345b46b5cdafb2d5bc4ba245d4f7cae8ffa05c14ad"},"kind":"equivalent","label":"9.4.26","source_url":"/docs/release/9.4.26/#id-1.11.6.5.6","title":"防止试图通过信号终止并行 pg_dump/ pg_restore 运行时可能的崩溃或锁死","url":"/docs/compare/?release=9.4.26#9.4.26-a790382d436d3cc1","version":"9.4.26"}],"relations":[{"evidence":{"patch_ids":["e1cd77d183d2459836ef8973a423eb92"],"same_day":true,"statement_hash":"4c13e614942a0d58d6085d345b46b5cdafb2d5bc4ba245d4f7cae8ffa05c14ad"},"rule":2,"target":"0646cf398136f66e7d5ea03ec7db8d18","type":"equivalent"},{"evidence":{"patch_ids":["e1cd77d183d2459836ef8973a423eb92"],"same_day":true,"statement_hash":"4c13e614942a0d58d6085d345b46b5cdafb2d5bc4ba245d4f7cae8ffa05c14ad"},"rule":2,"target":"1a15011a7e46a553a64c592b19223755","type":"equivalent"},{"evidence":{"patch_ids":["e1cd77d183d2459836ef8973a423eb92"],"same_day":true,"statement_hash":"4c13e614942a0d58d6085d345b46b5cdafb2d5bc4ba245d4f7cae8ffa05c14ad"},"rule":2,"target":"59290e6cad80d05142e78788b0a3d970","type":"equivalent"},{"evidence":{"patch_ids":["e1cd77d183d2459836ef8973a423eb92"],"same_day":true,"statement_hash":"4c13e614942a0d58d6085d345b46b5cdafb2d5bc4ba245d4f7cae8ffa05c14ad"},"rule":2,"target":"791b656bd54dbd56091c423512e75420","type":"equivalent"},{"evidence":{"patch_ids":["e1cd77d183d2459836ef8973a423eb92"],"same_day":true,"statement_hash":"4c13e614942a0d58d6085d345b46b5cdafb2d5bc4ba245d4f7cae8ffa05c14ad"},"rule":2,"target":"c8a304f2379323f0227ce2a1b8869c64","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["208e262f9"],"source_entry_id":"9.6.17/changes/025","source_hash":"5fcb64b657a1d223789fd2fb7a27ea6bb84a238b5886bac1410bb8d3a04be770","source_url":"/docs/release/9.6.17/#id-1.11.6.12.5","statement_hash":"4c13e614942a0d58d6085d345b46b5cdafb2d5bc4ba245d4f7cae8ffa05c14ad","text":"防止试图通过信号终止并行 pg_dump/ pg_restore 运行时可能的崩溃或锁死（Tom Lane）","title":"防止试图通过信号终止并行 pg_dump/ pg_restore 运行时可能的崩溃或锁死","variants":[],"version":"9.6.17"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["1cd57b05e","29aeda6e4","56c06999d","8e4ef3287","c443e3c43","f378d4dac","fb26754af"],"commit_groups":[["1cd57b05e","29aeda6e4","56c06999d","8e4ef3287","c443e3c43","f378d4dac","fb26754af"]],"commits":[],"cves":[],"db_id":"0ab2f2ca5c2b135c457c21f3595980b8","html":"\u003cp\u003e在 \u003cspan\u003epg_upgrade\u003c/span\u003e 中，搜索表中不可升级数据类型时深入数组和范围内部（Tom Lane）\u003c/p\u003e","id":"9.6.17-be93656835fc86aa","identity_text":"In pg_upgrade, look inside arrays and ranges while searching for non-upgradable data types in tables (Tom Lane)","part":"changes","patch_ids":["74d41ab4c40159181bb8920ee36a3c7e"],"related_changes":[{"db_id":"02eab376408822d258054b57c978ee9a","evidence":{"patch_ids":["74d41ab4c40159181bb8920ee36a3c7e"],"same_day":true,"statement_hash":"a5dd0a05f1c41159d81f38173b9d06bd1a19f0b19513ef285505231dcf1cba9c"},"kind":"equivalent","label":"12.2","source_url":"/docs/release/12.2/#id-1.11.6.26.5","title":"在 pg_upgrade 搜索表中不可升级的数据类型时，检查数组和范围的内部类型","url":"/docs/compare/?release=12.2#12.2-f82145fb208b3b57","version":"12.2"},{"db_id":"37b9438c61c71a41a14ec10f666bad3e","evidence":{"patch_ids":["74d41ab4c40159181bb8920ee36a3c7e"],"same_day":true,"statement_hash":"a5dd0a05f1c41159d81f38173b9d06bd1a19f0b19513ef285505231dcf1cba9c"},"kind":"equivalent","label":"11.7","source_url":"/docs/release/11.7/#id-1.11.6.20.5","title":"在 pg_upgrade 搜索表中不可升级的数据类型时，检查数组和范围的内部类型","url":"/docs/compare/?release=11.7#11.7-41d9427b28e0b0b3","version":"11.7"},{"db_id":"74783fe19c389a77224012f635160ade","evidence":{"patch_ids":["74d41ab4c40159181bb8920ee36a3c7e"],"same_day":true,"statement_hash":"a5dd0a05f1c41159d81f38173b9d06bd1a19f0b19513ef285505231dcf1cba9c"},"kind":"equivalent","label":"10.12","source_url":"/docs/release/10.12/#id-1.11.6.16.5","title":"在 pg_upgrade 搜索表中不可升级的数据类型时，检查数组和范围的内部类型","url":"/docs/compare/?release=10.12#10.12-41d9427b28e0b0b3","version":"10.12"},{"db_id":"904360e0029d096e5daae91d6704e4d5","evidence":{"patch_ids":["74d41ab4c40159181bb8920ee36a3c7e"],"same_day":true,"statement_hash":"a5dd0a05f1c41159d81f38173b9d06bd1a19f0b19513ef285505231dcf1cba9c"},"kind":"equivalent","label":"9.5.21","source_url":"/docs/release/9.5.21/#id-1.11.6.9.5","title":"在 pg_upgrade 中，搜索表中不可升级数据类型时深入数组和范围内部","url":"/docs/compare/?release=9.5.21#9.5.21-be93656835fc86aa","version":"9.5.21"},{"db_id":"d375731f1521db7f32c2863cc0c09f10","evidence":{"patch_ids":["74d41ab4c40159181bb8920ee36a3c7e"],"same_day":true,"statement_hash":"a5dd0a05f1c41159d81f38173b9d06bd1a19f0b19513ef285505231dcf1cba9c"},"kind":"equivalent","label":"9.4.26","source_url":"/docs/release/9.4.26/#id-1.11.6.5.6","title":"在 pg_upgrade 中，搜索表中不可升级数据类型时深入数组和范围内部","url":"/docs/compare/?release=9.4.26#9.4.26-be93656835fc86aa","version":"9.4.26"}],"relations":[{"evidence":{"patch_ids":["74d41ab4c40159181bb8920ee36a3c7e"],"same_day":true,"statement_hash":"a5dd0a05f1c41159d81f38173b9d06bd1a19f0b19513ef285505231dcf1cba9c"},"rule":2,"target":"02eab376408822d258054b57c978ee9a","type":"equivalent"},{"evidence":{"patch_ids":["74d41ab4c40159181bb8920ee36a3c7e"],"same_day":true,"statement_hash":"a5dd0a05f1c41159d81f38173b9d06bd1a19f0b19513ef285505231dcf1cba9c"},"rule":2,"target":"37b9438c61c71a41a14ec10f666bad3e","type":"equivalent"},{"evidence":{"patch_ids":["74d41ab4c40159181bb8920ee36a3c7e"],"same_day":true,"statement_hash":"a5dd0a05f1c41159d81f38173b9d06bd1a19f0b19513ef285505231dcf1cba9c"},"rule":2,"target":"74783fe19c389a77224012f635160ade","type":"equivalent"},{"evidence":{"patch_ids":["74d41ab4c40159181bb8920ee36a3c7e"],"same_day":true,"statement_hash":"a5dd0a05f1c41159d81f38173b9d06bd1a19f0b19513ef285505231dcf1cba9c"},"rule":2,"target":"904360e0029d096e5daae91d6704e4d5","type":"equivalent"},{"evidence":{"patch_ids":["74d41ab4c40159181bb8920ee36a3c7e"],"same_day":true,"statement_hash":"a5dd0a05f1c41159d81f38173b9d06bd1a19f0b19513ef285505231dcf1cba9c"},"rule":2,"target":"d375731f1521db7f32c2863cc0c09f10","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["f378d4dac"],"source_entry_id":"9.6.17/changes/026","source_hash":"507c565109d1038112f26259c4d59f0ff3b3d272974b269b9533a8c5a46d4d48","source_url":"/docs/release/9.6.17/#id-1.11.6.12.5","statement_hash":"a5dd0a05f1c41159d81f38173b9d06bd1a19f0b19513ef285505231dcf1cba9c","text":"在 pg_upgrade 中，搜索表中不可升级数据类型时深入数组和范围内部（Tom Lane）","title":"在 pg_upgrade 中，搜索表中不可升级数据类型时深入数组和范围内部","variants":[],"version":"9.6.17"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["163161723","1b2ae4bcd","5575fc208","6f1e443a6","87d014da9","8fa8e0115","ca902add6"],"commit_groups":[["163161723","1b2ae4bcd","5575fc208","6f1e443a6","87d014da9","8fa8e0115","ca902add6"]],"commits":[],"cves":[],"db_id":"f24349c048fce4cf9edd50066318ee95","html":"\u003cp\u003e对 \u003cspan\u003ecreateuser\u003c/span\u003e 的 \u003ccode\u003e--connection-limit\u003c/code\u003e 选项应用更彻底的语法检查（Álvaro Herrera）\u003c/p\u003e","id":"9.6.17-b082d655815777b8","identity_text":"Apply more thorough syntax checking to createuser's --connection-limit option (Álvaro Herrera)","part":"changes","patch_ids":["82bbe077a5af18f2fb190df9988f8463"],"related_changes":[{"db_id":"810a38c8206fd67caad1e272734dbdb1","evidence":{"patch_ids":["82bbe077a5af18f2fb190df9988f8463"],"same_day":true,"statement_hash":"582979dc3b176f6fe8326b28f8781ab6c9c1284e0a8238baca9f056232b0a7bf"},"kind":"equivalent","label":"12.2","source_url":"/docs/release/12.2/#id-1.11.6.26.5","title":"对 createuser 的 --connection-limit 选项进行更全面的语法检查","url":"/docs/compare/?release=12.2#12.2-3c91cc41c205a9fc","version":"12.2"},{"db_id":"4ceac8f8c708a57d280435a5930bf355","evidence":{"patch_ids":["82bbe077a5af18f2fb190df9988f8463"],"same_day":true,"statement_hash":"582979dc3b176f6fe8326b28f8781ab6c9c1284e0a8238baca9f056232b0a7bf"},"kind":"equivalent","label":"11.7","source_url":"/docs/release/11.7/#id-1.11.6.20.5","title":"对 createuser 的 --connection-limit 选项进行更全面的语法检查","url":"/docs/compare/?release=11.7#11.7-371020823f41ae89","version":"11.7"},{"db_id":"6ec6a13d850db767e6e2536e23768de0","evidence":{"patch_ids":["82bbe077a5af18f2fb190df9988f8463"],"same_day":true,"statement_hash":"582979dc3b176f6fe8326b28f8781ab6c9c1284e0a8238baca9f056232b0a7bf"},"kind":"equivalent","label":"10.12","source_url":"/docs/release/10.12/#id-1.11.6.16.5","title":"对 createuser 的 --connection-limit 选项进行更全面的语法检查","url":"/docs/compare/?release=10.12#10.12-371020823f41ae89","version":"10.12"},{"db_id":"251c97e39a1665d69d24ec758192362f","evidence":{"patch_ids":["82bbe077a5af18f2fb190df9988f8463"],"same_day":true,"statement_hash":"582979dc3b176f6fe8326b28f8781ab6c9c1284e0a8238baca9f056232b0a7bf"},"kind":"equivalent","label":"9.5.21","source_url":"/docs/release/9.5.21/#id-1.11.6.9.5","title":"对 createuser 的 --connection-limit 选项应用更彻底的语法检查","url":"/docs/compare/?release=9.5.21#9.5.21-b082d655815777b8","version":"9.5.21"},{"db_id":"d397985b8c27d118d2429c51e75259be","evidence":{"patch_ids":["82bbe077a5af18f2fb190df9988f8463"],"same_day":true,"statement_hash":"582979dc3b176f6fe8326b28f8781ab6c9c1284e0a8238baca9f056232b0a7bf"},"kind":"equivalent","label":"9.4.26","source_url":"/docs/release/9.4.26/#id-1.11.6.5.6","title":"对 createuser 的 --connection-limit 选项应用更彻底的语法检查","url":"/docs/compare/?release=9.4.26#9.4.26-b082d655815777b8","version":"9.4.26"}],"relations":[{"evidence":{"patch_ids":["82bbe077a5af18f2fb190df9988f8463"],"same_day":true,"statement_hash":"582979dc3b176f6fe8326b28f8781ab6c9c1284e0a8238baca9f056232b0a7bf"},"rule":2,"target":"251c97e39a1665d69d24ec758192362f","type":"equivalent"},{"evidence":{"patch_ids":["82bbe077a5af18f2fb190df9988f8463"],"same_day":true,"statement_hash":"582979dc3b176f6fe8326b28f8781ab6c9c1284e0a8238baca9f056232b0a7bf"},"rule":2,"target":"4ceac8f8c708a57d280435a5930bf355","type":"equivalent"},{"evidence":{"patch_ids":["82bbe077a5af18f2fb190df9988f8463"],"same_day":true,"statement_hash":"582979dc3b176f6fe8326b28f8781ab6c9c1284e0a8238baca9f056232b0a7bf"},"rule":2,"target":"6ec6a13d850db767e6e2536e23768de0","type":"equivalent"},{"evidence":{"patch_ids":["82bbe077a5af18f2fb190df9988f8463"],"same_day":true,"statement_hash":"582979dc3b176f6fe8326b28f8781ab6c9c1284e0a8238baca9f056232b0a7bf"},"rule":2,"target":"810a38c8206fd67caad1e272734dbdb1","type":"equivalent"},{"evidence":{"patch_ids":["82bbe077a5af18f2fb190df9988f8463"],"same_day":true,"statement_hash":"582979dc3b176f6fe8326b28f8781ab6c9c1284e0a8238baca9f056232b0a7bf"},"rule":2,"target":"d397985b8c27d118d2429c51e75259be","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["5575fc208"],"source_entry_id":"9.6.17/changes/027","source_hash":"c55018da922aee17b64a80fb3753da5b9fd2248524891309840afc771b7f7442","source_url":"/docs/release/9.6.17/#id-1.11.6.12.5","statement_hash":"582979dc3b176f6fe8326b28f8781ab6c9c1284e0a8238baca9f056232b0a7bf","text":"对 createuser 的 --connection-limit 选项应用更彻底的语法检查（Álvaro Herrera）","title":"对 createuser 的 --connection-limit 选项应用更彻底的语法检查","variants":[],"version":"9.6.17"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["215824f91","43a648f57","5220ced0d","603e03b4c","7294f99a0"],"commit_groups":[["215824f91","43a648f57","5220ced0d","603e03b4c","7294f99a0"]],"commits":[],"cves":[],"db_id":"e27112c0d6245df3a5108ead7215cfd0","html":"\u003cp\u003e避免 \u003ccode\u003epostgres_fdw\u003c/code\u003e 尝试向远程服务器发送诸如 \u003ccode\u003eUPDATE remote_tab SET (x,y) = (SELECT ...)\u003c/code\u003e 之类的命令时崩溃（Tom Lane）\u003c/p\u003e","id":"9.6.17-4782f6a441481636","identity_text":"Avoid crash in postgres_fdw when trying to send a command like UPDATE remote_tab SET (x,y) = (SELECT ...) to the remote server (Tom Lane)","part":"changes","patch_ids":["5040564ec8a1a3c07025a342dbe47d2a"],"related_changes":[{"db_id":"7f3c7ba755d87c1bdb76fee6cb3e78c2","evidence":{"patch_ids":["5040564ec8a1a3c07025a342dbe47d2a"],"same_day":true,"statement_hash":"d24bc08f7ca52c7726e29023ac359690d8b71936f3627a5f64f27acc39488998"},"kind":"equivalent","label":"12.2","source_url":"/docs/release/12.2/#id-1.11.6.26.5","title":"避免 postgres_fdw 尝试向远程服务器发送 UPDATE remote_tab SET (x,y) = (SELECT ...) 之类命令时发生崩溃","url":"/docs/compare/?release=12.2#12.2-a9eafd86a4d8d535","version":"12.2"},{"db_id":"1b18a0c8007f1ac294823092ae270aae","evidence":{"patch_ids":["5040564ec8a1a3c07025a342dbe47d2a"],"same_day":true,"statement_hash":"d24bc08f7ca52c7726e29023ac359690d8b71936f3627a5f64f27acc39488998"},"kind":"equivalent","label":"11.7","source_url":"/docs/release/11.7/#id-1.11.6.20.5","title":"避免 postgres_fdw 尝试向远程服务器发送 UPDATE remote_tab SET (x,y) = (SELECT ...) 之类命令时发生崩溃","url":"/docs/compare/?release=11.7#11.7-967ee5bb1eff39ff","version":"11.7"},{"db_id":"47bda0c9b65e721eb9e7e84b25109437","evidence":{"patch_ids":["5040564ec8a1a3c07025a342dbe47d2a"],"same_day":true,"statement_hash":"d24bc08f7ca52c7726e29023ac359690d8b71936f3627a5f64f27acc39488998"},"kind":"equivalent","label":"10.12","source_url":"/docs/release/10.12/#id-1.11.6.16.5","title":"避免 postgres_fdw 尝试向远程服务器发送 UPDATE remote_tab SET (x,y) = (SELECT ...) 之类命令时发生崩溃","url":"/docs/compare/?release=10.12#10.12-967ee5bb1eff39ff","version":"10.12"}],"relations":[{"evidence":{"patch_ids":["5040564ec8a1a3c07025a342dbe47d2a"],"same_day":true,"statement_hash":"d24bc08f7ca52c7726e29023ac359690d8b71936f3627a5f64f27acc39488998"},"rule":2,"target":"1b18a0c8007f1ac294823092ae270aae","type":"equivalent"},{"evidence":{"patch_ids":["5040564ec8a1a3c07025a342dbe47d2a"],"same_day":true,"statement_hash":"d24bc08f7ca52c7726e29023ac359690d8b71936f3627a5f64f27acc39488998"},"rule":2,"target":"47bda0c9b65e721eb9e7e84b25109437","type":"equivalent"},{"evidence":{"patch_ids":["5040564ec8a1a3c07025a342dbe47d2a"],"same_day":true,"statement_hash":"d24bc08f7ca52c7726e29023ac359690d8b71936f3627a5f64f27acc39488998"},"rule":2,"target":"7f3c7ba755d87c1bdb76fee6cb3e78c2","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["43a648f57"],"source_entry_id":"9.6.17/changes/028","source_hash":"7413f6b413adabc2adc14d23c8e24a6d268f9b0cebe99f4c13790a8ea74b5fbf","source_url":"/docs/release/9.6.17/#id-1.11.6.12.5","statement_hash":"d24bc08f7ca52c7726e29023ac359690d8b71936f3627a5f64f27acc39488998","text":"避免 postgres_fdw 尝试向远程服务器发送诸如 UPDATE remote_tab SET (x,y) = (SELECT ...) 之类的命令时崩溃（Tom Lane）","title":"避免 postgres_fdw 尝试向远程服务器发送诸如 UPDATE remote_tab SET (x,y) = (SELECT ...) 之类的命令时崩溃","variants":[],"version":"9.6.17"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["267eb954c","44381b1af","46ce37b67","a2fdeb786","a8a8c6b29","b52739436","fabdad822"],"commit_groups":[["267eb954c","44381b1af","46ce37b67","a2fdeb786","a8a8c6b29","b52739436","fabdad822"]],"commits":[],"cves":[],"db_id":"c5e06cb8326bc8a725a74efea95e71ec","html":"\u003cp\u003e在 \u003ccode\u003econtrib/dict_int\u003c/code\u003e 中，拒绝小于一的 \u003ccode\u003emaxlen\u003c/code\u003e 设置（Tomas Vondra）\u003c/p\u003e\n\u003cp\u003e这防止了该参数的愚蠢设置可能导致的崩溃。\u003c/p\u003e","id":"9.6.17-a7dcf58cc8a56710","identity_text":"In contrib/dict_int, reject maxlen settings less than one (Tomas Vondra) This prevents a possible crash with silly settings for that parameter.","part":"changes","patch_ids":["78950363d28b5b851c829de00fe014dd"],"related_changes":[{"db_id":"ed1985f91bf6854da58a13ad7b975fa2","evidence":{"patch_ids":["78950363d28b5b851c829de00fe014dd"],"same_day":true,"statement_hash":"d3ed30d197b4f05dcc2cc52d1553b7542cc1246fc43ff2c7d37678facadf864b"},"kind":"equivalent","label":"12.2","source_url":"/docs/release/12.2/#id-1.11.6.26.5","title":"在 contrib/dict_int 中，拒绝小于一的 maxlen 设置","url":"/docs/compare/?release=12.2#12.2-7cdd017124b2400a","version":"12.2"},{"db_id":"58302165faa498ba63d2b7016ca2c1f1","evidence":{"patch_ids":["78950363d28b5b851c829de00fe014dd"],"same_day":true,"statement_hash":"d3ed30d197b4f05dcc2cc52d1553b7542cc1246fc43ff2c7d37678facadf864b"},"kind":"equivalent","label":"11.7","source_url":"/docs/release/11.7/#id-1.11.6.20.5","title":"在 contrib/dict_int 中，拒绝小于一的 maxlen 设置","url":"/docs/compare/?release=11.7#11.7-a7dcf58cc8a56710","version":"11.7"},{"db_id":"bf83de008875737dca0e646e1d486e02","evidence":{"patch_ids":["78950363d28b5b851c829de00fe014dd"],"same_day":true,"statement_hash":"d3ed30d197b4f05dcc2cc52d1553b7542cc1246fc43ff2c7d37678facadf864b"},"kind":"equivalent","label":"10.12","source_url":"/docs/release/10.12/#id-1.11.6.16.5","title":"在 contrib/dict_int 中，拒绝小于一的 maxlen 设置","url":"/docs/compare/?release=10.12#10.12-a7dcf58cc8a56710","version":"10.12"},{"db_id":"96dd0d425154ac899e6e4b526f92e194","evidence":{"patch_ids":["78950363d28b5b851c829de00fe014dd"],"same_day":true,"statement_hash":"d3ed30d197b4f05dcc2cc52d1553b7542cc1246fc43ff2c7d37678facadf864b"},"kind":"equivalent","label":"9.5.21","source_url":"/docs/release/9.5.21/#id-1.11.6.9.5","title":"在 contrib/dict_int 中，拒绝小于一的 maxlen 设置","url":"/docs/compare/?release=9.5.21#9.5.21-a7dcf58cc8a56710","version":"9.5.21"},{"db_id":"a8e549afa20e818e690acee052bb0448","evidence":{"patch_ids":["78950363d28b5b851c829de00fe014dd"],"same_day":true,"statement_hash":"d3ed30d197b4f05dcc2cc52d1553b7542cc1246fc43ff2c7d37678facadf864b"},"kind":"equivalent","label":"9.4.26","source_url":"/docs/release/9.4.26/#id-1.11.6.5.6","title":"在 contrib/dict_int 中，拒绝小于一的 maxlen 设置","url":"/docs/compare/?release=9.4.26#9.4.26-a7dcf58cc8a56710","version":"9.4.26"}],"relations":[{"evidence":{"patch_ids":["78950363d28b5b851c829de00fe014dd"],"same_day":true,"statement_hash":"d3ed30d197b4f05dcc2cc52d1553b7542cc1246fc43ff2c7d37678facadf864b"},"rule":2,"target":"58302165faa498ba63d2b7016ca2c1f1","type":"equivalent"},{"evidence":{"patch_ids":["78950363d28b5b851c829de00fe014dd"],"same_day":true,"statement_hash":"d3ed30d197b4f05dcc2cc52d1553b7542cc1246fc43ff2c7d37678facadf864b"},"rule":2,"target":"96dd0d425154ac899e6e4b526f92e194","type":"equivalent"},{"evidence":{"patch_ids":["78950363d28b5b851c829de00fe014dd"],"same_day":true,"statement_hash":"d3ed30d197b4f05dcc2cc52d1553b7542cc1246fc43ff2c7d37678facadf864b"},"rule":2,"target":"a8e549afa20e818e690acee052bb0448","type":"equivalent"},{"evidence":{"patch_ids":["78950363d28b5b851c829de00fe014dd"],"same_day":true,"statement_hash":"d3ed30d197b4f05dcc2cc52d1553b7542cc1246fc43ff2c7d37678facadf864b"},"rule":2,"target":"bf83de008875737dca0e646e1d486e02","type":"equivalent"},{"evidence":{"patch_ids":["78950363d28b5b851c829de00fe014dd"],"same_day":true,"statement_hash":"d3ed30d197b4f05dcc2cc52d1553b7542cc1246fc43ff2c7d37678facadf864b"},"rule":2,"target":"ed1985f91bf6854da58a13ad7b975fa2","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["fabdad822"],"source_entry_id":"9.6.17/changes/029","source_hash":"3adc0776daf9fa8018174f6f048b202a5d4a675bb49458ccba5f578bd5e619a0","source_url":"/docs/release/9.6.17/#id-1.11.6.12.5","statement_hash":"d3ed30d197b4f05dcc2cc52d1553b7542cc1246fc43ff2c7d37678facadf864b","text":"在 contrib/dict_int 中，拒绝小于一的 maxlen 设置（Tomas Vondra） 这防止了该参数的愚蠢设置可能导致的崩溃。","title":"在 contrib/dict_int 中，拒绝小于一的 maxlen 设置","variants":[],"version":"9.6.17"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["3757c1640","4a3cdb531","70fc6c4ef","81be0c57e","b5e7569dd","d5b9c2baf","f49e5efbc"],"commit_groups":[["3757c1640","4a3cdb531","70fc6c4ef","81be0c57e","b5e7569dd","d5b9c2baf","f49e5efbc"]],"commits":[],"cves":[],"db_id":"0c98a8da40ed6ad88d98ca9f21729dfc","html":"\u003cp\u003e禁止 \u003ccode\u003econtrib/tablefunc\u003c/code\u003e 的 \u003ccode\u003ecrosstab()\u003c/code\u003e 函数中的 NULL 类别值（Joe Conway）\u003c/p\u003e\n\u003cp\u003e这种情况从来就不能正常工作，而且在某些平台上会崩溃。\u003c/p\u003e","id":"9.6.17-765b25a9800cd9d2","identity_text":"Disallow NULL category values in contrib/tablefunc's crosstab() function (Joe Conway) This case never worked usefully, and it would crash on some platforms.","part":"changes","patch_ids":["f2a9c1eb425c6456d03f47fabd3d3e7e"],"related_changes":[{"db_id":"23016bbb0168f2db4667294c322483f7","evidence":{"patch_ids":["f2a9c1eb425c6456d03f47fabd3d3e7e"],"same_day":true,"statement_hash":"0bde96774dd728bfb5560fb48ede623d28e36ff4adc4a371bf0dd6f6456a87fe"},"kind":"equivalent","label":"12.2","source_url":"/docs/release/12.2/#id-1.11.6.26.5","title":"在 contrib/tablefunc 的 crosstab() 函数中禁止 NULL 类别值","url":"/docs/compare/?release=12.2#12.2-1cc3d7186ea0c38f","version":"12.2"},{"db_id":"b22fe0463a8bcce1b8fec6a9c289d8b5","evidence":{"patch_ids":["f2a9c1eb425c6456d03f47fabd3d3e7e"],"same_day":true,"statement_hash":"0bde96774dd728bfb5560fb48ede623d28e36ff4adc4a371bf0dd6f6456a87fe"},"kind":"equivalent","label":"11.7","source_url":"/docs/release/11.7/#id-1.11.6.20.5","title":"在 contrib/tablefunc 的 crosstab() 函数中禁止 NULL 类别值","url":"/docs/compare/?release=11.7#11.7-24a922487b468ce3","version":"11.7"},{"db_id":"f83454331b5ef1e28904b1610d5ddd72","evidence":{"patch_ids":["f2a9c1eb425c6456d03f47fabd3d3e7e"],"same_day":true,"statement_hash":"0bde96774dd728bfb5560fb48ede623d28e36ff4adc4a371bf0dd6f6456a87fe"},"kind":"equivalent","label":"10.12","source_url":"/docs/release/10.12/#id-1.11.6.16.5","title":"在 contrib/tablefunc 的 crosstab() 函数中禁止 NULL 类别值","url":"/docs/compare/?release=10.12#10.12-24a922487b468ce3","version":"10.12"},{"db_id":"09f5d81b24b38998d7a990a50ac72fc3","evidence":{"patch_ids":["f2a9c1eb425c6456d03f47fabd3d3e7e"],"same_day":true,"statement_hash":"0bde96774dd728bfb5560fb48ede623d28e36ff4adc4a371bf0dd6f6456a87fe"},"kind":"equivalent","label":"9.5.21","source_url":"/docs/release/9.5.21/#id-1.11.6.9.5","title":"禁止 contrib/tablefunc 的 crosstab() 函数中的 NULL 类别值","url":"/docs/compare/?release=9.5.21#9.5.21-765b25a9800cd9d2","version":"9.5.21"},{"db_id":"0b8ef0b2e246e06e7f1a9fc3eaf980ff","evidence":{"patch_ids":["f2a9c1eb425c6456d03f47fabd3d3e7e"],"same_day":true,"statement_hash":"0bde96774dd728bfb5560fb48ede623d28e36ff4adc4a371bf0dd6f6456a87fe"},"kind":"equivalent","label":"9.4.26","source_url":"/docs/release/9.4.26/#id-1.11.6.5.6","title":"禁止 contrib/tablefunc 的 crosstab() 函数中的 NULL 类别值","url":"/docs/compare/?release=9.4.26#9.4.26-765b25a9800cd9d2","version":"9.4.26"}],"relations":[{"evidence":{"patch_ids":["f2a9c1eb425c6456d03f47fabd3d3e7e"],"same_day":true,"statement_hash":"0bde96774dd728bfb5560fb48ede623d28e36ff4adc4a371bf0dd6f6456a87fe"},"rule":2,"target":"09f5d81b24b38998d7a990a50ac72fc3","type":"equivalent"},{"evidence":{"patch_ids":["f2a9c1eb425c6456d03f47fabd3d3e7e"],"same_day":true,"statement_hash":"0bde96774dd728bfb5560fb48ede623d28e36ff4adc4a371bf0dd6f6456a87fe"},"rule":2,"target":"0b8ef0b2e246e06e7f1a9fc3eaf980ff","type":"equivalent"},{"evidence":{"patch_ids":["f2a9c1eb425c6456d03f47fabd3d3e7e"],"same_day":true,"statement_hash":"0bde96774dd728bfb5560fb48ede623d28e36ff4adc4a371bf0dd6f6456a87fe"},"rule":2,"target":"23016bbb0168f2db4667294c322483f7","type":"equivalent"},{"evidence":{"patch_ids":["f2a9c1eb425c6456d03f47fabd3d3e7e"],"same_day":true,"statement_hash":"0bde96774dd728bfb5560fb48ede623d28e36ff4adc4a371bf0dd6f6456a87fe"},"rule":2,"target":"b22fe0463a8bcce1b8fec6a9c289d8b5","type":"equivalent"},{"evidence":{"patch_ids":["f2a9c1eb425c6456d03f47fabd3d3e7e"],"same_day":true,"statement_hash":"0bde96774dd728bfb5560fb48ede623d28e36ff4adc4a371bf0dd6f6456a87fe"},"rule":2,"target":"f83454331b5ef1e28904b1610d5ddd72","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["3757c1640"],"source_entry_id":"9.6.17/changes/030","source_hash":"2f2dbc7486f1dbc6a2455690eb9820298baef953d4326e31d0b555c6c121ed90","source_url":"/docs/release/9.6.17/#id-1.11.6.12.5","statement_hash":"0bde96774dd728bfb5560fb48ede623d28e36ff4adc4a371bf0dd6f6456a87fe","text":"禁止 contrib/tablefunc 的 crosstab() 函数中的 NULL 类别值（Joe Conway） 这种情况从来就不能正常工作，而且在某些平台上会崩溃。","title":"禁止 contrib/tablefunc 的 crosstab() 函数中的 NULL 类别值","variants":[],"version":"9.6.17"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["1ef7332b7","4a49149b9","62c9b5223","7c7026bb7","9740cdbe5","dbe405b78","ef8e6b2c2"],"commit_groups":[["1ef7332b7","4a49149b9","62c9b5223","7c7026bb7","9740cdbe5","dbe405b78","ef8e6b2c2"]],"commits":[],"cves":[],"db_id":"275acdb8831839189050f410a327525f","html":"\u003cp\u003e把一些超时和统计追踪 GUC 变量标记为 \u003ccode\u003ePGDLLIMPORT\u003c/code\u003e，以允许扩展在 Windows 上访问它们（Pascal Legrand）\u003c/p\u003e\n\u003cp\u003e这适用于 \u003ccode\u003eidle_in_transaction_session_timeout\u003c/code\u003e、\u003ccode\u003elock_timeout\u003c/code\u003e、\u003ccode\u003estatement_timeout\u003c/code\u003e、\u003ccode\u003etrack_activities\u003c/code\u003e、\u003ccode\u003etrack_counts\u003c/code\u003e 和 \u003ccode\u003etrack_functions\u003c/code\u003e。\u003c/p\u003e","id":"9.6.17-6abd3d3d31b0412d","identity_text":"Mark some timeout and statistics-tracking GUC variables as PGDLLIMPORT, to allow extensions to access them on Windows (Pascal Legrand) This applies to idle_in_transaction_session_timeout, lock_timeout, statement_timeout, track_activities, track_counts, and track_functions.","part":"changes","patch_ids":["f1d97a9ee24e3765b7a8b6ec9f27c91d"],"related_changes":[{"db_id":"0be833c7a6c43149b3322fa3ef57a180","evidence":{"patch_ids":["f1d97a9ee24e3765b7a8b6ec9f27c91d"],"same_day":true,"statement_hash":"22c7ce86ae7b61116cfa7cebc5eb4a1e7334fe6e0dc9dd399b62cb86d2905f2b"},"kind":"equivalent","label":"12.2","source_url":"/docs/release/12.2/#id-1.11.6.26.5","title":"将某些超时和统计跟踪 GUC 变量标记为 PGDLLIMPORT，以允许扩展在 Windows 上访问它们","url":"/docs/compare/?release=12.2#12.2-3c17a110231d698f","version":"12.2"},{"db_id":"5c99c87fd84b0d7fbed665b0ed341573","evidence":{"patch_ids":["f1d97a9ee24e3765b7a8b6ec9f27c91d"],"same_day":true,"statement_hash":"22c7ce86ae7b61116cfa7cebc5eb4a1e7334fe6e0dc9dd399b62cb86d2905f2b"},"kind":"equivalent","label":"11.7","source_url":"/docs/release/11.7/#id-1.11.6.20.5","title":"将某些超时和统计跟踪 GUC 变量标记为 PGDLLIMPORT，以允许扩展在 Windows 上访问它们","url":"/docs/compare/?release=11.7#11.7-7267b3966bed0938","version":"11.7"},{"db_id":"54d3a8810a8ca6ccdafb8b416327d62f","evidence":{"patch_ids":["f1d97a9ee24e3765b7a8b6ec9f27c91d"],"same_day":true,"statement_hash":"22c7ce86ae7b61116cfa7cebc5eb4a1e7334fe6e0dc9dd399b62cb86d2905f2b"},"kind":"equivalent","label":"10.12","source_url":"/docs/release/10.12/#id-1.11.6.16.5","title":"将某些超时和统计跟踪 GUC 变量标记为 PGDLLIMPORT，以允许扩展在 Windows 上访问它们","url":"/docs/compare/?release=10.12#10.12-7267b3966bed0938","version":"10.12"},{"db_id":"5f16f2650aa7e4372fce60e9ac6c1685","evidence":{"patch_ids":["f1d97a9ee24e3765b7a8b6ec9f27c91d"],"same_day":true},"kind":"equivalent","label":"9.5.21","source_url":"/docs/release/9.5.21/#id-1.11.6.9.5","title":"把一些超时和统计跟踪 GUC 变量标记为 PGDLLIMPORT，以允许扩展在 Windows 上访问它们","url":"/docs/compare/?release=9.5.21#9.5.21-ea5c0c6eb731128b","version":"9.5.21"},{"db_id":"ccf122e4b6400ba74448f285a3129261","evidence":{"patch_ids":["f1d97a9ee24e3765b7a8b6ec9f27c91d"],"same_day":true,"statement_hash":"22c7ce86ae7b61116cfa7cebc5eb4a1e7334fe6e0dc9dd399b62cb86d2905f2b"},"kind":"equivalent","label":"9.4.26","source_url":"/docs/release/9.4.26/#id-1.11.6.5.6","title":"把一些超时和统计追踪 GUC 变量标记为 PGDLLIMPORT，以允许扩展在 Windows 上访问它们","url":"/docs/compare/?release=9.4.26#9.4.26-6abd3d3d31b0412d","version":"9.4.26"}],"relations":[{"evidence":{"patch_ids":["f1d97a9ee24e3765b7a8b6ec9f27c91d"],"same_day":true,"statement_hash":"22c7ce86ae7b61116cfa7cebc5eb4a1e7334fe6e0dc9dd399b62cb86d2905f2b"},"rule":2,"target":"0be833c7a6c43149b3322fa3ef57a180","type":"equivalent"},{"evidence":{"patch_ids":["f1d97a9ee24e3765b7a8b6ec9f27c91d"],"same_day":true,"statement_hash":"22c7ce86ae7b61116cfa7cebc5eb4a1e7334fe6e0dc9dd399b62cb86d2905f2b"},"rule":2,"target":"54d3a8810a8ca6ccdafb8b416327d62f","type":"equivalent"},{"evidence":{"patch_ids":["f1d97a9ee24e3765b7a8b6ec9f27c91d"],"same_day":true,"statement_hash":"22c7ce86ae7b61116cfa7cebc5eb4a1e7334fe6e0dc9dd399b62cb86d2905f2b"},"rule":2,"target":"5c99c87fd84b0d7fbed665b0ed341573","type":"equivalent"},{"evidence":{"patch_ids":["f1d97a9ee24e3765b7a8b6ec9f27c91d"],"same_day":true},"rule":2,"target":"5f16f2650aa7e4372fce60e9ac6c1685","type":"equivalent"},{"evidence":{"patch_ids":["f1d97a9ee24e3765b7a8b6ec9f27c91d"],"same_day":true,"statement_hash":"22c7ce86ae7b61116cfa7cebc5eb4a1e7334fe6e0dc9dd399b62cb86d2905f2b"},"rule":2,"target":"ccf122e4b6400ba74448f285a3129261","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["9740cdbe5"],"source_entry_id":"9.6.17/changes/031","source_hash":"75887f284188c8ae760979f93c6cf95ade7d855faa15f574c5720ad478fdaa84","source_url":"/docs/release/9.6.17/#id-1.11.6.12.5","statement_hash":"22c7ce86ae7b61116cfa7cebc5eb4a1e7334fe6e0dc9dd399b62cb86d2905f2b","text":"把一些超时和统计追踪 GUC 变量标记为 PGDLLIMPORT，以允许扩展在 Windows 上访问它们（Pascal Legrand） 这适用于 idle_in_transaction_session_timeout、lock_timeout、statement_timeout、track_activities、track_counts 和 track_functions。","title":"把一些超时和统计追踪 GUC 变量标记为 PGDLLIMPORT，以允许扩展在 Windows 上访问它们","variants":[],"version":"9.6.17"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["001362cfd","096ea540e","1a0c65120","28e6a2fd6","2ed302ab9","7309e75fa","df44e411c"],"commit_groups":[["001362cfd","096ea540e","1a0c65120","28e6a2fd6","2ed302ab9","7309e75fa","df44e411c"]],"commits":[],"cves":[],"db_id":"5c95b7fcd1938c3b6d9d9b8864ca7de5","html":"\u003cp\u003e修复导致 Windows 上进程间信号延迟传递的竞态条件（Amit Kapila）\u003c/p\u003e\n\u003cp\u003e这导致 \u003ccode\u003eNOTIFY\u003c/code\u003e 中可见的时机异常，或许还有其他错误行为。\u003c/p\u003e","id":"9.6.17-c82f1a69711e2d17","identity_text":"Fix race condition that led to delayed delivery of interprocess signals on Windows (Amit Kapila) This caused visible timing oddities in NOTIFY, and perhaps other misbehavior.","part":"changes","patch_ids":["035339dce5d3c20882b90f7584206c34"],"related_changes":[{"db_id":"17841ca66c8597b1454cef07840ee0d5","evidence":{"patch_ids":["035339dce5d3c20882b90f7584206c34"],"same_day":true,"statement_hash":"852fd0534ba443462434c14ef978ca7af532be628ae0a3a2efa8dbf8bce71ff5"},"kind":"equivalent","label":"12.2","source_url":"/docs/release/12.2/#id-1.11.6.26.5","title":"修复导致 Windows 上进程间信号延迟传递的竞争条件","url":"/docs/compare/?release=12.2#12.2-d7b8ac99f8146d46","version":"12.2"},{"db_id":"9b2e01b892248d1f2f87aba1fd51276f","evidence":{"patch_ids":["035339dce5d3c20882b90f7584206c34"],"same_day":true,"statement_hash":"852fd0534ba443462434c14ef978ca7af532be628ae0a3a2efa8dbf8bce71ff5"},"kind":"equivalent","label":"11.7","source_url":"/docs/release/11.7/#id-1.11.6.20.5","title":"修复导致 Windows 上进程间信号延迟传递的竞争条件","url":"/docs/compare/?release=11.7#11.7-15784be332a5e34d","version":"11.7"},{"db_id":"130639fd506c2e5c05c8d0613d6b833d","evidence":{"patch_ids":["035339dce5d3c20882b90f7584206c34"],"same_day":true,"statement_hash":"852fd0534ba443462434c14ef978ca7af532be628ae0a3a2efa8dbf8bce71ff5"},"kind":"equivalent","label":"10.12","source_url":"/docs/release/10.12/#id-1.11.6.16.5","title":"修复导致 Windows 上进程间信号延迟传递的竞争条件","url":"/docs/compare/?release=10.12#10.12-15784be332a5e34d","version":"10.12"},{"db_id":"e26008b230888f6d95bc4dbad7dabff1","evidence":{"patch_ids":["035339dce5d3c20882b90f7584206c34"],"same_day":true,"statement_hash":"852fd0534ba443462434c14ef978ca7af532be628ae0a3a2efa8dbf8bce71ff5"},"kind":"equivalent","label":"9.5.21","source_url":"/docs/release/9.5.21/#id-1.11.6.9.5","title":"修复导致 Windows 上进程间信号延迟传递的竞态条件","url":"/docs/compare/?release=9.5.21#9.5.21-c82f1a69711e2d17","version":"9.5.21"},{"db_id":"8432fc6a09285ae1be5212042997e015","evidence":{"patch_ids":["035339dce5d3c20882b90f7584206c34"],"same_day":true,"statement_hash":"852fd0534ba443462434c14ef978ca7af532be628ae0a3a2efa8dbf8bce71ff5"},"kind":"equivalent","label":"9.4.26","source_url":"/docs/release/9.4.26/#id-1.11.6.5.6","title":"修复导致 Windows 上进程间信号延迟传递的竞态条件","url":"/docs/compare/?release=9.4.26#9.4.26-c82f1a69711e2d17","version":"9.4.26"}],"relations":[{"evidence":{"patch_ids":["035339dce5d3c20882b90f7584206c34"],"same_day":true,"statement_hash":"852fd0534ba443462434c14ef978ca7af532be628ae0a3a2efa8dbf8bce71ff5"},"rule":2,"target":"130639fd506c2e5c05c8d0613d6b833d","type":"equivalent"},{"evidence":{"patch_ids":["035339dce5d3c20882b90f7584206c34"],"same_day":true,"statement_hash":"852fd0534ba443462434c14ef978ca7af532be628ae0a3a2efa8dbf8bce71ff5"},"rule":2,"target":"17841ca66c8597b1454cef07840ee0d5","type":"equivalent"},{"evidence":{"patch_ids":["035339dce5d3c20882b90f7584206c34"],"same_day":true,"statement_hash":"852fd0534ba443462434c14ef978ca7af532be628ae0a3a2efa8dbf8bce71ff5"},"rule":2,"target":"8432fc6a09285ae1be5212042997e015","type":"equivalent"},{"evidence":{"patch_ids":["035339dce5d3c20882b90f7584206c34"],"same_day":true,"statement_hash":"852fd0534ba443462434c14ef978ca7af532be628ae0a3a2efa8dbf8bce71ff5"},"rule":2,"target":"9b2e01b892248d1f2f87aba1fd51276f","type":"equivalent"},{"evidence":{"patch_ids":["035339dce5d3c20882b90f7584206c34"],"same_day":true,"statement_hash":"852fd0534ba443462434c14ef978ca7af532be628ae0a3a2efa8dbf8bce71ff5"},"rule":2,"target":"e26008b230888f6d95bc4dbad7dabff1","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["df44e411c"],"source_entry_id":"9.6.17/changes/032","source_hash":"143a51e0105a2f5e72811fe4e953d7b95aeb6d832ff55b9ab0c77174dd3da1db","source_url":"/docs/release/9.6.17/#id-1.11.6.12.5","statement_hash":"852fd0534ba443462434c14ef978ca7af532be628ae0a3a2efa8dbf8bce71ff5","text":"修复导致 Windows 上进程间信号延迟传递的竞态条件（Amit Kapila） 这导致 NOTIFY 中可见的时机异常，或许还有其他错误行为。","title":"修复导致 Windows 上进程间信号延迟传递的竞态条件","variants":[],"version":"9.6.17"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["2cf51809b","35b28d983","5406513e9","65cb25e4f","6d7547c21","739201b0e","81b052c31","90281a3a2","95f43fee9","a69f5697a","b3c4e2418","cd0380351","cfb2a4cce","f1a4020ef"],"commit_groups":[["2cf51809b","65cb25e4f","6d7547c21","81b052c31","95f43fee9","cd0380351","cfb2a4cce"],["35b28d983","5406513e9","739201b0e","90281a3a2","a69f5697a","b3c4e2418","f1a4020ef"]],"commits":[],"cves":[],"db_id":"fc0d9ffac866b09801c18dae5e11590a","html":"\u003cp\u003e在 Windows 上，\u003ccode\u003eERROR_ACCESS_DENIED\u003c/code\u003e 文件访问失败后重试几次（Alexander Lakhin、Tom Lane）\u003c/p\u003e\n\u003cp\u003e这有助于应对目标文件已被标记为删除但尚未真正消失而导致打开失败的情况。例如，\u003cspan\u003epg_ctl\u003c/span\u003e 在探测 postmaster 是否已关闭时经常因这种错误而失败。\u003c/p\u003e","id":"9.6.17-fac0569c006126a6","identity_text":"On Windows, retry a few times after an ERROR_ACCESS_DENIED file access failure (Alexander Lakhin, Tom Lane) This helps cope with cases where a file open attempt fails because the targeted file is flagged for deletion but not yet actually gone. pg_ctl, for example, frequently failed with such an error when probing to see if the postmaster had shut down yet.","part":"changes","patch_ids":["4f7ddde8569db93f4efb985cf2c73797","68e4da864468904995c0aca64baa124e"],"related_changes":[{"db_id":"b36d231a96c8ce7e12ef094f264e0d1e","evidence":{"patch_ids":["4f7ddde8569db93f4efb985cf2c73797","68e4da864468904995c0aca64baa124e"],"same_day":true,"statement_hash":"16ed9ee98fe9b2fb52af29cd28ebb8aa2415c20fbc64574b03e075722d2f85a4"},"kind":"equivalent","label":"12.2","source_url":"/docs/release/12.2/#id-1.11.6.26.5","title":"在 Windows 上，发生 ERROR_ACCESS_DENIED 文件访问失败后重试几次","url":"/docs/compare/?release=12.2#12.2-c7311c612ca2a77c","version":"12.2"},{"db_id":"80aca2c94c46e49f87b47a2d683f97b6","evidence":{"patch_ids":["4f7ddde8569db93f4efb985cf2c73797","68e4da864468904995c0aca64baa124e"],"same_day":true,"statement_hash":"16ed9ee98fe9b2fb52af29cd28ebb8aa2415c20fbc64574b03e075722d2f85a4"},"kind":"equivalent","label":"11.7","source_url":"/docs/release/11.7/#id-1.11.6.20.5","title":"在 Windows 上，发生 ERROR_ACCESS_DENIED 文件访问失败后重试几次","url":"/docs/compare/?release=11.7#11.7-d7fa0f8f390e5990","version":"11.7"},{"db_id":"a372cd6f4bd6a46b1f446180790f0018","evidence":{"patch_ids":["4f7ddde8569db93f4efb985cf2c73797","68e4da864468904995c0aca64baa124e"],"same_day":true,"statement_hash":"16ed9ee98fe9b2fb52af29cd28ebb8aa2415c20fbc64574b03e075722d2f85a4"},"kind":"equivalent","label":"10.12","source_url":"/docs/release/10.12/#id-1.11.6.16.5","title":"在 Windows 上，发生 ERROR_ACCESS_DENIED 文件访问失败后重试几次","url":"/docs/compare/?release=10.12#10.12-d7fa0f8f390e5990","version":"10.12"},{"db_id":"1d45d0746c2abeca715f89146c079d6e","evidence":{"patch_ids":["4f7ddde8569db93f4efb985cf2c73797","68e4da864468904995c0aca64baa124e"],"same_day":true,"statement_hash":"16ed9ee98fe9b2fb52af29cd28ebb8aa2415c20fbc64574b03e075722d2f85a4"},"kind":"equivalent","label":"9.5.21","source_url":"/docs/release/9.5.21/#id-1.11.6.9.5","title":"在 Windows 上，ERROR_ACCESS_DENIED 文件访问失败后重试几次","url":"/docs/compare/?release=9.5.21#9.5.21-fac0569c006126a6","version":"9.5.21"},{"db_id":"c95685b48848407590a5d75c6e7a9d6c","evidence":{"patch_ids":["4f7ddde8569db93f4efb985cf2c73797","68e4da864468904995c0aca64baa124e"],"same_day":true,"statement_hash":"16ed9ee98fe9b2fb52af29cd28ebb8aa2415c20fbc64574b03e075722d2f85a4"},"kind":"equivalent","label":"9.4.26","source_url":"/docs/release/9.4.26/#id-1.11.6.5.6","title":"在 Windows 上，ERROR_ACCESS_DENIED 文件访问失败后重试几次","url":"/docs/compare/?release=9.4.26#9.4.26-fac0569c006126a6","version":"9.4.26"}],"relations":[{"evidence":{"patch_ids":["4f7ddde8569db93f4efb985cf2c73797","68e4da864468904995c0aca64baa124e"],"same_day":true,"statement_hash":"16ed9ee98fe9b2fb52af29cd28ebb8aa2415c20fbc64574b03e075722d2f85a4"},"rule":2,"target":"1d45d0746c2abeca715f89146c079d6e","type":"equivalent"},{"evidence":{"patch_ids":["4f7ddde8569db93f4efb985cf2c73797","68e4da864468904995c0aca64baa124e"],"same_day":true,"statement_hash":"16ed9ee98fe9b2fb52af29cd28ebb8aa2415c20fbc64574b03e075722d2f85a4"},"rule":2,"target":"80aca2c94c46e49f87b47a2d683f97b6","type":"equivalent"},{"evidence":{"patch_ids":["4f7ddde8569db93f4efb985cf2c73797","68e4da864468904995c0aca64baa124e"],"same_day":true,"statement_hash":"16ed9ee98fe9b2fb52af29cd28ebb8aa2415c20fbc64574b03e075722d2f85a4"},"rule":2,"target":"a372cd6f4bd6a46b1f446180790f0018","type":"equivalent"},{"evidence":{"patch_ids":["4f7ddde8569db93f4efb985cf2c73797","68e4da864468904995c0aca64baa124e"],"same_day":true,"statement_hash":"16ed9ee98fe9b2fb52af29cd28ebb8aa2415c20fbc64574b03e075722d2f85a4"},"rule":2,"target":"b36d231a96c8ce7e12ef094f264e0d1e","type":"equivalent"},{"evidence":{"patch_ids":["4f7ddde8569db93f4efb985cf2c73797","68e4da864468904995c0aca64baa124e"],"same_day":true,"statement_hash":"16ed9ee98fe9b2fb52af29cd28ebb8aa2415c20fbc64574b03e075722d2f85a4"},"rule":2,"target":"c95685b48848407590a5d75c6e7a9d6c","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["65cb25e4f","739201b0e"],"source_entry_id":"9.6.17/changes/033","source_hash":"a6ca48ebb47ed5e5f6b9f28158bacd166e163792bad79d611b1313312a937fb6","source_url":"/docs/release/9.6.17/#id-1.11.6.12.5","statement_hash":"16ed9ee98fe9b2fb52af29cd28ebb8aa2415c20fbc64574b03e075722d2f85a4","text":"在 Windows 上，ERROR_ACCESS_DENIED 文件访问失败后重试几次（Alexander Lakhin、Tom Lane） 这有助于应对目标文件已被标记为删除但尚未真正消失而导致打开失败的情况。例如，pg_ctl 在探测 postmaster 是否已关闭时经常因这种错误而失败。","title":"在 Windows 上，ERROR_ACCESS_DENIED 文件访问失败后重试几次","variants":[],"version":"9.6.17"}],"entry_count":33,"eol":"2021-11-11","eol_date":"2021-11-11","label":"9.6.17","major":"9.6","manual":"9.6","manual_build":"9.6.24","manual_url":"/docs/9.6/release-9-6-17.html","migration_html":"\u003cp\u003e对于运行 9.6.X 的用户，不需要转储/恢复。\u003c/p\u003e\n\u003cp\u003e不过，如果你是从 9.6.16 之前的版本升级，参见\u003ca href=\"/docs/9.6/release-9-6-16.html\" title=\"E.9. 版本 9.6.16\"\u003e第 E.9 节\u003c/a\u003e。\u003c/p\u003e","minor":17,"placeholder":false,"source_as_of":"","source_url":"/docs/release/9.6.17/","status":"stable","status_label":"Historical","support_days":-1796,"supported":false,"version":"9.6.17"}],"mode":"release","release_count":1,"remaining_cves":[],"security_as_of":"2026-09-26","security_regressions":[],"source_as_of":"2026-09-26","stats":[{"count":33,"key":"all","label":"All changes"},{"count":0,"key":"feature","label":"Features"},{"count":17,"key":"bugfix","label":"Bug fixes"},{"count":1,"key":"security","label":"Security"},{"count":1,"key":"performance","label":"Performance"},{"count":0,"key":"compatibility","label":"Compatibility"},{"count":14,"key":"improvement","label":"Improvements"}],"to_release":{"age_days":2433,"build":"9.6.17","changes_count":33,"compatibility_count":0,"content_hash":"9cb807f9a639ec44bb4804e6fe10b110909b8476f58488a6794ee13c48b7b111","date":"2020-02-13","date_text":"2020-02-13","doc_git":"","doc_loaded_at":"2026-09-26T02:56:43.973460","entry_count":33,"eol":"2021-11-11","eol_date":"2021-11-11","label":"9.6.17","major":"9.6","manual":"9.6","manual_build":"9.6.24","manual_url":"/docs/9.6/release-9-6-17.html","migration_html":"\u003cp\u003e对于运行 9.6.X 的用户，不需要转储/恢复。\u003c/p\u003e\n\u003cp\u003e不过，如果你是从 9.6.16 之前的版本升级，参见\u003ca href=\"/docs/9.6/release-9-6-16.html\" title=\"E.9. 版本 9.6.16\"\u003e第 E.9 节\u003c/a\u003e。\u003c/p\u003e","minor":17,"placeholder":false,"source_as_of":"","source_url":"/docs/release/9.6.17/","status":"stable","status_label":"Historical","support_days":-1796,"supported":false,"version":"9.6.17"},"total":33,"warnings":[]}
