{"already_in_source_count":0,"candidate_count":76,"cross_major":false,"cve_available":true,"cve_count":0,"cves":[],"duplicate_count":0,"excluded_count":0,"exclusions":[],"from_release":null,"groups":[{"age_days":2340,"build":"12.3","changes_count":76,"compatibility_count":0,"content_hash":"49c086ca81f71fd2fcd88af447c510202d85af26c1031f0b18ce971ecc84fc44","date":"2020-05-14","date_text":"2020-05-14","doc_git":"","doc_loaded_at":"2026-09-26T02:56:41.471523","entries":[{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["3cb02e307","a375f11c4"],"commit_groups":[["3cb02e307","a375f11c4"]],"commits":["a375f11c4"],"cves":[],"db_id":"cff2f6ffac9607b5c2e4f98e6dfa6ad8","html":"\u003cp\u003e修复 \u003ccode\u003eGENERATED\u003c/code\u003e 列可能发生的失败（David Rowley）\u003ca href=\"https://postgr.es/c/a375f11c4\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e如果 \u003ccode\u003eGENERATED\u003c/code\u003e 列的值是表中另一列的精确副本（且其数据类型按引用传递），就可能导致崩溃或向表中插入损坏的数据。虽然让 \u003ccode\u003eGENERATED\u003c/code\u003e 表达式仅复制另一列并没有多大意义，但如果表达式使用的函数有时原样返回输入，就可能产生这种情况。\u003c/p\u003e","id":"12.3-d51025aa1fc20497","identity_text":"Fix possible failure with GENERATED columns (David Rowley) If a GENERATED column's value is an exact copy of another column of the table (and it is a pass-by-reference data type), it was possible to crash or insert corrupted data into the table. While it would be rather pointless for a GENERATED expression to just duplicate another column, an expression using a function that sometimes returns its input unchanged could create the situation.","part":"changes","patch_ids":["a91929f033e4244a9ca06788783cc39e"],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":["a375f11c4"],"source_entry_id":"12.3/changes/001","source_hash":"c7763aea5136c443af76e59356e1ae85e4f6e3c24c8d48f89e0e23d8c11ed8fc","source_url":"/docs/release/12.3/#id-1.11.6.25.5","statement_hash":"fa8a7d33529feddcd3c904ff9f93dd5297a5564382b12a9617d771cb392d8bbe","text":"修复 GENERATED 列可能发生的失败（David Rowley）§ 如果 GENERATED 列的值是表中另一列的精确副本（且其数据类型按引用传递），就可能导致崩溃或向表中插入损坏的数据。虽然让 GENERATED 表达式仅复制另一列并没有多大意义，但如果表达式使用的函数有时原样返回输入，就可能产生这种情况。","title":"修复 GENERATED 列可能发生的失败","variants":[],"version":"12.3"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["086ffddf3","14751c340"],"commit_groups":[["086ffddf3","14751c340"]],"commits":["14751c340"],"cves":[],"db_id":"d1ebe3f6159bc1932642049a8b31a760","html":"\u003cp\u003e更好地处理生成列的继承（Peter Eisentraut）\u003ca href=\"https://postgr.es/c/14751c340\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e在 \u003ccode\u003eCREATE TABLE ... INHERITS\u003c/code\u003e 期间继承表列时，如果父列已标记为 \u003ccode\u003eGENERATED\u003c/code\u003e，则禁止更改任何生成属性；但当父列不是生成列时，允许将子列标记为 \u003ccode\u003eGENERATED\u003c/code\u003e。\u003c/p\u003e","id":"12.3-a2bf8dfadb3762dc","identity_text":"Handle inheritance of generated columns better (Peter Eisentraut) When a table column is inherited during CREATE TABLE ... INHERITS, disallow changing any generation properties when the parent column is already marked GENERATED; but allow a child column to be marked GENERATED when its parent is not.","part":"changes","patch_ids":["adb458be3235c128ebcdb713daaf1dbc"],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":["14751c340"],"source_entry_id":"12.3/changes/002","source_hash":"b22c78e47cac13c8dd2a433b6257aafd2c3d0ea750777d5ec4482308f1bd013f","source_url":"/docs/release/12.3/#id-1.11.6.25.5","statement_hash":"da86f83a38533c402021612769a263fe404d43bce9580aee12b01aba53d44878","text":"更好地处理生成列的继承（Peter Eisentraut）§ 在 CREATE TABLE ... INHERITS 期间继承表列时，如果父列已标记为 GENERATED，则禁止更改任何生成属性；但当父列不是生成列时，允许将子列标记为 GENERATED。","title":"更好地处理生成列的继承","variants":[],"version":"12.3"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["e92e4a2b6","f06d583c5"],"commit_groups":[["e92e4a2b6","f06d583c5"]],"commits":["f06d583c5"],"cves":[],"db_id":"7e011ede52de1ea97d31349bdfc8a0e6","html":"\u003cp\u003e修复 \u003ccode\u003eCREATE TABLE LIKE INCLUDING GENERATED\u003c/code\u003e 中的跨列引用（Peter Eisentraut）\u003ca href=\"https://postgr.es/c/f06d583c5\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eCREATE TABLE ... LIKE\u003c/code\u003e 尝试复制引用物理位置更靠后的列的 \u003ccode\u003eGENERATED\u003c/code\u003e 表达式时会失败。\u003c/p\u003e","id":"12.3-bb5f99278cd03e63","identity_text":"Fix cross-column references in CREATE TABLE LIKE INCLUDING GENERATED (Peter Eisentraut) CREATE TABLE ... LIKE failed when trying to copy a GENERATED expression that references a physically-later column.","part":"changes","patch_ids":["00fb742a4e7fef33e4da98ced9128e90"],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":["f06d583c5"],"source_entry_id":"12.3/changes/003","source_hash":"abddb460e8296ab18e1801cb5f78dd135c6f764cfd8570d8cfad076ef57cd41e","source_url":"/docs/release/12.3/#id-1.11.6.25.5","statement_hash":"048e815f87bf117e849d2a6bc8cabfdb67dcba80ca224b70e34a45e39cac0816","text":"修复 CREATE TABLE LIKE INCLUDING GENERATED 中的跨列引用（Peter Eisentraut）§ CREATE TABLE ... LIKE 尝试复制引用物理位置更靠后的列的 GENERATED 表达式时会失败。","title":"修复 CREATE TABLE LIKE INCLUDING GENERATED 中的跨列引用","variants":[],"version":"12.3"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["03a8a5f2d","501e41dd3","bf7233ee4"],"commit_groups":[["03a8a5f2d","501e41dd3","bf7233ee4"]],"commits":["bf7233ee4"],"cves":[],"db_id":"b91643f557d7901aca54b7885283b302","html":"\u003cp\u003e将 \u003ccode\u003eALTER TABLE ... SET STORAGE\u003c/code\u003e 传播到索引（Peter Eisentraut）\u003ca href=\"https://postgr.es/c/bf7233ee4\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e非表达式索引列在创建时一直会复制对应表列的 \u003ccode\u003eattstorage\u003c/code\u003e 属性。现在执行 \u003ccode\u003eALTER TABLE ... SET STORAGE\u003c/code\u003e 时也更新它们，以保持一致。\u003c/p\u003e","id":"12.3-e7bf713e133ebea8","identity_text":"Propagate ALTER TABLE ... SET STORAGE to indexes (Peter Eisentraut) Non-expression index columns have always copied the attstorage property of their table column at creation. Update them when ALTER TABLE ... SET STORAGE is done, to maintain consistency.","part":"changes","patch_ids":["d7bee350e520ba1606c6b3f1a4bbad70"],"related_changes":[{"db_id":"b9817aec6ce17c286e3af1d9783a9d38","evidence":{"patch_ids":["d7bee350e520ba1606c6b3f1a4bbad70"],"same_day":true,"statement_hash":"3e6a75b342dba11a67fbb8065d9d3692eeffd168709496ccd45813b2330c2fcc"},"kind":"equivalent","label":"11.8","source_url":"/docs/release/11.8/#id-1.11.6.19.5","title":"将 ALTER TABLE ... SET STORAGE 传播到索引","url":"/docs/compare/?release=11.8#11.8-2ae223d6abd90ea5","version":"11.8"}],"relations":[{"evidence":{"patch_ids":["d7bee350e520ba1606c6b3f1a4bbad70"],"same_day":true,"statement_hash":"3e6a75b342dba11a67fbb8065d9d3692eeffd168709496ccd45813b2330c2fcc"},"rule":2,"target":"b9817aec6ce17c286e3af1d9783a9d38","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["bf7233ee4"],"source_entry_id":"12.3/changes/004","source_hash":"8a5981ad82f55a443cc077475d0e546f4f61c8129f991175f50b7dd7f29ffb87","source_url":"/docs/release/12.3/#id-1.11.6.25.5","statement_hash":"3e6a75b342dba11a67fbb8065d9d3692eeffd168709496ccd45813b2330c2fcc","text":"将 ALTER TABLE ... SET STORAGE 传播到索引（Peter Eisentraut）§ 非表达式索引列在创建时一直会复制对应表列的 attstorage 属性。现在执行 ALTER TABLE ... SET STORAGE 时也更新它们，以保持一致。","title":"将 ALTER TABLE ... SET STORAGE 传播到索引","variants":[],"version":"12.3"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["3e62dd3a9","3f77a6702","41faafbd7","61a161fe4","a40caf5f8","cef2b8d52"],"commit_groups":[["3e62dd3a9","3f77a6702","41faafbd7","61a161fe4","a40caf5f8","cef2b8d52"]],"commits":["3e62dd3a9"],"cves":[],"db_id":"52ecc0d4cc8abdd919ce40c9c2820454","html":"\u003cp\u003e保留由 \u003ccode\u003eALTER TABLE\u003c/code\u003e 重写的索引的 \u003ccode\u003eindisclustered\u003c/code\u003e 设置（Amit Langote，Justin Pryzby）\u003ca href=\"https://postgr.es/c/3e62dd3a9\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e以前，\u003ccode\u003eALTER TABLE\u003c/code\u003e 会丢失哪个索引曾用于 \u003ccode\u003eCLUSTER\u003c/code\u003e 的信息。\u003c/p\u003e","id":"12.3-4d459a22fa14784c","identity_text":"Preserve the indisclustered setting of indexes rewritten by ALTER TABLE (Amit Langote, Justin Pryzby) Previously, ALTER TABLE lost track of which index had been used for CLUSTER.","part":"changes","patch_ids":["a3d58f3f9a0ced8f81a46512e08d0142"],"related_changes":[{"db_id":"d107db295029a5527f462c1bff6c1a27","evidence":{"patch_ids":["a3d58f3f9a0ced8f81a46512e08d0142"],"same_day":true,"statement_hash":"e73380b336aeae9f134a2fa1551a90fbac46f24486c0d1fb70a63a39782adaa4"},"kind":"equivalent","label":"11.8","source_url":"/docs/release/11.8/#id-1.11.6.19.5","title":"保留由 ALTER TABLE 重写的索引的 indisclustered 设置","url":"/docs/compare/?release=11.8#11.8-3a0eef37db292531","version":"11.8"},{"db_id":"620d5b1e2a35bdfa579cba009111e695","evidence":{"patch_ids":["a3d58f3f9a0ced8f81a46512e08d0142"],"same_day":true,"statement_hash":"e73380b336aeae9f134a2fa1551a90fbac46f24486c0d1fb70a63a39782adaa4"},"kind":"equivalent","label":"10.13","source_url":"/docs/release/10.13/#id-1.11.6.15.5","title":"保留由 ALTER TABLE 重写的索引的 indisclustered 设置","url":"/docs/compare/?release=10.13#10.13-3a0eef37db292531","version":"10.13"},{"db_id":"9d3feb851533a7bd7f80b46a32b96b76","evidence":{"patch_ids":["a3d58f3f9a0ced8f81a46512e08d0142"],"same_day":true,"statement_hash":"e73380b336aeae9f134a2fa1551a90fbac46f24486c0d1fb70a63a39782adaa4"},"kind":"equivalent","label":"9.6.18","source_url":"/docs/release/9.6.18/#id-1.11.6.11.5","title":"保留被 ALTER TABLE 重写的索引的 indisclustered 设置","url":"/docs/compare/?release=9.6.18#9.6.18-78ac153ed45e974e","version":"9.6.18"},{"db_id":"65a191e2b5bcc36adf6eefaa83040fa7","evidence":{"patch_ids":["a3d58f3f9a0ced8f81a46512e08d0142"],"same_day":true,"statement_hash":"e73380b336aeae9f134a2fa1551a90fbac46f24486c0d1fb70a63a39782adaa4"},"kind":"equivalent","label":"9.5.22","source_url":"/docs/release/9.5.22/#id-1.11.6.8.6","title":"保留被 ALTER TABLE 重写的索引的 indisclustered 设置","url":"/docs/compare/?release=9.5.22#9.5.22-78ac153ed45e974e","version":"9.5.22"}],"relations":[{"evidence":{"patch_ids":["a3d58f3f9a0ced8f81a46512e08d0142"],"same_day":true,"statement_hash":"e73380b336aeae9f134a2fa1551a90fbac46f24486c0d1fb70a63a39782adaa4"},"rule":2,"target":"620d5b1e2a35bdfa579cba009111e695","type":"equivalent"},{"evidence":{"patch_ids":["a3d58f3f9a0ced8f81a46512e08d0142"],"same_day":true,"statement_hash":"e73380b336aeae9f134a2fa1551a90fbac46f24486c0d1fb70a63a39782adaa4"},"rule":2,"target":"65a191e2b5bcc36adf6eefaa83040fa7","type":"equivalent"},{"evidence":{"patch_ids":["a3d58f3f9a0ced8f81a46512e08d0142"],"same_day":true,"statement_hash":"e73380b336aeae9f134a2fa1551a90fbac46f24486c0d1fb70a63a39782adaa4"},"rule":2,"target":"9d3feb851533a7bd7f80b46a32b96b76","type":"equivalent"},{"evidence":{"patch_ids":["a3d58f3f9a0ced8f81a46512e08d0142"],"same_day":true,"statement_hash":"e73380b336aeae9f134a2fa1551a90fbac46f24486c0d1fb70a63a39782adaa4"},"rule":2,"target":"d107db295029a5527f462c1bff6c1a27","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["3e62dd3a9"],"source_entry_id":"12.3/changes/005","source_hash":"f977d2656010725e728fe2c388dac4ab3caec7621274ece73b3733b06d1416ee","source_url":"/docs/release/12.3/#id-1.11.6.25.5","statement_hash":"e73380b336aeae9f134a2fa1551a90fbac46f24486c0d1fb70a63a39782adaa4","text":"保留由 ALTER TABLE 重写的索引的 indisclustered 设置（Amit Langote，Justin Pryzby）§ 以前，ALTER TABLE 会丢失哪个索引曾用于 CLUSTER 的信息。","title":"保留由 ALTER TABLE 重写的索引的 indisclustered 设置","variants":[],"version":"12.3"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["02530da73","15cbbf81a","1cc9c2412","2f0dd9d93","c15d35041","c9ef507e8"],"commit_groups":[["02530da73","15cbbf81a","1cc9c2412","2f0dd9d93","c15d35041","c9ef507e8"]],"commits":["c9ef507e8"],"cves":[],"db_id":"7c7f78d697ceda39bbb2282b08683ed2","html":"\u003cp\u003e保留由 \u003ccode\u003eALTER TABLE\u003c/code\u003e 重写的索引的复制标识属性（Quan Zongliang，Peter Eisentraut）\u003ca href=\"https://postgr.es/c/c9ef507e8\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"12.3-8c748217e5dc8031","identity_text":"Preserve the replica identity properties of indexes rewritten by ALTER TABLE (Quan Zongliang, Peter Eisentraut)","part":"changes","patch_ids":["5f143403ac7ede3cb9b05827102dbcb6"],"related_changes":[{"db_id":"7524e5da19e7e21429f369e719cc627b","evidence":{"patch_ids":["5f143403ac7ede3cb9b05827102dbcb6"],"same_day":true,"statement_hash":"26c3931f188a2f7417a8997ea1bf534b497c5060c4316ab69ac7e12c8700e8f0"},"kind":"equivalent","label":"11.8","source_url":"/docs/release/11.8/#id-1.11.6.19.5","title":"保留由 ALTER TABLE 重写的索引的复制标识属性","url":"/docs/compare/?release=11.8#11.8-dc3633495c3ae37e","version":"11.8"},{"db_id":"984926ec824bea70185d470ecb69ee2c","evidence":{"patch_ids":["5f143403ac7ede3cb9b05827102dbcb6"],"same_day":true,"statement_hash":"26c3931f188a2f7417a8997ea1bf534b497c5060c4316ab69ac7e12c8700e8f0"},"kind":"equivalent","label":"10.13","source_url":"/docs/release/10.13/#id-1.11.6.15.5","title":"保留由 ALTER TABLE 重写的索引的复制标识属性","url":"/docs/compare/?release=10.13#10.13-dc3633495c3ae37e","version":"10.13"},{"db_id":"97f8a7f5579d633d7c8874b8cb9efc79","evidence":{"patch_ids":["5f143403ac7ede3cb9b05827102dbcb6"],"same_day":true,"statement_hash":"26c3931f188a2f7417a8997ea1bf534b497c5060c4316ab69ac7e12c8700e8f0"},"kind":"equivalent","label":"9.6.18","source_url":"/docs/release/9.6.18/#id-1.11.6.11.5","title":"保留被 ALTER TABLE 重写的索引的副本身份属性","url":"/docs/compare/?release=9.6.18#9.6.18-9c4d55e6730370e2","version":"9.6.18"},{"db_id":"9189c4123c00f9dbcd0c24c57151433f","evidence":{"patch_ids":["5f143403ac7ede3cb9b05827102dbcb6"],"same_day":true,"statement_hash":"26c3931f188a2f7417a8997ea1bf534b497c5060c4316ab69ac7e12c8700e8f0"},"kind":"equivalent","label":"9.5.22","source_url":"/docs/release/9.5.22/#id-1.11.6.8.6","title":"保留被 ALTER TABLE 重写的索引的副本身份属性","url":"/docs/compare/?release=9.5.22#9.5.22-9c4d55e6730370e2","version":"9.5.22"}],"relations":[{"evidence":{"patch_ids":["5f143403ac7ede3cb9b05827102dbcb6"],"same_day":true,"statement_hash":"26c3931f188a2f7417a8997ea1bf534b497c5060c4316ab69ac7e12c8700e8f0"},"rule":2,"target":"7524e5da19e7e21429f369e719cc627b","type":"equivalent"},{"evidence":{"patch_ids":["5f143403ac7ede3cb9b05827102dbcb6"],"same_day":true,"statement_hash":"26c3931f188a2f7417a8997ea1bf534b497c5060c4316ab69ac7e12c8700e8f0"},"rule":2,"target":"9189c4123c00f9dbcd0c24c57151433f","type":"equivalent"},{"evidence":{"patch_ids":["5f143403ac7ede3cb9b05827102dbcb6"],"same_day":true,"statement_hash":"26c3931f188a2f7417a8997ea1bf534b497c5060c4316ab69ac7e12c8700e8f0"},"rule":2,"target":"97f8a7f5579d633d7c8874b8cb9efc79","type":"equivalent"},{"evidence":{"patch_ids":["5f143403ac7ede3cb9b05827102dbcb6"],"same_day":true,"statement_hash":"26c3931f188a2f7417a8997ea1bf534b497c5060c4316ab69ac7e12c8700e8f0"},"rule":2,"target":"984926ec824bea70185d470ecb69ee2c","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["c9ef507e8"],"source_entry_id":"12.3/changes/006","source_hash":"446da478ee965da8964b52da9e92e04598fd144395a1b15a7e3189dd2a2d3faa","source_url":"/docs/release/12.3/#id-1.11.6.25.5","statement_hash":"26c3931f188a2f7417a8997ea1bf534b497c5060c4316ab69ac7e12c8700e8f0","text":"保留由 ALTER TABLE 重写的索引的复制标识属性（Quan Zongliang，Peter Eisentraut）§","title":"保留由 ALTER TABLE 重写的索引的复制标识属性","variants":[],"version":"12.3"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["d79fb88ac","f087d63a4"],"commit_groups":[["d79fb88ac","f087d63a4"]],"commits":["f087d63a4"],"cves":[],"db_id":"3427fb92f15f901b5d7aed8c6cd01ad4","html":"\u003cp\u003e保留由 \u003ccode\u003eREINDEX CONCURRENTLY\u003c/code\u003e 重建的索引的 \u003ccode\u003eindisclustered\u003c/code\u003e 设置（Justin Pryzby）\u003ca href=\"https://postgr.es/c/f087d63a4\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"12.3-cfe465eb425f88bf","identity_text":"Preserve the indisclustered setting of indexes rebuilt by REINDEX CONCURRENTLY (Justin Pryzby)","part":"changes","patch_ids":["9615df75ab7ac529e57d42b4fb468bbe"],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":["f087d63a4"],"source_entry_id":"12.3/changes/007","source_hash":"afba2d2997eb6ba8dd026b37c16dc2d0e1bff9d98fda6f1c3b740f85c288ffef","source_url":"/docs/release/12.3/#id-1.11.6.25.5","statement_hash":"5218a8c10224378040e588510b15e324a18cdc2d9260733e9c549742761f9da8","text":"保留由 REINDEX CONCURRENTLY 重建的索引的 indisclustered 设置（Justin Pryzby）§","title":"保留由 REINDEX CONCURRENTLY 重建的索引的 indisclustered 设置","variants":[],"version":"12.3"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["2bf56f50e","2eea49471","4d21263ff","59273a7ce","5be594caf","91d97462c"],"commit_groups":[["2bf56f50e","2eea49471","4d21263ff","59273a7ce","5be594caf","91d97462c"]],"commits":["2eea49471"],"cves":[],"db_id":"772e2a40689c1ca396d33ecc55e1b9c3","html":"\u003cp\u003e在 \u003ccode\u003eDROP OWNED BY\u003c/code\u003e 期间更早地锁定对象（Álvaro Herrera）\u003ca href=\"https://postgr.es/c/2eea49471\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e这可以避免另一个会话同时删除部分相同对象时，因竞争条件而发生的失败。\u003c/p\u003e","id":"12.3-7524755657239ae6","identity_text":"Lock objects sooner during DROP OWNED BY (Álvaro Herrera) This avoids failures in race-condition cases where another session is deleting some of the same objects.","part":"changes","patch_ids":["eee91683461656e730a1b3106c0ccf9e"],"related_changes":[{"db_id":"caabcd93149b6e748a51634556714b66","evidence":{"patch_ids":["eee91683461656e730a1b3106c0ccf9e"],"same_day":true,"statement_hash":"5ed4dd630b92c11eae811699b77ba32efff981ca47302abf11390ec5c837420d"},"kind":"equivalent","label":"11.8","source_url":"/docs/release/11.8/#id-1.11.6.19.5","title":"在 DROP OWNED BY 期间更早地锁定对象","url":"/docs/compare/?release=11.8#11.8-a169fd265e1fb8da","version":"11.8"},{"db_id":"90546408dd43a05d233aea11bd7febb1","evidence":{"patch_ids":["eee91683461656e730a1b3106c0ccf9e"],"same_day":true,"statement_hash":"5ed4dd630b92c11eae811699b77ba32efff981ca47302abf11390ec5c837420d"},"kind":"equivalent","label":"10.13","source_url":"/docs/release/10.13/#id-1.11.6.15.5","title":"在 DROP OWNED BY 期间更早地锁定对象","url":"/docs/compare/?release=10.13#10.13-a169fd265e1fb8da","version":"10.13"},{"db_id":"b880955b0903f08de5edd387587989cf","evidence":{"patch_ids":["eee91683461656e730a1b3106c0ccf9e"],"same_day":true,"statement_hash":"5ed4dd630b92c11eae811699b77ba32efff981ca47302abf11390ec5c837420d"},"kind":"equivalent","label":"9.6.18","source_url":"/docs/release/9.6.18/#id-1.11.6.11.5","title":"在 DROP OWNED BY 期间更早地锁定对象","url":"/docs/compare/?release=9.6.18#9.6.18-a169fd265e1fb8da","version":"9.6.18"},{"db_id":"4daaa443285739f9d53ae1c69016a44d","evidence":{"patch_ids":["eee91683461656e730a1b3106c0ccf9e"],"same_day":true,"statement_hash":"5ed4dd630b92c11eae811699b77ba32efff981ca47302abf11390ec5c837420d"},"kind":"equivalent","label":"9.5.22","source_url":"/docs/release/9.5.22/#id-1.11.6.8.6","title":"在 DROP OWNED BY 期间更早地锁定对象","url":"/docs/compare/?release=9.5.22#9.5.22-a169fd265e1fb8da","version":"9.5.22"}],"relations":[{"evidence":{"patch_ids":["eee91683461656e730a1b3106c0ccf9e"],"same_day":true,"statement_hash":"5ed4dd630b92c11eae811699b77ba32efff981ca47302abf11390ec5c837420d"},"rule":2,"target":"4daaa443285739f9d53ae1c69016a44d","type":"equivalent"},{"evidence":{"patch_ids":["eee91683461656e730a1b3106c0ccf9e"],"same_day":true,"statement_hash":"5ed4dd630b92c11eae811699b77ba32efff981ca47302abf11390ec5c837420d"},"rule":2,"target":"90546408dd43a05d233aea11bd7febb1","type":"equivalent"},{"evidence":{"patch_ids":["eee91683461656e730a1b3106c0ccf9e"],"same_day":true,"statement_hash":"5ed4dd630b92c11eae811699b77ba32efff981ca47302abf11390ec5c837420d"},"rule":2,"target":"b880955b0903f08de5edd387587989cf","type":"equivalent"},{"evidence":{"patch_ids":["eee91683461656e730a1b3106c0ccf9e"],"same_day":true,"statement_hash":"5ed4dd630b92c11eae811699b77ba32efff981ca47302abf11390ec5c837420d"},"rule":2,"target":"caabcd93149b6e748a51634556714b66","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["2eea49471"],"source_entry_id":"12.3/changes/008","source_hash":"a8987fe9f33e7339281d045fc8b1957f3ac7377adb9ceeff8c1ca5f4229a6fbf","source_url":"/docs/release/12.3/#id-1.11.6.25.5","statement_hash":"5ed4dd630b92c11eae811699b77ba32efff981ca47302abf11390ec5c837420d","text":"在 DROP OWNED BY 期间更早地锁定对象（Álvaro Herrera）§ 这可以避免另一个会话同时删除部分相同对象时，因竞争条件而发生的失败。","title":"在 DROP OWNED BY 期间更早地锁定对象","variants":[],"version":"12.3"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["0f4970d1a","287f6d2d9","86b7a4e6f","b3824ca22","d0360632d","d9a4cce29"],"commit_groups":[["0f4970d1a","287f6d2d9","86b7a4e6f","b3824ca22","d0360632d","d9a4cce29"]],"commits":["d0360632d"],"cves":[],"db_id":"f64514781f36efd6407c638a79349547","html":"\u003cp\u003e修复 \u003ccode\u003eCREATE ROLE ... IN ROLE\u003c/code\u003e 的错误情况处理（Andrew Gierth）\u003ca href=\"https://postgr.es/c/d0360632d\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e某些错误情况会被报告为 \u003cspan\u003e“\u003cspan\u003eunexpected node type\u003c/span\u003e”\u003c/span\u003e 等消息，而非预期的消息。\u003c/p\u003e","id":"12.3-1a0519cbce8717ae","identity_text":"Fix error-case processing for CREATE ROLE ... IN ROLE (Andrew Gierth) Some error cases would be reported as unexpected node type or the like, instead of the intended message.","part":"changes","patch_ids":["fed980cc171da5b77defa2af630b4fe6"],"related_changes":[{"db_id":"ac10184120a6201dc5a23020315c9d20","evidence":{"patch_ids":["fed980cc171da5b77defa2af630b4fe6"],"same_day":true,"statement_hash":"b5a81806262ba790d024d3a37a399706e4053e6d7e1874c7e49d23d238c8159e"},"kind":"equivalent","label":"11.8","source_url":"/docs/release/11.8/#id-1.11.6.19.5","title":"修复 CREATE ROLE ... IN ROLE 的错误情况处理","url":"/docs/compare/?release=11.8#11.8-5faff5e0ce585418","version":"11.8"},{"db_id":"d71b6196cb3f83fef5fcb5c4f6e84849","evidence":{"patch_ids":["fed980cc171da5b77defa2af630b4fe6"],"same_day":true,"statement_hash":"b5a81806262ba790d024d3a37a399706e4053e6d7e1874c7e49d23d238c8159e"},"kind":"equivalent","label":"10.13","source_url":"/docs/release/10.13/#id-1.11.6.15.5","title":"修复 CREATE ROLE ... IN ROLE 的错误情况处理","url":"/docs/compare/?release=10.13#10.13-5faff5e0ce585418","version":"10.13"},{"db_id":"f32ccadcd1b96be90e58dd86ae477aa3","evidence":{"patch_ids":["fed980cc171da5b77defa2af630b4fe6"],"same_day":true,"statement_hash":"b5a81806262ba790d024d3a37a399706e4053e6d7e1874c7e49d23d238c8159e"},"kind":"equivalent","label":"9.6.18","source_url":"/docs/release/9.6.18/#id-1.11.6.11.5","title":"修复 CREATE ROLE ... IN ROLE 的错误情况处理","url":"/docs/compare/?release=9.6.18#9.6.18-5faff5e0ce585418","version":"9.6.18"},{"db_id":"ff88690f590c6b2db573e5b359beebb7","evidence":{"patch_ids":["fed980cc171da5b77defa2af630b4fe6"],"same_day":true,"statement_hash":"b5a81806262ba790d024d3a37a399706e4053e6d7e1874c7e49d23d238c8159e"},"kind":"equivalent","label":"9.5.22","source_url":"/docs/release/9.5.22/#id-1.11.6.8.6","title":"修复 CREATE ROLE ... IN ROLE 的错误情况处理","url":"/docs/compare/?release=9.5.22#9.5.22-5faff5e0ce585418","version":"9.5.22"}],"relations":[{"evidence":{"patch_ids":["fed980cc171da5b77defa2af630b4fe6"],"same_day":true,"statement_hash":"b5a81806262ba790d024d3a37a399706e4053e6d7e1874c7e49d23d238c8159e"},"rule":2,"target":"ac10184120a6201dc5a23020315c9d20","type":"equivalent"},{"evidence":{"patch_ids":["fed980cc171da5b77defa2af630b4fe6"],"same_day":true,"statement_hash":"b5a81806262ba790d024d3a37a399706e4053e6d7e1874c7e49d23d238c8159e"},"rule":2,"target":"d71b6196cb3f83fef5fcb5c4f6e84849","type":"equivalent"},{"evidence":{"patch_ids":["fed980cc171da5b77defa2af630b4fe6"],"same_day":true,"statement_hash":"b5a81806262ba790d024d3a37a399706e4053e6d7e1874c7e49d23d238c8159e"},"rule":2,"target":"f32ccadcd1b96be90e58dd86ae477aa3","type":"equivalent"},{"evidence":{"patch_ids":["fed980cc171da5b77defa2af630b4fe6"],"same_day":true,"statement_hash":"b5a81806262ba790d024d3a37a399706e4053e6d7e1874c7e49d23d238c8159e"},"rule":2,"target":"ff88690f590c6b2db573e5b359beebb7","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["d0360632d"],"source_entry_id":"12.3/changes/009","source_hash":"e6e54a8b9a768de4b92c5c8553b74cba2b31da9af1e2166c8d1907396b5489db","source_url":"/docs/release/12.3/#id-1.11.6.25.5","statement_hash":"b5a81806262ba790d024d3a37a399706e4053e6d7e1874c7e49d23d238c8159e","text":"修复 CREATE ROLE ... IN ROLE 的错误情况处理（Andrew Gierth）§ 某些错误情况会被报告为 “unexpected node type” 等消息，而非预期的消息。","title":"修复 CREATE ROLE ... IN ROLE 的错误情况处理","variants":[],"version":"12.3"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["0b83c4721","afccd76f1","e26c8a6b3"],"commit_groups":[["0b83c4721","afccd76f1","e26c8a6b3"]],"commits":["e26c8a6b3"],"cves":[],"db_id":"f55c467b899e71fbd885437b31e5b198","html":"\u003cp\u003e确保分离分区时移除所有从原父表克隆的触发器（Justin Pryzby）\u003ca href=\"https://postgr.es/c/e26c8a6b3\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"12.3-693a774103475345","identity_text":"Ensure that when a partition is detached, any triggers cloned from its formerly-parent table are removed (Justin Pryzby)","part":"changes","patch_ids":["34415bb7f9a6a80eef418abd5e1e0841"],"related_changes":[{"db_id":"ef210adecbcf59994b2172f6210ca8aa","evidence":{"patch_ids":["34415bb7f9a6a80eef418abd5e1e0841"],"same_day":true,"statement_hash":"648c100706961b6cdab370dd06c1d402daab966ed27af80af70c75a533e161b8"},"kind":"equivalent","label":"11.8","source_url":"/docs/release/11.8/#id-1.11.6.19.5","title":"确保分离分区时移除所有从原父表克隆的触发器","url":"/docs/compare/?release=11.8#11.8-078e06b0dc284736","version":"11.8"}],"relations":[{"evidence":{"patch_ids":["34415bb7f9a6a80eef418abd5e1e0841"],"same_day":true,"statement_hash":"648c100706961b6cdab370dd06c1d402daab966ed27af80af70c75a533e161b8"},"rule":2,"target":"ef210adecbcf59994b2172f6210ca8aa","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["e26c8a6b3"],"source_entry_id":"12.3/changes/010","source_hash":"c6d5c675f38afa9446150e6c54b0033fec84f709ef1eb704d0c87e490141a56e","source_url":"/docs/release/12.3/#id-1.11.6.25.5","statement_hash":"648c100706961b6cdab370dd06c1d402daab966ed27af80af70c75a533e161b8","text":"确保分离分区时移除所有从原父表克隆的触发器（Justin Pryzby）§","title":"确保分离分区时移除所有从原父表克隆的触发器","variants":[],"version":"12.3"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["0a9ae1800","c0187869a"],"commit_groups":[["0a9ae1800","c0187869a"]],"commits":["0a9ae1800"],"cves":[],"db_id":"328544ac5a5b72b799a0b6839e2d66d8","html":"\u003cp\u003e修复分区边界表达式中将 \u003ccode\u003eCOLLATE\u003c/code\u003e 应用于不支持排序规则的类型时的崩溃（Dmitry Dolgov）\u003ca href=\"https://postgr.es/c/0a9ae1800\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"12.3-6b76ecb31682cd26","identity_text":"Fix crash when COLLATE is applied to a non-collatable type in a partition bound expression (Dmitry Dolgov)","part":"changes","patch_ids":["998b78df335e84e04882db23d0ae84f3"],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":["0a9ae1800"],"source_entry_id":"12.3/changes/011","source_hash":"fe4ee4afd4dbea44ad66fd143a07bafbb234659250c9358914d2f62e652a1425","source_url":"/docs/release/12.3/#id-1.11.6.25.5","statement_hash":"247d6315161ab4ba3f788418444446b4df0f5f6da012215baac24641c555b079","text":"修复分区边界表达式中将 COLLATE 应用于不支持排序规则的类型时的崩溃（Dmitry Dolgov）§","title":"修复分区边界表达式中将 COLLATE 应用于不支持排序规则的类型时的崩溃","variants":[],"version":"12.3"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["501b01879","76ddc88f4","76ea60696"],"commit_groups":[["501b01879","76ddc88f4","76ea60696"]],"commits":["76ea60696"],"cves":[],"db_id":"c9e14588094d7a8fb137f98b59979348","html":"\u003cp\u003e确保分区表上的唯一索引与分区键的相等语义一致（Guancheng Luo）\u003ca href=\"https://postgr.es/c/76ea60696\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e这只会在索引操作符类采用不寻常的相等定义时成为问题，但理论上仍是错误，因此增加检查。\u003c/p\u003e","id":"12.3-f9d861fbfff21335","identity_text":"Ensure that unique indexes over partitioned tables match the equality semantics of the partitioning key (Guancheng Luo) This would only be an issue with index opclasses that have unusual notions of equality, but it's wrong in theory, so check.","part":"changes","patch_ids":["e6489d18739dd19993007478b8bcb4a4"],"related_changes":[{"db_id":"92c422aa37a4e8d51c736f70cb3f98e0","evidence":{"patch_ids":["e6489d18739dd19993007478b8bcb4a4"],"same_day":true,"statement_hash":"8798ba3c84429dc46d54e4887005376904b7e56901930de1d8d9027b00234b91"},"kind":"equivalent","label":"11.8","source_url":"/docs/release/11.8/#id-1.11.6.19.5","title":"确保分区表上的唯一索引与分区键的相等语义一致","url":"/docs/compare/?release=11.8#11.8-0c5c8212b424b34a","version":"11.8"}],"relations":[{"evidence":{"patch_ids":["e6489d18739dd19993007478b8bcb4a4"],"same_day":true,"statement_hash":"8798ba3c84429dc46d54e4887005376904b7e56901930de1d8d9027b00234b91"},"rule":2,"target":"92c422aa37a4e8d51c736f70cb3f98e0","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["76ea60696"],"source_entry_id":"12.3/changes/012","source_hash":"0e86f31135d2dd06712ef58904a7e76d3999affc7aebe1655d5f38d8d7e4c33a","source_url":"/docs/release/12.3/#id-1.11.6.25.5","statement_hash":"8798ba3c84429dc46d54e4887005376904b7e56901930de1d8d9027b00234b91","text":"确保分区表上的唯一索引与分区键的相等语义一致（Guancheng Luo）§ 这只会在索引操作符类采用不寻常的相等定义时成为问题，但理论上仍是错误，因此增加检查。","title":"确保分区表上的唯一索引与分区键的相等语义一致","variants":[],"version":"12.3"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["212e712a5","3d4652f67","7e4e57474","d0bb66572"],"commit_groups":[["212e712a5","3d4652f67","7e4e57474","d0bb66572"]],"commits":["212e712a5"],"cves":[],"db_id":"b6dbe456bc4a4752b6c3ad8e908d7026","html":"\u003cp\u003e确保 \u003ccode\u003epg_read_all_stats\u003c/code\u003e 角色的成员可以按预期读取所有统计视图（Magnus Hagander）\u003ca href=\"https://postgr.es/c/212e712a5\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003epg_stat_progress_*\u003c/code\u003e 视图的底层函数以前没有遵守这一要求。\u003c/p\u003e","id":"12.3-ed638ee3f3afb2f3","identity_text":"Ensure that members of the pg_read_all_stats role can read all statistics views, as expected (Magnus Hagander) The functions underlying the pg_stat_progress_* views had not gotten this memo.","part":"changes","patch_ids":["a99a6d54c05f45e96ee55b4aaefa9cb3"],"related_changes":[{"db_id":"b6319d9ef4a658689f2487f3307d1484","evidence":{"patch_ids":["a99a6d54c05f45e96ee55b4aaefa9cb3"],"same_day":true,"statement_hash":"e115c10efc5aea7805af8797bd9ac36604340eb365cbd6c7b6c047e8ed6d9e54"},"kind":"equivalent","label":"11.8","source_url":"/docs/release/11.8/#id-1.11.6.19.5","title":"确保 pg_read_all_stats 角色的成员可以按预期读取所有统计视图","url":"/docs/compare/?release=11.8#11.8-6e0785dd6a222c98","version":"11.8"},{"db_id":"d59c3bdea02bd337c93ea530018d82ed","evidence":{"patch_ids":["a99a6d54c05f45e96ee55b4aaefa9cb3"],"same_day":true,"statement_hash":"e115c10efc5aea7805af8797bd9ac36604340eb365cbd6c7b6c047e8ed6d9e54"},"kind":"equivalent","label":"10.13","source_url":"/docs/release/10.13/#id-1.11.6.15.5","title":"确保 pg_read_all_stats 角色的成员可以按预期读取所有统计视图","url":"/docs/compare/?release=10.13#10.13-6e0785dd6a222c98","version":"10.13"}],"relations":[{"evidence":{"patch_ids":["a99a6d54c05f45e96ee55b4aaefa9cb3"],"same_day":true,"statement_hash":"e115c10efc5aea7805af8797bd9ac36604340eb365cbd6c7b6c047e8ed6d9e54"},"rule":2,"target":"b6319d9ef4a658689f2487f3307d1484","type":"equivalent"},{"evidence":{"patch_ids":["a99a6d54c05f45e96ee55b4aaefa9cb3"],"same_day":true,"statement_hash":"e115c10efc5aea7805af8797bd9ac36604340eb365cbd6c7b6c047e8ed6d9e54"},"rule":2,"target":"d59c3bdea02bd337c93ea530018d82ed","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["212e712a5"],"source_entry_id":"12.3/changes/013","source_hash":"ba9882386705161e1f710b91d067f80df7467f090d9ebf3ef106b101a9190bcf","source_url":"/docs/release/12.3/#id-1.11.6.25.5","statement_hash":"e115c10efc5aea7805af8797bd9ac36604340eb365cbd6c7b6c047e8ed6d9e54","text":"确保 pg_read_all_stats 角色的成员可以按预期读取所有统计视图（Magnus Hagander）§ pg_stat_progress_* 视图的底层函数以前没有遵守这一要求。","title":"确保 pg_read_all_stats 角色的成员可以按预期读取所有统计视图","variants":[],"version":"12.3"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["64e49a67e","776f6d3d0","baf17ad9d"],"commit_groups":[["64e49a67e","776f6d3d0","baf17ad9d"]],"commits":["64e49a67e"],"cves":[],"db_id":"343b41bb560af44ba703b883559175c6","html":"\u003cp\u003e修复 \u003ccode\u003einformation_schema\u003c/code\u003e.\u003ccode\u003etriggers\u003c/code\u003e 视图的性能退化（Tom Lane）\u003ca href=\"https://postgr.es/c/64e49a67e\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e此补丁重新定义了该视图，使约束表名的外层 \u003ccode\u003eWHERE\u003c/code\u003e 子句可以下推到视图内部，从而只针对目标表的触发器进行计算，而非数据库中的所有触发器。在具有大量触发器的数据库中，这会显著提高此类查询的速度。由于 v11 之前就是这样工作的，这是一处潜在的性能退化。受此问题影响的用户可以替换视图定义来修复它（或许也可以直接删除并重新安装整个 \u003ccode\u003einformation_schema\u003c/code\u003e 模式）。\u003c/p\u003e","id":"12.3-1c81ff4a1f1b993d","identity_text":"Repair performance regression in information_schema.triggers view (Tom Lane) This patch redefines that view so that an outer WHERE clause constraining the table name can be pushed down into the view, allowing its calculations to be done only for triggers belonging to the table of interest rather than all triggers in the database. In a database with many triggers this would make a significant speed difference for queries of that form. Since things worked that way before v11, this is a potential performance regression. Users who find this to be a problem can fix it by replacing the view definition (or, perhaps, just deleting and reinstalling the whole information_schema schema).","part":"changes","patch_ids":["f161906d051e4cff6ab42cd2f030fa74"],"related_changes":[{"db_id":"cd8cda373404ea817821ec49528fb385","evidence":{"patch_ids":["f161906d051e4cff6ab42cd2f030fa74"],"same_day":true,"statement_hash":"f2b21e64caf70adbacdac31680314cd3e15dcfacdb3c7f6a1ae296dd12563152"},"kind":"equivalent","label":"11.8","source_url":"/docs/release/11.8/#id-1.11.6.19.5","title":"修复 information_schema.triggers 视图的性能退化","url":"/docs/compare/?release=11.8#11.8-7153d0c053c44cd0","version":"11.8"}],"relations":[{"evidence":{"patch_ids":["f161906d051e4cff6ab42cd2f030fa74"],"same_day":true,"statement_hash":"f2b21e64caf70adbacdac31680314cd3e15dcfacdb3c7f6a1ae296dd12563152"},"rule":2,"target":"cd8cda373404ea817821ec49528fb385","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["64e49a67e"],"source_entry_id":"12.3/changes/014","source_hash":"e536621caa54a87c205197d1ee86da667ed362ca5e4f93b9a64b3acd26aceec4","source_url":"/docs/release/12.3/#id-1.11.6.25.5","statement_hash":"f2b21e64caf70adbacdac31680314cd3e15dcfacdb3c7f6a1ae296dd12563152","text":"修复 information_schema.triggers 视图的性能退化（Tom Lane）§ 此补丁重新定义了该视图，使约束表名的外层 WHERE 子句可以下推到视图内部，从而只针对目标表的触发器进行计算，而非数据库中的所有触发器。在具有大量触发器的数据库中，这会显著提高此类查询的速度。由于 v11 之前就是这样工作的，这是一处潜在的性能退化。受此问题影响的用户可以替换视图定义来修复它（或许也可以直接删除并重新安装整个 information_schema 模式）。","title":"修复 information_schema.triggers 视图的性能退化","variants":[],"version":"12.3"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["607f8ce74","764a554d6"],"commit_groups":[["607f8ce74","764a554d6"]],"commits":["764a554d6"],"cves":[],"db_id":"7daca2ac58db536ca5327dd261ba8916","html":"\u003cp\u003e修复浮点上溢和下溢检测的性能退化（Emre Hasegeli）\u003ca href=\"https://postgr.es/c/764a554d6\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e以前的重构导致某些热点代码路径额外调用了 \u003ccode\u003eisinf()\u003c/code\u003e。\u003c/p\u003e","id":"12.3-75eb8cec0a12ade4","identity_text":"Repair performance regression in floating point overflow/underflow detection (Emre Hasegeli) Previous refactoring had resulted in isinf() being called extra times in some hot code paths.","part":"changes","patch_ids":["db10508f7bd2564672b4f42a84de7a37"],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":["764a554d6"],"source_entry_id":"12.3/changes/015","source_hash":"b40ae17a5d1d4c85f1fc31c2d9e4aa65cfd97f79928e44c8b56cb7ee16e730e4","source_url":"/docs/release/12.3/#id-1.11.6.25.5","statement_hash":"6dd92ea58ab9d0801a7cf1aa871d09d8e2e2d7de23c2ba596a2603dcad24c4a6","text":"修复浮点上溢和下溢检测的性能退化（Emre Hasegeli）§ 以前的重构导致某些热点代码路径额外调用了 isinf()。","title":"修复浮点上溢和下溢检测的性能退化","variants":[],"version":"12.3"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["072a86327","18f7e856c","22dcb6c20","98a4d6950","e81e5741a"],"commit_groups":[["072a86327","18f7e856c","22dcb6c20","98a4d6950","e81e5741a"]],"commits":["18f7e856c"],"cves":[],"db_id":"1a294ef8778e35fb300eb8013ef32728","html":"\u003cp\u003e修复全文检索，使其正确处理短语搜索之上的 NOT（Tom Lane）\u003ca href=\"https://postgr.es/c/18f7e856c\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003e!(foo\u0026lt;-\u0026gt;bar)\u003c/code\u003e 等查询在通过 GiST 或 GIN 索引搜索执行时，无法找到匹配行。\u003c/p\u003e","id":"12.3-0bc4f4609693408e","identity_text":"Fix full text search to handle NOT above a phrase search correctly (Tom Lane) Queries such as !(foo\u003c-\u003ebar) failed to find matching rows when implemented as a GiST or GIN index search.","part":"changes","patch_ids":["4c065a93e83d7e8ddb430e3cabeb6777"],"related_changes":[{"db_id":"1a9756f3e2d5f6d871733a5cf6d8ea3c","evidence":{"patch_ids":["4c065a93e83d7e8ddb430e3cabeb6777"],"same_day":true,"statement_hash":"0f9befcbc11a5c7d98250bbdebecfdd1a0ed4b0e19492da8193013d6552c9f31"},"kind":"equivalent","label":"11.8","source_url":"/docs/release/11.8/#id-1.11.6.19.5","title":"修复全文检索，使其正确处理短语搜索之上的 NOT","url":"/docs/compare/?release=11.8#11.8-f9293e59b50f27e7","version":"11.8"},{"db_id":"5c572a86618501d36bccafaf7df0bec9","evidence":{"patch_ids":["4c065a93e83d7e8ddb430e3cabeb6777"],"same_day":true,"statement_hash":"0f9befcbc11a5c7d98250bbdebecfdd1a0ed4b0e19492da8193013d6552c9f31"},"kind":"equivalent","label":"10.13","source_url":"/docs/release/10.13/#id-1.11.6.15.5","title":"修复全文检索，使其正确处理短语搜索之上的 NOT","url":"/docs/compare/?release=10.13#10.13-f9293e59b50f27e7","version":"10.13"},{"db_id":"1443887885f5eb8d02444e92c10622a7","evidence":{"patch_ids":["4c065a93e83d7e8ddb430e3cabeb6777"],"same_day":true,"statement_hash":"0f9befcbc11a5c7d98250bbdebecfdd1a0ed4b0e19492da8193013d6552c9f31"},"kind":"equivalent","label":"9.6.18","source_url":"/docs/release/9.6.18/#id-1.11.6.11.5","title":"修复全文搜索正确处理短语搜索之上的 NOT","url":"/docs/compare/?release=9.6.18#9.6.18-aaae68746d616ca4","version":"9.6.18"}],"relations":[{"evidence":{"patch_ids":["4c065a93e83d7e8ddb430e3cabeb6777"],"same_day":true,"statement_hash":"0f9befcbc11a5c7d98250bbdebecfdd1a0ed4b0e19492da8193013d6552c9f31"},"rule":2,"target":"1443887885f5eb8d02444e92c10622a7","type":"equivalent"},{"evidence":{"patch_ids":["4c065a93e83d7e8ddb430e3cabeb6777"],"same_day":true,"statement_hash":"0f9befcbc11a5c7d98250bbdebecfdd1a0ed4b0e19492da8193013d6552c9f31"},"rule":2,"target":"1a9756f3e2d5f6d871733a5cf6d8ea3c","type":"equivalent"},{"evidence":{"patch_ids":["4c065a93e83d7e8ddb430e3cabeb6777"],"same_day":true,"statement_hash":"0f9befcbc11a5c7d98250bbdebecfdd1a0ed4b0e19492da8193013d6552c9f31"},"rule":2,"target":"5c572a86618501d36bccafaf7df0bec9","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["18f7e856c"],"source_entry_id":"12.3/changes/016","source_hash":"f58c7d40c9f10750e111ae4cfe53bc57b516c4bbd8b8b8bd5becee031e59b467","source_url":"/docs/release/12.3/#id-1.11.6.25.5","statement_hash":"0f9befcbc11a5c7d98250bbdebecfdd1a0ed4b0e19492da8193013d6552c9f31","text":"修复全文检索，使其正确处理短语搜索之上的 NOT（Tom Lane）§ !(foo\u003c-\u003ebar) 等查询在通过 GiST 或 GIN 索引搜索执行时，无法找到匹配行。","title":"修复全文检索，使其正确处理短语搜索之上的 NOT","variants":[],"version":"12.3"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["26cf16a93","5db48808c","7c9d9aa5c","db89f0e3a","e1d70ba43"],"commit_groups":[["26cf16a93","5db48808c","7c9d9aa5c","db89f0e3a","e1d70ba43"]],"commits":["e1d70ba43"],"cves":[],"db_id":"3b47250a54454dd03e951b3540ef1996","html":"\u003cp\u003e修复短语搜索包含同时具有前缀匹配和权重限制的项时的全文检索（Tom Lane）\u003ca href=\"https://postgr.es/c/e1d70ba43\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"12.3-8700ecf62b37847e","identity_text":"Fix full text search for cases where a phrase search includes an item with both prefix matching and a weight restriction (Tom Lane)","part":"changes","patch_ids":["c4a10f963e4d201d72e139ffd9452a8b"],"related_changes":[{"db_id":"a9860c60fe2c08be1ec64c68bc3cc4e1","evidence":{"patch_ids":["c4a10f963e4d201d72e139ffd9452a8b"],"same_day":true,"statement_hash":"cebc232f649653b5c901b796d97b3dbf3edb719a87ddbde51ad78af32a02dc5b"},"kind":"equivalent","label":"11.8","source_url":"/docs/release/11.8/#id-1.11.6.19.5","title":"修复短语搜索包含同时具有前缀匹配和权重限制的项时的全文检索","url":"/docs/compare/?release=11.8#11.8-4334394cd73d4e28","version":"11.8"},{"db_id":"7f51f7943f89609513a3c5e717ed1544","evidence":{"patch_ids":["c4a10f963e4d201d72e139ffd9452a8b"],"same_day":true,"statement_hash":"cebc232f649653b5c901b796d97b3dbf3edb719a87ddbde51ad78af32a02dc5b"},"kind":"equivalent","label":"10.13","source_url":"/docs/release/10.13/#id-1.11.6.15.5","title":"修复短语搜索包含同时具有前缀匹配和权重限制的项时的全文检索","url":"/docs/compare/?release=10.13#10.13-4334394cd73d4e28","version":"10.13"},{"db_id":"36ae0e640041409f9bc0e542585162d9","evidence":{"patch_ids":["c4a10f963e4d201d72e139ffd9452a8b"],"same_day":true,"statement_hash":"cebc232f649653b5c901b796d97b3dbf3edb719a87ddbde51ad78af32a02dc5b"},"kind":"equivalent","label":"9.6.18","source_url":"/docs/release/9.6.18/#id-1.11.6.11.5","title":"修复短语搜索包含同时带前缀匹配和权重限制的项时的全文搜索","url":"/docs/compare/?release=9.6.18#9.6.18-1cde8db21188f106","version":"9.6.18"}],"relations":[{"evidence":{"patch_ids":["c4a10f963e4d201d72e139ffd9452a8b"],"same_day":true,"statement_hash":"cebc232f649653b5c901b796d97b3dbf3edb719a87ddbde51ad78af32a02dc5b"},"rule":2,"target":"36ae0e640041409f9bc0e542585162d9","type":"equivalent"},{"evidence":{"patch_ids":["c4a10f963e4d201d72e139ffd9452a8b"],"same_day":true,"statement_hash":"cebc232f649653b5c901b796d97b3dbf3edb719a87ddbde51ad78af32a02dc5b"},"rule":2,"target":"7f51f7943f89609513a3c5e717ed1544","type":"equivalent"},{"evidence":{"patch_ids":["c4a10f963e4d201d72e139ffd9452a8b"],"same_day":true,"statement_hash":"cebc232f649653b5c901b796d97b3dbf3edb719a87ddbde51ad78af32a02dc5b"},"rule":2,"target":"a9860c60fe2c08be1ec64c68bc3cc4e1","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["e1d70ba43"],"source_entry_id":"12.3/changes/017","source_hash":"438991a3c2624ad440ca83113c8995c139a81c71dfa9450a98db1efb97df54b5","source_url":"/docs/release/12.3/#id-1.11.6.25.5","statement_hash":"cebc232f649653b5c901b796d97b3dbf3edb719a87ddbde51ad78af32a02dc5b","text":"修复短语搜索包含同时具有前缀匹配和权重限制的项时的全文检索（Tom Lane）§","title":"修复短语搜索包含同时具有前缀匹配和权重限制的项时的全文检索","variants":[],"version":"12.3"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["07453e9e3","1306edeae","2e0e409e3","5f7247b3b","638519156","841378947","91be1d190","9be664d71","afab39986","b10f8bb9f","c2599b93d","c81de3a82","c9b0c678d","d9a3fe4c5","ff081d6bb"],"commit_groups":[["07453e9e3","2e0e409e3","9be664d71","c2599b93d","d9a3fe4c5"],["1306edeae","638519156","afab39986","b10f8bb9f","ff081d6bb"],["5f7247b3b","841378947","91be1d190","c81de3a82","c9b0c678d"]],"commits":["07453e9e3","1306edeae","841378947"],"cves":[],"db_id":"09df5984511f6a9263a549076f9f6536","html":"\u003cp\u003e修复 \u003ccode\u003ets_headline()\u003c/code\u003e，使其处理短语查询时更恰当地选择摘要片段（Tom Lane）\u003ca href=\"https://postgr.es/c/841378947\"\u003e§\u003c/a\u003e \u003ca href=\"https://postgr.es/c/07453e9e3\"\u003e§\u003c/a\u003e \u003ca href=\"https://postgr.es/c/1306edeae\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"12.3-75ae71da6092eb23","identity_text":"Fix ts_headline() to make better headline selections when working with phrase queries (Tom Lane)","part":"changes","patch_ids":["bfa46abbba45286e1f67db60b563bdb1","fa8b0153f8be6d206f0a0f4592c0b8c2","fe22db681fdd3ecf9e668c6e77832a4d"],"related_changes":[{"db_id":"46a917c585065298c22091b1f0d58c30","evidence":{"patch_ids":["bfa46abbba45286e1f67db60b563bdb1","fa8b0153f8be6d206f0a0f4592c0b8c2","fe22db681fdd3ecf9e668c6e77832a4d"],"same_day":true,"statement_hash":"f33179b5d06b6ea40df304e1a0bf3f5c33edd172261d9265d307c8b9cc03227a"},"kind":"equivalent","label":"11.8","source_url":"/docs/release/11.8/#id-1.11.6.19.5","title":"修复 ts_headline()，使其处理短语查询时更恰当地选择摘要片段","url":"/docs/compare/?release=11.8#11.8-a113d40008f4681b","version":"11.8"},{"db_id":"66909ef8a0f6018c8ade0044be29d0a0","evidence":{"patch_ids":["bfa46abbba45286e1f67db60b563bdb1","fa8b0153f8be6d206f0a0f4592c0b8c2","fe22db681fdd3ecf9e668c6e77832a4d"],"same_day":true,"statement_hash":"f33179b5d06b6ea40df304e1a0bf3f5c33edd172261d9265d307c8b9cc03227a"},"kind":"equivalent","label":"10.13","source_url":"/docs/release/10.13/#id-1.11.6.15.5","title":"修复 ts_headline()，使其处理短语查询时更恰当地选择摘要片段","url":"/docs/compare/?release=10.13#10.13-a113d40008f4681b","version":"10.13"},{"db_id":"8468f175f88b157656c21ac51f42be55","evidence":{"patch_ids":["bfa46abbba45286e1f67db60b563bdb1","fa8b0153f8be6d206f0a0f4592c0b8c2","fe22db681fdd3ecf9e668c6e77832a4d"],"same_day":true,"statement_hash":"f33179b5d06b6ea40df304e1a0bf3f5c33edd172261d9265d307c8b9cc03227a"},"kind":"equivalent","label":"9.6.18","source_url":"/docs/release/9.6.18/#id-1.11.6.11.5","title":"修复 ts_headline() 在处理短语查询时做出更好的标题选择","url":"/docs/compare/?release=9.6.18#9.6.18-e9aa75742234c75d","version":"9.6.18"}],"relations":[{"evidence":{"patch_ids":["bfa46abbba45286e1f67db60b563bdb1","fa8b0153f8be6d206f0a0f4592c0b8c2","fe22db681fdd3ecf9e668c6e77832a4d"],"same_day":true,"statement_hash":"f33179b5d06b6ea40df304e1a0bf3f5c33edd172261d9265d307c8b9cc03227a"},"rule":2,"target":"46a917c585065298c22091b1f0d58c30","type":"equivalent"},{"evidence":{"patch_ids":["bfa46abbba45286e1f67db60b563bdb1","fa8b0153f8be6d206f0a0f4592c0b8c2","fe22db681fdd3ecf9e668c6e77832a4d"],"same_day":true,"statement_hash":"f33179b5d06b6ea40df304e1a0bf3f5c33edd172261d9265d307c8b9cc03227a"},"rule":2,"target":"66909ef8a0f6018c8ade0044be29d0a0","type":"equivalent"},{"evidence":{"patch_ids":["bfa46abbba45286e1f67db60b563bdb1","fa8b0153f8be6d206f0a0f4592c0b8c2","fe22db681fdd3ecf9e668c6e77832a4d"],"same_day":true,"statement_hash":"f33179b5d06b6ea40df304e1a0bf3f5c33edd172261d9265d307c8b9cc03227a"},"rule":2,"target":"8468f175f88b157656c21ac51f42be55","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["07453e9e3","1306edeae","841378947"],"source_entry_id":"12.3/changes/018","source_hash":"1c81c4f1d178d0d55b5823275cdcdea8638fc2ef34abd43ede7c105e2b163c3a","source_url":"/docs/release/12.3/#id-1.11.6.25.5","statement_hash":"f33179b5d06b6ea40df304e1a0bf3f5c33edd172261d9265d307c8b9cc03227a","text":"修复 ts_headline()，使其处理短语查询时更恰当地选择摘要片段（Tom Lane）§ § §","title":"修复 ts_headline()，使其处理短语查询时更恰当地选择摘要片段","variants":[],"version":"12.3"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["05f4a8818","0912fb39c","44c763fe9","49b0d13d7","8150f7813","e41955faf","e82b6e00a"],"commit_groups":[["05f4a8818","0912fb39c","44c763fe9","49b0d13d7","8150f7813","e41955faf"],["e82b6e00a"]],"commits":["05f4a8818"],"cves":[],"db_id":"09584b0af0680ba4e6050bf38472cff4","html":"\u003cp\u003e修复 \u003ccode\u003egin_fuzzy_search_limit\u003c/code\u003e 处理中的缺陷（Adé Heyward，Tom Lane）\u003ca href=\"https://postgr.es/c/05f4a8818\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e较小的 \u003ccode\u003egin_fuzzy_search_limit\u003c/code\u003e 值可能导致同一个索引页被意外重复扫描多次，从而运行异常缓慢。另一个代码路径则完全没有应用预期的过滤，可能返回过多的值。\u003c/p\u003e","id":"12.3-193854715e7e97a9","identity_text":"Fix bugs in gin_fuzzy_search_limit processing (Adé Heyward, Tom Lane) A small value of gin_fuzzy_search_limit could result in unexpected slowness due to unintentionally rescanning the same index page many times. Another code path failed to apply the intended filtering at all, possibly returning too many values.","part":"changes","patch_ids":["b8bb0d81c60af19216ffa864a7b577c7","de9c0320cb3de44bbd93dc8f31f6559f"],"related_changes":[{"db_id":"1e5f67b8aae46bd27e453f940f6b9eb0","evidence":{"patch_ids":["b8bb0d81c60af19216ffa864a7b577c7","de9c0320cb3de44bbd93dc8f31f6559f"],"same_day":true,"statement_hash":"da375522d3043852049eb4ae8b368d8336f5be207db74838c2d59b3fd68c4f6e"},"kind":"equivalent","label":"11.8","source_url":"/docs/release/11.8/#id-1.11.6.19.5","title":"修复 gin_fuzzy_search_limit 处理中的缺陷","url":"/docs/compare/?release=11.8#11.8-5259498d78a24be6","version":"11.8"},{"db_id":"fecd827b2710a5609eedf3dcb1d03184","evidence":{"patch_ids":["b8bb0d81c60af19216ffa864a7b577c7","de9c0320cb3de44bbd93dc8f31f6559f"],"same_day":true,"statement_hash":"da375522d3043852049eb4ae8b368d8336f5be207db74838c2d59b3fd68c4f6e"},"kind":"equivalent","label":"10.13","source_url":"/docs/release/10.13/#id-1.11.6.15.5","title":"修复 gin_fuzzy_search_limit 处理中的缺陷","url":"/docs/compare/?release=10.13#10.13-5259498d78a24be6","version":"10.13"},{"db_id":"93dbe527a90d99e13678426a914b3416","evidence":{"patch_ids":["b8bb0d81c60af19216ffa864a7b577c7","de9c0320cb3de44bbd93dc8f31f6559f"],"same_day":true,"statement_hash":"da375522d3043852049eb4ae8b368d8336f5be207db74838c2d59b3fd68c4f6e"},"kind":"equivalent","label":"9.6.18","source_url":"/docs/release/9.6.18/#id-1.11.6.11.5","title":"修复 gin_fuzzy_search_limit 处理中的 bug","url":"/docs/compare/?release=9.6.18#9.6.18-46e30f1f6da58564","version":"9.6.18"},{"db_id":"f6f36ce7d2957806f7d55a306c174856","evidence":{"patch_ids":["b8bb0d81c60af19216ffa864a7b577c7","de9c0320cb3de44bbd93dc8f31f6559f"],"same_day":true,"statement_hash":"da375522d3043852049eb4ae8b368d8336f5be207db74838c2d59b3fd68c4f6e"},"kind":"equivalent","label":"9.5.22","source_url":"/docs/release/9.5.22/#id-1.11.6.8.6","title":"修复 gin_fuzzy_search_limit 处理中的 bug","url":"/docs/compare/?release=9.5.22#9.5.22-46e30f1f6da58564","version":"9.5.22"}],"relations":[{"evidence":{"patch_ids":["b8bb0d81c60af19216ffa864a7b577c7","de9c0320cb3de44bbd93dc8f31f6559f"],"same_day":true,"statement_hash":"da375522d3043852049eb4ae8b368d8336f5be207db74838c2d59b3fd68c4f6e"},"rule":2,"target":"1e5f67b8aae46bd27e453f940f6b9eb0","type":"equivalent"},{"evidence":{"patch_ids":["b8bb0d81c60af19216ffa864a7b577c7","de9c0320cb3de44bbd93dc8f31f6559f"],"same_day":true,"statement_hash":"da375522d3043852049eb4ae8b368d8336f5be207db74838c2d59b3fd68c4f6e"},"rule":2,"target":"93dbe527a90d99e13678426a914b3416","type":"equivalent"},{"evidence":{"patch_ids":["b8bb0d81c60af19216ffa864a7b577c7","de9c0320cb3de44bbd93dc8f31f6559f"],"same_day":true,"statement_hash":"da375522d3043852049eb4ae8b368d8336f5be207db74838c2d59b3fd68c4f6e"},"rule":2,"target":"f6f36ce7d2957806f7d55a306c174856","type":"equivalent"},{"evidence":{"patch_ids":["b8bb0d81c60af19216ffa864a7b577c7","de9c0320cb3de44bbd93dc8f31f6559f"],"same_day":true,"statement_hash":"da375522d3043852049eb4ae8b368d8336f5be207db74838c2d59b3fd68c4f6e"},"rule":2,"target":"fecd827b2710a5609eedf3dcb1d03184","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["05f4a8818","e82b6e00a"],"source_entry_id":"12.3/changes/019","source_hash":"19919597692d24669a0df2f45bcc9756d24cfd079a936b47dc04effe35561a4d","source_url":"/docs/release/12.3/#id-1.11.6.25.5","statement_hash":"da375522d3043852049eb4ae8b368d8336f5be207db74838c2d59b3fd68c4f6e","text":"修复 gin_fuzzy_search_limit 处理中的缺陷（Adé Heyward，Tom Lane）§ 较小的 gin_fuzzy_search_limit 值可能导致同一个索引页被意外重复扫描多次，从而运行异常缓慢。另一个代码路径则完全没有应用预期的过滤，可能返回过多的值。","title":"修复 gin_fuzzy_search_limit 处理中的缺陷","variants":[],"version":"12.3"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["049e9f48e","35d1eefb2","41a194f49","4c7a311a2","5fae66410","ebd194ac5"],"commit_groups":[["049e9f48e","35d1eefb2","41a194f49","4c7a311a2","5fae66410","ebd194ac5"]],"commits":["35d1eefb2"],"cves":[],"db_id":"fa76a6a1501c7fbabbcb6ebe705a09b1","html":"\u003cp\u003e允许 \u003ccode\u003ecircle\u003c/code\u003e 类型的输入按文档所述接受 \u003cspan\u003e“\u003cspan\u003e\u003ccode\u003e(\u003cem\u003e\u003ccode\u003ex\u003c/code\u003e\u003c/em\u003e,\u003cem\u003e\u003ccode\u003ey\u003c/code\u003e\u003c/em\u003e),\u003cem\u003e\u003ccode\u003er\u003c/code\u003e\u003c/em\u003e\u003c/code\u003e\u003c/span\u003e”\u003c/span\u003e 格式（David Zhang）\u003ca href=\"https://postgr.es/c/35d1eefb2\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"12.3-d7d01c1a0f6d276b","identity_text":"Allow input of type circle to accept the format (x,y),r as the documentation says it does (David Zhang)","part":"changes","patch_ids":["d23a6a1644d907e31f815425f7cae628"],"related_changes":[{"db_id":"f325785ed83a0c11f112cc710c25838e","evidence":{"patch_ids":["d23a6a1644d907e31f815425f7cae628"],"same_day":true,"statement_hash":"4019857a7b00e200088e0baaf99b75a9dea6cc10e87cc83f270119e8da52da94"},"kind":"equivalent","label":"11.8","source_url":"/docs/release/11.8/#id-1.11.6.19.5","title":"允许 circle 类型的输入按文档所述接受 “(x,y),r” 格式","url":"/docs/compare/?release=11.8#11.8-7bab0555f16380bd","version":"11.8"},{"db_id":"49b648b768d3a6bc8863806258218bd0","evidence":{"patch_ids":["d23a6a1644d907e31f815425f7cae628"],"same_day":true,"statement_hash":"4019857a7b00e200088e0baaf99b75a9dea6cc10e87cc83f270119e8da52da94"},"kind":"equivalent","label":"10.13","source_url":"/docs/release/10.13/#id-1.11.6.15.5","title":"允许 circle 类型的输入按文档所述接受 “(x,y),r” 格式","url":"/docs/compare/?release=10.13#10.13-7bab0555f16380bd","version":"10.13"},{"db_id":"3f2df768da8f3bf407764cff619d1fc3","evidence":{"patch_ids":["d23a6a1644d907e31f815425f7cae628"],"same_day":true,"statement_hash":"4019857a7b00e200088e0baaf99b75a9dea6cc10e87cc83f270119e8da52da94"},"kind":"equivalent","label":"9.6.18","source_url":"/docs/release/9.6.18/#id-1.11.6.11.5","title":"允许 circle 类型的输入接受文档所述的 “(x,y),r” 格式","url":"/docs/compare/?release=9.6.18#9.6.18-cdc70eed27abebe7","version":"9.6.18"},{"db_id":"02a4159dc5fe88a2758c2487d288fda8","evidence":{"patch_ids":["d23a6a1644d907e31f815425f7cae628"],"same_day":true,"statement_hash":"4019857a7b00e200088e0baaf99b75a9dea6cc10e87cc83f270119e8da52da94"},"kind":"equivalent","label":"9.5.22","source_url":"/docs/release/9.5.22/#id-1.11.6.8.6","title":"允许 circle 类型的输入接受文档所述的 “(x,y),r” 格式","url":"/docs/compare/?release=9.5.22#9.5.22-cdc70eed27abebe7","version":"9.5.22"}],"relations":[{"evidence":{"patch_ids":["d23a6a1644d907e31f815425f7cae628"],"same_day":true,"statement_hash":"4019857a7b00e200088e0baaf99b75a9dea6cc10e87cc83f270119e8da52da94"},"rule":2,"target":"02a4159dc5fe88a2758c2487d288fda8","type":"equivalent"},{"evidence":{"patch_ids":["d23a6a1644d907e31f815425f7cae628"],"same_day":true,"statement_hash":"4019857a7b00e200088e0baaf99b75a9dea6cc10e87cc83f270119e8da52da94"},"rule":2,"target":"3f2df768da8f3bf407764cff619d1fc3","type":"equivalent"},{"evidence":{"patch_ids":["d23a6a1644d907e31f815425f7cae628"],"same_day":true,"statement_hash":"4019857a7b00e200088e0baaf99b75a9dea6cc10e87cc83f270119e8da52da94"},"rule":2,"target":"49b648b768d3a6bc8863806258218bd0","type":"equivalent"},{"evidence":{"patch_ids":["d23a6a1644d907e31f815425f7cae628"],"same_day":true,"statement_hash":"4019857a7b00e200088e0baaf99b75a9dea6cc10e87cc83f270119e8da52da94"},"rule":2,"target":"f325785ed83a0c11f112cc710c25838e","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["35d1eefb2"],"source_entry_id":"12.3/changes/020","source_hash":"5c553041945a9aec23a15d9dbadbb80365fb675c38d193f84a9e19c652dbc4aa","source_url":"/docs/release/12.3/#id-1.11.6.25.5","statement_hash":"4019857a7b00e200088e0baaf99b75a9dea6cc10e87cc83f270119e8da52da94","text":"允许 circle 类型的输入按文档所述接受 “(x,y),r” 格式（David Zhang）§","title":"允许 circle 类型的输入按文档所述接受 “(x,y),r” 格式","variants":[],"version":"12.3"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["26a944cf2","5d79fc60c","6e6b74a20","889786e0e","dbb121038","e40c4d491"],"commit_groups":[["26a944cf2","5d79fc60c","6e6b74a20","889786e0e","dbb121038","e40c4d491"]],"commits":["6e6b74a20"],"cves":[],"db_id":"c9ab8b3b22e6103c90868ddecabecbb7","html":"\u003cp\u003e使 \u003ccode\u003eget_bit()\u003c/code\u003e 和 \u003ccode\u003eset_bit()\u003c/code\u003e 函数能够处理长于 256MB 的 \u003ccode\u003ebytea\u003c/code\u003e 字符串（Movead Li）\u003ca href=\"https://postgr.es/c/6e6b74a20\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e由于位编号参数只有 \u003ccode\u003eint4\u003c/code\u003e，无法使用这些函数访问长 \u003ccode\u003ebytea\u003c/code\u003e 值前 256MB 之外的位。我们将在 v13 中将该参数扩为 \u003ccode\u003eint8\u003c/code\u003e，但在此之前，先允许这些函数处理长 \u003ccode\u003ebytea\u003c/code\u003e 值的起始子串。\u003c/p\u003e","id":"12.3-4330b9ced58daa0c","identity_text":"Make the get_bit() and set_bit() functions cope with bytea strings longer than 256MB (Movead Li) Since the bit number argument is only int4, it's impossible to use these functions to access bits beyond the first 256MB of a long bytea. We'll widen the argument to int8 in v13, but in the meantime, allow these functions to work on the initial substring of a long bytea.","part":"changes","patch_ids":["1f035cd3ed3162eae50f4cfd66d60f73"],"related_changes":[{"db_id":"36951132033efe9497121c46a1b696f0","evidence":{"patch_ids":["1f035cd3ed3162eae50f4cfd66d60f73"],"same_day":false},"kind":"related","label":"13.0","source_url":"/docs/release/13.0/#id-1.11.6.29.5.7","title":"允许 get_bit() 和 set_bit() 设置 bytea 值前 256MB 之外的位","url":"/docs/compare/?release=13.0#13.0-9211d3b40994cff4","version":"13.0"},{"db_id":"0ea209ac716ba0f4bed1d348ba9b11e8","evidence":{"patch_ids":["1f035cd3ed3162eae50f4cfd66d60f73"],"same_day":true,"statement_hash":"ee54f9138685176f7db555e5d0353926be9843bbb1b3a628a40730f582e25a90"},"kind":"equivalent","label":"11.8","source_url":"/docs/release/11.8/#id-1.11.6.19.5","title":"使 get_bit() 和 set_bit() 函数能够处理长于 256MB 的 bytea 字符串","url":"/docs/compare/?release=11.8#11.8-ca336e3d80787ea1","version":"11.8"},{"db_id":"f5409b29c53848f4f3a571148b1b7a0b","evidence":{"patch_ids":["1f035cd3ed3162eae50f4cfd66d60f73"],"same_day":true,"statement_hash":"ee54f9138685176f7db555e5d0353926be9843bbb1b3a628a40730f582e25a90"},"kind":"equivalent","label":"10.13","source_url":"/docs/release/10.13/#id-1.11.6.15.5","title":"使 get_bit() 和 set_bit() 函数能够处理长于 256MB 的 bytea 字符串","url":"/docs/compare/?release=10.13#10.13-ca336e3d80787ea1","version":"10.13"},{"db_id":"bd37d88fde696a029e43ffc64a6db4aa","evidence":{"patch_ids":["1f035cd3ed3162eae50f4cfd66d60f73"],"same_day":true,"statement_hash":"ee54f9138685176f7db555e5d0353926be9843bbb1b3a628a40730f582e25a90"},"kind":"equivalent","label":"9.6.18","source_url":"/docs/release/9.6.18/#id-1.11.6.11.5","title":"让 get_bit() 和 set_bit() 函数应对长于 256MB 的 bytea 字符串","url":"/docs/compare/?release=9.6.18#9.6.18-030f702a88b76b01","version":"9.6.18"},{"db_id":"73bef7cb7ccfd7e6c375b8b1bf28469a","evidence":{"patch_ids":["1f035cd3ed3162eae50f4cfd66d60f73"],"same_day":true,"statement_hash":"ee54f9138685176f7db555e5d0353926be9843bbb1b3a628a40730f582e25a90"},"kind":"equivalent","label":"9.5.22","source_url":"/docs/release/9.5.22/#id-1.11.6.8.6","title":"让 get_bit() 和 set_bit() 函数应对长于 256MB 的 bytea 字符串","url":"/docs/compare/?release=9.5.22#9.5.22-030f702a88b76b01","version":"9.5.22"}],"relations":[{"evidence":{"patch_ids":["1f035cd3ed3162eae50f4cfd66d60f73"],"same_day":true,"statement_hash":"ee54f9138685176f7db555e5d0353926be9843bbb1b3a628a40730f582e25a90"},"rule":2,"target":"0ea209ac716ba0f4bed1d348ba9b11e8","type":"equivalent"},{"evidence":{"patch_ids":["1f035cd3ed3162eae50f4cfd66d60f73"],"same_day":false},"rule":2,"target":"36951132033efe9497121c46a1b696f0","type":"related"},{"evidence":{"patch_ids":["1f035cd3ed3162eae50f4cfd66d60f73"],"same_day":true,"statement_hash":"ee54f9138685176f7db555e5d0353926be9843bbb1b3a628a40730f582e25a90"},"rule":2,"target":"73bef7cb7ccfd7e6c375b8b1bf28469a","type":"equivalent"},{"evidence":{"patch_ids":["1f035cd3ed3162eae50f4cfd66d60f73"],"same_day":true,"statement_hash":"ee54f9138685176f7db555e5d0353926be9843bbb1b3a628a40730f582e25a90"},"rule":2,"target":"bd37d88fde696a029e43ffc64a6db4aa","type":"equivalent"},{"evidence":{"patch_ids":["1f035cd3ed3162eae50f4cfd66d60f73"],"same_day":true,"statement_hash":"ee54f9138685176f7db555e5d0353926be9843bbb1b3a628a40730f582e25a90"},"rule":2,"target":"f5409b29c53848f4f3a571148b1b7a0b","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["6e6b74a20"],"source_entry_id":"12.3/changes/021","source_hash":"f170ffd03461bf5e1055cc0e9ec9b5eae5d391e504de26e04bc531bbdcb56355","source_url":"/docs/release/12.3/#id-1.11.6.25.5","statement_hash":"ee54f9138685176f7db555e5d0353926be9843bbb1b3a628a40730f582e25a90","text":"使 get_bit() 和 set_bit() 函数能够处理长于 256MB 的 bytea 字符串（Movead Li）§ 由于位编号参数只有 int4，无法使用这些函数访问长 bytea 值前 256MB 之外的位。我们将在 v13 中将该参数扩为 int8，但在此之前，先允许这些函数处理长 bytea 值的起始子串。","title":"使 get_bit() 和 set_bit() 函数能够处理长于 256MB 的 bytea 字符串","variants":[],"version":"12.3"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["5b22ff764","82e801852","83f7761d8","ee40e8975"],"commit_groups":[["5b22ff764","82e801852","83f7761d8","ee40e8975"]],"commits":["ee40e8975"],"cves":[],"db_id":"f9be6f76653399b91fe4d956d1b330a4","html":"\u003cp\u003e在 \u003ccode\u003epg_ls_waldir()\u003c/code\u003e 及相关函数中忽略文件不存在错误（Tom Lane）\u003ca href=\"https://postgr.es/c/ee40e8975\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e这可以防止文件在看到其目录项与尝试对其执行 \u003ccode\u003estat()\u003c/code\u003e 之间被移除时，因竞争条件而发生的失败。\u003c/p\u003e","id":"12.3-2930aec297e574ab","identity_text":"Ignore file-not-found errors in pg_ls_waldir() and allied functions (Tom Lane) This prevents a race condition failure if a file is removed between when we see its directory entry and when we attempt to stat() it.","part":"changes","patch_ids":["68cdcbd82ee8d01422ab71e14d44736b"],"related_changes":[{"db_id":"c3a046bd183abe7fe80f7449ff764af5","evidence":{"patch_ids":["68cdcbd82ee8d01422ab71e14d44736b"],"same_day":true,"statement_hash":"e42d8b5fb4586adb8166e493838112759a068e972c9d6dbb428e71d47d5a0a07"},"kind":"equivalent","label":"11.8","source_url":"/docs/release/11.8/#id-1.11.6.19.5","title":"在 pg_ls_waldir() 及相关函数中忽略文件不存在错误","url":"/docs/compare/?release=11.8#11.8-55530640e002eb3a","version":"11.8"},{"db_id":"143a94e3681d0c7202e7dd63b365b1fb","evidence":{"patch_ids":["68cdcbd82ee8d01422ab71e14d44736b"],"same_day":true,"statement_hash":"e42d8b5fb4586adb8166e493838112759a068e972c9d6dbb428e71d47d5a0a07"},"kind":"equivalent","label":"10.13","source_url":"/docs/release/10.13/#id-1.11.6.15.5","title":"在 pg_ls_waldir() 及相关函数中忽略文件不存在错误","url":"/docs/compare/?release=10.13#10.13-55530640e002eb3a","version":"10.13"}],"relations":[{"evidence":{"patch_ids":["68cdcbd82ee8d01422ab71e14d44736b"],"same_day":true,"statement_hash":"e42d8b5fb4586adb8166e493838112759a068e972c9d6dbb428e71d47d5a0a07"},"rule":2,"target":"143a94e3681d0c7202e7dd63b365b1fb","type":"equivalent"},{"evidence":{"patch_ids":["68cdcbd82ee8d01422ab71e14d44736b"],"same_day":true,"statement_hash":"e42d8b5fb4586adb8166e493838112759a068e972c9d6dbb428e71d47d5a0a07"},"rule":2,"target":"c3a046bd183abe7fe80f7449ff764af5","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["ee40e8975"],"source_entry_id":"12.3/changes/022","source_hash":"200dfb785a519f7fd6185942c86ff95daacde3f19c90479f64dfd3ab8dd2f1e2","source_url":"/docs/release/12.3/#id-1.11.6.25.5","statement_hash":"e42d8b5fb4586adb8166e493838112759a068e972c9d6dbb428e71d47d5a0a07","text":"在 pg_ls_waldir() 及相关函数中忽略文件不存在错误（Tom Lane）§ 这可以防止文件在看到其目录项与尝试对其执行 stat() 之间被移除时，因竞争条件而发生的失败。","title":"在 pg_ls_waldir() 及相关函数中忽略文件不存在错误","variants":[],"version":"12.3"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["05283dd5b","064e029e6","085b6b667","13f353b0e","2a89455aa","3c8864fc1","5e4a0b719","630590d6f","63b51dfec","819d55257","a029a0641","b4570d33a","cd6a05187","da254148f"],"commit_groups":[["05283dd5b","085b6b667","3c8864fc1","63b51dfec"],["064e029e6","13f353b0e","630590d6f","a029a0641"],["2a89455aa","5e4a0b719","819d55257","b4570d33a","cd6a05187","da254148f"]],"commits":["2a89455aa","3c8864fc1","630590d6f"],"cves":[],"db_id":"e7671b3a3d8cfeddb3a8df698a63eea4","html":"\u003cp\u003e避免 \u003ccode\u003epg_ls_dir()\u003c/code\u003e、\u003ccode\u003epg_timezone_names()\u003c/code\u003e、\u003ccode\u003epg_tablespace_databases()\u003c/code\u003e 及相关函数可能泄漏目录的打开文件描述符（Justin Pryzby）\u003ca href=\"https://postgr.es/c/3c8864fc1\"\u003e§\u003c/a\u003e \u003ca href=\"https://postgr.es/c/630590d6f\"\u003e§\u003c/a\u003e \u003ca href=\"https://postgr.es/c/2a89455aa\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"12.3-b44f6daddd387391","identity_text":"Avoid possibly leaking an open-file descriptor for a directory in pg_ls_dir(), pg_timezone_names(), pg_tablespace_databases(), and allied functions (Justin Pryzby)","part":"changes","patch_ids":["6965fab968b0028d99d3375bf6bf3a81","b07ac928d42a5f36e1085a6187339d06","d35664a827be025d5e11684c5683ffbf"],"related_changes":[{"db_id":"6e4a007c94e742e531786dbfdb04e421","evidence":{"patch_ids":["6965fab968b0028d99d3375bf6bf3a81","b07ac928d42a5f36e1085a6187339d06","d35664a827be025d5e11684c5683ffbf"],"same_day":true,"statement_hash":"8914a59000e449b21e0f0467c5e9306d9a22e8cab1a3950508d35c8873b0e152"},"kind":"equivalent","label":"11.8","source_url":"/docs/release/11.8/#id-1.11.6.19.5","title":"避免 pg_ls_dir()、pg_timezone_names()、pg_tablespace_databases() 及相关函数可能泄漏目录的打开文件描述符","url":"/docs/compare/?release=11.8#11.8-37bd61020f50b305","version":"11.8"},{"db_id":"3002d0cf86be9cc1f814b6ae533276b6","evidence":{"patch_ids":["6965fab968b0028d99d3375bf6bf3a81","b07ac928d42a5f36e1085a6187339d06","d35664a827be025d5e11684c5683ffbf"],"same_day":true,"statement_hash":"8914a59000e449b21e0f0467c5e9306d9a22e8cab1a3950508d35c8873b0e152"},"kind":"equivalent","label":"10.13","source_url":"/docs/release/10.13/#id-1.11.6.15.5","title":"避免 pg_ls_dir()、pg_timezone_names()、pg_tablespace_databases() 及相关函数可能泄漏目录的打开文件描述符","url":"/docs/compare/?release=10.13#10.13-37bd61020f50b305","version":"10.13"},{"db_id":"3651e77329c1b8cbf43057557a78f2f0","evidence":{"patch_ids":["6965fab968b0028d99d3375bf6bf3a81","b07ac928d42a5f36e1085a6187339d06","d35664a827be025d5e11684c5683ffbf"],"same_day":true,"statement_hash":"8914a59000e449b21e0f0467c5e9306d9a22e8cab1a3950508d35c8873b0e152"},"kind":"equivalent","label":"9.6.18","source_url":"/docs/release/9.6.18/#id-1.11.6.11.5","title":"避免 pg_ls_dir()、pg_timezone_names()、pg_tablespace_databases() 及相关函数可能泄漏打开的目录文件描述符","url":"/docs/compare/?release=9.6.18#9.6.18-16fc7a96aad45414","version":"9.6.18"},{"db_id":"6518d4773783a87134e5073515347704","evidence":{"patch_ids":["6965fab968b0028d99d3375bf6bf3a81","b07ac928d42a5f36e1085a6187339d06","d35664a827be025d5e11684c5683ffbf"],"same_day":true,"statement_hash":"8914a59000e449b21e0f0467c5e9306d9a22e8cab1a3950508d35c8873b0e152"},"kind":"equivalent","label":"9.5.22","source_url":"/docs/release/9.5.22/#id-1.11.6.8.6","title":"避免 pg_ls_dir()、pg_timezone_names()、pg_tablespace_databases() 及相关函数可能泄漏打开的目录文件描述符","url":"/docs/compare/?release=9.5.22#9.5.22-16fc7a96aad45414","version":"9.5.22"}],"relations":[{"evidence":{"patch_ids":["6965fab968b0028d99d3375bf6bf3a81","b07ac928d42a5f36e1085a6187339d06","d35664a827be025d5e11684c5683ffbf"],"same_day":true,"statement_hash":"8914a59000e449b21e0f0467c5e9306d9a22e8cab1a3950508d35c8873b0e152"},"rule":2,"target":"3002d0cf86be9cc1f814b6ae533276b6","type":"equivalent"},{"evidence":{"patch_ids":["6965fab968b0028d99d3375bf6bf3a81","b07ac928d42a5f36e1085a6187339d06","d35664a827be025d5e11684c5683ffbf"],"same_day":true,"statement_hash":"8914a59000e449b21e0f0467c5e9306d9a22e8cab1a3950508d35c8873b0e152"},"rule":2,"target":"3651e77329c1b8cbf43057557a78f2f0","type":"equivalent"},{"evidence":{"patch_ids":["6965fab968b0028d99d3375bf6bf3a81","b07ac928d42a5f36e1085a6187339d06","d35664a827be025d5e11684c5683ffbf"],"same_day":true,"statement_hash":"8914a59000e449b21e0f0467c5e9306d9a22e8cab1a3950508d35c8873b0e152"},"rule":2,"target":"6518d4773783a87134e5073515347704","type":"equivalent"},{"evidence":{"patch_ids":["6965fab968b0028d99d3375bf6bf3a81","b07ac928d42a5f36e1085a6187339d06","d35664a827be025d5e11684c5683ffbf"],"same_day":true,"statement_hash":"8914a59000e449b21e0f0467c5e9306d9a22e8cab1a3950508d35c8873b0e152"},"rule":2,"target":"6e4a007c94e742e531786dbfdb04e421","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["2a89455aa","3c8864fc1","630590d6f"],"source_entry_id":"12.3/changes/023","source_hash":"ef138aa8f1c7578f179c0e01f936bc442fa5d6328381517ed61c632388fcc310","source_url":"/docs/release/12.3/#id-1.11.6.25.5","statement_hash":"8914a59000e449b21e0f0467c5e9306d9a22e8cab1a3950508d35c8873b0e152","text":"避免 pg_ls_dir()、pg_timezone_names()、pg_tablespace_databases() 及相关函数可能泄漏目录的打开文件描述符（Justin Pryzby）§ § §","title":"避免 pg_ls_dir()、pg_timezone_names()、pg_tablespace_databases() 及相关函数可能泄漏目录的打开文件描述符","variants":[],"version":"12.3"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["30e491653","390984f92","4dbcb3f84","540ef37cc","61d14971d","a1ef0f373"],"commit_groups":[["30e491653","390984f92","4dbcb3f84","540ef37cc","61d14971d","a1ef0f373"]],"commits":["390984f92"],"cves":[],"db_id":"599c96a091f3961e0670a9ef44822842","html":"\u003cp\u003e修复多态函数的类型解析，使其仅给定 \u003ccode\u003eanyrange\u003c/code\u003e 输入时，也能正确推断 \u003ccode\u003eanyarray\u003c/code\u003e 输出的实际类型（Tom Lane）\u003ca href=\"https://postgr.es/c/390984f92\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"12.3-66cc4092623868fe","identity_text":"Fix polymorphic-function type resolution to correctly infer the actual type of an anyarray output when given only an anyrange input (Tom Lane)","part":"changes","patch_ids":["eb89055136b92aff5e4993b6426c337d"],"related_changes":[{"db_id":"5ffb8a7e83a86ba7bf69175991f079e4","evidence":{"patch_ids":["eb89055136b92aff5e4993b6426c337d"],"same_day":true,"statement_hash":"9365a05eaf0557bf6600ee8c31ed6a6d2ae3d1cd5a69114b097045cbcde8794e"},"kind":"equivalent","label":"11.8","source_url":"/docs/release/11.8/#id-1.11.6.19.5","title":"修复多态函数的类型解析，使其仅给定 anyrange 输入时，也能正确推断 anyarray 输出的实际类型","url":"/docs/compare/?release=11.8#11.8-086421a9a86e829d","version":"11.8"},{"db_id":"ca1e27769aa9ef58d169a884cf871cfd","evidence":{"patch_ids":["eb89055136b92aff5e4993b6426c337d"],"same_day":true,"statement_hash":"9365a05eaf0557bf6600ee8c31ed6a6d2ae3d1cd5a69114b097045cbcde8794e"},"kind":"equivalent","label":"10.13","source_url":"/docs/release/10.13/#id-1.11.6.15.5","title":"修复多态函数的类型解析，使其仅给定 anyrange 输入时，也能正确推断 anyarray 输出的实际类型","url":"/docs/compare/?release=10.13#10.13-086421a9a86e829d","version":"10.13"},{"db_id":"41354b0878062eb0c0cc0c69aa37f30f","evidence":{"patch_ids":["eb89055136b92aff5e4993b6426c337d"],"same_day":true,"statement_hash":"9365a05eaf0557bf6600ee8c31ed6a6d2ae3d1cd5a69114b097045cbcde8794e"},"kind":"equivalent","label":"9.6.18","source_url":"/docs/release/9.6.18/#id-1.11.6.11.5","title":"修复多态函数类型解析，使其在只给出 anyrange 输入时正确推断 anyarray 输出的实际类型","url":"/docs/compare/?release=9.6.18#9.6.18-0ef4214f6455de4b","version":"9.6.18"},{"db_id":"687c29378d9400cc17df64f60c36172b","evidence":{"patch_ids":["eb89055136b92aff5e4993b6426c337d"],"same_day":true,"statement_hash":"9365a05eaf0557bf6600ee8c31ed6a6d2ae3d1cd5a69114b097045cbcde8794e"},"kind":"equivalent","label":"9.5.22","source_url":"/docs/release/9.5.22/#id-1.11.6.8.6","title":"修复多态函数类型解析，使其在只给出 anyrange 输入时正确推断 anyarray 输出的实际类型","url":"/docs/compare/?release=9.5.22#9.5.22-0ef4214f6455de4b","version":"9.5.22"}],"relations":[{"evidence":{"patch_ids":["eb89055136b92aff5e4993b6426c337d"],"same_day":true,"statement_hash":"9365a05eaf0557bf6600ee8c31ed6a6d2ae3d1cd5a69114b097045cbcde8794e"},"rule":2,"target":"41354b0878062eb0c0cc0c69aa37f30f","type":"equivalent"},{"evidence":{"patch_ids":["eb89055136b92aff5e4993b6426c337d"],"same_day":true,"statement_hash":"9365a05eaf0557bf6600ee8c31ed6a6d2ae3d1cd5a69114b097045cbcde8794e"},"rule":2,"target":"5ffb8a7e83a86ba7bf69175991f079e4","type":"equivalent"},{"evidence":{"patch_ids":["eb89055136b92aff5e4993b6426c337d"],"same_day":true,"statement_hash":"9365a05eaf0557bf6600ee8c31ed6a6d2ae3d1cd5a69114b097045cbcde8794e"},"rule":2,"target":"687c29378d9400cc17df64f60c36172b","type":"equivalent"},{"evidence":{"patch_ids":["eb89055136b92aff5e4993b6426c337d"],"same_day":true,"statement_hash":"9365a05eaf0557bf6600ee8c31ed6a6d2ae3d1cd5a69114b097045cbcde8794e"},"rule":2,"target":"ca1e27769aa9ef58d169a884cf871cfd","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["390984f92"],"source_entry_id":"12.3/changes/024","source_hash":"5815ba585e73b55d3a7865d68585a7cfdfd50e9b11add84c18bdb3c2de36568d","source_url":"/docs/release/12.3/#id-1.11.6.25.5","statement_hash":"9365a05eaf0557bf6600ee8c31ed6a6d2ae3d1cd5a69114b097045cbcde8794e","text":"修复多态函数的类型解析，使其仅给定 anyrange 输入时，也能正确推断 anyarray 输出的实际类型（Tom Lane）§","title":"修复多态函数的类型解析，使其仅给定 anyrange 输入时，也能正确推断 anyarray 输出的实际类型","variants":[],"version":"12.3"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["79e594cf0","b68a560f8"],"commit_groups":[["79e594cf0","b68a560f8"]],"commits":["79e594cf0"],"cves":[],"db_id":"e66c7397e90bf3562bc20081f3a53b20","html":"\u003cp\u003e修复服务器的连接启动逻辑，以处理因编译时未包含 GSSAPI 支持而拒绝 GSSAPI 连接、随后客户端改试 SSL 的情况（Andrew Gierth）\u003ca href=\"https://postgr.es/c/79e594cf0\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e这会导致虚假的 \u003cspan\u003e“\u003cspan\u003eunsupported frontend protocol\u003c/span\u003e”\u003c/span\u003e 错误。\u003c/p\u003e","id":"12.3-d016f01fecb013e9","identity_text":"Fix server's connection-startup logic for case where a GSSAPI connection is rejected because support is not compiled in, and the client then tries SSL instead (Andrew Gierth) This led to a bogus unsupported frontend protocol failure.","part":"changes","patch_ids":["56da780d9cf3ae7e3aad8be976d2ef4b"],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":["79e594cf0"],"source_entry_id":"12.3/changes/025","source_hash":"5ac1d7f75632c24d3695dacd4d543ef58dd1fa35e4cd11e0517575e0350ad28c","source_url":"/docs/release/12.3/#id-1.11.6.25.5","statement_hash":"01fedc43c6c77f99c7baafc3fd705d202e3d829574b1b8c78e3f13691fec0a04","text":"修复服务器的连接启动逻辑，以处理因编译时未包含 GSSAPI 支持而拒绝 GSSAPI 连接、随后客户端改试 SSL 的情况（Andrew Gierth）§ 这会导致虚假的 “unsupported frontend protocol” 错误。","title":"修复服务器的连接启动逻辑，以处理因编译时未包含 GSSAPI 支持而拒绝 GSSAPI 连接、随后客户端改试 SSL 的情况","variants":[],"version":"12.3"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["46da7bf67","987717d7c"],"commit_groups":[["46da7bf67","987717d7c"]],"commits":["987717d7c"],"cves":[],"db_id":"c293bd74d71d2cb61f8695ea604f9b12","html":"\u003cp\u003e修复 GSSAPI 加密期间的内存泄漏（Tom Lane）\u003ca href=\"https://postgr.es/c/987717d7c\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e使用 GSSAPI 加密时，后端和 libpq 都会泄漏与会话期间发送的数据总量相当的内存。\u003c/p\u003e","id":"12.3-02a99f17409636b3","identity_text":"Fix memory leakage during GSSAPI encryption (Tom Lane) Both the backend and libpq would leak memory equivalent to the total amount of data sent during the session, if GSSAPI encryption is in use.","part":"changes","patch_ids":["499f8687e41fa5bc8f0d4aa61b14e68b"],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":["987717d7c"],"source_entry_id":"12.3/changes/026","source_hash":"eecb41f5488a71d353bae313171bd86d30fe7e43731945b3538b6c3976606d8b","source_url":"/docs/release/12.3/#id-1.11.6.25.5","statement_hash":"e4544b70f03d5f876ffc2a61119cd81f04ef1c23adff46294c369e8c77d26fe6","text":"修复 GSSAPI 加密期间的内存泄漏（Tom Lane）§ 使用 GSSAPI 加密时，后端和 libpq 都会泄漏与会话期间发送的数据总量相当的内存。","title":"修复 GSSAPI 加密期间的内存泄漏","variants":[],"version":"12.3"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["299298bc8","95695c784"],"commit_groups":[["299298bc8","95695c784"]],"commits":["95695c784"],"cves":[],"db_id":"179fc8b6042f83598b9f7b9d2f730539","html":"\u003cp\u003e修复查询 \u003ccode\u003eFROM\u003c/code\u003e 子句中使用集合返回函数时，持续到查询结束的内存泄漏（Andres Freund）\u003ca href=\"https://postgr.es/c/95695c784\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"12.3-d03e2fecd3b26471","identity_text":"Fix query-lifespan memory leak for a set-returning function used in a query's FROM clause (Andres Freund)","part":"changes","patch_ids":["48953159c93908298e9dce194d0ef878"],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":["95695c784"],"source_entry_id":"12.3/changes/027","source_hash":"6ad0f74a4a920a28e282d4c5e3e76db672e7b8e84a331baedca9e477caf019ec","source_url":"/docs/release/12.3/#id-1.11.6.25.5","statement_hash":"649e9fb649dc19787348dff3af51ba6f6a6933bc9bd3ea33bb28ca35cad9c809","text":"修复查询 FROM 子句中使用集合返回函数时，持续到查询结束的内存泄漏（Andres Freund）§","title":"修复查询 FROM 子句中使用集合返回函数时，持续到查询结束的内存泄漏","variants":[],"version":"12.3"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["58c47ccff","96d783ae5","9eb6b652a"],"commit_groups":[["58c47ccff","96d783ae5","9eb6b652a"]],"commits":["96d783ae5"],"cves":[],"db_id":"87dcdf19f968873ee3aef04f3dce202e","html":"\u003cp\u003e避免 hash 子计划的 hash 表在多次执行之间泄漏（Andreas Karlsson，Tom Lane）\u003ca href=\"https://postgr.es/c/96d783ae5\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e如果查询重复执行 hash 子计划的次数足够多，这一错误可能导致严重的内存膨胀。\u003c/p\u003e","id":"12.3-67da86ac0fd30b6e","identity_text":"Avoid leakage of a hashed subplan's hash tables across multiple executions (Andreas Karlsson, Tom Lane) This mistake could result in severe memory bloat if a query re-executed a hashed subplan enough times.","part":"changes","patch_ids":["0feda9f7358659abc4f7bd06a1ae48eb"],"related_changes":[{"db_id":"575a00e699268fd1c7563d0896556718","evidence":{"patch_ids":["0feda9f7358659abc4f7bd06a1ae48eb"],"same_day":true,"statement_hash":"b92bde77fd2fe1c7284cec2598eee393b2938fec62f18e3408d44759b93601b3"},"kind":"equivalent","label":"11.8","source_url":"/docs/release/11.8/#id-1.11.6.19.5","title":"避免 hash 子计划的 hash 表在多次执行之间泄漏","url":"/docs/compare/?release=11.8#11.8-93c1f8ea0b95db95","version":"11.8"}],"relations":[{"evidence":{"patch_ids":["0feda9f7358659abc4f7bd06a1ae48eb"],"same_day":true,"statement_hash":"b92bde77fd2fe1c7284cec2598eee393b2938fec62f18e3408d44759b93601b3"},"rule":2,"target":"575a00e699268fd1c7563d0896556718","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["96d783ae5"],"source_entry_id":"12.3/changes/028","source_hash":"323aadecece388e2ba02b51a38c9103d737d34223dfcc664d096fa8cda8e0651","source_url":"/docs/release/12.3/#id-1.11.6.25.5","statement_hash":"b92bde77fd2fe1c7284cec2598eee393b2938fec62f18e3408d44759b93601b3","text":"避免 hash 子计划的 hash 表在多次执行之间泄漏（Andreas Karlsson，Tom Lane）§ 如果查询重复执行 hash 子计划的次数足够多，这一错误可能导致严重的内存膨胀。","title":"避免 hash 子计划的 hash 表在多次执行之间泄漏","variants":[],"version":"12.3"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["30d5c6bf2","a477bfc1d"],"commit_groups":[["30d5c6bf2","a477bfc1d"]],"commits":["30d5c6bf2"],"cves":[],"db_id":"9e90c2c0797d76a488d31391fbbcd496","html":"\u003cp\u003e改进规划器对无实际作用的域类型强制转换的处理（Tom Lane）\u003ca href=\"https://postgr.es/c/30d5c6bf2\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e修复某些情况下无实际作用的域类型强制转换未被从表达式中完全移除的问题。\u003c/p\u003e","id":"12.3-237c9db42cb82865","identity_text":"Improve planner's handling of no-op domain coercions (Tom Lane) Fix some cases where a domain coercion that does nothing was not completely removed from expressions.","part":"changes","patch_ids":["00d50dc5259b5dd70096bd6d1f22f728"],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":["30d5c6bf2"],"source_entry_id":"12.3/changes/029","source_hash":"69b5ef414db4a16e184350b145043a3948b17376e607e83c414e95ab85f68745","source_url":"/docs/release/12.3/#id-1.11.6.25.5","statement_hash":"263b7490fd84a8148f37bdd239f359160eeaf462d36ab89f759461f5373f54b4","text":"改进规划器对无实际作用的域类型强制转换的处理（Tom Lane）§ 修复某些情况下无实际作用的域类型强制转换未被从表达式中完全移除的问题。","title":"改进规划器对无实际作用的域类型强制转换的处理","variants":[],"version":"12.3"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["36714f8ca","56259c377","5a4efd100","5c1c27eef","d12bdba77","e6c17c85a"],"commit_groups":[["36714f8ca","56259c377","5a4efd100","5c1c27eef","d12bdba77","e6c17c85a"]],"commits":["5a4efd100"],"cves":[],"db_id":"ca91ad43271b31819041e045b6c093cb","html":"\u003cp\u003e避免 \u003ccode\u003eREINDEX\u003c/code\u003e 被会话关闭信号终止时不太可能发生的崩溃（Tom Lane）\u003ca href=\"https://postgr.es/c/5a4efd100\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"12.3-9301d33327f1df9f","identity_text":"Avoid unlikely crash when REINDEX is terminated by a session-shutdown signal (Tom Lane)","part":"changes","patch_ids":["e584c6fbf636fab8bdaa4b26a6cb8507"],"related_changes":[{"db_id":"d883634d5a0b645136c5e0cc28cb9dac","evidence":{"patch_ids":["e584c6fbf636fab8bdaa4b26a6cb8507"],"same_day":true,"statement_hash":"4daf22f440ba785e0df9e5c6ad9f45d57e049326d5355620c17ac684f81a9abf"},"kind":"equivalent","label":"11.8","source_url":"/docs/release/11.8/#id-1.11.6.19.5","title":"避免 REINDEX 被会话关闭信号终止时不太可能发生的崩溃","url":"/docs/compare/?release=11.8#11.8-c287f3c512e0cfaa","version":"11.8"},{"db_id":"470958c617fce082ce01f09045d87294","evidence":{"patch_ids":["e584c6fbf636fab8bdaa4b26a6cb8507"],"same_day":true,"statement_hash":"4daf22f440ba785e0df9e5c6ad9f45d57e049326d5355620c17ac684f81a9abf"},"kind":"equivalent","label":"10.13","source_url":"/docs/release/10.13/#id-1.11.6.15.5","title":"避免 REINDEX 被会话关闭信号终止时不太可能发生的崩溃","url":"/docs/compare/?release=10.13#10.13-c287f3c512e0cfaa","version":"10.13"},{"db_id":"8e77a4cbf712530695ebc246fff6d222","evidence":{"patch_ids":["e584c6fbf636fab8bdaa4b26a6cb8507"],"same_day":true,"statement_hash":"4daf22f440ba785e0df9e5c6ad9f45d57e049326d5355620c17ac684f81a9abf"},"kind":"equivalent","label":"9.6.18","source_url":"/docs/release/9.6.18/#id-1.11.6.11.5","title":"避免 REINDEX 被会话关闭信号终止时不太可能的崩溃","url":"/docs/compare/?release=9.6.18#9.6.18-59284c3f3f51e4e6","version":"9.6.18"},{"db_id":"a8ee89fc7cc017fcf58ef70b534e8e4a","evidence":{"patch_ids":["e584c6fbf636fab8bdaa4b26a6cb8507"],"same_day":true,"statement_hash":"4daf22f440ba785e0df9e5c6ad9f45d57e049326d5355620c17ac684f81a9abf"},"kind":"equivalent","label":"9.5.22","source_url":"/docs/release/9.5.22/#id-1.11.6.8.6","title":"避免 REINDEX 被会话关闭信号终止时不太可能的崩溃","url":"/docs/compare/?release=9.5.22#9.5.22-59284c3f3f51e4e6","version":"9.5.22"}],"relations":[{"evidence":{"patch_ids":["e584c6fbf636fab8bdaa4b26a6cb8507"],"same_day":true,"statement_hash":"4daf22f440ba785e0df9e5c6ad9f45d57e049326d5355620c17ac684f81a9abf"},"rule":2,"target":"470958c617fce082ce01f09045d87294","type":"equivalent"},{"evidence":{"patch_ids":["e584c6fbf636fab8bdaa4b26a6cb8507"],"same_day":true,"statement_hash":"4daf22f440ba785e0df9e5c6ad9f45d57e049326d5355620c17ac684f81a9abf"},"rule":2,"target":"8e77a4cbf712530695ebc246fff6d222","type":"equivalent"},{"evidence":{"patch_ids":["e584c6fbf636fab8bdaa4b26a6cb8507"],"same_day":true,"statement_hash":"4daf22f440ba785e0df9e5c6ad9f45d57e049326d5355620c17ac684f81a9abf"},"rule":2,"target":"a8ee89fc7cc017fcf58ef70b534e8e4a","type":"equivalent"},{"evidence":{"patch_ids":["e584c6fbf636fab8bdaa4b26a6cb8507"],"same_day":true,"statement_hash":"4daf22f440ba785e0df9e5c6ad9f45d57e049326d5355620c17ac684f81a9abf"},"rule":2,"target":"d883634d5a0b645136c5e0cc28cb9dac","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["5a4efd100"],"source_entry_id":"12.3/changes/030","source_hash":"5332a3c8aaa932ebc227f42d0e8adcabcab4d679a3824a771340dab60cd96252","source_url":"/docs/release/12.3/#id-1.11.6.25.5","statement_hash":"4daf22f440ba785e0df9e5c6ad9f45d57e049326d5355620c17ac684f81a9abf","text":"避免 REINDEX 被会话关闭信号终止时不太可能发生的崩溃（Tom Lane）§","title":"避免 REINDEX 被会话关闭信号终止时不太可能发生的崩溃","variants":[],"version":"12.3"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["1e6bb6125","242ca479f","30ce86367","5c27bce7f","8ffb86644","f3d06e524"],"commit_groups":[["1e6bb6125","242ca479f","30ce86367","5c27bce7f","8ffb86644","f3d06e524"]],"commits":["8ffb86644"],"cves":[],"db_id":"6ae9cf112681e0d57b773127c74e7e9a","html":"\u003cp\u003e防止 \u003ccode\u003eEXPLAIN\u003c/code\u003e 输出可能不正确的哈希连接表统计信息（Konstantin Knizhnik，Tom Lane，Thomas Munro）\u003ca href=\"https://postgr.es/c/8ffb86644\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"12.3-33ce58e1ee58dfbb","identity_text":"Prevent printout of possibly-incorrect hash join table statistics in EXPLAIN (Konstantin Knizhnik, Tom Lane, Thomas Munro)","part":"changes","patch_ids":["9577a3f9e890732d3b8029b442f97a49"],"related_changes":[{"db_id":"acb9bc74cea9bb725741f4b518b7d085","evidence":{"patch_ids":["9577a3f9e890732d3b8029b442f97a49"],"same_day":true,"statement_hash":"6b761f25669dcf69182088dcf43cc4200c5b0afd2d993c851d926aa0844d62e6"},"kind":"equivalent","label":"11.8","source_url":"/docs/release/11.8/#id-1.11.6.19.5","title":"防止 EXPLAIN 输出可能不正确的哈希连接表统计信息","url":"/docs/compare/?release=11.8#11.8-5c39232081c348b8","version":"11.8"},{"db_id":"d5b3cc0f62b878c539db27f07470e4cf","evidence":{"patch_ids":["9577a3f9e890732d3b8029b442f97a49"],"same_day":true,"statement_hash":"6b761f25669dcf69182088dcf43cc4200c5b0afd2d993c851d926aa0844d62e6"},"kind":"equivalent","label":"10.13","source_url":"/docs/release/10.13/#id-1.11.6.15.5","title":"防止 EXPLAIN 输出可能不正确的哈希连接表统计信息","url":"/docs/compare/?release=10.13#10.13-5c39232081c348b8","version":"10.13"},{"db_id":"955099ee349d2397f1db43973f3a00cc","evidence":{"patch_ids":["9577a3f9e890732d3b8029b442f97a49"],"same_day":true,"statement_hash":"6b761f25669dcf69182088dcf43cc4200c5b0afd2d993c851d926aa0844d62e6"},"kind":"equivalent","label":"9.6.18","source_url":"/docs/release/9.6.18/#id-1.11.6.11.5","title":"防止 EXPLAIN 打印可能不正确的哈希连接表统计信息","url":"/docs/compare/?release=9.6.18#9.6.18-64df1d61f3e893da","version":"9.6.18"},{"db_id":"0b69cf96620a007e873e288dfec21e5c","evidence":{"patch_ids":["9577a3f9e890732d3b8029b442f97a49"],"same_day":true,"statement_hash":"6b761f25669dcf69182088dcf43cc4200c5b0afd2d993c851d926aa0844d62e6"},"kind":"equivalent","label":"9.5.22","source_url":"/docs/release/9.5.22/#id-1.11.6.8.6","title":"防止 EXPLAIN 打印可能不正确的哈希连接表统计信息","url":"/docs/compare/?release=9.5.22#9.5.22-64df1d61f3e893da","version":"9.5.22"}],"relations":[{"evidence":{"patch_ids":["9577a3f9e890732d3b8029b442f97a49"],"same_day":true,"statement_hash":"6b761f25669dcf69182088dcf43cc4200c5b0afd2d993c851d926aa0844d62e6"},"rule":2,"target":"0b69cf96620a007e873e288dfec21e5c","type":"equivalent"},{"evidence":{"patch_ids":["9577a3f9e890732d3b8029b442f97a49"],"same_day":true,"statement_hash":"6b761f25669dcf69182088dcf43cc4200c5b0afd2d993c851d926aa0844d62e6"},"rule":2,"target":"955099ee349d2397f1db43973f3a00cc","type":"equivalent"},{"evidence":{"patch_ids":["9577a3f9e890732d3b8029b442f97a49"],"same_day":true,"statement_hash":"6b761f25669dcf69182088dcf43cc4200c5b0afd2d993c851d926aa0844d62e6"},"rule":2,"target":"acb9bc74cea9bb725741f4b518b7d085","type":"equivalent"},{"evidence":{"patch_ids":["9577a3f9e890732d3b8029b442f97a49"],"same_day":true,"statement_hash":"6b761f25669dcf69182088dcf43cc4200c5b0afd2d993c851d926aa0844d62e6"},"rule":2,"target":"d5b3cc0f62b878c539db27f07470e4cf","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["8ffb86644"],"source_entry_id":"12.3/changes/031","source_hash":"ae8d2c09f03368ebca5fc1b75d3aaf84bf42df82b164b1c4563c40a69dbfce52","source_url":"/docs/release/12.3/#id-1.11.6.25.5","statement_hash":"6b761f25669dcf69182088dcf43cc4200c5b0afd2d993c851d926aa0844d62e6","text":"防止 EXPLAIN 输出可能不正确的哈希连接表统计信息（Konstantin Knizhnik，Tom Lane，Thomas Munro）§","title":"防止 EXPLAIN 输出可能不正确的哈希连接表统计信息","variants":[],"version":"12.3"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["007491979","16e6c968b","307c27037","414ed1ca2","4a3f164b7","79f344d52"],"commit_groups":[["007491979","16e6c968b","307c27037","414ed1ca2","4a3f164b7","79f344d52"]],"commits":["16e6c968b"],"cves":[],"db_id":"344ea7e477af969207ab4e124de71907","html":"\u003cp\u003e修复 \u003ccode\u003eVACUUM VERBOSE\u003c/code\u003e 对堆截断步骤耗时的报告（Tatsuhito Kasahara）\u003ca href=\"https://postgr.es/c/16e6c968b\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"12.3-88379a7c527ad2c4","identity_text":"Fix reporting of elapsed time for heap truncation steps in VACUUM VERBOSE (Tatsuhito Kasahara)","part":"changes","patch_ids":["7809976285699f9f48bdae7877bd16bc"],"related_changes":[{"db_id":"88c1644901e76c430dd137b8d694c8b6","evidence":{"patch_ids":["7809976285699f9f48bdae7877bd16bc"],"same_day":true,"statement_hash":"f20cd0a369c926dc94614ecb2b6e088940f49cbdadf07ecf10c542337a4314bc"},"kind":"equivalent","label":"11.8","source_url":"/docs/release/11.8/#id-1.11.6.19.5","title":"修复 VACUUM VERBOSE 对堆截断步骤耗时的报告","url":"/docs/compare/?release=11.8#11.8-80b9d060d40bebed","version":"11.8"},{"db_id":"8a633a7ef2133d8fa0646de0147187f2","evidence":{"patch_ids":["7809976285699f9f48bdae7877bd16bc"],"same_day":true,"statement_hash":"f20cd0a369c926dc94614ecb2b6e088940f49cbdadf07ecf10c542337a4314bc"},"kind":"equivalent","label":"10.13","source_url":"/docs/release/10.13/#id-1.11.6.15.5","title":"修复 VACUUM VERBOSE 对堆截断步骤耗时的报告","url":"/docs/compare/?release=10.13#10.13-80b9d060d40bebed","version":"10.13"},{"db_id":"77a1e10a809727d4e8e804035b515ae8","evidence":{"patch_ids":["7809976285699f9f48bdae7877bd16bc"],"same_day":true,"statement_hash":"f20cd0a369c926dc94614ecb2b6e088940f49cbdadf07ecf10c542337a4314bc"},"kind":"equivalent","label":"9.6.18","source_url":"/docs/release/9.6.18/#id-1.11.6.11.5","title":"修复 VACUUM VERBOSE 中堆截断步骤所用时间的报告","url":"/docs/compare/?release=9.6.18#9.6.18-a4ad8ab2bac81621","version":"9.6.18"},{"db_id":"be137f76a1ae493f53cfb3d23ee2e247","evidence":{"patch_ids":["7809976285699f9f48bdae7877bd16bc"],"same_day":true,"statement_hash":"f20cd0a369c926dc94614ecb2b6e088940f49cbdadf07ecf10c542337a4314bc"},"kind":"equivalent","label":"9.5.22","source_url":"/docs/release/9.5.22/#id-1.11.6.8.6","title":"修复 VACUUM VERBOSE 中堆截断步骤所用时间的报告","url":"/docs/compare/?release=9.5.22#9.5.22-a4ad8ab2bac81621","version":"9.5.22"}],"relations":[{"evidence":{"patch_ids":["7809976285699f9f48bdae7877bd16bc"],"same_day":true,"statement_hash":"f20cd0a369c926dc94614ecb2b6e088940f49cbdadf07ecf10c542337a4314bc"},"rule":2,"target":"77a1e10a809727d4e8e804035b515ae8","type":"equivalent"},{"evidence":{"patch_ids":["7809976285699f9f48bdae7877bd16bc"],"same_day":true,"statement_hash":"f20cd0a369c926dc94614ecb2b6e088940f49cbdadf07ecf10c542337a4314bc"},"rule":2,"target":"88c1644901e76c430dd137b8d694c8b6","type":"equivalent"},{"evidence":{"patch_ids":["7809976285699f9f48bdae7877bd16bc"],"same_day":true,"statement_hash":"f20cd0a369c926dc94614ecb2b6e088940f49cbdadf07ecf10c542337a4314bc"},"rule":2,"target":"8a633a7ef2133d8fa0646de0147187f2","type":"equivalent"},{"evidence":{"patch_ids":["7809976285699f9f48bdae7877bd16bc"],"same_day":true,"statement_hash":"f20cd0a369c926dc94614ecb2b6e088940f49cbdadf07ecf10c542337a4314bc"},"rule":2,"target":"be137f76a1ae493f53cfb3d23ee2e247","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["16e6c968b"],"source_entry_id":"12.3/changes/032","source_hash":"4e737b3b59dc64d8fb994584a8bdf689a690e764db6e245cb29b66f671452b67","source_url":"/docs/release/12.3/#id-1.11.6.25.5","statement_hash":"f20cd0a369c926dc94614ecb2b6e088940f49cbdadf07ecf10c542337a4314bc","text":"修复 VACUUM VERBOSE 对堆截断步骤耗时的报告（Tatsuhito Kasahara）§","title":"修复 VACUUM VERBOSE 对堆截断步骤耗时的报告","variants":[],"version":"12.3"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["40708eaaf","73a076b03","d3944c364"],"commit_groups":[["40708eaaf","73a076b03","d3944c364"]],"commits":["40708eaaf"],"cves":[],"db_id":"26ba0b8f47907bb308567fabb2e0db26","html":"\u003cp\u003e修复 \u003ccode\u003eVACUUM VERBOSE\u003c/code\u003e 输出中可能低估已删除 B-树索引页数量的问题（Peter Geoghegan）\u003ca href=\"https://postgr.es/c/40708eaaf\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"12.3-0a000b4d5698a870","identity_text":"Fix possible undercounting of deleted B-tree index pages in VACUUM VERBOSE output (Peter Geoghegan)","part":"changes","patch_ids":["d1810987df0fd35de69e92589f97403f"],"related_changes":[{"db_id":"4f5fdaead6453d5a7ffd75e98468e43e","evidence":{"patch_ids":["d1810987df0fd35de69e92589f97403f"],"same_day":true,"statement_hash":"29186f66e6d0d71625658999f23a9d7de4dfbb2adbb284473835485c56aa4055"},"kind":"equivalent","label":"11.8","source_url":"/docs/release/11.8/#id-1.11.6.19.5","title":"修复 VACUUM VERBOSE 输出中可能低估已删除 B-树索引页数量的问题","url":"/docs/compare/?release=11.8#11.8-22d62cab4e050bed","version":"11.8"}],"relations":[{"evidence":{"patch_ids":["d1810987df0fd35de69e92589f97403f"],"same_day":true,"statement_hash":"29186f66e6d0d71625658999f23a9d7de4dfbb2adbb284473835485c56aa4055"},"rule":2,"target":"4f5fdaead6453d5a7ffd75e98468e43e","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["40708eaaf"],"source_entry_id":"12.3/changes/033","source_hash":"692df052f789d3c96afcbda2c18b9ecc5d820e48588a581d64a2eb6e3a8a99bd","source_url":"/docs/release/12.3/#id-1.11.6.25.5","statement_hash":"29186f66e6d0d71625658999f23a9d7de4dfbb2adbb284473835485c56aa4055","text":"修复 VACUUM VERBOSE 输出中可能低估已删除 B-树索引页数量的问题（Peter Geoghegan）§","title":"修复 VACUUM VERBOSE 输出中可能低估已删除 B-树索引页数量的问题","variants":[],"version":"12.3"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["05b73261c","573478564","69cf853fe","b0229f26d","e1477db92","e4fa6c929"],"commit_groups":[["05b73261c","b0229f26d","e4fa6c929"],["573478564","69cf853fe","e1477db92"]],"commits":["05b73261c","e1477db92"],"cves":[],"db_id":"ce6fc71a200878168c523633a0c81e28","html":"\u003cp\u003e修复 B-树索引中对最早删除页面的错误记录（Peter Geoghegan）\u003ca href=\"https://postgr.es/c/05b73261c\"\u003e§\u003c/a\u003e \u003ca href=\"https://postgr.es/c/e1477db92\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e这可能使有关 \u003ccode\u003eVACUUM\u003c/code\u003e 何时可以跳过索引清理扫描的判断出现细微错误，不过似乎未必有明显的用户可见影响。\u003c/p\u003e","id":"12.3-d7d54838dea2334b","identity_text":"Fix wrong bookkeeping for oldest deleted page in a B-tree index (Peter Geoghegan) This could cause subtly wrong decisions about when VACUUM can skip an index cleanup scan; although it appears there may be no significant user-visible effects from that.","part":"changes","patch_ids":["a19a9d507a4997cd99c1be55100afbe4","b575e707eb220406b2325f149b5d79dc"],"related_changes":[{"db_id":"b019c01c727f67b327351e8447b29c12","evidence":{"patch_ids":["a19a9d507a4997cd99c1be55100afbe4","b575e707eb220406b2325f149b5d79dc"],"same_day":true,"statement_hash":"77fe0655956952e81926fbc8565e86624e5db1f8a0a46314ca5ec95d630bdcaa"},"kind":"equivalent","label":"11.8","source_url":"/docs/release/11.8/#id-1.11.6.19.5","title":"修复 B-树索引中对最早删除页面的错误记录","url":"/docs/compare/?release=11.8#11.8-f3fbe8e320036e12","version":"11.8"}],"relations":[{"evidence":{"patch_ids":["a19a9d507a4997cd99c1be55100afbe4","b575e707eb220406b2325f149b5d79dc"],"same_day":true,"statement_hash":"77fe0655956952e81926fbc8565e86624e5db1f8a0a46314ca5ec95d630bdcaa"},"rule":2,"target":"b019c01c727f67b327351e8447b29c12","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["05b73261c","e1477db92"],"source_entry_id":"12.3/changes/034","source_hash":"4f93dadaf4b020c39f453c09281f9a65cbca3f6d32794586aa66e06a57c1efba","source_url":"/docs/release/12.3/#id-1.11.6.25.5","statement_hash":"77fe0655956952e81926fbc8565e86624e5db1f8a0a46314ca5ec95d630bdcaa","text":"修复 B-树索引中对最早删除页面的错误记录（Peter Geoghegan）§ § 这可能使有关 VACUUM 何时可以跳过索引清理扫描的判断出现细微错误，不过似乎未必有明显的用户可见影响。","title":"修复 B-树索引中对最早删除页面的错误记录","variants":[],"version":"12.3"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["3a48740e8","a354d0153","cc534fc3b","f2ff20359"],"commit_groups":[["3a48740e8","a354d0153","cc534fc3b","f2ff20359"]],"commits":["a354d0153"],"cves":[],"db_id":"432855c9c37a826e33277939749fe5fd","html":"\u003cp\u003e确保在所有读写时间线历史文件的代码路径中报告 TimelineHistoryRead 和 TimelineHistoryWrite 等待状态（Masahiro Ikeda）\u003ca href=\"https://postgr.es/c/a354d0153\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"12.3-93b2e0d61d0e4c0e","identity_text":"Ensure that TimelineHistoryRead and TimelineHistoryWrite wait states are reported in all code paths that read or write timeline history files (Masahiro Ikeda)","part":"changes","patch_ids":["bcfbff2e7f59a52073ce8b5864e0ada9"],"related_changes":[{"db_id":"aeccc32ed0ac58ca6e395d85e904e8ce","evidence":{"patch_ids":["bcfbff2e7f59a52073ce8b5864e0ada9"],"same_day":true,"statement_hash":"520d04cfe10a1a22518783576daa2251aced6859a0548c5e91d21866211e282d"},"kind":"equivalent","label":"11.8","source_url":"/docs/release/11.8/#id-1.11.6.19.5","title":"确保在所有读写时间线历史文件的代码路径中报告 TimelineHistoryRead 和 TimelineHistoryWrite 等待状态","url":"/docs/compare/?release=11.8#11.8-060018bcce3226c7","version":"11.8"},{"db_id":"b0d7bda07e7a01917d56a7ceeee9e8a6","evidence":{"patch_ids":["bcfbff2e7f59a52073ce8b5864e0ada9"],"same_day":true,"statement_hash":"520d04cfe10a1a22518783576daa2251aced6859a0548c5e91d21866211e282d"},"kind":"equivalent","label":"10.13","source_url":"/docs/release/10.13/#id-1.11.6.15.5","title":"确保在所有读写时间线历史文件的代码路径中报告 TimelineHistoryRead 和 TimelineHistoryWrite 等待状态","url":"/docs/compare/?release=10.13#10.13-060018bcce3226c7","version":"10.13"}],"relations":[{"evidence":{"patch_ids":["bcfbff2e7f59a52073ce8b5864e0ada9"],"same_day":true,"statement_hash":"520d04cfe10a1a22518783576daa2251aced6859a0548c5e91d21866211e282d"},"rule":2,"target":"aeccc32ed0ac58ca6e395d85e904e8ce","type":"equivalent"},{"evidence":{"patch_ids":["bcfbff2e7f59a52073ce8b5864e0ada9"],"same_day":true,"statement_hash":"520d04cfe10a1a22518783576daa2251aced6859a0548c5e91d21866211e282d"},"rule":2,"target":"b0d7bda07e7a01917d56a7ceeee9e8a6","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["a354d0153"],"source_entry_id":"12.3/changes/035","source_hash":"7da4f3961270578262c16d651624fabe80e7bcd161c3d872f09998365efd260d","source_url":"/docs/release/12.3/#id-1.11.6.25.5","statement_hash":"520d04cfe10a1a22518783576daa2251aced6859a0548c5e91d21866211e282d","text":"确保在所有读写时间线历史文件的代码路径中报告 TimelineHistoryRead 和 TimelineHistoryWrite 等待状态（Masahiro Ikeda）§","title":"确保在所有读写时间线历史文件的代码路径中报告 TimelineHistoryRead 和 TimelineHistoryWrite 等待状态","variants":[],"version":"12.3"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["17d3fcdc3","82c04e483","c9a47b81e","d1b414e7e","e54183cb0","e9c4eaacd"],"commit_groups":[["17d3fcdc3","82c04e483","c9a47b81e","d1b414e7e","e54183cb0","e9c4eaacd"]],"commits":["82c04e483"],"cves":[],"db_id":"4e3a1a2456aba94194356a01413e3114","html":"\u003cp\u003e避免在进程的 PS 状态中可能两次显示 \u003cspan\u003e“\u003cspan\u003ewaiting\u003c/span\u003e”\u003c/span\u003e（Masahiko Sawada）\u003ca href=\"https://postgr.es/c/82c04e483\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"12.3-43091f93f1eb20ec","identity_text":"Avoid possibly showing waiting twice in a process's PS status (Masahiko Sawada)","part":"changes","patch_ids":["8cc2e23b39efb918497ce937a490afc6"],"related_changes":[{"db_id":"9c38c588942a2de8ba8e7fb0147649d5","evidence":{"patch_ids":["8cc2e23b39efb918497ce937a490afc6"],"same_day":true,"statement_hash":"b2492270143de8c203a1998678437872e10fd4d369ec3ee00abba52e19fa69ea"},"kind":"equivalent","label":"11.8","source_url":"/docs/release/11.8/#id-1.11.6.19.5","title":"避免在进程的 PS 状态中可能两次显示 “waiting”","url":"/docs/compare/?release=11.8#11.8-1973e2fb461472c9","version":"11.8"},{"db_id":"22918bbd723838fd326c43f73db0beb2","evidence":{"patch_ids":["8cc2e23b39efb918497ce937a490afc6"],"same_day":true,"statement_hash":"b2492270143de8c203a1998678437872e10fd4d369ec3ee00abba52e19fa69ea"},"kind":"equivalent","label":"10.13","source_url":"/docs/release/10.13/#id-1.11.6.15.5","title":"避免在进程的 PS 状态中可能两次显示 “waiting”","url":"/docs/compare/?release=10.13#10.13-1973e2fb461472c9","version":"10.13"},{"db_id":"d90ea1969e6efed6f293f894e2b16d72","evidence":{"patch_ids":["8cc2e23b39efb918497ce937a490afc6"],"same_day":true,"statement_hash":"b2492270143de8c203a1998678437872e10fd4d369ec3ee00abba52e19fa69ea"},"kind":"equivalent","label":"9.6.18","source_url":"/docs/release/9.6.18/#id-1.11.6.11.5","title":"避免进程的 PS 状态中可能两次显示 “waiting”","url":"/docs/compare/?release=9.6.18#9.6.18-f648cc703038394b","version":"9.6.18"},{"db_id":"bc7286641728a1efd19e31a44b3cd6a2","evidence":{"patch_ids":["8cc2e23b39efb918497ce937a490afc6"],"same_day":true,"statement_hash":"b2492270143de8c203a1998678437872e10fd4d369ec3ee00abba52e19fa69ea"},"kind":"equivalent","label":"9.5.22","source_url":"/docs/release/9.5.22/#id-1.11.6.8.6","title":"避免进程的 PS 状态中可能两次显示 “waiting”","url":"/docs/compare/?release=9.5.22#9.5.22-f648cc703038394b","version":"9.5.22"}],"relations":[{"evidence":{"patch_ids":["8cc2e23b39efb918497ce937a490afc6"],"same_day":true,"statement_hash":"b2492270143de8c203a1998678437872e10fd4d369ec3ee00abba52e19fa69ea"},"rule":2,"target":"22918bbd723838fd326c43f73db0beb2","type":"equivalent"},{"evidence":{"patch_ids":["8cc2e23b39efb918497ce937a490afc6"],"same_day":true,"statement_hash":"b2492270143de8c203a1998678437872e10fd4d369ec3ee00abba52e19fa69ea"},"rule":2,"target":"9c38c588942a2de8ba8e7fb0147649d5","type":"equivalent"},{"evidence":{"patch_ids":["8cc2e23b39efb918497ce937a490afc6"],"same_day":true,"statement_hash":"b2492270143de8c203a1998678437872e10fd4d369ec3ee00abba52e19fa69ea"},"rule":2,"target":"bc7286641728a1efd19e31a44b3cd6a2","type":"equivalent"},{"evidence":{"patch_ids":["8cc2e23b39efb918497ce937a490afc6"],"same_day":true,"statement_hash":"b2492270143de8c203a1998678437872e10fd4d369ec3ee00abba52e19fa69ea"},"rule":2,"target":"d90ea1969e6efed6f293f894e2b16d72","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["82c04e483"],"source_entry_id":"12.3/changes/036","source_hash":"c1b056f60abb9986e67d1a9350ae35bd61c999ac549e06d09cc09ef5799d444f","source_url":"/docs/release/12.3/#id-1.11.6.25.5","statement_hash":"b2492270143de8c203a1998678437872e10fd4d369ec3ee00abba52e19fa69ea","text":"避免在进程的 PS 状态中可能两次显示 “waiting”（Masahiko Sawada）§","title":"避免在进程的 PS 状态中可能两次显示 “waiting”","variants":[],"version":"12.3"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["6c426cd43","fe3036527"],"commit_groups":[["6c426cd43","fe3036527"]],"commits":["6c426cd43"],"cves":[],"db_id":"d5e842d623bc1ed6ff659751508a5cb3","html":"\u003cp\u003e避免 \u003ccode\u003eANALYZE\u003c/code\u003e 替换扩展统计数据的目录元组时出现竞争条件（Dean Rasheed）\u003ca href=\"https://postgr.es/c/6c426cd43\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"12.3-becad03668099bac","identity_text":"Avoid race condition when ANALYZE replaces the catalog tuple for extended statistics data (Dean Rasheed)","part":"changes","patch_ids":["ae23934f85fa3e1d8e9105e27f193578"],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":["6c426cd43"],"source_entry_id":"12.3/changes/037","source_hash":"af5008f55c83646b06e17c4f24f75e15dc32e71453ed7d0fa028dc5d5a508829","source_url":"/docs/release/12.3/#id-1.11.6.25.5","statement_hash":"b68a731a67e01679bd45075908ec0545b658e8261df2442e013bd35ea21b0d4b","text":"避免 ANALYZE 替换扩展统计数据的目录元组时出现竞争条件（Dean Rasheed）§","title":"避免 ANALYZE 替换扩展统计数据的目录元组时出现竞争条件","variants":[],"version":"12.3"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["3ec8576a0","dd9ac7d5d"],"commit_groups":[["3ec8576a0","dd9ac7d5d"]],"commits":["3ec8576a0"],"cves":[],"db_id":"6bbfc14fe99a5b1dba84d91e52639f04","html":"\u003cp\u003e移除考虑不周的跳过\u003cspan\u003e“\u003cspan\u003e冗余\u003c/span\u003e”\u003c/span\u003e防回卷清理的行为（Michael Paquier）\u003ca href=\"https://postgr.es/c/3ec8576a0\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e这可以避免一种边界情况：自动清理反复尝试、随后又跳过同一个清理任务，陷入循环。\u003c/p\u003e","id":"12.3-01f7004f0c7eb1f4","identity_text":"Remove ill-considered skip of redundant anti-wraparound vacuums (Michael Paquier) This avoids a corner case where autovacuum could get into a loop of repeatedly trying and then skipping the same vacuum job.","part":"changes","patch_ids":["8cf34702c48c4c1805becd5b9885447a"],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":["3ec8576a0"],"source_entry_id":"12.3/changes/038","source_hash":"7cd83951fae6c3945428bbf2393b16cae7bb392974e3c5631413f9c7f7b2ebff","source_url":"/docs/release/12.3/#id-1.11.6.25.5","statement_hash":"ed8f945deffa8d9f177014c0a79cdc4c316bd204d9f9ece38fe7247cce60a1ab","text":"移除考虑不周的跳过“冗余”防回卷清理的行为（Michael Paquier）§ 这可以避免一种边界情况：自动清理反复尝试、随后又跳过同一个清理任务，陷入循环。","title":"移除考虑不周的跳过“冗余”防回卷清理的行为","variants":[],"version":"12.3"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["4b42a8993","97cda93d8"],"commit_groups":[["4b42a8993","97cda93d8"]],"commits":["97cda93d8"],"cves":[],"db_id":"8feebce2b7c76a231a04a8462df75f85","html":"\u003cp\u003e确保始终从 B-树枢轴元组中移除 INCLUDE 列（Peter Geoghegan）\u003ca href=\"https://postgr.es/c/97cda93d8\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e这一错误会在某些罕见情况下浪费空间，除此之外没有危害。\u003c/p\u003e","id":"12.3-5bfd30d049af82a2","identity_text":"Ensure INCLUDE'd columns are always removed from B-tree pivot tuples (Peter Geoghegan) This mistake wasted space in some rare cases, but was otherwise harmless.","part":"changes","patch_ids":["fc23ac42ec7922faca3cd01fc9453eff"],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":["97cda93d8"],"source_entry_id":"12.3/changes/039","source_hash":"0a1929efa05dae710856d018fc06bd5303ad2850a964bc947189506e423790a8","source_url":"/docs/release/12.3/#id-1.11.6.25.5","statement_hash":"42d6bf31b55f77c0184b73e65babbbbd6c2ef28362a4eb1457175076328a5f80","text":"确保始终从 B-树枢轴元组中移除 INCLUDE 列（Peter Geoghegan）§ 这一错误会在某些罕见情况下浪费空间，除此之外没有危害。","title":"确保始终从 B-树枢轴元组中移除 INCLUDE 列","variants":[],"version":"12.3"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["61d7c7bce","8bca5f935"],"commit_groups":[["61d7c7bce","8bca5f935"]],"commits":["8bca5f935"],"cves":[],"db_id":"ccc547f568c6cbbe6d464080c49f42c7","html":"\u003cp\u003e处理 \u003ccode\u003eREINDEX CONCURRENTLY\u003c/code\u003e 失败后可能留下的无效 TOAST 索引（Julien Rouhaud）\u003ca href=\"https://postgr.es/c/8bca5f935\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"12.3-e435690c9391899e","identity_text":"Cope with invalid TOAST indexes that could be left over after a failed REINDEX CONCURRENTLY (Julien Rouhaud)","part":"changes","patch_ids":["9d2d13fde37ddf8ae22d7a15632d1aae"],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":["8bca5f935"],"source_entry_id":"12.3/changes/040","source_hash":"282d5282a7017e57ea3929b191c9c489f41fb31a349e29d9afb5a2033ef6b766","source_url":"/docs/release/12.3/#id-1.11.6.25.5","statement_hash":"5be5f73352ce9f9a8c9bdf96c9982197ef26d35956051dd8cbb10951f842bdde","text":"处理 REINDEX CONCURRENTLY 失败后可能留下的无效 TOAST 索引（Julien Rouhaud）§","title":"处理 REINDEX CONCURRENTLY 失败后可能留下的无效 TOAST 索引","variants":[],"version":"12.3"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["26876127b","fbcf08711"],"commit_groups":[["26876127b","fbcf08711"]],"commits":["26876127b"],"cves":[],"db_id":"1ee5abe61a8414e82801ec5001d8bd2b","html":"\u003cp\u003e确保 \u003ccode\u003eREINDEX CONCURRENTLY\u003c/code\u003e 失败后保留有效的索引依赖关系（Michael Paquier）\u003ca href=\"https://postgr.es/c/26876127b\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e以前，旧索引可能完全没有 \u003ccode\u003epg_depend\u003c/code\u003e 链接，因此例如删除父表时，该索引不会被删除。\u003c/p\u003e","id":"12.3-a04eafb27a9bd603","identity_text":"Ensure that valid index dependencies are left behind after a failed REINDEX CONCURRENTLY (Michael Paquier) Previously the old index could be left with no pg_depend links at all, so that for example it would not get dropped if the parent table is dropped.","part":"changes","patch_ids":["16437dc4838101bd632fe0966a69a695"],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":["26876127b"],"source_entry_id":"12.3/changes/041","source_hash":"a95cec0c04445450470e76b707e410d408188f7548808c838ab50912e86aebf4","source_url":"/docs/release/12.3/#id-1.11.6.25.5","statement_hash":"24b716b812d986d27d2929257f438324a678d51cee16d2dca39b12714157fc20","text":"确保 REINDEX CONCURRENTLY 失败后保留有效的索引依赖关系（Michael Paquier）§ 以前，旧索引可能完全没有 pg_depend 链接，因此例如删除父表时，该索引不会被删除。","title":"确保 REINDEX CONCURRENTLY 失败后保留有效的索引依赖关系","variants":[],"version":"12.3"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["7ea20a2bc","80d76be51","d7684c38a"],"commit_groups":[["7ea20a2bc","80d76be51","d7684c38a"]],"commits":["d7684c38a"],"cves":[],"db_id":"9c518a09c87a41fecfd56b8ad539f159","html":"\u003cp\u003e避免自动清理尝试访问刚删除的临时模式时发生失败（Tom Lane）\u003ca href=\"https://postgr.es/c/d7684c38a\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e只有超级用户手动删除临时模式时才会出现这一隐患；这虽然不是常规做法，但也应该能够正常工作。\u003c/p\u003e","id":"12.3-62b79f744258b96c","identity_text":"Avoid failure if autovacuum tries to access a just-dropped temporary schema (Tom Lane) This hazard only arises if a superuser manually drops a temporary schema; which isn't normal practice, but should work.","part":"changes","patch_ids":["a65ec24e200f282fcfef49ab178234a5"],"related_changes":[{"db_id":"2417131ff80098f64937fac19ed092f7","evidence":{"patch_ids":["a65ec24e200f282fcfef49ab178234a5"],"same_day":true,"statement_hash":"e16761537b7277da3cfc202aecfb4df2205fd14c91dc2edf1ab545da154ba366"},"kind":"equivalent","label":"11.8","source_url":"/docs/release/11.8/#id-1.11.6.19.5","title":"避免自动清理尝试访问刚删除的临时模式时发生失败","url":"/docs/compare/?release=11.8#11.8-120dab4c724bb7f9","version":"11.8"}],"relations":[{"evidence":{"patch_ids":["a65ec24e200f282fcfef49ab178234a5"],"same_day":true,"statement_hash":"e16761537b7277da3cfc202aecfb4df2205fd14c91dc2edf1ab545da154ba366"},"rule":2,"target":"2417131ff80098f64937fac19ed092f7","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["d7684c38a"],"source_entry_id":"12.3/changes/042","source_hash":"f2cd92cf2b1b0e2b228cde7807c84009eeb8bea33354fc8843f2063e7287ac57","source_url":"/docs/release/12.3/#id-1.11.6.25.5","statement_hash":"e16761537b7277da3cfc202aecfb4df2205fd14c91dc2edf1ab545da154ba366","text":"避免自动清理尝试访问刚删除的临时模式时发生失败（Tom Lane）§ 只有超级用户手动删除临时模式时才会出现这一隐患；这虽然不是常规做法，但也应该能够正常工作。","title":"避免自动清理尝试访问刚删除的临时模式时发生失败","variants":[],"version":"12.3"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["02657c421","0d04e9d76","11f004699","22db5269b","26057550d","2d24ca00b","3d9cae5ad","4e87c4836","9eff11653","a4726998d","c2d8ae0df","f9c1b8dba"],"commit_groups":[["02657c421","22db5269b","2d24ca00b","4e87c4836","9eff11653","c2d8ae0df"],["0d04e9d76","11f004699","26057550d","3d9cae5ad","a4726998d","f9c1b8dba"]],"commits":["22db5269b","26057550d"],"cves":[],"db_id":"64260b75f6c405aa52cf45d5527ccf2d","html":"\u003cp\u003e避免崩溃恢复期间过早回收 WAL 段（Jehan-Guillaume de Rorthais）\u003ca href=\"https://postgr.es/c/22db5269b\"\u003e§\u003c/a\u003e \u003ca href=\"https://postgr.es/c/26057550d\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e在崩溃恢复期间变为可归档状态的 WAL 段，可能在尚未归档的情况下就被回收。\u003c/p\u003e","id":"12.3-3e080ce59871ccc2","identity_text":"Avoid premature recycling of WAL segments during crash recovery (Jehan-Guillaume de Rorthais) WAL segments that become ready to be archived during crash recovery were potentially recycled without being archived.","part":"changes","patch_ids":["0ee7a470a5b9e090e3628d7926425f49","f4914ad864daad2b94a0f1e6a2922dab"],"related_changes":[{"db_id":"339630ead3e826cc8ce60a76a0891a79","evidence":{"patch_ids":["0ee7a470a5b9e090e3628d7926425f49","f4914ad864daad2b94a0f1e6a2922dab"],"same_day":true,"statement_hash":"b017931b378881898e4a300452eab798a7beeb68000b31d89ea1d54fffaf78a6"},"kind":"equivalent","label":"11.8","source_url":"/docs/release/11.8/#id-1.11.6.19.5","title":"避免崩溃恢复期间过早回收 WAL 段","url":"/docs/compare/?release=11.8#11.8-a3d32e1cca66132d","version":"11.8"},{"db_id":"b5f60a1946e72223e6f7b1c0c3bfb9de","evidence":{"patch_ids":["0ee7a470a5b9e090e3628d7926425f49","f4914ad864daad2b94a0f1e6a2922dab"],"same_day":true,"statement_hash":"b017931b378881898e4a300452eab798a7beeb68000b31d89ea1d54fffaf78a6"},"kind":"equivalent","label":"10.13","source_url":"/docs/release/10.13/#id-1.11.6.15.5","title":"避免崩溃恢复期间过早回收 WAL 段","url":"/docs/compare/?release=10.13#10.13-a3d32e1cca66132d","version":"10.13"},{"db_id":"a1cf124a3a5ff64bf30d3e3981c63683","evidence":{"patch_ids":["0ee7a470a5b9e090e3628d7926425f49","f4914ad864daad2b94a0f1e6a2922dab"],"same_day":true,"statement_hash":"b017931b378881898e4a300452eab798a7beeb68000b31d89ea1d54fffaf78a6"},"kind":"equivalent","label":"9.6.18","source_url":"/docs/release/9.6.18/#id-1.11.6.11.5","title":"避免崩溃恢复期间过早回收 WAL 段","url":"/docs/compare/?release=9.6.18#9.6.18-a3d32e1cca66132d","version":"9.6.18"},{"db_id":"b12c1aa5e0e23993f2ac453638df2a86","evidence":{"patch_ids":["0ee7a470a5b9e090e3628d7926425f49","f4914ad864daad2b94a0f1e6a2922dab"],"same_day":true,"statement_hash":"b017931b378881898e4a300452eab798a7beeb68000b31d89ea1d54fffaf78a6"},"kind":"equivalent","label":"9.5.22","source_url":"/docs/release/9.5.22/#id-1.11.6.8.6","title":"避免崩溃恢复期间过早回收 WAL 段","url":"/docs/compare/?release=9.5.22#9.5.22-a3d32e1cca66132d","version":"9.5.22"}],"relations":[{"evidence":{"patch_ids":["0ee7a470a5b9e090e3628d7926425f49","f4914ad864daad2b94a0f1e6a2922dab"],"same_day":true,"statement_hash":"b017931b378881898e4a300452eab798a7beeb68000b31d89ea1d54fffaf78a6"},"rule":2,"target":"339630ead3e826cc8ce60a76a0891a79","type":"equivalent"},{"evidence":{"patch_ids":["0ee7a470a5b9e090e3628d7926425f49","f4914ad864daad2b94a0f1e6a2922dab"],"same_day":true,"statement_hash":"b017931b378881898e4a300452eab798a7beeb68000b31d89ea1d54fffaf78a6"},"rule":2,"target":"a1cf124a3a5ff64bf30d3e3981c63683","type":"equivalent"},{"evidence":{"patch_ids":["0ee7a470a5b9e090e3628d7926425f49","f4914ad864daad2b94a0f1e6a2922dab"],"same_day":true,"statement_hash":"b017931b378881898e4a300452eab798a7beeb68000b31d89ea1d54fffaf78a6"},"rule":2,"target":"b12c1aa5e0e23993f2ac453638df2a86","type":"equivalent"},{"evidence":{"patch_ids":["0ee7a470a5b9e090e3628d7926425f49","f4914ad864daad2b94a0f1e6a2922dab"],"same_day":true,"statement_hash":"b017931b378881898e4a300452eab798a7beeb68000b31d89ea1d54fffaf78a6"},"rule":2,"target":"b5f60a1946e72223e6f7b1c0c3bfb9de","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["22db5269b","26057550d"],"source_entry_id":"12.3/changes/043","source_hash":"39b89fb78720b399cbda44d7a16a5804c46b9da8966bb289dda3a31a39e26f96","source_url":"/docs/release/12.3/#id-1.11.6.25.5","statement_hash":"b017931b378881898e4a300452eab798a7beeb68000b31d89ea1d54fffaf78a6","text":"避免崩溃恢复期间过早回收 WAL 段（Jehan-Guillaume de Rorthais）§ § 在崩溃恢复期间变为可归档状态的 WAL 段，可能在尚未归档的情况下就被回收。","title":"避免崩溃恢复期间过早回收 WAL 段","variants":[],"version":"12.3"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["4bd0ad9e4","660f1fc40","683e0ef55","70b597974","dcd1569fb","e3f5b148e"],"commit_groups":[["4bd0ad9e4","660f1fc40","683e0ef55","70b597974","dcd1569fb","e3f5b148e"]],"commits":["683e0ef55"],"cves":[],"db_id":"d1cc31e1b4252b551f40b53f1cf377ef","html":"\u003cp\u003e避免归档恢复期间扫描无关的时间线（Kyotaro Horiguchi）\u003ca href=\"https://postgr.es/c/683e0ef55\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e这可以消除许多从归档存储中获取不存在的 WAL 文件的尝试，在归档访问缓慢时很有帮助。\u003c/p\u003e","id":"12.3-12416a0b66723211","identity_text":"Avoid scanning irrelevant timelines during archive recovery (Kyotaro Horiguchi) This can eliminate many attempts to fetch non-existent WAL files from archive storage, which is helpful if archive access is slow.","part":"changes","patch_ids":["d25704ffbad36923b683cfb9e6d1f49c"],"related_changes":[{"db_id":"12ca930645248f1c5424dd484b54f738","evidence":{"patch_ids":["d25704ffbad36923b683cfb9e6d1f49c"],"same_day":true,"statement_hash":"f80a2b94b71207f2fa0359669721847ebdd99286b7efe8f407f9482a0727efcd"},"kind":"equivalent","label":"11.8","source_url":"/docs/release/11.8/#id-1.11.6.19.5","title":"避免归档恢复期间扫描无关的时间线","url":"/docs/compare/?release=11.8#11.8-78197daaaef890ec","version":"11.8"},{"db_id":"5e62d45bd81c8df3ebef93b76e51df11","evidence":{"patch_ids":["d25704ffbad36923b683cfb9e6d1f49c"],"same_day":true,"statement_hash":"f80a2b94b71207f2fa0359669721847ebdd99286b7efe8f407f9482a0727efcd"},"kind":"equivalent","label":"10.13","source_url":"/docs/release/10.13/#id-1.11.6.15.5","title":"避免归档恢复期间扫描无关的时间线","url":"/docs/compare/?release=10.13#10.13-78197daaaef890ec","version":"10.13"},{"db_id":"80ad996d70bbd32642295566050cb53b","evidence":{"patch_ids":["d25704ffbad36923b683cfb9e6d1f49c"],"same_day":true,"statement_hash":"f80a2b94b71207f2fa0359669721847ebdd99286b7efe8f407f9482a0727efcd"},"kind":"equivalent","label":"9.6.18","source_url":"/docs/release/9.6.18/#id-1.11.6.11.5","title":"避免归档恢复期间扫描无关时间线","url":"/docs/compare/?release=9.6.18#9.6.18-1a459e89e5863aa7","version":"9.6.18"},{"db_id":"5534623022d01e53ee6dbef702811fac","evidence":{"patch_ids":["d25704ffbad36923b683cfb9e6d1f49c"],"same_day":true,"statement_hash":"f80a2b94b71207f2fa0359669721847ebdd99286b7efe8f407f9482a0727efcd"},"kind":"equivalent","label":"9.5.22","source_url":"/docs/release/9.5.22/#id-1.11.6.8.6","title":"避免归档恢复期间扫描无关时间线","url":"/docs/compare/?release=9.5.22#9.5.22-1a459e89e5863aa7","version":"9.5.22"}],"relations":[{"evidence":{"patch_ids":["d25704ffbad36923b683cfb9e6d1f49c"],"same_day":true,"statement_hash":"f80a2b94b71207f2fa0359669721847ebdd99286b7efe8f407f9482a0727efcd"},"rule":2,"target":"12ca930645248f1c5424dd484b54f738","type":"equivalent"},{"evidence":{"patch_ids":["d25704ffbad36923b683cfb9e6d1f49c"],"same_day":true,"statement_hash":"f80a2b94b71207f2fa0359669721847ebdd99286b7efe8f407f9482a0727efcd"},"rule":2,"target":"5534623022d01e53ee6dbef702811fac","type":"equivalent"},{"evidence":{"patch_ids":["d25704ffbad36923b683cfb9e6d1f49c"],"same_day":true,"statement_hash":"f80a2b94b71207f2fa0359669721847ebdd99286b7efe8f407f9482a0727efcd"},"rule":2,"target":"5e62d45bd81c8df3ebef93b76e51df11","type":"equivalent"},{"evidence":{"patch_ids":["d25704ffbad36923b683cfb9e6d1f49c"],"same_day":true,"statement_hash":"f80a2b94b71207f2fa0359669721847ebdd99286b7efe8f407f9482a0727efcd"},"rule":2,"target":"80ad996d70bbd32642295566050cb53b","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["683e0ef55"],"source_entry_id":"12.3/changes/044","source_hash":"9478b11e4a237dab8ec2917a58389411f3bf3e453aafc93531d11acb27f09e78","source_url":"/docs/release/12.3/#id-1.11.6.25.5","statement_hash":"f80a2b94b71207f2fa0359669721847ebdd99286b7efe8f407f9482a0727efcd","text":"避免归档恢复期间扫描无关的时间线（Kyotaro Horiguchi）§ 这可以消除许多从归档存储中获取不存在的 WAL 文件的尝试，在归档访问缓慢时很有帮助。","title":"避免归档恢复期间扫描无关的时间线","variants":[],"version":"12.3"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["05555f7aa","59112f235","59c1a03f0","b448aa441","bff456d7a","e3ff789ac"],"commit_groups":[["05555f7aa","59112f235","59c1a03f0","b448aa441","bff456d7a","e3ff789ac"]],"commits":["59112f235"],"cves":[],"db_id":"091f71c96c354f4647b9ebc343fb55a9","html":"\u003cp\u003e移除逻辑解码中不正确的 \u003cspan\u003e“\u003cspan\u003esubtransaction logged without previous top-level txn record\u003c/span\u003e”\u003c/span\u003e 错误检查（Arseny Sher，Amit Kapila）\u003ca href=\"https://postgr.es/c/59112f235\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e在多种场景中都可以正常出现这种情况，因此移除该检查。\u003c/p\u003e","id":"12.3-22c28a3d58382dfb","identity_text":"Remove bogus subtransaction logged without previous top-level txn record error check in logical decoding (Arseny Sher, Amit Kapila) This condition is legitimately reachable in various scenarios, so remove the check.","part":"changes","patch_ids":["47911020be76b484c25bd78c8fe351b6"],"related_changes":[{"db_id":"013381b18e4797fb6c20449ccad2be10","evidence":{"patch_ids":["47911020be76b484c25bd78c8fe351b6"],"same_day":true,"statement_hash":"7064bb1ed3eb9ee61c0bc38570e493d8d4fb28a533ec04bf9a03eb9166236b25"},"kind":"equivalent","label":"11.8","source_url":"/docs/release/11.8/#id-1.11.6.19.5","title":"移除逻辑解码中不正确的 “subtransaction logged without previous top-level txn record” 错误检查","url":"/docs/compare/?release=11.8#11.8-fd829a21505bdb58","version":"11.8"},{"db_id":"e6f4e104e82b45a8ae35c2ce2581b76f","evidence":{"patch_ids":["47911020be76b484c25bd78c8fe351b6"],"same_day":true,"statement_hash":"7064bb1ed3eb9ee61c0bc38570e493d8d4fb28a533ec04bf9a03eb9166236b25"},"kind":"equivalent","label":"10.13","source_url":"/docs/release/10.13/#id-1.11.6.15.5","title":"移除逻辑解码中不正确的 “subtransaction logged without previous top-level txn record” 错误检查","url":"/docs/compare/?release=10.13#10.13-fd829a21505bdb58","version":"10.13"},{"db_id":"dbd2f9061c003f5c98a421520d57c263","evidence":{"patch_ids":["47911020be76b484c25bd78c8fe351b6"],"same_day":true,"statement_hash":"7064bb1ed3eb9ee61c0bc38570e493d8d4fb28a533ec04bf9a03eb9166236b25"},"kind":"equivalent","label":"9.6.18","source_url":"/docs/release/9.6.18/#id-1.11.6.11.5","title":"移除逻辑解码中虚假的 “subtransaction logged without previous top-level txn record” 错误检查","url":"/docs/compare/?release=9.6.18#9.6.18-0e828a8ecd846f2a","version":"9.6.18"},{"db_id":"f1e4dd966202377068b8ccf850797012","evidence":{"patch_ids":["47911020be76b484c25bd78c8fe351b6"],"same_day":true,"statement_hash":"7064bb1ed3eb9ee61c0bc38570e493d8d4fb28a533ec04bf9a03eb9166236b25"},"kind":"equivalent","label":"9.5.22","source_url":"/docs/release/9.5.22/#id-1.11.6.8.6","title":"移除逻辑解码中虚假的 “subtransaction logged without previous top-level txn record” 错误检查","url":"/docs/compare/?release=9.5.22#9.5.22-0e828a8ecd846f2a","version":"9.5.22"}],"relations":[{"evidence":{"patch_ids":["47911020be76b484c25bd78c8fe351b6"],"same_day":true,"statement_hash":"7064bb1ed3eb9ee61c0bc38570e493d8d4fb28a533ec04bf9a03eb9166236b25"},"rule":2,"target":"013381b18e4797fb6c20449ccad2be10","type":"equivalent"},{"evidence":{"patch_ids":["47911020be76b484c25bd78c8fe351b6"],"same_day":true,"statement_hash":"7064bb1ed3eb9ee61c0bc38570e493d8d4fb28a533ec04bf9a03eb9166236b25"},"rule":2,"target":"dbd2f9061c003f5c98a421520d57c263","type":"equivalent"},{"evidence":{"patch_ids":["47911020be76b484c25bd78c8fe351b6"],"same_day":true,"statement_hash":"7064bb1ed3eb9ee61c0bc38570e493d8d4fb28a533ec04bf9a03eb9166236b25"},"rule":2,"target":"e6f4e104e82b45a8ae35c2ce2581b76f","type":"equivalent"},{"evidence":{"patch_ids":["47911020be76b484c25bd78c8fe351b6"],"same_day":true,"statement_hash":"7064bb1ed3eb9ee61c0bc38570e493d8d4fb28a533ec04bf9a03eb9166236b25"},"rule":2,"target":"f1e4dd966202377068b8ccf850797012","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["59112f235"],"source_entry_id":"12.3/changes/045","source_hash":"a4b099fa82575ba59cd7c7622eaf85d6870ae1dae12128d0a307707935b379f7","source_url":"/docs/release/12.3/#id-1.11.6.25.5","statement_hash":"7064bb1ed3eb9ee61c0bc38570e493d8d4fb28a533ec04bf9a03eb9166236b25","text":"移除逻辑解码中不正确的 “subtransaction logged without previous top-level txn record” 错误检查（Arseny Sher，Amit Kapila）§ 在多种场景中都可以正常出现这种情况，因此移除该检查。","title":"移除逻辑解码中不正确的 “subtransaction logged without previous top-level txn record” 错误检查","variants":[],"version":"12.3"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["bcd1c3630","e58e13e84"],"commit_groups":[["bcd1c3630","e58e13e84"]],"commits":["e58e13e84"],"cves":[],"db_id":"a3da74ef17f49f71bac878eb19f63c23","html":"\u003cp\u003e避免复制槽复制后因 WAL 数据过早移除而可能发生的失败（Masahiko Sawada，Arseny Sher）\u003ca href=\"https://postgr.es/c/e58e13e84\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"12.3-38dfcc63ffdc5e76","identity_text":"Avoid possible failure after a replication slot copy, due to premature removal of WAL data (Masahiko Sawada, Arseny Sher)","part":"changes","patch_ids":["e09eba978bf0f11ca9a32b2893f1bad6"],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":["e58e13e84"],"source_entry_id":"12.3/changes/046","source_hash":"9ecc287a8ca5ede9c574536cbae974139e056515eea38107f9bbd1a084d543bf","source_url":"/docs/release/12.3/#id-1.11.6.25.5","statement_hash":"1f1b3e40eb41acde646b388925356adc862cb984ca721949a32976a47c8a0291","text":"避免复制槽复制后因 WAL 数据过早移除而可能发生的失败（Masahiko Sawada，Arseny Sher）§","title":"避免复制槽复制后因 WAL 数据过早移除而可能发生的失败","variants":[],"version":"12.3"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["038c9bbe9","223e9c77d","250041a56","2d8597ba6","3dcaea4b0","49bf81536","72b2b9c52","a9d9bdd3a","ba4cc05ce","ce28a43ff","d278d4e1a","f36a10434"],"commit_groups":[["038c9bbe9","250041a56","3dcaea4b0","72b2b9c52","a9d9bdd3a","d278d4e1a"],["223e9c77d","2d8597ba6","49bf81536","ba4cc05ce","ce28a43ff","f36a10434"]],"commits":["223e9c77d","d278d4e1a"],"cves":[],"db_id":"8d5b02d64733f6ae2be77f9406700aca","html":"\u003cp\u003e确保在失败代码路径中释放复制槽的 \u003ccode\u003eio_in_progress_lock\u003c/code\u003e（Pavan Deolasee）\u003ca href=\"https://postgr.es/c/223e9c77d\"\u003e§\u003c/a\u003e \u003ca href=\"https://postgr.es/c/d278d4e1a\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e这可能使 WAL 发送进程之后卡在等待该锁的状态。\u003c/p\u003e","id":"12.3-2b91a72492c7f156","identity_text":"Ensure that a replication slot's io_in_progress_lock is released in failure code paths (Pavan Deolasee) This could result in a walsender later becoming stuck waiting for the lock.","part":"changes","patch_ids":["073769dfbdef30ab82ee4a086842dae7","250c289a57b7e94fadf518914341b9aa"],"related_changes":[{"db_id":"49e6106f1b8c589675911ae6e8114480","evidence":{"patch_ids":["073769dfbdef30ab82ee4a086842dae7","250c289a57b7e94fadf518914341b9aa"],"same_day":true,"statement_hash":"fe35fa7ec988e0c03d34cc7fb21c8134735fe9ad2a4b82cdd5aea88145d85cf3"},"kind":"equivalent","label":"11.8","source_url":"/docs/release/11.8/#id-1.11.6.19.5","title":"确保在失败代码路径中释放复制槽的 io_in_progress_lock","url":"/docs/compare/?release=11.8#11.8-e0835f75d9ce7568","version":"11.8"},{"db_id":"aefd8832d249a50994aafa4483e439d2","evidence":{"patch_ids":["073769dfbdef30ab82ee4a086842dae7","250c289a57b7e94fadf518914341b9aa"],"same_day":true,"statement_hash":"fe35fa7ec988e0c03d34cc7fb21c8134735fe9ad2a4b82cdd5aea88145d85cf3"},"kind":"equivalent","label":"10.13","source_url":"/docs/release/10.13/#id-1.11.6.15.5","title":"确保在失败代码路径中释放复制槽的 io_in_progress_lock","url":"/docs/compare/?release=10.13#10.13-e0835f75d9ce7568","version":"10.13"},{"db_id":"b7a2a434b31db8fe9d51a32ffdcbd2c9","evidence":{"patch_ids":["073769dfbdef30ab82ee4a086842dae7","250c289a57b7e94fadf518914341b9aa"],"same_day":true,"statement_hash":"fe35fa7ec988e0c03d34cc7fb21c8134735fe9ad2a4b82cdd5aea88145d85cf3"},"kind":"equivalent","label":"9.6.18","source_url":"/docs/release/9.6.18/#id-1.11.6.11.5","title":"确保复制槽的 io_in_progress_lock 在失败代码路径中被释放","url":"/docs/compare/?release=9.6.18#9.6.18-1d9e9eb64368fe4a","version":"9.6.18"},{"db_id":"a09a60a9acd28901f8e195523cbf8280","evidence":{"patch_ids":["073769dfbdef30ab82ee4a086842dae7","250c289a57b7e94fadf518914341b9aa"],"same_day":true,"statement_hash":"fe35fa7ec988e0c03d34cc7fb21c8134735fe9ad2a4b82cdd5aea88145d85cf3"},"kind":"equivalent","label":"9.5.22","source_url":"/docs/release/9.5.22/#id-1.11.6.8.6","title":"确保复制槽的 io_in_progress_lock 在失败代码路径中被释放","url":"/docs/compare/?release=9.5.22#9.5.22-1d9e9eb64368fe4a","version":"9.5.22"}],"relations":[{"evidence":{"patch_ids":["073769dfbdef30ab82ee4a086842dae7","250c289a57b7e94fadf518914341b9aa"],"same_day":true,"statement_hash":"fe35fa7ec988e0c03d34cc7fb21c8134735fe9ad2a4b82cdd5aea88145d85cf3"},"rule":2,"target":"49e6106f1b8c589675911ae6e8114480","type":"equivalent"},{"evidence":{"patch_ids":["073769dfbdef30ab82ee4a086842dae7","250c289a57b7e94fadf518914341b9aa"],"same_day":true,"statement_hash":"fe35fa7ec988e0c03d34cc7fb21c8134735fe9ad2a4b82cdd5aea88145d85cf3"},"rule":2,"target":"a09a60a9acd28901f8e195523cbf8280","type":"equivalent"},{"evidence":{"patch_ids":["073769dfbdef30ab82ee4a086842dae7","250c289a57b7e94fadf518914341b9aa"],"same_day":true,"statement_hash":"fe35fa7ec988e0c03d34cc7fb21c8134735fe9ad2a4b82cdd5aea88145d85cf3"},"rule":2,"target":"aefd8832d249a50994aafa4483e439d2","type":"equivalent"},{"evidence":{"patch_ids":["073769dfbdef30ab82ee4a086842dae7","250c289a57b7e94fadf518914341b9aa"],"same_day":true,"statement_hash":"fe35fa7ec988e0c03d34cc7fb21c8134735fe9ad2a4b82cdd5aea88145d85cf3"},"rule":2,"target":"b7a2a434b31db8fe9d51a32ffdcbd2c9","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["223e9c77d","d278d4e1a"],"source_entry_id":"12.3/changes/047","source_hash":"9533e59a5bb1149a10b6eb18d1c6ae15ac0bdc3d3d1d72e656451f9e1ab6ec85","source_url":"/docs/release/12.3/#id-1.11.6.25.5","statement_hash":"fe35fa7ec988e0c03d34cc7fb21c8134735fe9ad2a4b82cdd5aea88145d85cf3","text":"确保在失败代码路径中释放复制槽的 io_in_progress_lock（Pavan Deolasee）§ § 这可能使 WAL 发送进程之后卡在等待该锁的状态。","title":"确保在失败代码路径中释放复制槽的 io_in_progress_lock","variants":[],"version":"12.3"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["4a97f647d","ad3ae6477"],"commit_groups":[["4a97f647d","ad3ae6477"]],"commits":["4a97f647d"],"cves":[],"db_id":"e479a467928d697961500b9459e436a4","html":"\u003cp\u003e确保正确处理逻辑复制发出的更新中的生成列（Peter Eisentraut）\u003ca href=\"https://postgr.es/c/4a97f647d\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"12.3-2f87b606db06cb4a","identity_text":"Ensure that generated columns are correctly handled during updates issued by logical replication (Peter Eisentraut)","part":"changes","patch_ids":["eab3d88beba5347a59a3aeb6033ec8ef"],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":["4a97f647d"],"source_entry_id":"12.3/changes/048","source_hash":"934d4c48a96fc09cfe5753f24df47704d12cd9904fc94dc43cece5d659a85ac8","source_url":"/docs/release/12.3/#id-1.11.6.25.5","statement_hash":"7cbab23e70a603097f7645562853a38d6d57edcb4fa537bd8dcfa810a2efe11b","text":"确保正确处理逻辑复制发出的更新中的生成列（Peter Eisentraut）§","title":"确保正确处理逻辑复制发出的更新中的生成列","variants":[],"version":"12.3"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["00ef5d52c","63ecdaf75","b3fa6d016","c65c1aa82","f332241a6"],"commit_groups":[["00ef5d52c","63ecdaf75","b3fa6d016","c65c1aa82","f332241a6"]],"commits":["00ef5d52c"],"cves":[],"db_id":"2ebb9093c6f5738e41f7b66b2a761a25","html":"\u003cp\u003e修复同步备库管理中的竞争条件（Tom Lane）\u003ca href=\"https://postgr.es/c/00ef5d52c\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e更改 \u003ccode\u003esynchronous_standby_names\u003c/code\u003e 设置期间，存在一个时间窗口，可能错误判断是否可以放行正在等待同步提交的事务。如果一个 WAL 发送进程进程退出后立即被另一个替代，也存在作出类似错误判断的隐患。\u003c/p\u003e","id":"12.3-13d10710a5b5adb5","identity_text":"Fix race conditions in synchronous standby management (Tom Lane) During a change in the synchronous_standby_names setting, there was a window in which wrong decisions could be made about whether it is OK to release transactions that are waiting for synchronous commit. Another hazard for similarly wrong decisions existed if a walsender process exited and was immediately replaced by another.","part":"changes","patch_ids":["81c6d9613c2be59166df8736bd552a1e"],"related_changes":[{"db_id":"4bdc3f545b9148d6817d7438cf8b47e1","evidence":{"patch_ids":["81c6d9613c2be59166df8736bd552a1e"],"same_day":true,"statement_hash":"3b2e79cc728e2d728a973e00c748471dc2dcdb5b728a01491d5bd55d046167c2"},"kind":"equivalent","label":"11.8","source_url":"/docs/release/11.8/#id-1.11.6.19.5","title":"修复同步备库管理中的竞争条件","url":"/docs/compare/?release=11.8#11.8-44452efc7953fb6b","version":"11.8"},{"db_id":"34926f4569a2a531df24a36bbcb8a1bf","evidence":{"patch_ids":["81c6d9613c2be59166df8736bd552a1e"],"same_day":true,"statement_hash":"3b2e79cc728e2d728a973e00c748471dc2dcdb5b728a01491d5bd55d046167c2"},"kind":"equivalent","label":"10.13","source_url":"/docs/release/10.13/#id-1.11.6.15.5","title":"修复同步备库管理中的竞争条件","url":"/docs/compare/?release=10.13#10.13-44452efc7953fb6b","version":"10.13"},{"db_id":"4de61a23e2a85d85bf4191ffea954456","evidence":{"patch_ids":["81c6d9613c2be59166df8736bd552a1e"],"same_day":true,"statement_hash":"3b2e79cc728e2d728a973e00c748471dc2dcdb5b728a01491d5bd55d046167c2"},"kind":"equivalent","label":"9.6.18","source_url":"/docs/release/9.6.18/#id-1.11.6.11.5","title":"修复同步备库管理中的竞态条件","url":"/docs/compare/?release=9.6.18#9.6.18-a57b113a3c5767d3","version":"9.6.18"}],"relations":[{"evidence":{"patch_ids":["81c6d9613c2be59166df8736bd552a1e"],"same_day":true,"statement_hash":"3b2e79cc728e2d728a973e00c748471dc2dcdb5b728a01491d5bd55d046167c2"},"rule":2,"target":"34926f4569a2a531df24a36bbcb8a1bf","type":"equivalent"},{"evidence":{"patch_ids":["81c6d9613c2be59166df8736bd552a1e"],"same_day":true,"statement_hash":"3b2e79cc728e2d728a973e00c748471dc2dcdb5b728a01491d5bd55d046167c2"},"rule":2,"target":"4bdc3f545b9148d6817d7438cf8b47e1","type":"equivalent"},{"evidence":{"patch_ids":["81c6d9613c2be59166df8736bd552a1e"],"same_day":true,"statement_hash":"3b2e79cc728e2d728a973e00c748471dc2dcdb5b728a01491d5bd55d046167c2"},"rule":2,"target":"4de61a23e2a85d85bf4191ffea954456","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["00ef5d52c"],"source_entry_id":"12.3/changes/049","source_hash":"16bdac65dd8be742f88101144a10473270b817822327cd15aeab4e95b23116a2","source_url":"/docs/release/12.3/#id-1.11.6.25.5","statement_hash":"3b2e79cc728e2d728a973e00c748471dc2dcdb5b728a01491d5bd55d046167c2","text":"修复同步备库管理中的竞争条件（Tom Lane）§ 更改 synchronous_standby_names 设置期间，存在一个时间窗口，可能错误判断是否可以放行正在等待同步提交的事务。如果一个 WAL 发送进程进程退出后立即被另一个替代，也存在作出类似错误判断的隐患。","title":"修复同步备库管理中的竞争条件","variants":[],"version":"12.3"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["18c41cb6b","569f9354b","6bdfe428d","b4f140869","e37824136","fe27ce1c1"],"commit_groups":[["18c41cb6b","569f9354b","6bdfe428d","b4f140869","e37824136","fe27ce1c1"]],"commits":["e37824136"],"cves":[],"db_id":"cb9b44a4464ed285e5e6555c0074c1c4","html":"\u003cp\u003e为几个错误报告补上缺失的 SQLSTATE 值（Sawada Masahiko）\u003ca href=\"https://postgr.es/c/e37824136\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"12.3-b781c8aa94e5cf99","identity_text":"Add missing SQLSTATE values to a few error reports (Sawada Masahiko)","part":"changes","patch_ids":["95fa83e84fa735fa6772c5a7cf0e20e9"],"related_changes":[{"db_id":"2065c32f3e3290021e9f29159ed0031b","evidence":{"patch_ids":["95fa83e84fa735fa6772c5a7cf0e20e9"],"same_day":true,"statement_hash":"6203b18db9bc05790271f3024f22277b886efb401268603c980bfd01f6336c79"},"kind":"equivalent","label":"11.8","source_url":"/docs/release/11.8/#id-1.11.6.19.5","title":"为几个错误报告补上缺失的 SQLSTATE 值","url":"/docs/compare/?release=11.8#11.8-69ca7fb3ed12cfcf","version":"11.8"},{"db_id":"a15b05ed8fbbf3ab85b57e40fb4ce586","evidence":{"patch_ids":["95fa83e84fa735fa6772c5a7cf0e20e9"],"same_day":true,"statement_hash":"6203b18db9bc05790271f3024f22277b886efb401268603c980bfd01f6336c79"},"kind":"equivalent","label":"10.13","source_url":"/docs/release/10.13/#id-1.11.6.15.5","title":"为几个错误报告补上缺失的 SQLSTATE 值","url":"/docs/compare/?release=10.13#10.13-69ca7fb3ed12cfcf","version":"10.13"},{"db_id":"e9e16b73da900751d27af9717dc9cadd","evidence":{"patch_ids":["95fa83e84fa735fa6772c5a7cf0e20e9"],"same_day":true,"statement_hash":"6203b18db9bc05790271f3024f22277b886efb401268603c980bfd01f6336c79"},"kind":"equivalent","label":"9.6.18","source_url":"/docs/release/9.6.18/#id-1.11.6.11.5","title":"为少数错误报告补上缺失的 SQLSTATE 值","url":"/docs/compare/?release=9.6.18#9.6.18-1f7df64db7301187","version":"9.6.18"},{"db_id":"6c228a9d22842aa71a7727972e8eaa10","evidence":{"patch_ids":["95fa83e84fa735fa6772c5a7cf0e20e9"],"same_day":true,"statement_hash":"6203b18db9bc05790271f3024f22277b886efb401268603c980bfd01f6336c79"},"kind":"equivalent","label":"9.5.22","source_url":"/docs/release/9.5.22/#id-1.11.6.8.6","title":"为少数错误报告补上缺失的 SQLSTATE 值","url":"/docs/compare/?release=9.5.22#9.5.22-1f7df64db7301187","version":"9.5.22"}],"relations":[{"evidence":{"patch_ids":["95fa83e84fa735fa6772c5a7cf0e20e9"],"same_day":true,"statement_hash":"6203b18db9bc05790271f3024f22277b886efb401268603c980bfd01f6336c79"},"rule":2,"target":"2065c32f3e3290021e9f29159ed0031b","type":"equivalent"},{"evidence":{"patch_ids":["95fa83e84fa735fa6772c5a7cf0e20e9"],"same_day":true,"statement_hash":"6203b18db9bc05790271f3024f22277b886efb401268603c980bfd01f6336c79"},"rule":2,"target":"6c228a9d22842aa71a7727972e8eaa10","type":"equivalent"},{"evidence":{"patch_ids":["95fa83e84fa735fa6772c5a7cf0e20e9"],"same_day":true,"statement_hash":"6203b18db9bc05790271f3024f22277b886efb401268603c980bfd01f6336c79"},"rule":2,"target":"a15b05ed8fbbf3ab85b57e40fb4ce586","type":"equivalent"},{"evidence":{"patch_ids":["95fa83e84fa735fa6772c5a7cf0e20e9"],"same_day":true,"statement_hash":"6203b18db9bc05790271f3024f22277b886efb401268603c980bfd01f6336c79"},"rule":2,"target":"e9e16b73da900751d27af9717dc9cadd","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["e37824136"],"source_entry_id":"12.3/changes/050","source_hash":"2ea94c25b6cce2a029524c81e8f0a77096df4efb98c1a896040d192f2b3d7b2c","source_url":"/docs/release/12.3/#id-1.11.6.25.5","statement_hash":"6203b18db9bc05790271f3024f22277b886efb401268603c980bfd01f6336c79","text":"为几个错误报告补上缺失的 SQLSTATE 值（Sawada Masahiko）§","title":"为几个错误报告补上缺失的 SQLSTATE 值","variants":[],"version":"12.3"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["32aa14d40","3e5308969","612d207bc","6af63cf8c","761a5688b","bbefb1154"],"commit_groups":[["32aa14d40","3e5308969","612d207bc","6af63cf8c","761a5688b","bbefb1154"]],"commits":["32aa14d40"],"cves":[],"db_id":"345cbc43e1407eb019d6ed1f60ee8f91","html":"\u003cp\u003e修复 PL/pgSQL，使其可靠地拒绝将事件触发器函数作为普通函数执行（Tom Lane）\u003ca href=\"https://postgr.es/c/32aa14d40\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"12.3-36e71327f0690bd8","identity_text":"Fix PL/pgSQL to reliably refuse to execute an event trigger function as a plain function (Tom Lane)","part":"changes","patch_ids":["cc39e7a39baa7a5827063f9e683a9178"],"related_changes":[{"db_id":"4e52c2f502c6e0897d8a1b3e9ca67efe","evidence":{"patch_ids":["cc39e7a39baa7a5827063f9e683a9178"],"same_day":true,"statement_hash":"b1218664b3a80ba7853a331cb331df7cb761258c8bb10c7b23779bcde812e55d"},"kind":"equivalent","label":"11.8","source_url":"/docs/release/11.8/#id-1.11.6.19.5","title":"修复 PL/pgSQL，使其可靠地拒绝将事件触发器函数作为普通函数执行","url":"/docs/compare/?release=11.8#11.8-a5d07257463b709b","version":"11.8"},{"db_id":"9387468acfa91ec955cd14175f688f42","evidence":{"patch_ids":["cc39e7a39baa7a5827063f9e683a9178"],"same_day":true,"statement_hash":"b1218664b3a80ba7853a331cb331df7cb761258c8bb10c7b23779bcde812e55d"},"kind":"equivalent","label":"10.13","source_url":"/docs/release/10.13/#id-1.11.6.15.5","title":"修复 PL/pgSQL，使其可靠地拒绝将事件触发器函数作为普通函数执行","url":"/docs/compare/?release=10.13#10.13-a5d07257463b709b","version":"10.13"},{"db_id":"f95727f67cae98416ee2b67e932b89d5","evidence":{"patch_ids":["cc39e7a39baa7a5827063f9e683a9178"],"same_day":true,"statement_hash":"b1218664b3a80ba7853a331cb331df7cb761258c8bb10c7b23779bcde812e55d"},"kind":"equivalent","label":"9.6.18","source_url":"/docs/release/9.6.18/#id-1.11.6.11.5","title":"修复 PL/pgSQL，使其可靠地拒绝把事件触发器函数当作普通函数执行","url":"/docs/compare/?release=9.6.18#9.6.18-b6a18b5603ac59cb","version":"9.6.18"},{"db_id":"c6f5e3f95c20ab12d143eca9a07cb33c","evidence":{"patch_ids":["cc39e7a39baa7a5827063f9e683a9178"],"same_day":true,"statement_hash":"b1218664b3a80ba7853a331cb331df7cb761258c8bb10c7b23779bcde812e55d"},"kind":"equivalent","label":"9.5.22","source_url":"/docs/release/9.5.22/#id-1.11.6.8.6","title":"修复 PL/pgSQL，使其可靠地拒绝把事件触发器函数当作普通函数执行","url":"/docs/compare/?release=9.5.22#9.5.22-b6a18b5603ac59cb","version":"9.5.22"}],"relations":[{"evidence":{"patch_ids":["cc39e7a39baa7a5827063f9e683a9178"],"same_day":true,"statement_hash":"b1218664b3a80ba7853a331cb331df7cb761258c8bb10c7b23779bcde812e55d"},"rule":2,"target":"4e52c2f502c6e0897d8a1b3e9ca67efe","type":"equivalent"},{"evidence":{"patch_ids":["cc39e7a39baa7a5827063f9e683a9178"],"same_day":true,"statement_hash":"b1218664b3a80ba7853a331cb331df7cb761258c8bb10c7b23779bcde812e55d"},"rule":2,"target":"9387468acfa91ec955cd14175f688f42","type":"equivalent"},{"evidence":{"patch_ids":["cc39e7a39baa7a5827063f9e683a9178"],"same_day":true,"statement_hash":"b1218664b3a80ba7853a331cb331df7cb761258c8bb10c7b23779bcde812e55d"},"rule":2,"target":"c6f5e3f95c20ab12d143eca9a07cb33c","type":"equivalent"},{"evidence":{"patch_ids":["cc39e7a39baa7a5827063f9e683a9178"],"same_day":true,"statement_hash":"b1218664b3a80ba7853a331cb331df7cb761258c8bb10c7b23779bcde812e55d"},"rule":2,"target":"f95727f67cae98416ee2b67e932b89d5","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["32aa14d40"],"source_entry_id":"12.3/changes/051","source_hash":"777b9e6d18855c8a82f0475bb00ddaaeb2ba68220a516a9ecf0c9eb96030cef1","source_url":"/docs/release/12.3/#id-1.11.6.25.5","statement_hash":"b1218664b3a80ba7853a331cb331df7cb761258c8bb10c7b23779bcde812e55d","text":"修复 PL/pgSQL，使其可靠地拒绝将事件触发器函数作为普通函数执行（Tom Lane）§","title":"修复 PL/pgSQL，使其可靠地拒绝将事件触发器函数作为普通函数执行","variants":[],"version":"12.3"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["1bb0293d8","27dbe1a18","35d08658d","c9c15790d","e1c08722a","e5e295d50"],"commit_groups":[["1bb0293d8","27dbe1a18","35d08658d","c9c15790d","e1c08722a","e5e295d50"]],"commits":["e1c08722a"],"cves":[],"db_id":"4b86d16c3aa59d9c7464466f086ce6d8","html":"\u003cp\u003e修复 \u003cspan\u003elibpq\u003c/span\u003e 使用 \u003ccode\u003esslmode=verify-full\u003c/code\u003e 时的内存泄漏（Roman Peshkurov）\u003ca href=\"https://postgr.es/c/e1c08722a\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e连接启动期间的证书验证可能泄漏一些内存。如果客户端进程在其生命周期内打开大量数据库连接，这就会成为问题。\u003c/p\u003e","id":"12.3-7b36727397290db4","identity_text":"Fix memory leak in libpq when using sslmode=verify-full (Roman Peshkurov) Certificate verification during connection startup could leak some memory. This would become an issue if a client process opened many database connections during its lifetime.","part":"changes","patch_ids":["6d68db2cc74c3575a3afa59fb55211ad"],"related_changes":[{"db_id":"9663fe9a33076a65f15e72ec78500a20","evidence":{"patch_ids":["6d68db2cc74c3575a3afa59fb55211ad"],"same_day":true,"statement_hash":"29132bba58d823484ab45df669644623c0af1ba28d677b90d9d5630154a0450e"},"kind":"equivalent","label":"11.8","source_url":"/docs/release/11.8/#id-1.11.6.19.5","title":"修复 libpq 使用 sslmode=verify-full 时的内存泄漏","url":"/docs/compare/?release=11.8#11.8-30b08a02b4d835d8","version":"11.8"},{"db_id":"553edcbd407f274601a6a08ef3271069","evidence":{"patch_ids":["6d68db2cc74c3575a3afa59fb55211ad"],"same_day":true,"statement_hash":"29132bba58d823484ab45df669644623c0af1ba28d677b90d9d5630154a0450e"},"kind":"equivalent","label":"10.13","source_url":"/docs/release/10.13/#id-1.11.6.15.5","title":"修复 libpq 使用 sslmode=verify-full 时的内存泄漏","url":"/docs/compare/?release=10.13#10.13-30b08a02b4d835d8","version":"10.13"},{"db_id":"59d9303b6ecf3005ed2806e24a3ba6f4","evidence":{"patch_ids":["6d68db2cc74c3575a3afa59fb55211ad"],"same_day":true,"statement_hash":"29132bba58d823484ab45df669644623c0af1ba28d677b90d9d5630154a0450e"},"kind":"equivalent","label":"9.6.18","source_url":"/docs/release/9.6.18/#id-1.11.6.11.5","title":"修复使用 sslmode=verify-full 时 libpq 中的内存泄漏","url":"/docs/compare/?release=9.6.18#9.6.18-492272dff32caf3d","version":"9.6.18"},{"db_id":"7569ce1fedee0ca0d57987004a2130bf","evidence":{"patch_ids":["6d68db2cc74c3575a3afa59fb55211ad"],"same_day":true,"statement_hash":"29132bba58d823484ab45df669644623c0af1ba28d677b90d9d5630154a0450e"},"kind":"equivalent","label":"9.5.22","source_url":"/docs/release/9.5.22/#id-1.11.6.8.6","title":"修复使用 sslmode=verify-full 时 libpq 中的内存泄漏","url":"/docs/compare/?release=9.5.22#9.5.22-492272dff32caf3d","version":"9.5.22"}],"relations":[{"evidence":{"patch_ids":["6d68db2cc74c3575a3afa59fb55211ad"],"same_day":true,"statement_hash":"29132bba58d823484ab45df669644623c0af1ba28d677b90d9d5630154a0450e"},"rule":2,"target":"553edcbd407f274601a6a08ef3271069","type":"equivalent"},{"evidence":{"patch_ids":["6d68db2cc74c3575a3afa59fb55211ad"],"same_day":true,"statement_hash":"29132bba58d823484ab45df669644623c0af1ba28d677b90d9d5630154a0450e"},"rule":2,"target":"59d9303b6ecf3005ed2806e24a3ba6f4","type":"equivalent"},{"evidence":{"patch_ids":["6d68db2cc74c3575a3afa59fb55211ad"],"same_day":true,"statement_hash":"29132bba58d823484ab45df669644623c0af1ba28d677b90d9d5630154a0450e"},"rule":2,"target":"7569ce1fedee0ca0d57987004a2130bf","type":"equivalent"},{"evidence":{"patch_ids":["6d68db2cc74c3575a3afa59fb55211ad"],"same_day":true,"statement_hash":"29132bba58d823484ab45df669644623c0af1ba28d677b90d9d5630154a0450e"},"rule":2,"target":"9663fe9a33076a65f15e72ec78500a20","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["e1c08722a"],"source_entry_id":"12.3/changes/052","source_hash":"62f88652396ca0fcd55cde50ae004cbe5f3b1705e624c3105ef1882a0e16526c","source_url":"/docs/release/12.3/#id-1.11.6.25.5","statement_hash":"29132bba58d823484ab45df669644623c0af1ba28d677b90d9d5630154a0450e","text":"修复 libpq 使用 sslmode=verify-full 时的内存泄漏（Roman Peshkurov）§ 连接启动期间的证书验证可能泄漏一些内存。如果客户端进程在其生命周期内打开大量数据库连接，这就会成为问题。","title":"修复 libpq 使用 sslmode=verify-full 时的内存泄漏","variants":[],"version":"12.3"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["036fdf6be","5f9eace5d","980a70b97","aae7e8530","c0eb57dd9","ef7d6d79a"],"commit_groups":[["036fdf6be","5f9eace5d","980a70b97","aae7e8530","c0eb57dd9","ef7d6d79a"]],"commits":["036fdf6be"],"cves":[],"db_id":"6a4a3a091caf806f6bc9bd9b1cb2d194","html":"\u003cp\u003e修复 \u003cspan\u003eecpg\u003c/span\u003e，使其在所有平台上都将仅包含 \u003cspan\u003e“\u003cspan\u003e\u003ccode\u003e-\u003c/code\u003e\u003c/span\u003e”\u003c/span\u003e 的参数解释为\u003cspan\u003e“\u003cspan\u003e从 stdin 读取\u003c/span\u003e”\u003c/span\u003e（Tom Lane）\u003ca href=\"https://postgr.es/c/036fdf6be\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"12.3-f9e6f47b17c5484d","identity_text":"Fix ecpg to treat an argument of just - as meaning read from stdin on all platforms (Tom Lane)","part":"changes","patch_ids":["eecf16befc61b5f87fa45adb19719c26"],"related_changes":[{"db_id":"819404475daf180026c644a2b44c5436","evidence":{"patch_ids":["eecf16befc61b5f87fa45adb19719c26"],"same_day":true,"statement_hash":"0e2f8b5a400dc9db1aa8fb81c895cf7be77f219ebbd3b7e2f74231a86a117875"},"kind":"equivalent","label":"11.8","source_url":"/docs/release/11.8/#id-1.11.6.19.5","title":"修复 ecpg，使其在所有平台上都将仅包含 “-” 的参数解释为“从 stdin 读取”","url":"/docs/compare/?release=11.8#11.8-2774b02c4bef748f","version":"11.8"},{"db_id":"b8f1ac84fc1653c621e609a0c48e8a4c","evidence":{"patch_ids":["eecf16befc61b5f87fa45adb19719c26"],"same_day":true,"statement_hash":"0e2f8b5a400dc9db1aa8fb81c895cf7be77f219ebbd3b7e2f74231a86a117875"},"kind":"equivalent","label":"10.13","source_url":"/docs/release/10.13/#id-1.11.6.15.5","title":"修复 ecpg，使其在所有平台上都将仅包含 “-” 的参数解释为“从 stdin 读取”","url":"/docs/compare/?release=10.13#10.13-2774b02c4bef748f","version":"10.13"},{"db_id":"42a1e53540d420214fd96dc1547d3c54","evidence":{"patch_ids":["eecf16befc61b5f87fa45adb19719c26"],"same_day":true,"statement_hash":"0e2f8b5a400dc9db1aa8fb81c895cf7be77f219ebbd3b7e2f74231a86a117875"},"kind":"equivalent","label":"9.6.18","source_url":"/docs/release/9.6.18/#id-1.11.6.11.5","title":"修复 ecpg 在所有平台上都把仅为 “-” 的参数当作“从 stdin 读取”","url":"/docs/compare/?release=9.6.18#9.6.18-52fc5c246d4ce733","version":"9.6.18"},{"db_id":"cff5e6ff586cca37f65f333e05c359ae","evidence":{"patch_ids":["eecf16befc61b5f87fa45adb19719c26"],"same_day":true,"statement_hash":"0e2f8b5a400dc9db1aa8fb81c895cf7be77f219ebbd3b7e2f74231a86a117875"},"kind":"equivalent","label":"9.5.22","source_url":"/docs/release/9.5.22/#id-1.11.6.8.6","title":"修复 ecpg 在所有平台上都把仅为 “-” 的参数当作“从 stdin 读取”","url":"/docs/compare/?release=9.5.22#9.5.22-52fc5c246d4ce733","version":"9.5.22"}],"relations":[{"evidence":{"patch_ids":["eecf16befc61b5f87fa45adb19719c26"],"same_day":true,"statement_hash":"0e2f8b5a400dc9db1aa8fb81c895cf7be77f219ebbd3b7e2f74231a86a117875"},"rule":2,"target":"42a1e53540d420214fd96dc1547d3c54","type":"equivalent"},{"evidence":{"patch_ids":["eecf16befc61b5f87fa45adb19719c26"],"same_day":true,"statement_hash":"0e2f8b5a400dc9db1aa8fb81c895cf7be77f219ebbd3b7e2f74231a86a117875"},"rule":2,"target":"819404475daf180026c644a2b44c5436","type":"equivalent"},{"evidence":{"patch_ids":["eecf16befc61b5f87fa45adb19719c26"],"same_day":true,"statement_hash":"0e2f8b5a400dc9db1aa8fb81c895cf7be77f219ebbd3b7e2f74231a86a117875"},"rule":2,"target":"b8f1ac84fc1653c621e609a0c48e8a4c","type":"equivalent"},{"evidence":{"patch_ids":["eecf16befc61b5f87fa45adb19719c26"],"same_day":true,"statement_hash":"0e2f8b5a400dc9db1aa8fb81c895cf7be77f219ebbd3b7e2f74231a86a117875"},"rule":2,"target":"cff5e6ff586cca37f65f333e05c359ae","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["036fdf6be"],"source_entry_id":"12.3/changes/053","source_hash":"522c08b165458353524ed11a0ddae42155d212d3dc44bf95263e91066b4cd308","source_url":"/docs/release/12.3/#id-1.11.6.25.5","statement_hash":"0e2f8b5a400dc9db1aa8fb81c895cf7be77f219ebbd3b7e2f74231a86a117875","text":"修复 ecpg，使其在所有平台上都将仅包含 “-” 的参数解释为“从 stdin 读取”（Tom Lane）§","title":"修复 ecpg，使其在所有平台上都将仅包含 “-” 的参数解释为“从 stdin 读取”","variants":[],"version":"12.3"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["8d84dd001","f79bea4b6"],"commit_groups":[["8d84dd001","f79bea4b6"]],"commits":["f79bea4b6"],"cves":[],"db_id":"345c86f50b092748912eb07320f78ca0","html":"\u003cp\u003e修复 \u003cspan\u003epsql\u003c/span\u003e 尝试重新建立失败连接时的崩溃（Michael Paquier）\u003ca href=\"https://postgr.es/c/f79bea4b6\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"12.3-934e96b1647eba68","identity_text":"Fix crash in psql when attempting to re-establish a failed connection (Michael Paquier)","part":"changes","patch_ids":["cb6294b4c357e5209b67ec2db20544bc"],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":["f79bea4b6"],"source_entry_id":"12.3/changes/054","source_hash":"f3071380582ffec08a42bac403a4efb7848c325b8db00f59319634359ecc0854","source_url":"/docs/release/12.3/#id-1.11.6.25.5","statement_hash":"e649462e1b1c4465d5034c2f0ea6d7991109f1ec04d0baadbaf73b96b6b9336d","text":"修复 psql 尝试重新建立失败连接时的崩溃（Michael Paquier）§","title":"修复 psql 尝试重新建立失败连接时的崩溃","variants":[],"version":"12.3"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["08481eedd","6a50f1af4","7054e12e0","a936012d6"],"commit_groups":[["08481eedd","6a50f1af4","7054e12e0","a936012d6"]],"commits":["6a50f1af4"],"cves":[],"db_id":"ab174f0e63685ab4fdd413913448b91d","html":"\u003cp\u003e允许对 \u003cspan\u003epsql\u003c/span\u003e 的 \u003ccode\u003e\\gx\u003c/code\u003e 命令的文件名参数进行 Tab 补全（Vik Fearing）\u003ca href=\"https://postgr.es/c/6a50f1af4\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"12.3-98610d739c1759a4","identity_text":"Allow tab-completion of the filename argument to psql's \\gx command (Vik Fearing)","part":"changes","patch_ids":["44c50371784ab96d9d636e6eb11443d5"],"related_changes":[{"db_id":"43fdbf8f08a3ffb3a236a428cb15c515","evidence":{"patch_ids":["44c50371784ab96d9d636e6eb11443d5"],"same_day":true,"statement_hash":"bc156b7bea6864746e928a3d3678ca23421d7bd4da3303a25426af50d0b13552"},"kind":"equivalent","label":"11.8","source_url":"/docs/release/11.8/#id-1.11.6.19.5","title":"允许对 psql 的 \\gx 命令的文件名参数进行 Tab 补全","url":"/docs/compare/?release=11.8#11.8-c9c3571e1ea6b3d0","version":"11.8"},{"db_id":"8a2edb773aeb2472361b161d8bbfdc78","evidence":{"patch_ids":["44c50371784ab96d9d636e6eb11443d5"],"same_day":true,"statement_hash":"bc156b7bea6864746e928a3d3678ca23421d7bd4da3303a25426af50d0b13552"},"kind":"equivalent","label":"10.13","source_url":"/docs/release/10.13/#id-1.11.6.15.5","title":"允许对 psql 的 \\gx 命令的文件名参数进行 Tab 补全","url":"/docs/compare/?release=10.13#10.13-c9c3571e1ea6b3d0","version":"10.13"}],"relations":[{"evidence":{"patch_ids":["44c50371784ab96d9d636e6eb11443d5"],"same_day":true,"statement_hash":"bc156b7bea6864746e928a3d3678ca23421d7bd4da3303a25426af50d0b13552"},"rule":2,"target":"43fdbf8f08a3ffb3a236a428cb15c515","type":"equivalent"},{"evidence":{"patch_ids":["44c50371784ab96d9d636e6eb11443d5"],"same_day":true,"statement_hash":"bc156b7bea6864746e928a3d3678ca23421d7bd4da3303a25426af50d0b13552"},"rule":2,"target":"8a2edb773aeb2472361b161d8bbfdc78","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["6a50f1af4"],"source_entry_id":"12.3/changes/055","source_hash":"7ae1827a04406f4a25cd169844ad5df91a315aed7cc2e138b05ce999d9d702e3","source_url":"/docs/release/12.3/#id-1.11.6.25.5","statement_hash":"bc156b7bea6864746e928a3d3678ca23421d7bd4da3303a25426af50d0b13552","text":"允许对 psql 的 \\gx 命令的文件名参数进行 Tab 补全（Vik Fearing）§","title":"允许对 psql 的 \\gx 命令的文件名参数进行 Tab 补全","variants":[],"version":"12.3"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["046001fe3","2b9d70159","3dfd2d6cd","55978e28c","73b31e784","7984c7e9f","7c094a11c","899a04f5e","b08dee24a","b7739ebec","c6b75b3f1","cf72898c6","d04e342ba","e70187c9b","f977e6dec"],"commit_groups":[["046001fe3","55978e28c","7984c7e9f","c6b75b3f1","cf72898c6"],["2b9d70159","b08dee24a","d04e342ba","e70187c9b","f977e6dec"],["3dfd2d6cd","73b31e784","7c094a11c","899a04f5e","b7739ebec"]],"commits":["b7739ebec","cf72898c6","f977e6dec"],"cves":[],"db_id":"e5e6db0c574e7d072ec7a26f32ef0c29","html":"\u003cp\u003e为 \u003cspan\u003epg_dump\u003c/span\u003e 增加对 \u003ccode\u003eALTER ... DEPENDS ON EXTENSION\u003c/code\u003e 的支持（Álvaro Herrera）\u003ca href=\"https://postgr.es/c/f977e6dec\"\u003e§\u003c/a\u003e \u003ca href=\"https://postgr.es/c/cf72898c6\"\u003e§\u003c/a\u003e \u003ca href=\"https://postgr.es/c/b7739ebec\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cspan\u003epg_dump\u003c/span\u003e 以前忽略了以这种方式添加的依赖关系，导致它们在转储/恢复或 \u003cspan\u003epg_upgrade\u003c/span\u003e 期间丢失。\u003c/p\u003e","id":"12.3-8dabb85d87a70973","identity_text":"Add pg_dump support for ALTER ... DEPENDS ON EXTENSION (Álvaro Herrera) pg_dump previously ignored dependencies added this way, causing them to be forgotten during dump/restore or pg_upgrade.","part":"changes","patch_ids":["14fe4ec45c18e9be4475d97abba84500","b9d0c01e4ae27a7b990254dc87619ef1","f7eaa8c4c51d282e9625c7e21ffffc6b"],"related_changes":[{"db_id":"09d7cf6a3624acb5929f8c14a86d320b","evidence":{"patch_ids":["14fe4ec45c18e9be4475d97abba84500","b9d0c01e4ae27a7b990254dc87619ef1","f7eaa8c4c51d282e9625c7e21ffffc6b"],"same_day":true,"statement_hash":"c491d88bf7cd0f1546c0dec5502016f034b2d3c24c58dafe883234e3639d6990"},"kind":"equivalent","label":"11.8","source_url":"/docs/release/11.8/#id-1.11.6.19.5","title":"为 pg_dump 增加对 ALTER ... DEPENDS ON EXTENSION 的支持","url":"/docs/compare/?release=11.8#11.8-6570405611594d3c","version":"11.8"},{"db_id":"cb4d4c22e907f01398e86e346dc9c676","evidence":{"patch_ids":["14fe4ec45c18e9be4475d97abba84500","b9d0c01e4ae27a7b990254dc87619ef1","f7eaa8c4c51d282e9625c7e21ffffc6b"],"same_day":true,"statement_hash":"c491d88bf7cd0f1546c0dec5502016f034b2d3c24c58dafe883234e3639d6990"},"kind":"equivalent","label":"10.13","source_url":"/docs/release/10.13/#id-1.11.6.15.5","title":"为 pg_dump 增加对 ALTER ... DEPENDS ON EXTENSION 的支持","url":"/docs/compare/?release=10.13#10.13-6570405611594d3c","version":"10.13"},{"db_id":"f8199b9150558f0053448f93f9642254","evidence":{"patch_ids":["14fe4ec45c18e9be4475d97abba84500","b9d0c01e4ae27a7b990254dc87619ef1","f7eaa8c4c51d282e9625c7e21ffffc6b"],"same_day":true,"statement_hash":"c491d88bf7cd0f1546c0dec5502016f034b2d3c24c58dafe883234e3639d6990"},"kind":"equivalent","label":"9.6.18","source_url":"/docs/release/9.6.18/#id-1.11.6.11.5","title":"为 pg_dump 添加 ALTER ... DEPENDS ON EXTENSION 支持","url":"/docs/compare/?release=9.6.18#9.6.18-5e6a1bc08a502e55","version":"9.6.18"}],"relations":[{"evidence":{"patch_ids":["14fe4ec45c18e9be4475d97abba84500","b9d0c01e4ae27a7b990254dc87619ef1","f7eaa8c4c51d282e9625c7e21ffffc6b"],"same_day":true,"statement_hash":"c491d88bf7cd0f1546c0dec5502016f034b2d3c24c58dafe883234e3639d6990"},"rule":2,"target":"09d7cf6a3624acb5929f8c14a86d320b","type":"equivalent"},{"evidence":{"patch_ids":["14fe4ec45c18e9be4475d97abba84500","b9d0c01e4ae27a7b990254dc87619ef1","f7eaa8c4c51d282e9625c7e21ffffc6b"],"same_day":true,"statement_hash":"c491d88bf7cd0f1546c0dec5502016f034b2d3c24c58dafe883234e3639d6990"},"rule":2,"target":"cb4d4c22e907f01398e86e346dc9c676","type":"equivalent"},{"evidence":{"patch_ids":["14fe4ec45c18e9be4475d97abba84500","b9d0c01e4ae27a7b990254dc87619ef1","f7eaa8c4c51d282e9625c7e21ffffc6b"],"same_day":true,"statement_hash":"c491d88bf7cd0f1546c0dec5502016f034b2d3c24c58dafe883234e3639d6990"},"rule":2,"target":"f8199b9150558f0053448f93f9642254","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["b7739ebec","cf72898c6","f977e6dec"],"source_entry_id":"12.3/changes/056","source_hash":"422bfca8b13a271a849f7c2ffdc4d9fc81f3237e99fb530cea41a30b88123e7c","source_url":"/docs/release/12.3/#id-1.11.6.25.5","statement_hash":"c491d88bf7cd0f1546c0dec5502016f034b2d3c24c58dafe883234e3639d6990","text":"为 pg_dump 增加对 ALTER ... DEPENDS ON EXTENSION 的支持（Álvaro Herrera）§ § § pg_dump 以前忽略了以这种方式添加的依赖关系，导致它们在转储/恢复或 pg_upgrade 期间丢失。","title":"为 pg_dump 增加对 ALTER ... DEPENDS ON EXTENSION 的支持","variants":[],"version":"12.3"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["3380b9931","6da7d3630","bd2cd138f","d9ec8d1d7","f31364676","f9d7bb68d"],"commit_groups":[["3380b9931","6da7d3630","bd2cd138f","d9ec8d1d7","f31364676","f9d7bb68d"]],"commits":["6da7d3630"],"cves":[],"db_id":"5f17f8c0425c4560b262fff7d341eede","html":"\u003cp\u003e修复 \u003cspan\u003epg_dump\u003c/span\u003e，使其转储 RLS 策略对象上的注释（Tom Lane）\u003ca href=\"https://postgr.es/c/6da7d3630\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"12.3-49a2377051f5c702","identity_text":"Fix pg_dump to dump comments on RLS policy objects (Tom Lane)","part":"changes","patch_ids":["606311355c1c8c1d3af833d23d39feca"],"related_changes":[{"db_id":"e859422314570f65827212ac979a8497","evidence":{"patch_ids":["606311355c1c8c1d3af833d23d39feca"],"same_day":true,"statement_hash":"5046af0d46dab82846d39781f89af0c569dc1a95b3647553bac73f3d2bd3a6d9"},"kind":"equivalent","label":"11.8","source_url":"/docs/release/11.8/#id-1.11.6.19.5","title":"修复 pg_dump，使其转储 RLS 策略对象上的注释","url":"/docs/compare/?release=11.8#11.8-45af8ee4eb6fc4b4","version":"11.8"},{"db_id":"58313ea4c080dfe15d965f5a0df51e1d","evidence":{"patch_ids":["606311355c1c8c1d3af833d23d39feca"],"same_day":true,"statement_hash":"5046af0d46dab82846d39781f89af0c569dc1a95b3647553bac73f3d2bd3a6d9"},"kind":"equivalent","label":"10.13","source_url":"/docs/release/10.13/#id-1.11.6.15.5","title":"修复 pg_dump，使其转储 RLS 策略对象上的注释","url":"/docs/compare/?release=10.13#10.13-45af8ee4eb6fc4b4","version":"10.13"},{"db_id":"44ee977d75639b5be3b742c340c30f16","evidence":{"patch_ids":["606311355c1c8c1d3af833d23d39feca"],"same_day":true,"statement_hash":"5046af0d46dab82846d39781f89af0c569dc1a95b3647553bac73f3d2bd3a6d9"},"kind":"equivalent","label":"9.6.18","source_url":"/docs/release/9.6.18/#id-1.11.6.11.5","title":"修复 pg_dump 转储 RLS 策略对象上的注释","url":"/docs/compare/?release=9.6.18#9.6.18-631ca1215d6c17dd","version":"9.6.18"},{"db_id":"8006ac44eeafaedba4e129814d0deaba","evidence":{"patch_ids":["606311355c1c8c1d3af833d23d39feca"],"same_day":true,"statement_hash":"5046af0d46dab82846d39781f89af0c569dc1a95b3647553bac73f3d2bd3a6d9"},"kind":"equivalent","label":"9.5.22","source_url":"/docs/release/9.5.22/#id-1.11.6.8.6","title":"修复 pg_dump 转储 RLS 策略对象上的注释","url":"/docs/compare/?release=9.5.22#9.5.22-631ca1215d6c17dd","version":"9.5.22"}],"relations":[{"evidence":{"patch_ids":["606311355c1c8c1d3af833d23d39feca"],"same_day":true,"statement_hash":"5046af0d46dab82846d39781f89af0c569dc1a95b3647553bac73f3d2bd3a6d9"},"rule":2,"target":"44ee977d75639b5be3b742c340c30f16","type":"equivalent"},{"evidence":{"patch_ids":["606311355c1c8c1d3af833d23d39feca"],"same_day":true,"statement_hash":"5046af0d46dab82846d39781f89af0c569dc1a95b3647553bac73f3d2bd3a6d9"},"rule":2,"target":"58313ea4c080dfe15d965f5a0df51e1d","type":"equivalent"},{"evidence":{"patch_ids":["606311355c1c8c1d3af833d23d39feca"],"same_day":true,"statement_hash":"5046af0d46dab82846d39781f89af0c569dc1a95b3647553bac73f3d2bd3a6d9"},"rule":2,"target":"8006ac44eeafaedba4e129814d0deaba","type":"equivalent"},{"evidence":{"patch_ids":["606311355c1c8c1d3af833d23d39feca"],"same_day":true,"statement_hash":"5046af0d46dab82846d39781f89af0c569dc1a95b3647553bac73f3d2bd3a6d9"},"rule":2,"target":"e859422314570f65827212ac979a8497","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["6da7d3630"],"source_entry_id":"12.3/changes/057","source_hash":"8916e886f1068291203e1231960633486e6e9aafb717dbd94e4f638511da0d3d","source_url":"/docs/release/12.3/#id-1.11.6.25.5","statement_hash":"5046af0d46dab82846d39781f89af0c569dc1a95b3647553bac73f3d2bd3a6d9","text":"修复 pg_dump，使其转储 RLS 策略对象上的注释（Tom Lane）§","title":"修复 pg_dump，使其转储 RLS 策略对象上的注释","variants":[],"version":"12.3"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["0b0247644","475b061c8","4c40b27b5","564c1e6d7","778066052","830471e0d","8728b2c70","983ed99a6","a9d70c108","d050c6113","f5d49f226","fab545635"],"commit_groups":[["0b0247644","475b061c8","4c40b27b5","8728b2c70","f5d49f226","fab545635"],["564c1e6d7","778066052","830471e0d","983ed99a6","a9d70c108","d050c6113"]],"commits":["4c40b27b5","983ed99a6"],"cves":[],"db_id":"072107359d0067312815b12da199c072","html":"\u003cp\u003e在 \u003cspan\u003epg_dump\u003c/span\u003e 中，将事件触发器的恢复推迟到最后（Fabrízio de Royes Mello，Hamid Akhtar，Tom Lane）\u003ca href=\"https://postgr.es/c/4c40b27b5\"\u003e§\u003c/a\u003e \u003ca href=\"https://postgr.es/c/983ed99a6\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e这尽可能降低了事件触发器干扰其他对象恢复的风险。\u003c/p\u003e","id":"12.3-c5def455b9cb038d","identity_text":"In pg_dump, postpone restore of event triggers till the end (Fabrízio de Royes Mello, Hamid Akhtar, Tom Lane) This minimizes the risk that an event trigger could interfere with the restoration of other objects.","part":"changes","patch_ids":["7125087871ca3469f00248abdd74d860","bc95c0ec7766b7e38caf6e40b88c818d"],"related_changes":[{"db_id":"f8e9cbf12893ff4d294069968a78257f","evidence":{"patch_ids":["7125087871ca3469f00248abdd74d860","bc95c0ec7766b7e38caf6e40b88c818d"],"same_day":true,"statement_hash":"2bd7226e75e0b61b188a08034319a5c534b9c38743fdf702147e9b5444031542"},"kind":"equivalent","label":"11.8","source_url":"/docs/release/11.8/#id-1.11.6.19.5","title":"在 pg_dump 中，将事件触发器的恢复推迟到最后","url":"/docs/compare/?release=11.8#11.8-e5ac383e1f0be379","version":"11.8"},{"db_id":"1f39f9ecb7b6e16f5b92519fc00c3c99","evidence":{"patch_ids":["7125087871ca3469f00248abdd74d860","bc95c0ec7766b7e38caf6e40b88c818d"],"same_day":true,"statement_hash":"2bd7226e75e0b61b188a08034319a5c534b9c38743fdf702147e9b5444031542"},"kind":"equivalent","label":"10.13","source_url":"/docs/release/10.13/#id-1.11.6.15.5","title":"在 pg_dump 中，将事件触发器的恢复推迟到最后","url":"/docs/compare/?release=10.13#10.13-e5ac383e1f0be379","version":"10.13"},{"db_id":"7e97a71c98aa5c34bb8003cd9dee00e0","evidence":{"patch_ids":["7125087871ca3469f00248abdd74d860","bc95c0ec7766b7e38caf6e40b88c818d"],"same_day":true,"statement_hash":"2bd7226e75e0b61b188a08034319a5c534b9c38743fdf702147e9b5444031542"},"kind":"equivalent","label":"9.6.18","source_url":"/docs/release/9.6.18/#id-1.11.6.11.5","title":"在 pg_dump 中，把事件触发器的恢复推迟到最后","url":"/docs/compare/?release=9.6.18#9.6.18-e807ca1d6ba56c52","version":"9.6.18"},{"db_id":"921238244a4ace6028c6720eaae54c6d","evidence":{"patch_ids":["7125087871ca3469f00248abdd74d860","bc95c0ec7766b7e38caf6e40b88c818d"],"same_day":true,"statement_hash":"2bd7226e75e0b61b188a08034319a5c534b9c38743fdf702147e9b5444031542"},"kind":"equivalent","label":"9.5.22","source_url":"/docs/release/9.5.22/#id-1.11.6.8.6","title":"在 pg_dump 中，把事件触发器的恢复推迟到最后","url":"/docs/compare/?release=9.5.22#9.5.22-e807ca1d6ba56c52","version":"9.5.22"}],"relations":[{"evidence":{"patch_ids":["7125087871ca3469f00248abdd74d860","bc95c0ec7766b7e38caf6e40b88c818d"],"same_day":true,"statement_hash":"2bd7226e75e0b61b188a08034319a5c534b9c38743fdf702147e9b5444031542"},"rule":2,"target":"1f39f9ecb7b6e16f5b92519fc00c3c99","type":"equivalent"},{"evidence":{"patch_ids":["7125087871ca3469f00248abdd74d860","bc95c0ec7766b7e38caf6e40b88c818d"],"same_day":true,"statement_hash":"2bd7226e75e0b61b188a08034319a5c534b9c38743fdf702147e9b5444031542"},"rule":2,"target":"7e97a71c98aa5c34bb8003cd9dee00e0","type":"equivalent"},{"evidence":{"patch_ids":["7125087871ca3469f00248abdd74d860","bc95c0ec7766b7e38caf6e40b88c818d"],"same_day":true,"statement_hash":"2bd7226e75e0b61b188a08034319a5c534b9c38743fdf702147e9b5444031542"},"rule":2,"target":"921238244a4ace6028c6720eaae54c6d","type":"equivalent"},{"evidence":{"patch_ids":["7125087871ca3469f00248abdd74d860","bc95c0ec7766b7e38caf6e40b88c818d"],"same_day":true,"statement_hash":"2bd7226e75e0b61b188a08034319a5c534b9c38743fdf702147e9b5444031542"},"rule":2,"target":"f8e9cbf12893ff4d294069968a78257f","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["4c40b27b5","983ed99a6"],"source_entry_id":"12.3/changes/058","source_hash":"609a73ea3364a651600e24ea45a09bfbbb368c47693fa2cb50fa28f9ffe7f5d0","source_url":"/docs/release/12.3/#id-1.11.6.25.5","statement_hash":"2bd7226e75e0b61b188a08034319a5c534b9c38743fdf702147e9b5444031542","text":"在 pg_dump 中，将事件触发器的恢复推迟到最后（Fabrízio de Royes Mello，Hamid Akhtar，Tom Lane）§ § 这尽可能降低了事件触发器干扰其他对象恢复的风险。","title":"在 pg_dump 中，将事件触发器的恢复推迟到最后","variants":[],"version":"12.3"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["0278d3f79","a08bfe742"],"commit_groups":[["0278d3f79","a08bfe742"]],"commits":["a08bfe742"],"cves":[],"db_id":"280af5f4b2881bf6428b510ca9ff3735","html":"\u003cp\u003e确保 \u003cspan\u003epg_basebackup\u003c/span\u003e 生成有效的 tar 文件（Robert Haas）\u003ca href=\"https://postgr.es/c/a08bfe742\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e某些情况下，文件末尾会被添加一个不足整块的零值块。虽然对于常见版本的 tar 而言这似乎无害，但它不符合 POSIX 文件格式规范。\u003c/p\u003e","id":"12.3-6d7366942c92a5a9","identity_text":"Ensure that pg_basebackup generates valid tar files (Robert Haas) In some cases a partial block of zeroes would be added to the end of the file. While this seems to be harmless with common versions of tar, it's not OK per the POSIX file format spec.","part":"changes","patch_ids":["afbe328b4e82fd80bdcc460299ed86c5"],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":["a08bfe742"],"source_entry_id":"12.3/changes/059","source_hash":"94aa2b8383832b1345244ce14f34dfac509dc7e9a7bf2e237f7877955f197f9e","source_url":"/docs/release/12.3/#id-1.11.6.25.5","statement_hash":"da8798c26c109da3fc2a51f441b6f61f35c9b9684b6a2d832ce555e29d46eaaf","text":"确保 pg_basebackup 生成有效的 tar 文件（Robert Haas）§ 某些情况下，文件末尾会被添加一个不足整块的零值块。虽然对于常见版本的 tar 而言这似乎无害，但它不符合 POSIX 文件格式规范。","title":"确保 pg_basebackup 生成有效的 tar 文件","variants":[],"version":"12.3"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["428a2609e","8f9aba187","f6e8e8b38"],"commit_groups":[["428a2609e","8f9aba187","f6e8e8b38"]],"commits":["f6e8e8b38"],"cves":[],"db_id":"10ef5891887d6ef1c1bf1d11844ee4b5","html":"\u003cp\u003e使 \u003cspan\u003epg_checksums\u003c/span\u003e 跳过属于其他 \u003cspan\u003ePostgreSQL\u003c/span\u003e 大版本的表空间子目录（Michael Banck，Bernd Helmle）\u003ca href=\"https://postgr.es/c/f6e8e8b38\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e这些子目录实际上不属于我们的数据库集簇，因此不得处理它们。\u003c/p\u003e","id":"12.3-b6528bd84442120d","identity_text":"Make pg_checksums skip tablespace subdirectories that belong to a different PostgreSQL major version (Michael Banck, Bernd Helmle) Such subdirectories don't really belong to our database cluster, and so must not be processed.","part":"changes","patch_ids":["915cd50690eced03bae43a4b3660f67e"],"related_changes":[{"db_id":"1841753388f262ca14c603f2f65171c2","evidence":{"patch_ids":["915cd50690eced03bae43a4b3660f67e"],"same_day":true},"kind":"equivalent","label":"11.8","source_url":"/docs/release/11.8/#id-1.11.6.19.5","title":"使 pg_verify_checksums 跳过属于其他 PostgreSQL 大版本的表空间子目录","url":"/docs/compare/?release=11.8#11.8-48ab08c94bc94a45","version":"11.8"}],"relations":[{"evidence":{"patch_ids":["915cd50690eced03bae43a4b3660f67e"],"same_day":true},"rule":2,"target":"1841753388f262ca14c603f2f65171c2","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["f6e8e8b38"],"source_entry_id":"12.3/changes/060","source_hash":"0a6ec56b45132814afca8162cf0c8bac73a86758b9058ae4995dcdac2f565e73","source_url":"/docs/release/12.3/#id-1.11.6.25.5","statement_hash":"53035324d541d3042673c3d57829ce20be89251a6f0da487ecc54d52e8d553b6","text":"使 pg_checksums 跳过属于其他 PostgreSQL 大版本的表空间子目录（Michael Banck，Bernd Helmle）§ 这些子目录实际上不属于我们的数据库集簇，因此不得处理它们。","title":"使 pg_checksums 跳过属于其他 PostgreSQL 大版本的表空间子目录","variants":[],"version":"12.3"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["a8beece95","bf883b211","da2a7180a"],"commit_groups":[["a8beece95","bf883b211","da2a7180a"]],"commits":["a8beece95"],"cves":[],"db_id":"382d05479356364ea65e2556324e71d1","html":"\u003cp\u003e在 \u003cspan\u003epg_checksums\u003c/span\u003e 及相关程序中忽略 \u003ccode\u003epg_internal.init\u003c/code\u003e 的临时副本（Michael Paquier）\u003ca href=\"https://postgr.es/c/a8beece95\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"12.3-2ae8b145b282cba5","identity_text":"Ignore temporary copies of pg_internal.init in pg_checksums and related programs (Michael Paquier)","part":"changes","patch_ids":["67606cf9cbc90ed96869085959eb8c54"],"related_changes":[{"db_id":"1a980a9f586c884b568cd50bf3a0e318","evidence":{"patch_ids":["67606cf9cbc90ed96869085959eb8c54"],"same_day":true},"kind":"equivalent","label":"11.8","source_url":"/docs/release/11.8/#id-1.11.6.19.5","title":"在 pg_verify_checksums 及相关程序中忽略 pg_internal.init 的临时副本","url":"/docs/compare/?release=11.8#11.8-4dd0fe183764d6cd","version":"11.8"}],"relations":[{"evidence":{"patch_ids":["67606cf9cbc90ed96869085959eb8c54"],"same_day":true},"rule":2,"target":"1a980a9f586c884b568cd50bf3a0e318","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["a8beece95"],"source_entry_id":"12.3/changes/061","source_hash":"5cb2d607f0880153b1b23f4ef3af21ab1e6173e6abec1c8c5cfd8140752d20ae","source_url":"/docs/release/12.3/#id-1.11.6.25.5","statement_hash":"d4afe6d70f1ee357548df0cd6618b12be2f3af11fb986165bab53347ad2fc758","text":"在 pg_checksums 及相关程序中忽略 pg_internal.init 的临时副本（Michael Paquier）§","title":"在 pg_checksums 及相关程序中忽略 pg_internal.init 的临时副本","variants":[],"version":"12.3"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["008cf0409","240c7c75f","3340034f2","49300e4cf","83bd732eb","8e076f4f9","943affb3d","aeb846edb","c4b0edb07"],"commit_groups":[["008cf0409","240c7c75f","3340034f2","49300e4cf","83bd732eb","943affb3d"],["8e076f4f9","aeb846edb","c4b0edb07"]],"commits":["943affb3d","aeb846edb"],"cves":[],"db_id":"61804e0bbd8b50e13be46639d6db4196","html":"\u003cp\u003e修复 \u003cspan\u003ecreatedb\u003c/span\u003e 工具中 \u003ccode\u003e--encoding\u003c/code\u003e、\u003ccode\u003e--lc-ctype\u003c/code\u003e 和 \u003ccode\u003e--lc-collate\u003c/code\u003e 值的引号处理（Michael Paquier）\u003ca href=\"https://postgr.es/c/943affb3d\"\u003e§\u003c/a\u003e \u003ca href=\"https://postgr.es/c/aeb846edb\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"12.3-d286099819e8671b","identity_text":"Fix quoting of --encoding, --lc-ctype and --lc-collate values in createdb utility (Michael Paquier)","part":"changes","patch_ids":["992c59a6a7bca749fb7a9be60e255a10","cac6eb876e8059ad8a904202b840f43b"],"related_changes":[{"db_id":"d890ca8665f057654035ee52656c258d","evidence":{"patch_ids":["992c59a6a7bca749fb7a9be60e255a10","cac6eb876e8059ad8a904202b840f43b"],"same_day":true,"statement_hash":"6bf2fe67a63664cc9b6ca95efe5b662add72403837d94af1ddc4f37d8e4b78d0"},"kind":"equivalent","label":"11.8","source_url":"/docs/release/11.8/#id-1.11.6.19.5","title":"修复 createdb 工具中 --encoding、--lc-ctype 和 --lc-collate 值的引号处理","url":"/docs/compare/?release=11.8#11.8-8efba8920817e6a2","version":"11.8"},{"db_id":"0ebb156c576c2265fcbed0fd4b28f6e6","evidence":{"patch_ids":["992c59a6a7bca749fb7a9be60e255a10","cac6eb876e8059ad8a904202b840f43b"],"same_day":true,"statement_hash":"6bf2fe67a63664cc9b6ca95efe5b662add72403837d94af1ddc4f37d8e4b78d0"},"kind":"equivalent","label":"10.13","source_url":"/docs/release/10.13/#id-1.11.6.15.5","title":"修复 createdb 工具中 --encoding、--lc-ctype 和 --lc-collate 值的引号处理","url":"/docs/compare/?release=10.13#10.13-8efba8920817e6a2","version":"10.13"},{"db_id":"3019b8163e1c995314dc518c40596313","evidence":{"patch_ids":["992c59a6a7bca749fb7a9be60e255a10","cac6eb876e8059ad8a904202b840f43b"],"same_day":true,"statement_hash":"6bf2fe67a63664cc9b6ca95efe5b662add72403837d94af1ddc4f37d8e4b78d0"},"kind":"equivalent","label":"9.6.18","source_url":"/docs/release/9.6.18/#id-1.11.6.11.5","title":"修复 createdb 实用程序中 --encoding、--lc-ctype 和 --lc-collate 值的引号处理","url":"/docs/compare/?release=9.6.18#9.6.18-9896aab3c02f3e64","version":"9.6.18"},{"db_id":"9631fea169d3e2bda212def89fad0300","evidence":{"patch_ids":["992c59a6a7bca749fb7a9be60e255a10","cac6eb876e8059ad8a904202b840f43b"],"same_day":true,"statement_hash":"6bf2fe67a63664cc9b6ca95efe5b662add72403837d94af1ddc4f37d8e4b78d0"},"kind":"equivalent","label":"9.5.22","source_url":"/docs/release/9.5.22/#id-1.11.6.8.6","title":"修复 createdb 实用程序中 --encoding、--lc-ctype 和 --lc-collate 值的引号处理","url":"/docs/compare/?release=9.5.22#9.5.22-9896aab3c02f3e64","version":"9.5.22"}],"relations":[{"evidence":{"patch_ids":["992c59a6a7bca749fb7a9be60e255a10","cac6eb876e8059ad8a904202b840f43b"],"same_day":true,"statement_hash":"6bf2fe67a63664cc9b6ca95efe5b662add72403837d94af1ddc4f37d8e4b78d0"},"rule":2,"target":"0ebb156c576c2265fcbed0fd4b28f6e6","type":"equivalent"},{"evidence":{"patch_ids":["992c59a6a7bca749fb7a9be60e255a10","cac6eb876e8059ad8a904202b840f43b"],"same_day":true,"statement_hash":"6bf2fe67a63664cc9b6ca95efe5b662add72403837d94af1ddc4f37d8e4b78d0"},"rule":2,"target":"3019b8163e1c995314dc518c40596313","type":"equivalent"},{"evidence":{"patch_ids":["992c59a6a7bca749fb7a9be60e255a10","cac6eb876e8059ad8a904202b840f43b"],"same_day":true,"statement_hash":"6bf2fe67a63664cc9b6ca95efe5b662add72403837d94af1ddc4f37d8e4b78d0"},"rule":2,"target":"9631fea169d3e2bda212def89fad0300","type":"equivalent"},{"evidence":{"patch_ids":["992c59a6a7bca749fb7a9be60e255a10","cac6eb876e8059ad8a904202b840f43b"],"same_day":true,"statement_hash":"6bf2fe67a63664cc9b6ca95efe5b662add72403837d94af1ddc4f37d8e4b78d0"},"rule":2,"target":"d890ca8665f057654035ee52656c258d","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["943affb3d","aeb846edb"],"source_entry_id":"12.3/changes/062","source_hash":"e2410b5d08450ac8a83c05d1a380d01c0482c4dc078c1f37f9d4f854e24ff91a","source_url":"/docs/release/12.3/#id-1.11.6.25.5","statement_hash":"6bf2fe67a63664cc9b6ca95efe5b662add72403837d94af1ddc4f37d8e4b78d0","text":"修复 createdb 工具中 --encoding、--lc-ctype 和 --lc-collate 值的引号处理（Michael Paquier）§ §","title":"修复 createdb 工具中 --encoding、--lc-ctype 和 --lc-collate 值的引号处理","variants":[],"version":"12.3"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["6dd9f3577","7b1552283","82bc56e63","85f0d4703","a9f821f48","d56657c35"],"commit_groups":[["6dd9f3577","7b1552283","82bc56e63","85f0d4703","a9f821f48","d56657c35"]],"commits":["d56657c35"],"cves":[],"db_id":"69f9255589357b61beee5334257d8da5","html":"\u003cp\u003e直接调用 \u003ccode\u003econtrib/lo\u003c/code\u003e 的 \u003ccode\u003elo_manage()\u003c/code\u003e 函数，而非作为触发器调用时，会发生崩溃（Tom Lane）\u003ca href=\"https://postgr.es/c/d56657c35\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"12.3-72929a5c7fb10bf9","identity_text":"contrib/lo's lo_manage() function crashed if called directly rather than as a trigger (Tom Lane)","part":"changes","patch_ids":["105321cacfa53733e73c715a8cfa6e7c"],"related_changes":[{"db_id":"72595b9ea60880022a25cf3adf9c2543","evidence":{"patch_ids":["105321cacfa53733e73c715a8cfa6e7c"],"same_day":true,"statement_hash":"39dd260ca6069ccc414dfaa950cfbe672f1eb396089b7ac9c0b7c44669cea5f5"},"kind":"equivalent","label":"11.8","source_url":"/docs/release/11.8/#id-1.11.6.19.5","title":"直接调用 contrib/lo 的 lo_manage() 函数，而非作为触发器调用时，会发生崩溃","url":"/docs/compare/?release=11.8#11.8-6169e3de25d3c4a5","version":"11.8"},{"db_id":"afe650853d30a9ef20f26cd2872adca2","evidence":{"patch_ids":["105321cacfa53733e73c715a8cfa6e7c"],"same_day":true,"statement_hash":"39dd260ca6069ccc414dfaa950cfbe672f1eb396089b7ac9c0b7c44669cea5f5"},"kind":"equivalent","label":"10.13","source_url":"/docs/release/10.13/#id-1.11.6.15.5","title":"直接调用 contrib/lo 的 lo_manage() 函数，而非作为触发器调用时，会发生崩溃","url":"/docs/compare/?release=10.13#10.13-6169e3de25d3c4a5","version":"10.13"},{"db_id":"30ce258b16113589c905777f61676eed","evidence":{"patch_ids":["105321cacfa53733e73c715a8cfa6e7c"],"same_day":true,"statement_hash":"39dd260ca6069ccc414dfaa950cfbe672f1eb396089b7ac9c0b7c44669cea5f5"},"kind":"equivalent","label":"9.6.18","source_url":"/docs/release/9.6.18/#id-1.11.6.11.5","title":"contrib/lo 的 lo_manage() 函数在被直接调用而非作为触发器调用时崩溃","url":"/docs/compare/?release=9.6.18#9.6.18-e2d45b363d19ce8d","version":"9.6.18"},{"db_id":"d832f23d03cce13f5515d8c16ded0771","evidence":{"patch_ids":["105321cacfa53733e73c715a8cfa6e7c"],"same_day":true,"statement_hash":"39dd260ca6069ccc414dfaa950cfbe672f1eb396089b7ac9c0b7c44669cea5f5"},"kind":"equivalent","label":"9.5.22","source_url":"/docs/release/9.5.22/#id-1.11.6.8.6","title":"contrib/lo 的 lo_manage() 函数在被直接调用而非作为触发器调用时崩溃","url":"/docs/compare/?release=9.5.22#9.5.22-e2d45b363d19ce8d","version":"9.5.22"}],"relations":[{"evidence":{"patch_ids":["105321cacfa53733e73c715a8cfa6e7c"],"same_day":true,"statement_hash":"39dd260ca6069ccc414dfaa950cfbe672f1eb396089b7ac9c0b7c44669cea5f5"},"rule":2,"target":"30ce258b16113589c905777f61676eed","type":"equivalent"},{"evidence":{"patch_ids":["105321cacfa53733e73c715a8cfa6e7c"],"same_day":true,"statement_hash":"39dd260ca6069ccc414dfaa950cfbe672f1eb396089b7ac9c0b7c44669cea5f5"},"rule":2,"target":"72595b9ea60880022a25cf3adf9c2543","type":"equivalent"},{"evidence":{"patch_ids":["105321cacfa53733e73c715a8cfa6e7c"],"same_day":true,"statement_hash":"39dd260ca6069ccc414dfaa950cfbe672f1eb396089b7ac9c0b7c44669cea5f5"},"rule":2,"target":"afe650853d30a9ef20f26cd2872adca2","type":"equivalent"},{"evidence":{"patch_ids":["105321cacfa53733e73c715a8cfa6e7c"],"same_day":true,"statement_hash":"39dd260ca6069ccc414dfaa950cfbe672f1eb396089b7ac9c0b7c44669cea5f5"},"rule":2,"target":"d832f23d03cce13f5515d8c16ded0771","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["d56657c35"],"source_entry_id":"12.3/changes/063","source_hash":"1275b0a15e219ca82374739c70d12da03ae4716225f2bf04eb12158006c148c9","source_url":"/docs/release/12.3/#id-1.11.6.25.5","statement_hash":"39dd260ca6069ccc414dfaa950cfbe672f1eb396089b7ac9c0b7c44669cea5f5","text":"直接调用 contrib/lo 的 lo_manage() 函数，而非作为触发器调用时，会发生崩溃（Tom Lane）§","title":"直接调用 contrib/lo 的 lo_manage() 函数，而非作为触发器调用时，会发生崩溃","variants":[],"version":"12.3"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["2618ac6c6","2bb6bdbe5","39491aa0d","5feb3d0b3","8e1e630d0","95f7ddfda"],"commit_groups":[["2618ac6c6","2bb6bdbe5","39491aa0d","5feb3d0b3","8e1e630d0","95f7ddfda"]],"commits":["2bb6bdbe5"],"cves":[],"db_id":"77e2bb5ff65af969073921d3cd6c14c4","html":"\u003cp\u003e在 \u003ccode\u003econtrib/ltree\u003c/code\u003e 中，防止 \u003ccode\u003eltree\u003c/code\u003e 和 \u003ccode\u003elquery\u003c/code\u003e 长度字段溢出（Nikita Glukhov）\u003ca href=\"https://postgr.es/c/2bb6bdbe5\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"12.3-6ee2a90dc57cf857","identity_text":"In contrib/ltree, protect against overflow of ltree and lquery length fields (Nikita Glukhov)","part":"changes","patch_ids":["1f01fc809a15a524e654d974b33b2ee6"],"related_changes":[{"db_id":"c59013ac9aa7e195fe75c8ab58ff6641","evidence":{"patch_ids":["1f01fc809a15a524e654d974b33b2ee6"],"same_day":true,"statement_hash":"25e480641d9e671d47377be05227b1cca605632176f1880e634826f6b4ea6efd"},"kind":"equivalent","label":"11.8","source_url":"/docs/release/11.8/#id-1.11.6.19.5","title":"在 contrib/ltree 中，防止 ltree 和 lquery 长度字段溢出","url":"/docs/compare/?release=11.8#11.8-e84668cbe1db2ced","version":"11.8"},{"db_id":"33838ca8a9d0c94f348a51e701caa3f7","evidence":{"patch_ids":["1f01fc809a15a524e654d974b33b2ee6"],"same_day":true,"statement_hash":"25e480641d9e671d47377be05227b1cca605632176f1880e634826f6b4ea6efd"},"kind":"equivalent","label":"10.13","source_url":"/docs/release/10.13/#id-1.11.6.15.5","title":"在 contrib/ltree 中，防止 ltree 和 lquery 长度字段溢出","url":"/docs/compare/?release=10.13#10.13-e84668cbe1db2ced","version":"10.13"},{"db_id":"21b634db37867a9f6df498958edbb065","evidence":{"patch_ids":["1f01fc809a15a524e654d974b33b2ee6"],"same_day":true,"statement_hash":"25e480641d9e671d47377be05227b1cca605632176f1880e634826f6b4ea6efd"},"kind":"equivalent","label":"9.6.18","source_url":"/docs/release/9.6.18/#id-1.11.6.11.5","title":"在 contrib/ltree 中，防止 ltree 和 lquery 长度字段溢出","url":"/docs/compare/?release=9.6.18#9.6.18-e84668cbe1db2ced","version":"9.6.18"},{"db_id":"446c6564bfb710f10301497a3a712101","evidence":{"patch_ids":["1f01fc809a15a524e654d974b33b2ee6"],"same_day":true,"statement_hash":"25e480641d9e671d47377be05227b1cca605632176f1880e634826f6b4ea6efd"},"kind":"equivalent","label":"9.5.22","source_url":"/docs/release/9.5.22/#id-1.11.6.8.6","title":"在 contrib/ltree 中，防止 ltree 和 lquery 长度字段溢出","url":"/docs/compare/?release=9.5.22#9.5.22-e84668cbe1db2ced","version":"9.5.22"}],"relations":[{"evidence":{"patch_ids":["1f01fc809a15a524e654d974b33b2ee6"],"same_day":true,"statement_hash":"25e480641d9e671d47377be05227b1cca605632176f1880e634826f6b4ea6efd"},"rule":2,"target":"21b634db37867a9f6df498958edbb065","type":"equivalent"},{"evidence":{"patch_ids":["1f01fc809a15a524e654d974b33b2ee6"],"same_day":true,"statement_hash":"25e480641d9e671d47377be05227b1cca605632176f1880e634826f6b4ea6efd"},"rule":2,"target":"33838ca8a9d0c94f348a51e701caa3f7","type":"equivalent"},{"evidence":{"patch_ids":["1f01fc809a15a524e654d974b33b2ee6"],"same_day":true,"statement_hash":"25e480641d9e671d47377be05227b1cca605632176f1880e634826f6b4ea6efd"},"rule":2,"target":"446c6564bfb710f10301497a3a712101","type":"equivalent"},{"evidence":{"patch_ids":["1f01fc809a15a524e654d974b33b2ee6"],"same_day":true,"statement_hash":"25e480641d9e671d47377be05227b1cca605632176f1880e634826f6b4ea6efd"},"rule":2,"target":"c59013ac9aa7e195fe75c8ab58ff6641","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["2bb6bdbe5"],"source_entry_id":"12.3/changes/064","source_hash":"6bcf9bf469e230f920dac080ea27d10d81ba9dc3a048024701c4dd1cac606334","source_url":"/docs/release/12.3/#id-1.11.6.25.5","statement_hash":"25e480641d9e671d47377be05227b1cca605632176f1880e634826f6b4ea6efd","text":"在 contrib/ltree 中，防止 ltree 和 lquery 长度字段溢出（Nikita Glukhov）§","title":"在 contrib/ltree 中，防止 ltree 和 lquery 长度字段溢出","variants":[],"version":"12.3"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["393b449f1","c788115b5"],"commit_groups":[["393b449f1","c788115b5"]],"commits":["393b449f1"],"cves":[],"db_id":"8f48f00282c6ee5810d0ec8c9200f943","html":"\u003cp\u003e规避 oldest_xact 值超过 2^31-1 时 \u003ccode\u003econtrib/pageinspect\u003c/code\u003e 的 \u003ccode\u003ebt_metap()\u003c/code\u003e 函数发生的失败（Peter Geoghegan）\u003ca href=\"https://postgr.es/c/393b449f1\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e此类 XID 现在会被报告为负整数，这虽然不理想，但总比抛出错误好。v13 将把输出参数扩为 \u003ccode\u003eint8\u003c/code\u003e，以提供更合理的报告。\u003c/p\u003e","id":"12.3-64c1e56eb05c2ec5","identity_text":"Work around failure in contrib/pageinspect's bt_metap() function when an oldest_xact value exceeds 2^31-1 (Peter Geoghegan) Such XIDs will now be reported as negative integers, which isn't great but it beats throwing an error. v13 will widen the output argument to int8 to provide saner reporting.","part":"changes","patch_ids":["60d301cbcb2f883794fdec51221c30a3"],"related_changes":[{"db_id":"4d24bc9ed65eea85f8b3cdbd7f932bb4","evidence":{"patch_ids":["60d301cbcb2f883794fdec51221c30a3"],"same_day":true,"statement_hash":"d3953bd821fc0bd4ee9d54bae20205150668408c99796ec0cd77e77944a16e0d"},"kind":"equivalent","label":"11.8","source_url":"/docs/release/11.8/#id-1.11.6.19.5","title":"规避 oldest_xact 值超过 2^31-1 时 contrib/pageinspect 的 bt_metap() 函数发生的失败","url":"/docs/compare/?release=11.8#11.8-c5561c3bb0883d5f","version":"11.8"}],"relations":[{"evidence":{"patch_ids":["60d301cbcb2f883794fdec51221c30a3"],"same_day":true,"statement_hash":"d3953bd821fc0bd4ee9d54bae20205150668408c99796ec0cd77e77944a16e0d"},"rule":2,"target":"4d24bc9ed65eea85f8b3cdbd7f932bb4","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["393b449f1"],"source_entry_id":"12.3/changes/065","source_hash":"4909b70f89335ab2e7068cc3cd6a6a9d22fa8cb0a8e06de93a80098a11e05ef8","source_url":"/docs/release/12.3/#id-1.11.6.25.5","statement_hash":"d3953bd821fc0bd4ee9d54bae20205150668408c99796ec0cd77e77944a16e0d","text":"规避 oldest_xact 值超过 2^31-1 时 contrib/pageinspect 的 bt_metap() 函数发生的失败（Peter Geoghegan）§ 此类 XID 现在会被报告为负整数，这虽然不理想，但总比抛出错误好。v13 将把输出参数扩为 int8，以提供更合理的报告。","title":"规避 oldest_xact 值超过 2^31-1 时 contrib/pageinspect 的 bt_metap() 函数发生的失败","variants":[],"version":"12.3"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["3cdf2421a","46b1b6379","687e566b9","cc2737ab0","f4a420056","fc576b7c4"],"commit_groups":[["3cdf2421a","46b1b6379","687e566b9","cc2737ab0","f4a420056","fc576b7c4"]],"commits":["687e566b9"],"cves":[],"db_id":"851de3a1319fb3a68bfa615f1d2b2ec2","html":"\u003cp\u003e修复 \u003ccode\u003econtrib/sepgsql\u003c/code\u003e 中的缓存引用泄漏（Michael Luo）\u003ca href=\"https://postgr.es/c/687e566b9\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"12.3-df348f281c986254","identity_text":"Fix cache reference leak in contrib/sepgsql (Michael Luo)","part":"changes","patch_ids":["60b4dc41bbad59ed833fc2e96b324160"],"related_changes":[{"db_id":"0999d93b8aad134fc72404ddd8befcd2","evidence":{"patch_ids":["60b4dc41bbad59ed833fc2e96b324160"],"same_day":true,"statement_hash":"d36459f90623beacf2d25ca3a927be93ebc24e9ef2bbcfe4fa8c9e50f6503fe8"},"kind":"equivalent","label":"11.8","source_url":"/docs/release/11.8/#id-1.11.6.19.5","title":"修复 contrib/sepgsql 中的缓存引用泄漏","url":"/docs/compare/?release=11.8#11.8-924229b253a1d1d9","version":"11.8"},{"db_id":"f8cd3b19cbc8066968f11767d3a43568","evidence":{"patch_ids":["60b4dc41bbad59ed833fc2e96b324160"],"same_day":true,"statement_hash":"d36459f90623beacf2d25ca3a927be93ebc24e9ef2bbcfe4fa8c9e50f6503fe8"},"kind":"equivalent","label":"10.13","source_url":"/docs/release/10.13/#id-1.11.6.15.5","title":"修复 contrib/sepgsql 中的缓存引用泄漏","url":"/docs/compare/?release=10.13#10.13-924229b253a1d1d9","version":"10.13"},{"db_id":"31afc388b27d37b792fe5acf81d32a91","evidence":{"patch_ids":["60b4dc41bbad59ed833fc2e96b324160"],"same_day":true,"statement_hash":"d36459f90623beacf2d25ca3a927be93ebc24e9ef2bbcfe4fa8c9e50f6503fe8"},"kind":"equivalent","label":"9.6.18","source_url":"/docs/release/9.6.18/#id-1.11.6.11.5","title":"修复 contrib/sepgsql 中的缓存引用泄漏","url":"/docs/compare/?release=9.6.18#9.6.18-924229b253a1d1d9","version":"9.6.18"},{"db_id":"ef00e736ed73f5625a760bb8c60f376b","evidence":{"patch_ids":["60b4dc41bbad59ed833fc2e96b324160"],"same_day":true,"statement_hash":"d36459f90623beacf2d25ca3a927be93ebc24e9ef2bbcfe4fa8c9e50f6503fe8"},"kind":"equivalent","label":"9.5.22","source_url":"/docs/release/9.5.22/#id-1.11.6.8.6","title":"修复 contrib/sepgsql 中的缓存引用泄漏","url":"/docs/compare/?release=9.5.22#9.5.22-924229b253a1d1d9","version":"9.5.22"}],"relations":[{"evidence":{"patch_ids":["60b4dc41bbad59ed833fc2e96b324160"],"same_day":true,"statement_hash":"d36459f90623beacf2d25ca3a927be93ebc24e9ef2bbcfe4fa8c9e50f6503fe8"},"rule":2,"target":"0999d93b8aad134fc72404ddd8befcd2","type":"equivalent"},{"evidence":{"patch_ids":["60b4dc41bbad59ed833fc2e96b324160"],"same_day":true,"statement_hash":"d36459f90623beacf2d25ca3a927be93ebc24e9ef2bbcfe4fa8c9e50f6503fe8"},"rule":2,"target":"31afc388b27d37b792fe5acf81d32a91","type":"equivalent"},{"evidence":{"patch_ids":["60b4dc41bbad59ed833fc2e96b324160"],"same_day":true,"statement_hash":"d36459f90623beacf2d25ca3a927be93ebc24e9ef2bbcfe4fa8c9e50f6503fe8"},"rule":2,"target":"ef00e736ed73f5625a760bb8c60f376b","type":"equivalent"},{"evidence":{"patch_ids":["60b4dc41bbad59ed833fc2e96b324160"],"same_day":true,"statement_hash":"d36459f90623beacf2d25ca3a927be93ebc24e9ef2bbcfe4fa8c9e50f6503fe8"},"rule":2,"target":"f8cd3b19cbc8066968f11767d3a43568","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["687e566b9"],"source_entry_id":"12.3/changes/066","source_hash":"41e87c0ac7bedb138a7722e4b9b67f034a8d9efb7dbfbbe693ab4d5b8ca2cc0d","source_url":"/docs/release/12.3/#id-1.11.6.25.5","statement_hash":"d36459f90623beacf2d25ca3a927be93ebc24e9ef2bbcfe4fa8c9e50f6503fe8","text":"修复 contrib/sepgsql 中的缓存引用泄漏（Michael Luo）§","title":"修复 contrib/sepgsql 中的缓存引用泄漏","variants":[],"version":"12.3"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["de5e03f7f","e02ea141e"],"commit_groups":[["de5e03f7f","e02ea141e"]],"commits":["de5e03f7f"],"cves":[],"db_id":"4579c17172a6e45f2b7d846f1e258bc4","html":"\u003cp\u003e在 Windows 上，避免 \u003ccode\u003epg_ctl start\u003c/code\u003e 期间过早创建 postmaster 的日志文件（Alexander Lakhin）\u003ca href=\"https://postgr.es/c/de5e03f7f\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e以前的代码可能以不允许 postmaster 写入的权限创建该文件。\u003c/p\u003e","id":"12.3-78097fe5c941d827","identity_text":"On Windows, avoid premature creation of postmaster's log file during pg_ctl start (Alexander Lakhin) The previous coding could allow the file to be created with permissions that wouldn't allow the postmaster to write on it.","part":"changes","patch_ids":["2a91f41080d1c7b540c3103545edd589"],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":["de5e03f7f"],"source_entry_id":"12.3/changes/067","source_hash":"e4886a6f19c87729eed810a2322e109a1b1c8a8d737f9e93755ae22d11af14a8","source_url":"/docs/release/12.3/#id-1.11.6.25.5","statement_hash":"510808ef404e2890ca06775cfa6d4b0cfecdbaffe1e13c44a01d880f2c506c2d","text":"在 Windows 上，避免 pg_ctl start 期间过早创建 postmaster 的日志文件（Alexander Lakhin）§ 以前的代码可能以不允许 postmaster 写入的权限创建该文件。","title":"在 Windows 上，避免 pg_ctl start 期间过早创建 postmaster 的日志文件","variants":[],"version":"12.3"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["4bc3a1667","6dac1e858","8c49454ca","d59e83cf5","de5b9db36","f15f5edee"],"commit_groups":[["4bc3a1667","6dac1e858","8c49454ca","d59e83cf5","de5b9db36","f15f5edee"]],"commits":["de5b9db36"],"cves":[],"db_id":"cfbd62af139b6b70b199555029cb0263","html":"\u003cp\u003e避免在 Windows 上处理 Unix 风格区域设置名称时发生失败（Juan José Santamaría Flecha）\u003ca href=\"https://postgr.es/c/de5b9db36\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"12.3-be3bcce25d6a5ed8","identity_text":"Avoid failures when dealing with Unix-style locale names on Windows (Juan José Santamaría Flecha)","part":"changes","patch_ids":["c657cd9c5478e303ec401593cb5de734"],"related_changes":[{"db_id":"c8d670683fce6f86d2217dcb8515de0d","evidence":{"patch_ids":["c657cd9c5478e303ec401593cb5de734"],"same_day":true,"statement_hash":"9a8407997aa8db3c6fd5066de2675c602df794a7008f0617a54fa957b3d61cf8"},"kind":"equivalent","label":"11.8","source_url":"/docs/release/11.8/#id-1.11.6.19.5","title":"避免在 Windows 上处理 Unix 风格区域设置名称时发生失败","url":"/docs/compare/?release=11.8#11.8-596472144cb5706b","version":"11.8"},{"db_id":"cf106fb69523eea8d00925bc9065d98f","evidence":{"patch_ids":["c657cd9c5478e303ec401593cb5de734"],"same_day":true,"statement_hash":"9a8407997aa8db3c6fd5066de2675c602df794a7008f0617a54fa957b3d61cf8"},"kind":"equivalent","label":"10.13","source_url":"/docs/release/10.13/#id-1.11.6.15.5","title":"避免在 Windows 上处理 Unix 风格区域设置名称时发生失败","url":"/docs/compare/?release=10.13#10.13-596472144cb5706b","version":"10.13"},{"db_id":"618190f478bc54c146532aca2449b5fe","evidence":{"patch_ids":["c657cd9c5478e303ec401593cb5de734"],"same_day":true,"statement_hash":"9a8407997aa8db3c6fd5066de2675c602df794a7008f0617a54fa957b3d61cf8"},"kind":"equivalent","label":"9.6.18","source_url":"/docs/release/9.6.18/#id-1.11.6.11.5","title":"避免在 Windows 上处理 Unix 风格区域名时的失败","url":"/docs/compare/?release=9.6.18#9.6.18-111f6724f6609fc4","version":"9.6.18"},{"db_id":"cad42e7939880eaefb16481983255b17","evidence":{"patch_ids":["c657cd9c5478e303ec401593cb5de734"],"same_day":true,"statement_hash":"9a8407997aa8db3c6fd5066de2675c602df794a7008f0617a54fa957b3d61cf8"},"kind":"equivalent","label":"9.5.22","source_url":"/docs/release/9.5.22/#id-1.11.6.8.6","title":"避免在 Windows 上处理 Unix 风格区域名时的失败","url":"/docs/compare/?release=9.5.22#9.5.22-111f6724f6609fc4","version":"9.5.22"}],"relations":[{"evidence":{"patch_ids":["c657cd9c5478e303ec401593cb5de734"],"same_day":true,"statement_hash":"9a8407997aa8db3c6fd5066de2675c602df794a7008f0617a54fa957b3d61cf8"},"rule":2,"target":"618190f478bc54c146532aca2449b5fe","type":"equivalent"},{"evidence":{"patch_ids":["c657cd9c5478e303ec401593cb5de734"],"same_day":true,"statement_hash":"9a8407997aa8db3c6fd5066de2675c602df794a7008f0617a54fa957b3d61cf8"},"rule":2,"target":"c8d670683fce6f86d2217dcb8515de0d","type":"equivalent"},{"evidence":{"patch_ids":["c657cd9c5478e303ec401593cb5de734"],"same_day":true,"statement_hash":"9a8407997aa8db3c6fd5066de2675c602df794a7008f0617a54fa957b3d61cf8"},"rule":2,"target":"cad42e7939880eaefb16481983255b17","type":"equivalent"},{"evidence":{"patch_ids":["c657cd9c5478e303ec401593cb5de734"],"same_day":true,"statement_hash":"9a8407997aa8db3c6fd5066de2675c602df794a7008f0617a54fa957b3d61cf8"},"rule":2,"target":"cf106fb69523eea8d00925bc9065d98f","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["de5b9db36"],"source_entry_id":"12.3/changes/068","source_hash":"80a8d6c81ff50a30a3d54ac48ab84f289be42015f6771fa1c03bd7cd826656a8","source_url":"/docs/release/12.3/#id-1.11.6.25.5","statement_hash":"9a8407997aa8db3c6fd5066de2675c602df794a7008f0617a54fa957b3d61cf8","text":"避免在 Windows 上处理 Unix 风格区域设置名称时发生失败（Juan José Santamaría Flecha）§","title":"避免在 Windows 上处理 Unix 风格区域设置名称时发生失败","variants":[],"version":"12.3"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["3b5709e66","3b77dce86"],"commit_groups":[["3b5709e66","3b77dce86"]],"commits":["3b5709e66"],"cves":[],"db_id":"b9bb61629792265d925c68a73dc564e5","html":"\u003cp\u003e在 Windows 上，为支持 \u003ccode\u003ePG_COLOR\u003c/code\u003e 彩色显示的程序设置控制台 VT100 兼容模式（Juan José Santamaría Flecha）\u003ca href=\"https://postgr.es/c/3b5709e66\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e否则，彩色显示选项实际上不会生效。\u003c/p\u003e","id":"12.3-87845fc4195660f7","identity_text":"On Windows, set console VT100 compatibility mode in programs that support PG_COLOR colorization (Juan José Santamaría Flecha) Without this, the colorization option doesn't actually work.","part":"changes","patch_ids":["576bdc71c84bbea6942d7c2b298a1618"],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":["3b5709e66"],"source_entry_id":"12.3/changes/069","source_hash":"8cd1c34aa4d2c298548711711f619e1630000daf956a1eeb018fc68502bdefd8","source_url":"/docs/release/12.3/#id-1.11.6.25.5","statement_hash":"99ce090333bb81bcf9558d7903d117894633082a5b7e6d40268ae746d61b0d68","text":"在 Windows 上，为支持 PG_COLOR 彩色显示的程序设置控制台 VT100 兼容模式（Juan José Santamaría Flecha）§ 否则，彩色显示选项实际上不会生效。","title":"在 Windows 上，为支持 PG_COLOR 彩色显示的程序设置控制台 VT100 兼容模式","variants":[],"version":"12.3"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["a86715451","e3a87b499"],"commit_groups":[["a86715451","e3a87b499"]],"commits":["a86715451"],"cves":[],"db_id":"a93a714ee32ff9386adb32cac5dd418d","html":"\u003cp\u003e不再要求在 \u003ccode\u003eereport()\u003c/code\u003e 调用中使用额外的括号（Andres Freund，Tom Lane）\u003ca href=\"https://postgr.es/c/a86715451\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"12.3-9e46f10ead721645","identity_text":"Stop requiring extra parentheses in ereport() calls (Andres Freund, Tom Lane)","part":"changes","patch_ids":["5ec8294284dfc6cde82c9ce6ae4739a9"],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":["a86715451"],"source_entry_id":"12.3/changes/070","source_hash":"a86e5ea10c9e46b6e370847ead5b0cdbdca3864a40d7ef0d4bd820838a85ec38","source_url":"/docs/release/12.3/#id-1.11.6.25.5","statement_hash":"c685b316c0d1a322542e8c6e81c2ba8c2671a3b3771e747ec6e64eb2c5fb6597","text":"不再要求在 ereport() 调用中使用额外的括号（Andres Freund，Tom Lane）§","title":"不再要求在 ereport() 调用中使用额外的括号","variants":[],"version":"12.3"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["0bc8cebdb","9af2f7dc9","d67d7243f","d8e7f8149"],"commit_groups":[["0bc8cebdb","9af2f7dc9","d67d7243f","d8e7f8149"]],"commits":["d8e7f8149"],"cves":[],"db_id":"181cf5021acbd4f97607931003f4208e","html":"\u003cp\u003e在 \u003cspan\u003econfigure\u003c/span\u003e 期间，如果 \u003cspan\u003epkg-config\u003c/span\u003e 可用，则使用它定位 \u003cspan\u003elibxml2\u003c/span\u003e（Hugh McMaster，Tom Lane，Peter Eisentraut）\u003ca href=\"https://postgr.es/c/d8e7f8149\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e如果 \u003cspan\u003epkg-config\u003c/span\u003e 不存在，或不包含 \u003cspan\u003elibxml2\u003c/span\u003e 的信息，我们仍像以前一样查询 \u003cspan\u003exml2-config\u003c/span\u003e。\u003c/p\u003e\n\u003cp\u003e某些构建过程通过将非默认版本的 \u003cspan\u003exml2-config\u003c/span\u003e 放入 \u003ccode\u003ePATH\u003c/code\u003e，来让 \u003cspan\u003ePostgreSQL\u003c/span\u003e 使用该版本的 \u003cspan\u003elibxml2\u003c/span\u003e；此项修改可能使这些构建过程失效。应改为设置 \u003ccode\u003eXML2_CONFIG\u003c/code\u003e，使其指向非默认的 \u003cspan\u003exml2-config\u003c/span\u003e。这种方法对较旧和较新的 \u003cspan\u003ePostgreSQL\u003c/span\u003e 发行版都适用。\u003c/p\u003e","id":"12.3-8e9633b2cf874d7a","identity_text":"Use pkg-config, if available, to locate libxml2 during configure (Hugh McMaster, Tom Lane, Peter Eisentraut) If pkg-config is not present or lacks knowledge of libxml2, we still query xml2-config as before. This change could break build processes that try to make PostgreSQL use a non-default version of libxml2 by putting that version's xml2-config into the PATH. Instead, set XML2_CONFIG to point to the non-default xml2-config. That method will work with either older or newer PostgreSQL releases.","part":"changes","patch_ids":["00c4389a3c7f9457c14ca438fee3fac5"],"related_changes":[{"db_id":"3cea6693536c03e5221d8a38925dbe51","evidence":{"patch_ids":["00c4389a3c7f9457c14ca438fee3fac5"],"same_day":true,"statement_hash":"ee2b156e7e1e1b15df48e837ac377373a1c275f020355608adb35ac686b32c96"},"kind":"equivalent","label":"11.8","source_url":"/docs/release/11.8/#id-1.11.6.19.5","title":"在 configure 期间，如果 pkg-config 可用，则使用它定位 libxml2","url":"/docs/compare/?release=11.8#11.8-7b6894a94939304a","version":"11.8"},{"db_id":"3ec98377259244b743c78e96d9e206dd","evidence":{"patch_ids":["00c4389a3c7f9457c14ca438fee3fac5"],"same_day":true,"statement_hash":"ee2b156e7e1e1b15df48e837ac377373a1c275f020355608adb35ac686b32c96"},"kind":"equivalent","label":"10.13","source_url":"/docs/release/10.13/#id-1.11.6.15.5","title":"在 configure 期间，如果 pkg-config 可用，则使用它定位 libxml2","url":"/docs/compare/?release=10.13#10.13-7b6894a94939304a","version":"10.13"}],"relations":[{"evidence":{"patch_ids":["00c4389a3c7f9457c14ca438fee3fac5"],"same_day":true,"statement_hash":"ee2b156e7e1e1b15df48e837ac377373a1c275f020355608adb35ac686b32c96"},"rule":2,"target":"3cea6693536c03e5221d8a38925dbe51","type":"equivalent"},{"evidence":{"patch_ids":["00c4389a3c7f9457c14ca438fee3fac5"],"same_day":true,"statement_hash":"ee2b156e7e1e1b15df48e837ac377373a1c275f020355608adb35ac686b32c96"},"rule":2,"target":"3ec98377259244b743c78e96d9e206dd","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["d8e7f8149"],"source_entry_id":"12.3/changes/071","source_hash":"27c15928b8f318194b90a240a191fae00396b1f4d749baa0f5d88c7a0ee73854","source_url":"/docs/release/12.3/#id-1.11.6.25.5","statement_hash":"ee2b156e7e1e1b15df48e837ac377373a1c275f020355608adb35ac686b32c96","text":"在 configure 期间，如果 pkg-config 可用，则使用它定位 libxml2（Hugh McMaster，Tom Lane，Peter Eisentraut）§ 如果 pkg-config 不存在，或不包含 libxml2 的信息，我们仍像以前一样查询 xml2-config。 某些构建过程通过将非默认版本的 xml2-config 放入 PATH，来让 PostgreSQL 使用该版本的 libxml2；此项修改可能使这些构建过程失效。应改为设置 XML2_CONFIG，使其指向非默认的 xml2-config。这种方法对较旧和较新的 PostgreSQL 发行版都适用。","title":"在 configure 期间，如果 pkg-config 可用，则使用它定位 libxml2","variants":[],"version":"12.3"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["051fd5e0f","297a174d2"],"commit_groups":[["051fd5e0f","297a174d2"]],"commits":["297a174d2"],"cves":[],"db_id":"9cae6ae4c8f4fcf29ed82490ad62ac0b","html":"\u003cp\u003e修复 \u003cspan\u003elibpq\u003c/span\u003e 和 \u003cspan\u003eecpg\u003c/span\u003e 的 Makefile 依赖关系（Dagfinn Ilmari Mannsåker）\u003ca href=\"https://postgr.es/c/297a174d2\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"12.3-7678cf130ba3ca98","identity_text":"Fix Makefile dependencies for libpq and ecpg (Dagfinn Ilmari Mannsåker)","part":"changes","patch_ids":["15fb8da7f7e3b002c43b6c19be3fdf4a"],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":["297a174d2"],"source_entry_id":"12.3/changes/072","source_hash":"4f7eb1e6f08fd71de5d83080d737533b7cbfe6322f633f31cdc09640b050917e","source_url":"/docs/release/12.3/#id-1.11.6.25.5","statement_hash":"227cc28b4188174c0f1f3703a29a89ec07defc7c5d9a1319cfc8438b3b51f1a0","text":"修复 libpq 和 ecpg 的 Makefile 依赖关系（Dagfinn Ilmari Mannsåker）§","title":"修复 libpq 和 ecpg 的 Makefile 依赖关系","variants":[],"version":"12.3"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["307ed98b0","8c0939dad","984aca448","ad53d6efe","beb2516e9","e07fdc126"],"commit_groups":[["307ed98b0","8c0939dad","984aca448","ad53d6efe","beb2516e9","e07fdc126"]],"commits":["8c0939dad"],"cves":[],"db_id":"cab163a56507e9a58328f6d7550cc16c","html":"\u003cp\u003e在 MSVC 构建中，处理 Python 路径名中的空格（Victor Wagner）\u003ca href=\"https://postgr.es/c/8c0939dad\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"12.3-f81a271d41d259af","identity_text":"In MSVC builds, cope with spaces in the path name for Python (Victor Wagner)","part":"changes","patch_ids":["fe29dc1dae0fde16f1a528a87b647934"],"related_changes":[{"db_id":"f75739c9b2331c8ea9fcf7f7d98d7cbf","evidence":{"patch_ids":["fe29dc1dae0fde16f1a528a87b647934"],"same_day":true,"statement_hash":"4f3a3a43b159b6f290fa7553d5356a5d9e4c32d0ab7519b33471b8188b52d4ac"},"kind":"equivalent","label":"11.8","source_url":"/docs/release/11.8/#id-1.11.6.19.5","title":"在 MSVC 构建中，处理 Python 路径名中的空格","url":"/docs/compare/?release=11.8#11.8-bae71a53194d4401","version":"11.8"},{"db_id":"3ecc6d96e57e02bcac994f223f46c8ae","evidence":{"patch_ids":["fe29dc1dae0fde16f1a528a87b647934"],"same_day":true,"statement_hash":"4f3a3a43b159b6f290fa7553d5356a5d9e4c32d0ab7519b33471b8188b52d4ac"},"kind":"equivalent","label":"10.13","source_url":"/docs/release/10.13/#id-1.11.6.15.5","title":"在 MSVC 构建中，处理 Python 路径名中的空格","url":"/docs/compare/?release=10.13#10.13-bae71a53194d4401","version":"10.13"},{"db_id":"85922ac0b7dfcf77afae9fb612ffb63f","evidence":{"patch_ids":["fe29dc1dae0fde16f1a528a87b647934"],"same_day":true,"statement_hash":"4f3a3a43b159b6f290fa7553d5356a5d9e4c32d0ab7519b33471b8188b52d4ac"},"kind":"equivalent","label":"9.6.18","source_url":"/docs/release/9.6.18/#id-1.11.6.11.5","title":"在 MSVC 构建中，处理 Python 路径名中的空格","url":"/docs/compare/?release=9.6.18#9.6.18-bae71a53194d4401","version":"9.6.18"},{"db_id":"e1fc7c47c3f91a87315032845c953520","evidence":{"patch_ids":["fe29dc1dae0fde16f1a528a87b647934"],"same_day":true,"statement_hash":"4f3a3a43b159b6f290fa7553d5356a5d9e4c32d0ab7519b33471b8188b52d4ac"},"kind":"equivalent","label":"9.5.22","source_url":"/docs/release/9.5.22/#id-1.11.6.8.6","title":"在 MSVC 构建中，处理 Python 路径名中的空格","url":"/docs/compare/?release=9.5.22#9.5.22-bae71a53194d4401","version":"9.5.22"}],"relations":[{"evidence":{"patch_ids":["fe29dc1dae0fde16f1a528a87b647934"],"same_day":true,"statement_hash":"4f3a3a43b159b6f290fa7553d5356a5d9e4c32d0ab7519b33471b8188b52d4ac"},"rule":2,"target":"3ecc6d96e57e02bcac994f223f46c8ae","type":"equivalent"},{"evidence":{"patch_ids":["fe29dc1dae0fde16f1a528a87b647934"],"same_day":true,"statement_hash":"4f3a3a43b159b6f290fa7553d5356a5d9e4c32d0ab7519b33471b8188b52d4ac"},"rule":2,"target":"85922ac0b7dfcf77afae9fb612ffb63f","type":"equivalent"},{"evidence":{"patch_ids":["fe29dc1dae0fde16f1a528a87b647934"],"same_day":true,"statement_hash":"4f3a3a43b159b6f290fa7553d5356a5d9e4c32d0ab7519b33471b8188b52d4ac"},"rule":2,"target":"e1fc7c47c3f91a87315032845c953520","type":"equivalent"},{"evidence":{"patch_ids":["fe29dc1dae0fde16f1a528a87b647934"],"same_day":true,"statement_hash":"4f3a3a43b159b6f290fa7553d5356a5d9e4c32d0ab7519b33471b8188b52d4ac"},"rule":2,"target":"f75739c9b2331c8ea9fcf7f7d98d7cbf","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["8c0939dad"],"source_entry_id":"12.3/changes/073","source_hash":"4fa1d5f768b4dc26d0d6832777a97cf8cb5bacf905b6f616659326ebc09c0a22","source_url":"/docs/release/12.3/#id-1.11.6.25.5","statement_hash":"4f3a3a43b159b6f290fa7553d5356a5d9e4c32d0ab7519b33471b8188b52d4ac","text":"在 MSVC 构建中，处理 Python 路径名中的空格（Victor Wagner）§","title":"在 MSVC 构建中，处理 Python 路径名中的空格","variants":[],"version":"12.3"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["3ca17999f","4c9239d08","6b02bee66","758814224","a9659fb65","ddac64f2d"],"commit_groups":[["3ca17999f","4c9239d08","6b02bee66","758814224","a9659fb65","ddac64f2d"]],"commits":["6b02bee66"],"cves":[],"db_id":"00fda960ae46834024a000891161c6f4","html":"\u003cp\u003e在 MSVC 构建中，修复 Visual Studio 版本检测，使其适用于更多语言设置（Andrew Dunstan）\u003ca href=\"https://postgr.es/c/6b02bee66\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"12.3-0423eb9bbddb20f8","identity_text":"In MSVC builds, fix detection of Visual Studio version to work with more language settings (Andrew Dunstan)","part":"changes","patch_ids":["ac82ac6f720233c45fd83cd116e17de9"],"related_changes":[{"db_id":"25f142bd24abd40c480b00e6c18600a0","evidence":{"patch_ids":["ac82ac6f720233c45fd83cd116e17de9"],"same_day":true,"statement_hash":"05bb21fcc80736a894a41c2b34ca8363926eec3584f4bd5b29711fa15ffd2524"},"kind":"equivalent","label":"11.8","source_url":"/docs/release/11.8/#id-1.11.6.19.5","title":"在 MSVC 构建中，修复 Visual Studio 版本检测，使其适用于更多语言设置","url":"/docs/compare/?release=11.8#11.8-ef16d7ba22e8b874","version":"11.8"},{"db_id":"149da31b78f2dacb3304cbce55a58832","evidence":{"patch_ids":["ac82ac6f720233c45fd83cd116e17de9"],"same_day":true,"statement_hash":"05bb21fcc80736a894a41c2b34ca8363926eec3584f4bd5b29711fa15ffd2524"},"kind":"equivalent","label":"10.13","source_url":"/docs/release/10.13/#id-1.11.6.15.5","title":"在 MSVC 构建中，修复 Visual Studio 版本检测，使其适用于更多语言设置","url":"/docs/compare/?release=10.13#10.13-ef16d7ba22e8b874","version":"10.13"},{"db_id":"5862a44a00581c91933761eb30883ff3","evidence":{"patch_ids":["ac82ac6f720233c45fd83cd116e17de9"],"same_day":true,"statement_hash":"05bb21fcc80736a894a41c2b34ca8363926eec3584f4bd5b29711fa15ffd2524"},"kind":"equivalent","label":"9.6.18","source_url":"/docs/release/9.6.18/#id-1.11.6.11.5","title":"在 MSVC 构建中，修复 Visual Studio 版本检测以适应更多语言设置","url":"/docs/compare/?release=9.6.18#9.6.18-e45b8263fca24bad","version":"9.6.18"},{"db_id":"1aa28dec243bc3fb9c3f44f7c9e3140e","evidence":{"patch_ids":["ac82ac6f720233c45fd83cd116e17de9"],"same_day":true,"statement_hash":"05bb21fcc80736a894a41c2b34ca8363926eec3584f4bd5b29711fa15ffd2524"},"kind":"equivalent","label":"9.5.22","source_url":"/docs/release/9.5.22/#id-1.11.6.8.6","title":"在 MSVC 构建中，修复 Visual Studio 版本检测以适应更多语言设置","url":"/docs/compare/?release=9.5.22#9.5.22-e45b8263fca24bad","version":"9.5.22"}],"relations":[{"evidence":{"patch_ids":["ac82ac6f720233c45fd83cd116e17de9"],"same_day":true,"statement_hash":"05bb21fcc80736a894a41c2b34ca8363926eec3584f4bd5b29711fa15ffd2524"},"rule":2,"target":"149da31b78f2dacb3304cbce55a58832","type":"equivalent"},{"evidence":{"patch_ids":["ac82ac6f720233c45fd83cd116e17de9"],"same_day":true,"statement_hash":"05bb21fcc80736a894a41c2b34ca8363926eec3584f4bd5b29711fa15ffd2524"},"rule":2,"target":"1aa28dec243bc3fb9c3f44f7c9e3140e","type":"equivalent"},{"evidence":{"patch_ids":["ac82ac6f720233c45fd83cd116e17de9"],"same_day":true,"statement_hash":"05bb21fcc80736a894a41c2b34ca8363926eec3584f4bd5b29711fa15ffd2524"},"rule":2,"target":"25f142bd24abd40c480b00e6c18600a0","type":"equivalent"},{"evidence":{"patch_ids":["ac82ac6f720233c45fd83cd116e17de9"],"same_day":true,"statement_hash":"05bb21fcc80736a894a41c2b34ca8363926eec3584f4bd5b29711fa15ffd2524"},"rule":2,"target":"5862a44a00581c91933761eb30883ff3","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["6b02bee66"],"source_entry_id":"12.3/changes/074","source_hash":"eca9d0bc1703798210d1b495e67acf1ae6005b34b439c0a52583fc550c345f97","source_url":"/docs/release/12.3/#id-1.11.6.25.5","statement_hash":"05bb21fcc80736a894a41c2b34ca8363926eec3584f4bd5b29711fa15ffd2524","text":"在 MSVC 构建中，修复 Visual Studio 版本检测，使其适用于更多语言设置（Andrew Dunstan）§","title":"在 MSVC 构建中，修复 Visual Studio 版本检测，使其适用于更多语言设置","variants":[],"version":"12.3"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["3163349fd","467b40832","71c2fd0c0","80370836f","d0747714e","e8a6391fc"],"commit_groups":[["3163349fd","467b40832","71c2fd0c0","80370836f","d0747714e","e8a6391fc"]],"commits":["d0747714e"],"cves":[],"db_id":"a2b464387fc65926eb27c30151c6291c","html":"\u003cp\u003e在 MSVC 构建中，对高于 3.0 的 bison 版本使用 \u003ccode\u003e-Wno-deprecated\u003c/code\u003e，与非 Windows 构建现有行为一致（Andrew Dunstan）\u003ca href=\"https://postgr.es/c/d0747714e\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"12.3-85cae5c373d7ed16","identity_text":"In MSVC builds, use -Wno-deprecated with bison versions newer than 3.0, as non-Windows builds already do (Andrew Dunstan)","part":"changes","patch_ids":["8207380c85dae25f82a497ab4bd094bc"],"related_changes":[{"db_id":"e98154d53927ee357929e6035953a6e2","evidence":{"patch_ids":["8207380c85dae25f82a497ab4bd094bc"],"same_day":true,"statement_hash":"80e3b843d2469cca0f95cb8d1d9051c31a80127544516155dc2273a85ebbe5e3"},"kind":"equivalent","label":"11.8","source_url":"/docs/release/11.8/#id-1.11.6.19.5","title":"在 MSVC 构建中，对高于 3.0 的 bison 版本使用 -Wno-deprecated，与非 Windows 构建现有行为一致","url":"/docs/compare/?release=11.8#11.8-c2ad5dd7fb75ff22","version":"11.8"},{"db_id":"867821c64e4237e0170771ad809d1d57","evidence":{"patch_ids":["8207380c85dae25f82a497ab4bd094bc"],"same_day":true,"statement_hash":"80e3b843d2469cca0f95cb8d1d9051c31a80127544516155dc2273a85ebbe5e3"},"kind":"equivalent","label":"10.13","source_url":"/docs/release/10.13/#id-1.11.6.15.5","title":"在 MSVC 构建中，对高于 3.0 的 bison 版本使用 -Wno-deprecated，与非 Windows 构建现有行为一致","url":"/docs/compare/?release=10.13#10.13-c2ad5dd7fb75ff22","version":"10.13"},{"db_id":"a63dc5011f682eb0d974c5280cbe49c8","evidence":{"patch_ids":["8207380c85dae25f82a497ab4bd094bc"],"same_day":true,"statement_hash":"80e3b843d2469cca0f95cb8d1d9051c31a80127544516155dc2273a85ebbe5e3"},"kind":"equivalent","label":"9.6.18","source_url":"/docs/release/9.6.18/#id-1.11.6.11.5","title":"在 MSVC 构建中，对 3.0 之后的 bison 版本使用 -Wno-deprecated，与非 Windows 构建已经做的一样","url":"/docs/compare/?release=9.6.18#9.6.18-629774e3f0311503","version":"9.6.18"},{"db_id":"781b1069e93a5c87fc53cef184cd8e6b","evidence":{"patch_ids":["8207380c85dae25f82a497ab4bd094bc"],"same_day":true,"statement_hash":"80e3b843d2469cca0f95cb8d1d9051c31a80127544516155dc2273a85ebbe5e3"},"kind":"equivalent","label":"9.5.22","source_url":"/docs/release/9.5.22/#id-1.11.6.8.6","title":"在 MSVC 构建中，对 3.0 之后的 bison 版本使用 -Wno-deprecated，与非 Windows 构建已经做的一样","url":"/docs/compare/?release=9.5.22#9.5.22-629774e3f0311503","version":"9.5.22"}],"relations":[{"evidence":{"patch_ids":["8207380c85dae25f82a497ab4bd094bc"],"same_day":true,"statement_hash":"80e3b843d2469cca0f95cb8d1d9051c31a80127544516155dc2273a85ebbe5e3"},"rule":2,"target":"781b1069e93a5c87fc53cef184cd8e6b","type":"equivalent"},{"evidence":{"patch_ids":["8207380c85dae25f82a497ab4bd094bc"],"same_day":true,"statement_hash":"80e3b843d2469cca0f95cb8d1d9051c31a80127544516155dc2273a85ebbe5e3"},"rule":2,"target":"867821c64e4237e0170771ad809d1d57","type":"equivalent"},{"evidence":{"patch_ids":["8207380c85dae25f82a497ab4bd094bc"],"same_day":true,"statement_hash":"80e3b843d2469cca0f95cb8d1d9051c31a80127544516155dc2273a85ebbe5e3"},"rule":2,"target":"a63dc5011f682eb0d974c5280cbe49c8","type":"equivalent"},{"evidence":{"patch_ids":["8207380c85dae25f82a497ab4bd094bc"],"same_day":true,"statement_hash":"80e3b843d2469cca0f95cb8d1d9051c31a80127544516155dc2273a85ebbe5e3"},"rule":2,"target":"e98154d53927ee357929e6035953a6e2","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["d0747714e"],"source_entry_id":"12.3/changes/075","source_hash":"43475024e9928fd6dbc5fce01279c2ae1c70a7e50bfeab4c3e65ded784b1b10c","source_url":"/docs/release/12.3/#id-1.11.6.25.5","statement_hash":"80e3b843d2469cca0f95cb8d1d9051c31a80127544516155dc2273a85ebbe5e3","text":"在 MSVC 构建中，对高于 3.0 的 bison 版本使用 -Wno-deprecated，与非 Windows 构建现有行为一致（Andrew Dunstan）§","title":"在 MSVC 构建中，对高于 3.0 的 bison 版本使用 -Wno-deprecated，与非 Windows 构建现有行为一致","variants":[],"version":"12.3"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["1e07e3fc0","351252904","39006ae7a","3cdb45c54","3f3ab184c","40d4bc5ac","4985b3b84","4cac3a49e","66be99742","6c5f91616","898921a18","99c9ed224","a2342c658","b31f9fd63","bd8c5cee9","c820692bd","eb335bc62","f65f3a5d8"],"commit_groups":[["1e07e3fc0","3cdb45c54","40d4bc5ac","6c5f91616","b31f9fd63","f65f3a5d8"],["351252904","3f3ab184c","4985b3b84","99c9ed224","a2342c658","bd8c5cee9"],["39006ae7a","4cac3a49e","66be99742","898921a18","c820692bd","eb335bc62"]],"commits":["1e07e3fc0","a2342c658","c820692bd"],"cves":[],"db_id":"0e1d44c5c78b1de1d61e0a2e08ecd487","html":"\u003cp\u003e将时区数据文件更新到 \u003cspan\u003etzdata\u003c/span\u003e 2020a 版，以反映摩洛哥和加拿大育空地区的夏令时法规变更，并修正上海的历史数据。（Tom Lane）\u003ca href=\"https://postgr.es/c/c820692bd\"\u003e§\u003c/a\u003e \u003ca href=\"https://postgr.es/c/1e07e3fc0\"\u003e§\u003c/a\u003e \u003ca href=\"https://postgr.es/c/a2342c658\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eAmerica/Godthab 时区已更名为 America/Nuuk，以反映当前英语用法；不过，旧名称仍作为兼容性链接保留。\u003c/p\u003e\n\u003cp\u003e另外，更新 \u003cspan\u003einitdb\u003c/span\u003e 的已知 Windows 时区名称列表，纳入最近新增的名称，提高在该平台上正确转换系统时区设置的可能性。\u003c/p\u003e","id":"12.3-93a238e676d9ea58","identity_text":"Update time zone data files to tzdata release 2020a for DST law changes in Morocco and the Canadian Yukon, plus historical corrections for Shanghai. (Tom Lane) The America/Godthab zone has been renamed to America/Nuuk to reflect current English usage; however, the old name remains available as a compatibility link. Also, update initdb's list of known Windows time zone names to include recent additions, improving the odds that it will correctly translate the system time zone setting on that platform.","part":"changes","patch_ids":["6b0e2eae73eff06e8b112dc510b6f46c","a3db554c04faeca515c6443540ba2f98","dccfdc8741e1af73db4e9ae1b3ee68ea"],"related_changes":[{"db_id":"37edc767b610263d920f70cc5dce0d3a","evidence":{"patch_ids":["6b0e2eae73eff06e8b112dc510b6f46c","a3db554c04faeca515c6443540ba2f98","dccfdc8741e1af73db4e9ae1b3ee68ea"],"same_day":true},"kind":"equivalent","label":"11.8","source_url":"/docs/release/11.8/#id-1.11.6.19.5","title":"将时区数据文件更新到 tzdata 2020a 版，以反映摩洛哥和加拿大育空地区的夏令时法规变更，并修正上海的历史数据。","url":"/docs/compare/?release=11.8#11.8-d589194aabb1df08","version":"11.8"},{"db_id":"b34439464cb4306067e1821595585664","evidence":{"patch_ids":["6b0e2eae73eff06e8b112dc510b6f46c","a3db554c04faeca515c6443540ba2f98","dccfdc8741e1af73db4e9ae1b3ee68ea"],"same_day":true},"kind":"equivalent","label":"10.13","source_url":"/docs/release/10.13/#id-1.11.6.15.5","title":"将时区数据文件更新到 tzdata 2020a 版，以反映摩洛哥和加拿大育空地区的夏令时法规变更，并修正上海的历史数据。","url":"/docs/compare/?release=10.13#10.13-d589194aabb1df08","version":"10.13"},{"db_id":"78700f89eac4464583602eff3f2efff1","evidence":{"patch_ids":["6b0e2eae73eff06e8b112dc510b6f46c","a3db554c04faeca515c6443540ba2f98","dccfdc8741e1af73db4e9ae1b3ee68ea"],"same_day":true},"kind":"equivalent","label":"9.6.18","source_url":"/docs/release/9.6.18/#id-1.11.6.11.5","title":"更新时区数据文件到 tzdata 版本 2020a，涉及摩洛哥和加拿大育空的夏令时法规变更，以及上海的历史修正。","url":"/docs/compare/?release=9.6.18#9.6.18-20f382e14391e21c","version":"9.6.18"},{"db_id":"082e3124590e139fbc890ad8e6c1cfbb","evidence":{"patch_ids":["6b0e2eae73eff06e8b112dc510b6f46c","a3db554c04faeca515c6443540ba2f98","dccfdc8741e1af73db4e9ae1b3ee68ea"],"same_day":true},"kind":"equivalent","label":"9.5.22","source_url":"/docs/release/9.5.22/#id-1.11.6.8.6","title":"更新时区数据文件到 tzdata 版本 2020a，涉及摩洛哥和加拿大育空的夏令时法规变更，以及上海的历史修正。","url":"/docs/compare/?release=9.5.22#9.5.22-20f382e14391e21c","version":"9.5.22"}],"relations":[{"evidence":{"patch_ids":["6b0e2eae73eff06e8b112dc510b6f46c","a3db554c04faeca515c6443540ba2f98","dccfdc8741e1af73db4e9ae1b3ee68ea"],"same_day":true},"rule":2,"target":"082e3124590e139fbc890ad8e6c1cfbb","type":"equivalent"},{"evidence":{"patch_ids":["6b0e2eae73eff06e8b112dc510b6f46c","a3db554c04faeca515c6443540ba2f98","dccfdc8741e1af73db4e9ae1b3ee68ea"],"same_day":true},"rule":2,"target":"37edc767b610263d920f70cc5dce0d3a","type":"equivalent"},{"evidence":{"patch_ids":["6b0e2eae73eff06e8b112dc510b6f46c","a3db554c04faeca515c6443540ba2f98","dccfdc8741e1af73db4e9ae1b3ee68ea"],"same_day":true},"rule":2,"target":"78700f89eac4464583602eff3f2efff1","type":"equivalent"},{"evidence":{"patch_ids":["6b0e2eae73eff06e8b112dc510b6f46c","a3db554c04faeca515c6443540ba2f98","dccfdc8741e1af73db4e9ae1b3ee68ea"],"same_day":true},"rule":2,"target":"b34439464cb4306067e1821595585664","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["1e07e3fc0","a2342c658","c820692bd"],"source_entry_id":"12.3/changes/076","source_hash":"825767200ed862fe11eafc9a6ba95848867a33e0b949c7272e09e60ca1c3905e","source_url":"/docs/release/12.3/#id-1.11.6.25.5","statement_hash":"386c8018cd0767e77d2567a2981de51339f1f38c6060f85760b6a3a744088c52","text":"将时区数据文件更新到 tzdata 2020a 版，以反映摩洛哥和加拿大育空地区的夏令时法规变更，并修正上海的历史数据。（Tom Lane）§ § § America/Godthab 时区已更名为 America/Nuuk，以反映当前英语用法；不过，旧名称仍作为兼容性链接保留。 另外，更新 initdb 的已知 Windows 时区名称列表，纳入最近新增的名称，提高在该平台上正确转换系统时区设置的可能性。","title":"将时区数据文件更新到 tzdata 2020a 版，以反映摩洛哥和加拿大育空地区的夏令时法规变更，并修正上海的历史数据。","variants":[],"version":"12.3"}],"entry_count":76,"eol":"2024-11-21","eol_date":"2024-11-21","label":"12.3","major":"12","manual":"12","manual_build":"12.22","manual_url":"/docs/12/release-12-3.html","migration_html":"\u003cp\u003e对于运行 12.X 的用户，不需要执行导出/恢复。\u003c/p\u003e\n\u003cp\u003e但是，如果是从早于 12.2 的版本升级，请参见\u003ca href=\"/docs/12/release-12-2.html\" title=\"E.21. 发布版本 12.2\"\u003e第 E.21 节\u003c/a\u003e。\u003c/p\u003e","minor":3,"placeholder":false,"source_as_of":"","source_url":"/docs/release/12.3/","status":"stable","status_label":"Historical","support_days":-688,"supported":false,"version":"12.3"}],"mode":"release","release_count":1,"remaining_cves":[],"security_as_of":"2026-09-26","security_regressions":[],"source_as_of":"2026-09-26","stats":[{"count":76,"key":"all","label":"All changes"},{"count":0,"key":"feature","label":"Features"},{"count":31,"key":"bugfix","label":"Bug fixes"},{"count":0,"key":"security","label":"Security"},{"count":0,"key":"performance","label":"Performance"},{"count":0,"key":"compatibility","label":"Compatibility"},{"count":45,"key":"improvement","label":"Improvements"}],"to_release":{"age_days":2340,"build":"12.3","changes_count":76,"compatibility_count":0,"content_hash":"49c086ca81f71fd2fcd88af447c510202d85af26c1031f0b18ce971ecc84fc44","date":"2020-05-14","date_text":"2020-05-14","doc_git":"","doc_loaded_at":"2026-09-26T02:56:41.471523","entry_count":76,"eol":"2024-11-21","eol_date":"2024-11-21","label":"12.3","major":"12","manual":"12","manual_build":"12.22","manual_url":"/docs/12/release-12-3.html","migration_html":"\u003cp\u003e对于运行 12.X 的用户，不需要执行导出/恢复。\u003c/p\u003e\n\u003cp\u003e但是，如果是从早于 12.2 的版本升级，请参见\u003ca href=\"/docs/12/release-12-2.html\" title=\"E.21. 发布版本 12.2\"\u003e第 E.21 节\u003c/a\u003e。\u003c/p\u003e","minor":3,"placeholder":false,"source_as_of":"","source_url":"/docs/release/12.3/","status":"stable","status_label":"Historical","support_days":-688,"supported":false,"version":"12.3"},"total":76,"warnings":[]}
