{"already_in_source_count":0,"candidate_count":73,"cross_major":false,"cve_available":true,"cve_count":0,"cves":[],"duplicate_count":0,"excluded_count":0,"exclusions":[],"from_release":null,"groups":[{"age_days":2795,"build":"11.2","changes_count":73,"compatibility_count":0,"content_hash":"fae20c30d99ff7a2d001532832e0ce86a53a23c2d7c0da60e8b221a50dd91e4e","date":"2019-02-14","date_text":"2019-02-14","doc_git":"","doc_loaded_at":"2026-09-26T02:56:42.383207","entries":[{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["312435232","6534d544c","9ccdd7f66","afbe03f65","b9cce9ddf","f1ff5f51d"],"commit_groups":[["312435232","6534d544c","9ccdd7f66","afbe03f65","b9cce9ddf","f1ff5f51d"]],"commits":[],"cves":[],"db_id":"8ce6bd55929a0b3c450ee07d29f592c1","html":"\u003cp\u003e默认在 \u003ccode\u003efsync()\u003c/code\u003e 失败后触发 panic，而不重试，以避免可能的数据损坏（Craig Ringer，Thomas Munro）\u003c/p\u003e\n\u003cp\u003e某些常见操作系统在无法写出内核数据缓冲区时会丢弃它们，并将其报告为 \u003ccode\u003efsync()\u003c/code\u003e 失败。如果重新发出 \u003ccode\u003efsync()\u003c/code\u003e 请求，它会成功，但实际上数据已丢失，因此继续运行有数据库损坏的风险。改为触发 panic 后，我们可以从 WAL 重放；在这种情况下，WAL 可能包含数据仅存的副本。虽然这种做法显然不够理想且效率低下，但替代方案很少，所幸这种情况极少发生。\u003c/p\u003e\n\u003cp\u003e为控制此行为，添加了新的服务器参数\u003ca href=\"/docs/11/runtime-config-error-handling.html#GUC-DATA-SYNC-RETRY\"\u003edata_sync_retry\u003c/a\u003e；如果确信内核不会在此类情况下丢弃脏数据缓冲区，可以将 \u003ccode\u003edata_sync_retry\u003c/code\u003e 设置为 \u003ccode\u003eon\u003c/code\u003e，恢复以前的行为。\u003c/p\u003e","id":"11.2-95c937dd40c23a27","identity_text":"By default, panic instead of retrying after fsync() failure, to avoid possible data corruption (Craig Ringer, Thomas Munro) Some popular operating systems discard kernel data buffers when unable to write them out, reporting this as fsync() failure. If we reissue the fsync() request it will succeed, but in fact the data has been lost, so continuing risks database corruption. By raising a panic condition instead, we can replay from WAL, which may contain the only remaining copy of the data in such a situation. While this is surely ugly and inefficient, there are few alternatives, and fortunately the case happens very rarely. A new server parameter guc-data-sync-retry has been added to control this; if you are certain that your kernel does not discard dirty data buffers in such scenarios, you can set data_sync_retry to on to restore the old behavior.","part":"changes","patch_ids":["1cd20419bd6603ee4fa060589acd75a7"],"related_changes":[{"db_id":"04c328284becc54430b265ccea5bb2b4","evidence":{"patch_ids":["1cd20419bd6603ee4fa060589acd75a7"],"same_day":true,"statement_hash":"98e41f64860dadd2ea173c160870aedaa4ce240185b3e6a65783b799ed55f23c"},"kind":"equivalent","label":"10.7","source_url":"/docs/release/10.7/#id-1.11.6.21.5","title":"默认在 fsync() 失败后触发 panic，而不重试，以避免可能的数据损坏","url":"/docs/compare/?release=10.7#10.7-95c937dd40c23a27","version":"10.7"},{"db_id":"8618df39ed6f253f6af6ade4524563f4","evidence":{"patch_ids":["1cd20419bd6603ee4fa060589acd75a7"],"same_day":true,"statement_hash":"98e41f64860dadd2ea173c160870aedaa4ce240185b3e6a65783b799ed55f23c"},"kind":"equivalent","label":"9.6.12","source_url":"/docs/release/9.6.12/#id-1.11.6.17.5","title":"默认情况下，fsync() 失败后 panic 而不是重试，以避免可能的数据损坏","url":"/docs/compare/?release=9.6.12#9.6.12-1b2d4e9d0c94e304","version":"9.6.12"},{"db_id":"2de3ac171ddc2856721ffd607512e2e2","evidence":{"patch_ids":["1cd20419bd6603ee4fa060589acd75a7"],"same_day":true,"statement_hash":"98e41f64860dadd2ea173c160870aedaa4ce240185b3e6a65783b799ed55f23c"},"kind":"equivalent","label":"9.5.16","source_url":"/docs/release/9.5.16/#id-1.11.6.14.5","title":"默认情况下，fsync() 失败后 panic 而不是重试，以避免可能的数据损坏","url":"/docs/compare/?release=9.5.16#9.5.16-1b2d4e9d0c94e304","version":"9.5.16"},{"db_id":"c30342616267698884b38e953ccaa620","evidence":{"patch_ids":["1cd20419bd6603ee4fa060589acd75a7"],"same_day":true,"statement_hash":"98e41f64860dadd2ea173c160870aedaa4ce240185b3e6a65783b799ed55f23c"},"kind":"equivalent","label":"9.4.21","source_url":"/docs/release/9.4.21/#id-1.11.6.10.6","title":"默认情况下，fsync() 失败后 panic 而不是重试，以避免可能的数据损坏","url":"/docs/compare/?release=9.4.21#9.4.21-1b2d4e9d0c94e304","version":"9.4.21"}],"relations":[{"evidence":{"patch_ids":["1cd20419bd6603ee4fa060589acd75a7"],"same_day":true,"statement_hash":"98e41f64860dadd2ea173c160870aedaa4ce240185b3e6a65783b799ed55f23c"},"rule":2,"target":"04c328284becc54430b265ccea5bb2b4","type":"equivalent"},{"evidence":{"patch_ids":["1cd20419bd6603ee4fa060589acd75a7"],"same_day":true,"statement_hash":"98e41f64860dadd2ea173c160870aedaa4ce240185b3e6a65783b799ed55f23c"},"rule":2,"target":"2de3ac171ddc2856721ffd607512e2e2","type":"equivalent"},{"evidence":{"patch_ids":["1cd20419bd6603ee4fa060589acd75a7"],"same_day":true,"statement_hash":"98e41f64860dadd2ea173c160870aedaa4ce240185b3e6a65783b799ed55f23c"},"rule":2,"target":"8618df39ed6f253f6af6ade4524563f4","type":"equivalent"},{"evidence":{"patch_ids":["1cd20419bd6603ee4fa060589acd75a7"],"same_day":true,"statement_hash":"98e41f64860dadd2ea173c160870aedaa4ce240185b3e6a65783b799ed55f23c"},"rule":2,"target":"c30342616267698884b38e953ccaa620","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["6534d544c"],"source_entry_id":"11.2/changes/001","source_hash":"9b8a392323eda52c556e453eb1ce2e1ac0a8a44974b689de2975316510fdd605","source_url":"/docs/release/11.2/#id-1.11.6.25.5","statement_hash":"98e41f64860dadd2ea173c160870aedaa4ce240185b3e6a65783b799ed55f23c","text":"默认在 fsync() 失败后触发 panic，而不重试，以避免可能的数据损坏（Craig Ringer，Thomas Munro） 某些常见操作系统在无法写出内核数据缓冲区时会丢弃它们，并将其报告为 fsync() 失败。如果重新发出 fsync() 请求，它会成功，但实际上数据已丢失，因此继续运行有数据库损坏的风险。改为触发 panic 后，我们可以从 WAL 重放；在这种情况下，WAL 可能包含数据仅存的副本。虽然这种做法显然不够理想且效率低下，但替代方案很少，所幸这种情况极少发生。 为控制此行为，添加了新的服务器参数data_sync_retry；如果确信内核不会在此类情况下丢弃脏数据缓冲区，可以将 data_sync_retry 设置为 on，恢复以前的行为。","title":"默认在 fsync() 失败后触发 panic，而不重试，以避免可能的数据损坏","variants":[],"version":"11.2"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["0d13dd371","2b2427115","527b5ed1a","60b1d6c2a","bb428cb11","ed64db588"],"commit_groups":[["0d13dd371","2b2427115","527b5ed1a","60b1d6c2a","bb428cb11","ed64db588"]],"commits":[],"cves":[],"db_id":"450c05467c6eb16175952aa5f906c571","html":"\u003cp\u003e仅在各大版本分支的文档中包含该分支的发布说明，而非在该分支及所有后续分支中重复包含（Tom Lane）\u003c/p\u003e\n\u003cp\u003e此前政策造成的重复内容已难以控制。我们计划在项目网站上提供完整的发布说明归档，但不在每个发行版中重复包含。\u003c/p\u003e","id":"11.2-a87585c29ba688d4","identity_text":"Include each major release branch's release notes in the documentation for only that branch, rather than that branch and all later ones (Tom Lane) The duplication induced by the previous policy was getting out of hand. Our plan is to provide a full archive of release notes on the project's web site, but not duplicate it within each release.","part":"changes","patch_ids":["3a494ea15551633c6fadd8d8b3872657"],"related_changes":[{"db_id":"fb65ab094feb449fa0c25a657a0529c7","evidence":{"patch_ids":["3a494ea15551633c6fadd8d8b3872657"],"same_day":true,"statement_hash":"def87da337acf6afa1339c1007c8e019555ec62f013cacbdbd412a84dae2f5ae"},"kind":"equivalent","label":"10.7","source_url":"/docs/release/10.7/#id-1.11.6.21.5","title":"仅在各大版本分支的文档中包含该分支的发布说明，而非在该分支及所有后续分支中重复包含","url":"/docs/compare/?release=10.7#10.7-a87585c29ba688d4","version":"10.7"},{"db_id":"4646d309f18ac7fa2bf41e21e3575e15","evidence":{"patch_ids":["3a494ea15551633c6fadd8d8b3872657"],"same_day":true,"statement_hash":"def87da337acf6afa1339c1007c8e019555ec62f013cacbdbd412a84dae2f5ae"},"kind":"equivalent","label":"9.6.12","source_url":"/docs/release/9.6.12/#id-1.11.6.17.5","title":"每个大版本分支的文档只包含该分支的发行说明，而不是该分支及所有之后分支的","url":"/docs/compare/?release=9.6.12#9.6.12-063aea2d3c25829a","version":"9.6.12"},{"db_id":"e673f6c4ec8d4ea12161e9fdfd743fc5","evidence":{"patch_ids":["3a494ea15551633c6fadd8d8b3872657"],"same_day":true,"statement_hash":"def87da337acf6afa1339c1007c8e019555ec62f013cacbdbd412a84dae2f5ae"},"kind":"equivalent","label":"9.5.16","source_url":"/docs/release/9.5.16/#id-1.11.6.14.5","title":"每个大版本分支的文档只包含该分支的发行说明，而不是该分支及所有之后分支的","url":"/docs/compare/?release=9.5.16#9.5.16-063aea2d3c25829a","version":"9.5.16"},{"db_id":"6e11681ce0757e659f9ee169e455395b","evidence":{"patch_ids":["3a494ea15551633c6fadd8d8b3872657"],"same_day":true,"statement_hash":"def87da337acf6afa1339c1007c8e019555ec62f013cacbdbd412a84dae2f5ae"},"kind":"equivalent","label":"9.4.21","source_url":"/docs/release/9.4.21/#id-1.11.6.10.6","title":"每个大版本分支的文档只包含该分支的发行说明，而不是该分支及所有之后分支的","url":"/docs/compare/?release=9.4.21#9.4.21-063aea2d3c25829a","version":"9.4.21"}],"relations":[{"evidence":{"patch_ids":["3a494ea15551633c6fadd8d8b3872657"],"same_day":true,"statement_hash":"def87da337acf6afa1339c1007c8e019555ec62f013cacbdbd412a84dae2f5ae"},"rule":2,"target":"4646d309f18ac7fa2bf41e21e3575e15","type":"equivalent"},{"evidence":{"patch_ids":["3a494ea15551633c6fadd8d8b3872657"],"same_day":true,"statement_hash":"def87da337acf6afa1339c1007c8e019555ec62f013cacbdbd412a84dae2f5ae"},"rule":2,"target":"6e11681ce0757e659f9ee169e455395b","type":"equivalent"},{"evidence":{"patch_ids":["3a494ea15551633c6fadd8d8b3872657"],"same_day":true,"statement_hash":"def87da337acf6afa1339c1007c8e019555ec62f013cacbdbd412a84dae2f5ae"},"rule":2,"target":"e673f6c4ec8d4ea12161e9fdfd743fc5","type":"equivalent"},{"evidence":{"patch_ids":["3a494ea15551633c6fadd8d8b3872657"],"same_day":true,"statement_hash":"def87da337acf6afa1339c1007c8e019555ec62f013cacbdbd412a84dae2f5ae"},"rule":2,"target":"fb65ab094feb449fa0c25a657a0529c7","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["0d13dd371"],"source_entry_id":"11.2/changes/002","source_hash":"eb4672b82676dd2319656528a3f5b5dd6da81540f386eb5bcdb4cfed3fb0a5a0","source_url":"/docs/release/11.2/#id-1.11.6.25.5","statement_hash":"def87da337acf6afa1339c1007c8e019555ec62f013cacbdbd412a84dae2f5ae","text":"仅在各大版本分支的文档中包含该分支的发布说明，而非在该分支及所有后续分支中重复包含（Tom Lane） 此前政策造成的重复内容已难以控制。我们计划在项目网站上提供完整的发布说明归档，但不在每个发行版中重复包含。","title":"仅在各大版本分支的文档中包含该分支的发布说明，而非在该分支及所有后续分支中重复包含","variants":[],"version":"11.2"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["0ad41cf53","74aa7e046"],"commit_groups":[["0ad41cf53","74aa7e046"]],"commits":[],"cves":[],"db_id":"bc9bc35b5ebd7b79ee5df8120021d25d","html":"\u003cp\u003e修复分区表上带有 \u003ccode\u003eINCLUDE\u003c/code\u003e 列的唯一索引的处理（Álvaro Herrera）\u003c/p\u003e\n\u003cp\u003e在这种情况下，唯一性条件未得到正确检查。\u003c/p\u003e","id":"11.2-6b7bc99b1a5003f5","identity_text":"Fix handling of unique indexes with INCLUDE columns on partitioned tables (Álvaro Herrera) The uniqueness condition was not checked properly in such cases.","part":"changes","patch_ids":["a1224595c6e963235a084682e378a9fc"],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":["74aa7e046"],"source_entry_id":"11.2/changes/003","source_hash":"eacd24227f91342e67ee3dfa7fd4fe76a7513e1426e3149180d233d8e6cc6519","source_url":"/docs/release/11.2/#id-1.11.6.25.5","statement_hash":"54f2bfe40e9985c46fb747e19d722fdc58ef6ce3d2bd976b8234a34cb05d99a5","text":"修复分区表上带有 INCLUDE 列的唯一索引的处理（Álvaro Herrera） 在这种情况下，唯一性条件未得到正确检查。","title":"修复分区表上带有 INCLUDE 列的唯一索引的处理","variants":[],"version":"11.2"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["21c9e4973","705d433fd","e0c05bf4a"],"commit_groups":[["21c9e4973","705d433fd","e0c05bf4a"]],"commits":[],"cves":[],"db_id":"d6ba50a39713de398bc3341e8e8922b4","html":"\u003cp\u003e确保分区表的 \u003ccode\u003eNOT NULL\u003c/code\u003e 约束在其分区中得到遵循（Álvaro Herrera，Amit Langote）\u003c/p\u003e","id":"11.2-b71c67826275f1cc","identity_text":"Ensure that NOT NULL constraints of a partitioned table are honored within its partitions (Álvaro Herrera, Amit Langote)","part":"changes","patch_ids":["4810dd75fa3b0be84786600f75e12b06"],"related_changes":[{"db_id":"884044bcdbc9913c4d8c177b9fbe8a8d","evidence":{"patch_ids":["4810dd75fa3b0be84786600f75e12b06"],"same_day":true,"statement_hash":"abea7f10fabacce2bb71296689e478ce47c803ebbc390487f833bb2dc002d786"},"kind":"equivalent","label":"10.7","source_url":"/docs/release/10.7/#id-1.11.6.21.5","title":"确保分区表的 NOT NULL 约束在其分区中得到遵循","url":"/docs/compare/?release=10.7#10.7-b71c67826275f1cc","version":"10.7"}],"relations":[{"evidence":{"patch_ids":["4810dd75fa3b0be84786600f75e12b06"],"same_day":true,"statement_hash":"abea7f10fabacce2bb71296689e478ce47c803ebbc390487f833bb2dc002d786"},"rule":2,"target":"884044bcdbc9913c4d8c177b9fbe8a8d","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["e0c05bf4a"],"source_entry_id":"11.2/changes/004","source_hash":"3d0f37ccce467e72e081a20db5d910914449625fa0a6df17994155db71c3a16d","source_url":"/docs/release/11.2/#id-1.11.6.25.5","statement_hash":"abea7f10fabacce2bb71296689e478ce47c803ebbc390487f833bb2dc002d786","text":"确保分区表的 NOT NULL 约束在其分区中得到遵循（Álvaro Herrera，Amit Langote）","title":"确保分区表的 NOT NULL 约束在其分区中得到遵循","variants":[],"version":"11.2"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["00376eaa2","19184fcc0","1ad521099","71eba8399","ae366aa57","efd9366dc"],"commit_groups":[["00376eaa2","ae366aa57"],["19184fcc0","71eba8399"],["1ad521099","efd9366dc"]],"commits":[],"cves":[],"db_id":"236d5e067498e42a84fff721d894438e","html":"\u003cp\u003e分离分区时，正确更新分区表约束的目录状态（Amit Langote，Álvaro Herrera）\u003c/p\u003e\n\u003cp\u003e以前，此类约束的 \u003ccode\u003epg_constraint\u003c/code\u003e.\u003ccode\u003econislocal\u003c/code\u003e 字段可能被错误地保留为 \u003ccode\u003efalse\u003c/code\u003e，使其无法删除。转储/恢复或 pg_upgrade 可以解决此问题，但必要时也可以手动调整该目录字段。\u003c/p\u003e","id":"11.2-17779feb041ff2f4","identity_text":"Update catalog state correctly for partition table constraints when detaching their partition (Amit Langote, Álvaro Herrera) Previously, the pg_constraint.conislocal field for such a constraint might improperly be left as false, rendering it undroppable. A dump/restore or pg_upgrade would cure the problem, but if necessary, the catalog field can be adjusted manually.","part":"changes","patch_ids":["2c8a00fd2a940a64860e2d3fd02812de","7caaaa91c184274e4b4fce70ab81fcb5","b7807d5ab6d0963527084bbefecd085a"],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":["00376eaa2","1ad521099","71eba8399"],"source_entry_id":"11.2/changes/005","source_hash":"68ba831b39e09def62508cbd420f877727d9adbe2de9c1fb37f409e3429c204f","source_url":"/docs/release/11.2/#id-1.11.6.25.5","statement_hash":"60d2153f0c67946adbc8328946b8b0a518b522c1a5ddd2b7f264f6b006aa14c6","text":"分离分区时，正确更新分区表约束的目录状态（Amit Langote，Álvaro Herrera） 以前，此类约束的 pg_constraint.conislocal 字段可能被错误地保留为 false，使其无法删除。转储/恢复或 pg_upgrade 可以解决此问题，但必要时也可以手动调整该目录字段。","title":"分离分区时，正确更新分区表约束的目录状态","variants":[],"version":"11.2"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["0464fdf07","123cc697a","cb90de1aa","cc126b45e"],"commit_groups":[["0464fdf07","123cc697a"],["cb90de1aa","cc126b45e"]],"commits":[],"cves":[],"db_id":"0ad90a60572166f1fc453ae5bf247bb2","html":"\u003cp\u003e向具有外键约束的分区表附加分区或从中分离分区时，正确创建或删除用于实施外键约束的触发器（Amit Langote，Álvaro Herrera）\u003c/p\u003e","id":"11.2-31fe92849cf2cbf0","identity_text":"Create or delete foreign key enforcement triggers correctly when attaching or detaching a partition in a partitioned table that has a foreign-key constraint (Amit Langote, Álvaro Herrera)","part":"changes","patch_ids":["a928219fcafdd7e55e171328afe046c8","d5cf7763e3047a1477f78d39f4c1e715"],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":["123cc697a","cc126b45e"],"source_entry_id":"11.2/changes/006","source_hash":"9836b4848c4a8ce54d207112778fc8cecbbbfbf310379f55ee1a99e72608e5d3","source_url":"/docs/release/11.2/#id-1.11.6.25.5","statement_hash":"b407eb0d0285f74140779547edfe96193742c86afed67c11cc8339cb0050ce95","text":"向具有外键约束的分区表附加分区或从中分离分区时，正确创建或删除用于实施外键约束的触发器（Amit Langote，Álvaro Herrera）","title":"向具有外键约束的分区表附加分区或从中分离分区时，正确创建或删除用于实施外键约束的触发器","variants":[],"version":"11.2"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["0325d7a59","4dff8935f"],"commit_groups":[["0325d7a59","4dff8935f"]],"commits":[],"cves":[],"db_id":"c56505aa6d1d6e7b1c3d5efcdee8e04f","html":"\u003cp\u003e避免在分区表中无用地创建重复外键约束（Álvaro Herrera）\u003c/p\u003e","id":"11.2-7f7b4e28985c84e7","identity_text":"Avoid useless creation of duplicate foreign key constraints in partitioned tables (Álvaro Herrera)","part":"changes","patch_ids":["24063b5261b71eb8d78d506cb721c403"],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":["4dff8935f"],"source_entry_id":"11.2/changes/007","source_hash":"993f39f633b3d4172ccb37774ea59ef321809783186cd74049af0a2691db9ba7","source_url":"/docs/release/11.2/#id-1.11.6.25.5","statement_hash":"5518140137c53d9f1e8d92b5f2af833dc2ddd6a9399e9b872c5f58ebb44451ad","text":"避免在分区表中无用地创建重复外键约束（Álvaro Herrera）","title":"避免在分区表中无用地创建重复外键约束","variants":[],"version":"11.2"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["37798a8e8","71a05b223"],"commit_groups":[["37798a8e8","71a05b223"]],"commits":[],"cves":[],"db_id":"468f3893a397bb0d9ac7bfc809e357f7","html":"\u003cp\u003e使用 \u003ccode\u003eONLY\u003c/code\u003e 在分区表上创建索引且尚无任何分区时，立即将其标记为有效（Álvaro Herrera）\u003c/p\u003e\n\u003cp\u003e否则将无法使其变为有效。\u003c/p\u003e","id":"11.2-f7bc31db7d919ec3","identity_text":"When an index is created on a partitioned table using ONLY, and there are no partitions yet, mark it valid immediately (Álvaro Herrera) Otherwise there is no way to make it become valid.","part":"changes","patch_ids":["3838bfc6c0434d618673ca387ba8af0a"],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":["37798a8e8"],"source_entry_id":"11.2/changes/008","source_hash":"c266644451e1bd88836dd7bd32648c4016789f2af0c36f73b2fdd7bcf8eedff9","source_url":"/docs/release/11.2/#id-1.11.6.25.5","statement_hash":"4e8769151180c02057041e119956253382d3c05fc958da5d31a216869c6d6591","text":"使用 ONLY 在分区表上创建索引且尚无任何分区时，立即将其标记为有效（Álvaro Herrera） 否则将无法使其变为有效。","title":"使用 ONLY 在分区表上创建索引且尚无任何分区时，立即将其标记为有效","variants":[],"version":"11.2"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["053ad56d2","0c2377152","1c142612c","7b14bcc06","9bb2ce5ec"],"commit_groups":[["053ad56d2","1c142612c","7b14bcc06"],["0c2377152","9bb2ce5ec"]],"commits":[],"cves":[],"db_id":"24d5deaee73e6099c5a50d800386edc7","html":"\u003cp\u003e分离分区时使用安全的表锁级别（Álvaro Herrera）\u003c/p\u003e\n\u003cp\u003e以前的锁级别太弱，可能允许并发对表执行 DDL，产生不良后果。\u003c/p\u003e","id":"11.2-2d07e6e9c3fdfb2c","identity_text":"Use a safe table lock level when detaching a partition (Álvaro Herrera) The previous locking level was too weak and might allow concurrent DDL on the table, with bad results.","part":"changes","patch_ids":["3588935bbb8feaeb1cd17360fc79e8e1","8584054464b5bb5f0bf290f784edf74c"],"related_changes":[{"db_id":"149bd37adad45e81a2de67827b3448a5","evidence":{"patch_ids":["3588935bbb8feaeb1cd17360fc79e8e1","8584054464b5bb5f0bf290f784edf74c"],"same_day":true,"statement_hash":"d2433e1eecd4fe8a1656bf1adcae176339da730b037a1920b2cbc97056d3f96a"},"kind":"equivalent","label":"10.7","source_url":"/docs/release/10.7/#id-1.11.6.21.5","title":"分离分区时使用安全的表锁级别","url":"/docs/compare/?release=10.7#10.7-2d07e6e9c3fdfb2c","version":"10.7"}],"relations":[{"evidence":{"patch_ids":["3588935bbb8feaeb1cd17360fc79e8e1","8584054464b5bb5f0bf290f784edf74c"],"same_day":true,"statement_hash":"d2433e1eecd4fe8a1656bf1adcae176339da730b037a1920b2cbc97056d3f96a"},"rule":2,"target":"149bd37adad45e81a2de67827b3448a5","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["053ad56d2","9bb2ce5ec"],"source_entry_id":"11.2/changes/009","source_hash":"e0a497a0fb7531e85c5f900c5871010158cb619d672f00217aa726c104c46e33","source_url":"/docs/release/11.2/#id-1.11.6.25.5","statement_hash":"d2433e1eecd4fe8a1656bf1adcae176339da730b037a1920b2cbc97056d3f96a","text":"分离分区时使用安全的表锁级别（Álvaro Herrera） 以前的锁级别太弱，可能允许并发对表执行 DDL，产生不良后果。","title":"分离分区时使用安全的表锁级别","variants":[],"version":"11.2"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["319a81018","52ea6a820","84b4a0cf6"],"commit_groups":[["319a81018","52ea6a820","84b4a0cf6"]],"commits":[],"cves":[],"db_id":"231334e96dc990a358315a9a87dee77b","html":"\u003cp\u003e修复将 \u003ccode\u003eON COMMIT DROP\u003c/code\u003e 和 \u003ccode\u003eON COMMIT DELETE ROWS\u003c/code\u003e 应用于分区表以及具有继承子表的表时出现的问题（Michael Paquier）\u003c/p\u003e","id":"11.2-4de2b5ddc13f2564","identity_text":"Fix problems with applying ON COMMIT DROP and ON COMMIT DELETE ROWS to partitioned tables and tables with inheritance children (Michael Paquier)","part":"changes","patch_ids":["60d998ef927b20f6eaf4197a34dcbfb5"],"related_changes":[{"db_id":"181d7ab013b267a4ea8762ef4158e6a8","evidence":{"patch_ids":["60d998ef927b20f6eaf4197a34dcbfb5"],"same_day":true,"statement_hash":"024c17100f500ff3d7920a66bff30128bb1b135cf39682e73217176642beca43"},"kind":"equivalent","label":"10.7","source_url":"/docs/release/10.7/#id-1.11.6.21.5","title":"修复将 ON COMMIT DROP 和 ON COMMIT DELETE ROWS 应用于分区表以及具有继承子表的表时出现的问题","url":"/docs/compare/?release=10.7#10.7-4de2b5ddc13f2564","version":"10.7"}],"relations":[{"evidence":{"patch_ids":["60d998ef927b20f6eaf4197a34dcbfb5"],"same_day":true,"statement_hash":"024c17100f500ff3d7920a66bff30128bb1b135cf39682e73217176642beca43"},"rule":2,"target":"181d7ab013b267a4ea8762ef4158e6a8","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["84b4a0cf6"],"source_entry_id":"11.2/changes/010","source_hash":"3a522ace705cac56ce31df5ac0c9d3dee3c3440766ca483b689ebaed04caccd0","source_url":"/docs/release/11.2/#id-1.11.6.25.5","statement_hash":"024c17100f500ff3d7920a66bff30128bb1b135cf39682e73217176642beca43","text":"修复将 ON COMMIT DROP 和 ON COMMIT DELETE ROWS 应用于分区表以及具有继承子表的表时出现的问题（Michael Paquier）","title":"修复将 ON COMMIT DROP 和 ON COMMIT DELETE ROWS 应用于分区表以及具有继承子表的表时出现的问题","variants":[],"version":"11.2"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["5c9a5513a","85efd1a04","a4db7fe0f"],"commit_groups":[["5c9a5513a","85efd1a04","a4db7fe0f"]],"commits":[],"cves":[],"db_id":"6b135a319f3f1c76484d44b75e22e2f5","html":"\u003cp\u003e禁止对分区表执行 \u003ccode\u003eCOPY FREEZE\u003c/code\u003e（David Rowley）\u003c/p\u003e\n\u003cp\u003e最终应使这种用法能够工作，但所需补丁可能过于复杂，不适合冒险回补到旧版本。\u003c/p\u003e","id":"11.2-ba372f9f7553ae52","identity_text":"Disallow COPY FREEZE on partitioned tables (David Rowley) This should eventually be made to work, but it may require a patch that's too complicated to risk back-patching.","part":"changes","patch_ids":["901f7f5d24f3fd1dfe704d5113a9f8d8"],"related_changes":[{"db_id":"c3641327dd0ca4921c3ec32d6a059d87","evidence":{"patch_ids":["901f7f5d24f3fd1dfe704d5113a9f8d8"],"same_day":true,"statement_hash":"0064752d0dc401c30333a1f9534f117cfbeae81eb8dd4a2623218e200599dead"},"kind":"equivalent","label":"10.7","source_url":"/docs/release/10.7/#id-1.11.6.21.5","title":"禁止对分区表执行 COPY FREEZE","url":"/docs/compare/?release=10.7#10.7-ba372f9f7553ae52","version":"10.7"}],"relations":[{"evidence":{"patch_ids":["901f7f5d24f3fd1dfe704d5113a9f8d8"],"same_day":true,"statement_hash":"0064752d0dc401c30333a1f9534f117cfbeae81eb8dd4a2623218e200599dead"},"rule":2,"target":"c3641327dd0ca4921c3ec32d6a059d87","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["a4db7fe0f"],"source_entry_id":"11.2/changes/011","source_hash":"b8f8eb5da05b8852f3ddc86fbd74ade6f08fb78964c4f20f71c70527f3c7907b","source_url":"/docs/release/11.2/#id-1.11.6.25.5","statement_hash":"0064752d0dc401c30333a1f9534f117cfbeae81eb8dd4a2623218e200599dead","text":"禁止对分区表执行 COPY FREEZE（David Rowley） 最终应使这种用法能够工作，但所需补丁可能过于复杂，不适合冒险回补到旧版本。","title":"禁止对分区表执行 COPY FREEZE","variants":[],"version":"11.2"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["171e0418b","297d627e0","920311ab1"],"commit_groups":[["171e0418b","297d627e0"],["920311ab1"]],"commits":[],"cves":[],"db_id":"3f4da7896a0ed761d590470bfc882339","html":"\u003cp\u003e修复索引列具有\u003cspan\u003e“\u003cspan\u003e快速默认值\u003c/span\u003e”\u003c/span\u003e时可能发生的索引损坏（即在表已包含一些行之后，通过 \u003ccode\u003eALTER TABLE ADD COLUMN\u003c/code\u003e 添加该列，并指定了非 NULL 的常量默认值）（Andres Freund）\u003c/p\u003e","id":"11.2-f5c0041aced11beb","identity_text":"Fix possible index corruption when the indexed column has a fast default (that is, it was added by ALTER TABLE ADD COLUMN with a constant non-NULL default value specified, after the table already contained some rows) (Andres Freund)","part":"changes","patch_ids":["7902a31b3bf558d058fce50289e36341","c4bbac4a0ce8331e2d81931b119d01c4"],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":["297d627e0","920311ab1"],"source_entry_id":"11.2/changes/012","source_hash":"90a60b98592d457438a4d31ca6ed97a01e616896f9023ef829e9bcd744a0c99b","source_url":"/docs/release/11.2/#id-1.11.6.25.5","statement_hash":"c5930ff180149b14d5e007121bab48e19f31c4bf83488d6cb3370b8109513ede","text":"修复索引列具有“快速默认值”时可能发生的索引损坏（即在表已包含一些行之后，通过 ALTER TABLE ADD COLUMN 添加该列，并指定了非 NULL 的常量默认值）（Andres Freund）","title":"修复索引列具有“快速默认值”时可能发生的索引损坏（即在表已包含一些行之后，通过 ALTER TABLE ADD COLUMN 添加该列，并指定了非 NULL 的常量默认值）","variants":[],"version":"11.2"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["076ffbcb5","3b174b1a3","89d52b9a3","e33884d41"],"commit_groups":[["076ffbcb5","3b174b1a3"],["89d52b9a3","e33884d41"]],"commits":[],"cves":[],"db_id":"b2dd3a94a6d01b759383f3bf74a0a2bd","html":"\u003cp\u003e在 \u003ccode\u003eALTER TABLE ... ALTER COLUMN TYPE\u003c/code\u003e 期间正确调整\u003cspan\u003e“\u003cspan\u003e快速默认值\u003c/span\u003e”\u003c/span\u003e（Andrew Dunstan）\u003c/p\u003e","id":"11.2-d42ce63b089dcb74","identity_text":"Correctly adjust fast default values during ALTER TABLE ... ALTER COLUMN TYPE (Andrew Dunstan)","part":"changes","patch_ids":["8192c76fb240a8032e5f8189913fa1ff","85265a46e15df7ded12dd8f374dcb50c"],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":["076ffbcb5","89d52b9a3"],"source_entry_id":"11.2/changes/013","source_hash":"bcbf8e2e72c7cf548ddabfe5848f196b4cb35a78cc20b7431522348c38ea9918","source_url":"/docs/release/11.2/#id-1.11.6.25.5","statement_hash":"d9362f35a45775dac01e7a1328ca80fbaceb009918d793e490910b3fe0bf6d3a","text":"在 ALTER TABLE ... ALTER COLUMN TYPE 期间正确调整“快速默认值”（Andrew Dunstan）","title":"在 ALTER TABLE ... ALTER COLUMN TYPE 期间正确调整“快速默认值”","variants":[],"version":"11.2"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["073afae81","0b8bdb3c3","1ca33fc7b","6a2c9c633","904413637","fba0a8292"],"commit_groups":[["073afae81","0b8bdb3c3","1ca33fc7b","6a2c9c633","904413637","fba0a8292"]],"commits":[],"cves":[],"db_id":"d3245f2dd4ecb5ea89aa5072bf6eda4c","html":"\u003cp\u003e避免获取多个缓冲区锁时可能发生的死锁（Nishant Fnu）\u003c/p\u003e","id":"11.2-b4880c83e8f0c175","identity_text":"Avoid possible deadlock when acquiring multiple buffer locks (Nishant Fnu)","part":"changes","patch_ids":["d6cdc40d09bb3828720fd4070de421ce"],"related_changes":[{"db_id":"a6802b29e18623bb5196a29c35621a96","evidence":{"patch_ids":["d6cdc40d09bb3828720fd4070de421ce"],"same_day":true,"statement_hash":"fa8378628893357246e80c535a0a4cfef76fa472e73a0ea99d0e2c55b6fc13b2"},"kind":"equivalent","label":"10.7","source_url":"/docs/release/10.7/#id-1.11.6.21.5","title":"避免获取多个缓冲区锁时可能发生的死锁","url":"/docs/compare/?release=10.7#10.7-b4880c83e8f0c175","version":"10.7"},{"db_id":"78b9f126b3060e1d305df93bd566410a","evidence":{"patch_ids":["d6cdc40d09bb3828720fd4070de421ce"],"same_day":true,"statement_hash":"fa8378628893357246e80c535a0a4cfef76fa472e73a0ea99d0e2c55b6fc13b2"},"kind":"equivalent","label":"9.6.12","source_url":"/docs/release/9.6.12/#id-1.11.6.17.5","title":"避免获取多个缓冲区锁时可能的死锁","url":"/docs/compare/?release=9.6.12#9.6.12-3f8e63b270ab51ac","version":"9.6.12"},{"db_id":"defb797ad958ab34d7af549635e5845a","evidence":{"patch_ids":["d6cdc40d09bb3828720fd4070de421ce"],"same_day":true,"statement_hash":"fa8378628893357246e80c535a0a4cfef76fa472e73a0ea99d0e2c55b6fc13b2"},"kind":"equivalent","label":"9.5.16","source_url":"/docs/release/9.5.16/#id-1.11.6.14.5","title":"避免获取多个缓冲区锁时可能的死锁","url":"/docs/compare/?release=9.5.16#9.5.16-3f8e63b270ab51ac","version":"9.5.16"},{"db_id":"ea246181e943f4546fe1ae6adaab9bdc","evidence":{"patch_ids":["d6cdc40d09bb3828720fd4070de421ce"],"same_day":true,"statement_hash":"fa8378628893357246e80c535a0a4cfef76fa472e73a0ea99d0e2c55b6fc13b2"},"kind":"equivalent","label":"9.4.21","source_url":"/docs/release/9.4.21/#id-1.11.6.10.6","title":"避免获取多个缓冲区锁时可能出现的死锁","url":"/docs/compare/?release=9.4.21#9.4.21-e32e085076ba5f7b","version":"9.4.21"}],"relations":[{"evidence":{"patch_ids":["d6cdc40d09bb3828720fd4070de421ce"],"same_day":true,"statement_hash":"fa8378628893357246e80c535a0a4cfef76fa472e73a0ea99d0e2c55b6fc13b2"},"rule":2,"target":"78b9f126b3060e1d305df93bd566410a","type":"equivalent"},{"evidence":{"patch_ids":["d6cdc40d09bb3828720fd4070de421ce"],"same_day":true,"statement_hash":"fa8378628893357246e80c535a0a4cfef76fa472e73a0ea99d0e2c55b6fc13b2"},"rule":2,"target":"a6802b29e18623bb5196a29c35621a96","type":"equivalent"},{"evidence":{"patch_ids":["d6cdc40d09bb3828720fd4070de421ce"],"same_day":true,"statement_hash":"fa8378628893357246e80c535a0a4cfef76fa472e73a0ea99d0e2c55b6fc13b2"},"rule":2,"target":"defb797ad958ab34d7af549635e5845a","type":"equivalent"},{"evidence":{"patch_ids":["d6cdc40d09bb3828720fd4070de421ce"],"same_day":true,"statement_hash":"fa8378628893357246e80c535a0a4cfef76fa472e73a0ea99d0e2c55b6fc13b2"},"rule":2,"target":"ea246181e943f4546fe1ae6adaab9bdc","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["904413637"],"source_entry_id":"11.2/changes/014","source_hash":"8c1eb875bd1b2cfe9cab91f7e47fdeb92ab68217644d5d4c7bf34780888f5591","source_url":"/docs/release/11.2/#id-1.11.6.25.5","statement_hash":"fa8378628893357246e80c535a0a4cfef76fa472e73a0ea99d0e2c55b6fc13b2","text":"避免获取多个缓冲区锁时可能发生的死锁（Nishant Fnu）","title":"避免获取多个缓冲区锁时可能发生的死锁","variants":[],"version":"11.2"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["2e3bd064e","9aa94d853","fd83c83d0"],"commit_groups":[["2e3bd064e","9aa94d853","fd83c83d0"]],"commits":[],"cves":[],"db_id":"447d1f50dceebdf3250ca41729a37eef","html":"\u003cp\u003e避免 GIN 清理与并发索引插入之间的死锁（Alexander Korotkov，Andrey Borodin，Peter Geoghegan）\u003c/p\u003e\n\u003cp\u003e此更改部分撤回了版本 10.0 引入的一项性能改进，该改进曾尝试减少删除 GIN 倒排树页面时锁定的索引页数量。现在发现这会导致死锁，因此在进一步分析之前将其移除。\u003c/p\u003e","id":"11.2-02cb5df28e5e1c16","identity_text":"Avoid deadlock between GIN vacuuming and concurrent index insertions (Alexander Korotkov, Andrey Borodin, Peter Geoghegan) This change partially reverts a performance improvement, introduced in version 10.0, that attempted to reduce the number of index pages locked during deletion of a GIN posting tree page. That's now been found to lead to deadlocks, so we've removed it pending closer analysis.","part":"changes","patch_ids":["298d62173d9fb7b72a92a9278e456ec6"],"related_changes":[{"db_id":"8c8e2bf877991c1f4684a34d0cf61ff7","evidence":{"patch_ids":["298d62173d9fb7b72a92a9278e456ec6"],"same_day":true,"statement_hash":"bd4b0e6ed79d6146f1d315a55d740bedc4d8a01aa065e8d04c0a754d83f0c42e"},"kind":"equivalent","label":"10.7","source_url":"/docs/release/10.7/#id-1.11.6.21.5","title":"避免 GIN 清理与并发索引插入之间的死锁","url":"/docs/compare/?release=10.7#10.7-02cb5df28e5e1c16","version":"10.7"}],"relations":[{"evidence":{"patch_ids":["298d62173d9fb7b72a92a9278e456ec6"],"same_day":true,"statement_hash":"bd4b0e6ed79d6146f1d315a55d740bedc4d8a01aa065e8d04c0a754d83f0c42e"},"rule":2,"target":"8c8e2bf877991c1f4684a34d0cf61ff7","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["9aa94d853"],"source_entry_id":"11.2/changes/015","source_hash":"2e41233865cb0055e03e416bc2c7e3b9312087b86c66a3f47346de76c2aa34d5","source_url":"/docs/release/11.2/#id-1.11.6.25.5","statement_hash":"bd4b0e6ed79d6146f1d315a55d740bedc4d8a01aa065e8d04c0a754d83f0c42e","text":"避免 GIN 清理与并发索引插入之间的死锁（Alexander Korotkov，Andrey Borodin，Peter Geoghegan） 此更改部分撤回了版本 10.0 引入的一项性能改进，该改进曾尝试减少删除 GIN 倒排树页面时锁定的索引页数量。现在发现这会导致死锁，因此在进一步分析之前将其移除。","title":"避免 GIN 清理与并发索引插入之间的死锁","variants":[],"version":"11.2"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["19cf52e6c","225b5c9c4","80d4d8d71","865870374","bf0e5a73b","c6ade7a8c","f6c44e1b5"],"commit_groups":[["19cf52e6c","225b5c9c4","80d4d8d71","865870374","c6ade7a8c","f6c44e1b5"],["bf0e5a73b"]],"commits":[],"cves":[],"db_id":"7d3c7b87fd66a83712c5b75fe7daeaa1","html":"\u003cp\u003e避免热备查询与 GIN 索引页面删除重放之间的死锁（Alexander Korotkov）\u003c/p\u003e","id":"11.2-7d22fc85157598df","identity_text":"Avoid deadlock between hot-standby queries and replay of GIN index page deletion (Alexander Korotkov)","part":"changes","patch_ids":["a2eedd6b8d3f5bee276bea50644a7ae1","a3c647e6b68276d7538b4eb56aee6622"],"related_changes":[{"db_id":"0034f749d32ed3f471748bf57c933ffc","evidence":{"patch_ids":["a2eedd6b8d3f5bee276bea50644a7ae1","a3c647e6b68276d7538b4eb56aee6622"],"same_day":true,"statement_hash":"adcffdc4a3e3255d815e645b8b4bc6160fac12eb9e5490631155be19b20f8658"},"kind":"equivalent","label":"10.7","source_url":"/docs/release/10.7/#id-1.11.6.21.5","title":"避免热备查询与 GIN 索引页面删除重放之间的死锁","url":"/docs/compare/?release=10.7#10.7-7d22fc85157598df","version":"10.7"},{"db_id":"04cc7864472df4a6726a934fd320ac0f","evidence":{"patch_ids":["a2eedd6b8d3f5bee276bea50644a7ae1","a3c647e6b68276d7538b4eb56aee6622"],"same_day":true,"statement_hash":"adcffdc4a3e3255d815e645b8b4bc6160fac12eb9e5490631155be19b20f8658"},"kind":"equivalent","label":"9.6.12","source_url":"/docs/release/9.6.12/#id-1.11.6.17.5","title":"避免热备查询与 GIN 索引页删除重放之间的死锁","url":"/docs/compare/?release=9.6.12#9.6.12-4201b1f3c63bc162","version":"9.6.12"},{"db_id":"67175c01685a4cc69b78be23ba91af92","evidence":{"patch_ids":["a2eedd6b8d3f5bee276bea50644a7ae1","a3c647e6b68276d7538b4eb56aee6622"],"same_day":true,"statement_hash":"adcffdc4a3e3255d815e645b8b4bc6160fac12eb9e5490631155be19b20f8658"},"kind":"equivalent","label":"9.5.16","source_url":"/docs/release/9.5.16/#id-1.11.6.14.5","title":"避免热备查询与 GIN 索引页删除重放之间的死锁","url":"/docs/compare/?release=9.5.16#9.5.16-4201b1f3c63bc162","version":"9.5.16"},{"db_id":"b0033c4189816213e103a6b95148d608","evidence":{"patch_ids":["a2eedd6b8d3f5bee276bea50644a7ae1","a3c647e6b68276d7538b4eb56aee6622"],"same_day":true,"statement_hash":"adcffdc4a3e3255d815e645b8b4bc6160fac12eb9e5490631155be19b20f8658"},"kind":"equivalent","label":"9.4.21","source_url":"/docs/release/9.4.21/#id-1.11.6.10.6","title":"避免热备查询与 GIN 索引页删除重放之间的死锁","url":"/docs/compare/?release=9.4.21#9.4.21-4201b1f3c63bc162","version":"9.4.21"}],"relations":[{"evidence":{"patch_ids":["a2eedd6b8d3f5bee276bea50644a7ae1","a3c647e6b68276d7538b4eb56aee6622"],"same_day":true,"statement_hash":"adcffdc4a3e3255d815e645b8b4bc6160fac12eb9e5490631155be19b20f8658"},"rule":2,"target":"0034f749d32ed3f471748bf57c933ffc","type":"equivalent"},{"evidence":{"patch_ids":["a2eedd6b8d3f5bee276bea50644a7ae1","a3c647e6b68276d7538b4eb56aee6622"],"same_day":true,"statement_hash":"adcffdc4a3e3255d815e645b8b4bc6160fac12eb9e5490631155be19b20f8658"},"rule":2,"target":"04cc7864472df4a6726a934fd320ac0f","type":"equivalent"},{"evidence":{"patch_ids":["a2eedd6b8d3f5bee276bea50644a7ae1","a3c647e6b68276d7538b4eb56aee6622"],"same_day":true,"statement_hash":"adcffdc4a3e3255d815e645b8b4bc6160fac12eb9e5490631155be19b20f8658"},"rule":2,"target":"67175c01685a4cc69b78be23ba91af92","type":"equivalent"},{"evidence":{"patch_ids":["a2eedd6b8d3f5bee276bea50644a7ae1","a3c647e6b68276d7538b4eb56aee6622"],"same_day":true,"statement_hash":"adcffdc4a3e3255d815e645b8b4bc6160fac12eb9e5490631155be19b20f8658"},"rule":2,"target":"b0033c4189816213e103a6b95148d608","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["225b5c9c4","bf0e5a73b"],"source_entry_id":"11.2/changes/016","source_hash":"5f4725b2aafc132a1ea86d41600409c3ffaca2c10afa4009b3e1b9126defe881","source_url":"/docs/release/11.2/#id-1.11.6.25.5","statement_hash":"adcffdc4a3e3255d815e645b8b4bc6160fac12eb9e5490631155be19b20f8658","text":"避免热备查询与 GIN 索引页面删除重放之间的死锁（Alexander Korotkov）","title":"避免热备查询与 GIN 索引页面删除重放之间的死锁","variants":[],"version":"11.2"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["2bac1d8c9","452253eae","650296f8f","cf25498f7","dfa774ff9","edd8278c5"],"commit_groups":[["2bac1d8c9","452253eae","650296f8f","cf25498f7","dfa774ff9","edd8278c5"]],"commits":[],"cves":[],"db_id":"ef280c9bb22f9d27a7d505f43a5d23d9","html":"\u003cp\u003e修复使用索引表达式或谓词时逻辑复制中可能发生的崩溃（Peter Eisentraut）\u003c/p\u003e","id":"11.2-99dfdf52bd53f341","identity_text":"Fix possible crashes in logical replication when index expressions or predicates are in use (Peter Eisentraut)","part":"changes","patch_ids":["ca3f14f7c5a22a796b2f51fc0c0b4bc3"],"related_changes":[{"db_id":"328ba089843dd7c8f19ff5cbf7b7165b","evidence":{"patch_ids":["ca3f14f7c5a22a796b2f51fc0c0b4bc3"],"same_day":true,"statement_hash":"a13c110a61af0d3df64537341093d5e1b9716dc20c2fe64de3e2530d33e718f6"},"kind":"equivalent","label":"10.7","source_url":"/docs/release/10.7/#id-1.11.6.21.5","title":"修复使用索引表达式或谓词时逻辑复制中可能发生的崩溃","url":"/docs/compare/?release=10.7#10.7-99dfdf52bd53f341","version":"10.7"},{"db_id":"0461d4f7ca50ed8c9a3a985fb55ca168","evidence":{"patch_ids":["ca3f14f7c5a22a796b2f51fc0c0b4bc3"],"same_day":true,"statement_hash":"a13c110a61af0d3df64537341093d5e1b9716dc20c2fe64de3e2530d33e718f6"},"kind":"equivalent","label":"9.6.12","source_url":"/docs/release/9.6.12/#id-1.11.6.17.5","title":"修复使用索引表达式或谓词时逻辑复制可能的崩溃","url":"/docs/compare/?release=9.6.12#9.6.12-6ae8705f682e76ba","version":"9.6.12"},{"db_id":"ba61e3eea0a6ab823ee3513474bdeffa","evidence":{"patch_ids":["ca3f14f7c5a22a796b2f51fc0c0b4bc3"],"same_day":true,"statement_hash":"a13c110a61af0d3df64537341093d5e1b9716dc20c2fe64de3e2530d33e718f6"},"kind":"equivalent","label":"9.5.16","source_url":"/docs/release/9.5.16/#id-1.11.6.14.5","title":"修复使用索引表达式或谓词时逻辑复制可能的崩溃","url":"/docs/compare/?release=9.5.16#9.5.16-6ae8705f682e76ba","version":"9.5.16"},{"db_id":"7ea74fa8edd2f696d641d7ec0b11428a","evidence":{"patch_ids":["ca3f14f7c5a22a796b2f51fc0c0b4bc3"],"same_day":true,"statement_hash":"a13c110a61af0d3df64537341093d5e1b9716dc20c2fe64de3e2530d33e718f6"},"kind":"equivalent","label":"9.4.21","source_url":"/docs/release/9.4.21/#id-1.11.6.10.6","title":"修复使用索引表达式或谓词时逻辑复制可能崩溃的问题","url":"/docs/compare/?release=9.4.21#9.4.21-b07545abf9e2741e","version":"9.4.21"}],"relations":[{"evidence":{"patch_ids":["ca3f14f7c5a22a796b2f51fc0c0b4bc3"],"same_day":true,"statement_hash":"a13c110a61af0d3df64537341093d5e1b9716dc20c2fe64de3e2530d33e718f6"},"rule":2,"target":"0461d4f7ca50ed8c9a3a985fb55ca168","type":"equivalent"},{"evidence":{"patch_ids":["ca3f14f7c5a22a796b2f51fc0c0b4bc3"],"same_day":true,"statement_hash":"a13c110a61af0d3df64537341093d5e1b9716dc20c2fe64de3e2530d33e718f6"},"rule":2,"target":"328ba089843dd7c8f19ff5cbf7b7165b","type":"equivalent"},{"evidence":{"patch_ids":["ca3f14f7c5a22a796b2f51fc0c0b4bc3"],"same_day":true,"statement_hash":"a13c110a61af0d3df64537341093d5e1b9716dc20c2fe64de3e2530d33e718f6"},"rule":2,"target":"7ea74fa8edd2f696d641d7ec0b11428a","type":"equivalent"},{"evidence":{"patch_ids":["ca3f14f7c5a22a796b2f51fc0c0b4bc3"],"same_day":true,"statement_hash":"a13c110a61af0d3df64537341093d5e1b9716dc20c2fe64de3e2530d33e718f6"},"rule":2,"target":"ba61e3eea0a6ab823ee3513474bdeffa","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["cf25498f7"],"source_entry_id":"11.2/changes/017","source_hash":"81ed1909c7ce0dc74c23c85be106200139505e5b8a0f1e8324fbd81fffbafb5d","source_url":"/docs/release/11.2/#id-1.11.6.25.5","statement_hash":"a13c110a61af0d3df64537341093d5e1b9716dc20c2fe64de3e2530d33e718f6","text":"修复使用索引表达式或谓词时逻辑复制中可能发生的崩溃（Peter Eisentraut）","title":"修复使用索引表达式或谓词时逻辑复制中可能发生的崩溃","variants":[],"version":"11.2"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["4e7395d83","77d2815e4","b86d148ae","c1a5caea8","f69c959df","f8397c955"],"commit_groups":[["4e7395d83","77d2815e4","b86d148ae","c1a5caea8","f69c959df","f8397c955"]],"commits":[],"cves":[],"db_id":"90bc2f83bb21a49a601945dc9f7115bd","html":"\u003cp\u003e避免在表重写期间对 TOAST 数据进行无用且代价高昂的逻辑解码（Tomas Vondra）\u003c/p\u003e","id":"11.2-c94be3312f6176b1","identity_text":"Avoid useless and expensive logical decoding of TOAST data during a table rewrite (Tomas Vondra)","part":"changes","patch_ids":["c7ada9f9cd38c4d17098eac7ae7eb1a6"],"related_changes":[{"db_id":"01e1ad5b166c2fb76f0af438f882523e","evidence":{"patch_ids":["c7ada9f9cd38c4d17098eac7ae7eb1a6"],"same_day":true,"statement_hash":"8cf0b33217e43b9d5790a54d8cd2868939e4584873bfe2d69483791a5e395f98"},"kind":"equivalent","label":"10.7","source_url":"/docs/release/10.7/#id-1.11.6.21.5","title":"避免在表重写期间对 TOAST 数据进行无用且代价高昂的逻辑解码","url":"/docs/compare/?release=10.7#10.7-c94be3312f6176b1","version":"10.7"},{"db_id":"a013358b21559ec30543059e8e5e5344","evidence":{"patch_ids":["c7ada9f9cd38c4d17098eac7ae7eb1a6"],"same_day":true,"statement_hash":"8cf0b33217e43b9d5790a54d8cd2868939e4584873bfe2d69483791a5e395f98"},"kind":"equivalent","label":"9.6.12","source_url":"/docs/release/9.6.12/#id-1.11.6.17.5","title":"避免表重写期间对 TOAST 数据无用而昂贵的逻辑解码","url":"/docs/compare/?release=9.6.12#9.6.12-178d4046924c95aa","version":"9.6.12"},{"db_id":"cc2d54ff133ad9241a37b0c8112efaf1","evidence":{"patch_ids":["c7ada9f9cd38c4d17098eac7ae7eb1a6"],"same_day":true,"statement_hash":"8cf0b33217e43b9d5790a54d8cd2868939e4584873bfe2d69483791a5e395f98"},"kind":"equivalent","label":"9.5.16","source_url":"/docs/release/9.5.16/#id-1.11.6.14.5","title":"避免表重写期间对 TOAST 数据无用而昂贵的逻辑解码","url":"/docs/compare/?release=9.5.16#9.5.16-178d4046924c95aa","version":"9.5.16"},{"db_id":"8130c609a17348303d80eedbf53b7a46","evidence":{"patch_ids":["c7ada9f9cd38c4d17098eac7ae7eb1a6"],"same_day":true,"statement_hash":"8cf0b33217e43b9d5790a54d8cd2868939e4584873bfe2d69483791a5e395f98"},"kind":"equivalent","label":"9.4.21","source_url":"/docs/release/9.4.21/#id-1.11.6.10.6","title":"避免在表重写期间对 TOAST 数据进行无用且昂贵的逻辑解码","url":"/docs/compare/?release=9.4.21#9.4.21-af1484a7f9ebca8e","version":"9.4.21"}],"relations":[{"evidence":{"patch_ids":["c7ada9f9cd38c4d17098eac7ae7eb1a6"],"same_day":true,"statement_hash":"8cf0b33217e43b9d5790a54d8cd2868939e4584873bfe2d69483791a5e395f98"},"rule":2,"target":"01e1ad5b166c2fb76f0af438f882523e","type":"equivalent"},{"evidence":{"patch_ids":["c7ada9f9cd38c4d17098eac7ae7eb1a6"],"same_day":true,"statement_hash":"8cf0b33217e43b9d5790a54d8cd2868939e4584873bfe2d69483791a5e395f98"},"rule":2,"target":"8130c609a17348303d80eedbf53b7a46","type":"equivalent"},{"evidence":{"patch_ids":["c7ada9f9cd38c4d17098eac7ae7eb1a6"],"same_day":true,"statement_hash":"8cf0b33217e43b9d5790a54d8cd2868939e4584873bfe2d69483791a5e395f98"},"rule":2,"target":"a013358b21559ec30543059e8e5e5344","type":"equivalent"},{"evidence":{"patch_ids":["c7ada9f9cd38c4d17098eac7ae7eb1a6"],"same_day":true,"statement_hash":"8cf0b33217e43b9d5790a54d8cd2868939e4584873bfe2d69483791a5e395f98"},"rule":2,"target":"cc2d54ff133ad9241a37b0c8112efaf1","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["f8397c955"],"source_entry_id":"11.2/changes/018","source_hash":"536c2794747daa26615d79decca6ef61560e4a1c865a879d78008571d627674a","source_url":"/docs/release/11.2/#id-1.11.6.25.5","statement_hash":"8cf0b33217e43b9d5790a54d8cd2868939e4584873bfe2d69483791a5e395f98","text":"避免在表重写期间对 TOAST 数据进行无用且代价高昂的逻辑解码（Tomas Vondra）","title":"避免在表重写期间对 TOAST 数据进行无用且代价高昂的逻辑解码","variants":[],"version":"11.2"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["04e381a19","4c703369a","8340eba6d","b81d08d60","b9bdbf8c1","bad41764a"],"commit_groups":[["04e381a19","4c703369a","8340eba6d","b81d08d60","b9bdbf8c1","bad41764a"]],"commits":[],"cves":[],"db_id":"e4b8501d9955310194b7c17f5b400613","html":"\u003cp\u003e修复启用同步复制时停止部分 WAL 发送进程的逻辑（Paul Guo，Michael Paquier）\u003c/p\u003e","id":"11.2-00b845208e817fe7","identity_text":"Fix logic for stopping a subset of WAL senders when synchronous replication is enabled (Paul Guo, Michael Paquier)","part":"changes","patch_ids":["d20e5f5a40b6783989426c0d3e1645e1"],"related_changes":[{"db_id":"4a5d6c9ae25ae162ed116ba3a7e0070d","evidence":{"patch_ids":["d20e5f5a40b6783989426c0d3e1645e1"],"same_day":true,"statement_hash":"52ea76644deb231363f232adcd759c8671dbff4ffffeda9a5e273ecf6eab3990"},"kind":"equivalent","label":"10.7","source_url":"/docs/release/10.7/#id-1.11.6.21.5","title":"修复启用同步复制时停止部分 WAL 发送进程的逻辑","url":"/docs/compare/?release=10.7#10.7-00b845208e817fe7","version":"10.7"},{"db_id":"44ffa5cb8eb96843c180dddb29f6ed7f","evidence":{"patch_ids":["d20e5f5a40b6783989426c0d3e1645e1"],"same_day":true,"statement_hash":"52ea76644deb231363f232adcd759c8671dbff4ffffeda9a5e273ecf6eab3990"},"kind":"equivalent","label":"9.6.12","source_url":"/docs/release/9.6.12/#id-1.11.6.17.5","title":"修复启用同步复制时只停止一部分 WAL 发送者的逻辑","url":"/docs/compare/?release=9.6.12#9.6.12-612cdd3b89c541e5","version":"9.6.12"},{"db_id":"8690585395202edcbdf4fb0e2b2cde5f","evidence":{"patch_ids":["d20e5f5a40b6783989426c0d3e1645e1"],"same_day":true,"statement_hash":"52ea76644deb231363f232adcd759c8671dbff4ffffeda9a5e273ecf6eab3990"},"kind":"equivalent","label":"9.5.16","source_url":"/docs/release/9.5.16/#id-1.11.6.14.5","title":"修复启用同步复制时只停止一部分 WAL 发送者的逻辑","url":"/docs/compare/?release=9.5.16#9.5.16-612cdd3b89c541e5","version":"9.5.16"},{"db_id":"d14df341bfed88059dab45579948be4d","evidence":{"patch_ids":["d20e5f5a40b6783989426c0d3e1645e1"],"same_day":true,"statement_hash":"52ea76644deb231363f232adcd759c8671dbff4ffffeda9a5e273ecf6eab3990"},"kind":"equivalent","label":"9.4.21","source_url":"/docs/release/9.4.21/#id-1.11.6.10.6","title":"修复启用同步复制时停止部分 WAL 发送进程的逻辑","url":"/docs/compare/?release=9.4.21#9.4.21-00b845208e817fe7","version":"9.4.21"}],"relations":[{"evidence":{"patch_ids":["d20e5f5a40b6783989426c0d3e1645e1"],"same_day":true,"statement_hash":"52ea76644deb231363f232adcd759c8671dbff4ffffeda9a5e273ecf6eab3990"},"rule":2,"target":"44ffa5cb8eb96843c180dddb29f6ed7f","type":"equivalent"},{"evidence":{"patch_ids":["d20e5f5a40b6783989426c0d3e1645e1"],"same_day":true,"statement_hash":"52ea76644deb231363f232adcd759c8671dbff4ffffeda9a5e273ecf6eab3990"},"rule":2,"target":"4a5d6c9ae25ae162ed116ba3a7e0070d","type":"equivalent"},{"evidence":{"patch_ids":["d20e5f5a40b6783989426c0d3e1645e1"],"same_day":true,"statement_hash":"52ea76644deb231363f232adcd759c8671dbff4ffffeda9a5e273ecf6eab3990"},"rule":2,"target":"8690585395202edcbdf4fb0e2b2cde5f","type":"equivalent"},{"evidence":{"patch_ids":["d20e5f5a40b6783989426c0d3e1645e1"],"same_day":true,"statement_hash":"52ea76644deb231363f232adcd759c8671dbff4ffffeda9a5e273ecf6eab3990"},"rule":2,"target":"d14df341bfed88059dab45579948be4d","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["bad41764a"],"source_entry_id":"11.2/changes/019","source_hash":"ec0dac2d165b5fb824e0e49215cacd3f27321fb9ad56568becca7e6821ec8c6a","source_url":"/docs/release/11.2/#id-1.11.6.25.5","statement_hash":"52ea76644deb231363f232adcd759c8671dbff4ffffeda9a5e273ecf6eab3990","text":"修复启用同步复制时停止部分 WAL 发送进程的逻辑（Paul Guo，Michael Paquier）","title":"修复启用同步复制时停止部分 WAL 发送进程的逻辑","variants":[],"version":"11.2"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["014763e97","05d24cf7c","47412e075","478e0069f","90f1ba7ec","eb8c9f0bc"],"commit_groups":[["014763e97","05d24cf7c","47412e075","478e0069f","90f1ba7ec","eb8c9f0bc"]],"commits":[],"cves":[],"db_id":"4b0fa9e7fbf47ab605f0422dafc76700","html":"\u003cp\u003e避免在元组删除 WAL 记录中写入不正确的复制标识字段（Stas Kelvich）\u003c/p\u003e","id":"11.2-0a7d20efb78ef80c","identity_text":"Avoid possibly writing an incorrect replica identity field in a tuple deletion WAL record (Stas Kelvich)","part":"changes","patch_ids":["40e03536fea4bcb2ac3c575edb75178e"],"related_changes":[{"db_id":"66fb8cdc333158ee73a6fae077157490","evidence":{"patch_ids":["40e03536fea4bcb2ac3c575edb75178e"],"same_day":true,"statement_hash":"9ccf70c6f337df25e1b9d44f38db0997bf19ea561d397376282e030a186906cc"},"kind":"equivalent","label":"10.7","source_url":"/docs/release/10.7/#id-1.11.6.21.5","title":"避免在元组删除 WAL 记录中写入不正确的复制标识字段","url":"/docs/compare/?release=10.7#10.7-0a7d20efb78ef80c","version":"10.7"},{"db_id":"e4a59bd60faed5b215e7f57ee7ca981c","evidence":{"patch_ids":["40e03536fea4bcb2ac3c575edb75178e"],"same_day":true,"statement_hash":"9ccf70c6f337df25e1b9d44f38db0997bf19ea561d397376282e030a186906cc"},"kind":"equivalent","label":"9.6.12","source_url":"/docs/release/9.6.12/#id-1.11.6.17.5","title":"避免在元组删除 WAL 记录中可能写入错误的副本身份字段","url":"/docs/compare/?release=9.6.12#9.6.12-6f0265d6d89f12b9","version":"9.6.12"},{"db_id":"7d0c0cc6d4380eaf2ebead677ab35b7b","evidence":{"patch_ids":["40e03536fea4bcb2ac3c575edb75178e"],"same_day":true,"statement_hash":"9ccf70c6f337df25e1b9d44f38db0997bf19ea561d397376282e030a186906cc"},"kind":"equivalent","label":"9.5.16","source_url":"/docs/release/9.5.16/#id-1.11.6.14.5","title":"避免在元组删除 WAL 记录中可能写入错误的副本身份字段","url":"/docs/compare/?release=9.5.16#9.5.16-6f0265d6d89f12b9","version":"9.5.16"},{"db_id":"98ce6a70875f0f5e8fe26ab23a72ad9d","evidence":{"patch_ids":["40e03536fea4bcb2ac3c575edb75178e"],"same_day":true,"statement_hash":"9ccf70c6f337df25e1b9d44f38db0997bf19ea561d397376282e030a186906cc"},"kind":"equivalent","label":"9.4.21","source_url":"/docs/release/9.4.21/#id-1.11.6.10.6","title":"避免在元组删除 WAL 记录中写入错误的副本标识字段","url":"/docs/compare/?release=9.4.21#9.4.21-b82473b0642f3b89","version":"9.4.21"}],"relations":[{"evidence":{"patch_ids":["40e03536fea4bcb2ac3c575edb75178e"],"same_day":true,"statement_hash":"9ccf70c6f337df25e1b9d44f38db0997bf19ea561d397376282e030a186906cc"},"rule":2,"target":"66fb8cdc333158ee73a6fae077157490","type":"equivalent"},{"evidence":{"patch_ids":["40e03536fea4bcb2ac3c575edb75178e"],"same_day":true,"statement_hash":"9ccf70c6f337df25e1b9d44f38db0997bf19ea561d397376282e030a186906cc"},"rule":2,"target":"7d0c0cc6d4380eaf2ebead677ab35b7b","type":"equivalent"},{"evidence":{"patch_ids":["40e03536fea4bcb2ac3c575edb75178e"],"same_day":true,"statement_hash":"9ccf70c6f337df25e1b9d44f38db0997bf19ea561d397376282e030a186906cc"},"rule":2,"target":"98ce6a70875f0f5e8fe26ab23a72ad9d","type":"equivalent"},{"evidence":{"patch_ids":["40e03536fea4bcb2ac3c575edb75178e"],"same_day":true,"statement_hash":"9ccf70c6f337df25e1b9d44f38db0997bf19ea561d397376282e030a186906cc"},"rule":2,"target":"e4a59bd60faed5b215e7f57ee7ca981c","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["47412e075"],"source_entry_id":"11.2/changes/020","source_hash":"dff21d55217350759e1e65a8fa683b95238410ccb314a45f1ab12304cf0995c4","source_url":"/docs/release/11.2/#id-1.11.6.25.5","statement_hash":"9ccf70c6f337df25e1b9d44f38db0997bf19ea561d397376282e030a186906cc","text":"避免在元组删除 WAL 记录中写入不正确的复制标识字段（Stas Kelvich）","title":"避免在元组删除 WAL 记录中写入不正确的复制标识字段","variants":[],"version":"11.2"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["15f69279e","bf491a907","ff9c22266"],"commit_groups":[["15f69279e","bf491a907","ff9c22266"]],"commits":[],"cves":[],"db_id":"3f68a55a6aae8ddcaf261dbe7478daeb","html":"\u003cp\u003e防止向视图或外部表执行 \u003ccode\u003eCOPY\u003c/code\u003e 时不正确地使用跳过 WAL 的优化（Amit Langote，Michael Paquier）\u003c/p\u003e","id":"11.2-abe84f884682d8cf","identity_text":"Prevent incorrect use of WAL-skipping optimization during COPY to a view or foreign table (Amit Langote, Michael Paquier)","part":"changes","patch_ids":["e41150463906d255f1f892e576de4a74"],"related_changes":[{"db_id":"8b8900c76870c796905aac0a892c0ba6","evidence":{"patch_ids":["e41150463906d255f1f892e576de4a74"],"same_day":true,"statement_hash":"f54891ade4cb288f487f24e72c7f60698b59a32df2aca34ec876970bc61a3583"},"kind":"equivalent","label":"10.7","source_url":"/docs/release/10.7/#id-1.11.6.21.5","title":"防止向视图或外部表执行 COPY 时不正确地使用跳过 WAL 的优化","url":"/docs/compare/?release=10.7#10.7-abe84f884682d8cf","version":"10.7"}],"relations":[{"evidence":{"patch_ids":["e41150463906d255f1f892e576de4a74"],"same_day":true,"statement_hash":"f54891ade4cb288f487f24e72c7f60698b59a32df2aca34ec876970bc61a3583"},"rule":2,"target":"8b8900c76870c796905aac0a892c0ba6","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["ff9c22266"],"source_entry_id":"11.2/changes/021","source_hash":"89fef22a446ea63cc60be021b745bba3279c02ab5fbfd75149258a924300071a","source_url":"/docs/release/11.2/#id-1.11.6.25.5","statement_hash":"f54891ade4cb288f487f24e72c7f60698b59a32df2aca34ec876970bc61a3583","text":"防止向视图或外部表执行 COPY 时不正确地使用跳过 WAL 的优化（Amit Langote，Michael Paquier）","title":"防止向视图或外部表执行 COPY 时不正确地使用跳过 WAL 的优化","variants":[],"version":"11.2"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["085757577","37126251a","937870124","a016f59d5","b981df4cc"],"commit_groups":[["085757577","37126251a","937870124","a016f59d5","b981df4cc"]],"commits":[],"cves":[],"db_id":"10003f32c1373df8626adf1a4222cabd","html":"\u003cp\u003e让归档进程在选择下一个要归档的文件时，优先选择 WAL 历史文件，而非 WAL 数据文件（David Steele）\u003c/p\u003e","id":"11.2-591173c624e348bd","identity_text":"Make the archiver prioritize WAL history files over WAL data files while choosing which file to archive next (David Steele)","part":"changes","patch_ids":["172f626bc2da35c3f07181a39fe610e4"],"related_changes":[{"db_id":"f0315d811153b9463dd919591f3b4f41","evidence":{"patch_ids":["172f626bc2da35c3f07181a39fe610e4"],"same_day":true,"statement_hash":"f9f68113cbc29fac8ccf420f6686844680a87d100a4d66902b1e49eeed6d9be4"},"kind":"equivalent","label":"10.7","source_url":"/docs/release/10.7/#id-1.11.6.21.5","title":"让归档进程在选择下一个要归档的文件时，优先选择 WAL 历史文件，而非 WAL 数据文件","url":"/docs/compare/?release=10.7#10.7-591173c624e348bd","version":"10.7"},{"db_id":"02aabd9c5045d5d8ca6a6184370e2454","evidence":{"patch_ids":["172f626bc2da35c3f07181a39fe610e4"],"same_day":true,"statement_hash":"f9f68113cbc29fac8ccf420f6686844680a87d100a4d66902b1e49eeed6d9be4"},"kind":"equivalent","label":"9.6.12","source_url":"/docs/release/9.6.12/#id-1.11.6.17.5","title":"让归档器在选择下一个要归档的文件时，把 WAL 历史文件的优先级置于 WAL 数据文件之上","url":"/docs/compare/?release=9.6.12#9.6.12-c6abe753a39b28c4","version":"9.6.12"},{"db_id":"609fc62ffbc8410492cb982d74e909ab","evidence":{"patch_ids":["172f626bc2da35c3f07181a39fe610e4"],"same_day":true,"statement_hash":"f9f68113cbc29fac8ccf420f6686844680a87d100a4d66902b1e49eeed6d9be4"},"kind":"equivalent","label":"9.5.16","source_url":"/docs/release/9.5.16/#id-1.11.6.14.5","title":"让归档器在选择下一个要归档的文件时，把 WAL 历史文件的优先级置于 WAL 数据文件之上","url":"/docs/compare/?release=9.5.16#9.5.16-c6abe753a39b28c4","version":"9.5.16"}],"relations":[{"evidence":{"patch_ids":["172f626bc2da35c3f07181a39fe610e4"],"same_day":true,"statement_hash":"f9f68113cbc29fac8ccf420f6686844680a87d100a4d66902b1e49eeed6d9be4"},"rule":2,"target":"02aabd9c5045d5d8ca6a6184370e2454","type":"equivalent"},{"evidence":{"patch_ids":["172f626bc2da35c3f07181a39fe610e4"],"same_day":true,"statement_hash":"f9f68113cbc29fac8ccf420f6686844680a87d100a4d66902b1e49eeed6d9be4"},"rule":2,"target":"609fc62ffbc8410492cb982d74e909ab","type":"equivalent"},{"evidence":{"patch_ids":["172f626bc2da35c3f07181a39fe610e4"],"same_day":true,"statement_hash":"f9f68113cbc29fac8ccf420f6686844680a87d100a4d66902b1e49eeed6d9be4"},"rule":2,"target":"f0315d811153b9463dd919591f3b4f41","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["a016f59d5"],"source_entry_id":"11.2/changes/022","source_hash":"2b2cd94eb7dd94d694efcba376aad5b8f2b5c34d0c3a8d175af3ce7502157fbe","source_url":"/docs/release/11.2/#id-1.11.6.25.5","statement_hash":"f9f68113cbc29fac8ccf420f6686844680a87d100a4d66902b1e49eeed6d9be4","text":"让归档进程在选择下一个要归档的文件时，优先选择 WAL 历史文件，而非 WAL 数据文件（David Steele）","title":"让归档进程在选择下一个要归档的文件时，优先选择 WAL 历史文件，而非 WAL 数据文件","variants":[],"version":"11.2"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["0f7ec8d9c","10bad8c0f","302d4eee9","6548d62a9","f9f63ed1f"],"commit_groups":[["0f7ec8d9c","10bad8c0f","302d4eee9","6548d62a9","f9f63ed1f"]],"commits":[],"cves":[],"db_id":"8473fd0fff739c0a7e785221163f247a","html":"\u003cp\u003e修复 \u003ccode\u003eUPDATE\u003c/code\u003e 的多列 \u003ccode\u003eSET\u003c/code\u003e 子句使用子 \u003ccode\u003eSELECT\u003c/code\u003e 作为数据源时可能发生的崩溃（Tom Lane）\u003c/p\u003e","id":"11.2-6f67aba9b2a8eff3","identity_text":"Fix possible crash in UPDATE with a multiple SET clause using a sub-SELECT as source (Tom Lane)","part":"changes","patch_ids":["a8b0d3aa98deac5cc468e64a9f8886c5"],"related_changes":[{"db_id":"7d794a0f97dc8da3a00f372bbc0c20bc","evidence":{"patch_ids":["a8b0d3aa98deac5cc468e64a9f8886c5"],"same_day":true,"statement_hash":"030c6a39fb8f37e8c71f2463444e806c38641b0d6575bed1d0dfd7b9286e3f97"},"kind":"equivalent","label":"10.7","source_url":"/docs/release/10.7/#id-1.11.6.21.5","title":"修复 UPDATE 的多列 SET 子句使用子 SELECT 作为数据源时可能发生的崩溃","url":"/docs/compare/?release=10.7#10.7-6f67aba9b2a8eff3","version":"10.7"},{"db_id":"9988c85d19444ea8af623b4c617b881f","evidence":{"patch_ids":["a8b0d3aa98deac5cc468e64a9f8886c5"],"same_day":true,"statement_hash":"030c6a39fb8f37e8c71f2463444e806c38641b0d6575bed1d0dfd7b9286e3f97"},"kind":"equivalent","label":"9.6.12","source_url":"/docs/release/9.6.12/#id-1.11.6.17.5","title":"修复使用子 SELECT 作为源的多 SET 子句 UPDATE 可能的崩溃","url":"/docs/compare/?release=9.6.12#9.6.12-9d98b4f45c7ff193","version":"9.6.12"},{"db_id":"e44b74dbf3112b960f5bf87f3cec1360","evidence":{"patch_ids":["a8b0d3aa98deac5cc468e64a9f8886c5"],"same_day":true,"statement_hash":"030c6a39fb8f37e8c71f2463444e806c38641b0d6575bed1d0dfd7b9286e3f97"},"kind":"equivalent","label":"9.5.16","source_url":"/docs/release/9.5.16/#id-1.11.6.14.5","title":"修复使用子 SELECT 作为源的多 SET 子句 UPDATE 可能的崩溃","url":"/docs/compare/?release=9.5.16#9.5.16-9d98b4f45c7ff193","version":"9.5.16"}],"relations":[{"evidence":{"patch_ids":["a8b0d3aa98deac5cc468e64a9f8886c5"],"same_day":true,"statement_hash":"030c6a39fb8f37e8c71f2463444e806c38641b0d6575bed1d0dfd7b9286e3f97"},"rule":2,"target":"7d794a0f97dc8da3a00f372bbc0c20bc","type":"equivalent"},{"evidence":{"patch_ids":["a8b0d3aa98deac5cc468e64a9f8886c5"],"same_day":true,"statement_hash":"030c6a39fb8f37e8c71f2463444e806c38641b0d6575bed1d0dfd7b9286e3f97"},"rule":2,"target":"9988c85d19444ea8af623b4c617b881f","type":"equivalent"},{"evidence":{"patch_ids":["a8b0d3aa98deac5cc468e64a9f8886c5"],"same_day":true,"statement_hash":"030c6a39fb8f37e8c71f2463444e806c38641b0d6575bed1d0dfd7b9286e3f97"},"rule":2,"target":"e44b74dbf3112b960f5bf87f3cec1360","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["302d4eee9"],"source_entry_id":"11.2/changes/023","source_hash":"7eacd1494a2c0701b496e91c4489727bcf541a416794b54212bbbaa6c8ed2d8a","source_url":"/docs/release/11.2/#id-1.11.6.25.5","statement_hash":"030c6a39fb8f37e8c71f2463444e806c38641b0d6575bed1d0dfd7b9286e3f97","text":"修复 UPDATE 的多列 SET 子句使用子 SELECT 作为数据源时可能发生的崩溃（Tom Lane）","title":"修复 UPDATE 的多列 SET 子句使用子 SELECT 作为数据源时可能发生的崩溃","variants":[],"version":"11.2"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["595220a3a","eba2ce171"],"commit_groups":[["595220a3a","eba2ce171"]],"commits":[],"cves":[],"db_id":"8089da7ed6b54c0aa6713696fbbece49","html":"\u003cp\u003e修复向 \u003ccode\u003ejson[b]_populate_recordset()\u003c/code\u003e 或 \u003ccode\u003ejson[b]_to_recordset()\u003c/code\u003e 输入零行时发生的崩溃（Tom Lane）\u003c/p\u003e","id":"11.2-45c047b51ff4d5ac","identity_text":"Fix crash when zero rows are fed to json[b]_populate_recordset() or json[b]_to_recordset() (Tom Lane)","part":"changes","patch_ids":["1dbb1c24f2d0c833a8a6dc38a03b9949"],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":["595220a3a"],"source_entry_id":"11.2/changes/024","source_hash":"71f8c32632bb8ca42b4c3e2bf6e212fd39c0eca63c131c1ce8ef5b5c248a64af","source_url":"/docs/release/11.2/#id-1.11.6.25.5","statement_hash":"8c3a71433f52fe5fa3d8777c5999ad805a5c93704a9bc3f7a233055da7f5c9da","text":"修复向 json[b]_populate_recordset() 或 json[b]_to_recordset() 输入零行时发生的崩溃（Tom Lane）","title":"修复向 json[b]_populate_recordset() 或 json[b]_to_recordset() 输入零行时发生的崩溃","variants":[],"version":"11.2"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["0d7d71b64","0edef16d7","37f3a7751","7821a4d60","8e2956734","ef922faea"],"commit_groups":[["0d7d71b64","0edef16d7","37f3a7751","7821a4d60","8e2956734","ef922faea"]],"commits":[],"cves":[],"db_id":"294aa1f458016522ac69d75341bf8752","html":"\u003cp\u003e避免 \u003cspan\u003elibxml2\u003c/span\u003e 返回空错误消息时发生崩溃（Sergio Conde Gómez）\u003c/p\u003e","id":"11.2-3a5cdf58c7af36e7","identity_text":"Avoid crash if libxml2 returns a null error message (Sergio Conde Gómez)","part":"changes","patch_ids":["756e7b21ff4acff04aeb731313e5eb12"],"related_changes":[{"db_id":"5541174a4de609c53f81cbb8b8bead93","evidence":{"patch_ids":["756e7b21ff4acff04aeb731313e5eb12"],"same_day":true,"statement_hash":"36824cc82ae51a6995057dd5e9f812c862c647537ed5268a803c9ed08923b7b9"},"kind":"equivalent","label":"10.7","source_url":"/docs/release/10.7/#id-1.11.6.21.5","title":"避免 libxml2 返回空错误消息时发生崩溃","url":"/docs/compare/?release=10.7#10.7-3a5cdf58c7af36e7","version":"10.7"},{"db_id":"4fd8345e31bf46d7156f7c05feb39327","evidence":{"patch_ids":["756e7b21ff4acff04aeb731313e5eb12"],"same_day":true,"statement_hash":"36824cc82ae51a6995057dd5e9f812c862c647537ed5268a803c9ed08923b7b9"},"kind":"equivalent","label":"9.6.12","source_url":"/docs/release/9.6.12/#id-1.11.6.17.5","title":"避免 libxml2 返回空错误消息时崩溃","url":"/docs/compare/?release=9.6.12#9.6.12-8c33afde1a29db66","version":"9.6.12"},{"db_id":"1387d78c9243333e07793e10eea9f6e4","evidence":{"patch_ids":["756e7b21ff4acff04aeb731313e5eb12"],"same_day":true,"statement_hash":"36824cc82ae51a6995057dd5e9f812c862c647537ed5268a803c9ed08923b7b9"},"kind":"equivalent","label":"9.5.16","source_url":"/docs/release/9.5.16/#id-1.11.6.14.5","title":"避免 libxml2 返回空错误消息时崩溃","url":"/docs/compare/?release=9.5.16#9.5.16-8c33afde1a29db66","version":"9.5.16"},{"db_id":"cd0ea67859104d8dca4e73127e3466cd","evidence":{"patch_ids":["756e7b21ff4acff04aeb731313e5eb12"],"same_day":true,"statement_hash":"36824cc82ae51a6995057dd5e9f812c862c647537ed5268a803c9ed08923b7b9"},"kind":"equivalent","label":"9.4.21","source_url":"/docs/release/9.4.21/#id-1.11.6.10.6","title":"避免libxml2返回空错误消息时崩溃","url":"/docs/compare/?release=9.4.21#9.4.21-4a0d59430beb47d6","version":"9.4.21"}],"relations":[{"evidence":{"patch_ids":["756e7b21ff4acff04aeb731313e5eb12"],"same_day":true,"statement_hash":"36824cc82ae51a6995057dd5e9f812c862c647537ed5268a803c9ed08923b7b9"},"rule":2,"target":"1387d78c9243333e07793e10eea9f6e4","type":"equivalent"},{"evidence":{"patch_ids":["756e7b21ff4acff04aeb731313e5eb12"],"same_day":true,"statement_hash":"36824cc82ae51a6995057dd5e9f812c862c647537ed5268a803c9ed08923b7b9"},"rule":2,"target":"4fd8345e31bf46d7156f7c05feb39327","type":"equivalent"},{"evidence":{"patch_ids":["756e7b21ff4acff04aeb731313e5eb12"],"same_day":true,"statement_hash":"36824cc82ae51a6995057dd5e9f812c862c647537ed5268a803c9ed08923b7b9"},"rule":2,"target":"5541174a4de609c53f81cbb8b8bead93","type":"equivalent"},{"evidence":{"patch_ids":["756e7b21ff4acff04aeb731313e5eb12"],"same_day":true,"statement_hash":"36824cc82ae51a6995057dd5e9f812c862c647537ed5268a803c9ed08923b7b9"},"rule":2,"target":"cd0ea67859104d8dca4e73127e3466cd","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["8e2956734"],"source_entry_id":"11.2/changes/025","source_hash":"375a78d302737b853c94ff31d1f7ba3f8056b4ae4f6095548dcdd60dadedff61","source_url":"/docs/release/11.2/#id-1.11.6.25.5","statement_hash":"36824cc82ae51a6995057dd5e9f812c862c647537ed5268a803c9ed08923b7b9","text":"避免 libxml2 返回空错误消息时发生崩溃（Sergio Conde Gómez）","title":"避免 libxml2 返回空错误消息时发生崩溃","variants":[],"version":"11.2"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["aee085bc0","b23852766"],"commit_groups":[["aee085bc0","b23852766"]],"commits":[],"cves":[],"db_id":"ee161d3ea4c67bf47ed778063a5cbeea","html":"\u003cp\u003e修复针对多列表（超过约 800 列）的不正确 JIT 元组解构代码（Andres Freund）\u003c/p\u003e","id":"11.2-f37c32e8823cea26","identity_text":"Fix incorrect JIT tuple deforming code for tables with many columns (more than approximately 800) (Andres Freund)","part":"changes","patch_ids":["5c1c6458965536471a11da6b770436c6"],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":["aee085bc0"],"source_entry_id":"11.2/changes/026","source_hash":"5fbe44a89b7b68f3363f71172957104d7956fb058d24d09a251a0ab8ff9e438a","source_url":"/docs/release/11.2/#id-1.11.6.25.5","statement_hash":"a0838c829a0d8899c9401c76b5f366544310202a9e6c587f320219193007ef34","text":"修复针对多列表（超过约 800 列）的不正确 JIT 元组解构代码（Andres Freund）","title":"修复针对多列表（超过约 800 列）的不正确 JIT 元组解构代码","variants":[],"version":"11.2"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["317ffdfea","350b0a403","356687bd8","35afccaba","3b632a58e","5567d12ce","6455c6588","9cf37a527"],"commit_groups":[["317ffdfea","6455c6588"],["350b0a403","3b632a58e"],["356687bd8","35afccaba"],["5567d12ce","9cf37a527"]],"commits":[],"cves":[],"db_id":"0c654e3368bf584ca2049034b2dfab55","html":"\u003cp\u003e修复基于 hash 的分组中的性能和内存泄漏问题（Andres Freund）\u003c/p\u003e","id":"11.2-783d2034206be7a3","identity_text":"Fix performance and memory leakage issues in hash-based grouping (Andres Freund)","part":"changes","patch_ids":["1b3b5f96821ee9e9a0729195d4d40794","43d3d8afe28acb7793313edff2819671","77ec3c009ea196421471cab490408737","9504918b422d12f35f52ff6762e2184d"],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":["350b0a403","35afccaba","6455c6588","9cf37a527"],"source_entry_id":"11.2/changes/027","source_hash":"f7f03a7dc7f9f8abbd3e26097ae3349895e3b5a840ee0d468c138aa210d94f47","source_url":"/docs/release/11.2/#id-1.11.6.25.5","statement_hash":"8ca7062f39d87511589e9b0755dd8e9b6a5bbb0a87dace923e597dfd563c7356","text":"修复基于 hash 的分组中的性能和内存泄漏问题（Andres Freund）","title":"修复基于 hash 的分组中的性能和内存泄漏问题","variants":[],"version":"11.2"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["174fab993","409230a72","624046abe","91448e7dc","d16d45387","e74d8c508"],"commit_groups":[["174fab993","409230a72","624046abe","91448e7dc","d16d45387","e74d8c508"]],"commits":[],"cves":[],"db_id":"9de8a6f3f5bf764272f6f8bc82c57111","html":"\u003cp\u003e修复因排序规则分配处理不一致而引发的虚假分组相关解析器错误（Andrew Gierth）\u003c/p\u003e\n\u003cp\u003e在某些情况下，如果表达式包含对支持排序规则的数据类型的操作，本应被视为匹配的表达式没有被认定为匹配。\u003c/p\u003e","id":"11.2-d5b2cdd9ff3fa984","identity_text":"Fix spurious grouping-related parser errors caused by inconsistent handling of collation assignment (Andrew Gierth) In some cases, expressions that should be considered to match were not seen as matching, if they included operations on collatable data types.","part":"changes","patch_ids":["1505483bf7a831488d1704cafcd0f825"],"related_changes":[{"db_id":"060be4642903ea45c671de9a768bd647","evidence":{"patch_ids":["1505483bf7a831488d1704cafcd0f825"],"same_day":true,"statement_hash":"9b8b2121ff38e3866696396677aab1e475cd9087a8a7e8a0ed288e4ac118db6f"},"kind":"equivalent","label":"10.7","source_url":"/docs/release/10.7/#id-1.11.6.21.5","title":"修复因排序规则分配处理不一致而引发的虚假分组相关解析器错误","url":"/docs/compare/?release=10.7#10.7-d5b2cdd9ff3fa984","version":"10.7"},{"db_id":"b14d1ad44f4f9a1753a80a190bb2b4af","evidence":{"patch_ids":["1505483bf7a831488d1704cafcd0f825"],"same_day":true,"statement_hash":"9b8b2121ff38e3866696396677aab1e475cd9087a8a7e8a0ed288e4ac118db6f"},"kind":"equivalent","label":"9.6.12","source_url":"/docs/release/9.6.12/#id-1.11.6.17.5","title":"修复排序规则分配处理不一致导致的虚假分组相关分析器错误","url":"/docs/compare/?release=9.6.12#9.6.12-bf56af9074252e63","version":"9.6.12"},{"db_id":"adefdbaad9b4829e6d0acd5506afe442","evidence":{"patch_ids":["1505483bf7a831488d1704cafcd0f825"],"same_day":true,"statement_hash":"9b8b2121ff38e3866696396677aab1e475cd9087a8a7e8a0ed288e4ac118db6f"},"kind":"equivalent","label":"9.5.16","source_url":"/docs/release/9.5.16/#id-1.11.6.14.5","title":"修复排序规则分配处理不一致导致的虚假分组相关分析器错误","url":"/docs/compare/?release=9.5.16#9.5.16-bf56af9074252e63","version":"9.5.16"},{"db_id":"1c59b58c733f2c85fcf942d986bef1a3","evidence":{"patch_ids":["1505483bf7a831488d1704cafcd0f825"],"same_day":true,"statement_hash":"9b8b2121ff38e3866696396677aab1e475cd9087a8a7e8a0ed288e4ac118db6f"},"kind":"equivalent","label":"9.4.21","source_url":"/docs/release/9.4.21/#id-1.11.6.10.6","title":"修复排序规则分配处理不一致导致的虚假分组相关分析器错误","url":"/docs/compare/?release=9.4.21#9.4.21-bf56af9074252e63","version":"9.4.21"}],"relations":[{"evidence":{"patch_ids":["1505483bf7a831488d1704cafcd0f825"],"same_day":true,"statement_hash":"9b8b2121ff38e3866696396677aab1e475cd9087a8a7e8a0ed288e4ac118db6f"},"rule":2,"target":"060be4642903ea45c671de9a768bd647","type":"equivalent"},{"evidence":{"patch_ids":["1505483bf7a831488d1704cafcd0f825"],"same_day":true,"statement_hash":"9b8b2121ff38e3866696396677aab1e475cd9087a8a7e8a0ed288e4ac118db6f"},"rule":2,"target":"1c59b58c733f2c85fcf942d986bef1a3","type":"equivalent"},{"evidence":{"patch_ids":["1505483bf7a831488d1704cafcd0f825"],"same_day":true,"statement_hash":"9b8b2121ff38e3866696396677aab1e475cd9087a8a7e8a0ed288e4ac118db6f"},"rule":2,"target":"adefdbaad9b4829e6d0acd5506afe442","type":"equivalent"},{"evidence":{"patch_ids":["1505483bf7a831488d1704cafcd0f825"],"same_day":true,"statement_hash":"9b8b2121ff38e3866696396677aab1e475cd9087a8a7e8a0ed288e4ac118db6f"},"rule":2,"target":"b14d1ad44f4f9a1753a80a190bb2b4af","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["e74d8c508"],"source_entry_id":"11.2/changes/028","source_hash":"6cd4d8f581fa7b847b569aabe502158f66e7a3999ce09b70deaa6a98f118eb2e","source_url":"/docs/release/11.2/#id-1.11.6.25.5","statement_hash":"9b8b2121ff38e3866696396677aab1e475cd9087a8a7e8a0ed288e4ac118db6f","text":"修复因排序规则分配处理不一致而引发的虚假分组相关解析器错误（Andrew Gierth） 在某些情况下，如果表达式包含对支持排序规则的数据类型的操作，本应被视为匹配的表达式没有被认定为匹配。","title":"修复因排序规则分配处理不一致而引发的虚假分组相关解析器错误","variants":[],"version":"11.2"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["004f494b5","cd5afd817"],"commit_groups":[["004f494b5","cd5afd817"]],"commits":[],"cves":[],"db_id":"2f404959bd57b3dbf848e4ed2c93a25f","html":"\u003cp\u003e修复 \u003ccode\u003eCALL\u003c/code\u003e 语句参数中对排序规则敏感的表达式的解析（Peter Eisentraut）\u003c/p\u003e","id":"11.2-2fed6542572f37c0","identity_text":"Fix parsing of collation-sensitive expressions in the arguments of a CALL statement (Peter Eisentraut)","part":"changes","patch_ids":["ccd4b50622e70c4329e06d7189441603"],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":["004f494b5"],"source_entry_id":"11.2/changes/029","source_hash":"c005948aafb2dc47b4c9e7eebc833db51a6c0abd5ff9d3b009cc73a4a086366f","source_url":"/docs/release/11.2/#id-1.11.6.25.5","statement_hash":"0902be6a6d7f0b2093eddb2cc0c65fe4966d6be1aedc6865fbdbfeb1d55fd24e","text":"修复 CALL 语句参数中对排序规则敏感的表达式的解析（Peter Eisentraut）","title":"修复 CALL 语句参数中对排序规则敏感的表达式的解析","variants":[],"version":"11.2"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["8e02ee788","f26c06a40"],"commit_groups":[["8e02ee788","f26c06a40"]],"commits":[],"cves":[],"db_id":"51e81f88ee64608874e1f813c0481a74","html":"\u003cp\u003e确保检测到 \u003ccode\u003eCALL\u003c/code\u003e 语句参数列表中的错误后进行适当清理（Tom Lane）\u003c/p\u003e","id":"11.2-ab7950858fb659b1","identity_text":"Ensure proper cleanup after detecting an error in the argument list of a CALL statement (Tom Lane)","part":"changes","patch_ids":["a9cbfb0e5a44e5346c976ca9978d3650"],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":["8e02ee788"],"source_entry_id":"11.2/changes/030","source_hash":"9691f76afbbdc0b00bdf4ef1f11705aa0af2891be96bdc3b582a45e59b030d83","source_url":"/docs/release/11.2/#id-1.11.6.25.5","statement_hash":"3f082ff46eecc87afca6047e6f19315a71c11ab9a7191dbafc167748d60286a2","text":"确保检测到 CALL 语句参数列表中的错误后进行适当清理（Tom Lane）","title":"确保检测到 CALL 语句参数列表中的错误后进行适当清理","variants":[],"version":"11.2"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["099063340","64edc788b","68a13f28b","c27c3993e","d6b37cdb6","f8b9b8097"],"commit_groups":[["099063340","64edc788b","68a13f28b","c27c3993e","d6b37cdb6","f8b9b8097"]],"commits":[],"cves":[],"db_id":"be7605ab0906c2e02cca861022499953","html":"\u003cp\u003e检查 \u003ccode\u003eLEAST()\u003c/code\u003e 或 \u003ccode\u003eGREATEST()\u003c/code\u003e 底层的比较函数是否防泄漏，而非直接假定它防泄漏（Tom Lane）\u003c/p\u003e\n\u003cp\u003e通常很难使 B-树比较函数实际泄漏信息，但原则上可能发生。\u003c/p\u003e","id":"11.2-7d5d774129cea68f","identity_text":"Check whether the comparison function underlying LEAST() or GREATEST() is leakproof, rather than just assuming it is (Tom Lane) Actual information leaks from btree comparison functions are typically hard to provoke, but in principle they could happen.","part":"changes","patch_ids":["10243ca6f385a264e2070242b9f73b72"],"related_changes":[{"db_id":"2f4dc72bb3dab3438fcd9fb0351b5437","evidence":{"patch_ids":["10243ca6f385a264e2070242b9f73b72"],"same_day":true,"statement_hash":"e296eb59769fc5095e9df54d61fbac3ec99331bc016ec251e60574a712d94bf1"},"kind":"equivalent","label":"10.7","source_url":"/docs/release/10.7/#id-1.11.6.21.5","title":"检查 LEAST() 或 GREATEST() 底层的比较函数是否防泄漏，而非直接假定它防泄漏","url":"/docs/compare/?release=10.7#10.7-7d5d774129cea68f","version":"10.7"},{"db_id":"51fe53d8127248de741bb349f298e27a","evidence":{"patch_ids":["10243ca6f385a264e2070242b9f73b72"],"same_day":true,"statement_hash":"e296eb59769fc5095e9df54d61fbac3ec99331bc016ec251e60574a712d94bf1"},"kind":"equivalent","label":"9.6.12","source_url":"/docs/release/9.6.12/#id-1.11.6.17.5","title":"检查 LEAST() 或 GREATEST() 底层的比较函数是否防泄漏，而不是直接假定它防泄漏","url":"/docs/compare/?release=9.6.12#9.6.12-bf335adebd4b10d4","version":"9.6.12"},{"db_id":"cdfd242c3e04a220e1c4e4f8cc327493","evidence":{"patch_ids":["10243ca6f385a264e2070242b9f73b72"],"same_day":true,"statement_hash":"e296eb59769fc5095e9df54d61fbac3ec99331bc016ec251e60574a712d94bf1"},"kind":"equivalent","label":"9.5.16","source_url":"/docs/release/9.5.16/#id-1.11.6.14.5","title":"检查 LEAST() 或 GREATEST() 底层的比较函数是否防泄漏，而不是直接假定它防泄漏","url":"/docs/compare/?release=9.5.16#9.5.16-bf335adebd4b10d4","version":"9.5.16"},{"db_id":"4a48718b3f267d0e84af709c736400f0","evidence":{"patch_ids":["10243ca6f385a264e2070242b9f73b72"],"same_day":true,"statement_hash":"e296eb59769fc5095e9df54d61fbac3ec99331bc016ec251e60574a712d94bf1"},"kind":"equivalent","label":"9.4.21","source_url":"/docs/release/9.4.21/#id-1.11.6.10.6","title":"检查 LEAST() 或 GREATEST() 底层的比较函数是否防泄漏，而不是直接假定它防泄漏","url":"/docs/compare/?release=9.4.21#9.4.21-bf335adebd4b10d4","version":"9.4.21"}],"relations":[{"evidence":{"patch_ids":["10243ca6f385a264e2070242b9f73b72"],"same_day":true,"statement_hash":"e296eb59769fc5095e9df54d61fbac3ec99331bc016ec251e60574a712d94bf1"},"rule":2,"target":"2f4dc72bb3dab3438fcd9fb0351b5437","type":"equivalent"},{"evidence":{"patch_ids":["10243ca6f385a264e2070242b9f73b72"],"same_day":true,"statement_hash":"e296eb59769fc5095e9df54d61fbac3ec99331bc016ec251e60574a712d94bf1"},"rule":2,"target":"4a48718b3f267d0e84af709c736400f0","type":"equivalent"},{"evidence":{"patch_ids":["10243ca6f385a264e2070242b9f73b72"],"same_day":true,"statement_hash":"e296eb59769fc5095e9df54d61fbac3ec99331bc016ec251e60574a712d94bf1"},"rule":2,"target":"51fe53d8127248de741bb349f298e27a","type":"equivalent"},{"evidence":{"patch_ids":["10243ca6f385a264e2070242b9f73b72"],"same_day":true,"statement_hash":"e296eb59769fc5095e9df54d61fbac3ec99331bc016ec251e60574a712d94bf1"},"rule":2,"target":"cdfd242c3e04a220e1c4e4f8cc327493","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["099063340"],"source_entry_id":"11.2/changes/031","source_hash":"028dadf1993f6c32e6db074962e2f2e535165c9e9a1356ea80ebac5c949795a9","source_url":"/docs/release/11.2/#id-1.11.6.25.5","statement_hash":"e296eb59769fc5095e9df54d61fbac3ec99331bc016ec251e60574a712d94bf1","text":"检查 LEAST() 或 GREATEST() 底层的比较函数是否防泄漏，而非直接假定它防泄漏（Tom Lane） 通常很难使 B-树比较函数实际泄漏信息，但原则上可能发生。","title":"检查 LEAST() 或 GREATEST() 底层的比较函数是否防泄漏，而非直接假定它防泄漏","variants":[],"version":"11.2"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["05eb923ea","1db5667ba","2977a312d","4f8097499"],"commit_groups":[["05eb923ea","1db5667ba","2977a312d","4f8097499"]],"commits":[],"cves":[],"db_id":"6939672fe8df6ed3a74aab1067205ef8","html":"\u003cp\u003e修复 Gather 计划节点上下都包含嵌套循环的查询的不正确规划（Tom Lane）\u003c/p\u003e\n\u003cp\u003e如果两层嵌套循环都需要将同一个变量传入各自的右侧，就会生成不正确的计划。\u003c/p\u003e","id":"11.2-e8965a21b7fd5df3","identity_text":"Fix incorrect planning of queries involving nested loops both above and below a Gather plan node (Tom Lane) If both levels of nestloop needed to pass the same variable into their right-hand sides, an incorrect plan would be generated.","part":"changes","patch_ids":["910af4181d72b207574d7816d8c7d636"],"related_changes":[{"db_id":"b247f110726f1714864fcb4621557adb","evidence":{"patch_ids":["910af4181d72b207574d7816d8c7d636"],"same_day":true,"statement_hash":"2bf3f1153ae3dabacb24736c7f7c569cbc4451cb8cd11154c409d1eab3c32454"},"kind":"equivalent","label":"10.7","source_url":"/docs/release/10.7/#id-1.11.6.21.5","title":"修复 Gather 计划节点上下都包含嵌套循环的查询的不正确规划","url":"/docs/compare/?release=10.7#10.7-e8965a21b7fd5df3","version":"10.7"},{"db_id":"532a9f4057875db8bbf1ae25cb07821c","evidence":{"patch_ids":["910af4181d72b207574d7816d8c7d636"],"same_day":true,"statement_hash":"2bf3f1153ae3dabacb24736c7f7c569cbc4451cb8cd11154c409d1eab3c32454"},"kind":"equivalent","label":"9.6.12","source_url":"/docs/release/9.6.12/#id-1.11.6.17.5","title":"修复涉及 Gather 计划节点上下都有嵌套循环的查询的错误规划","url":"/docs/compare/?release=9.6.12#9.6.12-7ebb2e4c170eab13","version":"9.6.12"}],"relations":[{"evidence":{"patch_ids":["910af4181d72b207574d7816d8c7d636"],"same_day":true,"statement_hash":"2bf3f1153ae3dabacb24736c7f7c569cbc4451cb8cd11154c409d1eab3c32454"},"rule":2,"target":"532a9f4057875db8bbf1ae25cb07821c","type":"equivalent"},{"evidence":{"patch_ids":["910af4181d72b207574d7816d8c7d636"],"same_day":true,"statement_hash":"2bf3f1153ae3dabacb24736c7f7c569cbc4451cb8cd11154c409d1eab3c32454"},"rule":2,"target":"b247f110726f1714864fcb4621557adb","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["05eb923ea"],"source_entry_id":"11.2/changes/032","source_hash":"32326af3cc3e2f913af8653336763cea51473eb856f3c5e6de9144ea6c1c175c","source_url":"/docs/release/11.2/#id-1.11.6.25.5","statement_hash":"2bf3f1153ae3dabacb24736c7f7c569cbc4451cb8cd11154c409d1eab3c32454","text":"修复 Gather 计划节点上下都包含嵌套循环的查询的不正确规划（Tom Lane） 如果两层嵌套循环都需要将同一个变量传入各自的右侧，就会生成不正确的计划。","title":"修复 Gather 计划节点上下都包含嵌套循环的查询的不正确规划","variants":[],"version":"11.2"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["1eeee6909","34ea1ab7f","876fd37fc","9d6d2b213","d468da0d6","e3101a031"],"commit_groups":[["1eeee6909","34ea1ab7f","876fd37fc","9d6d2b213","d468da0d6","e3101a031"]],"commits":[],"cves":[],"db_id":"bda1eb21f9480626ad4d9bf00073346e","html":"\u003cp\u003e修复必须在外部表扫描处对横向引用求值的查询的不正确规划（Tom Lane）\u003c/p\u003e","id":"11.2-e807c77d8d848fe2","identity_text":"Fix incorrect planning of queries in which a lateral reference must be evaluated at a foreign table scan (Tom Lane)","part":"changes","patch_ids":["5336bcec2f5932123cd50ba929c09635"],"related_changes":[{"db_id":"4f8191ef4325da8ce0c5b095f97f4db7","evidence":{"patch_ids":["5336bcec2f5932123cd50ba929c09635"],"same_day":true,"statement_hash":"f3091c700511a6d7a2c1ce5cc02e01c0e3ef669e204ee0d11f67ad84402d15a9"},"kind":"equivalent","label":"10.7","source_url":"/docs/release/10.7/#id-1.11.6.21.5","title":"修复必须在外部表扫描处对横向引用求值的查询的不正确规划","url":"/docs/compare/?release=10.7#10.7-e807c77d8d848fe2","version":"10.7"},{"db_id":"5b7564d69abdb31fc354f01bb0d390c2","evidence":{"patch_ids":["5336bcec2f5932123cd50ba929c09635"],"same_day":true,"statement_hash":"f3091c700511a6d7a2c1ce5cc02e01c0e3ef669e204ee0d11f67ad84402d15a9"},"kind":"equivalent","label":"9.6.12","source_url":"/docs/release/9.6.12/#id-1.11.6.17.5","title":"修复必须在外部表扫描处求值横向引用的查询的错误规划","url":"/docs/compare/?release=9.6.12#9.6.12-fe6062fd1b04833f","version":"9.6.12"},{"db_id":"354d2112f020f99f16e1450a3cd1025f","evidence":{"patch_ids":["5336bcec2f5932123cd50ba929c09635"],"same_day":true,"statement_hash":"f3091c700511a6d7a2c1ce5cc02e01c0e3ef669e204ee0d11f67ad84402d15a9"},"kind":"equivalent","label":"9.5.16","source_url":"/docs/release/9.5.16/#id-1.11.6.14.5","title":"修复必须在外部表扫描处求值横向引用的查询的错误规划","url":"/docs/compare/?release=9.5.16#9.5.16-fe6062fd1b04833f","version":"9.5.16"},{"db_id":"3531afe827dc600e49c040c0ce648222","evidence":{"patch_ids":["5336bcec2f5932123cd50ba929c09635"],"same_day":true,"statement_hash":"f3091c700511a6d7a2c1ce5cc02e01c0e3ef669e204ee0d11f67ad84402d15a9"},"kind":"equivalent","label":"9.4.21","source_url":"/docs/release/9.4.21/#id-1.11.6.10.6","title":"修复横向引用必须在外部表扫描处求值的查询规划错误的问题","url":"/docs/compare/?release=9.4.21#9.4.21-3a4d69bc3cdf76f7","version":"9.4.21"}],"relations":[{"evidence":{"patch_ids":["5336bcec2f5932123cd50ba929c09635"],"same_day":true,"statement_hash":"f3091c700511a6d7a2c1ce5cc02e01c0e3ef669e204ee0d11f67ad84402d15a9"},"rule":2,"target":"3531afe827dc600e49c040c0ce648222","type":"equivalent"},{"evidence":{"patch_ids":["5336bcec2f5932123cd50ba929c09635"],"same_day":true,"statement_hash":"f3091c700511a6d7a2c1ce5cc02e01c0e3ef669e204ee0d11f67ad84402d15a9"},"rule":2,"target":"354d2112f020f99f16e1450a3cd1025f","type":"equivalent"},{"evidence":{"patch_ids":["5336bcec2f5932123cd50ba929c09635"],"same_day":true,"statement_hash":"f3091c700511a6d7a2c1ce5cc02e01c0e3ef669e204ee0d11f67ad84402d15a9"},"rule":2,"target":"4f8191ef4325da8ce0c5b095f97f4db7","type":"equivalent"},{"evidence":{"patch_ids":["5336bcec2f5932123cd50ba929c09635"],"same_day":true,"statement_hash":"f3091c700511a6d7a2c1ce5cc02e01c0e3ef669e204ee0d11f67ad84402d15a9"},"rule":2,"target":"5b7564d69abdb31fc354f01bb0d390c2","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["9d6d2b213"],"source_entry_id":"11.2/changes/033","source_hash":"b1be77045d55b6fb84ebd6a29ccf3c7a2fa1dd9983029ba84dedbf5869dda3fc","source_url":"/docs/release/11.2/#id-1.11.6.25.5","statement_hash":"f3091c700511a6d7a2c1ce5cc02e01c0e3ef669e204ee0d11f67ad84402d15a9","text":"修复必须在外部表扫描处对横向引用求值的查询的不正确规划（Tom Lane）","title":"修复必须在外部表扫描处对横向引用求值的查询的不正确规划","variants":[],"version":"11.2"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["6bdc3005b","eb68d71f9"],"commit_groups":[["6bdc3005b","eb68d71f9"]],"commits":[],"cves":[],"db_id":"dfe7890bb3b356d0edc86786023b0e60","html":"\u003cp\u003e修复行比较的第一列匹配索引列，但后续列不匹配，且该索引具有内含列（非键列）时发生的规划器失败（Tom Lane）\u003c/p\u003e","id":"11.2-9a4a9921be3e83ff","identity_text":"Fix planner failure when the first column of a row comparison matches an index column, but later column(s) do not, and the index has included (non-key) columns (Tom Lane)","part":"changes","patch_ids":["a5d3567f0e3dc79d8655dbb0dbe2f4b0"],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":["eb68d71f9"],"source_entry_id":"11.2/changes/034","source_hash":"fc84eadb0b7f31e25381f5780816754f60331ee6ee8114204c2f17b1de6aaab8","source_url":"/docs/release/11.2/#id-1.11.6.25.5","statement_hash":"638564ef431e4a88016d6d88607a753f36f6d46a847b1f28263bbb1ae26c7c9c","text":"修复行比较的第一列匹配索引列，但后续列不匹配，且该索引具有内含列（非键列）时发生的规划器失败（Tom Lane）","title":"修复行比较的第一列匹配索引列，但后续列不匹配，且该索引具有内含列（非键列）时发生的规划器失败","variants":[],"version":"11.2"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["72a626e68","7c2bc40b8","ad425aaf0","d16567093","d364e8815","ef673a32d"],"commit_groups":[["72a626e68","7c2bc40b8","ad425aaf0","d16567093","d364e8815","ef673a32d"]],"commits":[],"cves":[],"db_id":"59072165ff62b908831246d189ccdd3f","html":"\u003cp\u003e修复边界情况下低估归并连接代价的问题（Tom Lane）\u003c/p\u003e\n\u003cp\u003e当外侧键范围远小于内侧键范围时，规划器可能偏好归并连接，即使内侧存在大量重复键，使其成为低效选择。\u003c/p\u003e","id":"11.2-3ced48b41a8de8ac","identity_text":"Fix corner-case underestimation of the cost of a merge join (Tom Lane) The planner could prefer a merge join when the outer key range is much smaller than the inner key range, even if there are so many duplicate keys on the inner side that this is a poor choice.","part":"changes","patch_ids":["6340549505356d918a295f3ea6c5f596"],"related_changes":[{"db_id":"a9b825e90ea5bfde11ce4b49ec05bbd8","evidence":{"patch_ids":["6340549505356d918a295f3ea6c5f596"],"same_day":true,"statement_hash":"3aa9e70862272955da108fbeba34d23fcd4accdcd545e34bcf5783c2723d3f17"},"kind":"equivalent","label":"10.7","source_url":"/docs/release/10.7/#id-1.11.6.21.5","title":"修复边界情况下低估归并连接代价的问题","url":"/docs/compare/?release=10.7#10.7-3ced48b41a8de8ac","version":"10.7"},{"db_id":"1e50a972cb40096b25a48680c1810ea4","evidence":{"patch_ids":["6340549505356d918a295f3ea6c5f596"],"same_day":true,"statement_hash":"3aa9e70862272955da108fbeba34d23fcd4accdcd545e34bcf5783c2723d3f17"},"kind":"equivalent","label":"9.6.12","source_url":"/docs/release/9.6.12/#id-1.11.6.17.5","title":"修复归并连接代价的边界低估","url":"/docs/compare/?release=9.6.12#9.6.12-736d497984b7f310","version":"9.6.12"},{"db_id":"dc36638f2802173341812995b8e58e6b","evidence":{"patch_ids":["6340549505356d918a295f3ea6c5f596"],"same_day":true,"statement_hash":"3aa9e70862272955da108fbeba34d23fcd4accdcd545e34bcf5783c2723d3f17"},"kind":"equivalent","label":"9.5.16","source_url":"/docs/release/9.5.16/#id-1.11.6.14.5","title":"修复归并连接代价的边界低估","url":"/docs/compare/?release=9.5.16#9.5.16-736d497984b7f310","version":"9.5.16"},{"db_id":"f83041a6e870e795da2ed3a6ada57352","evidence":{"patch_ids":["6340549505356d918a295f3ea6c5f596"],"same_day":true,"statement_hash":"3aa9e70862272955da108fbeba34d23fcd4accdcd545e34bcf5783c2723d3f17"},"kind":"equivalent","label":"9.4.21","source_url":"/docs/release/9.4.21/#id-1.11.6.10.6","title":"修复归并连接代价的边界低估","url":"/docs/compare/?release=9.4.21#9.4.21-736d497984b7f310","version":"9.4.21"}],"relations":[{"evidence":{"patch_ids":["6340549505356d918a295f3ea6c5f596"],"same_day":true,"statement_hash":"3aa9e70862272955da108fbeba34d23fcd4accdcd545e34bcf5783c2723d3f17"},"rule":2,"target":"1e50a972cb40096b25a48680c1810ea4","type":"equivalent"},{"evidence":{"patch_ids":["6340549505356d918a295f3ea6c5f596"],"same_day":true,"statement_hash":"3aa9e70862272955da108fbeba34d23fcd4accdcd545e34bcf5783c2723d3f17"},"rule":2,"target":"a9b825e90ea5bfde11ce4b49ec05bbd8","type":"equivalent"},{"evidence":{"patch_ids":["6340549505356d918a295f3ea6c5f596"],"same_day":true,"statement_hash":"3aa9e70862272955da108fbeba34d23fcd4accdcd545e34bcf5783c2723d3f17"},"rule":2,"target":"dc36638f2802173341812995b8e58e6b","type":"equivalent"},{"evidence":{"patch_ids":["6340549505356d918a295f3ea6c5f596"],"same_day":true,"statement_hash":"3aa9e70862272955da108fbeba34d23fcd4accdcd545e34bcf5783c2723d3f17"},"rule":2,"target":"f83041a6e870e795da2ed3a6ada57352","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["ad425aaf0"],"source_entry_id":"11.2/changes/035","source_hash":"e8ccd04bdb210a7b4e24c704e36f4468e5a2efc6f629816ef9ac70931b72ab5c","source_url":"/docs/release/11.2/#id-1.11.6.25.5","statement_hash":"3aa9e70862272955da108fbeba34d23fcd4accdcd545e34bcf5783c2723d3f17","text":"修复边界情况下低估归并连接代价的问题（Tom Lane） 当外侧键范围远小于内侧键范围时，规划器可能偏好归并连接，即使内侧存在大量重复键，使其成为低效选择。","title":"修复边界情况下低估归并连接代价的问题","variants":[],"version":"11.2"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["15b9d47c8","2abc87953","92dbbe90c","c6b3835c7","e3f005d97","fe66fc6f9"],"commit_groups":[["15b9d47c8","2abc87953","92dbbe90c","c6b3835c7","e3f005d97","fe66fc6f9"]],"commits":[],"cves":[],"db_id":"0a496a38c0b0b6f4ab2f6638c619f1b4","html":"\u003cp\u003e避免查询包含成千上万个可使用索引的子句时，规划时间以 O(N^2) 增长（Tom Lane）\u003c/p\u003e","id":"11.2-ce36192f0c0a7fdd","identity_text":"Avoid O(N^2) planning time growth when a query contains many thousand indexable clauses (Tom Lane)","part":"changes","patch_ids":["0912f086f01bc30847925ec6bc7d7489"],"related_changes":[{"db_id":"ca0ac4ee39d73cb3de7c04797db89709","evidence":{"patch_ids":["0912f086f01bc30847925ec6bc7d7489"],"same_day":true,"statement_hash":"3195b99f61e63a1563de767582a58805cdd4a00e87311931ec01c60a5742ff73"},"kind":"equivalent","label":"10.7","source_url":"/docs/release/10.7/#id-1.11.6.21.5","title":"避免查询包含成千上万个可使用索引的子句时，规划时间以 O(N^2) 增长","url":"/docs/compare/?release=10.7#10.7-ce36192f0c0a7fdd","version":"10.7"},{"db_id":"ab6454b9c1c6337e8af4edb10bfdd0f1","evidence":{"patch_ids":["0912f086f01bc30847925ec6bc7d7489"],"same_day":true,"statement_hash":"3195b99f61e63a1563de767582a58805cdd4a00e87311931ec01c60a5742ff73"},"kind":"equivalent","label":"9.6.12","source_url":"/docs/release/9.6.12/#id-1.11.6.17.5","title":"避免查询包含数千个可索引子句时 O(N^2) 的规划时间增长","url":"/docs/compare/?release=9.6.12#9.6.12-644584d931a7f6d1","version":"9.6.12"},{"db_id":"a8c9373aada4826cbc39f1c06cfbe049","evidence":{"patch_ids":["0912f086f01bc30847925ec6bc7d7489"],"same_day":true,"statement_hash":"3195b99f61e63a1563de767582a58805cdd4a00e87311931ec01c60a5742ff73"},"kind":"equivalent","label":"9.5.16","source_url":"/docs/release/9.5.16/#id-1.11.6.14.5","title":"避免查询包含数千个可索引子句时 O(N^2) 的规划时间增长","url":"/docs/compare/?release=9.5.16#9.5.16-644584d931a7f6d1","version":"9.5.16"},{"db_id":"e006c28481e2a55db16d28c805352633","evidence":{"patch_ids":["0912f086f01bc30847925ec6bc7d7489"],"same_day":true,"statement_hash":"3195b99f61e63a1563de767582a58805cdd4a00e87311931ec01c60a5742ff73"},"kind":"equivalent","label":"9.4.21","source_url":"/docs/release/9.4.21/#id-1.11.6.10.6","title":"避免查询包含数千个可索引子句时规划时间 O(N^2) 增长的问题","url":"/docs/compare/?release=9.4.21#9.4.21-bdb68921210a87f8","version":"9.4.21"}],"relations":[{"evidence":{"patch_ids":["0912f086f01bc30847925ec6bc7d7489"],"same_day":true,"statement_hash":"3195b99f61e63a1563de767582a58805cdd4a00e87311931ec01c60a5742ff73"},"rule":2,"target":"a8c9373aada4826cbc39f1c06cfbe049","type":"equivalent"},{"evidence":{"patch_ids":["0912f086f01bc30847925ec6bc7d7489"],"same_day":true,"statement_hash":"3195b99f61e63a1563de767582a58805cdd4a00e87311931ec01c60a5742ff73"},"rule":2,"target":"ab6454b9c1c6337e8af4edb10bfdd0f1","type":"equivalent"},{"evidence":{"patch_ids":["0912f086f01bc30847925ec6bc7d7489"],"same_day":true,"statement_hash":"3195b99f61e63a1563de767582a58805cdd4a00e87311931ec01c60a5742ff73"},"rule":2,"target":"ca0ac4ee39d73cb3de7c04797db89709","type":"equivalent"},{"evidence":{"patch_ids":["0912f086f01bc30847925ec6bc7d7489"],"same_day":true,"statement_hash":"3195b99f61e63a1563de767582a58805cdd4a00e87311931ec01c60a5742ff73"},"rule":2,"target":"e006c28481e2a55db16d28c805352633","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["15b9d47c8"],"source_entry_id":"11.2/changes/036","source_hash":"5132039435513b600368c80b5bfb7ae84d8353089e933d850901352fe9e388c0","source_url":"/docs/release/11.2/#id-1.11.6.25.5","statement_hash":"3195b99f61e63a1563de767582a58805cdd4a00e87311931ec01c60a5742ff73","text":"避免查询包含成千上万个可使用索引的子句时，规划时间以 O(N^2) 增长（Tom Lane）","title":"避免查询包含成千上万个可使用索引的子句时，规划时间以 O(N^2) 增长","variants":[],"version":"11.2"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["8d8dcead1","b10e3bba8"],"commit_groups":[["8d8dcead1","b10e3bba8"]],"commits":[],"cves":[],"db_id":"6ec8dcc6e996323b1c7dc286b7966e02","html":"\u003cp\u003e提高大型继承或分区表组的规划速度（Amit Langote，Etsuro Fujita）\u003c/p\u003e","id":"11.2-9fd77a756c5a02a2","identity_text":"Improve planning speed for large inheritance or partitioning table groups (Amit Langote, Etsuro Fujita)","part":"changes","patch_ids":["af31ffd6b5e7f858ebd6052b96ec6229"],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":["b10e3bba8"],"source_entry_id":"11.2/changes/037","source_hash":"09c201d0d42d1fa099e8fce2ae562dbb4ef681f2c5c73200cd692b520be2664c","source_url":"/docs/release/11.2/#id-1.11.6.25.5","statement_hash":"a29c87177b1d35263f9a38e60ac194ca571442f554f57820681d27bf3c450e66","text":"提高大型继承或分区表组的规划速度（Amit Langote，Etsuro Fujita）","title":"提高大型继承或分区表组的规划速度","variants":[],"version":"11.2"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["3010de813","60de80cd2","708931c2d","7170268ef","d2557c42a","fc8adddd9"],"commit_groups":[["3010de813","60de80cd2","708931c2d","7170268ef","d2557c42a","fc8adddd9"]],"commits":[],"cves":[],"db_id":"65e06740e546a93ed9c9bb2f5c0ca8b2","html":"\u003cp\u003e改进 \u003ccode\u003eANALYZE\u003c/code\u003e 对并发更新行的处理（Jeff Janes，Tom Lane）\u003c/p\u003e\n\u003cp\u003e以前，正在进行的事务所删除的行会被排除在 \u003ccode\u003eANALYZE\u003c/code\u003e 样本之外，但现在发现，这比包含它们会带来更多不一致。实际上，样本现在对应于 \u003ccode\u003eANALYZE\u003c/code\u003e 开始时的 MVCC 快照。\u003c/p\u003e","id":"11.2-a558c732906fb020","identity_text":"Improve ANALYZE's handling of concurrently-updated rows (Jeff Janes, Tom Lane) Previously, rows deleted by an in-progress transaction were omitted from ANALYZE's sample, but this has been found to lead to more inconsistency than including them would do. In effect, the sample now corresponds to an MVCC snapshot as of ANALYZE's start time.","part":"changes","patch_ids":["3c34cbfb351f59987d9a949d4feb7c47"],"related_changes":[{"db_id":"2fb9837020438844d1fb354dc4240f57","evidence":{"patch_ids":["3c34cbfb351f59987d9a949d4feb7c47"],"same_day":true,"statement_hash":"913ee89a1c2564947f98228968097621de88b282c2722f24c6200ea4a49fae40"},"kind":"equivalent","label":"10.7","source_url":"/docs/release/10.7/#id-1.11.6.21.5","title":"改进 ANALYZE 对并发更新行的处理","url":"/docs/compare/?release=10.7#10.7-a558c732906fb020","version":"10.7"},{"db_id":"9a69f4d0cbaa57a27d628df448272eb9","evidence":{"patch_ids":["3c34cbfb351f59987d9a949d4feb7c47"],"same_day":true,"statement_hash":"913ee89a1c2564947f98228968097621de88b282c2722f24c6200ea4a49fae40"},"kind":"equivalent","label":"9.6.12","source_url":"/docs/release/9.6.12/#id-1.11.6.17.5","title":"改进 ANALYZE 对并发更新行的处理","url":"/docs/compare/?release=9.6.12#9.6.12-a558c732906fb020","version":"9.6.12"},{"db_id":"45348ab6ed1c570431a1d61d73eebcd6","evidence":{"patch_ids":["3c34cbfb351f59987d9a949d4feb7c47"],"same_day":true,"statement_hash":"913ee89a1c2564947f98228968097621de88b282c2722f24c6200ea4a49fae40"},"kind":"equivalent","label":"9.5.16","source_url":"/docs/release/9.5.16/#id-1.11.6.14.5","title":"改进 ANALYZE 对并发更新行的处理","url":"/docs/compare/?release=9.5.16#9.5.16-a558c732906fb020","version":"9.5.16"},{"db_id":"a05df9f2fd20ee32f21f0d5e0ba1dc51","evidence":{"patch_ids":["3c34cbfb351f59987d9a949d4feb7c47"],"same_day":true,"statement_hash":"913ee89a1c2564947f98228968097621de88b282c2722f24c6200ea4a49fae40"},"kind":"equivalent","label":"9.4.21","source_url":"/docs/release/9.4.21/#id-1.11.6.10.6","title":"改进 ANALYZE 对并发更新行的处理","url":"/docs/compare/?release=9.4.21#9.4.21-a558c732906fb020","version":"9.4.21"}],"relations":[{"evidence":{"patch_ids":["3c34cbfb351f59987d9a949d4feb7c47"],"same_day":true,"statement_hash":"913ee89a1c2564947f98228968097621de88b282c2722f24c6200ea4a49fae40"},"rule":2,"target":"2fb9837020438844d1fb354dc4240f57","type":"equivalent"},{"evidence":{"patch_ids":["3c34cbfb351f59987d9a949d4feb7c47"],"same_day":true,"statement_hash":"913ee89a1c2564947f98228968097621de88b282c2722f24c6200ea4a49fae40"},"rule":2,"target":"45348ab6ed1c570431a1d61d73eebcd6","type":"equivalent"},{"evidence":{"patch_ids":["3c34cbfb351f59987d9a949d4feb7c47"],"same_day":true,"statement_hash":"913ee89a1c2564947f98228968097621de88b282c2722f24c6200ea4a49fae40"},"rule":2,"target":"9a69f4d0cbaa57a27d628df448272eb9","type":"equivalent"},{"evidence":{"patch_ids":["3c34cbfb351f59987d9a949d4feb7c47"],"same_day":true,"statement_hash":"913ee89a1c2564947f98228968097621de88b282c2722f24c6200ea4a49fae40"},"rule":2,"target":"a05df9f2fd20ee32f21f0d5e0ba1dc51","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["fc8adddd9"],"source_entry_id":"11.2/changes/038","source_hash":"68b92b979f0f1e1a2a34d498d6326199d215f56d8a965fba7cb66ef80b2cabea","source_url":"/docs/release/11.2/#id-1.11.6.25.5","statement_hash":"913ee89a1c2564947f98228968097621de88b282c2722f24c6200ea4a49fae40","text":"改进 ANALYZE 对并发更新行的处理（Jeff Janes，Tom Lane） 以前，正在进行的事务所删除的行会被排除在 ANALYZE 样本之外，但现在发现，这比包含它们会带来更多不一致。实际上，样本现在对应于 ANALYZE 开始时的 MVCC 快照。","title":"改进 ANALYZE 对并发更新行的处理","variants":[],"version":"11.2"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["0a323ae67","1d7007671","1e504f01d","285abc8df","b30b9dce1","d4486700b"],"commit_groups":[["0a323ae67","1d7007671","1e504f01d","285abc8df","b30b9dce1","d4486700b"]],"commits":[],"cves":[],"db_id":"e6df38661dbacd724751a1c6fbdf5b3b","html":"\u003cp\u003e使 \u003ccode\u003eTRUNCATE\u003c/code\u003e 忽略属于其他会话临时表的继承子表（Amit Langote，Michael Paquier）\u003c/p\u003e\n\u003cp\u003e这使 \u003ccode\u003eTRUNCATE\u003c/code\u003e 的行为与其他命令一致。以前，此类情况通常会以失败告终。\u003c/p\u003e","id":"11.2-dc553965b9743522","identity_text":"Make TRUNCATE ignore inheritance child tables that are temporary tables of other sessions (Amit Langote, Michael Paquier) This brings TRUNCATE into line with the behavior of other commands. Previously, such cases usually ended in failure.","part":"changes","patch_ids":["f92fd323b016dddd573493fc747398a4"],"related_changes":[{"db_id":"58b5ad27b1ad1e5d9ed30605286a7461","evidence":{"patch_ids":["f92fd323b016dddd573493fc747398a4"],"same_day":true,"statement_hash":"a99e870d67a97dea8231a9ec6a842903fcc5c68a387617d68b96f61c231754ab"},"kind":"equivalent","label":"10.7","source_url":"/docs/release/10.7/#id-1.11.6.21.5","title":"使 TRUNCATE 忽略属于其他会话临时表的继承子表","url":"/docs/compare/?release=10.7#10.7-dc553965b9743522","version":"10.7"},{"db_id":"299a173b84bdbba2b2ef7d7f5e68b412","evidence":{"patch_ids":["f92fd323b016dddd573493fc747398a4"],"same_day":true,"statement_hash":"a99e870d67a97dea8231a9ec6a842903fcc5c68a387617d68b96f61c231754ab"},"kind":"equivalent","label":"9.6.12","source_url":"/docs/release/9.6.12/#id-1.11.6.17.5","title":"让 TRUNCATE 忽略作为其他会话临时表的继承子表","url":"/docs/compare/?release=9.6.12#9.6.12-44f0f31362cefde2","version":"9.6.12"},{"db_id":"c205e6791fa6f13866b21b6fa8dc3e6a","evidence":{"patch_ids":["f92fd323b016dddd573493fc747398a4"],"same_day":true,"statement_hash":"a99e870d67a97dea8231a9ec6a842903fcc5c68a387617d68b96f61c231754ab"},"kind":"equivalent","label":"9.5.16","source_url":"/docs/release/9.5.16/#id-1.11.6.14.5","title":"让 TRUNCATE 忽略作为其他会话临时表的继承子表","url":"/docs/compare/?release=9.5.16#9.5.16-44f0f31362cefde2","version":"9.5.16"},{"db_id":"ba9b63c069d724acd9ecc209c77d9c9e","evidence":{"patch_ids":["f92fd323b016dddd573493fc747398a4"],"same_day":true,"statement_hash":"a99e870d67a97dea8231a9ec6a842903fcc5c68a387617d68b96f61c231754ab"},"kind":"equivalent","label":"9.4.21","source_url":"/docs/release/9.4.21/#id-1.11.6.10.6","title":"让 TRUNCATE 忽略作为其他会话临时表的继承子表","url":"/docs/compare/?release=9.4.21#9.4.21-44f0f31362cefde2","version":"9.4.21"}],"relations":[{"evidence":{"patch_ids":["f92fd323b016dddd573493fc747398a4"],"same_day":true,"statement_hash":"a99e870d67a97dea8231a9ec6a842903fcc5c68a387617d68b96f61c231754ab"},"rule":2,"target":"299a173b84bdbba2b2ef7d7f5e68b412","type":"equivalent"},{"evidence":{"patch_ids":["f92fd323b016dddd573493fc747398a4"],"same_day":true,"statement_hash":"a99e870d67a97dea8231a9ec6a842903fcc5c68a387617d68b96f61c231754ab"},"rule":2,"target":"58b5ad27b1ad1e5d9ed30605286a7461","type":"equivalent"},{"evidence":{"patch_ids":["f92fd323b016dddd573493fc747398a4"],"same_day":true,"statement_hash":"a99e870d67a97dea8231a9ec6a842903fcc5c68a387617d68b96f61c231754ab"},"rule":2,"target":"ba9b63c069d724acd9ecc209c77d9c9e","type":"equivalent"},{"evidence":{"patch_ids":["f92fd323b016dddd573493fc747398a4"],"same_day":true,"statement_hash":"a99e870d67a97dea8231a9ec6a842903fcc5c68a387617d68b96f61c231754ab"},"rule":2,"target":"c205e6791fa6f13866b21b6fa8dc3e6a","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["b30b9dce1"],"source_entry_id":"11.2/changes/039","source_hash":"9177c508f3b577a0823d2d58c891e8dbbd4d985a8f00c535da39f16c52eba7db","source_url":"/docs/release/11.2/#id-1.11.6.25.5","statement_hash":"a99e870d67a97dea8231a9ec6a842903fcc5c68a387617d68b96f61c231754ab","text":"使 TRUNCATE 忽略属于其他会话临时表的继承子表（Amit Langote，Michael Paquier） 这使 TRUNCATE 的行为与其他命令一致。以前，此类情况通常会以失败告终。","title":"使 TRUNCATE 忽略属于其他会话临时表的继承子表","variants":[],"version":"11.2"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["078303f79","4d5cfb911","54f24ab76","5deadfef2","aedd3d4db"],"commit_groups":[["078303f79","4d5cfb911","54f24ab76","5deadfef2","aedd3d4db"]],"commits":[],"cves":[],"db_id":"7d19a7f220f9178a671c8e1477fd4b2e","html":"\u003cp\u003e修复 \u003ccode\u003eTRUNCATE\u003c/code\u003e，使其更新正确表的统计计数器（Tom Lane）\u003c/p\u003e\n\u003cp\u003e如果被截断的表具有 TOAST 表，以前会重置 TOAST 表的计数器。\u003c/p\u003e","id":"11.2-1403a0afb6d8bdbf","identity_text":"Fix TRUNCATE to update the statistics counters for the right table (Tom Lane) If the truncated table had a TOAST table, that table's counters were reset instead.","part":"changes","patch_ids":["091d85d6e03614aa970210f56481f229"],"related_changes":[{"db_id":"353f272f0954dfe55377911bee3a0f23","evidence":{"patch_ids":["091d85d6e03614aa970210f56481f229"],"same_day":true,"statement_hash":"6861093f180d7fde7cc198919ed21cb880f2076f996c6646491d5b389dc14677"},"kind":"equivalent","label":"10.7","source_url":"/docs/release/10.7/#id-1.11.6.21.5","title":"修复 TRUNCATE，使其更新正确表的统计计数器","url":"/docs/compare/?release=10.7#10.7-1403a0afb6d8bdbf","version":"10.7"},{"db_id":"ffbc70723fea0383b5fc8c90fdc244be","evidence":{"patch_ids":["091d85d6e03614aa970210f56481f229"],"same_day":true,"statement_hash":"6861093f180d7fde7cc198919ed21cb880f2076f996c6646491d5b389dc14677"},"kind":"equivalent","label":"9.6.12","source_url":"/docs/release/9.6.12/#id-1.11.6.17.5","title":"修复 TRUNCATE 更新正确表的统计计数器","url":"/docs/compare/?release=9.6.12#9.6.12-d687843b4d641144","version":"9.6.12"},{"db_id":"aa509203a2ac04592ea3b3f7722d70dd","evidence":{"patch_ids":["091d85d6e03614aa970210f56481f229"],"same_day":true,"statement_hash":"6861093f180d7fde7cc198919ed21cb880f2076f996c6646491d5b389dc14677"},"kind":"equivalent","label":"9.5.16","source_url":"/docs/release/9.5.16/#id-1.11.6.14.5","title":"修复 TRUNCATE 更新正确表的统计计数器","url":"/docs/compare/?release=9.5.16#9.5.16-d687843b4d641144","version":"9.5.16"}],"relations":[{"evidence":{"patch_ids":["091d85d6e03614aa970210f56481f229"],"same_day":true,"statement_hash":"6861093f180d7fde7cc198919ed21cb880f2076f996c6646491d5b389dc14677"},"rule":2,"target":"353f272f0954dfe55377911bee3a0f23","type":"equivalent"},{"evidence":{"patch_ids":["091d85d6e03614aa970210f56481f229"],"same_day":true,"statement_hash":"6861093f180d7fde7cc198919ed21cb880f2076f996c6646491d5b389dc14677"},"rule":2,"target":"aa509203a2ac04592ea3b3f7722d70dd","type":"equivalent"},{"evidence":{"patch_ids":["091d85d6e03614aa970210f56481f229"],"same_day":true,"statement_hash":"6861093f180d7fde7cc198919ed21cb880f2076f996c6646491d5b389dc14677"},"rule":2,"target":"ffbc70723fea0383b5fc8c90fdc244be","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["aedd3d4db"],"source_entry_id":"11.2/changes/040","source_hash":"bcc221c2bde8bd072142a32f291b2cfaedea27207afc5b1205c0919ae92e21fe","source_url":"/docs/release/11.2/#id-1.11.6.25.5","statement_hash":"6861093f180d7fde7cc198919ed21cb880f2076f996c6646491d5b389dc14677","text":"修复 TRUNCATE，使其更新正确表的统计计数器（Tom Lane） 如果被截断的表具有 TOAST 表，以前会重置 TOAST 表的计数器。","title":"修复 TRUNCATE，使其更新正确表的统计计数器","variants":[],"version":"11.2"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["1075dfdaf","128ce8e1a","5668afeb6","9e6cd794c"],"commit_groups":[["1075dfdaf","128ce8e1a","5668afeb6","9e6cd794c"]],"commits":[],"cves":[],"db_id":"b31a28e4ddb742d46bb2b651aff41729","html":"\u003cp\u003e正确处理 \u003ccode\u003eALTER TABLE ONLY ADD COLUMN IF NOT EXISTS\u003c/code\u003e（Greg Stark）\u003c/p\u003e","id":"11.2-e1c83a7b9a0b1f58","identity_text":"Process ALTER TABLE ONLY ADD COLUMN IF NOT EXISTS correctly (Greg Stark)","part":"changes","patch_ids":["063549864fc22ebd7e40076d02a3a70b"],"related_changes":[{"db_id":"05574ca3c29fd117c2026c3442f3977c","evidence":{"patch_ids":["063549864fc22ebd7e40076d02a3a70b"],"same_day":true,"statement_hash":"47d1943ba70c7f7ee2e1a3492c4f94b1668eeb3d0ae86f0c731f95fda73d0c5a"},"kind":"equivalent","label":"10.7","source_url":"/docs/release/10.7/#id-1.11.6.21.5","title":"正确处理 ALTER TABLE ONLY ADD COLUMN IF NOT EXISTS","url":"/docs/compare/?release=10.7#10.7-e1c83a7b9a0b1f58","version":"10.7"},{"db_id":"51d6a40cc69819082a29361039835f9e","evidence":{"patch_ids":["063549864fc22ebd7e40076d02a3a70b"],"same_day":true,"statement_hash":"47d1943ba70c7f7ee2e1a3492c4f94b1668eeb3d0ae86f0c731f95fda73d0c5a"},"kind":"equivalent","label":"9.6.12","source_url":"/docs/release/9.6.12/#id-1.11.6.17.5","title":"正确处理 ALTER TABLE ONLY ADD COLUMN IF NOT EXISTS","url":"/docs/compare/?release=9.6.12#9.6.12-e1c83a7b9a0b1f58","version":"9.6.12"}],"relations":[{"evidence":{"patch_ids":["063549864fc22ebd7e40076d02a3a70b"],"same_day":true,"statement_hash":"47d1943ba70c7f7ee2e1a3492c4f94b1668eeb3d0ae86f0c731f95fda73d0c5a"},"rule":2,"target":"05574ca3c29fd117c2026c3442f3977c","type":"equivalent"},{"evidence":{"patch_ids":["063549864fc22ebd7e40076d02a3a70b"],"same_day":true,"statement_hash":"47d1943ba70c7f7ee2e1a3492c4f94b1668eeb3d0ae86f0c731f95fda73d0c5a"},"rule":2,"target":"51d6a40cc69819082a29361039835f9e","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["128ce8e1a"],"source_entry_id":"11.2/changes/041","source_hash":"0c369516c8a887e9673af6d154c9ab76040167f14e50aa7a420add988eac3945","source_url":"/docs/release/11.2/#id-1.11.6.25.5","statement_hash":"47d1943ba70c7f7ee2e1a3492c4f94b1668eeb3d0ae86f0c731f95fda73d0c5a","text":"正确处理 ALTER TABLE ONLY ADD COLUMN IF NOT EXISTS（Greg Stark）","title":"正确处理 ALTER TABLE ONLY ADD COLUMN IF NOT EXISTS","variants":[],"version":"11.2"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["0d5b27351","549d2a238","741ee4890","c0aed6959","e8ec19cd1","ebfe20dc7"],"commit_groups":[["0d5b27351","549d2a238","741ee4890","c0aed6959","e8ec19cd1","ebfe20dc7"]],"commits":[],"cves":[],"db_id":"e2fccb10c50ec1ea815a44f2d6f7296c","html":"\u003cp\u003e允许在热备模式下执行 \u003ccode\u003eUNLISTEN\u003c/code\u003e（Shay Rojansky）\u003c/p\u003e\n\u003cp\u003e这必然是无操作，因为热备模式不允许 \u003ccode\u003eLISTEN\u003c/code\u003e；但允许这一空操作可以简化客户端的会话状态重置逻辑。\u003c/p\u003e","id":"11.2-1a47f779c74d6724","identity_text":"Allow UNLISTEN in hot-standby mode (Shay Rojansky) This is necessarily a no-op, because LISTEN isn't allowed in hot-standby mode; but allowing the dummy operation simplifies session-state-reset logic in clients.","part":"changes","patch_ids":["2ba9a4b7c4ee7927fd90c84d2f4a9f19"],"related_changes":[{"db_id":"708768e253446bd06415b86a54662152","evidence":{"patch_ids":["2ba9a4b7c4ee7927fd90c84d2f4a9f19"],"same_day":true,"statement_hash":"fab9e03189f5d0663ef17e90457644cd321e734ecc54c35abcee773819afdb55"},"kind":"equivalent","label":"10.7","source_url":"/docs/release/10.7/#id-1.11.6.21.5","title":"允许在热备模式下执行 UNLISTEN","url":"/docs/compare/?release=10.7#10.7-1a47f779c74d6724","version":"10.7"},{"db_id":"94cef92c80be30a48888bcd91173fd61","evidence":{"patch_ids":["2ba9a4b7c4ee7927fd90c84d2f4a9f19"],"same_day":true,"statement_hash":"fab9e03189f5d0663ef17e90457644cd321e734ecc54c35abcee773819afdb55"},"kind":"equivalent","label":"9.6.12","source_url":"/docs/release/9.6.12/#id-1.11.6.17.5","title":"允许在热备模式下执行 UNLISTEN","url":"/docs/compare/?release=9.6.12#9.6.12-1a47f779c74d6724","version":"9.6.12"},{"db_id":"7b8867c396479789254d6f0f60c9c8bd","evidence":{"patch_ids":["2ba9a4b7c4ee7927fd90c84d2f4a9f19"],"same_day":true,"statement_hash":"fab9e03189f5d0663ef17e90457644cd321e734ecc54c35abcee773819afdb55"},"kind":"equivalent","label":"9.5.16","source_url":"/docs/release/9.5.16/#id-1.11.6.14.5","title":"允许在热备模式下执行 UNLISTEN","url":"/docs/compare/?release=9.5.16#9.5.16-1a47f779c74d6724","version":"9.5.16"},{"db_id":"6625060b7927b8eafc9245abfea8044c","evidence":{"patch_ids":["2ba9a4b7c4ee7927fd90c84d2f4a9f19"],"same_day":true,"statement_hash":"fab9e03189f5d0663ef17e90457644cd321e734ecc54c35abcee773819afdb55"},"kind":"equivalent","label":"9.4.21","source_url":"/docs/release/9.4.21/#id-1.11.6.10.6","title":"允许在热备模式下执行 UNLISTEN","url":"/docs/compare/?release=9.4.21#9.4.21-1a47f779c74d6724","version":"9.4.21"}],"relations":[{"evidence":{"patch_ids":["2ba9a4b7c4ee7927fd90c84d2f4a9f19"],"same_day":true,"statement_hash":"fab9e03189f5d0663ef17e90457644cd321e734ecc54c35abcee773819afdb55"},"rule":2,"target":"6625060b7927b8eafc9245abfea8044c","type":"equivalent"},{"evidence":{"patch_ids":["2ba9a4b7c4ee7927fd90c84d2f4a9f19"],"same_day":true,"statement_hash":"fab9e03189f5d0663ef17e90457644cd321e734ecc54c35abcee773819afdb55"},"rule":2,"target":"708768e253446bd06415b86a54662152","type":"equivalent"},{"evidence":{"patch_ids":["2ba9a4b7c4ee7927fd90c84d2f4a9f19"],"same_day":true,"statement_hash":"fab9e03189f5d0663ef17e90457644cd321e734ecc54c35abcee773819afdb55"},"rule":2,"target":"7b8867c396479789254d6f0f60c9c8bd","type":"equivalent"},{"evidence":{"patch_ids":["2ba9a4b7c4ee7927fd90c84d2f4a9f19"],"same_day":true,"statement_hash":"fab9e03189f5d0663ef17e90457644cd321e734ecc54c35abcee773819afdb55"},"rule":2,"target":"94cef92c80be30a48888bcd91173fd61","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["c0aed6959"],"source_entry_id":"11.2/changes/042","source_hash":"f2739f22ad3cfc1b9e5a3920a824db91e8cd767312852a2aed69c3cac6e40c4e","source_url":"/docs/release/11.2/#id-1.11.6.25.5","statement_hash":"fab9e03189f5d0663ef17e90457644cd321e734ecc54c35abcee773819afdb55","text":"允许在热备模式下执行 UNLISTEN（Shay Rojansky） 这必然是无操作，因为热备模式不允许 LISTEN；但允许这一空操作可以简化客户端的会话状态重置逻辑。","title":"允许在热备模式下执行 UNLISTEN","variants":[],"version":"11.2"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["1b55acb2c","277602dfe","2d83863ea","47088c599","d431dff1a","fa2952d8e"],"commit_groups":[["1b55acb2c","277602dfe","2d83863ea","47088c599","d431dff1a","fa2952d8e"]],"commits":[],"cves":[],"db_id":"4c08124dc69c204f4ca81d42af9564a8","html":"\u003cp\u003e修复某些模式和数据类型权限列表中缺失的角色依赖关系（Tom Lane）\u003c/p\u003e\n\u003cp\u003e在某些情况下，可以删除已被授予权限的角色。这不会立即引发问题，但随后的转储/重载或升级会失败，表现为尝试向名称完全由数字组成的角色授予权限。\u003c/p\u003e","id":"11.2-dfe979458f83b322","identity_text":"Fix missing role dependencies in some schema and data type permissions lists (Tom Lane) In some cases it was possible to drop a role to which permissions had been granted. This caused no immediate problem, but a subsequent dump/reload or upgrade would fail, with symptoms involving attempts to grant privileges to all-numeric role names.","part":"changes","patch_ids":["5ac55c03b44ba05b76a8d540ef004213"],"related_changes":[{"db_id":"f3a1e2db616132bd97c4a5cbf0c40e7d","evidence":{"patch_ids":["5ac55c03b44ba05b76a8d540ef004213"],"same_day":true,"statement_hash":"982275dc540653641963ac36ffa17bd21b9593ff3ec13e97427705b369dba8ac"},"kind":"equivalent","label":"10.7","source_url":"/docs/release/10.7/#id-1.11.6.21.5","title":"修复某些模式和数据类型权限列表中缺失的角色依赖关系","url":"/docs/compare/?release=10.7#10.7-dfe979458f83b322","version":"10.7"},{"db_id":"41a2c2a31ea2bddf0ea59232dc00f373","evidence":{"patch_ids":["5ac55c03b44ba05b76a8d540ef004213"],"same_day":true,"statement_hash":"982275dc540653641963ac36ffa17bd21b9593ff3ec13e97427705b369dba8ac"},"kind":"equivalent","label":"9.6.12","source_url":"/docs/release/9.6.12/#id-1.11.6.17.5","title":"修复某些模式和数据类型权限列表中缺失的角色依赖","url":"/docs/compare/?release=9.6.12#9.6.12-3b43e6814038026c","version":"9.6.12"},{"db_id":"1f9dbe8d83e50c9dfbb8a4a84ac9cf3c","evidence":{"patch_ids":["5ac55c03b44ba05b76a8d540ef004213"],"same_day":true,"statement_hash":"982275dc540653641963ac36ffa17bd21b9593ff3ec13e97427705b369dba8ac"},"kind":"equivalent","label":"9.5.16","source_url":"/docs/release/9.5.16/#id-1.11.6.14.5","title":"修复某些模式和数据类型权限列表中缺失的角色依赖","url":"/docs/compare/?release=9.5.16#9.5.16-3b43e6814038026c","version":"9.5.16"},{"db_id":"4eda5d9ab12a7448ef8e5446fd8c876b","evidence":{"patch_ids":["5ac55c03b44ba05b76a8d540ef004213"],"same_day":true,"statement_hash":"982275dc540653641963ac36ffa17bd21b9593ff3ec13e97427705b369dba8ac"},"kind":"equivalent","label":"9.4.21","source_url":"/docs/release/9.4.21/#id-1.11.6.10.6","title":"修复某些模式和数据类型权限列表中缺失的角色依赖","url":"/docs/compare/?release=9.4.21#9.4.21-3b43e6814038026c","version":"9.4.21"}],"relations":[{"evidence":{"patch_ids":["5ac55c03b44ba05b76a8d540ef004213"],"same_day":true,"statement_hash":"982275dc540653641963ac36ffa17bd21b9593ff3ec13e97427705b369dba8ac"},"rule":2,"target":"1f9dbe8d83e50c9dfbb8a4a84ac9cf3c","type":"equivalent"},{"evidence":{"patch_ids":["5ac55c03b44ba05b76a8d540ef004213"],"same_day":true,"statement_hash":"982275dc540653641963ac36ffa17bd21b9593ff3ec13e97427705b369dba8ac"},"rule":2,"target":"41a2c2a31ea2bddf0ea59232dc00f373","type":"equivalent"},{"evidence":{"patch_ids":["5ac55c03b44ba05b76a8d540ef004213"],"same_day":true,"statement_hash":"982275dc540653641963ac36ffa17bd21b9593ff3ec13e97427705b369dba8ac"},"rule":2,"target":"4eda5d9ab12a7448ef8e5446fd8c876b","type":"equivalent"},{"evidence":{"patch_ids":["5ac55c03b44ba05b76a8d540ef004213"],"same_day":true,"statement_hash":"982275dc540653641963ac36ffa17bd21b9593ff3ec13e97427705b369dba8ac"},"rule":2,"target":"f3a1e2db616132bd97c4a5cbf0c40e7d","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["1b55acb2c"],"source_entry_id":"11.2/changes/043","source_hash":"14c30d6b1c3223bd20a46e90d3ce35fe4a7fe9a889b2dd2b10b0eec47ca6284c","source_url":"/docs/release/11.2/#id-1.11.6.25.5","statement_hash":"982275dc540653641963ac36ffa17bd21b9593ff3ec13e97427705b369dba8ac","text":"修复某些模式和数据类型权限列表中缺失的角色依赖关系（Tom Lane） 在某些情况下，可以删除已被授予权限的角色。这不会立即引发问题，但随后的转储/重载或升级会失败，表现为尝试向名称完全由数字组成的角色授予权限。","title":"修复某些模式和数据类型权限列表中缺失的角色依赖关系","variants":[],"version":"11.2"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["3e4fdb3bc","b15160bc7","c5660e0aa"],"commit_groups":[["3e4fdb3bc","b15160bc7","c5660e0aa"]],"commits":[],"cves":[],"db_id":"43d4f3ebce453476068dfa040c2728a9","html":"\u003cp\u003e防止在两阶段事务中使用会话的临时模式（Michael Paquier）\u003c/p\u003e\n\u003cp\u003e很早以前就已禁止在此类事务中访问临时表，但对临时对象的其他操作仍可能引发问题。\u003c/p\u003e","id":"11.2-abb08b770564c327","identity_text":"Prevent use of a session's temporary schema within a two-phase transaction (Michael Paquier) Accessing a temporary table within such a transaction has been forbidden for a long time, but it was still possible to cause problems with other operations on temporary objects.","part":"changes","patch_ids":["c8cb43d40b2bc2f39cb71c3e4395d775"],"related_changes":[{"db_id":"6200a8976dad46a5f4679d2cfeb49212","evidence":{"patch_ids":["c8cb43d40b2bc2f39cb71c3e4395d775"],"same_day":true,"statement_hash":"dbae56095ade7e76451f74553ea4bb0224efb600900e64648f7483e42c65ca45"},"kind":"equivalent","label":"10.7","source_url":"/docs/release/10.7/#id-1.11.6.21.5","title":"防止在两阶段事务中使用会话的临时模式","url":"/docs/compare/?release=10.7#10.7-abb08b770564c327","version":"10.7"}],"relations":[{"evidence":{"patch_ids":["c8cb43d40b2bc2f39cb71c3e4395d775"],"same_day":true,"statement_hash":"dbae56095ade7e76451f74553ea4bb0224efb600900e64648f7483e42c65ca45"},"rule":2,"target":"6200a8976dad46a5f4679d2cfeb49212","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["3e4fdb3bc"],"source_entry_id":"11.2/changes/044","source_hash":"923f7ad43e1a959ad39daaeba3f82d6fcdb5d409a4293127b336643351cafd7b","source_url":"/docs/release/11.2/#id-1.11.6.25.5","statement_hash":"dbae56095ade7e76451f74553ea4bb0224efb600900e64648f7483e42c65ca45","text":"防止在两阶段事务中使用会话的临时模式（Michael Paquier） 很早以前就已禁止在此类事务中访问临时表，但对临时对象的其他操作仍可能引发问题。","title":"防止在两阶段事务中使用会话的临时模式","variants":[],"version":"11.2"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["175544093","3037b28b8","4aead13a7","a7474308c"],"commit_groups":[["175544093","3037b28b8","4aead13a7","a7474308c"]],"commits":[],"cves":[],"db_id":"fb40ba7003991694953cb37c5e1b7a24","html":"\u003cp\u003e确保添加或移除外键约束后正确更新关系缓存（Álvaro Herrera）\u003c/p\u003e\n\u003cp\u003e这一疏漏可能导致现有会话未实施新建约束，或继续实施已删除的约束。\u003c/p\u003e","id":"11.2-164e25e6d677c5e2","identity_text":"Ensure relation caches are updated properly after adding or removing foreign key constraints (Álvaro Herrera) This oversight could result in existing sessions failing to enforce a newly-created constraint, or continuing to enforce a dropped one.","part":"changes","patch_ids":["d8a9a38d943fcf8f400781692c269c0b"],"related_changes":[{"db_id":"59723bb6b9cc629a6f8659a89c131621","evidence":{"patch_ids":["d8a9a38d943fcf8f400781692c269c0b"],"same_day":true,"statement_hash":"e723d7f49c95547859d07c3caa1f705292f4f24277633e1f88d4a5c6fe24c14e"},"kind":"equivalent","label":"10.7","source_url":"/docs/release/10.7/#id-1.11.6.21.5","title":"确保添加或移除外键约束后正确更新关系缓存","url":"/docs/compare/?release=10.7#10.7-164e25e6d677c5e2","version":"10.7"},{"db_id":"00289d4db334fdf1a8dc3f4d3a21fb6c","evidence":{"patch_ids":["d8a9a38d943fcf8f400781692c269c0b"],"same_day":true,"statement_hash":"e723d7f49c95547859d07c3caa1f705292f4f24277633e1f88d4a5c6fe24c14e"},"kind":"equivalent","label":"9.6.12","source_url":"/docs/release/9.6.12/#id-1.11.6.17.5","title":"确保添加或删除外键约束之后正确更新关系缓存","url":"/docs/compare/?release=9.6.12#9.6.12-bb1f101ee0e36ad6","version":"9.6.12"}],"relations":[{"evidence":{"patch_ids":["d8a9a38d943fcf8f400781692c269c0b"],"same_day":true,"statement_hash":"e723d7f49c95547859d07c3caa1f705292f4f24277633e1f88d4a5c6fe24c14e"},"rule":2,"target":"00289d4db334fdf1a8dc3f4d3a21fb6c","type":"equivalent"},{"evidence":{"patch_ids":["d8a9a38d943fcf8f400781692c269c0b"],"same_day":true,"statement_hash":"e723d7f49c95547859d07c3caa1f705292f4f24277633e1f88d4a5c6fe24c14e"},"rule":2,"target":"59723bb6b9cc629a6f8659a89c131621","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["a7474308c"],"source_entry_id":"11.2/changes/045","source_hash":"56a6c9bfa6332052fd0abb1a169e4d62879cc577e7e428769f4f2848f18f84fe","source_url":"/docs/release/11.2/#id-1.11.6.25.5","statement_hash":"e723d7f49c95547859d07c3caa1f705292f4f24277633e1f88d4a5c6fe24c14e","text":"确保添加或移除外键约束后正确更新关系缓存（Álvaro Herrera） 这一疏漏可能导致现有会话未实施新建约束，或继续实施已删除的约束。","title":"确保添加或移除外键约束后正确更新关系缓存","variants":[],"version":"11.2"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["25b8094d3","419bd6371","5812be7b6","67915fb8e","696c68c2b","91fc2a088","b13fd344c","c7567e09d","d5d86e2cd","d79cd555d","da13d90a5","e83e0988d"],"commit_groups":[["25b8094d3","5812be7b6","b13fd344c","d5d86e2cd","d79cd555d","da13d90a5"],["419bd6371","67915fb8e","696c68c2b","91fc2a088","c7567e09d","e83e0988d"]],"commits":[],"cves":[],"db_id":"8ae7a2b7e62bf1b39ef2e189d295ef75","html":"\u003cp\u003e确保重命名约束后正确更新关系缓存（Amit Langote）\u003c/p\u003e","id":"11.2-71386491ae57fa0d","identity_text":"Ensure relation caches are updated properly after renaming constraints (Amit Langote)","part":"changes","patch_ids":["7935b6f19f2fafdf66a2920f71fb4433","c5b90155b42004f82cd49beca064ac22"],"related_changes":[{"db_id":"ea437fbace73394111d185889a2c5941","evidence":{"patch_ids":["7935b6f19f2fafdf66a2920f71fb4433","c5b90155b42004f82cd49beca064ac22"],"same_day":true,"statement_hash":"d7ae29c47b4519923e1534ecb7ceb8cfb548cebcf38d4650ad194e41161a23ea"},"kind":"equivalent","label":"10.7","source_url":"/docs/release/10.7/#id-1.11.6.21.5","title":"确保重命名约束后正确更新关系缓存","url":"/docs/compare/?release=10.7#10.7-71386491ae57fa0d","version":"10.7"},{"db_id":"9177ddb98c6a588683d9d46ee0f12f8b","evidence":{"patch_ids":["7935b6f19f2fafdf66a2920f71fb4433","c5b90155b42004f82cd49beca064ac22"],"same_day":true,"statement_hash":"d7ae29c47b4519923e1534ecb7ceb8cfb548cebcf38d4650ad194e41161a23ea"},"kind":"equivalent","label":"9.6.12","source_url":"/docs/release/9.6.12/#id-1.11.6.17.5","title":"确保重命名约束之后正确更新关系缓存","url":"/docs/compare/?release=9.6.12#9.6.12-58effc13a3cc301f","version":"9.6.12"},{"db_id":"af9014d4600b1600abbfdce2728a3606","evidence":{"patch_ids":["7935b6f19f2fafdf66a2920f71fb4433","c5b90155b42004f82cd49beca064ac22"],"same_day":true,"statement_hash":"d7ae29c47b4519923e1534ecb7ceb8cfb548cebcf38d4650ad194e41161a23ea"},"kind":"equivalent","label":"9.5.16","source_url":"/docs/release/9.5.16/#id-1.11.6.14.5","title":"确保重命名约束之后正确更新关系缓存","url":"/docs/compare/?release=9.5.16#9.5.16-58effc13a3cc301f","version":"9.5.16"},{"db_id":"b092e5abaaa4e2a09d95b524be4dcf6a","evidence":{"patch_ids":["7935b6f19f2fafdf66a2920f71fb4433","c5b90155b42004f82cd49beca064ac22"],"same_day":true,"statement_hash":"d7ae29c47b4519923e1534ecb7ceb8cfb548cebcf38d4650ad194e41161a23ea"},"kind":"equivalent","label":"9.4.21","source_url":"/docs/release/9.4.21/#id-1.11.6.10.6","title":"确保重命名约束后关系缓存被正确更新","url":"/docs/compare/?release=9.4.21#9.4.21-70e42571f10e957a","version":"9.4.21"}],"relations":[{"evidence":{"patch_ids":["7935b6f19f2fafdf66a2920f71fb4433","c5b90155b42004f82cd49beca064ac22"],"same_day":true,"statement_hash":"d7ae29c47b4519923e1534ecb7ceb8cfb548cebcf38d4650ad194e41161a23ea"},"rule":2,"target":"9177ddb98c6a588683d9d46ee0f12f8b","type":"equivalent"},{"evidence":{"patch_ids":["7935b6f19f2fafdf66a2920f71fb4433","c5b90155b42004f82cd49beca064ac22"],"same_day":true,"statement_hash":"d7ae29c47b4519923e1534ecb7ceb8cfb548cebcf38d4650ad194e41161a23ea"},"rule":2,"target":"af9014d4600b1600abbfdce2728a3606","type":"equivalent"},{"evidence":{"patch_ids":["7935b6f19f2fafdf66a2920f71fb4433","c5b90155b42004f82cd49beca064ac22"],"same_day":true,"statement_hash":"d7ae29c47b4519923e1534ecb7ceb8cfb548cebcf38d4650ad194e41161a23ea"},"rule":2,"target":"b092e5abaaa4e2a09d95b524be4dcf6a","type":"equivalent"},{"evidence":{"patch_ids":["7935b6f19f2fafdf66a2920f71fb4433","c5b90155b42004f82cd49beca064ac22"],"same_day":true,"statement_hash":"d7ae29c47b4519923e1534ecb7ceb8cfb548cebcf38d4650ad194e41161a23ea"},"rule":2,"target":"ea437fbace73394111d185889a2c5941","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["25b8094d3","e83e0988d"],"source_entry_id":"11.2/changes/046","source_hash":"5e42bf51399ea051aa38151bc0b3b244289a3e7f2214d8f33e5f8db73c357746","source_url":"/docs/release/11.2/#id-1.11.6.25.5","statement_hash":"d7ae29c47b4519923e1534ecb7ceb8cfb548cebcf38d4650ad194e41161a23ea","text":"确保重命名约束后正确更新关系缓存（Amit Langote）","title":"确保重命名约束后正确更新关系缓存","variants":[],"version":"11.2"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["1b0280745","8193d6407","c952eae52","e36e25275"],"commit_groups":[["1b0280745","8193d6407","c952eae52","e36e25275"]],"commits":[],"cves":[],"db_id":"72a5cf79aac0d860693d22d5302f360a","html":"\u003cp\u003e修复 GiST 索引微清理操作的重放，使并发热备查询不会看到不一致状态（Alexander Korotkov）\u003c/p\u003e","id":"11.2-78648dac41d14a75","identity_text":"Fix replay of GiST index micro-vacuum operations so that concurrent hot-standby queries do not see inconsistent state (Alexander Korotkov)","part":"changes","patch_ids":["d78e6d59ffb4bbd58e6d6511e5d54332"],"related_changes":[{"db_id":"967e5c5fcbb35be2b126afbc4f2ca02e","evidence":{"patch_ids":["d78e6d59ffb4bbd58e6d6511e5d54332"],"same_day":true,"statement_hash":"af3585138edab9cb2e907b81daca20defd0d398ccf6d1720fd92cc3c669adea0"},"kind":"equivalent","label":"10.7","source_url":"/docs/release/10.7/#id-1.11.6.21.5","title":"修复 GiST 索引微清理操作的重放，使并发热备查询不会看到不一致状态","url":"/docs/compare/?release=10.7#10.7-78648dac41d14a75","version":"10.7"},{"db_id":"8eab3e555bce0c6aa019dc4192091b7f","evidence":{"patch_ids":["d78e6d59ffb4bbd58e6d6511e5d54332"],"same_day":true,"statement_hash":"af3585138edab9cb2e907b81daca20defd0d398ccf6d1720fd92cc3c669adea0"},"kind":"equivalent","label":"9.6.12","source_url":"/docs/release/9.6.12/#id-1.11.6.17.5","title":"修复 GiST 索引微清理操作的重放，使并发热备查询不会看到不一致状态","url":"/docs/compare/?release=9.6.12#9.6.12-78648dac41d14a75","version":"9.6.12"}],"relations":[{"evidence":{"patch_ids":["d78e6d59ffb4bbd58e6d6511e5d54332"],"same_day":true,"statement_hash":"af3585138edab9cb2e907b81daca20defd0d398ccf6d1720fd92cc3c669adea0"},"rule":2,"target":"8eab3e555bce0c6aa019dc4192091b7f","type":"equivalent"},{"evidence":{"patch_ids":["d78e6d59ffb4bbd58e6d6511e5d54332"],"same_day":true,"statement_hash":"af3585138edab9cb2e907b81daca20defd0d398ccf6d1720fd92cc3c669adea0"},"rule":2,"target":"967e5c5fcbb35be2b126afbc4f2ca02e","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["8193d6407"],"source_entry_id":"11.2/changes/047","source_hash":"8961a838a0dc6011e793ab2ffb74d41072b449423f0a90acfa79ec856bb8bbad","source_url":"/docs/release/11.2/#id-1.11.6.25.5","statement_hash":"af3585138edab9cb2e907b81daca20defd0d398ccf6d1720fd92cc3c669adea0","text":"修复 GiST 索引微清理操作的重放，使并发热备查询不会看到不一致状态（Alexander Korotkov）","title":"修复 GiST 索引微清理操作的重放，使并发热备查询不会看到不一致状态","variants":[],"version":"11.2"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["1cf175c74","52ac6cd2d","a0696d295","ad6ebcfcb","cd24b4eae","dd951dc34"],"commit_groups":[["1cf175c74","52ac6cd2d","a0696d295","ad6ebcfcb","cd24b4eae","dd951dc34"]],"commits":[],"cves":[],"db_id":"fa9d017f7b5fe28f0e3b15789d1f24f7","html":"\u003cp\u003e防止过快回收空 GIN 索引页而导致并发搜索失败（Andrey Borodin，Alexander Korotkov）\u003c/p\u003e","id":"11.2-7e0da53694738bdb","identity_text":"Prevent empty GIN index pages from being reclaimed too quickly, causing failures of concurrent searches (Andrey Borodin, Alexander Korotkov)","part":"changes","patch_ids":["176f89fff105e5b2fb146ac5afff4bea"],"related_changes":[{"db_id":"c67eaad49f3b340ee599e655c5022f9c","evidence":{"patch_ids":["176f89fff105e5b2fb146ac5afff4bea"],"same_day":true,"statement_hash":"b7681bb53c5466ddf4658caa76606878d987b0c82da15b58354e7021e3bf06bc"},"kind":"equivalent","label":"10.7","source_url":"/docs/release/10.7/#id-1.11.6.21.5","title":"防止过快回收空 GIN 索引页而导致并发搜索失败","url":"/docs/compare/?release=10.7#10.7-7e0da53694738bdb","version":"10.7"},{"db_id":"e9ee59ea363bbacadc9b0ff06e603540","evidence":{"patch_ids":["176f89fff105e5b2fb146ac5afff4bea"],"same_day":true,"statement_hash":"b7681bb53c5466ddf4658caa76606878d987b0c82da15b58354e7021e3bf06bc"},"kind":"equivalent","label":"9.6.12","source_url":"/docs/release/9.6.12/#id-1.11.6.17.5","title":"防止空 GIN 索引页被过快回收导致并发搜索失败","url":"/docs/compare/?release=9.6.12#9.6.12-baf0199c82e59955","version":"9.6.12"},{"db_id":"3b43bca06e3d86d77965231396d53731","evidence":{"patch_ids":["176f89fff105e5b2fb146ac5afff4bea"],"same_day":true,"statement_hash":"b7681bb53c5466ddf4658caa76606878d987b0c82da15b58354e7021e3bf06bc"},"kind":"equivalent","label":"9.5.16","source_url":"/docs/release/9.5.16/#id-1.11.6.14.5","title":"防止空 GIN 索引页被过快回收导致并发搜索失败","url":"/docs/compare/?release=9.5.16#9.5.16-baf0199c82e59955","version":"9.5.16"},{"db_id":"e4e38acaedb25796b89997c3ca1e52ee","evidence":{"patch_ids":["176f89fff105e5b2fb146ac5afff4bea"],"same_day":true,"statement_hash":"b7681bb53c5466ddf4658caa76606878d987b0c82da15b58354e7021e3bf06bc"},"kind":"equivalent","label":"9.4.21","source_url":"/docs/release/9.4.21/#id-1.11.6.10.6","title":"防止空的 GIN 索引页被过快回收而导致并发搜索失败","url":"/docs/compare/?release=9.4.21#9.4.21-7ee7e7bb88d5bc6e","version":"9.4.21"}],"relations":[{"evidence":{"patch_ids":["176f89fff105e5b2fb146ac5afff4bea"],"same_day":true,"statement_hash":"b7681bb53c5466ddf4658caa76606878d987b0c82da15b58354e7021e3bf06bc"},"rule":2,"target":"3b43bca06e3d86d77965231396d53731","type":"equivalent"},{"evidence":{"patch_ids":["176f89fff105e5b2fb146ac5afff4bea"],"same_day":true,"statement_hash":"b7681bb53c5466ddf4658caa76606878d987b0c82da15b58354e7021e3bf06bc"},"rule":2,"target":"c67eaad49f3b340ee599e655c5022f9c","type":"equivalent"},{"evidence":{"patch_ids":["176f89fff105e5b2fb146ac5afff4bea"],"same_day":true,"statement_hash":"b7681bb53c5466ddf4658caa76606878d987b0c82da15b58354e7021e3bf06bc"},"rule":2,"target":"e4e38acaedb25796b89997c3ca1e52ee","type":"equivalent"},{"evidence":{"patch_ids":["176f89fff105e5b2fb146ac5afff4bea"],"same_day":true,"statement_hash":"b7681bb53c5466ddf4658caa76606878d987b0c82da15b58354e7021e3bf06bc"},"rule":2,"target":"e9ee59ea363bbacadc9b0ff06e603540","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["dd951dc34"],"source_entry_id":"11.2/changes/048","source_hash":"8ddbfce89baacc0720052e2b2597e09a1346df0e4a2c1b5de43c0294f5751a90","source_url":"/docs/release/11.2/#id-1.11.6.25.5","statement_hash":"b7681bb53c5466ddf4658caa76606878d987b0c82da15b58354e7021e3bf06bc","text":"防止过快回收空 GIN 索引页而导致并发搜索失败（Andrey Borodin，Alexander Korotkov）","title":"防止过快回收空 GIN 索引页而导致并发搜索失败","variants":[],"version":"11.2"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["1e78603a5","1f99d0867","298510cae","3645d3193","452b637d4","745871483","93eec1238","bf9fb00dd","c382a2b66","cbdb8b4c0","d5231253e","e473e1f2b"],"commit_groups":[["1e78603a5","452b637d4","93eec1238","c382a2b66","d5231253e","e473e1f2b"],["1f99d0867","298510cae","3645d3193","745871483","bf9fb00dd"],["cbdb8b4c0"]],"commits":[],"cves":[],"db_id":"bd715bf807d1e5defdffedec1ff0887b","html":"\u003cp\u003e修复浮点数到整数强制转换在边界情况下的失败（Andrew Gierth，Tom Lane）\u003c/p\u003e\n\u003cp\u003e略高于最大有效整数值的值可能未被拒绝，随后发生溢出，反而产生最小有效整数。此外，本应舍入为最小或最大整数值的值可能被错误拒绝。\u003c/p\u003e","id":"11.2-b7ce5cf7a988fee2","identity_text":"Fix edge-case failures in float-to-integer coercions (Andrew Gierth, Tom Lane) Values very slightly above the maximum valid integer value might not be rejected, and then would overflow, producing the minimum valid integer instead. Also, values that should round to the minimum or maximum integer value might be incorrectly rejected.","part":"changes","patch_ids":["2b7d199aea91cf666d8d1637425eeac9","c7d5b25589c9e08d303a9743dcfebbb0","e2b707cdc8d37ec8590791fd287e35d6"],"related_changes":[{"db_id":"81a2ae019c7c1966d10fc81a4d3110d8","evidence":{"patch_ids":["2b7d199aea91cf666d8d1637425eeac9","c7d5b25589c9e08d303a9743dcfebbb0","e2b707cdc8d37ec8590791fd287e35d6"],"same_day":true,"statement_hash":"892523caf934df8ab44c92ca64867536471202af374bae37e9065d5696806d8a"},"kind":"equivalent","label":"10.7","source_url":"/docs/release/10.7/#id-1.11.6.21.5","title":"修复浮点数到整数强制转换在边界情况下的失败","url":"/docs/compare/?release=10.7#10.7-b7ce5cf7a988fee2","version":"10.7"},{"db_id":"b50067b48d850e56dbdaf39760cde494","evidence":{"patch_ids":["2b7d199aea91cf666d8d1637425eeac9","c7d5b25589c9e08d303a9743dcfebbb0","e2b707cdc8d37ec8590791fd287e35d6"],"same_day":true,"statement_hash":"892523caf934df8ab44c92ca64867536471202af374bae37e9065d5696806d8a"},"kind":"equivalent","label":"9.6.12","source_url":"/docs/release/9.6.12/#id-1.11.6.17.5","title":"修复浮点到整数强制转换的边界失败","url":"/docs/compare/?release=9.6.12#9.6.12-43085d804c0ed040","version":"9.6.12"},{"db_id":"a8bc9a54d333b9c766b9cdd860ad0c9f","evidence":{"patch_ids":["2b7d199aea91cf666d8d1637425eeac9","c7d5b25589c9e08d303a9743dcfebbb0","e2b707cdc8d37ec8590791fd287e35d6"],"same_day":true,"statement_hash":"892523caf934df8ab44c92ca64867536471202af374bae37e9065d5696806d8a"},"kind":"equivalent","label":"9.5.16","source_url":"/docs/release/9.5.16/#id-1.11.6.14.5","title":"修复浮点到整数强制转换的边界失败","url":"/docs/compare/?release=9.5.16#9.5.16-43085d804c0ed040","version":"9.5.16"},{"db_id":"1ef0cef16e8053402d0790f6a3ac03aa","evidence":{"patch_ids":["2b7d199aea91cf666d8d1637425eeac9","c7d5b25589c9e08d303a9743dcfebbb0","e2b707cdc8d37ec8590791fd287e35d6"],"same_day":true,"statement_hash":"892523caf934df8ab44c92ca64867536471202af374bae37e9065d5696806d8a"},"kind":"equivalent","label":"9.4.21","source_url":"/docs/release/9.4.21/#id-1.11.6.10.6","title":"修复浮点到整数强制转换的边界失败","url":"/docs/compare/?release=9.4.21#9.4.21-43085d804c0ed040","version":"9.4.21"}],"relations":[{"evidence":{"patch_ids":["2b7d199aea91cf666d8d1637425eeac9","c7d5b25589c9e08d303a9743dcfebbb0","e2b707cdc8d37ec8590791fd287e35d6"],"same_day":true,"statement_hash":"892523caf934df8ab44c92ca64867536471202af374bae37e9065d5696806d8a"},"rule":2,"target":"1ef0cef16e8053402d0790f6a3ac03aa","type":"equivalent"},{"evidence":{"patch_ids":["2b7d199aea91cf666d8d1637425eeac9","c7d5b25589c9e08d303a9743dcfebbb0","e2b707cdc8d37ec8590791fd287e35d6"],"same_day":true,"statement_hash":"892523caf934df8ab44c92ca64867536471202af374bae37e9065d5696806d8a"},"rule":2,"target":"81a2ae019c7c1966d10fc81a4d3110d8","type":"equivalent"},{"evidence":{"patch_ids":["2b7d199aea91cf666d8d1637425eeac9","c7d5b25589c9e08d303a9743dcfebbb0","e2b707cdc8d37ec8590791fd287e35d6"],"same_day":true,"statement_hash":"892523caf934df8ab44c92ca64867536471202af374bae37e9065d5696806d8a"},"rule":2,"target":"a8bc9a54d333b9c766b9cdd860ad0c9f","type":"equivalent"},{"evidence":{"patch_ids":["2b7d199aea91cf666d8d1637425eeac9","c7d5b25589c9e08d303a9743dcfebbb0","e2b707cdc8d37ec8590791fd287e35d6"],"same_day":true,"statement_hash":"892523caf934df8ab44c92ca64867536471202af374bae37e9065d5696806d8a"},"rule":2,"target":"b50067b48d850e56dbdaf39760cde494","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["3645d3193","cbdb8b4c0","e473e1f2b"],"source_entry_id":"11.2/changes/049","source_hash":"3b74196a392cc448f3622f909708f5cc10e7dc805359d1aca611a80b948820c3","source_url":"/docs/release/11.2/#id-1.11.6.25.5","statement_hash":"892523caf934df8ab44c92ca64867536471202af374bae37e9065d5696806d8a","text":"修复浮点数到整数强制转换在边界情况下的失败（Andrew Gierth，Tom Lane） 略高于最大有效整数值的值可能未被拒绝，随后发生溢出，反而产生最小有效整数。此外，本应舍入为最小或最大整数值的值可能被错误拒绝。","title":"修复浮点数到整数强制转换在边界情况下的失败","variants":[],"version":"11.2"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["257ef3cd4","6b6c64a96"],"commit_groups":[["257ef3cd4","6b6c64a96"]],"commits":[],"cves":[],"db_id":"4b32a067a22bab5ded39e717d8eeeec3","html":"\u003cp\u003e修复对 \u003ccode\u003epg_hba.conf\u003c/code\u003e 中 LDAP 认证条目的 \u003ccode\u003eldapserver\u003c/code\u003e 参数中以空格分隔的主机名列表的解析（Thomas Munro）\u003c/p\u003e","id":"11.2-866abd35ffdd8578","identity_text":"Fix parsing of space-separated lists of host names in the ldapserver parameter of LDAP authentication entries in pg_hba.conf (Thomas Munro)","part":"changes","patch_ids":["17e04dd6ea2f8118c2dad0ee64e82c2a"],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":["6b6c64a96"],"source_entry_id":"11.2/changes/050","source_hash":"b00a0b78518c68224d5cfdf0e3400af636ade772b4566101290210b37e5209d6","source_url":"/docs/release/11.2/#id-1.11.6.25.5","statement_hash":"4bd533387f285b7541db45139d9d0834626d45800d26d67ff09610ab2935bef7","text":"修复对 pg_hba.conf 中 LDAP 认证条目的 ldapserver 参数中以空格分隔的主机名列表的解析（Thomas Munro）","title":"修复对 pg_hba.conf 中 LDAP 认证条目的 ldapserver 参数中以空格分隔的主机名列表的解析","variants":[],"version":"11.2"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["0640d9517","0f9cdd7dc","63d835066","96ed0b870"],"commit_groups":[["0640d9517","0f9cdd7dc","63d835066","96ed0b870"]],"commits":[],"cves":[],"db_id":"f94b97490565b050b57d5e6caba7122c","html":"\u003cp\u003e发起 PAM 认证请求时，如果连接通过 Unix 套接字建立，则不设置 \u003ccode\u003ePAM_RHOST\u003c/code\u003e 变量（Thomas Munro）\u003c/p\u003e\n\u003cp\u003e以前，该变量会被设置为 \u003ccode\u003e[local]\u003c/code\u003e，但它本应是主机名，因此这样的值至少没有什么帮助。\u003c/p\u003e","id":"11.2-fb252d9e3af35590","identity_text":"When making a PAM authentication request, don't set the PAM_RHOST variable if the connection is via a Unix socket (Thomas Munro) Previously that variable would be set to [local], which is at best unhelpful, since it's supposed to be a host name.","part":"changes","patch_ids":["0301ba2e94b667deb5c7d892fdff4bdf"],"related_changes":[{"db_id":"0d3afc748597de6e131a78e20ddabe6a","evidence":{"patch_ids":["0301ba2e94b667deb5c7d892fdff4bdf"],"same_day":true,"statement_hash":"5ebeec1f20af33edad9645088b8b1f67ca3e3f6390737f6581ff21d209737736"},"kind":"equivalent","label":"10.7","source_url":"/docs/release/10.7/#id-1.11.6.21.5","title":"发起 PAM 认证请求时，如果连接通过 Unix 套接字建立，则不设置 PAM_RHOST 变量","url":"/docs/compare/?release=10.7#10.7-fb252d9e3af35590","version":"10.7"},{"db_id":"617fef2ed4c2fe46e1d24b0b6b8d64ac","evidence":{"patch_ids":["0301ba2e94b667deb5c7d892fdff4bdf"],"same_day":true,"statement_hash":"5ebeec1f20af33edad9645088b8b1f67ca3e3f6390737f6581ff21d209737736"},"kind":"equivalent","label":"9.6.12","source_url":"/docs/release/9.6.12/#id-1.11.6.17.5","title":"发起 PAM 认证请求时，如果连接是通过 Unix 套接字的，不要设置 PAM_RHOST 变量","url":"/docs/compare/?release=9.6.12#9.6.12-362d535cb6a9376b","version":"9.6.12"}],"relations":[{"evidence":{"patch_ids":["0301ba2e94b667deb5c7d892fdff4bdf"],"same_day":true,"statement_hash":"5ebeec1f20af33edad9645088b8b1f67ca3e3f6390737f6581ff21d209737736"},"rule":2,"target":"0d3afc748597de6e131a78e20ddabe6a","type":"equivalent"},{"evidence":{"patch_ids":["0301ba2e94b667deb5c7d892fdff4bdf"],"same_day":true,"statement_hash":"5ebeec1f20af33edad9645088b8b1f67ca3e3f6390737f6581ff21d209737736"},"rule":2,"target":"617fef2ed4c2fe46e1d24b0b6b8d64ac","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["0640d9517"],"source_entry_id":"11.2/changes/051","source_hash":"f213a2f75de9b71210f65ab65f6d8ae459685857505e9b10455084eb318f3956","source_url":"/docs/release/11.2/#id-1.11.6.25.5","statement_hash":"5ebeec1f20af33edad9645088b8b1f67ca3e3f6390737f6581ff21d209737736","text":"发起 PAM 认证请求时，如果连接通过 Unix 套接字建立，则不设置 PAM_RHOST 变量（Thomas Munro） 以前，该变量会被设置为 [local]，但它本应是主机名，因此这样的值至少没有什么帮助。","title":"发起 PAM 认证请求时，如果连接通过 Unix 套接字建立，则不设置 PAM_RHOST 变量","variants":[],"version":"11.2"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["041ad9a66","2407d4807","3d360e20c","7b08b4a8a","88275ac19","c09daa910"],"commit_groups":[["041ad9a66","2407d4807","3d360e20c","7b08b4a8a","88275ac19","c09daa910"]],"commits":[],"cves":[],"db_id":"58f9c63185a21e00c0eb32062d09e85b","html":"\u003cp\u003e禁止将 \u003ccode\u003eclient_min_messages\u003c/code\u003e 设置为高于 \u003ccode\u003eERROR\u003c/code\u003e 的级别（Jonah Harris，Tom Lane）\u003c/p\u003e\n\u003cp\u003e以前，可以将此变量设置为 \u003ccode\u003eFATAL\u003c/code\u003e 或 \u003ccode\u003ePANIC\u003c/code\u003e，从而禁止向客户端传送普通错误消息。但这违背了 \u003cspan\u003ePostgreSQL\u003c/span\u003e 通信协议规范中的保证，并导致某些客户端行为严重异常。在已发布分支中，修复方法是静默地将此类设置视为 \u003ccode\u003eERROR\u003c/code\u003e。版本 12 及后续版本将完全拒绝这些选项。\u003c/p\u003e","id":"11.2-0dc4426a09ca2188","identity_text":"Disallow setting client_min_messages higher than ERROR (Jonah Harris, Tom Lane) Previously, it was possible to set this variable to FATAL or PANIC, which had the effect of suppressing transmission of ordinary error messages to the client. However, that's contrary to guarantees that are given in the PostgreSQL wire protocol specification, and it caused some clients to become very confused. In released branches, fix this by silently treating such settings as meaning ERROR instead. Version 12 and later will reject those alternatives altogether.","part":"changes","patch_ids":["9a86cb436a2089c18bd5a31ec45c903e"],"related_changes":[{"db_id":"00afac51149d596e81beb96b7961f8ac","evidence":{"patch_ids":["9a86cb436a2089c18bd5a31ec45c903e"],"same_day":true,"statement_hash":"6ff305814c145e16d87d251b327ccae28792a746d8eb5bac329573c5a8792f73"},"kind":"equivalent","label":"10.7","source_url":"/docs/release/10.7/#id-1.11.6.21.5","title":"禁止将 client_min_messages 设置为高于 ERROR 的级别","url":"/docs/compare/?release=10.7#10.7-0dc4426a09ca2188","version":"10.7"},{"db_id":"e48d0ef4451aa657e2263bc107d75299","evidence":{"patch_ids":["9a86cb436a2089c18bd5a31ec45c903e"],"same_day":true,"statement_hash":"6ff305814c145e16d87d251b327ccae28792a746d8eb5bac329573c5a8792f73"},"kind":"equivalent","label":"9.6.12","source_url":"/docs/release/9.6.12/#id-1.11.6.17.5","title":"禁止把 client_min_messages 设得比 ERROR 更高","url":"/docs/compare/?release=9.6.12#9.6.12-4af5d80e9c619b26","version":"9.6.12"},{"db_id":"576a15adacf237a3eea4307a28cac774","evidence":{"patch_ids":["9a86cb436a2089c18bd5a31ec45c903e"],"same_day":true,"statement_hash":"6ff305814c145e16d87d251b327ccae28792a746d8eb5bac329573c5a8792f73"},"kind":"equivalent","label":"9.5.16","source_url":"/docs/release/9.5.16/#id-1.11.6.14.5","title":"禁止把 client_min_messages 设得比 ERROR 更高","url":"/docs/compare/?release=9.5.16#9.5.16-4af5d80e9c619b26","version":"9.5.16"},{"db_id":"d27351c52e3bcf245b344371ca961ac0","evidence":{"patch_ids":["9a86cb436a2089c18bd5a31ec45c903e"],"same_day":true,"statement_hash":"6ff305814c145e16d87d251b327ccae28792a746d8eb5bac329573c5a8792f73"},"kind":"equivalent","label":"9.4.21","source_url":"/docs/release/9.4.21/#id-1.11.6.10.6","title":"禁止把 client_min_messages 设得比 ERROR 更高","url":"/docs/compare/?release=9.4.21#9.4.21-4af5d80e9c619b26","version":"9.4.21"}],"relations":[{"evidence":{"patch_ids":["9a86cb436a2089c18bd5a31ec45c903e"],"same_day":true,"statement_hash":"6ff305814c145e16d87d251b327ccae28792a746d8eb5bac329573c5a8792f73"},"rule":2,"target":"00afac51149d596e81beb96b7961f8ac","type":"equivalent"},{"evidence":{"patch_ids":["9a86cb436a2089c18bd5a31ec45c903e"],"same_day":true,"statement_hash":"6ff305814c145e16d87d251b327ccae28792a746d8eb5bac329573c5a8792f73"},"rule":2,"target":"576a15adacf237a3eea4307a28cac774","type":"equivalent"},{"evidence":{"patch_ids":["9a86cb436a2089c18bd5a31ec45c903e"],"same_day":true,"statement_hash":"6ff305814c145e16d87d251b327ccae28792a746d8eb5bac329573c5a8792f73"},"rule":2,"target":"d27351c52e3bcf245b344371ca961ac0","type":"equivalent"},{"evidence":{"patch_ids":["9a86cb436a2089c18bd5a31ec45c903e"],"same_day":true,"statement_hash":"6ff305814c145e16d87d251b327ccae28792a746d8eb5bac329573c5a8792f73"},"rule":2,"target":"e48d0ef4451aa657e2263bc107d75299","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["7b08b4a8a"],"source_entry_id":"11.2/changes/052","source_hash":"6283b795fee8aa1a027a5e75e714ac86c0a2ff31d484fbef381c73d96ae75509","source_url":"/docs/release/11.2/#id-1.11.6.25.5","statement_hash":"6ff305814c145e16d87d251b327ccae28792a746d8eb5bac329573c5a8792f73","text":"禁止将 client_min_messages 设置为高于 ERROR 的级别（Jonah Harris，Tom Lane） 以前，可以将此变量设置为 FATAL 或 PANIC，从而禁止向客户端传送普通错误消息。但这违背了 PostgreSQL 通信协议规范中的保证，并导致某些客户端行为严重异常。在已发布分支中，修复方法是静默地将此类设置视为 ERROR。版本 12 及后续版本将完全拒绝这些选项。","title":"禁止将 client_min_messages 设置为高于 ERROR 的级别","variants":[],"version":"11.2"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["1d334ab6e","2cf91ccb7","6106f9dd7","773f59440","7ac0e71aa","844d91fd6","8eb4a9312","b620cf2d4","c9ff6cbfc","dd815a94c","eb3e90cad","ee27584c4","f305e8457"],"commit_groups":[["1d334ab6e","2cf91ccb7","773f59440","7ac0e71aa","b620cf2d4","dd815a94c"],["6106f9dd7","844d91fd6","c9ff6cbfc","eb3e90cad","ee27584c4","f305e8457"],["8eb4a9312"]],"commits":[],"cves":[],"db_id":"de6c21cfe18fc1799ec8f7320e27e927","html":"\u003cp\u003e修复 \u003cspan\u003eecpglib\u003c/span\u003e，使其优先使用 \u003ccode\u003euselocale()\u003c/code\u003e 或 \u003ccode\u003e_configthreadlocale()\u003c/code\u003e，而非 \u003ccode\u003esetlocale()\u003c/code\u003e（Michael Meskes，Tom Lane）\u003c/p\u003e\n\u003cp\u003e由于 \u003ccode\u003esetlocale()\u003c/code\u003e 不局限于线程，甚至可能不是线程安全的，以前的代码会给多线程 \u003cspan\u003eecpg\u003c/span\u003e 应用带来问题。\u003c/p\u003e","id":"11.2-fd24e422418d0b2b","identity_text":"Fix ecpglib to use uselocale() or _configthreadlocale() in preference to setlocale() (Michael Meskes, Tom Lane) Since setlocale() is not thread-local, and might not even be thread-safe, the previous coding caused problems in multi-threaded ecpg applications.","part":"changes","patch_ids":["4e535b9607623c7334107aea49d29b4c","a13fd1c0b6e15010d5239deebefc848f","c4411694bb26d3e522cd39983bc36b49"],"related_changes":[{"db_id":"45d213b7196fa46471cd8cef8f127df4","evidence":{"patch_ids":["4e535b9607623c7334107aea49d29b4c","a13fd1c0b6e15010d5239deebefc848f","c4411694bb26d3e522cd39983bc36b49"],"same_day":true,"statement_hash":"4626b06fdf5f6400e94bcc1adf023536868d98d7ac8de44a216107da573db8b9"},"kind":"equivalent","label":"10.7","source_url":"/docs/release/10.7/#id-1.11.6.21.5","title":"修复 ecpglib，使其优先使用 uselocale() 或 _configthreadlocale()，而非 setlocale()","url":"/docs/compare/?release=10.7#10.7-fd24e422418d0b2b","version":"10.7"},{"db_id":"33a6d563bd4b29c92a63f6b684bf6fb6","evidence":{"patch_ids":["4e535b9607623c7334107aea49d29b4c","a13fd1c0b6e15010d5239deebefc848f","c4411694bb26d3e522cd39983bc36b49"],"same_day":true,"statement_hash":"4626b06fdf5f6400e94bcc1adf023536868d98d7ac8de44a216107da573db8b9"},"kind":"equivalent","label":"9.6.12","source_url":"/docs/release/9.6.12/#id-1.11.6.17.5","title":"修复 ecpglib 优先使用 uselocale() 或 _configthreadlocale() 而不是 setlocale()","url":"/docs/compare/?release=9.6.12#9.6.12-24df55732709ec80","version":"9.6.12"},{"db_id":"625b5b92d86d5f7ec6c3f0d1ad82c1fc","evidence":{"patch_ids":["4e535b9607623c7334107aea49d29b4c","a13fd1c0b6e15010d5239deebefc848f","c4411694bb26d3e522cd39983bc36b49"],"same_day":true,"statement_hash":"4626b06fdf5f6400e94bcc1adf023536868d98d7ac8de44a216107da573db8b9"},"kind":"equivalent","label":"9.5.16","source_url":"/docs/release/9.5.16/#id-1.11.6.14.5","title":"修复 ecpglib 优先使用 uselocale() 或 _configthreadlocale() 而不是 setlocale()","url":"/docs/compare/?release=9.5.16#9.5.16-24df55732709ec80","version":"9.5.16"},{"db_id":"3f96a8054b473aa8da500d6b375865dd","evidence":{"patch_ids":["4e535b9607623c7334107aea49d29b4c","a13fd1c0b6e15010d5239deebefc848f","c4411694bb26d3e522cd39983bc36b49"],"same_day":true,"statement_hash":"4626b06fdf5f6400e94bcc1adf023536868d98d7ac8de44a216107da573db8b9"},"kind":"equivalent","label":"9.4.21","source_url":"/docs/release/9.4.21/#id-1.11.6.10.6","title":"修复 ecpglib 优先使用 uselocale() 或 _configthreadlocale() 而不是 setlocale()","url":"/docs/compare/?release=9.4.21#9.4.21-24df55732709ec80","version":"9.4.21"}],"relations":[{"evidence":{"patch_ids":["4e535b9607623c7334107aea49d29b4c","a13fd1c0b6e15010d5239deebefc848f","c4411694bb26d3e522cd39983bc36b49"],"same_day":true,"statement_hash":"4626b06fdf5f6400e94bcc1adf023536868d98d7ac8de44a216107da573db8b9"},"rule":2,"target":"33a6d563bd4b29c92a63f6b684bf6fb6","type":"equivalent"},{"evidence":{"patch_ids":["4e535b9607623c7334107aea49d29b4c","a13fd1c0b6e15010d5239deebefc848f","c4411694bb26d3e522cd39983bc36b49"],"same_day":true,"statement_hash":"4626b06fdf5f6400e94bcc1adf023536868d98d7ac8de44a216107da573db8b9"},"rule":2,"target":"3f96a8054b473aa8da500d6b375865dd","type":"equivalent"},{"evidence":{"patch_ids":["4e535b9607623c7334107aea49d29b4c","a13fd1c0b6e15010d5239deebefc848f","c4411694bb26d3e522cd39983bc36b49"],"same_day":true,"statement_hash":"4626b06fdf5f6400e94bcc1adf023536868d98d7ac8de44a216107da573db8b9"},"rule":2,"target":"45d213b7196fa46471cd8cef8f127df4","type":"equivalent"},{"evidence":{"patch_ids":["4e535b9607623c7334107aea49d29b4c","a13fd1c0b6e15010d5239deebefc848f","c4411694bb26d3e522cd39983bc36b49"],"same_day":true,"statement_hash":"4626b06fdf5f6400e94bcc1adf023536868d98d7ac8de44a216107da573db8b9"},"rule":2,"target":"625b5b92d86d5f7ec6c3f0d1ad82c1fc","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["8eb4a9312","b620cf2d4","f305e8457"],"source_entry_id":"11.2/changes/053","source_hash":"338159133dcab8f457174d136f113eb4ed6436b518fa7b9013d8ba1793f94df0","source_url":"/docs/release/11.2/#id-1.11.6.25.5","statement_hash":"4626b06fdf5f6400e94bcc1adf023536868d98d7ac8de44a216107da573db8b9","text":"修复 ecpglib，使其优先使用 uselocale() 或 _configthreadlocale()，而非 setlocale()（Michael Meskes，Tom Lane） 由于 setlocale() 不局限于线程，甚至可能不是线程安全的，以前的代码会给多线程 ecpg 应用带来问题。","title":"修复 ecpglib，使其优先使用 uselocale() 或 _configthreadlocale()，而非 setlocale()","variants":[],"version":"11.2"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["06c723447","2e8ed4659","32060f678","41609776f","4618fdd67","68393f3fd","68f30638a","9e5e3861c","be38945c6","e1f259012","ecfd55795","f9e25ba14"],"commit_groups":[["06c723447","2e8ed4659","41609776f","4618fdd67","68f30638a","f9e25ba14"],["32060f678","68393f3fd","9e5e3861c","be38945c6","e1f259012","ecfd55795"]],"commits":[],"cves":[],"db_id":"0c9f1340d6467102413c6d9b3b8feb42","html":"\u003cp\u003e修复通过 \u003cspan\u003eecpg\u003c/span\u003e \u003cacronym\u003eSQLDA\u003c/acronym\u003e（SQL 描述符区域）传递的数值数据结果不正确的问题（Daisuke Higuchi）\u003c/p\u003e\n\u003cp\u003e带有前导零的值未被正确复制。\u003c/p\u003e","id":"11.2-45dbc194b94f4cbe","identity_text":"Fix incorrect results for numeric data passed through an ecpg SQLDA (SQL Descriptor Area) (Daisuke Higuchi) Values with leading zeroes were not copied correctly.","part":"changes","patch_ids":["3e2ed163afd32784067e11ef1d92585f","d368ed5b1a0dbe4032c0bb31b6671f10"],"related_changes":[{"db_id":"01d435523e7c790e12b2b8dfcc84cbf6","evidence":{"patch_ids":["3e2ed163afd32784067e11ef1d92585f","d368ed5b1a0dbe4032c0bb31b6671f10"],"same_day":true,"statement_hash":"d0a89e5e9f09f214e6300b13c4222fefbca457a005efe79f12366b4a5f55f797"},"kind":"equivalent","label":"10.7","source_url":"/docs/release/10.7/#id-1.11.6.21.5","title":"修复通过 ecpg SQLDA（SQL 描述符区域）传递的数值数据结果不正确的问题","url":"/docs/compare/?release=10.7#10.7-45dbc194b94f4cbe","version":"10.7"},{"db_id":"d5e68bd908a05fdb6610828b56036d0d","evidence":{"patch_ids":["3e2ed163afd32784067e11ef1d92585f","d368ed5b1a0dbe4032c0bb31b6671f10"],"same_day":true,"statement_hash":"d0a89e5e9f09f214e6300b13c4222fefbca457a005efe79f12366b4a5f55f797"},"kind":"equivalent","label":"9.6.12","source_url":"/docs/release/9.6.12/#id-1.11.6.17.5","title":"修复通过 ecpg SQLDA（SQL 描述符区域）传递的 numeric 数据的错误结果","url":"/docs/compare/?release=9.6.12#9.6.12-fc680b6513160f6d","version":"9.6.12"},{"db_id":"d9a5d1d2e05d9ec248430f8e7952bd18","evidence":{"patch_ids":["3e2ed163afd32784067e11ef1d92585f","d368ed5b1a0dbe4032c0bb31b6671f10"],"same_day":true,"statement_hash":"d0a89e5e9f09f214e6300b13c4222fefbca457a005efe79f12366b4a5f55f797"},"kind":"equivalent","label":"9.5.16","source_url":"/docs/release/9.5.16/#id-1.11.6.14.5","title":"修复通过 ecpg SQLDA（SQL 描述符区域）传递的 numeric 数据的错误结果","url":"/docs/compare/?release=9.5.16#9.5.16-fc680b6513160f6d","version":"9.5.16"},{"db_id":"b1c1d33dbed698c77a751b8f391cc2d1","evidence":{"patch_ids":["3e2ed163afd32784067e11ef1d92585f","d368ed5b1a0dbe4032c0bb31b6671f10"],"same_day":true,"statement_hash":"d0a89e5e9f09f214e6300b13c4222fefbca457a005efe79f12366b4a5f55f797"},"kind":"equivalent","label":"9.4.21","source_url":"/docs/release/9.4.21/#id-1.11.6.10.6","title":"修复通过 ecpg SQLDA（SQL 描述符区域）传递的 numeric 数据的错误结果","url":"/docs/compare/?release=9.4.21#9.4.21-fc680b6513160f6d","version":"9.4.21"}],"relations":[{"evidence":{"patch_ids":["3e2ed163afd32784067e11ef1d92585f","d368ed5b1a0dbe4032c0bb31b6671f10"],"same_day":true,"statement_hash":"d0a89e5e9f09f214e6300b13c4222fefbca457a005efe79f12366b4a5f55f797"},"rule":2,"target":"01d435523e7c790e12b2b8dfcc84cbf6","type":"equivalent"},{"evidence":{"patch_ids":["3e2ed163afd32784067e11ef1d92585f","d368ed5b1a0dbe4032c0bb31b6671f10"],"same_day":true,"statement_hash":"d0a89e5e9f09f214e6300b13c4222fefbca457a005efe79f12366b4a5f55f797"},"rule":2,"target":"b1c1d33dbed698c77a751b8f391cc2d1","type":"equivalent"},{"evidence":{"patch_ids":["3e2ed163afd32784067e11ef1d92585f","d368ed5b1a0dbe4032c0bb31b6671f10"],"same_day":true,"statement_hash":"d0a89e5e9f09f214e6300b13c4222fefbca457a005efe79f12366b4a5f55f797"},"rule":2,"target":"d5e68bd908a05fdb6610828b56036d0d","type":"equivalent"},{"evidence":{"patch_ids":["3e2ed163afd32784067e11ef1d92585f","d368ed5b1a0dbe4032c0bb31b6671f10"],"same_day":true,"statement_hash":"d0a89e5e9f09f214e6300b13c4222fefbca457a005efe79f12366b4a5f55f797"},"rule":2,"target":"d9a5d1d2e05d9ec248430f8e7952bd18","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["4618fdd67","68393f3fd"],"source_entry_id":"11.2/changes/054","source_hash":"aba1bd79306e14b0532491247b8d57a6e1deb69d9b192a7e292b7420e9888942","source_url":"/docs/release/11.2/#id-1.11.6.25.5","statement_hash":"d0a89e5e9f09f214e6300b13c4222fefbca457a005efe79f12366b4a5f55f797","text":"修复通过 ecpg SQLDA（SQL 描述符区域）传递的数值数据结果不正确的问题（Daisuke Higuchi） 带有前导零的值未被正确复制。","title":"修复通过 ecpg SQLDA（SQL 描述符区域）传递的数值数据结果不正确的问题","variants":[],"version":"11.2"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["2c50c9f23","6d3ede5f1","8e97a97b3","ae4c7d5ab","cda1e27fb"],"commit_groups":[["2c50c9f23","6d3ede5f1","8e97a97b3","ae4c7d5ab","cda1e27fb"]],"commits":[],"cves":[],"db_id":"7187c1ff9b64631a183928e454518eaf","html":"\u003cp\u003e修复 \u003cspan\u003epsql\u003c/span\u003e 的 \u003ccode\u003e\\g\u003c/code\u003e \u003cem\u003e\u003ccode\u003etarget\u003c/code\u003e\u003c/em\u003e 元命令，使其适用于 \u003ccode\u003eCOPY TO STDOUT\u003c/code\u003e（Daniel Vérité）\u003c/p\u003e\n\u003cp\u003e以前，\u003cem\u003e\u003ccode\u003etarget\u003c/code\u003e\u003c/em\u003e 选项被忽略，因此复制的数据始终发送到当前查询输出目标。\u003c/p\u003e","id":"11.2-b966b525f9ada3dc","identity_text":"Fix psql's \\g target meta-command to work with COPY TO STDOUT (Daniel Vérité) Previously, the target option was ignored, so that the copy data always went to the current query output target.","part":"changes","patch_ids":["4c91209bf8d5d37142ccb5063814974e"],"related_changes":[{"db_id":"c618564ee9c72ab927a920643066d530","evidence":{"patch_ids":["4c91209bf8d5d37142ccb5063814974e"],"same_day":true,"statement_hash":"e7de5484878ce1791f25c1ff0718dd1d00c9e303b54d2186762352b724021130"},"kind":"equivalent","label":"10.7","source_url":"/docs/release/10.7/#id-1.11.6.21.5","title":"修复 psql 的 \\g target 元命令，使其适用于 COPY TO STDOUT","url":"/docs/compare/?release=10.7#10.7-b966b525f9ada3dc","version":"10.7"},{"db_id":"86760c4c16f03e7ced0f7f5cec09a558","evidence":{"patch_ids":["4c91209bf8d5d37142ccb5063814974e"],"same_day":true,"statement_hash":"e7de5484878ce1791f25c1ff0718dd1d00c9e303b54d2186762352b724021130"},"kind":"equivalent","label":"9.6.12","source_url":"/docs/release/9.6.12/#id-1.11.6.17.5","title":"修复 psql 的 \\g target 元命令与 COPY TO STDOUT 配合工作的问题","url":"/docs/compare/?release=9.6.12#9.6.12-3deeec327fa572e8","version":"9.6.12"},{"db_id":"84ef57936d4146c8a22f07fe791247be","evidence":{"patch_ids":["4c91209bf8d5d37142ccb5063814974e"],"same_day":true,"statement_hash":"e7de5484878ce1791f25c1ff0718dd1d00c9e303b54d2186762352b724021130"},"kind":"equivalent","label":"9.5.16","source_url":"/docs/release/9.5.16/#id-1.11.6.14.5","title":"修复 psql 的 \\g target 元命令与 COPY TO STDOUT 配合工作的问题","url":"/docs/compare/?release=9.5.16#9.5.16-3deeec327fa572e8","version":"9.5.16"}],"relations":[{"evidence":{"patch_ids":["4c91209bf8d5d37142ccb5063814974e"],"same_day":true,"statement_hash":"e7de5484878ce1791f25c1ff0718dd1d00c9e303b54d2186762352b724021130"},"rule":2,"target":"84ef57936d4146c8a22f07fe791247be","type":"equivalent"},{"evidence":{"patch_ids":["4c91209bf8d5d37142ccb5063814974e"],"same_day":true,"statement_hash":"e7de5484878ce1791f25c1ff0718dd1d00c9e303b54d2186762352b724021130"},"rule":2,"target":"86760c4c16f03e7ced0f7f5cec09a558","type":"equivalent"},{"evidence":{"patch_ids":["4c91209bf8d5d37142ccb5063814974e"],"same_day":true,"statement_hash":"e7de5484878ce1791f25c1ff0718dd1d00c9e303b54d2186762352b724021130"},"rule":2,"target":"c618564ee9c72ab927a920643066d530","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["2c50c9f23"],"source_entry_id":"11.2/changes/055","source_hash":"a371dcc7a0cf6388942f93044121f9509c8a48e4b32620f14523f28997e656c0","source_url":"/docs/release/11.2/#id-1.11.6.25.5","statement_hash":"e7de5484878ce1791f25c1ff0718dd1d00c9e303b54d2186762352b724021130","text":"修复 psql 的 \\g target 元命令，使其适用于 COPY TO STDOUT（Daniel Vérité） 以前，target 选项被忽略，因此复制的数据始终发送到当前查询输出目标。","title":"修复 psql 的 \\g target 元命令，使其适用于 COPY TO STDOUT","variants":[],"version":"11.2"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["18a0a8548","70d7e507e","74bfb5388","815409093","ac305ff8c","b352cf7a8"],"commit_groups":[["18a0a8548","70d7e507e","74bfb5388","815409093","ac305ff8c","b352cf7a8"]],"commits":[],"cves":[],"db_id":"41f1ae7aff68bf8c0a07d0e75df1c8cb","html":"\u003cp\u003e使 \u003cspan\u003epsql\u003c/span\u003e 的 LaTeX 输出格式正确呈现特殊字符（Tom Lane）\u003c/p\u003e\n\u003cp\u003e反斜线和某些其他 ASCII 标点字符未被正确呈现，导致文档语法错误或输出中出现错误字符。\u003c/p\u003e","id":"11.2-0764c5ad9aea9a88","identity_text":"Make psql's LaTeX output formats render special characters properly (Tom Lane) Backslash and some other ASCII punctuation characters were not rendered correctly, leading to document syntax errors or wrong characters in the output.","part":"changes","patch_ids":["0d22e3a5a55971379d0c07fd29212ac8"],"related_changes":[{"db_id":"82efaccc909edce2e198d3044d547df2","evidence":{"patch_ids":["0d22e3a5a55971379d0c07fd29212ac8"],"same_day":true,"statement_hash":"1780726b51bc0a6d0b5a07ecf49a5eeab18852953ebc9d571ed19f81e9392544"},"kind":"equivalent","label":"10.7","source_url":"/docs/release/10.7/#id-1.11.6.21.5","title":"使 psql 的 LaTeX 输出格式正确呈现特殊字符","url":"/docs/compare/?release=10.7#10.7-0764c5ad9aea9a88","version":"10.7"},{"db_id":"b85bd708bcef2c922bd53a37ba150d27","evidence":{"patch_ids":["0d22e3a5a55971379d0c07fd29212ac8"],"same_day":true,"statement_hash":"1780726b51bc0a6d0b5a07ecf49a5eeab18852953ebc9d571ed19f81e9392544"},"kind":"equivalent","label":"9.6.12","source_url":"/docs/release/9.6.12/#id-1.11.6.17.5","title":"让 psql 的 LaTeX 输出格式正确渲染特殊字符","url":"/docs/compare/?release=9.6.12#9.6.12-9277e36b7b4ec631","version":"9.6.12"},{"db_id":"34cef121c7493649d500f2d8e0fc6c3e","evidence":{"patch_ids":["0d22e3a5a55971379d0c07fd29212ac8"],"same_day":true,"statement_hash":"1780726b51bc0a6d0b5a07ecf49a5eeab18852953ebc9d571ed19f81e9392544"},"kind":"equivalent","label":"9.5.16","source_url":"/docs/release/9.5.16/#id-1.11.6.14.5","title":"让 psql 的 LaTeX 输出格式正确渲染特殊字符","url":"/docs/compare/?release=9.5.16#9.5.16-9277e36b7b4ec631","version":"9.5.16"},{"db_id":"12adaa842f4599e25d434ab48835f6e0","evidence":{"patch_ids":["0d22e3a5a55971379d0c07fd29212ac8"],"same_day":true,"statement_hash":"1780726b51bc0a6d0b5a07ecf49a5eeab18852953ebc9d571ed19f81e9392544"},"kind":"equivalent","label":"9.4.21","source_url":"/docs/release/9.4.21/#id-1.11.6.10.6","title":"让 psql 的 LaTeX 输出格式正确渲染特殊字符","url":"/docs/compare/?release=9.4.21#9.4.21-9277e36b7b4ec631","version":"9.4.21"}],"relations":[{"evidence":{"patch_ids":["0d22e3a5a55971379d0c07fd29212ac8"],"same_day":true,"statement_hash":"1780726b51bc0a6d0b5a07ecf49a5eeab18852953ebc9d571ed19f81e9392544"},"rule":2,"target":"12adaa842f4599e25d434ab48835f6e0","type":"equivalent"},{"evidence":{"patch_ids":["0d22e3a5a55971379d0c07fd29212ac8"],"same_day":true,"statement_hash":"1780726b51bc0a6d0b5a07ecf49a5eeab18852953ebc9d571ed19f81e9392544"},"rule":2,"target":"34cef121c7493649d500f2d8e0fc6c3e","type":"equivalent"},{"evidence":{"patch_ids":["0d22e3a5a55971379d0c07fd29212ac8"],"same_day":true,"statement_hash":"1780726b51bc0a6d0b5a07ecf49a5eeab18852953ebc9d571ed19f81e9392544"},"rule":2,"target":"82efaccc909edce2e198d3044d547df2","type":"equivalent"},{"evidence":{"patch_ids":["0d22e3a5a55971379d0c07fd29212ac8"],"same_day":true,"statement_hash":"1780726b51bc0a6d0b5a07ecf49a5eeab18852953ebc9d571ed19f81e9392544"},"rule":2,"target":"b85bd708bcef2c922bd53a37ba150d27","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["b352cf7a8"],"source_entry_id":"11.2/changes/056","source_hash":"906a91139be6520262dddbee664afda07fbf2f9cc427d86d2015d2be4cdf2094","source_url":"/docs/release/11.2/#id-1.11.6.25.5","statement_hash":"1780726b51bc0a6d0b5a07ecf49a5eeab18852953ebc9d571ed19f81e9392544","text":"使 psql 的 LaTeX 输出格式正确呈现特殊字符（Tom Lane） 反斜线和某些其他 ASCII 标点字符未被正确呈现，导致文档语法错误或输出中出现错误字符。","title":"使 psql 的 LaTeX 输出格式正确呈现特殊字符","variants":[],"version":"11.2"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["27d6bc68f","e6c3ba7fb"],"commit_groups":[["27d6bc68f","e6c3ba7fb"]],"commits":[],"cves":[],"db_id":"2f5e9d1dbf2dfc8dfdf72bf25193e667","html":"\u003cp\u003e指定 \u003ccode\u003e--random-seed=\u003cem\u003e\u003ccode\u003eN\u003c/code\u003e\u003c/em\u003e\u003c/code\u003e 时，使 \u003cspan\u003epgbench\u003c/span\u003e 的随机数生成完全确定且与平台无关（Fabien Coelho，Tom Lane）\u003c/p\u003e\n\u003cp\u003e在任何特定平台上，使用某个 \u003cem\u003e\u003ccode\u003eN\u003c/code\u003e\u003c/em\u003e 值获得的序列，很可能与应用此补丁之前不同。\u003c/p\u003e","id":"11.2-315d32f597e2081d","identity_text":"Make pgbench's random number generation fully deterministic and platform-independent when --random-seed=N is specified (Fabien Coelho, Tom Lane) On any specific platform, the sequence obtained with a particular value of N will probably be different from what it was before this patch.","part":"changes","patch_ids":["06f7bfbe9ca8864bdc53094b7139e5a3"],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":["27d6bc68f"],"source_entry_id":"11.2/changes/057","source_hash":"99ad961422fbca06858dcd6e6af2f58abbe44c32e746ff7e0a9ff4d81f80b7a2","source_url":"/docs/release/11.2/#id-1.11.6.25.5","statement_hash":"d1754da9970c1e60368a516494f26f952feaba7ef8903c4ae676592154924d70","text":"指定 --random-seed=N 时，使 pgbench 的随机数生成完全确定且与平台无关（Fabien Coelho，Tom Lane） 在任何特定平台上，使用某个 N 值获得的序列，很可能与应用此补丁之前不同。","title":"指定 --random-seed=N 时，使 pgbench 的随机数生成完全确定且与平台无关","variants":[],"version":"11.2"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["19516afdf","5c9951397","85036308d","a1c91dd11"],"commit_groups":[["19516afdf","5c9951397"],["85036308d","a1c91dd11"]],"commits":[],"cves":[],"db_id":"3a94ce33f028c3dead9c5463f31b92b4","html":"\u003cp\u003e修复 \u003cspan\u003epg_basebackup\u003c/span\u003e 和 \u003cspan\u003epg_verify_checksums\u003c/span\u003e，使其适当地忽略临时文件（Michael Banck，Michael Paquier）\u003c/p\u003e","id":"11.2-fd7d96ab46409624","identity_text":"Fix pg_basebackup and pg_verify_checksums to ignore temporary files appropriately (Michael Banck, Michael Paquier)","part":"changes","patch_ids":["bdffb502a768d070c2fb95c7f37f6bd7","bfb7051e0a1fa029895137d54309d310"],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":["19516afdf","85036308d"],"source_entry_id":"11.2/changes/058","source_hash":"cf29ba63b401caa904ce106ba2436b4b6c2673232bc167b8c2b60864ef2ee3de","source_url":"/docs/release/11.2/#id-1.11.6.25.5","statement_hash":"de944c38877e29a73cb03a8c405c1cac9db760f727499d02564a1d3e063549a1","text":"修复 pg_basebackup 和 pg_verify_checksums，使其适当地忽略临时文件（Michael Banck，Michael Paquier）","title":"修复 pg_basebackup 和 pg_verify_checksums，使其适当地忽略临时文件","variants":[],"version":"11.2"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["16e0464a1","2f93b74bf","6e4d45b5f","9368ba174","b8de846a5","dc42602f1"],"commit_groups":[["16e0464a1","2f93b74bf","6e4d45b5f","9368ba174","b8de846a5","dc42602f1"]],"commits":[],"cves":[],"db_id":"f3494c6e100c97ff9ac7c9af38b0f919","html":"\u003cp\u003e修复 \u003cspan\u003epg_dump\u003c/span\u003e 对间接依赖主键的物化视图的处理（Tom Lane）\u003c/p\u003e\n\u003cp\u003e这曾导致此类视图的转储归档条目被错误标记，产生无害的 \u003cspan\u003e“\u003cspan\u003earchive items not in correct section order\u003c/span\u003e”\u003c/span\u003e 警告；更有影响的是，依赖这些标记的选择性恢复选项（如 \u003ccode\u003e--section\u003c/code\u003e）可能出现错误行为。\u003c/p\u003e","id":"11.2-826fd7f161eaee93","identity_text":"Fix pg_dump's handling of materialized views with indirect dependencies on primary keys (Tom Lane) This led to mis-labeling of such views' dump archive entries, causing harmless warnings about archive items not in correct section order; less harmlessly, selective-restore options depending on those labels, such as --section, might misbehave.","part":"changes","patch_ids":["225a035e5d0a62deac6d9cad98b020bb"],"related_changes":[{"db_id":"ed75610318f26953695685c0cc9914ea","evidence":{"patch_ids":["225a035e5d0a62deac6d9cad98b020bb"],"same_day":true,"statement_hash":"2910d1a5028eb80b5f1d0afde01e4f07726e139e3aa8aad32ace8df485beea85"},"kind":"equivalent","label":"10.7","source_url":"/docs/release/10.7/#id-1.11.6.21.5","title":"修复 pg_dump 对间接依赖主键的物化视图的处理","url":"/docs/compare/?release=10.7#10.7-826fd7f161eaee93","version":"10.7"},{"db_id":"ac45cc38f0e92596abe6e88dd63627c4","evidence":{"patch_ids":["225a035e5d0a62deac6d9cad98b020bb"],"same_day":true,"statement_hash":"2910d1a5028eb80b5f1d0afde01e4f07726e139e3aa8aad32ace8df485beea85"},"kind":"equivalent","label":"9.6.12","source_url":"/docs/release/9.6.12/#id-1.11.6.17.5","title":"修复 pg_dump 对间接依赖主键的物化视图的处理","url":"/docs/compare/?release=9.6.12#9.6.12-826fd7f161eaee93","version":"9.6.12"},{"db_id":"0c84a59475fdf415649c3fca62db12e9","evidence":{"patch_ids":["225a035e5d0a62deac6d9cad98b020bb"],"same_day":true,"statement_hash":"2910d1a5028eb80b5f1d0afde01e4f07726e139e3aa8aad32ace8df485beea85"},"kind":"equivalent","label":"9.5.16","source_url":"/docs/release/9.5.16/#id-1.11.6.14.5","title":"修复 pg_dump 对间接依赖主键的物化视图的处理","url":"/docs/compare/?release=9.5.16#9.5.16-826fd7f161eaee93","version":"9.5.16"},{"db_id":"dcc06d23939bee8c416fc5d25fc9e2f6","evidence":{"patch_ids":["225a035e5d0a62deac6d9cad98b020bb"],"same_day":true,"statement_hash":"2910d1a5028eb80b5f1d0afde01e4f07726e139e3aa8aad32ace8df485beea85"},"kind":"equivalent","label":"9.4.21","source_url":"/docs/release/9.4.21/#id-1.11.6.10.6","title":"修复 pg_dump 对间接依赖主键的物化视图的处理","url":"/docs/compare/?release=9.4.21#9.4.21-826fd7f161eaee93","version":"9.4.21"}],"relations":[{"evidence":{"patch_ids":["225a035e5d0a62deac6d9cad98b020bb"],"same_day":true,"statement_hash":"2910d1a5028eb80b5f1d0afde01e4f07726e139e3aa8aad32ace8df485beea85"},"rule":2,"target":"0c84a59475fdf415649c3fca62db12e9","type":"equivalent"},{"evidence":{"patch_ids":["225a035e5d0a62deac6d9cad98b020bb"],"same_day":true,"statement_hash":"2910d1a5028eb80b5f1d0afde01e4f07726e139e3aa8aad32ace8df485beea85"},"rule":2,"target":"ac45cc38f0e92596abe6e88dd63627c4","type":"equivalent"},{"evidence":{"patch_ids":["225a035e5d0a62deac6d9cad98b020bb"],"same_day":true,"statement_hash":"2910d1a5028eb80b5f1d0afde01e4f07726e139e3aa8aad32ace8df485beea85"},"rule":2,"target":"dcc06d23939bee8c416fc5d25fc9e2f6","type":"equivalent"},{"evidence":{"patch_ids":["225a035e5d0a62deac6d9cad98b020bb"],"same_day":true,"statement_hash":"2910d1a5028eb80b5f1d0afde01e4f07726e139e3aa8aad32ace8df485beea85"},"rule":2,"target":"ed75610318f26953695685c0cc9914ea","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["b8de846a5"],"source_entry_id":"11.2/changes/059","source_hash":"fa27fbf54bfff32968e30c1e82d9b35cfb2b405a98ca745af159303c03591d36","source_url":"/docs/release/11.2/#id-1.11.6.25.5","statement_hash":"2910d1a5028eb80b5f1d0afde01e4f07726e139e3aa8aad32ace8df485beea85","text":"修复 pg_dump 对间接依赖主键的物化视图的处理（Tom Lane） 这曾导致此类视图的转储归档条目被错误标记，产生无害的 “archive items not in correct section order” 警告；更有影响的是，依赖这些标记的选择性恢复选项（如 --section）可能出现错误行为。","title":"修复 pg_dump 对间接依赖主键的物化视图的处理","variants":[],"version":"11.2"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["d0960eb8a","e4fca461a"],"commit_groups":[["d0960eb8a","e4fca461a"]],"commits":[],"cves":[],"db_id":"f875ff33d5324999fa24ed06b877d1c4","html":"\u003cp\u003e使 \u003cspan\u003epg_dump\u003c/span\u003e 包含 \u003ccode\u003eALTER INDEX SET STATISTICS\u003c/code\u003e 命令（Michael Paquier）\u003c/p\u003e\n\u003cp\u003e加入为索引表达式设置统计目标的能力时，我们忘记让 \u003cspan\u003epg_dump\u003c/span\u003e 支持它，因此这些设置会在转储/重载中丢失。\u003c/p\u003e","id":"11.2-d3e8953cbd5a1cd0","identity_text":"Make pg_dump include ALTER INDEX SET STATISTICS commands (Michael Paquier) When the ability to attach statistics targets to index expressions was added, we forgot to teach pg_dump about it, so that such settings were lost in dump/reload.","part":"changes","patch_ids":["c47279cb9bd3d08b4750082e48e5d98e"],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":["d0960eb8a"],"source_entry_id":"11.2/changes/060","source_hash":"33d369beb569a91910b8b4d4c57c1e4fc011df3121f628f0c5f481bc521a70a1","source_url":"/docs/release/11.2/#id-1.11.6.25.5","statement_hash":"08559ef8c32fcac14e0fb72e1869a6915e80d9c48dbcd82375f1854b44fa290a","text":"使 pg_dump 包含 ALTER INDEX SET STATISTICS 命令（Michael Paquier） 加入为索引表达式设置统计目标的能力时，我们忘记让 pg_dump 支持它，因此这些设置会在转储/重载中丢失。","title":"使 pg_dump 包含 ALTER INDEX SET STATISTICS 命令","variants":[],"version":"11.2"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["6178f3cb7","b72b4fafb"],"commit_groups":[["6178f3cb7","b72b4fafb"]],"commits":[],"cves":[],"db_id":"a3c6ee5b5fa75c3305c21897c98fd5ed","html":"\u003cp\u003e修复 \u003cspan\u003epg_dump\u003c/span\u003e 对具有 OID 的表的转储（Peter Eisentraut）\u003c/p\u003e\n\u003cp\u003e如果 \u003ccode\u003eWITH OIDS\u003c/code\u003e 子句需要应用于第一个被转储的表，它会被遗漏。\u003c/p\u003e","id":"11.2-d16d9f40f3ad74b8","identity_text":"Fix pg_dump's dumping of tables that have OIDs (Peter Eisentraut) The WITH OIDS clause was omitted if it needed to be applied to the first table to be dumped.","part":"changes","patch_ids":["d1d446c7ee6b33f7740efecfec1a9a4a"],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":["b72b4fafb"],"source_entry_id":"11.2/changes/061","source_hash":"c983b1a63b34de281a41426105e4ddfc34077d949ce961fd9f7a8c09d2623db2","source_url":"/docs/release/11.2/#id-1.11.6.25.5","statement_hash":"ccd2f3135609a78ab25a7e2ed5a9cd7efd23afe9c89adf6ab76ec37e154956cf","text":"修复 pg_dump 对具有 OID 的表的转储（Peter Eisentraut） 如果 WITH OIDS 子句需要应用于第一个被转储的表，它会被遗漏。","title":"修复 pg_dump 对具有 OID 的表的转储","variants":[],"version":"11.2"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["2b6009e2a","2c8332177","4dbe19690","73668c590","ed46d0d32","ef9bf3593"],"commit_groups":[["2b6009e2a","2c8332177","4dbe19690","73668c590","ed46d0d32","ef9bf3593"]],"commits":[],"cves":[],"db_id":"21be836bee7a64905e1235eb537030b4","html":"\u003cp\u003e避免 \u003cspan\u003epg_dump\u003c/span\u003e 或 \u003cspan\u003epg_restore\u003c/span\u003e 尝试报告错误时，在某些平台上因空指针解引用而崩溃（Tom Lane）\u003c/p\u003e","id":"11.2-99b4668cd3f3529f","identity_text":"Avoid null-pointer-dereference crash on some platforms when pg_dump or pg_restore tries to report an error (Tom Lane)","part":"changes","patch_ids":["8449bac03ac98ea37ec791b5fc11c33d"],"related_changes":[{"db_id":"d78f112d08578b7d46e95c08df306243","evidence":{"patch_ids":["8449bac03ac98ea37ec791b5fc11c33d"],"same_day":true,"statement_hash":"d52b019aabe44c168eded5320c19bf9f077f75b13d187e77fbfde5f3dba93948"},"kind":"equivalent","label":"10.7","source_url":"/docs/release/10.7/#id-1.11.6.21.5","title":"避免 pg_dump 或 pg_restore 尝试报告错误时，在某些平台上因空指针解引用而崩溃","url":"/docs/compare/?release=10.7#10.7-99b4668cd3f3529f","version":"10.7"},{"db_id":"646b79b07847b0b3cc9f38999c955953","evidence":{"patch_ids":["8449bac03ac98ea37ec791b5fc11c33d"],"same_day":true,"statement_hash":"d52b019aabe44c168eded5320c19bf9f077f75b13d187e77fbfde5f3dba93948"},"kind":"equivalent","label":"9.6.12","source_url":"/docs/release/9.6.12/#id-1.11.6.17.5","title":"避免 pg_dump 或 pg_restore 尝试报告错误时在某些平台上的空指针解引用崩溃","url":"/docs/compare/?release=9.6.12#9.6.12-bd4d066aa0f3ea5e","version":"9.6.12"},{"db_id":"7cd4fd1329cb6190a2d9dc9a02a62ce8","evidence":{"patch_ids":["8449bac03ac98ea37ec791b5fc11c33d"],"same_day":true,"statement_hash":"d52b019aabe44c168eded5320c19bf9f077f75b13d187e77fbfde5f3dba93948"},"kind":"equivalent","label":"9.5.16","source_url":"/docs/release/9.5.16/#id-1.11.6.14.5","title":"避免 pg_dump 或 pg_restore 尝试报告错误时在某些平台上的空指针解引用崩溃","url":"/docs/compare/?release=9.5.16#9.5.16-bd4d066aa0f3ea5e","version":"9.5.16"},{"db_id":"076130892bd0f29ac59b6750d52a01cf","evidence":{"patch_ids":["8449bac03ac98ea37ec791b5fc11c33d"],"same_day":true,"statement_hash":"d52b019aabe44c168eded5320c19bf9f077f75b13d187e77fbfde5f3dba93948"},"kind":"equivalent","label":"9.4.21","source_url":"/docs/release/9.4.21/#id-1.11.6.10.6","title":"避免pg_dump或pg_restore尝试报告错误时在某些平台上出现空指针解引用崩溃","url":"/docs/compare/?release=9.4.21#9.4.21-7dba63c6ef94f6e3","version":"9.4.21"}],"relations":[{"evidence":{"patch_ids":["8449bac03ac98ea37ec791b5fc11c33d"],"same_day":true,"statement_hash":"d52b019aabe44c168eded5320c19bf9f077f75b13d187e77fbfde5f3dba93948"},"rule":2,"target":"076130892bd0f29ac59b6750d52a01cf","type":"equivalent"},{"evidence":{"patch_ids":["8449bac03ac98ea37ec791b5fc11c33d"],"same_day":true,"statement_hash":"d52b019aabe44c168eded5320c19bf9f077f75b13d187e77fbfde5f3dba93948"},"rule":2,"target":"646b79b07847b0b3cc9f38999c955953","type":"equivalent"},{"evidence":{"patch_ids":["8449bac03ac98ea37ec791b5fc11c33d"],"same_day":true,"statement_hash":"d52b019aabe44c168eded5320c19bf9f077f75b13d187e77fbfde5f3dba93948"},"rule":2,"target":"7cd4fd1329cb6190a2d9dc9a02a62ce8","type":"equivalent"},{"evidence":{"patch_ids":["8449bac03ac98ea37ec791b5fc11c33d"],"same_day":true,"statement_hash":"d52b019aabe44c168eded5320c19bf9f077f75b13d187e77fbfde5f3dba93948"},"rule":2,"target":"d78f112d08578b7d46e95c08df306243","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["ef9bf3593"],"source_entry_id":"11.2/changes/062","source_hash":"9c4d383883044df741c3aa0d7aa17598fe49646148a68a4d9107c239b1b229c2","source_url":"/docs/release/11.2/#id-1.11.6.25.5","statement_hash":"d52b019aabe44c168eded5320c19bf9f077f75b13d187e77fbfde5f3dba93948","text":"避免 pg_dump 或 pg_restore 尝试报告错误时，在某些平台上因空指针解引用而崩溃（Tom Lane）","title":"避免 pg_dump 或 pg_restore 尝试报告错误时，在某些平台上因空指针解引用而崩溃","variants":[],"version":"11.2"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["2f5416666","eba775345"],"commit_groups":[["2f5416666","eba775345"]],"commits":[],"cves":[],"db_id":"f5caa68124f44d257615aa5e10e371fe","html":"\u003cp\u003e防止行内压缩数据导致 \u003ccode\u003econtrib/amcheck\u003c/code\u003e 错误报告索引损坏（Peter Geoghegan）\u003c/p\u003e","id":"11.2-097f89c1d8a1341c","identity_text":"Prevent false index-corruption reports from contrib/amcheck caused by inline-compressed data (Peter Geoghegan)","part":"changes","patch_ids":["82922b28f809014a287f8a74aa0130b7"],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":["2f5416666"],"source_entry_id":"11.2/changes/063","source_hash":"2f3ba39fa26c53abcc157a753c0637bd8c0693ddfb2aca4d14e77118833088e4","source_url":"/docs/release/11.2/#id-1.11.6.25.5","statement_hash":"dae5bb2f31900b50088df2dc11bbcfd93f342971b9de1f9d515ff7bfa0ae3934","text":"防止行内压缩数据导致 contrib/amcheck 错误报告索引损坏（Peter Geoghegan）","title":"防止行内压缩数据导致 contrib/amcheck 错误报告索引损坏","variants":[],"version":"11.2"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["0064d0e9f","34010ac2f","8285fae07","8dc49a893","ade2d61ed","b1894a607","cb09903fe","e2631255e","ffa4cbd62"],"commit_groups":[["0064d0e9f","cb09903fe","e2631255e"],["34010ac2f","ade2d61ed","b1894a607"],["8285fae07","8dc49a893","ffa4cbd62"]],"commits":[],"cves":[],"db_id":"756492ad3d99d3b28ed8258b81968903","html":"\u003cp\u003e如果 \u003ccode\u003eCOPY FROM PROGRAM\u003c/code\u003e 提前停止读取程序输出，则适当地忽略 \u003ccode\u003eSIGPIPE\u003c/code\u003e 错误（Tom Lane）\u003c/p\u003e\n\u003cp\u003e实际上，直接使用 \u003ccode\u003eCOPY\u003c/code\u003e 不会出现这种情况，但使用 \u003ccode\u003econtrib/file_fdw\u003c/code\u003e 时可能发生。\u003c/p\u003e","id":"11.2-5a0bb788ce8ecb83","identity_text":"Properly disregard SIGPIPE errors if COPY FROM PROGRAM stops reading the program's output early (Tom Lane) This case isn't actually reachable directly with COPY, but it can happen when using contrib/file_fdw.","part":"changes","patch_ids":["157596d2fb7ec181471b0c85b0dc9f58","1de4aa36a5f613b3f82e82d304ba7e92","78a42f39766c0c3a80f988e09bb7ac7a"],"related_changes":[{"db_id":"e946cd96f5a923f18e81016b2cda15dd","evidence":{"patch_ids":["157596d2fb7ec181471b0c85b0dc9f58","1de4aa36a5f613b3f82e82d304ba7e92","78a42f39766c0c3a80f988e09bb7ac7a"],"same_day":true,"statement_hash":"54871026242fa0d80be27b0c40da715b651e06989ed79cd2848ce42f979146f3"},"kind":"equivalent","label":"10.7","source_url":"/docs/release/10.7/#id-1.11.6.21.5","title":"如果 COPY FROM PROGRAM 提前停止读取程序输出，则适当地忽略 SIGPIPE 错误","url":"/docs/compare/?release=10.7#10.7-5a0bb788ce8ecb83","version":"10.7"}],"relations":[{"evidence":{"patch_ids":["157596d2fb7ec181471b0c85b0dc9f58","1de4aa36a5f613b3f82e82d304ba7e92","78a42f39766c0c3a80f988e09bb7ac7a"],"same_day":true,"statement_hash":"54871026242fa0d80be27b0c40da715b651e06989ed79cd2848ce42f979146f3"},"rule":2,"target":"e946cd96f5a923f18e81016b2cda15dd","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["8dc49a893","b1894a607","e2631255e"],"source_entry_id":"11.2/changes/064","source_hash":"9495b0c6764aa869d62e5a7cb938e3bebdcd65c78ef1516ae9f9d15977508088","source_url":"/docs/release/11.2/#id-1.11.6.25.5","statement_hash":"54871026242fa0d80be27b0c40da715b651e06989ed79cd2848ce42f979146f3","text":"如果 COPY FROM PROGRAM 提前停止读取程序输出，则适当地忽略 SIGPIPE 错误（Tom Lane） 实际上，直接使用 COPY 不会出现这种情况，但使用 contrib/file_fdw 时可能发生。","title":"如果 COPY FROM PROGRAM 提前停止读取程序输出，则适当地忽略 SIGPIPE 错误","variants":[],"version":"11.2"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["02e669c0f","239abfff1","8087788f6","bcbb68278","d5890f49d","e5a6ae97e"],"commit_groups":[["02e669c0f","239abfff1","8087788f6","bcbb68278","d5890f49d","e5a6ae97e"]],"commits":[],"cves":[],"db_id":"434a271b68add8d6a8b515e094e66783","html":"\u003cp\u003e修复 \u003ccode\u003econtrib/hstore\u003c/code\u003e，使其为版本 8.4 或更早版本创建的空 \u003ccode\u003ehstore\u003c/code\u003e 值计算正确的 hash 值（Andrew Gierth）\u003c/p\u003e\n\u003cp\u003e以前的代码产生的结果，与较新版本创建的空 \u003ccode\u003ehstore\u003c/code\u003e 值不同，因此可能导致哈希连接或 hash 聚合结果不正确。如果表中可能包含最早在 8.4 时存储、此后从未经过转储/重新加载的数据，建议重建 \u003ccode\u003ehstore\u003c/code\u003e 列上的所有 hash 索引。\u003c/p\u003e","id":"11.2-d2344a23897ef634","identity_text":"Fix contrib/hstore to calculate correct hash values for empty hstore values that were created in version 8.4 or before (Andrew Gierth) The previous coding did not give the same result as for an empty hstore value created by a newer version, thus potentially causing wrong results in hash joins or hash aggregation. It is advisable to reindex any hash indexes built on hstore columns, if the table might contain data that was originally stored as far back as 8.4 and was never dumped/reloaded since then.","part":"changes","patch_ids":["bab1287e035cd1bef1182b510084a83a"],"related_changes":[{"db_id":"c8cb8ec0847b1a07ec02b663fdf12de7","evidence":{"patch_ids":["bab1287e035cd1bef1182b510084a83a"],"same_day":true,"statement_hash":"9ea45f86214864f0c30a2635096eaf9da5a010645be120d3607d5f7be63b02b5"},"kind":"equivalent","label":"10.7","source_url":"/docs/release/10.7/#id-1.11.6.21.5","title":"修复 contrib/hstore，使其为版本 8.4 或更早版本创建的空 hstore 值计算正确的 hash 值","url":"/docs/compare/?release=10.7#10.7-d2344a23897ef634","version":"10.7"},{"db_id":"876fabb14ec0313206f04e471d934643","evidence":{"patch_ids":["bab1287e035cd1bef1182b510084a83a"],"same_day":true,"statement_hash":"9ea45f86214864f0c30a2635096eaf9da5a010645be120d3607d5f7be63b02b5"},"kind":"equivalent","label":"9.6.12","source_url":"/docs/release/9.6.12/#id-1.11.6.17.5","title":"修复 contrib/hstore 为 8.4 或更早版本中创建的空 hstore 值计算正确的哈希值","url":"/docs/compare/?release=9.6.12#9.6.12-eb794b19b24b956c","version":"9.6.12"},{"db_id":"97160ddd803569a7384f09ff7e91186a","evidence":{"patch_ids":["bab1287e035cd1bef1182b510084a83a"],"same_day":true,"statement_hash":"9ea45f86214864f0c30a2635096eaf9da5a010645be120d3607d5f7be63b02b5"},"kind":"equivalent","label":"9.5.16","source_url":"/docs/release/9.5.16/#id-1.11.6.14.5","title":"修复 contrib/hstore 为 8.4 或更早版本中创建的空 hstore 值计算正确的哈希值","url":"/docs/compare/?release=9.5.16#9.5.16-eb794b19b24b956c","version":"9.5.16"},{"db_id":"055834090bf88d5f92e466160d3bbda4","evidence":{"patch_ids":["bab1287e035cd1bef1182b510084a83a"],"same_day":true,"statement_hash":"9ea45f86214864f0c30a2635096eaf9da5a010645be120d3607d5f7be63b02b5"},"kind":"equivalent","label":"9.4.21","source_url":"/docs/release/9.4.21/#id-1.11.6.10.6","title":"修复 contrib/hstore 为 8.4 或更早版本中创建的空 hstore 值计算正确的哈希值","url":"/docs/compare/?release=9.4.21#9.4.21-eb794b19b24b956c","version":"9.4.21"}],"relations":[{"evidence":{"patch_ids":["bab1287e035cd1bef1182b510084a83a"],"same_day":true,"statement_hash":"9ea45f86214864f0c30a2635096eaf9da5a010645be120d3607d5f7be63b02b5"},"rule":2,"target":"055834090bf88d5f92e466160d3bbda4","type":"equivalent"},{"evidence":{"patch_ids":["bab1287e035cd1bef1182b510084a83a"],"same_day":true,"statement_hash":"9ea45f86214864f0c30a2635096eaf9da5a010645be120d3607d5f7be63b02b5"},"rule":2,"target":"876fabb14ec0313206f04e471d934643","type":"equivalent"},{"evidence":{"patch_ids":["bab1287e035cd1bef1182b510084a83a"],"same_day":true,"statement_hash":"9ea45f86214864f0c30a2635096eaf9da5a010645be120d3607d5f7be63b02b5"},"rule":2,"target":"97160ddd803569a7384f09ff7e91186a","type":"equivalent"},{"evidence":{"patch_ids":["bab1287e035cd1bef1182b510084a83a"],"same_day":true,"statement_hash":"9ea45f86214864f0c30a2635096eaf9da5a010645be120d3607d5f7be63b02b5"},"rule":2,"target":"c8cb8ec0847b1a07ec02b663fdf12de7","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["02e669c0f"],"source_entry_id":"11.2/changes/065","source_hash":"126e199f6fb7baf3d476e3cef2b5eb95be4c9c9cfee8c2d555af9c4c0cc8f063","source_url":"/docs/release/11.2/#id-1.11.6.25.5","statement_hash":"9ea45f86214864f0c30a2635096eaf9da5a010645be120d3607d5f7be63b02b5","text":"修复 contrib/hstore，使其为版本 8.4 或更早版本创建的空 hstore 值计算正确的 hash 值（Andrew Gierth） 以前的代码产生的结果，与较新版本创建的空 hstore 值不同，因此可能导致哈希连接或 hash 聚合结果不正确。如果表中可能包含最早在 8.4 时存储、此后从未经过转储/重新加载的数据，建议重建 hstore 列上的所有 hash 索引。","title":"修复 contrib/hstore，使其为版本 8.4 或更早版本创建的空 hstore 值计算正确的 hash 值","variants":[],"version":"11.2"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["2e497ed23","2f30b311d","5f11a500f","757c5182f","e193fb991","f0bfc7a2b"],"commit_groups":[["2e497ed23","2f30b311d","5f11a500f","757c5182f","e193fb991","f0bfc7a2b"]],"commits":[],"cves":[],"db_id":"e5e618310e7dddb6e6db3fabbc3054e9","html":"\u003cp\u003e避免向 \u003ccode\u003econtrib/intarray\u003c/code\u003e 的 \u003ccode\u003egist__int_ops\u003c/code\u003e 索引支持代码提供大量输入时发生崩溃或运行时间过长（Andrew Gierth）\u003c/p\u003e","id":"11.2-f4030e8a81984f1f","identity_text":"Avoid crashes and excessive runtime with large inputs to contrib/intarray's gist__int_ops index support (Andrew Gierth)","part":"changes","patch_ids":["862b3d2b14eb14439b1f23072c53f8d8"],"related_changes":[{"db_id":"457ba9fee0f51ef77ce9f6d12c17dce3","evidence":{"patch_ids":["862b3d2b14eb14439b1f23072c53f8d8"],"same_day":true,"statement_hash":"25c9c9db3018edd06c81a384c659889a43ce41cb14478d2a40ee6f21fb231c91"},"kind":"equivalent","label":"10.7","source_url":"/docs/release/10.7/#id-1.11.6.21.5","title":"避免向 contrib/intarray 的 gist__int_ops 索引支持代码提供大量输入时发生崩溃或运行时间过长","url":"/docs/compare/?release=10.7#10.7-f4030e8a81984f1f","version":"10.7"},{"db_id":"5bbebf444cc855fc74a5f10f052e6aaf","evidence":{"patch_ids":["862b3d2b14eb14439b1f23072c53f8d8"],"same_day":true,"statement_hash":"25c9c9db3018edd06c81a384c659889a43ce41cb14478d2a40ee6f21fb231c91"},"kind":"equivalent","label":"9.6.12","source_url":"/docs/release/9.6.12/#id-1.11.6.17.5","title":"避免 contrib/intarray 的 gist__int_ops 索引支持处理大输入时崩溃和过长运行时间","url":"/docs/compare/?release=9.6.12#9.6.12-7ba8f0749e9920f5","version":"9.6.12"},{"db_id":"35763572b5498b6720ca94621d06af46","evidence":{"patch_ids":["862b3d2b14eb14439b1f23072c53f8d8"],"same_day":true,"statement_hash":"25c9c9db3018edd06c81a384c659889a43ce41cb14478d2a40ee6f21fb231c91"},"kind":"equivalent","label":"9.5.16","source_url":"/docs/release/9.5.16/#id-1.11.6.14.5","title":"避免 contrib/intarray 的 gist__int_ops 索引支持处理大输入时崩溃和过长运行时间","url":"/docs/compare/?release=9.5.16#9.5.16-7ba8f0749e9920f5","version":"9.5.16"},{"db_id":"e16afb4ec1547edea943adb4b1999d71","evidence":{"patch_ids":["862b3d2b14eb14439b1f23072c53f8d8"],"same_day":true,"statement_hash":"25c9c9db3018edd06c81a384c659889a43ce41cb14478d2a40ee6f21fb231c91"},"kind":"equivalent","label":"9.4.21","source_url":"/docs/release/9.4.21/#id-1.11.6.10.6","title":"避免contrib/intarray的gist__int_ops索引支持在大型输入下崩溃和运行时间过长的问题","url":"/docs/compare/?release=9.4.21#9.4.21-791b5a9e6a6f72a3","version":"9.4.21"}],"relations":[{"evidence":{"patch_ids":["862b3d2b14eb14439b1f23072c53f8d8"],"same_day":true,"statement_hash":"25c9c9db3018edd06c81a384c659889a43ce41cb14478d2a40ee6f21fb231c91"},"rule":2,"target":"35763572b5498b6720ca94621d06af46","type":"equivalent"},{"evidence":{"patch_ids":["862b3d2b14eb14439b1f23072c53f8d8"],"same_day":true,"statement_hash":"25c9c9db3018edd06c81a384c659889a43ce41cb14478d2a40ee6f21fb231c91"},"rule":2,"target":"457ba9fee0f51ef77ce9f6d12c17dce3","type":"equivalent"},{"evidence":{"patch_ids":["862b3d2b14eb14439b1f23072c53f8d8"],"same_day":true,"statement_hash":"25c9c9db3018edd06c81a384c659889a43ce41cb14478d2a40ee6f21fb231c91"},"rule":2,"target":"5bbebf444cc855fc74a5f10f052e6aaf","type":"equivalent"},{"evidence":{"patch_ids":["862b3d2b14eb14439b1f23072c53f8d8"],"same_day":true,"statement_hash":"25c9c9db3018edd06c81a384c659889a43ce41cb14478d2a40ee6f21fb231c91"},"rule":2,"target":"e16afb4ec1547edea943adb4b1999d71","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["2e497ed23"],"source_entry_id":"11.2/changes/066","source_hash":"a402826996425792014de3d87a5c006e9e204c5d8174c83eda2a35456934f729","source_url":"/docs/release/11.2/#id-1.11.6.25.5","statement_hash":"25c9c9db3018edd06c81a384c659889a43ce41cb14478d2a40ee6f21fb231c91","text":"避免向 contrib/intarray 的 gist__int_ops 索引支持代码提供大量输入时发生崩溃或运行时间过长（Andrew Gierth）","title":"避免向 contrib/intarray 的 gist__int_ops 索引支持代码提供大量输入时发生崩溃或运行时间过长","variants":[],"version":"11.2"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["3d498c65a","7291733ac","cd1873160"],"commit_groups":[["3d498c65a","7291733ac","cd1873160"]],"commits":[],"cves":[],"db_id":"cdcf47ae1bf11a933aeaeca026d8cbca","html":"\u003cp\u003e在 \u003cspan\u003econfigure\u003c/span\u003e 中，如果找不到 \u003ccode\u003epython\u003c/code\u003e，则依次查找 \u003ccode\u003epython3\u003c/code\u003e 和 \u003ccode\u003epython2\u003c/code\u003e（Peter Eisentraut）\u003c/p\u003e\n\u003cp\u003e这使不再提供无版本号的 \u003ccode\u003epython\u003c/code\u003e 可执行文件的平台，无需显式指定 \u003ccode\u003ePYTHON\u003c/code\u003e 即可配置 PL/Python。\u003c/p\u003e","id":"11.2-40cadf444b34f62f","identity_text":"In configure, look for python3 and then python2 if python isn't found (Peter Eisentraut) This allows PL/Python to be configured without explicitly specifying PYTHON on platforms that no longer provide an unversioned python executable.","part":"changes","patch_ids":["905da4d2b785227bff99972de6dfc960"],"related_changes":[{"db_id":"4c9525d942960c5d916712586157c2b2","evidence":{"patch_ids":["905da4d2b785227bff99972de6dfc960"],"same_day":true,"statement_hash":"7585b644ed59b933ed1e1f8addb1f687f751034d1f07a495044cb59e281a3ad0"},"kind":"equivalent","label":"10.7","source_url":"/docs/release/10.7/#id-1.11.6.21.5","title":"在 configure 中，如果找不到 python，则依次查找 python3 和 python2","url":"/docs/compare/?release=10.7#10.7-40cadf444b34f62f","version":"10.7"}],"relations":[{"evidence":{"patch_ids":["905da4d2b785227bff99972de6dfc960"],"same_day":true,"statement_hash":"7585b644ed59b933ed1e1f8addb1f687f751034d1f07a495044cb59e281a3ad0"},"rule":2,"target":"4c9525d942960c5d916712586157c2b2","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["3d498c65a"],"source_entry_id":"11.2/changes/067","source_hash":"194779fa3c0c63f9fe6bef972e754797de88da464dffbe96c6e15c0917411a04","source_url":"/docs/release/11.2/#id-1.11.6.25.5","statement_hash":"7585b644ed59b933ed1e1f8addb1f687f751034d1f07a495044cb59e281a3ad0","text":"在 configure 中，如果找不到 python，则依次查找 python3 和 python2（Peter Eisentraut） 这使不再提供无版本号的 python 可执行文件的平台，无需显式指定 PYTHON 即可配置 PL/Python。","title":"在 configure 中，如果找不到 python，则依次查找 python3 和 python2","variants":[],"version":"11.2"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["453be7d4d","5c1186751"],"commit_groups":[["453be7d4d","5c1186751"]],"commits":[],"cves":[],"db_id":"40048435ffb839dee6a621255c9f8951","html":"\u003cp\u003e将 JIT 相关头文件包含在安装的头文件集合中（Donald Dong）\u003c/p\u003e","id":"11.2-15ab2795b15005e9","identity_text":"Include JIT-related headers in the installed set of header files (Donald Dong)","part":"changes","patch_ids":["d45fd3161b803438f143f1c1c468093a"],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":["453be7d4d"],"source_entry_id":"11.2/changes/068","source_hash":"6a59b3a6e142d576782e0c288d53affe040df183fed7b5e127aeb09e0984a54e","source_url":"/docs/release/11.2/#id-1.11.6.25.5","statement_hash":"a62b0d46e35411c9bf3f04387aba6d021df5cb1d11ef9585f66c147cfba7ffd4","text":"将 JIT 相关头文件包含在安装的头文件集合中（Donald Dong）","title":"将 JIT 相关头文件包含在安装的头文件集合中","variants":[],"version":"11.2"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["12ff406f3","42b204db2","5e63df827","946430da6","ac3a9afdb","da14c9b19"],"commit_groups":[["12ff406f3","42b204db2","5e63df827","946430da6","ac3a9afdb","da14c9b19"]],"commits":[],"cves":[],"db_id":"f154fe88c596f38aeac6bd613bc0c606","html":"\u003cp\u003e在 \u003cspan\u003epgxs\u003c/span\u003e 构建中支持新的 Makefile 变量 \u003ccode\u003ePG_CFLAGS\u003c/code\u003e、\u003ccode\u003ePG_CXXFLAGS\u003c/code\u003e 和 \u003ccode\u003ePG_LDFLAGS\u003c/code\u003e（Christoph Berg）\u003c/p\u003e\n\u003cp\u003e这简化了扩展构建过程的自定义。\u003c/p\u003e","id":"11.2-2a0601e9442e6eef","identity_text":"Support new Makefile variables PG_CFLAGS, PG_CXXFLAGS, and PG_LDFLAGS in pgxs builds (Christoph Berg) This simplifies customization of extension build processes.","part":"changes","patch_ids":["ce4a810a3179bfb02a9c7783c12b18df"],"related_changes":[{"db_id":"a0fbf30e3f583db5874a0438fb748310","evidence":{"patch_ids":["ce4a810a3179bfb02a9c7783c12b18df"],"same_day":true,"statement_hash":"4b60fa6125a36c0310cff0cd9db1a2cdc82bf67a538a3c9ce8381a23788bc2ad"},"kind":"equivalent","label":"10.7","source_url":"/docs/release/10.7/#id-1.11.6.21.5","title":"在 pgxs 构建中支持新的 Makefile 变量 PG_CFLAGS、PG_CXXFLAGS 和 PG_LDFLAGS","url":"/docs/compare/?release=10.7#10.7-2a0601e9442e6eef","version":"10.7"},{"db_id":"49b22414c6b01d95f919cbef4b006901","evidence":{"patch_ids":["ce4a810a3179bfb02a9c7783c12b18df"],"same_day":true,"statement_hash":"4b60fa6125a36c0310cff0cd9db1a2cdc82bf67a538a3c9ce8381a23788bc2ad"},"kind":"equivalent","label":"9.6.12","source_url":"/docs/release/9.6.12/#id-1.11.6.17.5","title":"支持 pgxs 构建中的新 Makefile 变量 PG_CFLAGS、PG_CXXFLAGS 和 PG_LDFLAGS","url":"/docs/compare/?release=9.6.12#9.6.12-292d711db799ce9b","version":"9.6.12"},{"db_id":"905aa0c9bcd5ae5bd19ffc3cb6d8b68f","evidence":{"patch_ids":["ce4a810a3179bfb02a9c7783c12b18df"],"same_day":true,"statement_hash":"4b60fa6125a36c0310cff0cd9db1a2cdc82bf67a538a3c9ce8381a23788bc2ad"},"kind":"equivalent","label":"9.5.16","source_url":"/docs/release/9.5.16/#id-1.11.6.14.5","title":"支持 pgxs 构建中的新 Makefile 变量 PG_CFLAGS、PG_CXXFLAGS 和 PG_LDFLAGS","url":"/docs/compare/?release=9.5.16#9.5.16-292d711db799ce9b","version":"9.5.16"},{"db_id":"ea426904ed3ce354fd0b873bd95dae9f","evidence":{"patch_ids":["ce4a810a3179bfb02a9c7783c12b18df"],"same_day":true,"statement_hash":"4b60fa6125a36c0310cff0cd9db1a2cdc82bf67a538a3c9ce8381a23788bc2ad"},"kind":"equivalent","label":"9.4.21","source_url":"/docs/release/9.4.21/#id-1.11.6.10.6","title":"支持 pgxs 构建中的新 Makefile 变量 PG_CFLAGS、PG_CXXFLAGS 和 PG_LDFLAGS","url":"/docs/compare/?release=9.4.21#9.4.21-292d711db799ce9b","version":"9.4.21"}],"relations":[{"evidence":{"patch_ids":["ce4a810a3179bfb02a9c7783c12b18df"],"same_day":true,"statement_hash":"4b60fa6125a36c0310cff0cd9db1a2cdc82bf67a538a3c9ce8381a23788bc2ad"},"rule":2,"target":"49b22414c6b01d95f919cbef4b006901","type":"equivalent"},{"evidence":{"patch_ids":["ce4a810a3179bfb02a9c7783c12b18df"],"same_day":true,"statement_hash":"4b60fa6125a36c0310cff0cd9db1a2cdc82bf67a538a3c9ce8381a23788bc2ad"},"rule":2,"target":"905aa0c9bcd5ae5bd19ffc3cb6d8b68f","type":"equivalent"},{"evidence":{"patch_ids":["ce4a810a3179bfb02a9c7783c12b18df"],"same_day":true,"statement_hash":"4b60fa6125a36c0310cff0cd9db1a2cdc82bf67a538a3c9ce8381a23788bc2ad"},"rule":2,"target":"a0fbf30e3f583db5874a0438fb748310","type":"equivalent"},{"evidence":{"patch_ids":["ce4a810a3179bfb02a9c7783c12b18df"],"same_day":true,"statement_hash":"4b60fa6125a36c0310cff0cd9db1a2cdc82bf67a538a3c9ce8381a23788bc2ad"},"rule":2,"target":"ea426904ed3ce354fd0b873bd95dae9f","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["946430da6"],"source_entry_id":"11.2/changes/069","source_hash":"7b2785fa930108cedea55e915365ae481b7523f22c793a00de54d06522cb2c02","source_url":"/docs/release/11.2/#id-1.11.6.25.5","statement_hash":"4b60fa6125a36c0310cff0cd9db1a2cdc82bf67a538a3c9ce8381a23788bc2ad","text":"在 pgxs 构建中支持新的 Makefile 变量 PG_CFLAGS、PG_CXXFLAGS 和 PG_LDFLAGS（Christoph Berg） 这简化了扩展构建过程的自定义。","title":"在 pgxs 构建中支持新的 Makefile 变量 PG_CFLAGS、PG_CXXFLAGS 和 PG_LDFLAGS","variants":[],"version":"11.2"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["11f11e1e0","13e95662c","1a6244216","1f28906bf","1fbb9bda0","2689e8e33","324c92646","42345284c","4e7a51302","51884fa16","592123efb","59927f99a","77173d0cc","772d4b769","7a3763318","8d2741452","a25b04933","a82ca6ffb","be037c11b","f83419b73","f884a9681"],"commit_groups":[["11f11e1e0","13e95662c","1f28906bf","324c92646","592123efb","8d2741452"],["1a6244216","2689e8e33","42345284c","59927f99a","77173d0cc","f83419b73"],["1fbb9bda0","4e7a51302","772d4b769","7a3763318","a25b04933","f884a9681"],["51884fa16","a82ca6ffb","be037c11b"]],"commits":[],"cves":[],"db_id":"babf771f2176629b4e9c39611c62f1e2","html":"\u003cp\u003e修复以 Perl 编写的构建脚本，使其不再假定搜索路径包含 \u003cspan\u003e“\u003cspan\u003e\u003ccode\u003e.\u003c/code\u003e\u003c/span\u003e”\u003c/span\u003e，因为近期 Perl 版本已不再包含它（Andrew Dunstan）\u003c/p\u003e","id":"11.2-fd47fb5d8b943bc2","identity_text":"Fix Perl-coded build scripts to not assume . is in the search path, since recent Perl versions don't include that (Andrew Dunstan)","part":"changes","patch_ids":["0ded4067d557dad634afe0d73dc977e1","48ae0597594a2b9db7c6f100401cd710","9f3b6053bfeb993875e9ed0618925e2c","ad3c5cc2c6849ea5370e52c293300028"],"related_changes":[{"db_id":"5feff61c5da811b9505a77ce4704cdc9","evidence":{"patch_ids":["0ded4067d557dad634afe0d73dc977e1","48ae0597594a2b9db7c6f100401cd710","9f3b6053bfeb993875e9ed0618925e2c","ad3c5cc2c6849ea5370e52c293300028"],"same_day":true,"statement_hash":"ddf2130d130aed3bffc4bc8148913acede169b5d15ea7632d5bcc2d83e4bad69"},"kind":"equivalent","label":"10.7","source_url":"/docs/release/10.7/#id-1.11.6.21.5","title":"修复以 Perl 编写的构建脚本，使其不再假定搜索路径包含 “.”，因为近期 Perl 版本已不再包含它","url":"/docs/compare/?release=10.7#10.7-fd47fb5d8b943bc2","version":"10.7"},{"db_id":"dbce47d7369084d0a50658e294a60595","evidence":{"patch_ids":["0ded4067d557dad634afe0d73dc977e1","48ae0597594a2b9db7c6f100401cd710","9f3b6053bfeb993875e9ed0618925e2c","ad3c5cc2c6849ea5370e52c293300028"],"same_day":true,"statement_hash":"ddf2130d130aed3bffc4bc8148913acede169b5d15ea7632d5bcc2d83e4bad69"},"kind":"equivalent","label":"9.6.12","source_url":"/docs/release/9.6.12/#id-1.11.6.17.5","title":"修复 Perl 编写的构建脚本不假定 “.” 在搜索路径中，因为最近的 Perl 版本不包含它","url":"/docs/compare/?release=9.6.12#9.6.12-ae1e70912cb0a143","version":"9.6.12"},{"db_id":"be020029fbce24265349fdbd6c61fd12","evidence":{"patch_ids":["0ded4067d557dad634afe0d73dc977e1","48ae0597594a2b9db7c6f100401cd710","9f3b6053bfeb993875e9ed0618925e2c","ad3c5cc2c6849ea5370e52c293300028"],"same_day":true,"statement_hash":"ddf2130d130aed3bffc4bc8148913acede169b5d15ea7632d5bcc2d83e4bad69"},"kind":"equivalent","label":"9.5.16","source_url":"/docs/release/9.5.16/#id-1.11.6.14.5","title":"修复 Perl 编写的构建脚本不假定 “.” 在搜索路径中，因为最近的 Perl 版本不包含它","url":"/docs/compare/?release=9.5.16#9.5.16-ae1e70912cb0a143","version":"9.5.16"},{"db_id":"e63b82ea5dc747d39c5403bb23e8d64b","evidence":{"patch_ids":["0ded4067d557dad634afe0d73dc977e1","48ae0597594a2b9db7c6f100401cd710","9f3b6053bfeb993875e9ed0618925e2c","ad3c5cc2c6849ea5370e52c293300028"],"same_day":true,"statement_hash":"ddf2130d130aed3bffc4bc8148913acede169b5d15ea7632d5bcc2d83e4bad69"},"kind":"equivalent","label":"9.4.21","source_url":"/docs/release/9.4.21/#id-1.11.6.10.6","title":"修复 Perl 编写的构建脚本，不再假设搜索路径中包含“.”，因为较新的 Perl 版本不再默认包含它","url":"/docs/compare/?release=9.4.21#9.4.21-7685e24a3edc3845","version":"9.4.21"}],"relations":[{"evidence":{"patch_ids":["0ded4067d557dad634afe0d73dc977e1","48ae0597594a2b9db7c6f100401cd710","9f3b6053bfeb993875e9ed0618925e2c","ad3c5cc2c6849ea5370e52c293300028"],"same_day":true,"statement_hash":"ddf2130d130aed3bffc4bc8148913acede169b5d15ea7632d5bcc2d83e4bad69"},"rule":2,"target":"5feff61c5da811b9505a77ce4704cdc9","type":"equivalent"},{"evidence":{"patch_ids":["0ded4067d557dad634afe0d73dc977e1","48ae0597594a2b9db7c6f100401cd710","9f3b6053bfeb993875e9ed0618925e2c","ad3c5cc2c6849ea5370e52c293300028"],"same_day":true,"statement_hash":"ddf2130d130aed3bffc4bc8148913acede169b5d15ea7632d5bcc2d83e4bad69"},"rule":2,"target":"be020029fbce24265349fdbd6c61fd12","type":"equivalent"},{"evidence":{"patch_ids":["0ded4067d557dad634afe0d73dc977e1","48ae0597594a2b9db7c6f100401cd710","9f3b6053bfeb993875e9ed0618925e2c","ad3c5cc2c6849ea5370e52c293300028"],"same_day":true,"statement_hash":"ddf2130d130aed3bffc4bc8148913acede169b5d15ea7632d5bcc2d83e4bad69"},"rule":2,"target":"dbce47d7369084d0a50658e294a60595","type":"equivalent"},{"evidence":{"patch_ids":["0ded4067d557dad634afe0d73dc977e1","48ae0597594a2b9db7c6f100401cd710","9f3b6053bfeb993875e9ed0618925e2c","ad3c5cc2c6849ea5370e52c293300028"],"same_day":true,"statement_hash":"ddf2130d130aed3bffc4bc8148913acede169b5d15ea7632d5bcc2d83e4bad69"},"rule":2,"target":"e63b82ea5dc747d39c5403bb23e8d64b","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["11f11e1e0","4e7a51302","77173d0cc","be037c11b"],"source_entry_id":"11.2/changes/070","source_hash":"73fdc40a18fc02d73ed927d7f777a154f2799af4c81ade55afe4d1b2de9005f4","source_url":"/docs/release/11.2/#id-1.11.6.25.5","statement_hash":"ddf2130d130aed3bffc4bc8148913acede169b5d15ea7632d5bcc2d83e4bad69","text":"修复以 Perl 编写的构建脚本，使其不再假定搜索路径包含 “.”，因为近期 Perl 版本已不再包含它（Andrew Dunstan）","title":"修复以 Perl 编写的构建脚本，使其不再假定搜索路径包含 “.”，因为近期 Perl 版本已不再包含它","variants":[],"version":"11.2"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["139e42742","167ba6b15","69bcd718d","b161ffe31","dc2dee438","e4ffa0dcb"],"commit_groups":[["139e42742","167ba6b15","69bcd718d","b161ffe31","dc2dee438","e4ffa0dcb"]],"commits":[],"cves":[],"db_id":"bf70a1754599d33d8fed5b4a84a1c76a","html":"\u003cp\u003e修复 OpenBSD 上服务器命令行选项的解析问题（Tom Lane）\u003c/p\u003e","id":"11.2-27240ef7394d27c4","identity_text":"Fix server command-line option parsing problems on OpenBSD (Tom Lane)","part":"changes","patch_ids":["bba58387f09acc5f86949d2b8323329d"],"related_changes":[{"db_id":"65db162d02c4b6854b98a2a7673e3435","evidence":{"patch_ids":["bba58387f09acc5f86949d2b8323329d"],"same_day":true,"statement_hash":"02c0d40cb597c765b8f274fd3040575740751391f76a68a2e33188621dd6f414"},"kind":"equivalent","label":"10.7","source_url":"/docs/release/10.7/#id-1.11.6.21.5","title":"修复 OpenBSD 上服务器命令行选项的解析问题","url":"/docs/compare/?release=10.7#10.7-27240ef7394d27c4","version":"10.7"},{"db_id":"4d069c7e918437549867fde24d7f25f9","evidence":{"patch_ids":["bba58387f09acc5f86949d2b8323329d"],"same_day":true,"statement_hash":"02c0d40cb597c765b8f274fd3040575740751391f76a68a2e33188621dd6f414"},"kind":"equivalent","label":"9.6.12","source_url":"/docs/release/9.6.12/#id-1.11.6.17.5","title":"修复 OpenBSD 上服务器命令行选项解析的问题","url":"/docs/compare/?release=9.6.12#9.6.12-11741a01130df4fc","version":"9.6.12"},{"db_id":"74b4e5f3c8390541ea96e4142d96711e","evidence":{"patch_ids":["bba58387f09acc5f86949d2b8323329d"],"same_day":true,"statement_hash":"02c0d40cb597c765b8f274fd3040575740751391f76a68a2e33188621dd6f414"},"kind":"equivalent","label":"9.5.16","source_url":"/docs/release/9.5.16/#id-1.11.6.14.5","title":"修复 OpenBSD 上服务器命令行选项解析的问题","url":"/docs/compare/?release=9.5.16#9.5.16-11741a01130df4fc","version":"9.5.16"},{"db_id":"ac12c45ea23584595c82886f75e5a3f5","evidence":{"patch_ids":["bba58387f09acc5f86949d2b8323329d"],"same_day":true,"statement_hash":"02c0d40cb597c765b8f274fd3040575740751391f76a68a2e33188621dd6f414"},"kind":"equivalent","label":"9.4.21","source_url":"/docs/release/9.4.21/#id-1.11.6.10.6","title":"修复 OpenBSD 上服务器命令行选项解析的问题","url":"/docs/compare/?release=9.4.21#9.4.21-11741a01130df4fc","version":"9.4.21"}],"relations":[{"evidence":{"patch_ids":["bba58387f09acc5f86949d2b8323329d"],"same_day":true,"statement_hash":"02c0d40cb597c765b8f274fd3040575740751391f76a68a2e33188621dd6f414"},"rule":2,"target":"4d069c7e918437549867fde24d7f25f9","type":"equivalent"},{"evidence":{"patch_ids":["bba58387f09acc5f86949d2b8323329d"],"same_day":true,"statement_hash":"02c0d40cb597c765b8f274fd3040575740751391f76a68a2e33188621dd6f414"},"rule":2,"target":"65db162d02c4b6854b98a2a7673e3435","type":"equivalent"},{"evidence":{"patch_ids":["bba58387f09acc5f86949d2b8323329d"],"same_day":true,"statement_hash":"02c0d40cb597c765b8f274fd3040575740751391f76a68a2e33188621dd6f414"},"rule":2,"target":"74b4e5f3c8390541ea96e4142d96711e","type":"equivalent"},{"evidence":{"patch_ids":["bba58387f09acc5f86949d2b8323329d"],"same_day":true,"statement_hash":"02c0d40cb597c765b8f274fd3040575740751391f76a68a2e33188621dd6f414"},"rule":2,"target":"ac12c45ea23584595c82886f75e5a3f5","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["e4ffa0dcb"],"source_entry_id":"11.2/changes/071","source_hash":"4bdf8709e7856c624af06e9cd01025016bb2e54c84dfebcc0de4c9e1138d9cfb","source_url":"/docs/release/11.2/#id-1.11.6.25.5","statement_hash":"02c0d40cb597c765b8f274fd3040575740751391f76a68a2e33188621dd6f414","text":"修复 OpenBSD 上服务器命令行选项的解析问题（Tom Lane）","title":"修复 OpenBSD 上服务器命令行选项的解析问题","variants":[],"version":"11.2"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["027b5a300","6257f525a","640158386","dc0eb137f"],"commit_groups":[["027b5a300","6257f525a","640158386","dc0eb137f"]],"commits":[],"cves":[],"db_id":"382fa2e1f7094edddcdee34b4ab0ebb4","html":"\u003cp\u003e调整 \u003ccode\u003eset_rel_pathlist_hook\u003c/code\u003e 调用的位置，使扩展可以用它为并行查询提供部分路径（KaiGai Kohei）\u003c/p\u003e\n\u003cp\u003e预计这不会影响现有使用场景。\u003c/p\u003e","id":"11.2-ec37197895329879","identity_text":"Relocate call of set_rel_pathlist_hook so that extensions can use it to supply partial paths for parallel queries (KaiGai Kohei) This is not expected to affect existing use-cases.","part":"changes","patch_ids":["4c5c53bb879a76451003d2ea0923a4b0"],"related_changes":[{"db_id":"92bdf535b09020a1519a8b05e5441fb7","evidence":{"patch_ids":["4c5c53bb879a76451003d2ea0923a4b0"],"same_day":true,"statement_hash":"e4e97d1912e848501ff09da850bd62750a679249182d6ed524629644e955ce37"},"kind":"equivalent","label":"10.7","source_url":"/docs/release/10.7/#id-1.11.6.21.5","title":"调整 set_rel_pathlist_hook 调用的位置，使扩展可以用它为并行查询提供部分路径","url":"/docs/compare/?release=10.7#10.7-ec37197895329879","version":"10.7"},{"db_id":"c29324ca9a84e42f356dd0b24c0439de","evidence":{"patch_ids":["4c5c53bb879a76451003d2ea0923a4b0"],"same_day":true,"statement_hash":"e4e97d1912e848501ff09da850bd62750a679249182d6ed524629644e955ce37"},"kind":"equivalent","label":"9.6.12","source_url":"/docs/release/9.6.12/#id-1.11.6.17.5","title":"重新定位 set_rel_pathlist_hook 的调用，使扩展可以用它为并行查询提供部分路径","url":"/docs/compare/?release=9.6.12#9.6.12-b1858b333f562a4d","version":"9.6.12"}],"relations":[{"evidence":{"patch_ids":["4c5c53bb879a76451003d2ea0923a4b0"],"same_day":true,"statement_hash":"e4e97d1912e848501ff09da850bd62750a679249182d6ed524629644e955ce37"},"rule":2,"target":"92bdf535b09020a1519a8b05e5441fb7","type":"equivalent"},{"evidence":{"patch_ids":["4c5c53bb879a76451003d2ea0923a4b0"],"same_day":true,"statement_hash":"e4e97d1912e848501ff09da850bd62750a679249182d6ed524629644e955ce37"},"rule":2,"target":"c29324ca9a84e42f356dd0b24c0439de","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["027b5a300"],"source_entry_id":"11.2/changes/072","source_hash":"c6570607283397786c267c0b66a127f79631837811055783adb2e15154f92bb3","source_url":"/docs/release/11.2/#id-1.11.6.25.5","statement_hash":"e4e97d1912e848501ff09da850bd62750a679249182d6ed524629644e955ce37","text":"调整 set_rel_pathlist_hook 调用的位置，使扩展可以用它为并行查询提供部分路径（KaiGai Kohei） 预计这不会影响现有使用场景。","title":"调整 set_rel_pathlist_hook 调用的位置，使扩展可以用它为并行查询提供部分路径","variants":[],"version":"11.2"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["09c5f045c","4232a650b","46b454096","a683df403","d63dc0aa0","f6db9f8ab"],"commit_groups":[["09c5f045c","4232a650b","46b454096","a683df403","d63dc0aa0","f6db9f8ab"]],"commits":[],"cves":[],"db_id":"712c715b99423912677db044780ae49c","html":"\u003cp\u003e将时区数据文件更新到 \u003cspan\u003etzdata\u003c/span\u003e 2018i 版，以反映哈萨克斯坦、梅特拉卡特拉及圣多美和普林西比的夏令时法规变更。由于部分地区未更改 UTC 偏移量，哈萨克斯坦的 Qyzylorda 时区被一分为二，创建了新时区 Asia/Qostanay。同时修正了香港及众多太平洋岛屿的历史数据。\u003c/p\u003e","id":"11.2-1375076aa0ed6bb5","identity_text":"Update time zone data files to tzdata release 2018i for DST law changes in Kazakhstan, Metlakatla, and Sao Tome and Principe. Kazakhstan's Qyzylorda zone is split in two, creating a new zone Asia/Qostanay, as some areas did not change UTC offset. Historical corrections for Hong Kong and numerous Pacific islands.","part":"changes","patch_ids":["600522b7a4fbb2aa981b105b9de13502"],"related_changes":[{"db_id":"7f0d750645e2c102237305043ce3b2be","evidence":{"patch_ids":["600522b7a4fbb2aa981b105b9de13502"],"same_day":true,"statement_hash":"10d03897798403ffce249e08c73faf46d13fdff611b447ec34239e94ca7c8895"},"kind":"equivalent","label":"10.7","source_url":"/docs/release/10.7/#id-1.11.6.21.5","title":"将时区数据文件更新到 tzdata 2018i 版，以反映哈萨克斯坦、梅特拉卡特拉及圣多美和普林西比的夏令时法规变更。由于部分地区未更改 UTC 偏移量，哈萨克斯坦的 Qyzylorda 时区被一分为二，创建了新时区 Asia/Qostanay。同时修正了香港及众多太平洋岛屿的历史数据。","url":"/docs/compare/?release=10.7#10.7-1375076aa0ed6bb5","version":"10.7"},{"db_id":"d5351f963ffd87df9396537ed3ee15ae","evidence":{"patch_ids":["600522b7a4fbb2aa981b105b9de13502"],"same_day":true,"statement_hash":"10d03897798403ffce249e08c73faf46d13fdff611b447ec34239e94ca7c8895"},"kind":"equivalent","label":"9.6.12","source_url":"/docs/release/9.6.12/#id-1.11.6.17.5","title":"更新时区数据文件到 tzdata 版本 2018i，涉及哈萨克斯坦、梅特拉卡特拉以及圣多美和普林西比的夏令时法规变更。哈萨克斯坦的克孜勒奥尔达时区一分为二，创建了新时区 Asia/Qostanay，因为部分地区没有更改 UTC 偏移。还有香港和众多太平洋岛屿的历史修正。","url":"/docs/compare/?release=9.6.12#9.6.12-b36be6f5324a6314","version":"9.6.12"},{"db_id":"8fe8423f1e22b0dc72ef463701d7b1ce","evidence":{"patch_ids":["600522b7a4fbb2aa981b105b9de13502"],"same_day":true,"statement_hash":"10d03897798403ffce249e08c73faf46d13fdff611b447ec34239e94ca7c8895"},"kind":"equivalent","label":"9.5.16","source_url":"/docs/release/9.5.16/#id-1.11.6.14.5","title":"更新时区数据文件到 tzdata 版本 2018i，涉及哈萨克斯坦、梅特拉卡特拉以及圣多美和普林西比的夏令时法规变更。哈萨克斯坦的克孜勒奥尔达时区一分为二，创建了新时区 Asia/Qostanay，因为部分地区没有更改 UTC 偏移。还有香港和众多太平洋岛屿的历史修正。","url":"/docs/compare/?release=9.5.16#9.5.16-b36be6f5324a6314","version":"9.5.16"},{"db_id":"9e69c9f4cb374d08796dba2770b5fb49","evidence":{"patch_ids":["600522b7a4fbb2aa981b105b9de13502"],"same_day":true,"statement_hash":"10d03897798403ffce249e08c73faf46d13fdff611b447ec34239e94ca7c8895"},"kind":"equivalent","label":"9.4.21","source_url":"/docs/release/9.4.21/#id-1.11.6.10.6","title":"更新时区数据文件到 tzdata 版本 2018i，涉及哈萨克斯坦、梅特拉卡特拉以及圣多美和普林西比的夏令时法规变更。哈萨克斯坦的克孜勒奥尔达时区一分为二，创建了新时区 Asia/Qostanay，因为部分地区没有更改 UTC 偏移。还有香港和众多太平洋岛屿的历史修正。","url":"/docs/compare/?release=9.4.21#9.4.21-b36be6f5324a6314","version":"9.4.21"}],"relations":[{"evidence":{"patch_ids":["600522b7a4fbb2aa981b105b9de13502"],"same_day":true,"statement_hash":"10d03897798403ffce249e08c73faf46d13fdff611b447ec34239e94ca7c8895"},"rule":2,"target":"7f0d750645e2c102237305043ce3b2be","type":"equivalent"},{"evidence":{"patch_ids":["600522b7a4fbb2aa981b105b9de13502"],"same_day":true,"statement_hash":"10d03897798403ffce249e08c73faf46d13fdff611b447ec34239e94ca7c8895"},"rule":2,"target":"8fe8423f1e22b0dc72ef463701d7b1ce","type":"equivalent"},{"evidence":{"patch_ids":["600522b7a4fbb2aa981b105b9de13502"],"same_day":true,"statement_hash":"10d03897798403ffce249e08c73faf46d13fdff611b447ec34239e94ca7c8895"},"rule":2,"target":"9e69c9f4cb374d08796dba2770b5fb49","type":"equivalent"},{"evidence":{"patch_ids":["600522b7a4fbb2aa981b105b9de13502"],"same_day":true,"statement_hash":"10d03897798403ffce249e08c73faf46d13fdff611b447ec34239e94ca7c8895"},"rule":2,"target":"d5351f963ffd87df9396537ed3ee15ae","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["46b454096"],"source_entry_id":"11.2/changes/073","source_hash":"2585d8863c5519134f1915e343cacfe296bf87379c58e3b19246e526502b99d6","source_url":"/docs/release/11.2/#id-1.11.6.25.5","statement_hash":"10d03897798403ffce249e08c73faf46d13fdff611b447ec34239e94ca7c8895","text":"将时区数据文件更新到 tzdata 2018i 版，以反映哈萨克斯坦、梅特拉卡特拉及圣多美和普林西比的夏令时法规变更。由于部分地区未更改 UTC 偏移量，哈萨克斯坦的 Qyzylorda 时区被一分为二，创建了新时区 Asia/Qostanay。同时修正了香港及众多太平洋岛屿的历史数据。","title":"将时区数据文件更新到 tzdata 2018i 版，以反映哈萨克斯坦、梅特拉卡特拉及圣多美和普林西比的夏令时法规变更。由于部分地区未更改 UTC 偏移量，哈萨克斯坦的 Qyzylorda 时区被一分为二，创建了新时区 Asia/Qostanay。同时修正了香港及众多太平洋岛屿的历史数据。","variants":[],"version":"11.2"}],"entry_count":73,"eol":"2023-11-09","eol_date":"2023-11-09","label":"11.2","major":"11","manual":"11","manual_build":"11.22","manual_url":"/docs/11/release-11-2.html","migration_html":"\u003cp\u003e对于运行 11.X 的用户，不需要执行导出/恢复。\u003c/p\u003e\n\u003cp\u003e但是，如果是从早于 11.1 的版本升级，请参见\u003ca href=\"/docs/11/release-11-1.html\" title=\"E.22. 发布版本 11.1\"\u003e第 E.22 节\u003c/a\u003e。\u003c/p\u003e","minor":2,"placeholder":false,"source_as_of":"","source_url":"/docs/release/11.2/","status":"stable","status_label":"Historical","support_days":-1066,"supported":false,"version":"11.2"}],"mode":"release","release_count":1,"remaining_cves":[],"security_as_of":"2026-09-26","security_regressions":[],"source_as_of":"2026-09-26","stats":[{"count":73,"key":"all","label":"All changes"},{"count":0,"key":"feature","label":"Features"},{"count":37,"key":"bugfix","label":"Bug fixes"},{"count":0,"key":"security","label":"Security"},{"count":0,"key":"performance","label":"Performance"},{"count":0,"key":"compatibility","label":"Compatibility"},{"count":36,"key":"improvement","label":"Improvements"}],"to_release":{"age_days":2795,"build":"11.2","changes_count":73,"compatibility_count":0,"content_hash":"fae20c30d99ff7a2d001532832e0ce86a53a23c2d7c0da60e8b221a50dd91e4e","date":"2019-02-14","date_text":"2019-02-14","doc_git":"","doc_loaded_at":"2026-09-26T02:56:42.383207","entry_count":73,"eol":"2023-11-09","eol_date":"2023-11-09","label":"11.2","major":"11","manual":"11","manual_build":"11.22","manual_url":"/docs/11/release-11-2.html","migration_html":"\u003cp\u003e对于运行 11.X 的用户，不需要执行导出/恢复。\u003c/p\u003e\n\u003cp\u003e但是，如果是从早于 11.1 的版本升级，请参见\u003ca href=\"/docs/11/release-11-1.html\" title=\"E.22. 发布版本 11.1\"\u003e第 E.22 节\u003c/a\u003e。\u003c/p\u003e","minor":2,"placeholder":false,"source_as_of":"","source_url":"/docs/release/11.2/","status":"stable","status_label":"Historical","support_days":-1066,"supported":false,"version":"11.2"},"total":73,"warnings":[]}
