{"already_in_source_count":0,"candidate_count":206,"cross_major":false,"cve_available":true,"cve_count":0,"cves":[],"duplicate_count":0,"excluded_count":0,"exclusions":[],"from_release":null,"groups":[{"age_days":1122,"build":"16.0","changes_count":193,"compatibility_count":13,"content_hash":"36a4b03893b456c2d75ee47327d5cec1abe763716e49c0b3c41adeb8d1d830f7","date":"2023-09-14","date_text":"2023-09-14","doc_git":"","doc_loaded_at":"2026-09-26T02:56:37.084400","entries":[{"also_in":[],"category":"compatibility","category_label":"Compatibility","commit_aliases":["d747dc85a"],"commit_groups":[["d747dc85a"]],"commits":["d747dc85a"],"cves":[],"db_id":"f826f81b9d803af44e93dedd76984421","html":"\u003cp\u003e更改\u003ca href=\"/docs/16/plpgsql-cursors.html#PLPGSQL-OPEN-BOUND-CURSOR\" title=\"43.7.2.3. 打开已绑定游标\"\u003e\u003cspan\u003ePL/pgSQL\u003c/span\u003e\u003c/a\u003e绑定游标变量的赋值规则（Tom Lane）\u003ca href=\"https://postgr.es/c/d747dc85a\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e之前，此类变量的字符串值在游标赋值期间被设置为与变量名匹配；现在它将在 \u003ca href=\"/docs/16/plpgsql-cursors.html#PLPGSQL-CURSOR-OPENING\" title=\"43.7.2. 打开游标\"\u003e\u003ccode\u003eOPEN\u003c/code\u003e\u003c/a\u003e 期间赋值，且不会与变量名匹配。要恢复之前的行为，请在 \u003ccode\u003eOPEN\u003c/code\u003e 之前将所需的门户名称赋给游标变量。\u003c/p\u003e","id":"16.0-c2006d3e0efb852e","identity_text":"Change assignment rules for PL/pgSQL bound cursor variables (Tom Lane) Previously, the string value of such variables was set to match the variable name during cursor assignment; now it will be assigned during OPEN, and will not match the variable name. To restore the previous behavior, assign the desired portal name to the cursor variable before OPEN.","part":"migration","patch_ids":["d1a2fdd858b6ec333c4665adcce4cb24"],"related_changes":[],"relations":[],"section":"兼容性","section_path":["兼容性"],"source_commits":["d747dc85a"],"source_entry_id":"16.0/migration/001","source_hash":"ff03d3d4fa400bc39cbf48f43e3bb5242c501683f7de47ae3cabe8c2104fbf52","source_url":"/docs/release/16.0/#RELEASE-16-MIGRATION","statement_hash":"0e8528d22765959188d56fd3d1531633f788410337873665b08edc7a382233b5","text":"更改PL/pgSQL绑定游标变量的赋值规则（Tom Lane）§ 之前，此类变量的字符串值在游标赋值期间被设置为与变量名匹配；现在它将在 OPEN 期间赋值，且不会与变量名匹配。要恢复之前的行为，请在 OPEN 之前将所需的门户名称赋给游标变量。","title":"更改PL/pgSQL绑定游标变量的赋值规则","variants":[],"version":"16.0"},{"also_in":[],"category":"compatibility","category_label":"Compatibility","commit_aliases":["d95952325"],"commit_groups":[["d95952325"]],"commits":["d95952325"],"cves":[],"db_id":"525a59c36fe299ecc3424dfc207afed2","html":"\u003cp\u003e禁止主键使用 \u003ca href=\"/docs/16/sql-createindex.html\" title=\"CREATE INDEX\"\u003e\u003ccode\u003eNULLS NOT DISTINCT\u003c/code\u003e\u003c/a\u003e 索引（Daniel Gustafsson）\u003ca href=\"https://postgr.es/c/d95952325\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"16.0-f6d52ac27d098459","identity_text":"Disallow NULLS NOT DISTINCT indexes for primary keys (Daniel Gustafsson)","part":"migration","patch_ids":["96f3f4331acacff0a7615eaf0e2b2f11"],"related_changes":[],"relations":[],"section":"兼容性","section_path":["兼容性"],"source_commits":["d95952325"],"source_entry_id":"16.0/migration/002","source_hash":"731f7601bc98a32d4d05282cd59864ab58125822858c44f88eefa5de760cc855","source_url":"/docs/release/16.0/#RELEASE-16-MIGRATION","statement_hash":"e838b8ebf82f6e95a82fc1d6cf1183d0b91f30b3f7f2658bfccfacb8e6943ade","text":"禁止主键使用 NULLS NOT DISTINCT 索引（Daniel Gustafsson）§","title":"禁止主键使用 NULLS NOT DISTINCT 索引","variants":[],"version":"16.0"},{"also_in":[],"category":"compatibility","category_label":"Compatibility","commit_aliases":["0a5f06b84","2cbc3c17a"],"commit_groups":[["0a5f06b84"],["2cbc3c17a"]],"commits":["0a5f06b84","2cbc3c17a"],"cves":[],"db_id":"c7098ee16ce798a7dcd85cd97890fc70","html":"\u003cp\u003e更改 \u003ca href=\"/docs/16/sql-reindex.html\" title=\"REINDEX\"\u003e\u003ccode\u003eREINDEX DATABASE\u003c/code\u003e\u003c/a\u003e 和\u003ca href=\"/docs/16/app-reindexdb.html\" title=\"reindexdb\"\u003e\u003cspan\u003ereindexdb\u003c/span\u003e\u003c/a\u003e不再处理系统目录上的索引（Simon Riggs）\u003ca href=\"https://postgr.es/c/2cbc3c17a\"\u003e§\u003c/a\u003e \u003ca href=\"https://postgr.es/c/0a5f06b84\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e仍可通过 \u003ccode\u003eREINDEX SYSTEM\u003c/code\u003e 和 \u003ca href=\"/docs/16/app-reindexdb.html\" title=\"reindexdb\"\u003e\u003ccode\u003ereindexdb --system\u003c/code\u003e\u003c/a\u003e 处理此类索引。\u003c/p\u003e","id":"16.0-c55edd8a8feeef53","identity_text":"Change REINDEX DATABASE and reindexdb to not process indexes on system catalogs (Simon Riggs) Processing such indexes is still possible using REINDEX SYSTEM and reindexdb --system.","part":"migration","patch_ids":["92844ce33747d7e2426d82ea02840c62","e53caa2334bbd1e5befcc0bdae91cb58"],"related_changes":[{"db_id":"cb5715aa1fddf34ed43b90514b03bc21","evidence":{"patch_ids":["92844ce33747d7e2426d82ea02840c62","e53caa2334bbd1e5befcc0bdae91cb58"],"same_day":true},"kind":"related","label":"16.0","source_url":"/docs/release/16.0/#RELEASE-16-UTILITY","title":"更改 REINDEX DATABASE 和 REINDEX SYSTEM 不再要求参数","url":"/docs/compare/?release=16.0#16.0-8cc6611e70448232","version":"16.0"}],"relations":[{"evidence":{"patch_ids":["92844ce33747d7e2426d82ea02840c62","e53caa2334bbd1e5befcc0bdae91cb58"],"same_day":true},"rule":2,"target":"cb5715aa1fddf34ed43b90514b03bc21","type":"related"}],"section":"兼容性","section_path":["兼容性"],"source_commits":["0a5f06b84","2cbc3c17a"],"source_entry_id":"16.0/migration/003","source_hash":"44b2cbd5236ebc0b910d06ca508ef5acd96bd3592d54476f485ca5709607dd85","source_url":"/docs/release/16.0/#RELEASE-16-MIGRATION","statement_hash":"2e13605c2696202578ef3581c270e4fada4bd8120390bbd4e18763bc2eb7d409","text":"更改 REINDEX DATABASE 和reindexdb不再处理系统目录上的索引（Simon Riggs）§ § 仍可通过 REINDEX SYSTEM 和 reindexdb --system 处理此类索引。","title":"更改 REINDEX DATABASE 和reindexdb不再处理系统目录上的索引","variants":[],"version":"16.0"},{"also_in":[],"category":"compatibility","category_label":"Compatibility","commit_aliases":["8bf6ec3ba"],"commit_groups":[["8bf6ec3ba"]],"commits":["8bf6ec3ba"],"cves":[],"db_id":"21dabc3401e19db3c3edc0511f7b9664","html":"\u003cp\u003e收紧对继承表和分区表的 \u003ca href=\"/docs/16/ddl-generated-columns.html\" title=\"5.3. 生成列\"\u003e\u003ccode\u003eGENERATED\u003c/code\u003e\u003c/a\u003e 表达式限制（Amit Langote，Tom Lane）\u003ca href=\"https://postgr.es/c/8bf6ec3ba\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e父/分区表和子/分区表的列必须全部具有相同的生成状态，但现在实际的生成表达式可以不同。\u003c/p\u003e","id":"16.0-dda8925a6b01733d","identity_text":"Tighten GENERATED expression restrictions on inherited and partitioned tables (Amit Langote, Tom Lane) Columns of parent/partitioned and child/partition tables must all have the same generation status, though now the actual generation expressions can be different.","part":"migration","patch_ids":["8f6de277fb37227b85a8719ec2c051ed"],"related_changes":[],"relations":[],"section":"兼容性","section_path":["兼容性"],"source_commits":["8bf6ec3ba"],"source_entry_id":"16.0/migration/004","source_hash":"2f4d4a22c5c5fa0712b58944dab99662aed475eb7a373d393020034f4fd8bd45","source_url":"/docs/release/16.0/#RELEASE-16-MIGRATION","statement_hash":"b12095fa0feb00d8de6353bbc3e87ff460b6318f64cb13a5fc5b6867115a2a68","text":"收紧对继承表和分区表的 GENERATED 表达式限制（Amit Langote，Tom Lane）§ 父/分区表和子/分区表的列必须全部具有相同的生成状态，但现在实际的生成表达式可以不同。","title":"收紧对继承表和分区表的 GENERATED 表达式限制","variants":[],"version":"16.0"},{"also_in":[],"category":"compatibility","category_label":"Compatibility","commit_aliases":["5c1b66280"],"commit_groups":[["5c1b66280"]],"commits":["5c1b66280"],"cves":[],"db_id":"41a03866a7fb689d27c47b605f7199e1","html":"\u003cp\u003e移除\u003ca href=\"/docs/16/pgwalinspect.html\" title=\"F.37. pg_walinspect — WAL 的底层检查\"\u003e\u003cspan\u003epg_walinspect\u003c/span\u003e\u003c/a\u003e的函数 \u003ccode\u003epg_get_wal_records_info_till_end_of_wal()\u003c/code\u003e 和 \u003ccode\u003epg_get_wal_stats_till_end_of_wal()\u003c/code\u003e（Bharath Rupireddy）\u003ca href=\"https://postgr.es/c/5c1b66280\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"16.0-cb0959e990d03453","identity_text":"Remove pg_walinspect functions pg_get_wal_records_info_till_end_of_wal() and pg_get_wal_stats_till_end_of_wal() (Bharath Rupireddy)","part":"migration","patch_ids":["c5d8dc1de10576f0de896e9cd38e3777"],"related_changes":[{"db_id":"95ce3c27034083611423b540747ddc44","evidence":{"patch_ids":["c5d8dc1de10576f0de896e9cd38e3777"],"same_day":true},"kind":"related","label":"16.0","source_url":"/docs/release/16.0/#RELEASE-16-MODULES","title":"更改pg_walinspect函数 pg_get_wal_records_info() 和 pg_get_wal_stats() 解释结束 LSN 的方式","url":"/docs/compare/?release=16.0#16.0-074fc687c63c2759","version":"16.0"}],"relations":[{"evidence":{"patch_ids":["c5d8dc1de10576f0de896e9cd38e3777"],"same_day":true},"rule":2,"target":"95ce3c27034083611423b540747ddc44","type":"related"}],"section":"兼容性","section_path":["兼容性"],"source_commits":["5c1b66280"],"source_entry_id":"16.0/migration/005","source_hash":"aaeb51531781db78e24693218237c4d5d7749c912d4240bd5496f3d6f1f38857","source_url":"/docs/release/16.0/#RELEASE-16-MIGRATION","statement_hash":"56731df48bcccdc5a1f93f2efb1731ac75a73d869946f1fe10480d6c3c9ff392","text":"移除pg_walinspect的函数 pg_get_wal_records_info_till_end_of_wal() 和 pg_get_wal_stats_till_end_of_wal()（Bharath Rupireddy）§","title":"移除pg_walinspect的函数 pg_get_wal_records_info_till_end_of_wal() 和 pg_get_wal_stats_till_end_of_wal()","variants":[],"version":"16.0"},{"also_in":[],"category":"compatibility","category_label":"Compatibility","commit_aliases":["0981846b9","5352ca22e"],"commit_groups":[["0981846b9"],["5352ca22e"]],"commits":["0981846b9","5352ca22e"],"cves":[],"db_id":"0021b32ec9b29347bc76cd59068adcf5","html":"\u003cp\u003e将服务器变量 \u003ccode\u003eforce_parallel_mode\u003c/code\u003e 重命名为 \u003ca href=\"/docs/16/runtime-config-developer.html#GUC-DEBUG-PARALLEL-QUERY\"\u003e\u003ccode\u003edebug_parallel_query\u003c/code\u003e\u003c/a\u003e（David Rowley）\u003ca href=\"https://postgr.es/c/5352ca22e\"\u003e§\u003c/a\u003e \u003ca href=\"https://postgr.es/c/0981846b9\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"16.0-1470f115194dedd6","identity_text":"Rename server variable force_parallel_mode to debug_parallel_query (David Rowley)","part":"migration","patch_ids":["60c35f96ee550b3fe84228c3753b8802","a8d467ec39eabd48bdb6da03f502e553"],"related_changes":[],"relations":[],"section":"兼容性","section_path":["兼容性"],"source_commits":["0981846b9","5352ca22e"],"source_entry_id":"16.0/migration/006","source_hash":"1d2f7fc57ae0ad9f83c49d6682a7733273a18369d18c925e11d0ce276f67f495","source_url":"/docs/release/16.0/#RELEASE-16-MIGRATION","statement_hash":"e470c3eef394351072c19760938a6219036b231d5a3557fce594ecc3a716b219","text":"将服务器变量 force_parallel_mode 重命名为 debug_parallel_query（David Rowley）§ §","title":"将服务器变量 force_parallel_mode 重命名为 debug_parallel_query","variants":[],"version":"16.0"},{"also_in":[],"category":"compatibility","category_label":"Compatibility","commit_aliases":["b23cd185f"],"commit_groups":[["b23cd185f"]],"commits":["b23cd185f"],"cves":[],"db_id":"1146c5c188d37db16f418bfc4d0a0188","html":"\u003cp\u003e移除通过 \u003ccode\u003eON SELECT\u003c/code\u003e 规则手动\u003ca href=\"/docs/16/sql-createview.html\" title=\"CREATE VIEW\"\u003e创建视图\u003c/a\u003e的能力（Tom Lane）\u003ca href=\"https://postgr.es/c/b23cd185f\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"16.0-934f312ead07017b","identity_text":"Remove the ability to create views manually with ON SELECT rules (Tom Lane)","part":"migration","patch_ids":["26c1e01147ea110f7e1341afb99685b2"],"related_changes":[],"relations":[],"section":"兼容性","section_path":["兼容性"],"source_commits":["b23cd185f"],"source_entry_id":"16.0/migration/007","source_hash":"39c582283841cd5ef7096d0d0ecdc495207fb4e659c7f4f58517f0e0afdf3044","source_url":"/docs/release/16.0/#RELEASE-16-MIGRATION","statement_hash":"91b3da9ee1d9bb132010f131375167c6569cbd63af7afa8e6eda60ec48fbd16b","text":"移除通过 ON SELECT 规则手动创建视图的能力（Tom Lane）§","title":"移除通过 ON SELECT 规则手动创建视图的能力","variants":[],"version":"16.0"},{"also_in":[],"category":"compatibility","category_label":"Compatibility","commit_aliases":["1118cd37e"],"commit_groups":[["1118cd37e"]],"commits":["1118cd37e"],"cves":[],"db_id":"6580ec13be6935ed2310abd7e881bf33","html":"\u003cp\u003e移除服务器变量 \u003ccode\u003evacuum_defer_cleanup_age\u003c/code\u003e（Andres Freund）\u003ca href=\"https://postgr.es/c/1118cd37e\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e自从引入 \u003ca href=\"/docs/16/runtime-config-replication.html#GUC-HOT-STANDBY-FEEDBACK\"\u003e\u003ccode\u003ehot_standby_feedback\u003c/code\u003e\u003c/a\u003e 和\u003ca href=\"/docs/16/warm-standby.html#STREAMING-REPLICATION-SLOTS\" title=\"27.2.6. 复制槽\"\u003e复制槽\u003c/a\u003e后，它就已不再需要。\u003c/p\u003e","id":"16.0-3f2e92d8f4b3042f","identity_text":"Remove the server variable vacuum_defer_cleanup_age (Andres Freund) This has been unnecessary since hot_standby_feedback and replication slots were added.","part":"migration","patch_ids":["98a0667069dfaddded4b53f187b36b07"],"related_changes":[],"relations":[],"section":"兼容性","section_path":["兼容性"],"source_commits":["1118cd37e"],"source_entry_id":"16.0/migration/008","source_hash":"4b882cef80529f8bc7a1480c34a44e9b647ce681f841778ad9a3d6c2eca70933","source_url":"/docs/release/16.0/#RELEASE-16-MIGRATION","statement_hash":"373eb79c6499823724b4d0d654d05956e00c45cf4a3c1703d580d7d6c23ed1b2","text":"移除服务器变量 vacuum_defer_cleanup_age（Andres Freund）§ 自从引入 hot_standby_feedback 和复制槽后，它就已不再需要。","title":"移除服务器变量 vacuum_defer_cleanup_age","variants":[],"version":"16.0"},{"also_in":[],"category":"compatibility","category_label":"Compatibility","commit_aliases":["cd4329d93"],"commit_groups":[["cd4329d93"]],"commits":["cd4329d93"],"cves":[],"db_id":"5405598362068aa04a2b45cf48e59cb3","html":"\u003cp\u003e移除服务器变量 \u003ccode\u003epromote_trigger_file\u003c/code\u003e（Simon Riggs）\u003ca href=\"https://postgr.es/c/cd4329d93\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e这用于将备库提升为主库，但现在使用 \u003ca href=\"/docs/16/app-pg-ctl.html\" title=\"pg_ctl\"\u003e\u003ccode\u003epg_ctl promote\u003c/code\u003e\u003c/a\u003e 或 \u003ca href=\"/docs/16/functions-admin.html#FUNCTIONS-RECOVERY-CONTROL-TABLE\" title=\"表 9.93. 恢复控制函数\"\u003e\u003ccode\u003epg_promote()\u003c/code\u003e\u003c/a\u003e 更容易实现。\u003c/p\u003e","id":"16.0-98ebe1a151945b3a","identity_text":"Remove server variable promote_trigger_file (Simon Riggs) This was used to promote a standby to primary, but is now more easily accomplished with pg_ctl promote or pg_promote().","part":"migration","patch_ids":["9c19cf3afb987af2b70233ec3dfd21ce"],"related_changes":[],"relations":[],"section":"兼容性","section_path":["兼容性"],"source_commits":["cd4329d93"],"source_entry_id":"16.0/migration/009","source_hash":"a27e853a9e7b5212948b9d281d6cf8f872e30ee49581231570ebea01ad783932","source_url":"/docs/release/16.0/#RELEASE-16-MIGRATION","statement_hash":"822587dcef0a14f39b233170796e2ebfb78782fb2878a60bb48f7cd4e5a89331","text":"移除服务器变量 promote_trigger_file（Simon Riggs）§ 这用于将备库提升为主库，但现在使用 pg_ctl promote 或 pg_promote() 更容易实现。","title":"移除服务器变量 promote_trigger_file","variants":[],"version":"16.0"},{"also_in":[],"category":"compatibility","category_label":"Compatibility","commit_aliases":["b0f6c4371"],"commit_groups":[["b0f6c4371"]],"commits":["b0f6c4371"],"cves":[],"db_id":"118b79aa4bd23937ad8a0d257a494e71","html":"\u003cp\u003e移除只读服务器变量 \u003ccode\u003elc_collate\u003c/code\u003e 和 \u003ccode\u003elc_ctype\u003c/code\u003e（Peter Eisentraut）\u003ca href=\"https://postgr.es/c/b0f6c4371\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e排序规则和区域设置可以在数据库之间不同，因此将它们作为只读服务器变量并无意义。\u003c/p\u003e","id":"16.0-5d7b6a3dbc288d82","identity_text":"Remove read-only server variables lc_collate and lc_ctype (Peter Eisentraut) Collations and locales can vary between databases so having them as read-only server variables was unhelpful.","part":"migration","patch_ids":["f2dbea8b8cfad834ac1df4cba3499a6b"],"related_changes":[],"relations":[],"section":"兼容性","section_path":["兼容性"],"source_commits":["b0f6c4371"],"source_entry_id":"16.0/migration/010","source_hash":"b34eee366af5aab8bce4e159774ad21b67e949cafca3f48a82056b4b21398d80","source_url":"/docs/release/16.0/#RELEASE-16-MIGRATION","statement_hash":"7a964152e16996abe66d5ca141d0faaba7cf517ed8c3bff06dfb4d22790bdc30","text":"移除只读服务器变量 lc_collate 和 lc_ctype（Peter Eisentraut）§ 排序规则和区域设置可以在数据库之间不同，因此将它们作为只读服务器变量并无意义。","title":"移除只读服务器变量 lc_collate 和 lc_ctype","variants":[],"version":"16.0"},{"also_in":[],"category":"compatibility","category_label":"Compatibility","commit_aliases":["e3ce2de09"],"commit_groups":[["e3ce2de09"]],"commits":["e3ce2de09"],"cves":[],"db_id":"0737ce1c20636caccfeb102fc4eee993","html":"\u003cp\u003e角色的继承属性现在决定在 \u003ca href=\"/docs/16/sql-grant.html\" title=\"GRANT\"\u003e\u003ccode\u003eGRANT\u003c/code\u003e\u003c/a\u003e 时添加的成员角色的默认继承状态（Robert Haas）\u003ca href=\"https://postgr.es/c/e3ce2de09\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e角色的默认继承行为现在可以通过新的 \u003ccode\u003eGRANT ... WITH INHERIT\u003c/code\u003e 子句覆盖。这使得某些角色可继承而其他角色不可继承，因为成员角色的继承状态是在 \u003ccode\u003eGRANT\u003c/code\u003e 时确定的。此前，成员角色的继承状态仅由角色自身的继承属性控制，而角色继承属性的变更会影响其所有既有和未来的成员角色。\u003c/p\u003e","id":"16.0-008a75f47f428d6f","identity_text":"Role inheritance now controls the default inheritance status of member roles added during GRANT (Robert Haas) The role's default inheritance behavior can be overridden with the new GRANT ... WITH INHERIT clause. This allows inheritance of some roles and not others because the members' inheritance status is set at GRANT time. Previously the inheritance status of member roles was controlled only by the role's inheritance status, and changes to a role's inheritance status affected all previous and future member roles.","part":"migration","patch_ids":["504c427340a3e4db6513b1d1bf5f39f8"],"related_changes":[{"db_id":"16b0c20f5aecf71bf2b84e46d17b8a37","evidence":{"patch_ids":["504c427340a3e4db6513b1d1bf5f39f8"],"same_day":true},"kind":"related","label":"16.0","source_url":"/docs/release/16.0/#RELEASE-16-PRIVILEGES","title":"允许 GRANT 使用 WITH ADMIN TRUE/FALSE 语法","url":"/docs/compare/?release=16.0#16.0-3bae53577a42f994","version":"16.0"}],"relations":[{"evidence":{"patch_ids":["504c427340a3e4db6513b1d1bf5f39f8"],"same_day":true},"rule":2,"target":"16b0c20f5aecf71bf2b84e46d17b8a37","type":"related"}],"section":"兼容性","section_path":["兼容性"],"source_commits":["e3ce2de09"],"source_entry_id":"16.0/migration/011","source_hash":"9cdaaa326cf3582563c3e6cf2693c6ef5598aef12a532f4fa7c096d1be3dd1c1","source_url":"/docs/release/16.0/#RELEASE-16-MIGRATION","statement_hash":"7e3c516fd032c0acb9352886c0adf824360ec7df5fcea6a22f5fae4019efeb06","text":"角色的继承属性现在决定在 GRANT 时添加的成员角色的默认继承状态（Robert Haas）§ 角色的默认继承行为现在可以通过新的 GRANT ... WITH INHERIT 子句覆盖。这使得某些角色可继承而其他角色不可继承，因为成员角色的继承状态是在 GRANT 时确定的。此前，成员角色的继承状态仅由角色自身的继承属性控制，而角色继承属性的变更会影响其所有既有和未来的成员角色。","title":"角色的继承属性现在决定在 GRANT 时添加的成员角色的默认继承状态","variants":[],"version":"16.0"},{"also_in":[],"category":"compatibility","category_label":"Compatibility","commit_aliases":["cf5eb37c5","f1358ca52"],"commit_groups":[["cf5eb37c5"],["f1358ca52"]],"commits":["cf5eb37c5","f1358ca52"],"cves":[],"db_id":"64bbb04d5e374e8a6abc967258877f67","html":"\u003cp\u003e限制 \u003ca href=\"/docs/16/sql-createrole.html\" title=\"CREATE ROLE\"\u003e\u003ccode\u003eCREATEROLE\u003c/code\u003e\u003c/a\u003e 的权限及其修改其他角色的能力（Robert Haas）\u003ca href=\"https://postgr.es/c/cf5eb37c5\"\u003e§\u003c/a\u003e \u003ca href=\"https://postgr.es/c/f1358ca52\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e之前，具有 \u003ccode\u003eCREATEROLE\u003c/code\u003e 权限的角色可以更改任何非超级用户角色的许多方面。此类更改（包括添加成员）现在要求请求更改的角色具有 \u003ccode\u003eADMIN OPTION\u003c/code\u003e 权限。例如，它们现在只有在也具有这些权限时才能更改 \u003ccode\u003eCREATEDB\u003c/code\u003e、\u003ccode\u003eREPLICATION\u003c/code\u003e 和 \u003ccode\u003eBYPASSRLS\u003c/code\u003e 属性。\u003c/p\u003e","id":"16.0-b301820db97ba0b9","identity_text":"Restrict the privileges of CREATEROLE and its ability to modify other roles (Robert Haas) Previously roles with CREATEROLE privileges could change many aspects of any non-superuser role. Such changes, including adding members, now require the role requesting the change to have ADMIN OPTION permission. For example, they can now change the CREATEDB, REPLICATION, and BYPASSRLS properties only if they also have those permissions.","part":"migration","patch_ids":["8f5ea59ca418b4dacde9858b76586085","bf6ecd70dacc4fb0b20a61a6f6613c10"],"related_changes":[],"relations":[],"section":"兼容性","section_path":["兼容性"],"source_commits":["cf5eb37c5","f1358ca52"],"source_entry_id":"16.0/migration/012","source_hash":"dfc88d3ace03803791618a29fcd3a417d796512d8b22c6a6d81526e5b6295f13","source_url":"/docs/release/16.0/#RELEASE-16-MIGRATION","statement_hash":"cf1865a09fad199806b80e0a2506306fe6e6d63498f94a9deebf83a45e4ecbdb","text":"限制 CREATEROLE 的权限及其修改其他角色的能力（Robert Haas）§ § 之前，具有 CREATEROLE 权限的角色可以更改任何非超级用户角色的许多方面。此类更改（包括添加成员）现在要求请求更改的角色具有 ADMIN OPTION 权限。例如，它们现在只有在也具有这些权限时才能更改 CREATEDB、REPLICATION 和 BYPASSRLS 属性。","title":"限制 CREATEROLE 的权限及其修改其他角色的能力","variants":[],"version":"16.0"},{"also_in":[],"category":"compatibility","category_label":"Compatibility","commit_aliases":["37e267335"],"commit_groups":[["37e267335"]],"commits":["37e267335"],"cves":[],"db_id":"e60f91bcc7efa985b20c2b610e0405fa","html":"\u003cp\u003e移除 \u003cspan\u003epostmaster\u003c/span\u003e 二进制文件的符号链接（Peter Eisentraut）\u003ca href=\"https://postgr.es/c/37e267335\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"16.0-122c477b05fd7f8b","identity_text":"Remove symbolic links for the postmaster binary (Peter Eisentraut)","part":"migration","patch_ids":["c11cfac0a884a301d3709f054ec4b403"],"related_changes":[],"relations":[],"section":"兼容性","section_path":["兼容性"],"source_commits":["37e267335"],"source_entry_id":"16.0/migration/013","source_hash":"643f5c387a00bd79512076ba9ae1aa47de37a7ce495aa2b068d793ade64c51d0","source_url":"/docs/release/16.0/#RELEASE-16-MIGRATION","statement_hash":"98f455b809af3b1897db450f8744b05f94841f1a0c961582f8387c318304d160","text":"移除 postmaster 二进制文件的符号链接（Peter Eisentraut）§","title":"移除 postmaster 二进制文件的符号链接","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["3c6fc5820","b59242209"],"commit_groups":[["3c6fc5820"],["b59242209"]],"commits":["3c6fc5820","b59242209"],"cves":[],"db_id":"1e706dcdd440720f01c0d6229703951f","html":"\u003cp\u003e允许在更多情况下使用增量排序，包括 \u003ccode\u003eDISTINCT\u003c/code\u003e（David Rowley）\u003ca href=\"https://postgr.es/c/b59242209\"\u003e§\u003c/a\u003e \u003ca href=\"https://postgr.es/c/3c6fc5820\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"16.0-484cbd86cf534ab2","identity_text":"Allow incremental sorts in more cases, including DISTINCT (David Rowley)","part":"changes","patch_ids":["3a70331f68a0f244d7d214beb8d2fbe3","ac6897c21cbfd815556a7eaa75ee2cb9"],"related_changes":[],"relations":[],"section":"服务器 / 优化器","section_path":["服务器","优化器"],"source_commits":["3c6fc5820","b59242209"],"source_entry_id":"16.0/changes/001","source_hash":"87fd2e3cb5027c2f430d8e93b2be44e29b1631d6982db36e6c5b91589043f26d","source_url":"/docs/release/16.0/#RELEASE-16-OPTIMIZER","statement_hash":"639e4372242875fb6f6a8b2f2c2929526c96183c540f41976b34985a92d84707","text":"允许在更多情况下使用增量排序，包括 DISTINCT（David Rowley）§ §","title":"允许在更多情况下使用增量排序，包括 DISTINCT","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["1349d2790","3226f4728","da5800d5f"],"commit_groups":[["1349d2790"],["3226f4728"],["da5800d5f"]],"commits":["1349d2790","3226f4728","da5800d5f"],"cves":[],"db_id":"0d5a2fcf13f747fc52b1c998f40d422c","html":"\u003cp\u003e增加聚合函数使用带有 \u003ccode\u003eORDER BY\u003c/code\u003e 或 \u003ccode\u003eDISTINCT\u003c/code\u003e 的预排序数据的能力（David Rowley）\u003ca href=\"https://postgr.es/c/1349d2790\"\u003e§\u003c/a\u003e \u003ca href=\"https://postgr.es/c/3226f4728\"\u003e§\u003c/a\u003e \u003ca href=\"https://postgr.es/c/da5800d5f\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e新的服务器变量 \u003ca href=\"/docs/16/runtime-config-query.html#GUC-ENABLE-PRESORTED-AGGREGATE\"\u003e\u003ccode\u003eenable_presorted_aggregate\u003c/code\u003e\u003c/a\u003e 可用于禁用此功能。\u003c/p\u003e","id":"16.0-ae1e3df7de06c0ca","identity_text":"Add the ability for aggregates having ORDER BY or DISTINCT to use pre-sorted data (David Rowley) The new server variable enable_presorted_aggregate can be used to disable this.","part":"changes","patch_ids":["7fd96d657eacf34bf76fa6e0d1f2339d","b5b7218c5b4a8c205bd2986e5c33aec9","cb0f00174c6bac33a77d5a098a5b91f6"],"related_changes":[],"relations":[],"section":"服务器 / 优化器","section_path":["服务器","优化器"],"source_commits":["1349d2790","3226f4728","da5800d5f"],"source_entry_id":"16.0/changes/002","source_hash":"caf0e5a9e2dca7fe484115802160b63eba78c788a3c3531fb77a778342ff4c41","source_url":"/docs/release/16.0/#RELEASE-16-OPTIMIZER","statement_hash":"ecac102bb3b6f7cd109331c9b1e95b672a827505e6aa84622018cf4c47ae2ab3","text":"增加聚合函数使用带有 ORDER BY 或 DISTINCT 的预排序数据的能力（David Rowley）§ § § 新的服务器变量 enable_presorted_aggregate 可用于禁用此功能。","title":"增加聚合函数使用带有 ORDER BY 或 DISTINCT 的预排序数据的能力","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["9bfd2822b"],"commit_groups":[["9bfd2822b"]],"commits":["9bfd2822b"],"cves":[],"db_id":"bc7c129b1a1d4973368f9455650b45a2","html":"\u003cp\u003e允许在 \u003ccode\u003eUNION ALL\u003c/code\u003e 之上使用 memoize（Richard Guo）\u003ca href=\"https://postgr.es/c/9bfd2822b\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"16.0-0a3cea265a38c42d","identity_text":"Allow memoize atop a UNION ALL (Richard Guo)","part":"changes","patch_ids":["40176dbda5c321673003c992ddb6d8f0"],"related_changes":[],"relations":[],"section":"服务器 / 优化器","section_path":["服务器","优化器"],"source_commits":["9bfd2822b"],"source_entry_id":"16.0/changes/003","source_hash":"abaa90036110511cf537bcea7444eb4aa37e817b44e05dd13ae0243ad1650f72","source_url":"/docs/release/16.0/#RELEASE-16-OPTIMIZER","statement_hash":"421b4a2115e46a5792388fb796991e556711d5f1ea1de3ece8767252b918e14b","text":"允许在 UNION ALL 之上使用 memoize（Richard Guo）§","title":"允许在 UNION ALL 之上使用 memoize","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["16dc2703c"],"commit_groups":[["16dc2703c"]],"commits":["16dc2703c"],"cves":[],"db_id":"18d7c2e6a18612b48189bd164f622c2c","html":"\u003cp\u003e允许反连接以非空输入作为内关系执行（Richard Guo）\u003ca href=\"https://postgr.es/c/16dc2703c\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"16.0-78608cd2a606b9c1","identity_text":"Allow anti-joins to be performed with the non-nullable input as the inner relation (Richard Guo)","part":"changes","patch_ids":["58b439a932f5376668d066e992208d2f"],"related_changes":[],"relations":[],"section":"服务器 / 优化器","section_path":["服务器","优化器"],"source_commits":["16dc2703c"],"source_entry_id":"16.0/changes/004","source_hash":"03f667b58e10fd267a76952dfc62dd99b5ad53fe3417512445e4f476c5a38838","source_url":"/docs/release/16.0/#RELEASE-16-OPTIMIZER","statement_hash":"e4142cc313fa88e0383a8b16d8027f170cd9fa03ad88b68b2a658e1eef029f39","text":"允许反连接以非空输入作为内关系执行（Richard Guo）§","title":"允许反连接以非空输入作为内关系执行","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["11c2d6fdf"],"commit_groups":[["11c2d6fdf"]],"commits":["11c2d6fdf"],"cves":[],"db_id":"e7ff1ec7dfc9788a15f477032b7e3e7a","html":"\u003cp\u003e允许并行化 \u003ca href=\"/docs/16/queries-table-expressions.html#QUERIES-JOIN\" title=\"7.2.1.1. 连接表\"\u003e\u003ccode\u003eFULL\u003c/code\u003e\u003c/a\u003e 和内部右 \u003ccode\u003eOUTER\u003c/code\u003e 哈希连接（Melanie Plageman，Thomas Munro）\u003ca href=\"https://postgr.es/c/11c2d6fdf\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"16.0-9e1353fdcbc034c7","identity_text":"Allow parallelization of FULL and internal right OUTER hash joins (Melanie Plageman, Thomas Munro)","part":"changes","patch_ids":["99c4bf8b2d9f4c9ecb1ca61e18b5b58d"],"related_changes":[],"relations":[],"section":"服务器 / 优化器","section_path":["服务器","优化器"],"source_commits":["11c2d6fdf"],"source_entry_id":"16.0/changes/005","source_hash":"7eea820c346a793135a50d4c23be8e003d6735c69b612acab145d345adfe6d00","source_url":"/docs/release/16.0/#RELEASE-16-OPTIMIZER","statement_hash":"f896139272e70452c67dec9355b6cf2ccba33213c1f156761c694a158c8cc7f0","text":"允许并行化 FULL 和内部右 OUTER 哈希连接（Melanie Plageman，Thomas Munro）§","title":"允许并行化 FULL 和内部右 OUTER 哈希连接","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["cd9479af2"],"commit_groups":[["cd9479af2"]],"commits":["cd9479af2"],"cves":[],"db_id":"59afbd9edeb6be19e6661be891fc2164","html":"\u003cp\u003e改进 \u003ca href=\"/docs/16/gin.html\" title=\"第 70 章 GIN 索引\"\u003e\u003ccode\u003eGIN\u003c/code\u003e\u003c/a\u003e 索引访问规划器代价估计的准确性（Ronan Dunklau）\u003ca href=\"https://postgr.es/c/cd9479af2\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"16.0-af6ae25fefaf510a","identity_text":"Improve the accuracy of GIN index access optimizer costs (Ronan Dunklau)","part":"changes","patch_ids":["996c0760f0c07fc02cb0b372e70616f3"],"related_changes":[],"relations":[],"section":"服务器 / 优化器","section_path":["服务器","优化器"],"source_commits":["cd9479af2"],"source_entry_id":"16.0/changes/006","source_hash":"abbe897bf2490d120a2f9c36cba82bf8fb96aa3233742b0323c187752ae1f068","source_url":"/docs/release/16.0/#RELEASE-16-OPTIMIZER","statement_hash":"824d03c8b1ac10096b50ec51f378e8992ecd20190f4e9558efac5f24a8877df2","text":"改进 GIN 索引访问规划器代价估计的准确性（Ronan Dunklau）§","title":"改进 GIN 索引访问规划器代价估计的准确性","variants":[],"version":"16.0"},{"also_in":[],"category":"performance","category_label":"Performance","commit_aliases":["00d1e02be","26158b852"],"commit_groups":[["00d1e02be"],["26158b852"]],"commits":["00d1e02be","26158b852"],"cves":[],"db_id":"23b41453c411a0359ff71c525a8c1cdf","html":"\u003cp\u003e允许更高效地添加堆页和索引页（Andres Freund）\u003ca href=\"https://postgr.es/c/00d1e02be\"\u003e§\u003c/a\u003e \u003ca href=\"https://postgr.es/c/26158b852\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"16.0-23ffbc5aa16686ef","identity_text":"Allow more efficient addition of heap and index pages (Andres Freund)","part":"changes","patch_ids":["adc1b8a52fc2741e959ed0d9c000945a","dc242f345df4d2d3dc5bb69ce77eb583"],"related_changes":[],"relations":[],"section":"服务器 / 一般性能","section_path":["服务器","一般性能"],"source_commits":["00d1e02be","26158b852"],"source_entry_id":"16.0/changes/007","source_hash":"9089920a8e54d4aaba9394b50119ba1ff3b08a3ec633dd0643e4ecb1a56985cb","source_url":"/docs/release/16.0/#RELEASE-16-PERFORMANCE","statement_hash":"aa71c3bded149294de742dfec85b4648abcacaf12009c6bf5ccb5a919527f6b7","text":"允许更高效地添加堆页和索引页（Andres Freund）§ §","title":"允许更高效地添加堆页和索引页","variants":[],"version":"16.0"},{"also_in":[],"category":"performance","category_label":"Performance","commit_aliases":["1de58df4f","9e5405993","d977ffd92"],"commit_groups":[["1de58df4f"],["9e5405993"],["d977ffd92"]],"commits":["1de58df4f","9e5405993","d977ffd92"],"cves":[],"db_id":"3e0b5f3cd6329916be78c1ea521cbf5d","html":"\u003cp\u003e在非冻结操作期间，在适当时执行页面\u003ca href=\"/docs/16/routine-vacuuming.html#VACUUM-FOR-WRAPAROUND\" title=\"25.1.5. 防止事务 ID 回卷失败\"\u003e冻结\u003c/a\u003e（Peter Geoghegan）\u003ca href=\"https://postgr.es/c/d977ffd92\"\u003e§\u003c/a\u003e \u003ca href=\"https://postgr.es/c/9e5405993\"\u003e§\u003c/a\u003e \u003ca href=\"https://postgr.es/c/1de58df4f\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e这使得整表冻结清理的必要性降低。\u003c/p\u003e","id":"16.0-8915c15be4d511a4","identity_text":"During non-freeze operations, perform page freezing where appropriate (Peter Geoghegan) This makes full-table freeze vacuums less necessary.","part":"changes","patch_ids":["bebbe66730267e2db642c5c4d083b7c4","bf9fc376d7111e89a0767ad9e7fbf56c","d2db854c94ed6f6147811b5fe0a1f1da"],"related_changes":[],"relations":[],"section":"服务器 / 一般性能","section_path":["服务器","一般性能"],"source_commits":["1de58df4f","9e5405993","d977ffd92"],"source_entry_id":"16.0/changes/008","source_hash":"d32cc0679aaee55830366aaf6ce0ed598157f205ffcd31a98d588da63094d20e","source_url":"/docs/release/16.0/#RELEASE-16-PERFORMANCE","statement_hash":"a938aff62510da30d6b5d8481d311c5646e9e0fcb644d857e62b6e674f5f06a6","text":"在非冻结操作期间，在适当时执行页面冻结（Peter Geoghegan）§ § § 这使得整表冻结清理的必要性降低。","title":"在非冻结操作期间，在适当时执行页面冻结","variants":[],"version":"16.0"},{"also_in":[],"category":"performance","category_label":"Performance","commit_aliases":["ed1a88dda"],"commit_groups":[["ed1a88dda"]],"commits":["ed1a88dda"],"cves":[],"db_id":"d587bba33797f8d0797e90249ed2c97a","html":"\u003cp\u003e当 \u003ccode\u003eRANGE\u003c/code\u003e 模式处于活动状态但不必要时，允许窗口函数在内部使用更快的 \u003ca href=\"/docs/16/sql-expressions.html#SYNTAX-WINDOW-FUNCTIONS\" title=\"4.2.8. 窗口函数调用\"\u003e\u003ccode\u003eROWS\u003c/code\u003e\u003c/a\u003e 模式（David Rowley）\u003ca href=\"https://postgr.es/c/ed1a88dda\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"16.0-451a78b2cf018816","identity_text":"Allow window functions to use the faster ROWS mode internally when RANGE mode is active but unnecessary (David Rowley)","part":"changes","patch_ids":["a7edfee197b04d8a2b2913ce63dbaf79"],"related_changes":[],"relations":[],"section":"服务器 / 一般性能","section_path":["服务器","一般性能"],"source_commits":["ed1a88dda"],"source_entry_id":"16.0/changes/009","source_hash":"4efc715ebb949ec72a1ae418e1a9598103b06c125a1001ed4f9b4370060e45e6","source_url":"/docs/release/16.0/#RELEASE-16-PERFORMANCE","statement_hash":"32517d0bb4e5a0c4ec0f5fc198a97bb3f282e04741fcdd34374da0dc60d29cdd","text":"当 RANGE 模式处于活动状态但不必要时，允许窗口函数在内部使用更快的 ROWS 模式（David Rowley）§","title":"当 RANGE 模式处于活动状态但不必要时，允许窗口函数在内部使用更快的 ROWS 模式","variants":[],"version":"16.0"},{"also_in":[],"category":"performance","category_label":"Performance","commit_aliases":["456fa635a"],"commit_groups":[["456fa635a"]],"commits":["456fa635a"],"cves":[],"db_id":"6692a77c509f1c1e74743156ecf91eee","html":"\u003cp\u003e允许优化单调递增的窗口函数 \u003ca href=\"/docs/16/functions-window.html#FUNCTIONS-WINDOW-TABLE\" title=\"表 9.64. 通用窗口函数\"\u003e\u003ccode\u003entile()\u003c/code\u003e\u003c/a\u003e、\u003ccode\u003ecume_dist()\u003c/code\u003e 和 \u003ccode\u003epercent_rank()\u003c/code\u003e（David Rowley）\u003ca href=\"https://postgr.es/c/456fa635a\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"16.0-6644c0f9c2ace357","identity_text":"Allow optimization of always-increasing window functions ntile(), cume_dist() and percent_rank() (David Rowley)","part":"changes","patch_ids":["9d4f4e5c11e9a1e1ac2a9d958d22926a"],"related_changes":[],"relations":[],"section":"服务器 / 一般性能","section_path":["服务器","一般性能"],"source_commits":["456fa635a"],"source_entry_id":"16.0/changes/010","source_hash":"0bc963fc9a4c22587f59d89d8a2fe0efe2aef82b07f2065d97bc8f3a976c8988","source_url":"/docs/release/16.0/#RELEASE-16-PERFORMANCE","statement_hash":"7b89b3d9b702edbb46afaa3c860a31d7f7d80072e8ab54c9e2c945ae69de2de9","text":"允许优化单调递增的窗口函数 ntile()、cume_dist() 和 percent_rank()（David Rowley）§","title":"允许优化单调递增的窗口函数 ntile()、cume_dist() 和 percent_rank()","variants":[],"version":"16.0"},{"also_in":[],"category":"performance","category_label":"Performance","commit_aliases":["16fd03e95"],"commit_groups":[["16fd03e95"]],"commits":["16fd03e95"],"cves":[],"db_id":"f1acba6ee1c2af3c89806a26b66b89df","html":"\u003cp\u003e允许聚合函数 \u003ca href=\"/docs/16/functions-aggregate.html#FUNCTIONS-AGGREGATE-TABLE\" title=\"表 9.59. 通用聚合函数\"\u003e\u003ccode\u003estring_agg()\u003c/code\u003e\u003c/a\u003e 和 \u003ccode\u003earray_agg()\u003c/code\u003e 被并行化（David Rowley）\u003ca href=\"https://postgr.es/c/16fd03e95\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"16.0-34cbdd7f564c426f","identity_text":"Allow aggregate functions string_agg() and array_agg() to be parallelized (David Rowley)","part":"changes","patch_ids":["96e8551fb59feafb18841b83934b9f7f"],"related_changes":[],"relations":[],"section":"服务器 / 一般性能","section_path":["服务器","一般性能"],"source_commits":["16fd03e95"],"source_entry_id":"16.0/changes/011","source_hash":"bc9226ce936cc2bda5ce8eb1791d738cf120db9d7615bf7a6a28af192ebf96a8","source_url":"/docs/release/16.0/#RELEASE-16-PERFORMANCE","statement_hash":"e1eae593c3e486450967daeffb7a34dada3d8e2f3d27c988946898a4120127ca","text":"允许聚合函数 string_agg() 和 array_agg() 被并行化（David Rowley）§","title":"允许聚合函数 string_agg() 和 array_agg() 被并行化","variants":[],"version":"16.0"},{"also_in":[],"category":"performance","category_label":"Performance","commit_aliases":["3592e0ff9"],"commit_groups":[["3592e0ff9"]],"commits":["3592e0ff9"],"cves":[],"db_id":"0c7fba4816dbd87c1f53a145f4403045","html":"\u003cp\u003e通过缓存 \u003ca href=\"/docs/16/ddl-partitioning.html#DDL-PARTITIONING-OVERVIEW\" title=\"5.11.1. 概述\"\u003e\u003ccode\u003eRANGE\u003c/code\u003e\u003c/a\u003e 和 \u003ccode\u003eLIST\u003c/code\u003e 分区查找来改进性能（Amit Langote，Hou Zhijie，David Rowley）\u003ca href=\"https://postgr.es/c/3592e0ff9\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"16.0-421fb41ebca09f6f","identity_text":"Improve performance by caching RANGE and LIST partition lookups (Amit Langote, Hou Zhijie, David Rowley)","part":"changes","patch_ids":["043c0930ea75317dcb1eb795c75fc387"],"related_changes":[],"relations":[],"section":"服务器 / 一般性能","section_path":["服务器","一般性能"],"source_commits":["3592e0ff9"],"source_entry_id":"16.0/changes/012","source_hash":"ff3b2cc1d5ea981784f3a6e7f4dad49606e4b28e29d62cd109f4551de0d9a63d","source_url":"/docs/release/16.0/#RELEASE-16-PERFORMANCE","statement_hash":"9f4ca24bfe4609911d2ef8380c805f3002151ee945091eee3a63a843d3cc7a40","text":"通过缓存 RANGE 和 LIST 分区查找来改进性能（Amit Langote，Hou Zhijie，David Rowley）§","title":"通过缓存 RANGE 和 LIST 分区查找来改进性能","variants":[],"version":"16.0"},{"also_in":[],"category":"performance","category_label":"Performance","commit_aliases":["1cbbee033","ae78cae3b","b72f564d8"],"commit_groups":[["1cbbee033"],["ae78cae3b"],["b72f564d8"]],"commits":["1cbbee033","ae78cae3b","b72f564d8"],"cves":[],"db_id":"287b954ae68dc298282e73ec45edf342","html":"\u003cp\u003e允许控制 vacuum 和 analyze 使用的共享缓冲区（Melanie Plageman）\u003ca href=\"https://postgr.es/c/1cbbee033\"\u003e§\u003c/a\u003e \u003ca href=\"https://postgr.es/c/ae78cae3b\"\u003e§\u003c/a\u003e \u003ca href=\"https://postgr.es/c/b72f564d8\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"/docs/16/sql-vacuum.html\" title=\"VACUUM\"\u003e\u003ccode\u003eVACUUM\u003c/code\u003e\u003c/a\u003e/\u003ca href=\"/docs/16/sql-analyze.html\" title=\"ANALYZE\"\u003e\u003ccode\u003eANALYZE\u003c/code\u003e\u003c/a\u003e 选项为 \u003ccode\u003eBUFFER_USAGE_LIMIT\u003c/code\u003e，\u003ca href=\"/docs/16/app-vacuumdb.html\" title=\"vacuumdb\"\u003e\u003cspan\u003evacuumdb\u003c/span\u003e\u003c/a\u003e选项为 \u003ccode\u003e--buffer-usage-limit\u003c/code\u003e。默认值由服务器变量 \u003ca href=\"/docs/16/runtime-config-resource.html#GUC-VACUUM-BUFFER-USAGE-LIMIT\"\u003e\u003ccode\u003evacuum_buffer_usage_limit\u003c/code\u003e\u003c/a\u003e 设置，它也控制自动清理。\u003c/p\u003e","id":"16.0-00afe7f3cd4c4d2e","identity_text":"Allow control of the shared buffer usage by vacuum and analyze (Melanie Plageman) The VACUUM/ANALYZE option is BUFFER_USAGE_LIMIT, and the vacuumdb option is --buffer-usage-limit. The default value is set by server variable vacuum_buffer_usage_limit, which also controls autovacuum.","part":"changes","patch_ids":["27310bfa7bc6d1a4497f808f7193bd28","291417385e78d262ef3bce72966910b2","92ab6a5cc447bc9881bdcd721b5c49b3"],"related_changes":[],"relations":[],"section":"服务器 / 一般性能","section_path":["服务器","一般性能"],"source_commits":["1cbbee033","ae78cae3b","b72f564d8"],"source_entry_id":"16.0/changes/013","source_hash":"61c9236f20808bb68fc24e69f4f22a8da0040192cf7311815fc43a7ca78f9915","source_url":"/docs/release/16.0/#RELEASE-16-PERFORMANCE","statement_hash":"4e4824271ca20a6ae700a13b6f7e064016385429c7f2a285faed1dd9e73e25a5","text":"允许控制 vacuum 和 analyze 使用的共享缓冲区（Melanie Plageman）§ § § VACUUM/ANALYZE 选项为 BUFFER_USAGE_LIMIT，vacuumdb选项为 --buffer-usage-limit。默认值由服务器变量 vacuum_buffer_usage_limit 设置，它也控制自动清理。","title":"允许控制 vacuum 和 analyze 使用的共享缓冲区","variants":[],"version":"16.0"},{"also_in":[],"category":"performance","category_label":"Performance","commit_aliases":["9430fb407"],"commit_groups":[["9430fb407"]],"commits":["9430fb407"],"cves":[],"db_id":"0fdc46d4a055a3f11d16b1bf92b7d7fa","html":"\u003cp\u003e在 \u003cspan\u003eWindows\u003c/span\u003e 上支持 \u003ca href=\"/docs/16/runtime-config-wal.html#GUC-WAL-SYNC-METHOD\"\u003e\u003ccode\u003ewal_sync_method=fdatasync\u003c/code\u003e\u003c/a\u003e（Thomas Munro）\u003ca href=\"https://postgr.es/c/9430fb407\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"16.0-c22e7da1de607c7d","identity_text":"Support wal_sync_method=fdatasync on Windows (Thomas Munro)","part":"changes","patch_ids":["ed06c5ee202939f7346d049f9758748e"],"related_changes":[],"relations":[],"section":"服务器 / 一般性能","section_path":["服务器","一般性能"],"source_commits":["9430fb407"],"source_entry_id":"16.0/changes/014","source_hash":"e8dd08578e20646334a73356be64d947d39d56de9e5f7c06249549ae41fd3aec","source_url":"/docs/release/16.0/#RELEASE-16-PERFORMANCE","statement_hash":"39347a5a080bedcf5312b9c2f5957ed6abb7b69b507e26abed4cf9c75d41812f","text":"在 Windows 上支持 wal_sync_method=fdatasync（Thomas Munro）§","title":"在 Windows 上支持 wal_sync_method=fdatasync","variants":[],"version":"16.0"},{"also_in":[],"category":"performance","category_label":"Performance","commit_aliases":["19d8e2308"],"commit_groups":[["19d8e2308"]],"commits":["19d8e2308"],"cves":[],"db_id":"0f56847b6bd56972522c2308abc77fae","html":"\u003cp\u003e当只更新了 \u003ccode\u003eBRIN\u003c/code\u003e 索引列时，允许 \u003ca href=\"/docs/16/storage-hot.html\" title=\"73.7. 堆内元组（HOT）\"\u003e\u003cacronym\u003eHOT\u003c/acronym\u003e\u003c/a\u003e 更新（Matthias van de Meent，Josef Simanek，Tomas Vondra）\u003ca href=\"https://postgr.es/c/19d8e2308\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"16.0-808df974c423064f","identity_text":"Allow HOT updates if only BRIN-indexed columns are updated (Matthias van de Meent, Josef Simanek, Tomas Vondra)","part":"changes","patch_ids":["30468c592b185ef9807038b885c18c24"],"related_changes":[],"relations":[],"section":"服务器 / 一般性能","section_path":["服务器","一般性能"],"source_commits":["19d8e2308"],"source_entry_id":"16.0/changes/015","source_hash":"bfdeac6eac218d1ca1b0282f030135c9f8614ed9b612ad83f1506312fd8458cc","source_url":"/docs/release/16.0/#RELEASE-16-PERFORMANCE","statement_hash":"cb8c53057a736793b7bed93e2913773a472fe191dd8bddd9e863e698ec8bb622","text":"当只更新了 BRIN 索引列时，允许 HOT 更新（Matthias van de Meent，Josef Simanek，Tomas Vondra）§","title":"当只更新了 BRIN 索引列时，允许 HOT 更新","variants":[],"version":"16.0"},{"also_in":[],"category":"performance","category_label":"Performance","commit_aliases":["2cb82e2ac"],"commit_groups":[["2cb82e2ac"]],"commits":["2cb82e2ac"],"cves":[],"db_id":"780f6379ebccc595c720ee9fcaefe263","html":"\u003cp\u003e改进更新\u003ca href=\"/docs/16/runtime-config-logging.html#GUC-UPDATE-PROCESS-TITLE\"\u003e进程标题\u003c/a\u003e的速度（David Rowley）\u003ca href=\"https://postgr.es/c/2cb82e2ac\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"16.0-12956ce6e88c3ab4","identity_text":"Improve the speed of updating the process title (David Rowley)","part":"changes","patch_ids":["727be6c1117ce62f16f3ac6274c3c68f"],"related_changes":[],"relations":[],"section":"服务器 / 一般性能","section_path":["服务器","一般性能"],"source_commits":["2cb82e2ac"],"source_entry_id":"16.0/changes/016","source_hash":"25f45e71660eb76e32bfbb8791b92e02c359ac7ae8381abf41b96a8c23d76927","source_url":"/docs/release/16.0/#RELEASE-16-PERFORMANCE","statement_hash":"cc7447bc22129f36c50ba8b7bea9d753276de25a28aeee7304723c405fc40bae","text":"改进更新进程标题的速度（David Rowley）§","title":"改进更新进程标题的速度","variants":[],"version":"16.0"},{"also_in":[],"category":"performance","category_label":"Performance","commit_aliases":["121d2d3d7","37a6e5df3","b6ef16756","e813e0e16"],"commit_groups":[["121d2d3d7"],["37a6e5df3"],["b6ef16756"],["e813e0e16"]],"commits":["121d2d3d7","37a6e5df3","b6ef16756","e813e0e16"],"cves":[],"db_id":"76cebba9a0416be7e2d2a1bb1d590f4c","html":"\u003cp\u003e允许 \u003ccode\u003exid\u003c/code\u003e/\u003ccode\u003esubxid\u003c/code\u003e 搜索和 \u003cacronym\u003eASCII\u003c/acronym\u003e 字符串检测使用向量运算（Nathan Bossart，John Naylor）\u003ca href=\"https://postgr.es/c/37a6e5df3\"\u003e§\u003c/a\u003e \u003ca href=\"https://postgr.es/c/121d2d3d7\"\u003e§\u003c/a\u003e \u003ca href=\"https://postgr.es/c/b6ef16756\"\u003e§\u003c/a\u003e \u003ca href=\"https://postgr.es/c/e813e0e16\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cacronym\u003eASCII\u003c/acronym\u003e 检测对于 \u003ca href=\"/docs/16/sql-copy.html\" title=\"COPY\"\u003e\u003ccode\u003eCOPY FROM\u003c/code\u003e\u003c/a\u003e 特别有用。向量运算也用于一些 C 数组搜索。\u003c/p\u003e","id":"16.0-928e070f9071597a","identity_text":"Allow xid/subxid searches and ASCII string detection to use vector operations (Nathan Bossart, John Naylor) ASCII detection is particularly useful for COPY FROM. Vector operations are also used for some C array searches.","part":"changes","patch_ids":["55a79d906ac18e5e9b12fb286c664381","8cd730de369aff3f35c4f07d6e8f8ac7","9200c165c810bfc3a62002611abafee6","98b5b393df942a15427f95e81db79f3c"],"related_changes":[],"relations":[],"section":"服务器 / 一般性能","section_path":["服务器","一般性能"],"source_commits":["121d2d3d7","37a6e5df3","b6ef16756","e813e0e16"],"source_entry_id":"16.0/changes/017","source_hash":"7153292008e76e4b754a404764abbfe7ff04bdfeb01d5c220b9790f26c51c8c3","source_url":"/docs/release/16.0/#RELEASE-16-PERFORMANCE","statement_hash":"26ef46f74a3b690cb57334773c0d92c237442517c3d87d1f171fac153f88a06f","text":"允许 xid/subxid 搜索和 ASCII 字符串检测使用向量运算（Nathan Bossart，John Naylor）§ § § § ASCII 检测对于 COPY FROM 特别有用。向量运算也用于一些 C 数组搜索。","title":"允许 xid/subxid 搜索和 ASCII 字符串检测使用向量运算","variants":[],"version":"16.0"},{"also_in":[],"category":"performance","category_label":"Performance","commit_aliases":["c6e0fe1f2"],"commit_groups":[["c6e0fe1f2"]],"commits":["c6e0fe1f2"],"cves":[],"db_id":"a1e378022a0e6d1c83b942d1f87f968b","html":"\u003cp\u003e减少内存分配的开销（Andres Freund，David Rowley）\u003ca href=\"https://postgr.es/c/c6e0fe1f2\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"16.0-680e4e87729d40d9","identity_text":"Reduce overhead of memory allocations (Andres Freund, David Rowley)","part":"changes","patch_ids":["b83ab0346f913fc3be5d8a6b1e7e0b9f"],"related_changes":[],"relations":[],"section":"服务器 / 一般性能","section_path":["服务器","一般性能"],"source_commits":["c6e0fe1f2"],"source_entry_id":"16.0/changes/018","source_hash":"620b2a3949e3e7b8a118a8ef9a4c73064c67c2d0da2f86bf899ec7ccf09bba4c","source_url":"/docs/release/16.0/#RELEASE-16-PERFORMANCE","statement_hash":"7e28360d239901d070b9c07d1ea9e67fecdfcc424217b969575d245684c199f7","text":"减少内存分配的开销（Andres Freund，David Rowley）§","title":"减少内存分配的开销","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["093e5c57d","0ecb87e1f","8aaa04b32","a9c70b46d","ac8d53dae"],"commit_groups":[["093e5c57d"],["0ecb87e1f"],["8aaa04b32"],["a9c70b46d"],["ac8d53dae"]],"commits":["093e5c57d","0ecb87e1f","8aaa04b32","a9c70b46d","ac8d53dae"],"cves":[],"db_id":"a2ad0b82efdec9aa9d94d5eb2a3a8405","html":"\u003cp\u003e增加系统视图 \u003ca href=\"/docs/16/monitoring-stats.html#MONITORING-PG-STAT-IO-VIEW\" title=\"28.2.13. pg_stat_io\"\u003e\u003ccode\u003epg_stat_io\u003c/code\u003e\u003c/a\u003e 以跟踪 \u003cacronym\u003eI/O\u003c/acronym\u003e 统计（Melanie Plageman）\u003ca href=\"https://postgr.es/c/a9c70b46d\"\u003e§\u003c/a\u003e \u003ca href=\"https://postgr.es/c/8aaa04b32\"\u003e§\u003c/a\u003e \u003ca href=\"https://postgr.es/c/ac8d53dae\"\u003e§\u003c/a\u003e \u003ca href=\"https://postgr.es/c/0ecb87e1f\"\u003e§\u003c/a\u003e \u003ca href=\"https://postgr.es/c/093e5c57d\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"16.0-a154e46c343f48c0","identity_text":"Add system view pg_stat_io view to track I/O statistics (Melanie Plageman)","part":"changes","patch_ids":["1c4ce2e3a0aa5cbed6629b19e3c4b40b","5d68e42650e2bce9d845c2be7a6ae446","74a638d90bff700b6f0aac4a0b229b0b","d1986cdcf2de79eec5822be4c40de221","e4c0725325231f50bd224199460931f4"],"related_changes":[],"relations":[],"section":"服务器 / 监控","section_path":["服务器","监控"],"source_commits":["093e5c57d","0ecb87e1f","8aaa04b32","a9c70b46d","ac8d53dae"],"source_entry_id":"16.0/changes/019","source_hash":"cfb4544e62ff06177cb7a15fd37650778f1a2f66668a92530977537d8fd6799f","source_url":"/docs/release/16.0/#RELEASE-16-MONITORING","statement_hash":"2606364de89f5d97a8b9764f26523a44d640ac74cc6c4e9b9fa0732839f9a99a","text":"增加系统视图 pg_stat_io 以跟踪 I/O 统计（Melanie Plageman）§ § § § §","title":"增加系统视图 pg_stat_io 以跟踪 I/O 统计","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["c03747183"],"commit_groups":[["c03747183"]],"commits":["c03747183"],"cves":[],"db_id":"ccadd1efd0969b05194eaec65727f7af","html":"\u003cp\u003e记录表上最后一次顺序扫描和索引扫描的统计信息（Dave Page）\u003ca href=\"https://postgr.es/c/c03747183\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e此信息显示在 \u003ca href=\"/docs/16/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW\" title=\"表 28.28. pg_stat_all_tables 视图\"\u003e\u003ccode\u003epg_stat_*_tables\u003c/code\u003e\u003c/a\u003e 和 \u003ca href=\"/docs/16/monitoring-stats.html#MONITORING-PG-STAT-ALL-INDEXES-VIEW\" title=\"28.2.19. pg_stat_all_indexes\"\u003e\u003ccode\u003epg_stat_*_indexes\u003c/code\u003e\u003c/a\u003e 中。\u003c/p\u003e","id":"16.0-9be8f8ffa585e4d7","identity_text":"Record statistics on the last sequential and index scans on tables (Dave Page) This information appears in pg_stat_*_tables and pg_stat_*_indexes.","part":"changes","patch_ids":["c4ba190f0d91d4b4cfa7ce2f43980989"],"related_changes":[],"relations":[],"section":"服务器 / 监控","section_path":["服务器","监控"],"source_commits":["c03747183"],"source_entry_id":"16.0/changes/020","source_hash":"fa911a2a6a10197b11bf8cab66929d793882a8d63cf93e1ca36dc24901156d07","source_url":"/docs/release/16.0/#RELEASE-16-MONITORING","statement_hash":"ca898d673782c499c0c6f27bc88d6cb71528bf6980f5f5f7a594d87c4d525557","text":"记录表上最后一次顺序扫描和索引扫描的统计信息（Dave Page）§ 此信息显示在 pg_stat_*_tables 和 pg_stat_*_indexes 中。","title":"记录表上最后一次顺序扫描和索引扫描的统计信息","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["ae4fdde13"],"commit_groups":[["ae4fdde13"]],"commits":["ae4fdde13"],"cves":[],"db_id":"d978ff661068cc4a447a09387bf8eb66","html":"\u003cp\u003e记录已更新行移动到新页面的统计信息（Corey Huinker）\u003ca href=\"https://postgr.es/c/ae4fdde13\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003epg_stat_*_tables\u003c/code\u003e 列为 \u003ca href=\"/docs/16/monitoring-stats.html#MONITORING-PG-STAT-ALL-TABLES-VIEW\" title=\"28.2.18. pg_stat_all_tables\"\u003e\u003ccode\u003en_tup_newpage_upd\u003c/code\u003e\u003c/a\u003e。\u003c/p\u003e","id":"16.0-82f6a7a1a7329b7f","identity_text":"Record statistics on the occurrence of updated rows moving to new pages (Corey Huinker) The pg_stat_*_tables column is n_tup_newpage_upd.","part":"changes","patch_ids":["1e7bdf77023add4aeb523e9a777a62cd"],"related_changes":[],"relations":[],"section":"服务器 / 监控","section_path":["服务器","监控"],"source_commits":["ae4fdde13"],"source_entry_id":"16.0/changes/021","source_hash":"15d92a8f87e00eff5ee12816fc3fc4b5c922ba620ed82c54f1cf6b6a21f9c25c","source_url":"/docs/release/16.0/#RELEASE-16-MONITORING","statement_hash":"eb90460ee65d612b03af4d4571313a8cfe1aef0a42d76dcc18de09348ab48db9","text":"记录已更新行移动到新页面的统计信息（Corey Huinker）§ pg_stat_*_tables 列为 n_tup_newpage_upd。","title":"记录已更新行移动到新页面的统计信息","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["f74573969"],"commit_groups":[["f74573969"]],"commits":["f74573969"],"cves":[],"db_id":"144cb13a6b59a8bbcfe8210055d2c4fb","html":"\u003cp\u003e向 \u003ca href=\"/docs/16/view-pg-locks.html\" title=\"54.12. pg_locks\"\u003e\u003ccode\u003epg_locks\u003c/code\u003e\u003c/a\u003e 系统视图添加推测锁信息（Masahiko Sawada，Noriyoshi Shinoda）\u003ca href=\"https://postgr.es/c/f74573969\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e事务 ID 显示在 \u003ccode\u003etransactionid\u003c/code\u003e 列中，推测插入令牌显示在 \u003ccode\u003eobjid\u003c/code\u003e 列中。\u003c/p\u003e","id":"16.0-f90f2925034016ea","identity_text":"Add speculative lock information to the pg_locks system view (Masahiko Sawada, Noriyoshi Shinoda) The transaction id is displayed in the transactionid column and the speculative insertion token is displayed in the objid column.","part":"changes","patch_ids":["4d832ebf7d13c3533e76b0116559e1e9"],"related_changes":[],"relations":[],"section":"服务器 / 监控","section_path":["服务器","监控"],"source_commits":["f74573969"],"source_entry_id":"16.0/changes/022","source_hash":"83431dde82d7d10807d0015bda97f652144d6b627de6c529921cf56ce0bc4eb7","source_url":"/docs/release/16.0/#RELEASE-16-MONITORING","statement_hash":"75a357610b8c8b5e8a3ee91a48d315064675747a1f14bb7f66d05a19406bab43","text":"向 pg_locks 系统视图添加推测锁信息（Masahiko Sawada，Noriyoshi Shinoda）§ 事务 ID 显示在 transactionid 列中，推测插入令牌显示在 objid 列中。","title":"向 pg_locks 系统视图添加推测锁信息","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["6ffff0fd2","84ad713cf"],"commit_groups":[["6ffff0fd2"],["84ad713cf"]],"commits":["6ffff0fd2","84ad713cf"],"cves":[],"db_id":"eb1ec79d2db2312703d6a4a6efa5ee58","html":"\u003cp\u003e向 \u003ca href=\"/docs/16/view-pg-prepared-statements.html\" title=\"54.15. pg_prepared_statements\"\u003e\u003ccode\u003epg_prepared_statements\u003c/code\u003e\u003c/a\u003e 视图添加预备语句结果类型的显示（Dagfinn Ilmari Mannsåker）\u003ca href=\"https://postgr.es/c/84ad713cf\"\u003e§\u003c/a\u003e \u003ca href=\"https://postgr.es/c/6ffff0fd2\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"16.0-862d57147bfa3a90","identity_text":"Add the display of prepared statement result types to the pg_prepared_statements view (Dagfinn Ilmari Mannsåker)","part":"changes","patch_ids":["4aec479382e883c08b2a26c07c8f13a6","8385af63f370093cedad91ff0b9d68d6"],"related_changes":[],"relations":[],"section":"服务器 / 监控","section_path":["服务器","监控"],"source_commits":["6ffff0fd2","84ad713cf"],"source_entry_id":"16.0/changes/023","source_hash":"8e61f00e23518fa3a11e4f083a0d2af185c585ae07803f2dbe186c3dfbdcc4b1","source_url":"/docs/release/16.0/#RELEASE-16-MONITORING","statement_hash":"e41ee27361a8b5453f53b62666511e666125fbdb31390ddee79429fa4c05da11","text":"向 pg_prepared_statements 视图添加预备语句结果类型的显示（Dagfinn Ilmari Mannsåker）§ §","title":"向 pg_prepared_statements 视图添加预备语句结果类型的显示","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["e0b014295"],"commit_groups":[["e0b014295"]],"commits":["e0b014295"],"cves":[],"db_id":"21430e43a8df90341adcb221cb993b06","html":"\u003cp\u003e在订阅创建时创建订阅统计条目，使 \u003ca href=\"/docs/16/monitoring-stats.html#PG-STAT-DATABASE-VIEW\" title=\"表 28.26. pg_stat_database 视图\"\u003e\u003ccode\u003estats_reset\u003c/code\u003e\u003c/a\u003e 准确（Andres Freund）\u003ca href=\"https://postgr.es/c/e0b014295\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e之前条目仅在首次报告统计信息时创建。\u003c/p\u003e","id":"16.0-ffed4e495a85bae2","identity_text":"Create subscription statistics entries at subscription creation time so stats_reset is accurate (Andres Freund) Previously entries were created only when the first statistics were reported.","part":"changes","patch_ids":["ca6dc6ad2dbe12cce60fe12b210ce4bf"],"related_changes":[],"relations":[],"section":"服务器 / 监控","section_path":["服务器","监控"],"source_commits":["e0b014295"],"source_entry_id":"16.0/changes/024","source_hash":"cf954e39877f1c018c3b4f770a8ccff1f6cf7bfadf6a6bb44b17193a515ee586","source_url":"/docs/release/16.0/#RELEASE-16-MONITORING","statement_hash":"d3d18d1c12f696d8625d5c7084d48a27c3c180ce1e83f28e08fb4f5da83c65b6","text":"在订阅创建时创建订阅统计条目，使 stats_reset 准确（Andres Freund）§ 之前条目仅在首次报告统计信息时创建。","title":"在订阅创建时创建订阅统计条目，使 stats_reset 准确","variants":[],"version":"16.0"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["704261ecc"],"commit_groups":[["704261ecc"]],"commits":["704261ecc"],"cves":[],"db_id":"7e641eaab02569d94507cf600be93795","html":"\u003cp\u003e修正 \u003ca href=\"/docs/16/monitoring-stats.html#PG-STAT-DATABASE-VIEW\" title=\"表 28.26. pg_stat_database 视图\"\u003e\u003ccode\u003epg_stat_database\u003c/code\u003e\u003c/a\u003e 中显示的临时关系写入的 \u003cacronym\u003eI/O\u003c/acronym\u003e 统计（Melanie Plageman）\u003ca href=\"https://postgr.es/c/704261ecc\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"16.0-66f1a4b6b2ad28f2","identity_text":"Correct the I/O accounting for temp relation writes shown in pg_stat_database (Melanie Plageman)","part":"changes","patch_ids":["29ab54c9f4c9b71c24add143a41d18b2"],"related_changes":[],"relations":[],"section":"服务器 / 监控","section_path":["服务器","监控"],"source_commits":["704261ecc"],"source_entry_id":"16.0/changes/025","source_hash":"c39ab887eecd8ba0e8c7563b97b512423b521262b476f2dbf92ee892cddd337b","source_url":"/docs/release/16.0/#RELEASE-16-MONITORING","statement_hash":"a931010081a12dc76fc749a66dd56c58329e703e01f20628f84d6a351226d9b3","text":"修正 pg_stat_database 中显示的临时关系写入的 I/O 统计（Melanie Plageman）§","title":"修正 pg_stat_database 中显示的临时关系写入的 I/O 统计","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["10ea0f924"],"commit_groups":[["10ea0f924"]],"commits":["10ea0f924"],"cves":[],"db_id":"b21ff57da76e8f57ad828f44295babf6","html":"\u003cp\u003e增加函数 \u003ca href=\"/docs/16/monitoring-stats.html#MONITORING-STATS-BACKEND-FUNCS-TABLE\" title=\"表 28.36. 按后端统计函数\"\u003e\u003ccode\u003epg_stat_get_backend_subxact()\u003c/code\u003e\u003c/a\u003e 以报告会话的子事务缓存（Dilip Kumar）\u003ca href=\"https://postgr.es/c/10ea0f924\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"16.0-b56cb81f1da83ba5","identity_text":"Add function pg_stat_get_backend_subxact() to report on a session's subtransaction cache (Dilip Kumar)","part":"changes","patch_ids":["372fa21ad67b5f89547b42d5a53981cf"],"related_changes":[],"relations":[],"section":"服务器 / 监控","section_path":["服务器","监控"],"source_commits":["10ea0f924"],"source_entry_id":"16.0/changes/026","source_hash":"d0b39a2acfa5afdeb106ac7f10479726ca15434e77969321799ce319bfce333b","source_url":"/docs/release/16.0/#RELEASE-16-MONITORING","statement_hash":"65b8c2b77b490263991d4cc5f5338f874ab1b4d9b39039657bd5da33e4888ca8","text":"增加函数 pg_stat_get_backend_subxact() 以报告会话的子事务缓存（Dilip Kumar）§","title":"增加函数 pg_stat_get_backend_subxact() 以报告会话的子事务缓存","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["d7e39d72c"],"commit_groups":[["d7e39d72c"]],"commits":["d7e39d72c"],"cves":[],"db_id":"1371d92f4cb40808c3e5de69dfae7392","html":"\u003cp\u003e使 \u003ca href=\"/docs/16/monitoring-stats.html#MONITORING-STATS-BACKEND-FUNCS-TABLE\" title=\"表 28.36. 按后端统计函数\"\u003e\u003ccode\u003epg_stat_get_backend_idset()\u003c/code\u003e\u003c/a\u003e、\u003ccode\u003epg_stat_get_backend_activity()\u003c/code\u003e 和相关函数使用不变的后端 id（Nathan Bossart）\u003ca href=\"https://postgr.es/c/d7e39d72c\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e之前索引值在会话生命周期内可能会更改。\u003c/p\u003e","id":"16.0-fe92fd2ab1653b0d","identity_text":"Have pg_stat_get_backend_idset(), pg_stat_get_backend_activity(), and related functions use the unchanging backend id (Nathan Bossart) Previously the index values might change during the lifetime of the session.","part":"changes","patch_ids":["f8cafab6edefef23fda3e8e195c5cc79"],"related_changes":[],"relations":[],"section":"服务器 / 监控","section_path":["服务器","监控"],"source_commits":["d7e39d72c"],"source_entry_id":"16.0/changes/027","source_hash":"f7cc8d702f3d2b5a061d4dd94366c8f2ad9dcc5718ff49a3a0691a2962615890","source_url":"/docs/release/16.0/#RELEASE-16-MONITORING","statement_hash":"64c217213dd4bbe198f05b3a28d19b6732ca8c68b2a59720946c5fc7fd39f465","text":"使 pg_stat_get_backend_idset()、pg_stat_get_backend_activity() 和相关函数使用不变的后端 id（Nathan Bossart）§ 之前索引值在会话生命周期内可能会更改。","title":"使 pg_stat_get_backend_idset()、pg_stat_get_backend_activity() 和相关函数使用不变的后端 id","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["0c679464a"],"commit_groups":[["0c679464a"]],"commits":["0c679464a"],"cves":[],"db_id":"53d6d2f6b779b477cb6e112097562a4c","html":"\u003cp\u003e以特殊的后端类型报告独立后端（Melanie Plageman）\u003ca href=\"https://postgr.es/c/0c679464a\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"16.0-92572bd2b49ebe3c","identity_text":"Report stand-alone backends with a special backend type (Melanie Plageman)","part":"changes","patch_ids":["811e1d1439c998177ee8fce1a81021b0"],"related_changes":[],"relations":[],"section":"服务器 / 监控","section_path":["服务器","监控"],"source_commits":["0c679464a"],"source_entry_id":"16.0/changes/028","source_hash":"50518296140e8f9dedf8223338254057a8fd36c840ed3691352ad0891889aae7","source_url":"/docs/release/16.0/#RELEASE-16-MONITORING","statement_hash":"31bb59bfe5a801e3ca0a2c5426432aff8321eb48586cfc8e8291d08c599edf81","text":"以特殊的后端类型报告独立后端（Melanie Plageman）§","title":"以特殊的后端类型报告独立后端","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["92daeca45"],"commit_groups":[["92daeca45"]],"commits":["92daeca45"],"cves":[],"db_id":"50bf18619fc1f653e80e9a706e4c70e9","html":"\u003cp\u003e增加等待事件 \u003ca href=\"/docs/16/monitoring-stats.html#WAIT-EVENT-TIMEOUT-TABLE\" title=\"表 28.13.  Timeout类型的等待事件\"\u003e\u003ccode\u003eSpinDelay\u003c/code\u003e\u003c/a\u003e 以报告自旋锁睡眠延迟（Andres Freund）\u003ca href=\"https://postgr.es/c/92daeca45\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"16.0-6c7c151d62959575","identity_text":"Add wait event SpinDelay to report spinlock sleep delays (Andres Freund)","part":"changes","patch_ids":["5ea5bed0f394cc42f64ae8b6c0de804e"],"related_changes":[],"relations":[],"section":"服务器 / 监控","section_path":["服务器","监控"],"source_commits":["92daeca45"],"source_entry_id":"16.0/changes/029","source_hash":"ecacb3449aab3b327ae72346b0d4f6eb53802ec4072468059c3e7f904544d026","source_url":"/docs/release/16.0/#RELEASE-16-MONITORING","statement_hash":"45ed921efe6eba090135c6aec54a486813262e7ba5e105ae89449fb21ccb7c74","text":"增加等待事件 SpinDelay 以报告自旋锁睡眠延迟（Andres Freund）§","title":"增加等待事件 SpinDelay 以报告自旋锁睡眠延迟","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["7bae3bbf6"],"commit_groups":[["7bae3bbf6"]],"commits":["7bae3bbf6"],"cves":[],"db_id":"4c58e72d4b609bc9390d841632bbaf14","html":"\u003cp\u003e创建新的等待事件 \u003ca href=\"/docs/16/monitoring-stats.html#WAIT-EVENT-IO-TABLE\" title=\"表 28.9. IO类型的等待事件\"\u003e\u003ccode\u003eDSMAllocate\u003c/code\u003e\u003c/a\u003e 以指示等待动态共享内存分配（Thomas Munro）\u003ca href=\"https://postgr.es/c/7bae3bbf6\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e之前此类等待被报告为 \u003ccode\u003eDSMFillZeroWrite\u003c/code\u003e，该名称也被 \u003ccode\u003emmap()\u003c/code\u003e 分配使用。\u003c/p\u003e","id":"16.0-496bd653ea3a486c","identity_text":"Create new wait event DSMAllocate to indicate waiting for dynamic shared memory allocation (Thomas Munro) Previously this type of wait was reported as DSMFillZeroWrite, which was also used by mmap() allocations.","part":"changes","patch_ids":["cb098b810bb6829ff8003f9744d63dc3"],"related_changes":[],"relations":[],"section":"服务器 / 监控","section_path":["服务器","监控"],"source_commits":["7bae3bbf6"],"source_entry_id":"16.0/changes/030","source_hash":"95777abf006397908960bb91fb5dca4205c095c05fb1c004bf88386a5e372bfb","source_url":"/docs/release/16.0/#RELEASE-16-MONITORING","statement_hash":"4ef0c651cf300f619b958637e277d0fe1bc1f951f63b419bdb785b754b9cf874","text":"创建新的等待事件 DSMAllocate 以指示等待动态共享内存分配（Thomas Munro）§ 之前此类等待被报告为 DSMFillZeroWrite，该名称也被 mmap() 分配使用。","title":"创建新的等待事件 DSMAllocate 以指示等待动态共享内存分配","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["af205152e"],"commit_groups":[["af205152e"]],"commits":["af205152e"],"cves":[],"db_id":"7f1eb683be226d26b1ca30934fe374e6","html":"\u003cp\u003e将数据库名称添加到逻辑 \u003cacronym\u003eWAL\u003c/acronym\u003e 发送器的\u003ca href=\"/docs/16/runtime-config-logging.html#GUC-UPDATE-PROCESS-TITLE\"\u003e进程标题\u003c/a\u003e中（Tatsuhiro Nakamori）\u003ca href=\"https://postgr.es/c/af205152e\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e物理 \u003cacronym\u003eWAL\u003c/acronym\u003e 发送器不显示数据库名称。\u003c/p\u003e","id":"16.0-960f46e511f5f1ca","identity_text":"Add the database name to the process title of logical WAL senders (Tatsuhiro Nakamori) Physical WAL senders do not display a database name.","part":"changes","patch_ids":["b76cfa49f69a819f02742df66c91bf1f"],"related_changes":[],"relations":[],"section":"服务器 / 监控","section_path":["服务器","监控"],"source_commits":["af205152e"],"source_entry_id":"16.0/changes/031","source_hash":"d0de6d17ef6a64f43aa372cb1500fae473c66d86de26bdc6eef331d0ce4f5ecf","source_url":"/docs/release/16.0/#RELEASE-16-MONITORING","statement_hash":"51d418a4214815827ee028d5cf1d4b161f8eea015704fae6c82f6af57ce2b1c9","text":"将数据库名称添加到逻辑 WAL 发送器的进程标题中（Tatsuhiro Nakamori）§ 物理 WAL 发送器不显示数据库名称。","title":"将数据库名称添加到逻辑 WAL 发送器的进程标题中","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["62c46eee2"],"commit_groups":[["62c46eee2"]],"commits":["62c46eee2"],"cves":[],"db_id":"9976d6fa2083fc39a4d79168c61f8fd6","html":"\u003cp\u003e向 \u003ca href=\"/docs/16/runtime-config-logging.html#GUC-LOG-CHECKPOINTS\"\u003e\u003ccode\u003elog_checkpoints\u003c/code\u003e\u003c/a\u003e 消息添加检查点和 \u003ccode\u003eREDO LSN\u003c/code\u003e 信息（Bharath Rupireddy，Kyotaro Horiguchi）\u003ca href=\"https://postgr.es/c/62c46eee2\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"16.0-ab3e8b2c20c3e0a7","identity_text":"Add checkpoint and REDO LSN information to log_checkpoints messages (Bharath Rupireddy, Kyotaro Horiguchi)","part":"changes","patch_ids":["2d2e45940e3391fb9a1bc3a921e96048"],"related_changes":[],"relations":[],"section":"服务器 / 监控","section_path":["服务器","监控"],"source_commits":["62c46eee2"],"source_entry_id":"16.0/changes/032","source_hash":"18c2c38a50e7519cd2fdaa1a31163bda543c42e2b9c4b122615913009bafd8de","source_url":"/docs/release/16.0/#RELEASE-16-MONITORING","statement_hash":"1d14380b85d6937c025ce7b0618e098e6c0ee303f9ef9e2104413834c71fcc15","text":"向 log_checkpoints 消息添加检查点和 REDO LSN 信息（Bharath Rupireddy，Kyotaro Horiguchi）§","title":"向 log_checkpoints 消息添加检查点和 REDO LSN 信息","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["3a0e38504"],"commit_groups":[["3a0e38504"]],"commits":["3a0e38504"],"cves":[],"db_id":"109962e39cd38a26e56c069afacaad5b","html":"\u003cp\u003e在客户端证书失败时提供额外详细信息（Jacob Champion）\u003ca href=\"https://postgr.es/c/3a0e38504\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"16.0-64bb50f3d2d6123d","identity_text":"Provide additional details during client certificate failures (Jacob Champion)","part":"changes","patch_ids":["c30d9457d6b9b277a556009df2b65fe8"],"related_changes":[],"relations":[],"section":"服务器 / 监控","section_path":["服务器","监控"],"source_commits":["3a0e38504"],"source_entry_id":"16.0/changes/033","source_hash":"8034f9b6e0b7a1f452d385398a46b58b691ffccbe8362f47f73dbb4e69b60fa6","source_url":"/docs/release/16.0/#RELEASE-16-MONITORING","statement_hash":"87e65dc56ee8c106d24e33e33b7df8db2c8487e88deb6a0bab861dc6a069fdb8","text":"在客户端证书失败时提供额外详细信息（Jacob Champion）§","title":"在客户端证书失败时提供额外详细信息","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["c3afe8cf5"],"commit_groups":[["c3afe8cf5"]],"commits":["c3afe8cf5"],"cves":[],"db_id":"333405cb0d257fc36ce99d779f85a196","html":"\u003cp\u003e增加具有创建订阅权限的预定义角色 \u003ca href=\"/docs/16/predefined-roles.html\" title=\"22.5. 预定义角色\"\u003e\u003ccode\u003epg_create_subscription\u003c/code\u003e\u003c/a\u003e（Robert Haas）\u003ca href=\"https://postgr.es/c/c3afe8cf5\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"16.0-0a8487c318f1d1e2","identity_text":"Add predefined role pg_create_subscription with permission to create subscriptions (Robert Haas)","part":"changes","patch_ids":["38efe5461c206e0e034559d4a91f45d0"],"related_changes":[{"db_id":"418f288dc007fcb250d7b6ff611924ba","evidence":{"ambiguous_patch_ids":["38efe5461c206e0e034559d4a91f45d0"],"patch_ids":["38efe5461c206e0e034559d4a91f45d0"],"same_day":true},"kind":"related","label":"16.0","source_url":"/docs/release/16.0/#RELEASE-16-PRIVILEGES","title":"允许订阅不要求密码","url":"/docs/compare/?release=16.0#16.0-3ec13dbca0cb8f3f","version":"16.0"}],"relations":[{"evidence":{"ambiguous_patch_ids":["38efe5461c206e0e034559d4a91f45d0"],"patch_ids":["38efe5461c206e0e034559d4a91f45d0"],"same_day":true},"rule":2,"target":"418f288dc007fcb250d7b6ff611924ba","type":"related"}],"section":"服务器 / 权限","section_path":["服务器","权限"],"source_commits":["c3afe8cf5"],"source_entry_id":"16.0/changes/034","source_hash":"0ca255b32d56b8bf60e2b6c8db3f6e571f3dd9a44da5f741689332354cbfb269","source_url":"/docs/release/16.0/#RELEASE-16-PRIVILEGES","statement_hash":"8d065e514f4d7eb8ca09fd33dcd28176833acd9d98640bedd44cdbd550616808","text":"增加具有创建订阅权限的预定义角色 pg_create_subscription（Robert Haas）§","title":"增加具有创建订阅权限的预定义角色 pg_create_subscription","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["19e65dff3","c1cc4e688","c3afe8cf5"],"commit_groups":[["19e65dff3"],["c1cc4e688"],["c3afe8cf5"]],"commits":["19e65dff3","c1cc4e688","c3afe8cf5"],"cves":[],"db_id":"418f288dc007fcb250d7b6ff611924ba","html":"\u003cp\u003e允许订阅不要求密码（Robert Haas）\u003ca href=\"https://postgr.es/c/c3afe8cf5\"\u003e§\u003c/a\u003e \u003ca href=\"https://postgr.es/c/c1cc4e688\"\u003e§\u003c/a\u003e \u003ca href=\"https://postgr.es/c/19e65dff3\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e这通过选项 \u003ca href=\"/docs/16/sql-createsubscription.html\" title=\"CREATE SUBSCRIPTION\"\u003e\u003ccode\u003epassword_required=false\u003c/code\u003e\u003c/a\u003e 实现。\u003c/p\u003e","id":"16.0-3ec13dbca0cb8f3f","identity_text":"Allow subscriptions to not require passwords (Robert Haas) This is accomplished with the option password_required=false.","part":"changes","patch_ids":["38efe5461c206e0e034559d4a91f45d0","c224d8dd933626411fa49fb8d92e9e45","e02a8cd02a74998c80f31f461bf7bacc"],"related_changes":[{"db_id":"333405cb0d257fc36ce99d779f85a196","evidence":{"ambiguous_patch_ids":["38efe5461c206e0e034559d4a91f45d0"],"patch_ids":["38efe5461c206e0e034559d4a91f45d0"],"same_day":true},"kind":"related","label":"16.0","source_url":"/docs/release/16.0/#RELEASE-16-PRIVILEGES","title":"增加具有创建订阅权限的预定义角色 pg_create_subscription","url":"/docs/compare/?release=16.0#16.0-0a8487c318f1d1e2","version":"16.0"}],"relations":[{"evidence":{"ambiguous_patch_ids":["38efe5461c206e0e034559d4a91f45d0"],"patch_ids":["38efe5461c206e0e034559d4a91f45d0"],"same_day":true},"rule":2,"target":"333405cb0d257fc36ce99d779f85a196","type":"related"}],"section":"服务器 / 权限","section_path":["服务器","权限"],"source_commits":["19e65dff3","c1cc4e688","c3afe8cf5"],"source_entry_id":"16.0/changes/035","source_hash":"4e429a7a891597dddde63433790b4f3d2b4c549a0860684dc28751eff6efcbb8","source_url":"/docs/release/16.0/#RELEASE-16-PRIVILEGES","statement_hash":"307de52e405bebdef63ba4af4fe792ce32c7a67d4ce915eea0c603db4d8d5776","text":"允许订阅不要求密码（Robert Haas）§ § § 这通过选项 password_required=false 实现。","title":"允许订阅不要求密码","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["c44f6334c"],"commit_groups":[["c44f6334c"]],"commits":["c44f6334c"],"cves":[],"db_id":"fc527d8ebbe880a16e9882d89634afe2","html":"\u003cp\u003e简化 \u003ca href=\"/docs/16/sql-lock.html\" title=\"LOCK\"\u003e\u003ccode\u003eLOCK TABLE\u003c/code\u003e\u003c/a\u003e 的权限（Jeff Davis）\u003ca href=\"https://postgr.es/c/c44f6334c\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e之前用户执行各种锁级别的 \u003ccode\u003eLOCK TABLE\u003c/code\u003e 的能力被限制为他们有权在表上执行的命令所需的锁级别。例如，具有 \u003ca href=\"/docs/16/sql-update.html\" title=\"UPDATE\"\u003e\u003ccode\u003eUPDATE\u003c/code\u003e\u003c/a\u003e 权限的用户可以执行除 \u003ccode\u003eACCESS SHARE\u003c/code\u003e 之外的所有锁级别，即使它是较低的锁级别。现在，如果用户已有更高锁级别的权限，则可以发出较低的锁级别。\u003c/p\u003e","id":"16.0-7245a4ee633b6824","identity_text":"Simplify permissions for LOCK TABLE (Jeff Davis) Previously a user's ability to perform LOCK TABLE at various lock levels was limited to the lock levels required by the commands they had permission to execute on the table. For example, someone with UPDATE permission could perform all lock levels except ACCESS SHARE, even though it was a lesser lock level. Now users can issue lesser lock levels if they already have permission for greater lock levels.","part":"changes","patch_ids":["92cd8d6c24503a354f218c931c844e15"],"related_changes":[],"relations":[],"section":"服务器 / 权限","section_path":["服务器","权限"],"source_commits":["c44f6334c"],"source_entry_id":"16.0/changes/036","source_hash":"33a87e8108b41f113de32318f6e53e4ba352d1543722cf3a9cef1e2dbd27ba84","source_url":"/docs/release/16.0/#RELEASE-16-PRIVILEGES","statement_hash":"f4aa154946307a5e841fbed6d6d106fc59b27599cb7af260229fdcb72506e922","text":"简化 LOCK TABLE 的权限（Jeff Davis）§ 之前用户执行各种锁级别的 LOCK TABLE 的能力被限制为他们有权在表上执行的命令所需的锁级别。例如，具有 UPDATE 权限的用户可以执行除 ACCESS SHARE 之外的所有锁级别，即使它是较低的锁级别。现在，如果用户已有更高锁级别的权限，则可以发出较低的锁级别。","title":"简化 LOCK TABLE 的权限","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["ce6b672e4"],"commit_groups":[["ce6b672e4"]],"commits":["ce6b672e4"],"cves":[],"db_id":"d8aeb6cda0f06bc0eae70ac8df9062cd","html":"\u003cp\u003e允许使用 \u003ccode\u003eADMIN OPTION\u003c/code\u003e 执行 \u003ca href=\"/docs/16/sql-altergroup.html\" title=\"ALTER GROUP\"\u003e\u003ccode\u003eALTER GROUP group_name ADD USER user_name\u003c/code\u003e\u003c/a\u003e（Robert Haas）\u003ca href=\"https://postgr.es/c/ce6b672e4\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e之前需要 \u003ccode\u003eCREATEROLE\u003c/code\u003e 权限。\u003c/p\u003e","id":"16.0-8119dafe5afa2107-1","identity_text":"Allow ALTER GROUP group_name ADD USER user_name to be performed with ADMIN OPTION (Robert Haas) Previously CREATEROLE permission was required.","part":"changes","patch_ids":["9e03ed8fdc94bff9e3d4992c51b50fc5"],"related_changes":[{"db_id":"e5549806f195ec72b3f07460973e0442","evidence":{"ambiguous_patch_ids":["9e03ed8fdc94bff9e3d4992c51b50fc5"],"patch_ids":["9e03ed8fdc94bff9e3d4992c51b50fc5"],"same_day":true},"kind":"related","label":"16.0","source_url":"/docs/release/16.0/#RELEASE-16-PRIVILEGES","title":"允许多个角色成员资格记录","url":"/docs/compare/?release=16.0#16.0-8b578e7e22c8ea66","version":"16.0"},{"db_id":"b51e0cd6c9c46c422491f6d043639fa1","evidence":{"ambiguous_patch_ids":["9e03ed8fdc94bff9e3d4992c51b50fc5"],"patch_ids":["9e03ed8fdc94bff9e3d4992c51b50fc5"],"same_day":true},"kind":"related","label":"16.0","source_url":"/docs/release/16.0/#RELEASE-16-PRIVILEGES","title":"在授予角色成员资格时，要求被授权人角色具有适当的权限","url":"/docs/compare/?release=16.0#16.0-8119dafe5afa2107-2","version":"16.0"},{"db_id":"add7e71eb5cbf6ad907b4f35f055974f","evidence":{"ambiguous_patch_ids":["9e03ed8fdc94bff9e3d4992c51b50fc5"],"patch_ids":["9e03ed8fdc94bff9e3d4992c51b50fc5"],"same_day":true},"kind":"related","label":"16.0","source_url":"/docs/release/16.0/#RELEASE-16-PRIVILEGES","title":"允许非超级用户使用非当前用户的被授权人授予权限","url":"/docs/compare/?release=16.0#16.0-8119dafe5afa2107-3","version":"16.0"},{"db_id":"46cf39dbbeb91c639c0ece997870da4c","evidence":{"ambiguous_patch_ids":["9e03ed8fdc94bff9e3d4992c51b50fc5"],"patch_ids":["9e03ed8fdc94bff9e3d4992c51b50fc5"],"same_day":true},"kind":"related","label":"16.0","source_url":"/docs/release/16.0/#RELEASE-16-PRIVILEGES","title":"为已授予权限的角色添加依赖跟踪","url":"/docs/compare/?release=16.0#16.0-8119dafe5afa2107-4","version":"16.0"}],"relations":[{"evidence":{"ambiguous_patch_ids":["9e03ed8fdc94bff9e3d4992c51b50fc5"],"patch_ids":["9e03ed8fdc94bff9e3d4992c51b50fc5"],"same_day":true},"rule":2,"target":"46cf39dbbeb91c639c0ece997870da4c","type":"related"},{"evidence":{"ambiguous_patch_ids":["9e03ed8fdc94bff9e3d4992c51b50fc5"],"patch_ids":["9e03ed8fdc94bff9e3d4992c51b50fc5"],"same_day":true},"rule":2,"target":"add7e71eb5cbf6ad907b4f35f055974f","type":"related"},{"evidence":{"ambiguous_patch_ids":["9e03ed8fdc94bff9e3d4992c51b50fc5"],"patch_ids":["9e03ed8fdc94bff9e3d4992c51b50fc5"],"same_day":true},"rule":2,"target":"b51e0cd6c9c46c422491f6d043639fa1","type":"related"},{"evidence":{"ambiguous_patch_ids":["9e03ed8fdc94bff9e3d4992c51b50fc5"],"patch_ids":["9e03ed8fdc94bff9e3d4992c51b50fc5"],"same_day":true},"rule":2,"target":"e5549806f195ec72b3f07460973e0442","type":"related"}],"section":"服务器 / 权限","section_path":["服务器","权限"],"source_commits":["ce6b672e4"],"source_entry_id":"16.0/changes/037","source_hash":"2c694bab726063101865af00f9e776218d0acb93f66a345fcfbe4288e5e89d9f","source_url":"/docs/release/16.0/#RELEASE-16-PRIVILEGES","statement_hash":"50f4b0a5e2a447f99b8831313b6b7c56eff52b047ed9ad71ac545f40804211e3","text":"允许使用 ADMIN OPTION 执行 ALTER GROUP group_name ADD USER user_name（Robert Haas）§ 之前需要 CREATEROLE 权限。","title":"允许使用 ADMIN OPTION 执行 ALTER GROUP group_name ADD USER user_name","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["e3ce2de09"],"commit_groups":[["e3ce2de09"]],"commits":["e3ce2de09"],"cves":[],"db_id":"16b0c20f5aecf71bf2b84e46d17b8a37","html":"\u003cp\u003e允许 \u003ca href=\"/docs/16/sql-grant.html\" title=\"GRANT\"\u003e\u003ccode\u003eGRANT\u003c/code\u003e\u003c/a\u003e 使用 \u003ccode\u003eWITH ADMIN TRUE\u003c/code\u003e/\u003ccode\u003eFALSE\u003c/code\u003e 语法（Robert Haas）\u003ca href=\"https://postgr.es/c/e3ce2de09\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e之前只支持 \u003ccode\u003eWITH ADMIN OPTION\u003c/code\u003e 语法。\u003c/p\u003e","id":"16.0-3bae53577a42f994","identity_text":"Allow GRANT to use WITH ADMIN TRUE/FALSE syntax (Robert Haas) Previously only the WITH ADMIN OPTION syntax was supported.","part":"changes","patch_ids":["504c427340a3e4db6513b1d1bf5f39f8"],"related_changes":[{"db_id":"0737ce1c20636caccfeb102fc4eee993","evidence":{"patch_ids":["504c427340a3e4db6513b1d1bf5f39f8"],"same_day":true},"kind":"related","label":"16.0","source_url":"/docs/release/16.0/#RELEASE-16-MIGRATION","title":"角色的继承属性现在决定在 GRANT 时添加的成员角色的默认继承状态","url":"/docs/compare/?release=16.0#16.0-008a75f47f428d6f","version":"16.0"}],"relations":[{"evidence":{"patch_ids":["504c427340a3e4db6513b1d1bf5f39f8"],"same_day":true},"rule":2,"target":"0737ce1c20636caccfeb102fc4eee993","type":"related"}],"section":"服务器 / 权限","section_path":["服务器","权限"],"source_commits":["e3ce2de09"],"source_entry_id":"16.0/changes/038","source_hash":"e8cfb393ebd2ac83f6ac415c289bc9e524a876fba51b7520a603b279de52ea50","source_url":"/docs/release/16.0/#RELEASE-16-PRIVILEGES","statement_hash":"3dfb4357f5ce15df95907ea1410b89d43f98351cb1da0541bfa0598bbd8ee150","text":"允许 GRANT 使用 WITH ADMIN TRUE/FALSE 语法（Robert Haas）§ 之前只支持 WITH ADMIN OPTION 语法。","title":"允许 GRANT 使用 WITH ADMIN TRUE/FALSE 语法","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["e00bc6c92","e5b8a4c09"],"commit_groups":[["e00bc6c92"],["e5b8a4c09"]],"commits":["e00bc6c92","e5b8a4c09"],"cves":[],"db_id":"5a2d20795043efe5d7ba54f500dcbc6d","html":"\u003cp\u003e允许创建其他角色的角色自动继承新角色的权限或 \u003ca href=\"/docs/16/sql-set-role.html\" title=\"SET ROLE\"\u003e\u003ccode\u003eSET ROLE\u003c/code\u003e\u003c/a\u003e 到新角色的能力（Robert Haas，Shi Yu）\u003ca href=\"https://postgr.es/c/e5b8a4c09\"\u003e§\u003c/a\u003e \u003ca href=\"https://postgr.es/c/e00bc6c92\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e这由服务器变量 \u003ca href=\"/docs/16/runtime-config-client.html#GUC-CREATEROLE-SELF-GRANT\"\u003e\u003ccode\u003ecreaterole_self_grant\u003c/code\u003e\u003c/a\u003e 控制。\u003c/p\u003e","id":"16.0-09e6d03a5ee7cdb2","identity_text":"Allow roles that create other roles to automatically inherit the new role's rights or the ability to SET ROLE to the new role (Robert Haas, Shi Yu) This is controlled by server variable createrole_self_grant.","part":"changes","patch_ids":["b92590f09690a1479e8cf6e76ae73370","f3e253234013b8b0638ec48d781250ed"],"related_changes":[],"relations":[],"section":"服务器 / 权限","section_path":["服务器","权限"],"source_commits":["e00bc6c92","e5b8a4c09"],"source_entry_id":"16.0/changes/039","source_hash":"edb2d903e6a8988421f7ea16618518c31ddb299a6199a5c42ec93c6cb589a80e","source_url":"/docs/release/16.0/#RELEASE-16-PRIVILEGES","statement_hash":"36f019ebf0697c73c0967e90e08f7296a7f79f6c72ed1829e5a59b4b95c67316","text":"允许创建其他角色的角色自动继承新角色的权限或 SET ROLE 到新角色的能力（Robert Haas，Shi Yu）§ § 这由服务器变量 createrole_self_grant 控制。","title":"允许创建其他角色的角色自动继承新角色的权限或 SET ROLE 到新角色的能力","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["48a257d44"],"commit_groups":[["48a257d44"]],"commits":["48a257d44"],"cves":[],"db_id":"70691e45c4a7d652db358ce6c6180e90","html":"\u003cp\u003e防止用户更改非继承角色的默认权限（Robert Haas）\u003ca href=\"https://postgr.es/c/48a257d44\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e现在这仅对继承的角色允许。\u003c/p\u003e","id":"16.0-cf1b3edfb3793ef4","identity_text":"Prevent users from changing the default privileges of non-inherited roles (Robert Haas) This is now only allowed for inherited roles.","part":"changes","patch_ids":["3f4006baf1d5d262bcc1ddd93c6d2ad6"],"related_changes":[],"relations":[],"section":"服务器 / 权限","section_path":["服务器","权限"],"source_commits":["48a257d44"],"source_entry_id":"16.0/changes/040","source_hash":"48658d108bfff7503c00f5095a11509669e187b6a0ddc5ae0566fa19e0307cd9","source_url":"/docs/release/16.0/#RELEASE-16-PRIVILEGES","statement_hash":"f845cbe793227ba82041283cbf383f1385fda9ce031728a0ff53e00bc430ae48","text":"防止用户更改非继承角色的默认权限（Robert Haas）§ 现在这仅对继承的角色允许。","title":"防止用户更改非继承角色的默认权限","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["ce6b672e4"],"commit_groups":[["ce6b672e4"]],"commits":["ce6b672e4"],"cves":[],"db_id":"b51e0cd6c9c46c422491f6d043639fa1","html":"\u003cp\u003e在授予角色成员资格时，要求被授权人角色具有适当的权限（Robert Haas）\u003ca href=\"https://postgr.es/c/ce6b672e4\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e即使非引导超级用户授予角色成员资格时也有此要求。\u003c/p\u003e","id":"16.0-8119dafe5afa2107-2","identity_text":"When granting role membership, require the granted-by role to be a role that has appropriate permissions (Robert Haas) This is a requirement even when a non-bootstrap superuser is granting role membership.","part":"changes","patch_ids":["9e03ed8fdc94bff9e3d4992c51b50fc5"],"related_changes":[{"db_id":"e5549806f195ec72b3f07460973e0442","evidence":{"ambiguous_patch_ids":["9e03ed8fdc94bff9e3d4992c51b50fc5"],"patch_ids":["9e03ed8fdc94bff9e3d4992c51b50fc5"],"same_day":true},"kind":"related","label":"16.0","source_url":"/docs/release/16.0/#RELEASE-16-PRIVILEGES","title":"允许多个角色成员资格记录","url":"/docs/compare/?release=16.0#16.0-8b578e7e22c8ea66","version":"16.0"},{"db_id":"d8aeb6cda0f06bc0eae70ac8df9062cd","evidence":{"ambiguous_patch_ids":["9e03ed8fdc94bff9e3d4992c51b50fc5"],"patch_ids":["9e03ed8fdc94bff9e3d4992c51b50fc5"],"same_day":true},"kind":"related","label":"16.0","source_url":"/docs/release/16.0/#RELEASE-16-PRIVILEGES","title":"允许使用 ADMIN OPTION 执行 ALTER GROUP group_name ADD USER user_name","url":"/docs/compare/?release=16.0#16.0-8119dafe5afa2107-1","version":"16.0"},{"db_id":"add7e71eb5cbf6ad907b4f35f055974f","evidence":{"ambiguous_patch_ids":["9e03ed8fdc94bff9e3d4992c51b50fc5"],"patch_ids":["9e03ed8fdc94bff9e3d4992c51b50fc5"],"same_day":true},"kind":"related","label":"16.0","source_url":"/docs/release/16.0/#RELEASE-16-PRIVILEGES","title":"允许非超级用户使用非当前用户的被授权人授予权限","url":"/docs/compare/?release=16.0#16.0-8119dafe5afa2107-3","version":"16.0"},{"db_id":"46cf39dbbeb91c639c0ece997870da4c","evidence":{"ambiguous_patch_ids":["9e03ed8fdc94bff9e3d4992c51b50fc5"],"patch_ids":["9e03ed8fdc94bff9e3d4992c51b50fc5"],"same_day":true},"kind":"related","label":"16.0","source_url":"/docs/release/16.0/#RELEASE-16-PRIVILEGES","title":"为已授予权限的角色添加依赖跟踪","url":"/docs/compare/?release=16.0#16.0-8119dafe5afa2107-4","version":"16.0"}],"relations":[{"evidence":{"ambiguous_patch_ids":["9e03ed8fdc94bff9e3d4992c51b50fc5"],"patch_ids":["9e03ed8fdc94bff9e3d4992c51b50fc5"],"same_day":true},"rule":2,"target":"46cf39dbbeb91c639c0ece997870da4c","type":"related"},{"evidence":{"ambiguous_patch_ids":["9e03ed8fdc94bff9e3d4992c51b50fc5"],"patch_ids":["9e03ed8fdc94bff9e3d4992c51b50fc5"],"same_day":true},"rule":2,"target":"add7e71eb5cbf6ad907b4f35f055974f","type":"related"},{"evidence":{"ambiguous_patch_ids":["9e03ed8fdc94bff9e3d4992c51b50fc5"],"patch_ids":["9e03ed8fdc94bff9e3d4992c51b50fc5"],"same_day":true},"rule":2,"target":"d8aeb6cda0f06bc0eae70ac8df9062cd","type":"related"},{"evidence":{"ambiguous_patch_ids":["9e03ed8fdc94bff9e3d4992c51b50fc5"],"patch_ids":["9e03ed8fdc94bff9e3d4992c51b50fc5"],"same_day":true},"rule":2,"target":"e5549806f195ec72b3f07460973e0442","type":"related"}],"section":"服务器 / 权限","section_path":["服务器","权限"],"source_commits":["ce6b672e4"],"source_entry_id":"16.0/changes/041","source_hash":"4dc9847617336b76cce7779ef6636a52b9f0bc242bfd32d1065f8b48f5cdd78f","source_url":"/docs/release/16.0/#RELEASE-16-PRIVILEGES","statement_hash":"9536c9bdef83a54f482fc98b946bb8e0b77c53bf35c15a7e0ef07b2e1bc79259","text":"在授予角色成员资格时，要求被授权人角色具有适当的权限（Robert Haas）§ 即使非引导超级用户授予角色成员资格时也有此要求。","title":"在授予角色成员资格时，要求被授权人角色具有适当的权限","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["ce6b672e4"],"commit_groups":[["ce6b672e4"]],"commits":["ce6b672e4"],"cves":[],"db_id":"add7e71eb5cbf6ad907b4f35f055974f","html":"\u003cp\u003e允许非超级用户使用非当前用户的被授权人授予权限（Robert Haas）\u003ca href=\"https://postgr.es/c/ce6b672e4\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e当前用户仍然必须具有指定被授权人所给予的足够权限。\u003c/p\u003e","id":"16.0-8119dafe5afa2107-3","identity_text":"Allow non-superusers to grant permissions using a granted-by user that is not the current user (Robert Haas) The current user still must have sufficient permissions given by the specified granted-by user.","part":"changes","patch_ids":["9e03ed8fdc94bff9e3d4992c51b50fc5"],"related_changes":[{"db_id":"e5549806f195ec72b3f07460973e0442","evidence":{"ambiguous_patch_ids":["9e03ed8fdc94bff9e3d4992c51b50fc5"],"patch_ids":["9e03ed8fdc94bff9e3d4992c51b50fc5"],"same_day":true},"kind":"related","label":"16.0","source_url":"/docs/release/16.0/#RELEASE-16-PRIVILEGES","title":"允许多个角色成员资格记录","url":"/docs/compare/?release=16.0#16.0-8b578e7e22c8ea66","version":"16.0"},{"db_id":"d8aeb6cda0f06bc0eae70ac8df9062cd","evidence":{"ambiguous_patch_ids":["9e03ed8fdc94bff9e3d4992c51b50fc5"],"patch_ids":["9e03ed8fdc94bff9e3d4992c51b50fc5"],"same_day":true},"kind":"related","label":"16.0","source_url":"/docs/release/16.0/#RELEASE-16-PRIVILEGES","title":"允许使用 ADMIN OPTION 执行 ALTER GROUP group_name ADD USER user_name","url":"/docs/compare/?release=16.0#16.0-8119dafe5afa2107-1","version":"16.0"},{"db_id":"b51e0cd6c9c46c422491f6d043639fa1","evidence":{"ambiguous_patch_ids":["9e03ed8fdc94bff9e3d4992c51b50fc5"],"patch_ids":["9e03ed8fdc94bff9e3d4992c51b50fc5"],"same_day":true},"kind":"related","label":"16.0","source_url":"/docs/release/16.0/#RELEASE-16-PRIVILEGES","title":"在授予角色成员资格时，要求被授权人角色具有适当的权限","url":"/docs/compare/?release=16.0#16.0-8119dafe5afa2107-2","version":"16.0"},{"db_id":"46cf39dbbeb91c639c0ece997870da4c","evidence":{"ambiguous_patch_ids":["9e03ed8fdc94bff9e3d4992c51b50fc5"],"patch_ids":["9e03ed8fdc94bff9e3d4992c51b50fc5"],"same_day":true},"kind":"related","label":"16.0","source_url":"/docs/release/16.0/#RELEASE-16-PRIVILEGES","title":"为已授予权限的角色添加依赖跟踪","url":"/docs/compare/?release=16.0#16.0-8119dafe5afa2107-4","version":"16.0"}],"relations":[{"evidence":{"ambiguous_patch_ids":["9e03ed8fdc94bff9e3d4992c51b50fc5"],"patch_ids":["9e03ed8fdc94bff9e3d4992c51b50fc5"],"same_day":true},"rule":2,"target":"46cf39dbbeb91c639c0ece997870da4c","type":"related"},{"evidence":{"ambiguous_patch_ids":["9e03ed8fdc94bff9e3d4992c51b50fc5"],"patch_ids":["9e03ed8fdc94bff9e3d4992c51b50fc5"],"same_day":true},"rule":2,"target":"b51e0cd6c9c46c422491f6d043639fa1","type":"related"},{"evidence":{"ambiguous_patch_ids":["9e03ed8fdc94bff9e3d4992c51b50fc5"],"patch_ids":["9e03ed8fdc94bff9e3d4992c51b50fc5"],"same_day":true},"rule":2,"target":"d8aeb6cda0f06bc0eae70ac8df9062cd","type":"related"},{"evidence":{"ambiguous_patch_ids":["9e03ed8fdc94bff9e3d4992c51b50fc5"],"patch_ids":["9e03ed8fdc94bff9e3d4992c51b50fc5"],"same_day":true},"rule":2,"target":"e5549806f195ec72b3f07460973e0442","type":"related"}],"section":"服务器 / 权限","section_path":["服务器","权限"],"source_commits":["ce6b672e4"],"source_entry_id":"16.0/changes/042","source_hash":"7086d12bf2dfcc59428971f4486c9b4dd24aa404100ea3308de428deacf9ae37","source_url":"/docs/release/16.0/#RELEASE-16-PRIVILEGES","statement_hash":"2732be0989fa829429d0b31ee46cd13307f395ef4dbc72e4d93186868981dc25","text":"允许非超级用户使用非当前用户的被授权人授予权限（Robert Haas）§ 当前用户仍然必须具有指定被授权人所给予的足够权限。","title":"允许非超级用户使用非当前用户的被授权人授予权限","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["3d14e171e"],"commit_groups":[["3d14e171e"]],"commits":["3d14e171e"],"cves":[],"db_id":"8f8bb884d7b5c618234e127c71784178","html":"\u003cp\u003e增加 \u003ca href=\"/docs/16/sql-grant.html\" title=\"GRANT\"\u003e\u003ccode\u003eGRANT\u003c/code\u003e\u003c/a\u003e 以控制使用 \u003ca href=\"/docs/16/sql-set-role.html\" title=\"SET ROLE\"\u003e\u003ccode\u003eSET ROLE\u003c/code\u003e\u003c/a\u003e 的权限（Robert Haas）\u003ca href=\"https://postgr.es/c/3d14e171e\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e这由新的 \u003ccode\u003eGRANT ... SET\u003c/code\u003e 选项控制。\u003c/p\u003e","id":"16.0-7deee221eb154816","identity_text":"Add GRANT to control permission to use SET ROLE (Robert Haas) This is controlled by a new GRANT ... SET option.","part":"changes","patch_ids":["c33f7bfe8a9672e2d613614c2a68fbce"],"related_changes":[],"relations":[],"section":"服务器 / 权限","section_path":["服务器","权限"],"source_commits":["3d14e171e"],"source_entry_id":"16.0/changes/043","source_hash":"e7c6fa9c6602b4721c729e3ddb69001509bd8620feacbace6c3604c3818ca42a","source_url":"/docs/release/16.0/#RELEASE-16-PRIVILEGES","statement_hash":"0c57e087aa12879cf26314a9e9e7d74bb74b6e57dbd3c6acf4d644d7a4ce4dc3","text":"增加 GRANT 以控制使用 SET ROLE 的权限（Robert Haas）§ 这由新的 GRANT ... SET 选项控制。","title":"增加 GRANT 以控制使用 SET ROLE 的权限","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["ce6b672e4"],"commit_groups":[["ce6b672e4"]],"commits":["ce6b672e4"],"cves":[],"db_id":"46cf39dbbeb91c639c0ece997870da4c","html":"\u003cp\u003e为已授予权限的角色添加依赖跟踪（Robert Haas）\u003ca href=\"https://postgr.es/c/ce6b672e4\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e例如，如果存在使用该选项的权限，移除 \u003ccode\u003eADMIN OPTION\u003c/code\u003e 将会失败；必须使用 \u003ccode\u003eCASCADE\u003c/code\u003e 来撤销依赖的权限。\u003c/p\u003e","id":"16.0-8119dafe5afa2107-4","identity_text":"Add dependency tracking to roles which have granted privileges (Robert Haas) For example, removing ADMIN OPTION will fail if there are privileges using that option; CASCADE must be used to revoke dependent permissions.","part":"changes","patch_ids":["9e03ed8fdc94bff9e3d4992c51b50fc5"],"related_changes":[{"db_id":"e5549806f195ec72b3f07460973e0442","evidence":{"ambiguous_patch_ids":["9e03ed8fdc94bff9e3d4992c51b50fc5"],"patch_ids":["9e03ed8fdc94bff9e3d4992c51b50fc5"],"same_day":true},"kind":"related","label":"16.0","source_url":"/docs/release/16.0/#RELEASE-16-PRIVILEGES","title":"允许多个角色成员资格记录","url":"/docs/compare/?release=16.0#16.0-8b578e7e22c8ea66","version":"16.0"},{"db_id":"d8aeb6cda0f06bc0eae70ac8df9062cd","evidence":{"ambiguous_patch_ids":["9e03ed8fdc94bff9e3d4992c51b50fc5"],"patch_ids":["9e03ed8fdc94bff9e3d4992c51b50fc5"],"same_day":true},"kind":"related","label":"16.0","source_url":"/docs/release/16.0/#RELEASE-16-PRIVILEGES","title":"允许使用 ADMIN OPTION 执行 ALTER GROUP group_name ADD USER user_name","url":"/docs/compare/?release=16.0#16.0-8119dafe5afa2107-1","version":"16.0"},{"db_id":"b51e0cd6c9c46c422491f6d043639fa1","evidence":{"ambiguous_patch_ids":["9e03ed8fdc94bff9e3d4992c51b50fc5"],"patch_ids":["9e03ed8fdc94bff9e3d4992c51b50fc5"],"same_day":true},"kind":"related","label":"16.0","source_url":"/docs/release/16.0/#RELEASE-16-PRIVILEGES","title":"在授予角色成员资格时，要求被授权人角色具有适当的权限","url":"/docs/compare/?release=16.0#16.0-8119dafe5afa2107-2","version":"16.0"},{"db_id":"add7e71eb5cbf6ad907b4f35f055974f","evidence":{"ambiguous_patch_ids":["9e03ed8fdc94bff9e3d4992c51b50fc5"],"patch_ids":["9e03ed8fdc94bff9e3d4992c51b50fc5"],"same_day":true},"kind":"related","label":"16.0","source_url":"/docs/release/16.0/#RELEASE-16-PRIVILEGES","title":"允许非超级用户使用非当前用户的被授权人授予权限","url":"/docs/compare/?release=16.0#16.0-8119dafe5afa2107-3","version":"16.0"}],"relations":[{"evidence":{"ambiguous_patch_ids":["9e03ed8fdc94bff9e3d4992c51b50fc5"],"patch_ids":["9e03ed8fdc94bff9e3d4992c51b50fc5"],"same_day":true},"rule":2,"target":"add7e71eb5cbf6ad907b4f35f055974f","type":"related"},{"evidence":{"ambiguous_patch_ids":["9e03ed8fdc94bff9e3d4992c51b50fc5"],"patch_ids":["9e03ed8fdc94bff9e3d4992c51b50fc5"],"same_day":true},"rule":2,"target":"b51e0cd6c9c46c422491f6d043639fa1","type":"related"},{"evidence":{"ambiguous_patch_ids":["9e03ed8fdc94bff9e3d4992c51b50fc5"],"patch_ids":["9e03ed8fdc94bff9e3d4992c51b50fc5"],"same_day":true},"rule":2,"target":"d8aeb6cda0f06bc0eae70ac8df9062cd","type":"related"},{"evidence":{"ambiguous_patch_ids":["9e03ed8fdc94bff9e3d4992c51b50fc5"],"patch_ids":["9e03ed8fdc94bff9e3d4992c51b50fc5"],"same_day":true},"rule":2,"target":"e5549806f195ec72b3f07460973e0442","type":"related"}],"section":"服务器 / 权限","section_path":["服务器","权限"],"source_commits":["ce6b672e4"],"source_entry_id":"16.0/changes/044","source_hash":"cb7c1ff728cfae933345c7639283714645e90dd795f28400eba52e62435423f4","source_url":"/docs/release/16.0/#RELEASE-16-PRIVILEGES","statement_hash":"0453d91c7a1a281aa1fd4a77eedd82810d6846abf6c77e4254ef43e390a283d5","text":"为已授予权限的角色添加依赖跟踪（Robert Haas）§ 例如，如果存在使用该选项的权限，移除 ADMIN OPTION 将会失败；必须使用 CASCADE 来撤销依赖的权限。","title":"为已授予权限的角色添加依赖跟踪","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["6566133c5"],"commit_groups":[["6566133c5"]],"commits":["6566133c5"],"cves":[],"db_id":"52efd571f0ee8e32038ae683a496bd22","html":"\u003cp\u003e为 \u003ca href=\"/docs/16/sql-grant.html\" title=\"GRANT\"\u003e\u003ccode\u003eGRANT\u003c/code\u003e\u003c/a\u003e 记录添加授予者的依赖跟踪（Robert Haas）\u003ca href=\"https://postgr.es/c/6566133c5\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e这保证 \u003ca href=\"/docs/16/catalog-pg-auth-members.html\" title=\"53.9. pg_auth_members\"\u003e\u003ccode\u003epg_auth_members\u003c/code\u003e\u003c/a\u003e.\u003ccode\u003egrantor\u003c/code\u003e 值始终有效。\u003c/p\u003e","id":"16.0-06e6c4d231218e8f","identity_text":"Add dependency tracking of grantors for GRANT records (Robert Haas) This guarantees that pg_auth_members.grantor values are always valid.","part":"changes","patch_ids":["59aa033cf476f9a4b2129145ab39e4a8"],"related_changes":[],"relations":[],"section":"服务器 / 权限","section_path":["服务器","权限"],"source_commits":["6566133c5"],"source_entry_id":"16.0/changes/045","source_hash":"1145c2d8f897e10f1fe3d3dab39929ab99e853ab34a5adf15fd8ff94e2eb4b0f","source_url":"/docs/release/16.0/#RELEASE-16-PRIVILEGES","statement_hash":"03037fe0a26a0b06363106af277e98bd82ebb323583dcd1de997c24f58b777fd","text":"为 GRANT 记录添加授予者的依赖跟踪（Robert Haas）§ 这保证 pg_auth_members.grantor 值始终有效。","title":"为 GRANT 记录添加授予者的依赖跟踪","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["0101f770a","ce6b672e4"],"commit_groups":[["0101f770a"],["ce6b672e4"]],"commits":["0101f770a","ce6b672e4"],"cves":[],"db_id":"e5549806f195ec72b3f07460973e0442","html":"\u003cp\u003e允许多个角色成员资格记录（Robert Haas）\u003ca href=\"https://postgr.es/c/ce6b672e4\"\u003e§\u003c/a\u003e \u003ca href=\"https://postgr.es/c/0101f770a\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e之前，新的成员资格授予会移除之前匹配的成员资格授予，即使授予的其他方面不匹配。\u003c/p\u003e","id":"16.0-8b578e7e22c8ea66","identity_text":"Allow multiple role membership records (Robert Haas) Previously a new membership grant would remove a previous matching membership grant, even if other aspects of the grant did not match.","part":"changes","patch_ids":["5823850ecf50580450f3b6a6264b5424","9e03ed8fdc94bff9e3d4992c51b50fc5"],"related_changes":[{"db_id":"d8aeb6cda0f06bc0eae70ac8df9062cd","evidence":{"ambiguous_patch_ids":["9e03ed8fdc94bff9e3d4992c51b50fc5"],"patch_ids":["9e03ed8fdc94bff9e3d4992c51b50fc5"],"same_day":true},"kind":"related","label":"16.0","source_url":"/docs/release/16.0/#RELEASE-16-PRIVILEGES","title":"允许使用 ADMIN OPTION 执行 ALTER GROUP group_name ADD USER user_name","url":"/docs/compare/?release=16.0#16.0-8119dafe5afa2107-1","version":"16.0"},{"db_id":"b51e0cd6c9c46c422491f6d043639fa1","evidence":{"ambiguous_patch_ids":["9e03ed8fdc94bff9e3d4992c51b50fc5"],"patch_ids":["9e03ed8fdc94bff9e3d4992c51b50fc5"],"same_day":true},"kind":"related","label":"16.0","source_url":"/docs/release/16.0/#RELEASE-16-PRIVILEGES","title":"在授予角色成员资格时，要求被授权人角色具有适当的权限","url":"/docs/compare/?release=16.0#16.0-8119dafe5afa2107-2","version":"16.0"},{"db_id":"add7e71eb5cbf6ad907b4f35f055974f","evidence":{"ambiguous_patch_ids":["9e03ed8fdc94bff9e3d4992c51b50fc5"],"patch_ids":["9e03ed8fdc94bff9e3d4992c51b50fc5"],"same_day":true},"kind":"related","label":"16.0","source_url":"/docs/release/16.0/#RELEASE-16-PRIVILEGES","title":"允许非超级用户使用非当前用户的被授权人授予权限","url":"/docs/compare/?release=16.0#16.0-8119dafe5afa2107-3","version":"16.0"},{"db_id":"46cf39dbbeb91c639c0ece997870da4c","evidence":{"ambiguous_patch_ids":["9e03ed8fdc94bff9e3d4992c51b50fc5"],"patch_ids":["9e03ed8fdc94bff9e3d4992c51b50fc5"],"same_day":true},"kind":"related","label":"16.0","source_url":"/docs/release/16.0/#RELEASE-16-PRIVILEGES","title":"为已授予权限的角色添加依赖跟踪","url":"/docs/compare/?release=16.0#16.0-8119dafe5afa2107-4","version":"16.0"}],"relations":[{"evidence":{"ambiguous_patch_ids":["9e03ed8fdc94bff9e3d4992c51b50fc5"],"patch_ids":["9e03ed8fdc94bff9e3d4992c51b50fc5"],"same_day":true},"rule":2,"target":"46cf39dbbeb91c639c0ece997870da4c","type":"related"},{"evidence":{"ambiguous_patch_ids":["9e03ed8fdc94bff9e3d4992c51b50fc5"],"patch_ids":["9e03ed8fdc94bff9e3d4992c51b50fc5"],"same_day":true},"rule":2,"target":"add7e71eb5cbf6ad907b4f35f055974f","type":"related"},{"evidence":{"ambiguous_patch_ids":["9e03ed8fdc94bff9e3d4992c51b50fc5"],"patch_ids":["9e03ed8fdc94bff9e3d4992c51b50fc5"],"same_day":true},"rule":2,"target":"b51e0cd6c9c46c422491f6d043639fa1","type":"related"},{"evidence":{"ambiguous_patch_ids":["9e03ed8fdc94bff9e3d4992c51b50fc5"],"patch_ids":["9e03ed8fdc94bff9e3d4992c51b50fc5"],"same_day":true},"rule":2,"target":"d8aeb6cda0f06bc0eae70ac8df9062cd","type":"related"}],"section":"服务器 / 权限","section_path":["服务器","权限"],"source_commits":["0101f770a","ce6b672e4"],"source_entry_id":"16.0/changes/046","source_hash":"49a4cff66517454ef299ee39e3eb8265aab5c13a579743fd5acc16f01492baff","source_url":"/docs/release/16.0/#RELEASE-16-PRIVILEGES","statement_hash":"b08c1cdb28f81efd659cdf33495f344f12cdbc0d6ad4d69047d63559167b1c50","text":"允许多个角色成员资格记录（Robert Haas）§ § 之前，新的成员资格授予会移除之前匹配的成员资格授予，即使授予的其他方面不匹配。","title":"允许多个角色成员资格记录","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["e530be2c5"],"commit_groups":[["e530be2c5"]],"commits":["e530be2c5"],"cves":[],"db_id":"5e71b967c11394fe2bde1f8969897aea","html":"\u003cp\u003e防止移除引导用户的超级用户权限（Robert Haas）\u003ca href=\"https://postgr.es/c/e530be2c5\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e恢复此类用户可能导致错误。\u003c/p\u003e","id":"16.0-fd3d5e80c129bfc4","identity_text":"Prevent removal of superuser privileges for the bootstrap user (Robert Haas) Restoring such users could lead to errors.","part":"changes","patch_ids":["b96a542d2c0ed68a09668d883c837407"],"related_changes":[],"relations":[],"section":"服务器 / 权限","section_path":["服务器","权限"],"source_commits":["e530be2c5"],"source_entry_id":"16.0/changes/047","source_hash":"c230ed9871388a6779e329f412b60aa113dec94d9faaa518e22bef6d76c8d69f","source_url":"/docs/release/16.0/#RELEASE-16-PRIVILEGES","statement_hash":"85c1c5797e5867ef59b1173281b9ca1231c458047b2e1cb07c7609b11745aa24","text":"防止移除引导用户的超级用户权限（Robert Haas）§ 恢复此类用户可能导致错误。","title":"防止移除引导用户的超级用户权限","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["b762bbde3"],"commit_groups":[["b762bbde3"]],"commits":["b762bbde3"],"cves":[],"db_id":"f265b7e845ebbdbdebc6a1a2e4113a11","html":"\u003cp\u003e允许 \u003ca href=\"/docs/16/functions-info.html#FUNCTIONS-ACLITEM-FN-TABLE\" title=\"表 9.70. aclitem 函数\"\u003e\u003ccode\u003emakeaclitem()\u003c/code\u003e\u003c/a\u003e 接受多个权限名称（Robins Tharakan）\u003ca href=\"https://postgr.es/c/b762bbde3\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e之前只接受单个权限名称，如 \u003ca href=\"/docs/16/sql-select.html\" title=\"SELECT\"\u003e\u003ccode\u003eSELECT\u003c/code\u003e\u003c/a\u003e。\u003c/p\u003e","id":"16.0-4d63e845120393a6","identity_text":"Allow makeaclitem() to accept multiple privilege names (Robins Tharakan) Previously only a single privilege name, like SELECT, was accepted.","part":"changes","patch_ids":["ef4aa9680eadb09acd78e4250b621f41"],"related_changes":[],"relations":[],"section":"服务器 / 权限","section_path":["服务器","权限"],"source_commits":["b762bbde3"],"source_entry_id":"16.0/changes/048","source_hash":"7805006273fc53fce8a0b39dbc88e99289e76383ef717e6e6859364f8f051b5c","source_url":"/docs/release/16.0/#RELEASE-16-PRIVILEGES","statement_hash":"38a381ebb31955cdae1621635b97c81906bbecceb794d0a41a96959f71d51862","text":"允许 makeaclitem() 接受多个权限名称（Robins Tharakan）§ 之前只接受单个权限名称，如 SELECT。","title":"允许 makeaclitem() 接受多个权限名称","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["6633cfb21","9c0a0e2ed","a2eb99a01","f4001a553"],"commit_groups":[["6633cfb21"],["9c0a0e2ed"],["a2eb99a01"],["f4001a553"]],"commits":["6633cfb21","9c0a0e2ed","a2eb99a01","f4001a553"],"cves":[],"db_id":"dcbadd54b20e0d114716d2113a30a8de","html":"\u003cp\u003e增加对 \u003cspan\u003eKerberos\u003c/span\u003e 凭证委托的支持（Stephen Frost）\u003ca href=\"https://postgr.es/c/6633cfb21\"\u003e§\u003c/a\u003e \u003ca href=\"https://postgr.es/c/9c0a0e2ed\"\u003e§\u003c/a\u003e \u003ca href=\"https://postgr.es/c/f4001a553\"\u003e§\u003c/a\u003e \u003ca href=\"https://postgr.es/c/a2eb99a01\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e这通过服务器变量 \u003ca href=\"/docs/16/runtime-config-connection.html#GUC-GSS-ACCEPT-DELEGATION\"\u003e\u003ccode\u003egss_accept_delegation\u003c/code\u003e\u003c/a\u003e 和 \u003cspan\u003elibpq\u003c/span\u003e 连接参数 \u003ca href=\"/docs/16/libpq-connect.html#LIBPQ-CONNECT-GSSDELEGATION\"\u003e\u003ccode\u003egssdelegation\u003c/code\u003e\u003c/a\u003e 启用。\u003c/p\u003e","id":"16.0-25dc87585ec7220a","identity_text":"Add support for Kerberos credential delegation (Stephen Frost) This is enabled with server variable gss_accept_delegation and libpq connection parameter gssdelegation.","part":"changes","patch_ids":["01c7b4f4adb2512faa0fa9c36a532a20","2bcdb90738956868491da46a7918447f","2e518c09694cc61b96385ca890acc6aa","af56ccf50a0ab7b4ad6a4612fdfac910"],"related_changes":[],"relations":[],"section":"服务器 / 服务器配置","section_path":["服务器","服务器配置"],"source_commits":["6633cfb21","9c0a0e2ed","a2eb99a01","f4001a553"],"source_entry_id":"16.0/changes/049","source_hash":"21b03ac48150547a37557607859f6e583245937a4d894519e347e3b0adba1f98","source_url":"/docs/release/16.0/#RELEASE-16-SERVER-CONFIG","statement_hash":"41547c48699ee81f69db888ddbb9f73bc474452c2b10fad41d18f5e48eeab40a","text":"增加对 Kerberos 凭证委托的支持（Stephen Frost）§ § § § 这通过服务器变量 gss_accept_delegation 和 libpq 连接参数 gssdelegation 启用。","title":"增加对 Kerberos 凭证委托的支持","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["b57774300"],"commit_groups":[["b57774300"]],"commits":["b57774300"],"cves":[],"db_id":"d02cb7bdd4e93a2f40be0c5b25704e41","html":"\u003cp\u003e允许通过服务器变量 \u003ca href=\"/docs/16/runtime-config-connection.html#GUC-SCRAM-ITERATIONS\"\u003e\u003ccode\u003escram_iterations\u003c/code\u003e\u003c/a\u003e 设置 \u003cacronym\u003eSCRAM\u003c/acronym\u003e 迭代次数（Daniel Gustafsson）\u003ca href=\"https://postgr.es/c/b57774300\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"16.0-41a27c2fa5f8f067","identity_text":"Allow the SCRAM iteration count to be set with server variable scram_iterations (Daniel Gustafsson)","part":"changes","patch_ids":["caa5db0607f2728632c236b059325eb6"],"related_changes":[],"relations":[],"section":"服务器 / 服务器配置","section_path":["服务器","服务器配置"],"source_commits":["b57774300"],"source_entry_id":"16.0/changes/050","source_hash":"26599be42fc3b2e765602598b097694d12762f2ae846a037f1b8b58e52c87a8e","source_url":"/docs/release/16.0/#RELEASE-16-SERVER-CONFIG","statement_hash":"00a51a09426bc9f3e209a9f07dd58edd99703ef5888e561ec3d9308820f613d9","text":"允许通过服务器变量 scram_iterations 设置 SCRAM 迭代次数（Daniel Gustafsson）§","title":"允许通过服务器变量 scram_iterations 设置 SCRAM 迭代次数","variants":[],"version":"16.0"},{"also_in":[],"category":"performance","category_label":"Performance","commit_aliases":["3057465ac","f13b2088f"],"commit_groups":[["3057465ac"],["f13b2088f"]],"commits":["3057465ac","f13b2088f"],"cves":[],"db_id":"72456f3edbba53b83d3d3ba5105e4086","html":"\u003cp\u003e改进服务器变量管理的性能（Tom Lane）\u003ca href=\"https://postgr.es/c/3057465ac\"\u003e§\u003c/a\u003e \u003ca href=\"https://postgr.es/c/f13b2088f\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"16.0-4aac74fa507df59a","identity_text":"Improve performance of server variable management (Tom Lane)","part":"changes","patch_ids":["82b79513baeefb90e5b74454642a75f5","d48327561a477724c4ea8b19e227c0ee"],"related_changes":[],"relations":[],"section":"服务器 / 服务器配置","section_path":["服务器","服务器配置"],"source_commits":["3057465ac","f13b2088f"],"source_entry_id":"16.0/changes/051","source_hash":"5b947899546cce942c483232289fc7d98d6b20941250299d36aba858bc8db5be","source_url":"/docs/release/16.0/#RELEASE-16-SERVER-CONFIG","statement_hash":"9b71d3e1baf5efe3a8947e03b65e980b6a3f8639cff86542308d8d3a1364a2a2","text":"改进服务器变量管理的性能（Tom Lane）§ §","title":"改进服务器变量管理的性能","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["385366426"],"commit_groups":[["385366426"]],"commits":["385366426"],"cves":[],"db_id":"069a189709e773965316678f36c3c950","html":"\u003cp\u003e收紧对哪些服务器变量可以重置的限制（Masahiko Sawada）\u003ca href=\"https://postgr.es/c/385366426\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e之前，虽然某些变量（如 \u003ca href=\"/docs/16/runtime-config-client.html#GUC-DEFAULT-TRANSACTION-ISOLATION\"\u003e\u003ccode\u003etransaction_isolation\u003c/code\u003e\u003c/a\u003e）不受 \u003ca href=\"/docs/16/sql-reset.html\" title=\"RESET\"\u003e\u003ccode\u003eRESET ALL\u003c/code\u003e\u003c/a\u003e 影响，但它们可以在不适当的情况下被单独重置。\u003c/p\u003e","id":"16.0-731c90f013f5ccf5","identity_text":"Tighten restrictions on which server variables can be reset (Masahiko Sawada) Previously, while certain variables, like transaction_isolation, were not affected by RESET ALL, they could be individually reset in inappropriate situations.","part":"changes","patch_ids":["4682f4c5535186a0fc23921a53137ac4"],"related_changes":[],"relations":[],"section":"服务器 / 服务器配置","section_path":["服务器","服务器配置"],"source_commits":["385366426"],"source_entry_id":"16.0/changes/052","source_hash":"baebc4661882fc15c56fba10bede57fd70f6e92364f6cf66bcc10946abd5339b","source_url":"/docs/release/16.0/#RELEASE-16-SERVER-CONFIG","statement_hash":"b9c949b6b48d5600a854b46d9a50f35ec85b5fdd353a564b7c1dd0738a1b83b7","text":"收紧对哪些服务器变量可以重置的限制（Masahiko Sawada）§ 之前，虽然某些变量（如 transaction_isolation）不受 RESET ALL 影响，但它们可以在不适当的情况下被单独重置。","title":"收紧对哪些服务器变量可以重置的限制","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["0b039e3a8"],"commit_groups":[["0b039e3a8"]],"commits":["0b039e3a8"],"cves":[],"db_id":"52293c1ffe8c2f4c0b1ccf3b3e7d7944","html":"\u003cp\u003e将各种 \u003ca href=\"/docs/16/config-setting.html#CONFIG-SETTING-CONFIGURATION-FILE\" title=\"20.1.2. 通过配置文件影响参数\"\u003e\u003ccode\u003epostgresql.conf\u003c/code\u003e\u003c/a\u003e 项目移入新类别（Shinya Kato）\u003ca href=\"https://postgr.es/c/0b039e3a8\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e这也影响 \u003ca href=\"/docs/16/view-pg-settings.html\" title=\"54.24. pg_settings\"\u003e\u003ccode\u003epg_settings\u003c/code\u003e\u003c/a\u003e 视图中显示的类别。\u003c/p\u003e","id":"16.0-1f27f229dc6ecdf4","identity_text":"Move various postgresql.conf items into new categories (Shinya Kato) This also affects the categories displayed in the pg_settings view.","part":"changes","patch_ids":["032d48614395b562d30cdc258a29cdad"],"related_changes":[],"relations":[],"section":"服务器 / 服务器配置","section_path":["服务器","服务器配置"],"source_commits":["0b039e3a8"],"source_entry_id":"16.0/changes/053","source_hash":"c0ead218910ca0038dbf5cf71ae9dfec0c9cbdcd7d7d0806444e35825e75454d","source_url":"/docs/release/16.0/#RELEASE-16-SERVER-CONFIG","statement_hash":"3ced1b20f610b1960ee88bcca6c62caeab5aa398a2de7ec5e70aeb10c755c5c2","text":"将各种 postgresql.conf 项目移入新类别（Shinya Kato）§ 这也影响 pg_settings 视图中显示的类别。","title":"将各种 postgresql.conf 项目移入新类别","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["d13b68411"],"commit_groups":[["d13b68411"]],"commits":["d13b68411"],"cves":[],"db_id":"adc61829793667f5200602f7e8b8baf3","html":"\u003cp\u003e防止配置文件递归超过 10 层（Julien Rouhaud）\u003ca href=\"https://postgr.es/c/d13b68411\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"16.0-a3b12342e1e56b11","identity_text":"Prevent configuration file recursion beyond 10 levels (Julien Rouhaud)","part":"changes","patch_ids":["1be57ff0d37324066ec62472bd95aac6"],"related_changes":[],"relations":[],"section":"服务器 / 服务器配置","section_path":["服务器","服务器配置"],"source_commits":["d13b68411"],"source_entry_id":"16.0/changes/054","source_hash":"a54a2c962ab64b3e05504313b6e026053696f03bd807705e788c2a536d685f60","source_url":"/docs/release/16.0/#RELEASE-16-SERVER-CONFIG","statement_hash":"189ebb0a7be5cee5449427ba2063bf623a05c75a8fcb20da9c6093100ac5ce29","text":"防止配置文件递归超过 10 层（Julien Rouhaud）§","title":"防止配置文件递归超过 10 层","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["7d71d3dd0","a9781ae11"],"commit_groups":[["7d71d3dd0"],["a9781ae11"]],"commits":["7d71d3dd0","a9781ae11"],"cves":[],"db_id":"bbfb2744048c0b38b6d39763ff3738ed","html":"\u003cp\u003e允许\u003ca href=\"/docs/16/routine-vacuuming.html#AUTOVACUUM\" title=\"25.1.6. 自动清理守护进程\"\u003e自动清理\u003c/a\u003e更频繁地遵守延迟设置的更改（Melanie Plageman）\u003ca href=\"https://postgr.es/c/7d71d3dd0\"\u003e§\u003c/a\u003e \u003ca href=\"https://postgr.es/c/a9781ae11\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e不再仅在每个关系开始时遵守更改，而是在每个块开始时遵守更改。\u003c/p\u003e","id":"16.0-c57e48dfca6424d3","identity_text":"Allow autovacuum to more frequently honor changes to delay settings (Melanie Plageman) Rather than honor changes only at the start of each relation, honor them at the start of each block.","part":"changes","patch_ids":["40926f87825db16b1cdd8e643727cb03","80f3452643f837b520778d921549516a"],"related_changes":[],"relations":[],"section":"服务器 / 服务器配置","section_path":["服务器","服务器配置"],"source_commits":["7d71d3dd0","a9781ae11"],"source_entry_id":"16.0/changes/055","source_hash":"b215f7135f886bfd05ac0445870dfa6fb0927682739a56e7c956484b8e9e6dab","source_url":"/docs/release/16.0/#RELEASE-16-SERVER-CONFIG","statement_hash":"0ed61549eef266287afb3daee82e5cbe22033b0552202d11b6360977e19f76f6","text":"允许自动清理更频繁地遵守延迟设置的更改（Melanie Plageman）§ § 不再仅在每个关系开始时遵守更改，而是在每个块开始时遵守更改。","title":"允许自动清理更频繁地遵守延迟设置的更改","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["3cabe45a8","756e221db"],"commit_groups":[["3cabe45a8"],["756e221db"]],"commits":["3cabe45a8","756e221db"],"cves":[],"db_id":"ae728e9901d610f4a4062ec168fdcc8d","html":"\u003cp\u003e移除归档文件必须持久重命名的限制（Nathan Bossart）\u003ca href=\"https://postgr.es/c/756e221db\"\u003e§\u003c/a\u003e \u003ca href=\"https://postgr.es/c/3cabe45a8\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"/docs/16/runtime-config-wal.html#GUC-ARCHIVE-COMMAND\"\u003e\u003ccode\u003earchive_command\u003c/code\u003e\u003c/a\u003e 命令现在更可能在崩溃后使用已归档的文件被调用。\u003c/p\u003e","id":"16.0-2f2f94e72de70fc4","identity_text":"Remove restrictions that archive files be durably renamed (Nathan Bossart) The archive_command command is now more likely to be called with already-archived files after a crash.","part":"changes","patch_ids":["3adc366fd644d4de925ee04d294996b1","494e83215081bb9269ec840c6c9fb437"],"related_changes":[],"relations":[],"section":"服务器 / 服务器配置","section_path":["服务器","服务器配置"],"source_commits":["3cabe45a8","756e221db"],"source_entry_id":"16.0/changes/056","source_hash":"aa717a027da1b0b1d07b3f5e8316292735b27ee8944cb37bde331816e872cbb4","source_url":"/docs/release/16.0/#RELEASE-16-SERVER-CONFIG","statement_hash":"172ddc2abcde54028745ed89ca41713c513f80b853ad97904e7b5594fa04f98e","text":"移除归档文件必须持久重命名的限制（Nathan Bossart）§ § archive_command 命令现在更可能在崩溃后使用已归档的文件被调用。","title":"移除归档文件必须持久重命名的限制","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["d627ce3b7"],"commit_groups":[["d627ce3b7"]],"commits":["d627ce3b7"],"cves":[],"db_id":"bd285d14fa2dd18bff3bfd9d4aca971f","html":"\u003cp\u003e防止同时设置 \u003ca href=\"/docs/16/runtime-config-wal.html#GUC-ARCHIVE-LIBRARY\"\u003e\u003ccode\u003earchive_library\u003c/code\u003e\u003c/a\u003e 和 \u003ca href=\"/docs/16/runtime-config-wal.html#GUC-ARCHIVE-COMMAND\"\u003e\u003ccode\u003earchive_command\u003c/code\u003e\u003c/a\u003e（Nathan Bossart）\u003ca href=\"https://postgr.es/c/d627ce3b7\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e之前 \u003ccode\u003earchive_library\u003c/code\u003e 会覆盖 \u003ccode\u003earchive_command\u003c/code\u003e。\u003c/p\u003e","id":"16.0-8454b1a0772cca7b","identity_text":"Prevent archive_library and archive_command from being set at the same time (Nathan Bossart) Previously archive_library would override archive_command.","part":"changes","patch_ids":["9e199fa6e71a83bb906836152aad67b2"],"related_changes":[],"relations":[],"section":"服务器 / 服务器配置","section_path":["服务器","服务器配置"],"source_commits":["d627ce3b7"],"source_entry_id":"16.0/changes/057","source_hash":"85be49c20a6c8c5720b58f8b223387a798772fcba0d08e49afa207cb9d4cd413","source_url":"/docs/release/16.0/#RELEASE-16-SERVER-CONFIG","statement_hash":"3c1301f6373b304786fe4a267212c2d3f32a6db521e67fa11e711a12e8e61ce0","text":"防止同时设置 archive_library 和 archive_command（Nathan Bossart）§ 之前 archive_library 会覆盖 archive_command。","title":"防止同时设置 archive_library 和 archive_command","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["51b5834cd"],"commit_groups":[["51b5834cd"]],"commits":["51b5834cd"],"cves":[],"db_id":"f2eb46938ff9e93ea2686da06878253b","html":"\u003cp\u003e允许 postmaster 使用中止信号终止子进程（Tom Lane）\u003ca href=\"https://postgr.es/c/51b5834cd\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e这允许收集卡住的子进程的核心转储。这由 \u003ca href=\"/docs/16/runtime-config-developer.html#GUC-SEND-ABORT-FOR-CRASH\"\u003e\u003ccode\u003esend_abort_for_crash\u003c/code\u003e\u003c/a\u003e 和 \u003ca href=\"/docs/16/runtime-config-developer.html#GUC-SEND-ABORT-FOR-KILL\"\u003e\u003ccode\u003esend_abort_for_kill\u003c/code\u003e\u003c/a\u003e 控制。postmaster 的 \u003ccode\u003e-T\u003c/code\u003e 开关现在与设置 \u003ccode\u003esend_abort_for_crash\u003c/code\u003e 相同。\u003c/p\u003e","id":"16.0-19303eb4fd8ca3e4-1","identity_text":"Allow the postmaster to terminate children with an abort signal (Tom Lane) This allows collection of a core dump for a stuck child process. This is controlled by send_abort_for_crash and send_abort_for_kill. The postmaster's -T switch is now the same as setting send_abort_for_crash.","part":"changes","patch_ids":["a4fef756bfd4fd9f378e3e0ed20ab82b"],"related_changes":[{"db_id":"59a0c46d329c68323a069318e496d443","evidence":{"ambiguous_patch_ids":["a4fef756bfd4fd9f378e3e0ed20ab82b"],"patch_ids":["a4fef756bfd4fd9f378e3e0ed20ab82b"],"same_day":true},"kind":"related","label":"16.0","source_url":"/docs/release/16.0/#RELEASE-16-SERVER-CONFIG","title":"移除无功能的 postmaster -n 选项","url":"/docs/compare/?release=16.0#16.0-19303eb4fd8ca3e4-2","version":"16.0"}],"relations":[{"evidence":{"ambiguous_patch_ids":["a4fef756bfd4fd9f378e3e0ed20ab82b"],"patch_ids":["a4fef756bfd4fd9f378e3e0ed20ab82b"],"same_day":true},"rule":2,"target":"59a0c46d329c68323a069318e496d443","type":"related"}],"section":"服务器 / 服务器配置","section_path":["服务器","服务器配置"],"source_commits":["51b5834cd"],"source_entry_id":"16.0/changes/058","source_hash":"63fad43e4bf12b2034b24b727e0ee183cd87f3447c4deb0a4362dca6027adb11","source_url":"/docs/release/16.0/#RELEASE-16-SERVER-CONFIG","statement_hash":"4afb0bf1b7f089b1b55ee7968e1425161a2a7dc0a4eb643695e6f8214c9a5526","text":"允许 postmaster 使用中止信号终止子进程（Tom Lane）§ 这允许收集卡住的子进程的核心转储。这由 send_abort_for_crash 和 send_abort_for_kill 控制。postmaster 的 -T 开关现在与设置 send_abort_for_crash 相同。","title":"允许 postmaster 使用中止信号终止子进程","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["51b5834cd"],"commit_groups":[["51b5834cd"]],"commits":["51b5834cd"],"cves":[],"db_id":"59a0c46d329c68323a069318e496d443","html":"\u003cp\u003e移除无功能的 postmaster \u003ccode\u003e-n\u003c/code\u003e 选项（Tom Lane）\u003ca href=\"https://postgr.es/c/51b5834cd\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"16.0-19303eb4fd8ca3e4-2","identity_text":"Remove the non-functional postmaster -n option (Tom Lane)","part":"changes","patch_ids":["a4fef756bfd4fd9f378e3e0ed20ab82b"],"related_changes":[{"db_id":"f2eb46938ff9e93ea2686da06878253b","evidence":{"ambiguous_patch_ids":["a4fef756bfd4fd9f378e3e0ed20ab82b"],"patch_ids":["a4fef756bfd4fd9f378e3e0ed20ab82b"],"same_day":true},"kind":"related","label":"16.0","source_url":"/docs/release/16.0/#RELEASE-16-SERVER-CONFIG","title":"允许 postmaster 使用中止信号终止子进程","url":"/docs/compare/?release=16.0#16.0-19303eb4fd8ca3e4-1","version":"16.0"}],"relations":[{"evidence":{"ambiguous_patch_ids":["a4fef756bfd4fd9f378e3e0ed20ab82b"],"patch_ids":["a4fef756bfd4fd9f378e3e0ed20ab82b"],"same_day":true},"rule":2,"target":"f2eb46938ff9e93ea2686da06878253b","type":"related"}],"section":"服务器 / 服务器配置","section_path":["服务器","服务器配置"],"source_commits":["51b5834cd"],"source_entry_id":"16.0/changes/059","source_hash":"cb971a2237c1fb3b6ff998c3d997789027dbcb1d681286ca7b7667f8fe326ded","source_url":"/docs/release/16.0/#RELEASE-16-SERVER-CONFIG","statement_hash":"adc170c024b3bb0575cbaf08cfcdbf458639d26adf98bd98fdae07158f198b48","text":"移除无功能的 postmaster -n 选项（Tom Lane）§","title":"移除无功能的 postmaster -n 选项","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["6e2775e4d"],"commit_groups":[["6e2775e4d"]],"commits":["6e2775e4d"],"cves":[],"db_id":"9ba0c9b1c130e3dfefa0d23528067f59","html":"\u003cp\u003e允许服务器为具有 \u003ca href=\"/docs/16/predefined-roles.html\" title=\"22.5. 预定义角色\"\u003e\u003ccode\u003epg_use_reserved_connections\u003c/code\u003e\u003c/a\u003e 成员资格的角色预留后端槽位（Nathan Bossart）\u003ca href=\"https://postgr.es/c/6e2775e4d\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e预留槽位的数量由服务器变量 \u003ca href=\"/docs/16/runtime-config-connection.html#GUC-RESERVED-CONNECTIONS\"\u003e\u003ccode\u003ereserved_connections\u003c/code\u003e\u003c/a\u003e 设置。\u003c/p\u003e","id":"16.0-311049b30b1b4a71","identity_text":"Allow the server to reserve backend slots for roles with pg_use_reserved_connections membership (Nathan Bossart) The number of reserved slots is set by server variable reserved_connections.","part":"changes","patch_ids":["d641e1537268a21e9c60ba96744d45ac"],"related_changes":[],"relations":[],"section":"服务器 / 服务器配置","section_path":["服务器","服务器配置"],"source_commits":["6e2775e4d"],"source_entry_id":"16.0/changes/060","source_hash":"7cd4241598e20ba2a6aab72176b427eb5cf2bc2f4e958ae93c26ee0f747c7f3d","source_url":"/docs/release/16.0/#RELEASE-16-SERVER-CONFIG","statement_hash":"01e5834b8e1f377c4fef1981e4804ff30e595249ffdbdc533dbe1a471b362056","text":"允许服务器为具有 pg_use_reserved_connections 成员资格的角色预留后端槽位（Nathan Bossart）§ 预留槽位的数量由服务器变量 reserved_connections 设置。","title":"允许服务器为具有 pg_use_reserved_connections 成员资格的角色预留后端槽位","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["fdd8937c0"],"commit_groups":[["fdd8937c0"]],"commits":["fdd8937c0"],"cves":[],"db_id":"1b7f0031c8ad76239c5aaea4f4138c43","html":"\u003cp\u003e允许\u003ca href=\"/docs/16/runtime-config-resource.html#GUC-HUGE-PAGES\"\u003e大页\u003c/a\u003e在较新版本的 \u003cspan\u003eWindows 10\u003c/span\u003e 上工作（Thomas Munro）\u003ca href=\"https://postgr.es/c/fdd8937c0\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e这添加了在较新版本的 \u003cspan\u003eWindows 10\u003c/span\u003e 上启用大页所需的特殊处理。\u003c/p\u003e","id":"16.0-bd4ac9acde2a7b4c","identity_text":"Allow huge pages to work on newer versions of Windows 10 (Thomas Munro) This adds the special handling required to enable huge pages on newer versions of Windows 10.","part":"changes","patch_ids":["82be8231494ede0171d51caecdd09120"],"related_changes":[],"relations":[],"section":"服务器 / 服务器配置","section_path":["服务器","服务器配置"],"source_commits":["fdd8937c0"],"source_entry_id":"16.0/changes/061","source_hash":"bb9f039c87da32566a87e3f111fdb9c3937a5034e7884f98f14678a2efd710d7","source_url":"/docs/release/16.0/#RELEASE-16-SERVER-CONFIG","statement_hash":"3670be9081bb11795641c4a7c703a1f93e9aed73b6969394574c461b9f69daea","text":"允许大页在较新版本的 Windows 10 上工作（Thomas Munro）§ 这添加了在较新版本的 Windows 10 上启用大页所需的特殊处理。","title":"允许大页在较新版本的 Windows 10 上工作","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["319bae9a8","d4e71df6d"],"commit_groups":[["319bae9a8"],["d4e71df6d"]],"commits":["319bae9a8","d4e71df6d"],"cves":[],"db_id":"39765899c7b863b9ca3cc92fd29a31bf","html":"\u003cp\u003e增加供开发者使用的 \u003ca href=\"/docs/16/runtime-config-developer.html#GUC-DEBUG-IO-DIRECT\"\u003e\u003ccode\u003edebug_io_direct\u003c/code\u003e\u003c/a\u003e 设置（Thomas Munro，Andres Freund，Bharath Rupireddy）\u003ca href=\"https://postgr.es/c/d4e71df6d\"\u003e§\u003c/a\u003e \u003ca href=\"https://postgr.es/c/319bae9a8\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e虽然主要面向开发者，\u003ca href=\"/docs/16/runtime-config-wal.html#GUC-WAL-SYNC-METHOD\"\u003e\u003ccode\u003ewal_sync_method=open_sync\u003c/code\u003e\u003c/a\u003e/\u003ccode\u003eopen_datasync\u003c/code\u003e 已被修改为在 \u003ccode\u003ewal_level=minimal\u003c/code\u003e 时不使用直接 \u003cacronym\u003eI/O\u003c/acronym\u003e；现在通过 \u003ccode\u003edebug_io_direct=wal\u003c/code\u003e 启用。\u003c/p\u003e","id":"16.0-03af234302eac1a0","identity_text":"Add debug_io_direct setting for developer usage (Thomas Munro, Andres Freund, Bharath Rupireddy) While primarily for developers, wal_sync_method=open_sync/open_datasync has been modified to not use direct I/O with wal_level=minimal; this is now enabled with debug_io_direct=wal.","part":"changes","patch_ids":["2ad68fcf6ba7b4eed5b8dbe982b6876f","8e0bbbe6b65939536898f87c7a4830d7"],"related_changes":[],"relations":[],"section":"服务器 / 服务器配置","section_path":["服务器","服务器配置"],"source_commits":["319bae9a8","d4e71df6d"],"source_entry_id":"16.0/changes/062","source_hash":"1da16ee3212b0ae045e96a255ce2ad8ee43aa5f18913873d5fec263f6b9cdb89","source_url":"/docs/release/16.0/#RELEASE-16-SERVER-CONFIG","statement_hash":"c2f5039feb0ee6a6e017e36244281712887d64d005b71fa17bece34a7905c860","text":"增加供开发者使用的 debug_io_direct 设置（Thomas Munro，Andres Freund，Bharath Rupireddy）§ § 虽然主要面向开发者，wal_sync_method=open_sync/open_datasync 已被修改为在 wal_level=minimal 时不使用直接 I/O；现在通过 debug_io_direct=wal 启用。","title":"增加供开发者使用的 debug_io_direct 设置","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["13e0d7a60","cca186348"],"commit_groups":[["13e0d7a60"],["cca186348"]],"commits":["13e0d7a60","cca186348"],"cves":[],"db_id":"cc81c01a03a0b092511e2e55a733989a","html":"\u003cp\u003e增加函数 \u003ca href=\"/docs/16/functions-admin.html#FUNCTIONS-ADMIN-BACKUP-TABLE\" title=\"表 9.91. 备份控制函数\"\u003e\u003ccode\u003epg_split_walfile_name()\u003c/code\u003e\u003c/a\u003e 以报告 \u003cacronym\u003eWAL\u003c/acronym\u003e 文件名的段和时间线值（Bharath Rupireddy）\u003ca href=\"https://postgr.es/c/cca186348\"\u003e§\u003c/a\u003e \u003ca href=\"https://postgr.es/c/13e0d7a60\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"16.0-764f8596848b3657","identity_text":"Add function pg_split_walfile_name() to report the segment and timeline values of WAL file names (Bharath Rupireddy)","part":"changes","patch_ids":["9b5a74bdb50fe9df755f568081bb609b","ec4fee97406983395c717a40fd9a387b"],"related_changes":[],"relations":[],"section":"服务器 / 服务器配置","section_path":["服务器","服务器配置"],"source_commits":["13e0d7a60","cca186348"],"source_entry_id":"16.0/changes/063","source_hash":"225749adc42f248149e3e803a1e39dadde34a7273d1186390685af1fd581a36f","source_url":"/docs/release/16.0/#RELEASE-16-SERVER-CONFIG","statement_hash":"dac390ecfaf656a0261c893fff6ca26689a53b2c1e114831b9125abdaa3342d0","text":"增加函数 pg_split_walfile_name() 以报告 WAL 文件名的段和时间线值（Bharath Rupireddy）§ §","title":"增加函数 pg_split_walfile_name() 以报告 WAL 文件名的段和时间线值","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["8fea86830"],"commit_groups":[["8fea86830"]],"commits":["8fea86830"],"cves":[],"db_id":"e54df047ded401e698c4ab96935c0ad4","html":"\u003cp\u003e增加在 \u003ccode\u003epg_hba.conf\u003c/code\u003e 中对数据库和角色条目进行正则表达式匹配的支持（Bertrand Drouvot）\u003ca href=\"https://postgr.es/c/8fea86830\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e正则表达式模式以斜杠为前缀。以斜杠开头的数据库和角色名称如果在 \u003ccode\u003epg_hba.conf\u003c/code\u003e 中引用，需要用双引号括起来。\u003c/p\u003e","id":"16.0-69031a22ebdf1c8a","identity_text":"Add support for regular expression matching on database and role entries in pg_hba.conf (Bertrand Drouvot) Regular expression patterns are prefixed with a slash. Database and role names that begin with slashes need to be double-quoted if referenced in pg_hba.conf.","part":"changes","patch_ids":["feef69fd7ed7ca80663bf99f4cf85ef8"],"related_changes":[],"relations":[],"section":"服务器 / pg_hba.conf","section_path":["服务器","pg_hba.conf"],"source_commits":["8fea86830"],"source_entry_id":"16.0/changes/064","source_hash":"dc4d3a0828c6e573249ddd9ce52ef099f4d4c6ec2e97180b8a6458470ed34205","source_url":"/docs/release/16.0/#RELEASE-16-PG-HBA","statement_hash":"81d2e2184769de9d7ad8efbbb87f842fd74c7d1ecb5081552aff1814618909d9","text":"增加在 pg_hba.conf 中对数据库和角色条目进行正则表达式匹配的支持（Bertrand Drouvot）§ 正则表达式模式以斜杠为前缀。以斜杠开头的数据库和角色名称如果在 pg_hba.conf 中引用，需要用双引号括起来。","title":"增加在 pg_hba.conf 中对数据库和角色条目进行正则表达式匹配的支持","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["efb6f4a4f"],"commit_groups":[["efb6f4a4f"]],"commits":["efb6f4a4f"],"cves":[],"db_id":"137bcd8f1995b9a3326cbf5bbccd4ebc","html":"\u003cp\u003e改进 \u003ca href=\"/docs/16/runtime-config-file-locations.html\" title=\"20.2. 文件位置\"\u003e\u003ccode\u003epg_ident.conf\u003c/code\u003e\u003c/a\u003e 的用户列处理以匹配 \u003ccode\u003epg_hba.conf\u003c/code\u003e（Jelte Fennema）\u003ca href=\"https://postgr.es/c/efb6f4a4f\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e具体来说，增加对 \u003ccode\u003eall\u003c/code\u003e、使用 \u003ccode\u003e+\u003c/code\u003e 的角色成员资格以及使用前导斜杠的正则表达式的支持。与这些模式匹配的任何用户名必须用双引号括起来。\u003c/p\u003e","id":"16.0-a931ff5679d3eb9f","identity_text":"Improve user-column handling of pg_ident.conf to match pg_hba.conf (Jelte Fennema) Specifically, add support for all, role membership with +, and regular expressions with a leading slash. Any user name that matches these patterns must be double-quoted.","part":"changes","patch_ids":["422b09e4748267c101169bb10505cb19"],"related_changes":[],"relations":[],"section":"服务器 / pg_hba.conf","section_path":["服务器","pg_hba.conf"],"source_commits":["efb6f4a4f"],"source_entry_id":"16.0/changes/065","source_hash":"23f769962b5f55b00ee49e2057d2969494026a774bdc39aa06711f15bf6ff051","source_url":"/docs/release/16.0/#RELEASE-16-PG-HBA","statement_hash":"8987ebd67c5f4529f17d426c2eb7c3b7a331d9fe9fb84374a37ffb2b04b8da30","text":"改进 pg_ident.conf 的用户列处理以匹配 pg_hba.conf（Jelte Fennema）§ 具体来说，增加对 all、使用 + 的角色成员资格以及使用前导斜杠的正则表达式的支持。与这些模式匹配的任何用户名必须用双引号括起来。","title":"改进 pg_ident.conf 的用户列处理以匹配 pg_hba.conf","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["a54b658ce"],"commit_groups":[["a54b658ce"]],"commits":["a54b658ce"],"cves":[],"db_id":"264b412ce1e720e0e69182f215f4a768","html":"\u003cp\u003e允许在 \u003ccode\u003epg_hba.conf\u003c/code\u003e 和 \u003ccode\u003epg_ident.conf\u003c/code\u003e 中包含文件（Julien Rouhaud）\u003ca href=\"https://postgr.es/c/a54b658ce\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e这由 \u003ccode\u003einclude\u003c/code\u003e、\u003ccode\u003einclude_if_exists\u003c/code\u003e 和 \u003ccode\u003einclude_dir\u003c/code\u003e 控制。系统视图 \u003ca href=\"/docs/16/view-pg-hba-file-rules.html\" title=\"54.9. pg_hba_file_rules\"\u003e\u003ccode\u003epg_hba_file_rules\u003c/code\u003e\u003c/a\u003e 和 \u003ca href=\"/docs/16/view-pg-ident-file-mappings.html\" title=\"54.10. pg_ident_file_mappings\"\u003e\u003ccode\u003epg_ident_file_mappings\u003c/code\u003e\u003c/a\u003e 现在显示文件名。\u003c/p\u003e","id":"16.0-307440800494bc01","identity_text":"Allow include files in pg_hba.conf and pg_ident.conf (Julien Rouhaud) These are controlled by include, include_if_exists, and include_dir. System views pg_hba_file_rules and pg_ident_file_mappings now display the file name.","part":"changes","patch_ids":["bf35c94a0eaefa83c07fd24f2bd4441e"],"related_changes":[],"relations":[],"section":"服务器 / pg_hba.conf","section_path":["服务器","pg_hba.conf"],"source_commits":["a54b658ce"],"source_entry_id":"16.0/changes/066","source_hash":"19029c46e021a58ed87811c9ad36bdfd200b032bd477cfba858ba6a99da33cf9","source_url":"/docs/release/16.0/#RELEASE-16-PG-HBA","statement_hash":"3aed4557c9f1b6b340440dff60c048c10f425faa1e03439b3644957c6a76278e","text":"允许在 pg_hba.conf 和 pg_ident.conf 中包含文件（Julien Rouhaud）§ 这由 include、include_if_exists 和 include_dir 控制。系统视图 pg_hba_file_rules 和 pg_ident_file_mappings 现在显示文件名。","title":"允许在 pg_hba.conf 和 pg_ident.conf 中包含文件","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["0660f74e8","1d031ad54","288b4288c","313ceda2f","341996248","38df84c65","de3f0e3fe"],"commit_groups":[["0660f74e8","1d031ad54","288b4288c","313ceda2f","341996248","38df84c65","de3f0e3fe"]],"commits":["de3f0e3fe"],"cves":[],"db_id":"c86f7037f349c6b765e98f879e584db3","html":"\u003cp\u003e允许 \u003ccode\u003epg_hba.conf\u003c/code\u003e 令牌具有无限长度（Tom Lane）\u003ca href=\"https://postgr.es/c/de3f0e3fe\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"16.0-fc6faf9ca3927210","identity_text":"Allow pg_hba.conf tokens to be of unlimited length (Tom Lane)","part":"changes","patch_ids":["98d67cdf3c0ead6326a2a33b279fe8d7"],"related_changes":[{"db_id":"bb6d76438d51fc5fa20cf73c0a0b64a3","evidence":{"patch_ids":["98d67cdf3c0ead6326a2a33b279fe8d7"],"same_day":false},"kind":"related","label":"15.4","source_url":"/docs/release/15.4/#ZH-AUTO-RELEASE-15-SECT2-28","title":"允许 pg_hba.conf 和 pg_ident.conf 中的令牌长度最多为 10240 字节","url":"/docs/compare/?release=15.4#15.4-7454c50b73348dca","version":"15.4"},{"db_id":"5052cdce2ff501e8882fe7b5bd665ea7","evidence":{"patch_ids":["98d67cdf3c0ead6326a2a33b279fe8d7"],"same_day":false},"kind":"related","label":"14.9","source_url":"/docs/release/14.9/#ZH-AUTO-RELEASE-14-SECT2-28","title":"允许 pg_hba.conf 和 pg_ident.conf 中的令牌长度最多为 10240 字节","url":"/docs/compare/?release=14.9#14.9-5bb3aebe0a3a7f93","version":"14.9"},{"db_id":"9f4d00733ec0b39cef55b609e58feb5e","evidence":{"patch_ids":["98d67cdf3c0ead6326a2a33b279fe8d7"],"same_day":false},"kind":"related","label":"13.12","source_url":"/docs/release/13.12/#id-1.11.6.17.5","title":"允许 pg_hba.conf 和 pg_ident.conf 中的令牌长度最多为 10240 字节","url":"/docs/compare/?release=13.12#13.12-973d3bc2dbc69d58","version":"13.12"},{"db_id":"c0284c475e03c7f703126c3dcc072f1b","evidence":{"patch_ids":["98d67cdf3c0ead6326a2a33b279fe8d7"],"same_day":false},"kind":"related","label":"12.16","source_url":"/docs/release/12.16/#id-1.11.6.12.5","title":"允许 pg_hba.conf 和 pg_ident.conf 中的令牌长度最多为 10240 字节","url":"/docs/compare/?release=12.16#12.16-4587afce7e4f52c0","version":"12.16"},{"db_id":"d12f6a5e5ec54da016372459d525434d","evidence":{"patch_ids":["98d67cdf3c0ead6326a2a33b279fe8d7"],"same_day":false},"kind":"related","label":"11.21","source_url":"/docs/release/11.21/#id-1.11.6.6.6","title":"允许 pg_hba.conf 和 pg_ident.conf 中的令牌长度最多为 10240 字节","url":"/docs/compare/?release=11.21#11.21-2a298c9d8914690f","version":"11.21"}],"relations":[{"evidence":{"patch_ids":["98d67cdf3c0ead6326a2a33b279fe8d7"],"same_day":false},"rule":2,"target":"5052cdce2ff501e8882fe7b5bd665ea7","type":"related"},{"evidence":{"patch_ids":["98d67cdf3c0ead6326a2a33b279fe8d7"],"same_day":false},"rule":2,"target":"9f4d00733ec0b39cef55b609e58feb5e","type":"related"},{"evidence":{"patch_ids":["98d67cdf3c0ead6326a2a33b279fe8d7"],"same_day":false},"rule":2,"target":"bb6d76438d51fc5fa20cf73c0a0b64a3","type":"related"},{"evidence":{"patch_ids":["98d67cdf3c0ead6326a2a33b279fe8d7"],"same_day":false},"rule":2,"target":"c0284c475e03c7f703126c3dcc072f1b","type":"related"},{"evidence":{"patch_ids":["98d67cdf3c0ead6326a2a33b279fe8d7"],"same_day":false},"rule":2,"target":"d12f6a5e5ec54da016372459d525434d","type":"related"}],"section":"服务器 / pg_hba.conf","section_path":["服务器","pg_hba.conf"],"source_commits":["de3f0e3fe"],"source_entry_id":"16.0/changes/067","source_hash":"4553af9234d427b40cdaff7b68e0d76495063a6c60451a35289ad85ba5b21d6c","source_url":"/docs/release/16.0/#RELEASE-16-PG-HBA","statement_hash":"3c415fdcb54d1537a22e1cc3eeb5ec2be3b9cad0862beea3ad16eb0d2d7e3956","text":"允许 pg_hba.conf 令牌具有无限长度（Tom Lane）§","title":"允许 pg_hba.conf 令牌具有无限长度","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["c591300a8"],"commit_groups":[["c591300a8"]],"commits":["c591300a8"],"cves":[],"db_id":"2229ae93b82d29c06736cfc141cc3273","html":"\u003cp\u003e向系统视图 \u003ca href=\"/docs/16/view-pg-hba-file-rules.html\" title=\"54.9. pg_hba_file_rules\"\u003e\u003ccode\u003epg_hba_file_rules\u003c/code\u003e\u003c/a\u003e 添加规则和映射编号（Julien Rouhaud）\u003ca href=\"https://postgr.es/c/c591300a8\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"16.0-f463d8cb24b0e25e","identity_text":"Add rule and map numbers to the system view pg_hba_file_rules (Julien Rouhaud)","part":"changes","patch_ids":["edfc5306db049f20dd92b7c004000d49"],"related_changes":[],"relations":[],"section":"服务器 / pg_hba.conf","section_path":["服务器","pg_hba.conf"],"source_commits":["c591300a8"],"source_entry_id":"16.0/changes/068","source_hash":"afafe2198e7ac0a4f8a731ecbb05a6f605f11961bb714088e6d1742ef34df9e2","source_url":"/docs/release/16.0/#RELEASE-16-PG-HBA","statement_hash":"791f0d243767c1d37565c7a63a761b94eb91e04be6b9a2da6313a5c720d5f374","text":"向系统视图 pg_hba_file_rules 添加规则和映射编号（Julien Rouhaud）§","title":"向系统视图 pg_hba_file_rules 添加规则和映射编号","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["c45dc7ffb"],"commit_groups":[["c45dc7ffb"]],"commits":["c45dc7ffb"],"cves":[],"db_id":"b4aa045a132f1c2459be405e31782c32","html":"\u003cp\u003e使用 \u003cacronym\u003eICU\u003c/acronym\u003e 时从区域设置确定默认编码（Jeff Davis）\u003ca href=\"https://postgr.es/c/c45dc7ffb\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e之前默认始终为 \u003ccode\u003eUTF-8\u003c/code\u003e。\u003c/p\u003e","id":"16.0-0e9b5a903dc93b78","identity_text":"Determine the default encoding from the locale when using ICU (Jeff Davis) Previously the default was always UTF-8.","part":"changes","patch_ids":["514d304513414b1cc3a47e03f3e559ed"],"related_changes":[],"relations":[],"section":"服务器 / 本地化","section_path":["服务器","本地化"],"source_commits":["c45dc7ffb"],"source_entry_id":"16.0/changes/069","source_hash":"92d3830fbc65c6ced6923f47b174eb0096d0077afc92bdc1c130ec05ea83e458","source_url":"/docs/release/16.0/#RELEASE-16-LOCALIZATION","statement_hash":"61a3cfd3ef790ba0ec4ebc3076cd863ba4c853d535c46a680cb346105ee58652","text":"使用 ICU 时从区域设置确定默认编码（Jeff Davis）§ 之前默认始终为 UTF-8。","title":"使用 ICU 时从区域设置确定默认编码","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":[],"commit_groups":[],"commits":[],"cves":[],"db_id":"fc679045a7c09fb78e592e29084b7587","html":"\u003cp\u003e使 \u003ca href=\"/docs/16/sql-createdatabase.html\" title=\"CREATE DATABASE\"\u003e\u003ccode\u003eCREATE DATABASE\u003c/code\u003e\u003c/a\u003e 和 \u003ca href=\"/docs/16/sql-createcollation.html\" title=\"CREATE COLLATION\"\u003e\u003ccode\u003eCREATE COLLATION\u003c/code\u003e\u003c/a\u003e 的 \u003ccode\u003eLOCALE\u003c/code\u003e 选项以及\u003ca href=\"/docs/16/app-initdb.html\" title=\"initdb\"\u003e\u003cspan\u003einitdb\u003c/span\u003e\u003c/a\u003e和\u003ca href=\"/docs/16/app-createdb.html\" title=\"createdb\"\u003e\u003cspan\u003ecreatedb\u003c/span\u003e\u003c/a\u003e的 \u003ccode\u003e--locale\u003c/code\u003e 选项控制非 \u003cspan\u003elibc\u003c/span\u003e 排序规则提供程序（Jeff Davis）\u003c/p\u003e\n\u003cp\u003e之前它们仅控制 \u003cspan\u003elibc\u003c/span\u003e 提供程序。\u003c/p\u003e","id":"16.0-1e2f443edff180f2","identity_text":"Have CREATE DATABASE and CREATE COLLATION's LOCALE options, and initdb and createdb --locale options, control non-libc collation providers (Jeff Davis) Previously they only controlled libc providers.","part":"changes","patch_ids":[],"related_changes":[],"relations":[],"section":"服务器 / 本地化","section_path":["服务器","本地化"],"source_commits":[],"source_entry_id":"16.0/changes/070","source_hash":"ae6dbfb963d8b839311e5c8ab6a08b6eacb9134ef13d49e347ff5a4a866d40db","source_url":"/docs/release/16.0/#RELEASE-16-LOCALIZATION","statement_hash":"5906b7758c17689a876321eff2da743d4d496232db4595ab3cb75bf2a57caeb2","text":"使 CREATE DATABASE 和 CREATE COLLATION 的 LOCALE 选项以及initdb和createdb的 --locale 选项控制非 libc 排序规则提供程序（Jeff Davis） 之前它们仅控制 libc 提供程序。","title":"使 CREATE DATABASE 和 CREATE COLLATION 的 LOCALE 选项以及initdb和createdb的 --locale 选项控制非 libc 排序规则提供程序","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["0d21d4b9b"],"commit_groups":[["0d21d4b9b"]],"commits":["0d21d4b9b"],"cves":[],"db_id":"25981cdbbdb9e53cb6cb3779c545ed69","html":"\u003cp\u003e增加预定义排序规则 \u003ccode\u003eunicode\u003c/code\u003e 和 \u003ccode\u003eucs_basic\u003c/code\u003e（Peter Eisentraut）\u003ca href=\"https://postgr.es/c/0d21d4b9b\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e这仅在启用 \u003cacronym\u003eICU\u003c/acronym\u003e 支持时有效。\u003c/p\u003e","id":"16.0-8f2274f27651e92f","identity_text":"Add predefined collations unicode and ucs_basic (Peter Eisentraut) This only works if ICU support is enabled.","part":"changes","patch_ids":["9d964204c00a5c1f974a11e7efa90097"],"related_changes":[],"relations":[],"section":"服务器 / 本地化","section_path":["服务器","本地化"],"source_commits":["0d21d4b9b"],"source_entry_id":"16.0/changes/071","source_hash":"20af604f4cb3bba822a972b921f8f752b7e2504aa65cc3d1bd49b9ee18683fac","source_url":"/docs/release/16.0/#RELEASE-16-LOCALIZATION","statement_hash":"c08d26f23d5728910817d1df6632a507b6f4646a6c5818b3ce2e359a81fbb8cd","text":"增加预定义排序规则 unicode 和 ucs_basic（Peter Eisentraut）§ 这仅在启用 ICU 支持时有效。","title":"增加预定义排序规则 unicode 和 ucs_basic","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["30a53b792"],"commit_groups":[["30a53b792"]],"commits":["30a53b792"],"cves":[],"db_id":"c67cad00884429cc4d56836dabbe102f","html":"\u003cp\u003e允许创建自定义 \u003cacronym\u003eICU\u003c/acronym\u003e 排序规则（Peter Eisentraut）\u003ca href=\"https://postgr.es/c/30a53b792\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e这通过 \u003ca href=\"/docs/16/sql-createcollation.html\" title=\"CREATE COLLATION\"\u003e\u003ccode\u003eCREATE COLLATION\u003c/code\u003e\u003c/a\u003e 的新 \u003ccode\u003eRULES\u003c/code\u003e 子句以及 \u003ca href=\"/docs/16/sql-createdatabase.html\" title=\"CREATE DATABASE\"\u003e\u003ccode\u003eCREATE DATABASE\u003c/code\u003e\u003c/a\u003e、\u003ca href=\"/docs/16/app-createdb.html\" title=\"createdb\"\u003e\u003cspan\u003ecreatedb\u003c/span\u003e\u003c/a\u003e和\u003ca href=\"/docs/16/app-initdb.html\" title=\"initdb\"\u003e\u003cspan\u003einitdb\u003c/span\u003e\u003c/a\u003e的新选项来实现。\u003c/p\u003e","id":"16.0-237ef3061e16bbed","identity_text":"Allow custom ICU collation rules to be created (Peter Eisentraut) This is done using CREATE COLLATION's new RULES clause, as well as new options for CREATE DATABASE, createdb, and initdb.","part":"changes","patch_ids":["3a2b95a9a06078db12276727ded48d28"],"related_changes":[],"relations":[],"section":"服务器 / 本地化","section_path":["服务器","本地化"],"source_commits":["30a53b792"],"source_entry_id":"16.0/changes/072","source_hash":"f311a03f0764c83aa9beca8262cb841bc11a16381281457ea76d3aaad32efe4d","source_url":"/docs/release/16.0/#RELEASE-16-LOCALIZATION","statement_hash":"6df5d0a55103855f713f2b9b17e434b0ed1dddc693c836256511744e2d83b8c6","text":"允许创建自定义 ICU 排序规则（Peter Eisentraut）§ 这通过 CREATE COLLATION 的新 RULES 子句以及 CREATE DATABASE、createdb和initdb的新选项来实现。","title":"允许创建自定义 ICU 排序规则","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["bf03cfd16"],"commit_groups":[["bf03cfd16"]],"commits":["bf03cfd16"],"cves":[],"db_id":"d003ced989446842e7b5f952f47d1884","html":"\u003cp\u003e允许 \u003cspan\u003eWindows\u003c/span\u003e 自动导入系统区域设置（Juan José Santamaría Flecha）\u003ca href=\"https://postgr.es/c/bf03cfd16\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e之前在 \u003cspan\u003eWindows\u003c/span\u003e 上只能导入 \u003cacronym\u003eICU\u003c/acronym\u003e 区域设置。\u003c/p\u003e","id":"16.0-7d7afd0e397f4630","identity_text":"Allow Windows to import system locales automatically (Juan José Santamaría Flecha) Previously, only ICU locales could be imported on Windows.","part":"changes","patch_ids":["3513d766bbda0e27f7a9978041280e18"],"related_changes":[],"relations":[],"section":"服务器 / 本地化","section_path":["服务器","本地化"],"source_commits":["bf03cfd16"],"source_entry_id":"16.0/changes/073","source_hash":"1af265b5c212c3639cc13d73bf99759881266358877b5472bc7afcbc91a5c866","source_url":"/docs/release/16.0/#RELEASE-16-LOCALIZATION","statement_hash":"07a431408c036210010ad9935e35d07d3d169bf8cbcef8c8c5e0e02d1cbd2086","text":"允许 Windows 自动导入系统区域设置（Juan José Santamaría Flecha）§ 之前在 Windows 上只能导入 ICU 区域设置。","title":"允许 Windows 自动导入系统区域设置","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["0fdab27ad","26669757b","be87200ef"],"commit_groups":[["0fdab27ad"],["26669757b"],["be87200ef"]],"commits":["0fdab27ad","26669757b","be87200ef"],"cves":[],"db_id":"fc6fc79acd79ba127e063457520a6efb","html":"\u003cp\u003e允许在备库上进行\u003ca href=\"/docs/16/logicaldecoding.html\" title=\"第 49 章 逻辑解码\"\u003e逻辑解码\u003c/a\u003e（Bertrand Drouvot，Andres Freund，Amit Khandekar）\u003ca href=\"https://postgr.es/c/0fdab27ad\"\u003e§\u003c/a\u003e \u003ca href=\"https://postgr.es/c/be87200ef\"\u003e§\u003c/a\u003e \u003ca href=\"https://postgr.es/c/26669757b\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e创建逻辑槽需要快照 \u003cacronym\u003eWAL\u003c/acronym\u003e 记录，但这类记录无法在备库上生成。为避免延迟，新函数 \u003ca href=\"/docs/16/functions-admin.html#FUNCTIONS-SNAPSHOT-SYNCHRONIZATION-TABLE\" title=\"表 9.94. 快照同步函数\"\u003e\u003ccode\u003epg_log_standby_snapshot()\u003c/code\u003e\u003c/a\u003e 可生成此类记录。\u003c/p\u003e","id":"16.0-b62a00e6f733a9b8","identity_text":"Allow logical decoding on standbys (Bertrand Drouvot, Andres Freund, Amit Khandekar) Snapshot WAL records are required for logical slot creation but cannot be created on standbys. To avoid delays, the new function pg_log_standby_snapshot() allows creation of such records.","part":"changes","patch_ids":["165303359ee16d78f9d7dc0e0f749128","1ab890d18fed84cd3ca0dbafbdadeac2","4362f9237d55a23b7bdc253af001957c"],"related_changes":[],"relations":[],"section":"逻辑复制","section_path":["逻辑复制"],"source_commits":["0fdab27ad","26669757b","be87200ef"],"source_entry_id":"16.0/changes/074","source_hash":"2e14b489dd6cd161f55a55bd46c52d35926e897a9b53f840aafcffb24299b9e6","source_url":"/docs/release/16.0/#RELEASE-16-LOGICAL","statement_hash":"d7fc290b42dfe95ffe8c6d70ee7f074b57a7b07ec93f74bf167ead8a0f929231","text":"允许在备库上进行逻辑解码（Bertrand Drouvot，Andres Freund，Amit Khandekar）§ § § 创建逻辑槽需要快照 WAL 记录，但这类记录无法在备库上生成。为避免延迟，新函数 pg_log_standby_snapshot() 可生成此类记录。","title":"允许在备库上进行逻辑解码","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["1e8b61735","5de94a041","9f2213a7c"],"commit_groups":[["1e8b61735"],["5de94a041"],["9f2213a7c"]],"commits":["1e8b61735","5de94a041","9f2213a7c"],"cves":[],"db_id":"48268c87153d25920abd9410a6f4c6a4","html":"\u003cp\u003e增加服务器变量以控制逻辑解码发布者如何传输变更以及订阅者如何应用它们（Shi Yu）\u003ca href=\"https://postgr.es/c/5de94a041\"\u003e§\u003c/a\u003e \u003ca href=\"https://postgr.es/c/1e8b61735\"\u003e§\u003c/a\u003e \u003ca href=\"https://postgr.es/c/9f2213a7c\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e该变量为 \u003ca href=\"/docs/16/runtime-config-developer.html#GUC-DEBUG-LOGICAL-REPLICATION-STREAMING\"\u003e\u003ccode\u003edebug_logical_replication_streaming\u003c/code\u003e\u003c/a\u003e。\u003c/p\u003e","id":"16.0-aabe10ae61c7eb5d","identity_text":"Add server variable to control how logical decoding publishers transfer changes and how subscribers apply them (Shi Yu) The variable is debug_logical_replication_streaming.","part":"changes","patch_ids":["2910c13d662d029361683603c914c705","301b4cc02ebb4ca1bb3d49f2f233bfc8","c81f8e93859cfdcf760861ab87cfd24f"],"related_changes":[],"relations":[],"section":"逻辑复制","section_path":["逻辑复制"],"source_commits":["1e8b61735","5de94a041","9f2213a7c"],"source_entry_id":"16.0/changes/075","source_hash":"b3d291fe7ea92b806f009a082b1f24e7cfbb26b410e9083a70e89e2ba77740d8","source_url":"/docs/release/16.0/#RELEASE-16-LOGICAL","statement_hash":"8d0c95fe082aafe62f2dc9de107da8027e2f005c7d9ece5816adec2d8632e16f","text":"增加服务器变量以控制逻辑解码发布者如何传输变更以及订阅者如何应用它们（Shi Yu）§ § § 该变量为 debug_logical_replication_streaming。","title":"增加服务器变量以控制逻辑解码发布者如何传输变更以及订阅者如何应用它们","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["ecb696527"],"commit_groups":[["ecb696527"]],"commits":["ecb696527"],"cves":[],"db_id":"2e40bd0cedd5d75513af5991297f2320","html":"\u003cp\u003e允许逻辑复制初始表同步以二进制格式复制行（Melih Mutlu）\u003ca href=\"https://postgr.es/c/ecb696527\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e这仅对标记为二进制的订阅可用。\u003c/p\u003e","id":"16.0-a3e1964b67f8939c","identity_text":"Allow logical replication initial table synchronization to copy rows in binary format (Melih Mutlu) This is only possible for subscriptions marked as binary.","part":"changes","patch_ids":["0ff2ce3757263c87081e946022fd6107"],"related_changes":[],"relations":[],"section":"逻辑复制","section_path":["逻辑复制"],"source_commits":["ecb696527"],"source_entry_id":"16.0/changes/076","source_hash":"180167454b62cff42a55b4764041c0f3976cbff14a9aaa4512a6a6bab08efc26","source_url":"/docs/release/16.0/#RELEASE-16-LOGICAL","statement_hash":"5c043ffd493ffb9998fc5b1200816cabc1fdfbb25c897608ea40c614df459069","text":"允许逻辑复制初始表同步以二进制格式复制行（Melih Mutlu）§ 这仅对标记为二进制的订阅可用。","title":"允许逻辑复制初始表同步以二进制格式复制行","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["216a78482","cd06ccd78","fce003cfd"],"commit_groups":[["216a78482"],["cd06ccd78"],["fce003cfd"]],"commits":["216a78482","cd06ccd78","fce003cfd"],"cves":[],"db_id":"35241d393cd22ca1ec033d70cabd3d43","html":"\u003cp\u003e允许并行应用逻辑复制（Hou Zhijie，Wang Wei，Amit Kapila）\u003ca href=\"https://postgr.es/c/216a78482\"\u003e§\u003c/a\u003e \u003ca href=\"https://postgr.es/c/cd06ccd78\"\u003e§\u003c/a\u003e \u003ca href=\"https://postgr.es/c/fce003cfd\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"/docs/16/sql-createsubscription.html\" title=\"CREATE SUBSCRIPTION\"\u003e\u003ccode\u003eCREATE SUBSCRIPTION\u003c/code\u003e\u003c/a\u003e 的 \u003ccode\u003eSTREAMING\u003c/code\u003e 选项现在支持 \u003ccode\u003eparallel\u003c/code\u003e，以便使用并行工作进程应用大事务。并行工作进程的数量由新的服务器变量 \u003ca href=\"/docs/16/runtime-config-replication.html#GUC-MAX-PARALLEL-APPLY-WORKERS-PER-SUBSCRIPTION\"\u003e\u003ccode\u003emax_parallel_apply_workers_per_subscription\u003c/code\u003e\u003c/a\u003e 控制。还新增了等待事件 \u003ca href=\"/docs/16/monitoring-stats.html#WAIT-EVENT-ACTIVITY-TABLE\" title=\"表 28.5. Activity类型的等待事件\"\u003e\u003ccode\u003eLogicalParallelApplyMain\u003c/code\u003e\u003c/a\u003e、\u003ccode\u003eLogicalParallelApplyStateChange\u003c/code\u003e 和 \u003ccode\u003eLogicalApplySendData\u003c/code\u003e。系统视图 \u003ca href=\"/docs/16/monitoring-stats.html#MONITORING-PG-STAT-SUBSCRIPTION\" title=\"28.2.8. pg_stat_subscription\"\u003e\u003ccode\u003epg_stat_subscription\u003c/code\u003e\u003c/a\u003e 也新增了列 \u003ccode\u003eleader_pid\u003c/code\u003e 以跟踪并行活动。\u003c/p\u003e","id":"16.0-aacf319991cb6855","identity_text":"Allow parallel application of logical replication (Hou Zhijie, Wang Wei, Amit Kapila) The CREATE SUBSCRIPTION STREAMING option now supports parallel to enable application of large transactions by parallel workers. The number of parallel workers is controlled by the new server variable max_parallel_apply_workers_per_subscription. Wait events LogicalParallelApplyMain, LogicalParallelApplyStateChange, and LogicalApplySendData were also added. Column leader_pid was added to system view pg_stat_subscription to track parallel activity.","part":"changes","patch_ids":["5c66bffc2dea7be16c6d46585b4dcdf2","83d89cca3d4f385b52c60c3cb0dac087","cd9b24935e2d7cd28e46e082739d534d"],"related_changes":[],"relations":[],"section":"逻辑复制","section_path":["逻辑复制"],"source_commits":["216a78482","cd06ccd78","fce003cfd"],"source_entry_id":"16.0/changes/077","source_hash":"c2259e079b46334af3956fe847ba5634f1b9adaaab60f570791a6e66ad9e6219","source_url":"/docs/release/16.0/#RELEASE-16-LOGICAL","statement_hash":"f5702dd5432b4c1384eb37c8ae2a8748641ebad237c390425917e3555eb18bb8","text":"允许并行应用逻辑复制（Hou Zhijie，Wang Wei，Amit Kapila）§ § § CREATE SUBSCRIPTION 的 STREAMING 选项现在支持 parallel，以便使用并行工作进程应用大事务。并行工作进程的数量由新的服务器变量 max_parallel_apply_workers_per_subscription 控制。还新增了等待事件 LogicalParallelApplyMain、LogicalParallelApplyStateChange 和 LogicalApplySendData。系统视图 pg_stat_subscription 也新增了列 leader_pid 以跟踪并行活动。","title":"允许并行应用逻辑复制","variants":[],"version":"16.0"},{"also_in":[],"category":"performance","category_label":"Performance","commit_aliases":["89e46da5e"],"commit_groups":[["89e46da5e"]],"commits":["89e46da5e"],"cves":[],"db_id":"8ba51f9147ee3d5127aaf713a1d0f31e","html":"\u003cp\u003e改进没有主键时\u003ca href=\"/docs/16/logical-replication-architecture.html\" title=\"31.7. 架构\"\u003e逻辑复制应用\u003c/a\u003e的性能（Onder Kalaci，Amit Kapila）\u003ca href=\"https://postgr.es/c/89e46da5e\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e具体来说，\u003ccode\u003eREPLICA IDENTITY FULL\u003c/code\u003e 现在可以使用 B-树索引而非顺序扫描表来查找匹配项。\u003c/p\u003e","id":"16.0-aa7d4fdadabe4e1e","identity_text":"Improve performance for logical replication apply without a primary key (Onder Kalaci, Amit Kapila) Specifically, REPLICA IDENTITY FULL can now use btree indexes rather than sequentially scanning the table to find matches.","part":"changes","patch_ids":["aa702543a88bf9a97c7655547c27dae9"],"related_changes":[],"relations":[],"section":"逻辑复制","section_path":["逻辑复制"],"source_commits":["89e46da5e"],"source_entry_id":"16.0/changes/078","source_hash":"f5816a96704055b35a5e312cf30803ba5ad83ef50c43bf5cc7dd0e68d68736e3","source_url":"/docs/release/16.0/#RELEASE-16-LOGICAL","statement_hash":"96b7fe351c3004cbd8d667a06bfd726af45dcd49e5ab26f0d1d4905665b419f7","text":"改进没有主键时逻辑复制应用的性能（Onder Kalaci，Amit Kapila）§ 具体来说，REPLICA IDENTITY FULL 现在可以使用 B-树索引而非顺序扫描表来查找匹配项。","title":"改进没有主键时逻辑复制应用的性能","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["366283961","875693019"],"commit_groups":[["366283961"],["875693019"]],"commits":["366283961","875693019"],"cves":[],"db_id":"8a43b73722220977bf930e94ea0af4e9","html":"\u003cp\u003e允许逻辑复制订阅者仅处理没有来源的变更（Vignesh C，Amit Kapila）\u003ca href=\"https://postgr.es/c/366283961\"\u003e§\u003c/a\u003e \u003ca href=\"https://postgr.es/c/875693019\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e这可用于避免复制循环。这由新的 \u003ccode\u003eCREATE SUBSCRIPTION ... ORIGIN\u003c/code\u003e 选项控制。\u003c/p\u003e","id":"16.0-01c3464b65a1e899","identity_text":"Allow logical replication subscribers to process only changes that have no origin (Vignesh C, Amit Kapila) This can be used to avoid replication loops. This is controlled by the new CREATE SUBSCRIPTION ... ORIGIN option.","part":"changes","patch_ids":["71aada2d70b03056781b29646875974d","bd9da86a24665b84d1b8e3abcc05ba60"],"related_changes":[],"relations":[],"section":"逻辑复制","section_path":["逻辑复制"],"source_commits":["366283961","875693019"],"source_entry_id":"16.0/changes/079","source_hash":"ce360d4e0fb1e8f87a715bb80c24a8b10a816631dd997c4bf75d514be32fecbf","source_url":"/docs/release/16.0/#RELEASE-16-LOGICAL","statement_hash":"145dad94dd1d8c839f3e14150b6b484d9eadf80e590b245c2ac797a62a05f028","text":"允许逻辑复制订阅者仅处理没有来源的变更（Vignesh C，Amit Kapila）§ § 这可用于避免复制循环。这由新的 CREATE SUBSCRIPTION ... ORIGIN 选项控制。","title":"允许逻辑复制订阅者仅处理没有来源的变更","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["1e10d49b6","482675987"],"commit_groups":[["1e10d49b6"],["482675987"]],"commits":["1e10d49b6","482675987"],"cves":[],"db_id":"aa1ea3aebe0dac80a1e918a1c2847bca","html":"\u003cp\u003e以表所有者身份执行逻辑复制 \u003ca href=\"/docs/16/sql-select.html\" title=\"SELECT\"\u003e\u003ccode\u003eSELECT\u003c/code\u003e\u003c/a\u003e 和 \u003cacronym\u003eDML\u003c/acronym\u003e 操作（Robert Haas）\u003ca href=\"https://postgr.es/c/1e10d49b6\"\u003e§\u003c/a\u003e \u003ca href=\"https://postgr.es/c/482675987\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e这提高了安全性，现在要求订阅所有者是超级用户或对复制集中所有拥有表的角色具有 \u003ca href=\"/docs/16/sql-set-role.html\" title=\"SET ROLE\"\u003e\u003ccode\u003eSET ROLE\u003c/code\u003e\u003c/a\u003e 权限。以订阅所有者身份执行所有操作的先前行为可以通过订阅 \u003ca href=\"/docs/16/sql-createsubscription.html\" title=\"CREATE SUBSCRIPTION\"\u003e\u003ccode\u003erun_as_owner\u003c/code\u003e\u003c/a\u003e 选项启用。\u003c/p\u003e","id":"16.0-a2853ba15ff4d5e8","identity_text":"Perform logical replication SELECT and DML actions as the table owner (Robert Haas) This improves security and now requires subscription owners to be either superusers or to have SET ROLE permission on all roles owning tables in the replication set. The previous behavior of performing all operations as the subscription owner can be enabled with the subscription run_as_owner option.","part":"changes","patch_ids":["06e31a265f18d2aa8f0e146808441665","852db09e88f98f1fbc8338148813c35b"],"related_changes":[],"relations":[],"section":"逻辑复制","section_path":["逻辑复制"],"source_commits":["1e10d49b6","482675987"],"source_entry_id":"16.0/changes/080","source_hash":"c1978a65d4122e6e826018e7eae82c66e241e9e360ffb803364f77b0e4cac6ef","source_url":"/docs/release/16.0/#RELEASE-16-LOGICAL","statement_hash":"7698b1d0004c2161ed3c8098213803b645f072445e127ff38ec2b0e8b96d3759","text":"以表所有者身份执行逻辑复制 SELECT 和 DML 操作（Robert Haas）§ § 这提高了安全性，现在要求订阅所有者是超级用户或对复制集中所有拥有表的角色具有 SET ROLE 权限。以订阅所有者身份执行所有操作的先前行为可以通过订阅 run_as_owner 选项启用。","title":"以表所有者身份执行逻辑复制 SELECT 和 DML 操作","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["5a3a95385"],"commit_groups":[["5a3a95385"]],"commits":["5a3a95385"],"cves":[],"db_id":"c0d17db66fb8440e6c90578c2619ed26","html":"\u003cp\u003e使 \u003ca href=\"/docs/16/runtime-config-replication.html#GUC-WAL-RETRIEVE-RETRY-INTERVAL\"\u003e\u003ccode\u003ewal_retrieve_retry_interval\u003c/code\u003e\u003c/a\u003e 按订阅操作（Nathan Bossart）\u003ca href=\"https://postgr.es/c/5a3a95385\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e之前重试时间是全局应用的。这还添加了等待事件 \u003ca href=\"/docs/16/monitoring-stats.html#WAIT-EVENT-LWLOCK-TABLE\" title=\"表 28.12. LWLock类型的等待事件\"\u003e\u003ccode\u003eLogicalRepLauncherDSA\u003c/code\u003e\u003c/a\u003e 和 \u003ccode\u003eLogicalRepLauncherHash\u003c/code\u003e。\u003c/p\u003e","id":"16.0-a67f814c630f81eb","identity_text":"Have wal_retrieve_retry_interval operate on a per-subscription basis (Nathan Bossart) Previously the retry time was applied globally. This also adds wait events \u003eLogicalRepLauncherDSA and LogicalRepLauncherHash.","part":"changes","patch_ids":["7b2740a79739093e6accbe2a534129ca"],"related_changes":[],"relations":[],"section":"逻辑复制","section_path":["逻辑复制"],"source_commits":["5a3a95385"],"source_entry_id":"16.0/changes/081","source_hash":"e4cf8a8f891e46ab45b6c57cd7091ff37f71ba92019cf77df705274fcdb8dd9a","source_url":"/docs/release/16.0/#RELEASE-16-LOGICAL","statement_hash":"2767fae0dffd49f214a489873ed6b73b310657a2db010de1928985e5cb631870","text":"使 wal_retrieve_retry_interval 按订阅操作（Nathan Bossart）§ 之前重试时间是全局应用的。这还添加了等待事件 LogicalRepLauncherDSA 和 LogicalRepLauncherHash。","title":"使 wal_retrieve_retry_interval 按订阅操作","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["3c05284d8"],"commit_groups":[["3c05284d8"]],"commits":["3c05284d8"],"cves":[],"db_id":"b4a01fe5ffbbc906a764634d6009d2a5","html":"\u003cp\u003e增加 \u003ca href=\"/docs/16/sql-explain.html\" title=\"EXPLAIN\"\u003e\u003ccode\u003eEXPLAIN\u003c/code\u003e\u003c/a\u003e 选项 \u003ccode\u003eGENERIC_PLAN\u003c/code\u003e 以显示参数化查询的通用计划（Laurenz Albe）\u003ca href=\"https://postgr.es/c/3c05284d8\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"16.0-3f5a6d52a100f7a4","identity_text":"Add EXPLAIN option GENERIC_PLAN to display the generic plan for a parameterized query (Laurenz Albe)","part":"changes","patch_ids":["be35477f72bff094b94677b8cd683be1"],"related_changes":[],"relations":[],"section":"工具命令","section_path":["工具命令"],"source_commits":["3c05284d8"],"source_entry_id":"16.0/changes/082","source_hash":"0e9504b699da3e3696922eb9f07124ecace8b3905a2b69c334344acd79f3542d","source_url":"/docs/release/16.0/#RELEASE-16-UTILITY","statement_hash":"48d13d5c87cc1801eb449ed30d12f3a3437a11adbbd5620cf99e353a8151b83c","text":"增加 EXPLAIN 选项 GENERIC_PLAN 以显示参数化查询的通用计划（Laurenz Albe）§","title":"增加 EXPLAIN 选项 GENERIC_PLAN 以显示参数化查询的通用计划","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["9f8377f7a"],"commit_groups":[["9f8377f7a"]],"commits":["9f8377f7a"],"cves":[],"db_id":"d27772796eb471693aeb43a76ae0585d","html":"\u003cp\u003e允许 \u003ca href=\"/docs/16/sql-copy.html\" title=\"COPY\"\u003e\u003ccode\u003eCOPY FROM\u003c/code\u003e\u003c/a\u003e 值映射到列的 \u003ccode\u003eDEFAULT\u003c/code\u003e（Israel Barth Rubio）\u003ca href=\"https://postgr.es/c/9f8377f7a\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"16.0-01e6e5ca138ec291","identity_text":"Allow a COPY FROM value to map to a column's DEFAULT (Israel Barth Rubio)","part":"changes","patch_ids":["83f2d72f33ab6b0c7ee1e77356024528"],"related_changes":[],"relations":[],"section":"工具命令","section_path":["工具命令"],"source_commits":["9f8377f7a"],"source_entry_id":"16.0/changes/083","source_hash":"10eeb5a25fe1332729eeccff10f21605d421c576b877ef36679c285456ecb896","source_url":"/docs/release/16.0/#RELEASE-16-UTILITY","statement_hash":"368e2ee1df687962a3d662ce7aa68b41ef9fcd377023603bb8d7131e8ad6a8ff","text":"允许 COPY FROM 值映射到列的 DEFAULT（Israel Barth Rubio）§","title":"允许 COPY FROM 值映射到列的 DEFAULT","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["97da48246"],"commit_groups":[["97da48246"]],"commits":["97da48246"],"cves":[],"db_id":"d95de3df464af40951a11e2ac403c964","html":"\u003cp\u003e允许 \u003ca href=\"/docs/16/sql-copy.html\" title=\"COPY\"\u003e\u003ccode\u003eCOPY\u003c/code\u003e\u003c/a\u003e 以批量方式向外部表添加行（Andrey Lepikhov，Etsuro Fujita）\u003ca href=\"https://postgr.es/c/97da48246\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e这由\u003ca href=\"/docs/16/postgres-fdw.html\" title=\"F.38. postgres_fdw — 访问存储在外部 PostgreSQL 服务器中的数据\"\u003e\u003cspan\u003epostgres_fdw\u003c/span\u003e\u003c/a\u003e选项 \u003ca href=\"/docs/16/postgres-fdw.html#POSTGRES-FDW-OPTIONS-COST-ESTIMATION\" title=\"F.38.1.3. 代价估算选项\"\u003e\u003ccode\u003ebatch_size\u003c/code\u003e\u003c/a\u003e 控制。\u003c/p\u003e","id":"16.0-d36a39c496a43dd9","identity_text":"Allow COPY into foreign tables to add rows in batches (Andrey Lepikhov, Etsuro Fujita) This is controlled by the postgres_fdw option batch_size.","part":"changes","patch_ids":["7e55f1877ed7124325748d313ae62487"],"related_changes":[],"relations":[],"section":"工具命令","section_path":["工具命令"],"source_commits":["97da48246"],"source_entry_id":"16.0/changes/084","source_hash":"e82e65c036b39eb2bcbc911d147d723bd2ceea4facb37d0ee4ea8114ff7588c1","source_url":"/docs/release/16.0/#RELEASE-16-UTILITY","statement_hash":"184b8039a6d4b92919728af177525e61b6abeeedd31224b39cc38ecbb9b7c523","text":"允许 COPY 以批量方式向外部表添加行（Andrey Lepikhov，Etsuro Fujita）§ 这由postgres_fdw选项 batch_size 控制。","title":"允许 COPY 以批量方式向外部表添加行","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["784cedda0","b9424d014"],"commit_groups":[["784cedda0"],["b9424d014"]],"commits":["784cedda0","b9424d014"],"cves":[],"db_id":"6ca5c2476e02ff24249ab198b5c68c52","html":"\u003cp\u003e允许 \u003ca href=\"/docs/16/sql-createtable.html\" title=\"CREATE TABLE\"\u003e\u003ccode\u003eCREATE TABLE\u003c/code\u003e\u003c/a\u003e 指定 \u003ccode\u003eSTORAGE\u003c/code\u003e 类型（Teodor Sigaev，Aleksander Alekseev）\u003ca href=\"https://postgr.es/c/784cedda0\"\u003e§\u003c/a\u003e \u003ca href=\"https://postgr.es/c/b9424d014\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e之前只有 \u003ca href=\"/docs/16/sql-altertable.html\" title=\"ALTER TABLE\"\u003e\u003ccode\u003eALTER TABLE\u003c/code\u003e\u003c/a\u003e 可以控制这一点。\u003c/p\u003e","id":"16.0-8d4fc20739312d11","identity_text":"Allow the STORAGE type to be specified by CREATE TABLE (Teodor Sigaev, Aleksander Alekseev) Previously only ALTER TABLE could control this.","part":"changes","patch_ids":["5356c7349d9c510450b3104935cb41b9","cadac9a6ec60fec7523d064a6884b6ff"],"related_changes":[],"relations":[],"section":"工具命令","section_path":["工具命令"],"source_commits":["784cedda0","b9424d014"],"source_entry_id":"16.0/changes/085","source_hash":"da33fc43ebcb529218028cf38710f53f999ba791a627a0f948b767242554fe9f","source_url":"/docs/release/16.0/#RELEASE-16-UTILITY","statement_hash":"1ae8e7d7e80282d48eb7148194d5132f26e95fa570907e1812008924f6e509d3","text":"允许 CREATE TABLE 指定 STORAGE 类型（Teodor Sigaev，Aleksander Alekseev）§ § 之前只有 ALTER TABLE 可以控制这一点。","title":"允许 CREATE TABLE 指定 STORAGE 类型","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["3b00a944a"],"commit_groups":[["3b00a944a"]],"commits":["3b00a944a"],"cves":[],"db_id":"693b5ff7c3a180f56ffc9a8a6fb40aaf","html":"\u003cp\u003e允许在外部表上使用\u003ca href=\"/docs/16/sql-createtrigger.html\" title=\"CREATE TRIGGER\"\u003e截断触发器\u003c/a\u003e（Yugo Nagata）\u003ca href=\"https://postgr.es/c/3b00a944a\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"16.0-4c0ee34acb5b662e","identity_text":"Allow truncate triggers on foreign tables (Yugo Nagata)","part":"changes","patch_ids":["c704d229ce4595b4d27aa4db0c1c0f23"],"related_changes":[],"relations":[],"section":"工具命令","section_path":["工具命令"],"source_commits":["3b00a944a"],"source_entry_id":"16.0/changes/086","source_hash":"67a466dc9e07cd06b290c8b9c33aa1d85468dee8420d92b06dbd1d636cc94e4f","source_url":"/docs/release/16.0/#RELEASE-16-UTILITY","statement_hash":"f47f23c42bb3e6f146cb6956a37997c1376a309e13a324ea2c35ab101524a5b3","text":"允许在外部表上使用截断触发器（Yugo Nagata）§","title":"允许在外部表上使用截断触发器","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["4211fbd84"],"commit_groups":[["4211fbd84"]],"commits":["4211fbd84"],"cves":[],"db_id":"373ca3287c1ded42d79d933db2353ce3","html":"\u003cp\u003e允许 \u003ca href=\"/docs/16/sql-vacuum.html\" title=\"VACUUM\"\u003e\u003ccode\u003eVACUUM\u003c/code\u003e\u003c/a\u003e 和\u003ca href=\"/docs/16/app-vacuumdb.html\" title=\"vacuumdb\"\u003e\u003cspan\u003evacuumdb\u003c/span\u003e\u003c/a\u003e仅处理 \u003ca href=\"/docs/16/storage-toast.html\" title=\"73.2. TOAST\"\u003e\u003ccode\u003eTOAST\u003c/code\u003e\u003c/a\u003e 表（Nathan Bossart）\u003ca href=\"https://postgr.es/c/4211fbd84\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e这通过让 \u003ca href=\"/docs/16/sql-vacuum.html\" title=\"VACUUM\"\u003e\u003ccode\u003eVACUUM\u003c/code\u003e\u003c/a\u003e 关闭 \u003ccode\u003ePROCESS_MAIN\u003c/code\u003e 或让\u003ca href=\"/docs/16/app-vacuumdb.html\" title=\"vacuumdb\"\u003e\u003cspan\u003evacuumdb\u003c/span\u003e\u003c/a\u003e使用 \u003ccode\u003e--no-process-main\u003c/code\u003e 选项来实现。\u003c/p\u003e","id":"16.0-d012f052146c3589","identity_text":"Allow VACUUM and vacuumdb to only process TOAST tables (Nathan Bossart) This is accomplished by having VACUUM turn off PROCESS_MAIN or by vacuumdb using the --no-process-main option.","part":"changes","patch_ids":["5a9c00a57be8ab695142f015c7fdff59"],"related_changes":[],"relations":[],"section":"工具命令","section_path":["工具命令"],"source_commits":["4211fbd84"],"source_entry_id":"16.0/changes/087","source_hash":"e4fc105e50a975660157205cd01b24fc508da246165330b7c5a1b2e607fd98a1","source_url":"/docs/release/16.0/#RELEASE-16-UTILITY","statement_hash":"c2987dfaf72ae0e47e1668ff6a1a30860a4dea4c27debc090c792b153adbc4ef","text":"允许 VACUUM 和vacuumdb仅处理 TOAST 表（Nathan Bossart）§ 这通过让 VACUUM 关闭 PROCESS_MAIN 或让vacuumdb使用 --no-process-main 选项来实现。","title":"允许 VACUUM 和vacuumdb仅处理 TOAST 表","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["a46a7011b"],"commit_groups":[["a46a7011b"]],"commits":["a46a7011b"],"cves":[],"db_id":"e136e43acbe4861285a36e1d2974b349","html":"\u003cp\u003e增加 \u003ca href=\"/docs/16/sql-vacuum.html\" title=\"VACUUM\"\u003e\u003ccode\u003eVACUUM\u003c/code\u003e\u003c/a\u003e 选项以跳过或更新所有\u003ca href=\"/docs/16/routine-vacuuming.html#VACUUM-FOR-WRAPAROUND\" title=\"25.1.5. 防止事务 ID 回卷失败\"\u003e冻结\u003c/a\u003e统计（Tom Lane，Nathan Bossart）\u003ca href=\"https://postgr.es/c/a46a7011b\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e选项为 \u003ccode\u003eSKIP_DATABASE_STATS\u003c/code\u003e 和 \u003ccode\u003eONLY_DATABASE_STATS\u003c/code\u003e。\u003c/p\u003e","id":"16.0-f1e72aec52de755e","identity_text":"Add VACUUM options to skip or update all frozen statistics (Tom Lane, Nathan Bossart) The options are SKIP_DATABASE_STATS and ONLY_DATABASE_STATS.","part":"changes","patch_ids":["7ef9b10294fcd9c5eaca0c87b7436e1a"],"related_changes":[{"db_id":"14e919445c15a22f53716118595810d3","evidence":{"ambiguous_patch_ids":["7ef9b10294fcd9c5eaca0c87b7436e1a"],"patch_ids":["7ef9b10294fcd9c5eaca0c87b7436e1a"],"same_day":true},"kind":"related","label":"16.0","source_url":"/docs/release/16.0/#RELEASE-16-SERVER-APPS","title":"使用新的 VACUUM 选项改进vacuumdb的性能","url":"/docs/compare/?release=16.0#16.0-699af19f89a0437c","version":"16.0"}],"relations":[{"evidence":{"ambiguous_patch_ids":["7ef9b10294fcd9c5eaca0c87b7436e1a"],"patch_ids":["7ef9b10294fcd9c5eaca0c87b7436e1a"],"same_day":true},"rule":2,"target":"14e919445c15a22f53716118595810d3","type":"related"}],"section":"工具命令","section_path":["工具命令"],"source_commits":["a46a7011b"],"source_entry_id":"16.0/changes/088","source_hash":"114478504c527c58479419c581c463959e5127ce6fe68f6fb7b77bedeba900e5","source_url":"/docs/release/16.0/#RELEASE-16-UTILITY","statement_hash":"02713986409505385485caf1cbe9cc7c09ceeb4098cb4414e133d7659011f335","text":"增加 VACUUM 选项以跳过或更新所有冻结统计（Tom Lane，Nathan Bossart）§ 选项为 SKIP_DATABASE_STATS 和 ONLY_DATABASE_STATS。","title":"增加 VACUUM 选项以跳过或更新所有冻结统计","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["0a5f06b84","2cbc3c17a"],"commit_groups":[["0a5f06b84"],["2cbc3c17a"]],"commits":["0a5f06b84","2cbc3c17a"],"cves":[],"db_id":"cb5715aa1fddf34ed43b90514b03bc21","html":"\u003cp\u003e更改 \u003ca href=\"/docs/16/sql-reindex.html\" title=\"REINDEX\"\u003e\u003ccode\u003eREINDEX DATABASE\u003c/code\u003e\u003c/a\u003e 和 \u003ca href=\"/docs/16/sql-reindex.html\" title=\"REINDEX\"\u003e\u003ccode\u003eREINDEX SYSTEM\u003c/code\u003e\u003c/a\u003e 不再要求参数（Simon Riggs）\u003ca href=\"https://postgr.es/c/2cbc3c17a\"\u003e§\u003c/a\u003e \u003ca href=\"https://postgr.es/c/0a5f06b84\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e之前必须指定数据库名称。\u003c/p\u003e","id":"16.0-8cc6611e70448232","identity_text":"Change REINDEX DATABASE and REINDEX SYSTEM to no longer require an argument (Simon Riggs) Previously the database name had to be specified.","part":"changes","patch_ids":["92844ce33747d7e2426d82ea02840c62","e53caa2334bbd1e5befcc0bdae91cb58"],"related_changes":[{"db_id":"c7098ee16ce798a7dcd85cd97890fc70","evidence":{"patch_ids":["92844ce33747d7e2426d82ea02840c62","e53caa2334bbd1e5befcc0bdae91cb58"],"same_day":true},"kind":"related","label":"16.0","source_url":"/docs/release/16.0/#RELEASE-16-MIGRATION","title":"更改 REINDEX DATABASE 和reindexdb不再处理系统目录上的索引","url":"/docs/compare/?release=16.0#16.0-c55edd8a8feeef53","version":"16.0"}],"relations":[{"evidence":{"patch_ids":["92844ce33747d7e2426d82ea02840c62","e53caa2334bbd1e5befcc0bdae91cb58"],"same_day":true},"rule":2,"target":"c7098ee16ce798a7dcd85cd97890fc70","type":"related"}],"section":"工具命令","section_path":["工具命令"],"source_commits":["0a5f06b84","2cbc3c17a"],"source_entry_id":"16.0/changes/089","source_hash":"e035b9e1e70809bff54527a7e3d70be9050011107eb7f150dde9386006ab18e6","source_url":"/docs/release/16.0/#RELEASE-16-UTILITY","statement_hash":"bfbe5b5c1384c5857431b2b2b3a46ced6aa74870b3ca9c9659d2f27a6005caee","text":"更改 REINDEX DATABASE 和 REINDEX SYSTEM 不再要求参数（Simon Riggs）§ § 之前必须指定数据库名称。","title":"更改 REINDEX DATABASE 和 REINDEX SYSTEM 不再要求参数","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["624aa2a13"],"commit_groups":[["624aa2a13"]],"commits":["624aa2a13"],"cves":[],"db_id":"f8f0ce9d49f0d5818d04768382f1524e","html":"\u003cp\u003e允许 \u003ca href=\"/docs/16/sql-createstatistics.html\" title=\"CREATE STATISTICS\"\u003e\u003ccode\u003eCREATE STATISTICS\u003c/code\u003e\u003c/a\u003e 在未指定名称时自动生成统计名称（Simon Riggs）\u003ca href=\"https://postgr.es/c/624aa2a13\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"16.0-3844738a777c834c","identity_text":"Allow CREATE STATISTICS to generate a statistics name if none is specified (Simon Riggs)","part":"changes","patch_ids":["1c380d8f89495e67440d3bb9a28c1e1a"],"related_changes":[],"relations":[],"section":"工具命令","section_path":["工具命令"],"source_commits":["624aa2a13"],"source_entry_id":"16.0/changes/090","source_hash":"4e27420dc8863b745b148996af99f89a99fe0c6152dc9d120cedf87f33da7ccb","source_url":"/docs/release/16.0/#RELEASE-16-UTILITY","statement_hash":"26fd60ed3dabf59fb1e12eb8a91833a45e5e0e6e2a6f14ff21ffa2f946e11501","text":"允许 CREATE STATISTICS 在未指定名称时自动生成统计名称（Simon Riggs）§","title":"允许 CREATE STATISTICS 在未指定名称时自动生成统计名称","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["6fcda9aba"],"commit_groups":[["6fcda9aba"]],"commits":["6fcda9aba"],"cves":[],"db_id":"80593abbc195599f9bff43cca073d7fa","html":"\u003cp\u003e允许非十进制\u003ca href=\"/docs/16/sql-syntax-lexical.html#SQL-SYNTAX-BIT-STRINGS\" title=\"4.1.2.5. 位串常量\"\u003e整数字面量\u003c/a\u003e（Peter Eisentraut）\u003ca href=\"https://postgr.es/c/6fcda9aba\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e例如，\u003ccode\u003e0x42F\u003c/code\u003e、\u003ccode\u003e0o273\u003c/code\u003e 和 \u003ccode\u003e0b100101\u003c/code\u003e。\u003c/p\u003e","id":"16.0-0ba8066ae7895704","identity_text":"Allow non-decimal integer literals (Peter Eisentraut) For example, 0x42F, 0o273, and 0b100101.","part":"changes","patch_ids":["21be5cabd83c4ec7ff37efe369cca0d4"],"related_changes":[],"relations":[],"section":"数据类型","section_path":["数据类型"],"source_commits":["6fcda9aba"],"source_entry_id":"16.0/changes/091","source_hash":"1e8d0d6e21815f254a2963f1b2ad4691ba4900cc4eb7cc740c3dc3c249428ea1","source_url":"/docs/release/16.0/#RELEASE-16-DATATYPES","statement_hash":"d173030a69368131cda14ac16e5452c46055a914ecb75e343700fcc2e4571869","text":"允许非十进制整数字面量（Peter Eisentraut）§ 例如，0x42F、0o273 和 0b100101。","title":"允许非十进制整数字面量","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["6dfacbf72"],"commit_groups":[["6dfacbf72"]],"commits":["6dfacbf72"],"cves":[],"db_id":"7bb886e582680af9804b547b84f97599","html":"\u003cp\u003e允许 \u003ca href=\"/docs/16/datatype-numeric.html\" title=\"8.1. 数字类型\"\u003e\u003ccode\u003eNUMERIC\u003c/code\u003e\u003c/a\u003e 处理任意大小的十六进制、八进制和二进制整数（Dean Rasheed）\u003ca href=\"https://postgr.es/c/6dfacbf72\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e之前这些非十进制基数仅支持未加引号的八字节整数。\u003c/p\u003e","id":"16.0-1deb2b8592e625a4","identity_text":"Allow NUMERIC to process hexadecimal, octal, and binary integers of any size (Dean Rasheed) Previously only unquoted eight-byte integers were supported with these non-decimal bases.","part":"changes","patch_ids":["209c3a100a28e1974be2db481536f411"],"related_changes":[],"relations":[],"section":"数据类型","section_path":["数据类型"],"source_commits":["6dfacbf72"],"source_entry_id":"16.0/changes/092","source_hash":"f0916df08154e66510c0cedb912e3ab13c380bead5dfe82b9a0fd849365f7fb8","source_url":"/docs/release/16.0/#RELEASE-16-DATATYPES","statement_hash":"93d6f0952a52f6f730637a82d5c981e4f7c8be1385eaa836e571159b5582b2d0","text":"允许 NUMERIC 处理任意大小的十六进制、八进制和二进制整数（Dean Rasheed）§ 之前这些非十进制基数仅支持未加引号的八字节整数。","title":"允许 NUMERIC 处理任意大小的十六进制、八进制和二进制整数","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["faff8f8e4"],"commit_groups":[["faff8f8e4"]],"commits":["faff8f8e4"],"cves":[],"db_id":"f6c59a09d4f38841e49ea5f7b391be9e","html":"\u003cp\u003e允许在整数和数字\u003ca href=\"/docs/16/sql-syntax-lexical.html#SQL-SYNTAX-BIT-STRINGS\" title=\"4.1.2.5. 位串常量\"\u003e常量\u003c/a\u003e中使用下划线（Peter Eisentraut，Dean Rasheed）\u003ca href=\"https://postgr.es/c/faff8f8e4\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e这可以提高长数字串的可读性。\u003c/p\u003e","id":"16.0-2a8315818136651b","identity_text":"Allow underscores in integer and numeric constants (Peter Eisentraut, Dean Rasheed) This can improve readability for long strings of digits.","part":"changes","patch_ids":["a13e0ad7973efa98d6a2de863d0d70af"],"related_changes":[],"relations":[],"section":"数据类型","section_path":["数据类型"],"source_commits":["faff8f8e4"],"source_entry_id":"16.0/changes/093","source_hash":"398452e094762ba54012240eb995795e7f9a832bebc7062f3a5ca576e971ccb7","source_url":"/docs/release/16.0/#RELEASE-16-DATATYPES","statement_hash":"e81dc7c5fcd9e53d41eb054251984cd165ad6167b818edc2465fa40dec938be9","text":"允许在整数和数字常量中使用下划线（Peter Eisentraut，Dean Rasheed）§ 这可以提高长数字串的可读性。","title":"允许在整数和数字常量中使用下划线","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["2ceea5adb"],"commit_groups":[["2ceea5adb"]],"commits":["2ceea5adb"],"cves":[],"db_id":"5e9e893e220f3528b26835ebe7190b77","html":"\u003cp\u003e接受日期时间输入中 \u003ccode\u003e+infinity\u003c/code\u003e 的拼写（Vik Fearing）\u003ca href=\"https://postgr.es/c/2ceea5adb\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"16.0-9aebc6c0a1ebece4","identity_text":"Accept the spelling +infinity in datetime input (Vik Fearing)","part":"changes","patch_ids":["147d762e1d9a3a631a2c8af1c155febf"],"related_changes":[],"relations":[],"section":"数据类型","section_path":["数据类型"],"source_commits":["2ceea5adb"],"source_entry_id":"16.0/changes/094","source_hash":"69efe1836ca257eb2e3674bf6c167449b1b892d661974def00cc3e871bae6cac","source_url":"/docs/release/16.0/#RELEASE-16-DATATYPES","statement_hash":"9751567b09a48ae29555519796db176202791db77c6981249a7f3f1db7367d04","text":"接受日期时间输入中 +infinity 的拼写（Vik Fearing）§","title":"接受日期时间输入中 +infinity 的拼写","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["bcc704b52"],"commit_groups":[["bcc704b52"]],"commits":["bcc704b52"],"cves":[],"db_id":"fb1f1c0d9d90b104655315ec8fab0fc6","html":"\u003cp\u003e禁止在日期时间字符串中将 \u003ccode\u003eepoch\u003c/code\u003e 或 \u003ccode\u003einfinity\u003c/code\u003e 与其他字段组合使用（Joseph Koshakow）\u003ca href=\"https://postgr.es/c/bcc704b52\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"16.0-f7aacf3a96bfe12f","identity_text":"Prevent the specification of epoch and infinity together with other fields in datetime strings (Joseph Koshakow)","part":"changes","patch_ids":["52e5a8889a2e3288f4361955d3aef717"],"related_changes":[],"relations":[],"section":"数据类型","section_path":["数据类型"],"source_commits":["bcc704b52"],"source_entry_id":"16.0/changes/095","source_hash":"92ec781ef767e457a8a17ff97bb716035d651047ba52b6b84d3e84e65127fc65","source_url":"/docs/release/16.0/#RELEASE-16-DATATYPES","statement_hash":"924d5768041a2a75bf83626e2f79fef49c5523615f649919bcdf966cd67cd86f","text":"禁止在日期时间字符串中将 epoch 或 infinity 与其他字段组合使用（Joseph Koshakow）§","title":"禁止在日期时间字符串中将 epoch 或 infinity 与其他字段组合使用","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["5b3c59535"],"commit_groups":[["5b3c59535"]],"commits":["5b3c59535"],"cves":[],"db_id":"0b99ad8f8291fb013eac9666b91d9d4f","html":"\u003cp\u003e移除对 \u003ccode\u003eY\u003cem\u003e\u003ccode\u003eyear\u003c/code\u003e\u003c/em\u003eM\u003cem\u003e\u003ccode\u003emonth\u003c/code\u003e\u003c/em\u003eD\u003cem\u003e\u003ccode\u003eday\u003c/code\u003e\u003c/em\u003e\u003c/code\u003e 形式日期输入的未文档化支持（Joseph Koshakow）\u003ca href=\"https://postgr.es/c/5b3c59535\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"16.0-3804e525eee486e5","identity_text":"Remove undocumented support for date input in the form YyearMmonthDday (Joseph Koshakow)","part":"changes","patch_ids":["5a7bbdfa8898d69f50bc84032bfb5806"],"related_changes":[],"relations":[],"section":"数据类型","section_path":["数据类型"],"source_commits":["5b3c59535"],"source_entry_id":"16.0/changes/096","source_hash":"87dc3336651c991123ee0a7da605bc9aff9efb74bad4057d59681947973f171a","source_url":"/docs/release/16.0/#RELEASE-16-DATATYPES","statement_hash":"9c67365aed67f840abe188e7907e69fa41f3db284baccbe9e9a35638daa42bb2","text":"移除对 YyearMmonthDday 形式日期输入的未文档化支持（Joseph Koshakow）§","title":"移除对 YyearMmonthDday 形式日期输入的未文档化支持","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["1939d2628","b8da37b3a"],"commit_groups":[["1939d2628"],["b8da37b3a"]],"commits":["1939d2628","b8da37b3a"],"cves":[],"db_id":"00a778d0511db37680e672751447a72f","html":"\u003cp\u003e增加函数 \u003ca href=\"/docs/16/functions-info.html#FUNCTIONS-INFO-VALIDITY-TABLE\" title=\"表 9.79. 数据有效性检查函数\"\u003e\u003ccode\u003epg_input_is_valid()\u003c/code\u003e\u003c/a\u003e 和 \u003ccode\u003epg_input_error_info()\u003c/code\u003e 以检查类型转换错误（Tom Lane）\u003ca href=\"https://postgr.es/c/1939d2628\"\u003e§\u003c/a\u003e \u003ca href=\"https://postgr.es/c/b8da37b3a\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"16.0-66032fe66f489704","identity_text":"Add functions pg_input_is_valid() and pg_input_error_info() to check for type conversion errors (Tom Lane)","part":"changes","patch_ids":["59c35b2ff5e23c49d7cdbe56833b2729","7b3bce2b4ee6948d93cbff20b2ba977b"],"related_changes":[],"relations":[],"section":"数据类型","section_path":["数据类型"],"source_commits":["1939d2628","b8da37b3a"],"source_entry_id":"16.0/changes/097","source_hash":"4ccac7d4201b0631ffa84a4cd20ddf0eb3feb942f62470be956a168c083875af","source_url":"/docs/release/16.0/#RELEASE-16-DATATYPES","statement_hash":"9d8df082c27e221b2c4777a5514e0eef001e702dc918085b859e0b04dd0c7658","text":"增加函数 pg_input_is_valid() 和 pg_input_error_info() 以检查类型转换错误（Tom Lane）§ §","title":"增加函数 pg_input_is_valid() 和 pg_input_error_info() 以检查类型转换错误","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["bcedd8f5f"],"commit_groups":[["bcedd8f5f"]],"commits":["bcedd8f5f"],"cves":[],"db_id":"578b053cee16ee19a136dcc48f53b0cb","html":"\u003cp\u003e允许 \u003ccode\u003eFROM\u003c/code\u003e 子句中的子查询省略别名（Dean Rasheed）\u003ca href=\"https://postgr.es/c/bcedd8f5f\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"16.0-61c906303fbbee0d","identity_text":"Allow subqueries in the FROM clause to omit aliases (Dean Rasheed)","part":"changes","patch_ids":["b217c727dc70a9df5cc7c852a373f7b0"],"related_changes":[],"relations":[],"section":"一般查询","section_path":["一般查询"],"source_commits":["bcedd8f5f"],"source_entry_id":"16.0/changes/098","source_hash":"47811cb990427509a237fe98dc291e2c73f57f170e10e6a87113f0525c5a9972","source_url":"/docs/release/16.0/#RELEASE-16-GENERAL","statement_hash":"a08ca8076ef9411b6bdf0ddce23e1286432bed1bc74eaf16046e199d6eb5aea0","text":"允许 FROM 子句中的子查询省略别名（Dean Rasheed）§","title":"允许 FROM 子句中的子查询省略别名","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["102a5c164"],"commit_groups":[["102a5c164"]],"commits":["102a5c164"],"cves":[],"db_id":"6c06b2084490dc400316bec3d5b69607","html":"\u003cp\u003e增加对 \u003cacronym\u003eSQL/JSON\u003c/acronym\u003e 路径中增强数字字面量的支持（Peter Eisentraut）\u003ca href=\"https://postgr.es/c/102a5c164\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e例如，允许十六进制、八进制和二进制整数以及数字间的下划线。\u003c/p\u003e","id":"16.0-34618b6e530bc9cf","identity_text":"Add support for enhanced numeric literals in SQL/JSON paths (Peter Eisentraut) For example, allow hexadecimal, octal, and binary integers and underscores between digits.","part":"changes","patch_ids":["8776124c5c726ab99ed1d992ed6840d4"],"related_changes":[],"relations":[],"section":"一般查询","section_path":["一般查询"],"source_commits":["102a5c164"],"source_entry_id":"16.0/changes/099","source_hash":"69f4dd7fbb8a795af40315cebcd58b312f0387ce7cc96f8e438cac077e359c5f","source_url":"/docs/release/16.0/#RELEASE-16-GENERAL","statement_hash":"aedfa96f43a7357f43b768e64c2cfba113c7b3890d2b14e9a02c3668450110d7","text":"增加对 SQL/JSON 路径中增强数字字面量的支持（Peter Eisentraut）§ 例如，允许十六进制、八进制和二进制整数以及数字间的下划线。","title":"增加对 SQL/JSON 路径中增强数字字面量的支持","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["7081ac46a"],"commit_groups":[["7081ac46a"]],"commits":["7081ac46a"],"cves":[],"db_id":"20326d9698cb5aed3cc175835394db13","html":"\u003cp\u003e增加 \u003cacronym\u003eSQL/JSON\u003c/acronym\u003e 构造函数（Nikita Glukhov，Teodor Sigaev，Oleg Bartunov，Alexander Korotkov，Amit Langote）\u003ca href=\"https://postgr.es/c/7081ac46a\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e新函数 \u003ca href=\"/docs/16/functions-json.html#FUNCTIONS-JSON-CREATION-TABLE\" title=\"表 9.47. JSON 创建函数\"\u003e\u003ccode\u003eJSON_ARRAY()\u003c/code\u003e\u003c/a\u003e、\u003ca href=\"/docs/16/functions-aggregate.html#FUNCTIONS-AGGREGATE-TABLE\" title=\"表 9.59. 通用聚合函数\"\u003e\u003ccode\u003eJSON_ARRAYAGG()\u003c/code\u003e\u003c/a\u003e、\u003ccode\u003eJSON_OBJECT()\u003c/code\u003e 和 \u003ccode\u003eJSON_OBJECTAGG()\u003c/code\u003e 是 \u003cacronym\u003eSQL\u003c/acronym\u003e 标准的一部分。\u003c/p\u003e","id":"16.0-d1d1934fe0174f27","identity_text":"Add SQL/JSON constructors (Nikita Glukhov, Teodor Sigaev, Oleg Bartunov, Alexander Korotkov, Amit Langote) The new functions JSON_ARRAY(), JSON_ARRAYAGG(), JSON_OBJECT(), and JSON_OBJECTAGG() are part of the SQL standard.","part":"changes","patch_ids":["1d2941bc8d2c466a0937418083196848"],"related_changes":[],"relations":[],"section":"函数","section_path":["函数"],"source_commits":["7081ac46a"],"source_entry_id":"16.0/changes/100","source_hash":"46700b0d8276d54c091e9a005b076d9751a6ed1eedf89d837f15f08fc08e208f","source_url":"/docs/release/16.0/#RELEASE-16-FUNCTIONS","statement_hash":"6a5f82417a33d0758f07e867deec6403274a2a7a55872bc463243e73fba9d0e6","text":"增加 SQL/JSON 构造函数（Nikita Glukhov，Teodor Sigaev，Oleg Bartunov，Alexander Korotkov，Amit Langote）§ 新函数 JSON_ARRAY()、JSON_ARRAYAGG()、JSON_OBJECT() 和 JSON_OBJECTAGG() 是 SQL 标准的一部分。","title":"增加 SQL/JSON 构造函数","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["6ee30209a"],"commit_groups":[["6ee30209a"]],"commits":["6ee30209a"],"cves":[],"db_id":"699bdd7fe40d0eec31e7491993e21517","html":"\u003cp\u003e增加 \u003cacronym\u003eSQL/JSON\u003c/acronym\u003e 对象检查（Nikita Glukhov，Teodor Sigaev，Oleg Bartunov，Alexander Korotkov，Amit Langote，Andrew Dunstan）\u003ca href=\"https://postgr.es/c/6ee30209a\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"/docs/16/functions-json.html#FUNCTIONS-SQLJSON-MISC\" title=\"表 9.48. SQL/JSON 测试函数\"\u003e\u003ccode\u003eIS JSON\u003c/code\u003e\u003c/a\u003e 检查包括对值、数组、对象、标量和唯一键的检查。\u003c/p\u003e","id":"16.0-582fc88cec852a03","identity_text":"Add SQL/JSON object checks (Nikita Glukhov, Teodor Sigaev, Oleg Bartunov, Alexander Korotkov, Amit Langote, Andrew Dunstan) The IS JSON checks include checks for values, arrays, objects, scalars, and unique keys.","part":"changes","patch_ids":["551f25024479eecbdc10e717f22857e8"],"related_changes":[],"relations":[],"section":"函数","section_path":["函数"],"source_commits":["6ee30209a"],"source_entry_id":"16.0/changes/101","source_hash":"1cc948bc507c1d0ee791bded713381aefa8b0eb6f84bb3f1ab6ed416fc9cd03d","source_url":"/docs/release/16.0/#RELEASE-16-FUNCTIONS","statement_hash":"57b6bbd32f6fcbb0c5be2d2127a02d7521729e432e99a93704989e7e006ca6f4","text":"增加 SQL/JSON 对象检查（Nikita Glukhov，Teodor Sigaev，Oleg Bartunov，Alexander Korotkov，Amit Langote，Andrew Dunstan）§ IS JSON 检查包括对值、数组、对象、标量和唯一键的检查。","title":"增加 SQL/JSON 对象检查","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["0a8de93a4"],"commit_groups":[["0a8de93a4"]],"commits":["0a8de93a4"],"cves":[],"db_id":"33ef85cec1ecfe967586468e013771fb","html":"\u003cp\u003e允许 \u003cacronym\u003eJSON\u003c/acronym\u003e 字符串解析使用向量运算（John Naylor）\u003ca href=\"https://postgr.es/c/0a8de93a4\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"16.0-a2fe5a384faaa02e","identity_text":"Allow JSON string parsing to use vector operations (John Naylor)","part":"changes","patch_ids":["ef92e77cd0ae486d81920b30b4c2620e"],"related_changes":[],"relations":[],"section":"函数","section_path":["函数"],"source_commits":["0a8de93a4"],"source_entry_id":"16.0/changes/102","source_hash":"54e4075955ad7bce6624a741e105ebe930ff5686ecfdea0dbca61119660929d1","source_url":"/docs/release/16.0/#RELEASE-16-FUNCTIONS","statement_hash":"9be7a99c90ae976c512c9b0fe9925e5d9eb9b81f39a7e80a9410493265daad3d","text":"允许 JSON 字符串解析使用向量运算（John Naylor）§","title":"允许 JSON 字符串解析使用向量运算","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["5a617d75d"],"commit_groups":[["5a617d75d"]],"commits":["5a617d75d"],"cves":[],"db_id":"4bc81c7596c44026a8c7b7bab64ea7d6","html":"\u003cp\u003e改进全文高亮函数 \u003ca href=\"/docs/16/functions-textsearch.html#TEXTSEARCH-FUNCTIONS-TABLE\" title=\"表 9.43. 文本检索函数\"\u003e\u003ccode\u003ets_headline()\u003c/code\u003e\u003c/a\u003e 对 \u003ccode\u003eOR\u003c/code\u003e 和 \u003ccode\u003eNOT\u003c/code\u003e 表达式的处理（Tom Lane）\u003ca href=\"https://postgr.es/c/5a617d75d\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"16.0-a8896af545373a55","identity_text":"Improve the handling of full text highlighting function ts_headline() for OR and NOT expressions (Tom Lane)","part":"changes","patch_ids":["e4eac6aba48c1df9887bb1b1112ad163"],"related_changes":[],"relations":[],"section":"函数","section_path":["函数"],"source_commits":["5a617d75d"],"source_entry_id":"16.0/changes/103","source_hash":"0e5dc0511502f67259971efce05aed30681f4e3f05d99568027b313c5823a944","source_url":"/docs/release/16.0/#RELEASE-16-FUNCTIONS","statement_hash":"56942dd3e2df7805a59b09e51ac3b7d5dd9d8c97551a4f3fe36f576c5562a00e","text":"改进全文高亮函数 ts_headline() 对 OR 和 NOT 表达式的处理（Tom Lane）§","title":"改进全文高亮函数 ts_headline() 对 OR 和 NOT 表达式的处理","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["75bd846b6"],"commit_groups":[["75bd846b6"]],"commits":["75bd846b6"],"cves":[],"db_id":"c28bac373db57c7dd66aac77c3405020","html":"\u003cp\u003e增加在指定时区中添加、减去和生成 \u003ccode\u003etimestamptz\u003c/code\u003e 值的函数（Przemyslaw Sztoch，Gurjeet Singh）\u003ca href=\"https://postgr.es/c/75bd846b6\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e函数为 \u003ca href=\"/docs/16/functions-datetime.html#FUNCTIONS-DATETIME-TABLE\" title=\"表 9.33. 日期/时间函数\"\u003e\u003ccode\u003edate_add()\u003c/code\u003e\u003c/a\u003e、\u003ccode\u003edate_subtract()\u003c/code\u003e 和 \u003ca href=\"/docs/16/functions-srf.html#FUNCTIONS-SRF-SERIES\" title=\"表 9.65. 序列生成函数\"\u003e\u003ccode\u003egenerate_series()\u003c/code\u003e\u003c/a\u003e。\u003c/p\u003e","id":"16.0-525afe4c61719d64","identity_text":"Add functions to add, subtract, and generate timestamptz values in a specified time zone (Przemyslaw Sztoch, Gurjeet Singh) The functions are date_add(), date_subtract(), and generate_series().","part":"changes","patch_ids":["a30002cf2dadec1192bc9568cfd54da2"],"related_changes":[],"relations":[],"section":"函数","section_path":["函数"],"source_commits":["75bd846b6"],"source_entry_id":"16.0/changes/104","source_hash":"bb01a1d76caa93f4b916f8ced73472dc0734ba851508620fcea91b4bfa4cc194","source_url":"/docs/release/16.0/#RELEASE-16-FUNCTIONS","statement_hash":"45e8581d2540739f85bcb8815dfd7cd57f761d01eb9ca1a99c631981b80d16cd","text":"增加在指定时区中添加、减去和生成 timestamptz 值的函数（Przemyslaw Sztoch，Gurjeet Singh）§ 函数为 date_add()、date_subtract() 和 generate_series()。","title":"增加在指定时区中添加、减去和生成 timestamptz 值的函数","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["533e02e92"],"commit_groups":[["533e02e92"]],"commits":["533e02e92"],"cves":[],"db_id":"349b5bf1069668c2d9170487230d4e10","html":"\u003cp\u003e将 \u003ca href=\"/docs/16/functions-datetime.html#FUNCTIONS-DATETIME-TABLE\" title=\"表 9.33. 日期/时间函数\"\u003e\u003ccode\u003edate_trunc(unit, timestamptz, time_zone)\u003c/code\u003e\u003c/a\u003e 更改为不可变函数（Przemyslaw Sztoch）\u003ca href=\"https://postgr.es/c/533e02e92\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e这允许使用此函数创建表达式索引。\u003c/p\u003e","id":"16.0-823dc51da64e4c6a","identity_text":"Change date_trunc(unit, timestamptz, time_zone) to be an immutable function (Przemyslaw Sztoch) This allows the creation of expression indexes using this function.","part":"changes","patch_ids":["66ebabb5d904527fa721903163f0f4f2"],"related_changes":[],"relations":[],"section":"函数","section_path":["函数"],"source_commits":["533e02e92"],"source_entry_id":"16.0/changes/105","source_hash":"5a48a89713a7623b999259e7e26597c649be2577cff3eb60b08f991264215a33","source_url":"/docs/release/16.0/#RELEASE-16-FUNCTIONS","statement_hash":"fd7516d24b402751a2e6575d1a58270e83b97ff2b275cb03c4c9b718032e77ae","text":"将 date_trunc(unit, timestamptz, time_zone) 更改为不可变函数（Przemyslaw Sztoch）§ 这允许使用此函数创建表达式索引。","title":"将 date_trunc(unit, timestamptz, time_zone) 更改为不可变函数","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["0823d061b"],"commit_groups":[["0823d061b"]],"commits":["0823d061b"],"cves":[],"db_id":"135afabed066e907bf216dcbac0f7315","html":"\u003cp\u003e增加服务器变量 \u003ca href=\"/docs/16/functions-info.html#FUNCTIONS-INFO-SESSION-TABLE\" title=\"表 9.67. 会话信息函数\"\u003e\u003ccode\u003eSYSTEM_USER\u003c/code\u003e\u003c/a\u003e（Bertrand Drouvot）\u003ca href=\"https://postgr.es/c/0823d061b\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e这报告认证方法及其认证的用户。\u003c/p\u003e","id":"16.0-94d8307be94add34","identity_text":"Add server variable SYSTEM_USER (Bertrand Drouvot) This reports the authentication method and its authenticated user.","part":"changes","patch_ids":["84fe34ce3649263d604ff873140eb39f"],"related_changes":[],"relations":[],"section":"函数","section_path":["函数"],"source_commits":["0823d061b"],"source_entry_id":"16.0/changes/106","source_hash":"3e532584493bd7cab5e49b4605c870cbc3e9ef9cca291cd4a3151f8d57ff9004","source_url":"/docs/release/16.0/#RELEASE-16-FUNCTIONS","statement_hash":"4e6fa6b3a3e98af1d197b0a6ad58f9ab083a84fb82afdb8a8c5e071b7a106b4b","text":"增加服务器变量 SYSTEM_USER（Bertrand Drouvot）§ 这报告认证方法及其认证的用户。","title":"增加服务器变量 SYSTEM_USER","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["888f2ea0a"],"commit_groups":[["888f2ea0a"]],"commits":["888f2ea0a"],"cves":[],"db_id":"c21328dce1fd0ed2ad46aa8fc9a43828","html":"\u003cp\u003e增加函数 \u003ca href=\"/docs/16/functions-array.html#ARRAY-FUNCTIONS-TABLE\" title=\"表 9.54. 数组函数\"\u003e\u003ccode\u003earray_sample()\u003c/code\u003e\u003c/a\u003e 和 \u003ccode\u003earray_shuffle()\u003c/code\u003e（Martin Kalcher）\u003ca href=\"https://postgr.es/c/888f2ea0a\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"16.0-96e669de2b8b6d6d","identity_text":"Add functions array_sample() and array_shuffle() (Martin Kalcher)","part":"changes","patch_ids":["a9ad857cf74bffc0494a175abe88b6ac"],"related_changes":[],"relations":[],"section":"函数","section_path":["函数"],"source_commits":["888f2ea0a"],"source_entry_id":"16.0/changes/107","source_hash":"ec84184c593ea473ee8dc58199d653d88d1d3a20ce585a00bfbf96fffcb2d245","source_url":"/docs/release/16.0/#RELEASE-16-FUNCTIONS","statement_hash":"c65e22b9fd65f892bf4673d877188b8c7ef96cbff9e33ff56820897ff8617cf1","text":"增加函数 array_sample() 和 array_shuffle()（Martin Kalcher）§","title":"增加函数 array_sample() 和 array_shuffle()","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["2ddab010c"],"commit_groups":[["2ddab010c"]],"commits":["2ddab010c"],"cves":[],"db_id":"7e2bec75b74667b8499da853f7c721ae","html":"\u003cp\u003e增加聚合函数 \u003ca href=\"/docs/16/functions-aggregate.html#FUNCTIONS-AGGREGATE-TABLE\" title=\"表 9.59. 通用聚合函数\"\u003e\u003ccode\u003eANY_VALUE()\u003c/code\u003e\u003c/a\u003e，返回集合中的任意值（Vik Fearing）\u003ca href=\"https://postgr.es/c/2ddab010c\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"16.0-962ec36400974b93","identity_text":"Add aggregate function ANY_VALUE() which returns any value from a set (Vik Fearing)","part":"changes","patch_ids":["209509f848d41dd44d99bdbd93a10dc4"],"related_changes":[],"relations":[],"section":"函数","section_path":["函数"],"source_commits":["2ddab010c"],"source_entry_id":"16.0/changes/108","source_hash":"940c88b09d6cf3c35e8ac178821123abaffd7173e5c2d2ab635f62a917b2ca3b","source_url":"/docs/release/16.0/#RELEASE-16-FUNCTIONS","statement_hash":"80922a8a7ae585a56c0f2973f49d05cee392e0f37f8851e6329fc2db5ac564eb","text":"增加聚合函数 ANY_VALUE()，返回集合中的任意值（Vik Fearing）§","title":"增加聚合函数 ANY_VALUE()，返回集合中的任意值","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["38d81760c"],"commit_groups":[["38d81760c"]],"commits":["38d81760c"],"cves":[],"db_id":"318c6c5b7bbb1a35c2c776a2c263dde1","html":"\u003cp\u003e增加函数 \u003ca href=\"/docs/16/functions-math.html#FUNCTIONS-MATH-RANDOM-TABLE\" title=\"表 9.6. 随机函数\"\u003e\u003ccode\u003erandom_normal()\u003c/code\u003e\u003c/a\u003e 以提供正态分布的随机数（Paul Ramsey）\u003ca href=\"https://postgr.es/c/38d81760c\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"16.0-10a9ed80bb7251af","identity_text":"Add function random_normal() to supply normally-distributed random numbers (Paul Ramsey)","part":"changes","patch_ids":["007cf74b74d6e2b9d70d7e150ef80d3c"],"related_changes":[],"relations":[],"section":"函数","section_path":["函数"],"source_commits":["38d81760c"],"source_entry_id":"16.0/changes/109","source_hash":"872fd075434e4ebc9c35fac3391a8b42a840c60c9e390404cacb2e32c99e9c42","source_url":"/docs/release/16.0/#RELEASE-16-FUNCTIONS","statement_hash":"a5a6746b47296f56a7627b4ff8819eeb2961b18f21a0b67d838857f72ea0b020","text":"增加函数 random_normal() 以提供正态分布的随机数（Paul Ramsey）§","title":"增加函数 random_normal() 以提供正态分布的随机数","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["d5d574146"],"commit_groups":[["d5d574146"]],"commits":["d5d574146"],"cves":[],"db_id":"cb08a0308823c1c0f144a64665e6ed90","html":"\u003cp\u003e增加误差函数 \u003ca href=\"/docs/16/functions-math.html#FUNCTIONS-MATH-FUNC-TABLE\" title=\"表 9.5. 数学函数\"\u003e\u003ccode\u003eerf()\u003c/code\u003e\u003c/a\u003e 及其补函数 \u003ccode\u003eerfc()\u003c/code\u003e（Dean Rasheed）\u003ca href=\"https://postgr.es/c/d5d574146\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"16.0-aea6faac563e98eb","identity_text":"Add error function erf() and its complement erfc() (Dean Rasheed)","part":"changes","patch_ids":["6685f91c313d72ef784a03c82f7c65ea"],"related_changes":[],"relations":[],"section":"函数","section_path":["函数"],"source_commits":["d5d574146"],"source_entry_id":"16.0/changes/110","source_hash":"9644ee23aae556b8d9b8a51ee2390b2e056b5282557c0c1ffd8f5218bb5ea6ea","source_url":"/docs/release/16.0/#RELEASE-16-FUNCTIONS","statement_hash":"f3c298f4055a27dd3faa6cb0c9afd4c922acfb860d9608115be90f59f00a65d9","text":"增加误差函数 erf() 及其补函数 erfc()（Dean Rasheed）§","title":"增加误差函数 erf() 及其补函数 erfc()","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["40c7fcbbe"],"commit_groups":[["40c7fcbbe"]],"commits":["40c7fcbbe"],"cves":[],"db_id":"54eee9ce53ba692493246709c78d808d","html":"\u003cp\u003e改进整数指数的数字 \u003ca href=\"/docs/16/functions-math.html#FUNCTIONS-MATH-FUNC-TABLE\" title=\"表 9.5. 数学函数\"\u003e\u003ccode\u003epower()\u003c/code\u003e\u003c/a\u003e 的精度（Dean Rasheed）\u003ca href=\"https://postgr.es/c/40c7fcbbe\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"16.0-ffa0531e8ae60276","identity_text":"Improve the accuracy of numeric power() for integer exponents (Dean Rasheed)","part":"changes","patch_ids":["66100beb58ced124cedb22466fdf1af6"],"related_changes":[],"relations":[],"section":"函数","section_path":["函数"],"source_commits":["40c7fcbbe"],"source_entry_id":"16.0/changes/111","source_hash":"672d12c4b6397223902aa3a9894355b12f97c143770a0825d1a6082aec92d3db","source_url":"/docs/release/16.0/#RELEASE-16-FUNCTIONS","statement_hash":"077e569e5af1989e6f0c9446fb8df356b47c96357b4cb7ec721d52fa35d09efe","text":"改进整数指数的数字 power() 的精度（Dean Rasheed）§","title":"改进整数指数的数字 power() 的精度","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["483bdb2af"],"commit_groups":[["483bdb2af"]],"commits":["483bdb2af"],"cves":[],"db_id":"4f7b10789a6595dbe8b4b01d0d97aaa0","html":"\u003cp\u003e增加 \u003ca href=\"/docs/16/datatype-xml.html#DATATYPE-XML-CREATING\" title=\"8.13.1. 创建XML值\"\u003e\u003ccode\u003eXMLSERIALIZE()\u003c/code\u003e\u003c/a\u003e 选项 \u003ccode\u003eINDENT\u003c/code\u003e 以美化输出（Jim Jones）\u003ca href=\"https://postgr.es/c/483bdb2af\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"16.0-e659b7e72dbb7310","identity_text":"Add XMLSERIALIZE() option INDENT to pretty-print its output (Jim Jones)","part":"changes","patch_ids":["6381b3e1b87c9af9119593b8a8de2fd3"],"related_changes":[],"relations":[],"section":"函数","section_path":["函数"],"source_commits":["483bdb2af"],"source_entry_id":"16.0/changes/112","source_hash":"0057253bcd11806ce7b1e916ded61e54e074bf1d1375b11a853c37dcdff4d14d","source_url":"/docs/release/16.0/#RELEASE-16-FUNCTIONS","statement_hash":"b489e47026b4c9baafc863a71f1f5825c804455c34719d4153b1aaa8d8564ffd","text":"增加 XMLSERIALIZE() 选项 INDENT 以美化输出（Jim Jones）§","title":"增加 XMLSERIALIZE() 选项 INDENT 以美化输出","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["10932ed5e"],"commit_groups":[["10932ed5e"]],"commits":["10932ed5e"],"cves":[],"db_id":"41a2a495f50281685d99ad323c360322","html":"\u003cp\u003e更改 \u003ca href=\"/docs/16/functions-admin.html#FUNCTIONS-ADMIN-COLLATION\" title=\"表 9.98. 排序规则管理函数\"\u003e\u003ccode\u003epg_collation_actual_version()\u003c/code\u003e\u003c/a\u003e 以为默认排序规则返回合理的值（Jeff Davis）\u003ca href=\"https://postgr.es/c/10932ed5e\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e之前它返回 \u003ccode\u003eNULL\u003c/code\u003e。\u003c/p\u003e","id":"16.0-8fe69fe7d28ea430","identity_text":"Change pg_collation_actual_version() to return a reasonable value for the default collation (Jeff Davis) Previously it returned NULL.","part":"changes","patch_ids":["b95d181667f8424754ea67d84d12fcd1"],"related_changes":[],"relations":[],"section":"函数","section_path":["函数"],"source_commits":["10932ed5e"],"source_entry_id":"16.0/changes/113","source_hash":"89df15ee5b45cc9ec04b3de618dd32a507aefa16686269ee3a0553be2e7b1531","source_url":"/docs/release/16.0/#RELEASE-16-FUNCTIONS","statement_hash":"849c8ed880dc614befb9fa3726f062801102df3bd34f1bd4a20d2c97366f874b","text":"更改 pg_collation_actual_version() 以为默认排序规则返回合理的值（Jeff Davis）§ 之前它返回 NULL。","title":"更改 pg_collation_actual_version() 以为默认排序规则返回合理的值","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["283129e32"],"commit_groups":[["283129e32"]],"commits":["283129e32"],"cves":[],"db_id":"3db0e1ae9d51dd005b37d2ada8b21ef6","html":"\u003cp\u003e允许 \u003ca href=\"/docs/16/functions-admin.html#FUNCTIONS-ADMIN-GENFILE-TABLE\" title=\"表 9.101. 通用文件访问函数\"\u003e\u003ccode\u003epg_read_file()\u003c/code\u003e\u003c/a\u003e 和 \u003ccode\u003epg_read_binary_file()\u003c/code\u003e 忽略缺失的文件（Kyotaro Horiguchi）\u003ca href=\"https://postgr.es/c/283129e32\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"16.0-ea7d9dd68b412cb6","identity_text":"Allow pg_read_file() and pg_read_binary_file() to ignore missing files (Kyotaro Horiguchi)","part":"changes","patch_ids":["b134587681d1ba8d2853979e51de9186"],"related_changes":[],"relations":[],"section":"函数","section_path":["函数"],"source_commits":["283129e32"],"source_entry_id":"16.0/changes/114","source_hash":"517e9cc15281471b29e29b20b66043c2cdc224b234218fc013b67b4d268d264d","source_url":"/docs/release/16.0/#RELEASE-16-FUNCTIONS","statement_hash":"bf188c3de699ac0714539f81ce619f019db54f4a661ee67d014aed441192fe0c","text":"允许 pg_read_file() 和 pg_read_binary_file() 忽略缺失的文件（Kyotaro Horiguchi）§","title":"允许 pg_read_file() 和 pg_read_binary_file() 忽略缺失的文件","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["ce1215d9b"],"commit_groups":[["ce1215d9b"]],"commits":["ce1215d9b"],"cves":[],"db_id":"868756c43fb93e2c80ca4c4bc19677e4","html":"\u003cp\u003e向 \u003ca href=\"/docs/16/functions-admin.html#FUNCTIONS-ADMIN-DBSIZE\" title=\"表 9.96. 数据库对象尺寸函数\"\u003e\u003ccode\u003epg_size_bytes()\u003c/code\u003e\u003c/a\u003e 添加字节规格（\u003ccode\u003eB\u003c/code\u003e）（Peter Eisentraut）\u003ca href=\"https://postgr.es/c/ce1215d9b\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"16.0-ab98fc7e0a3147df","identity_text":"Add byte specification (B) to pg_size_bytes() (Peter Eisentraut)","part":"changes","patch_ids":["41517fc2dc3d8ce5b0f8b081e04f0ebd"],"related_changes":[],"relations":[],"section":"函数","section_path":["函数"],"source_commits":["ce1215d9b"],"source_entry_id":"16.0/changes/115","source_hash":"10dcbcfcddd49a227c039e1241f2f0d2f9b5eb7349a315867ba0024d259cef10","source_url":"/docs/release/16.0/#RELEASE-16-FUNCTIONS","statement_hash":"003f2dd9e25e20a59856aa541b48c1979779d932ee7568d354deda670aade984","text":"向 pg_size_bytes() 添加字节规格（B）（Peter Eisentraut）§","title":"向 pg_size_bytes() 添加字节规格（B）","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["3ea7329c9"],"commit_groups":[["3ea7329c9"]],"commits":["3ea7329c9"],"cves":[],"db_id":"c7db3fb790a06d10ea3ca54de7c58633","html":"\u003cp\u003e允许 \u003ca href=\"/docs/16/functions-info.html#FUNCTIONS-INFO-CATALOG-TABLE\" title=\"表 9.72. 系统目录信息函数\"\u003e\u003ccode\u003eto_reg\u003c/code\u003e\u003c/a\u003e* 函数接受数字 \u003cacronym\u003eOID\u003c/acronym\u003e 作为输入（Tom Lane）\u003ca href=\"https://postgr.es/c/3ea7329c9\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"16.0-9979f825f07238b2","identity_text":"Allow to_reg* functions to accept numeric OIDs as input (Tom Lane)","part":"changes","patch_ids":["2178fd4447224097ed3c239d6042ef7a"],"related_changes":[],"relations":[],"section":"函数","section_path":["函数"],"source_commits":["3ea7329c9"],"source_entry_id":"16.0/changes/116","source_hash":"3d9d939516de19a150ba4bf947a3bff222ae673526b9094198505931742dc39d","source_url":"/docs/release/16.0/#RELEASE-16-FUNCTIONS","statement_hash":"d92316f4314dd3bbc0435a68f53ccc266e2b7f83a75e60e010bf8d73f524de0c","text":"允许 to_reg* 函数接受数字 OID 作为输入（Tom Lane）§","title":"允许 to_reg* 函数接受数字 OID 作为输入","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["d3d53f955"],"commit_groups":[["d3d53f955"]],"commits":["d3d53f955"],"cves":[],"db_id":"a0b07140e69038a2343ab67906940aaf","html":"\u003cp\u003e增加在 \u003cspan\u003ePL/pgSQL\u003c/span\u003e 中获取当前函数 \u003cacronym\u003eOID\u003c/acronym\u003e 的能力（Pavel Stehule）\u003ca href=\"https://postgr.es/c/d3d53f955\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e这通过 \u003ca href=\"/docs/16/plpgsql-statements.html#PLPGSQL-STATEMENTS-DIAGNOSTICS\" title=\"43.5.5. 获取结果状态\"\u003e\u003ccode\u003eGET DIAGNOSTICS variable = PG_ROUTINE_OID\u003c/code\u003e\u003c/a\u003e 实现。\u003c/p\u003e","id":"16.0-d434fe6a56e059ad","identity_text":"Add the ability to get the current function's OID in PL/pgSQL (Pavel Stehule) This is accomplished with GET DIAGNOSTICS variable = PG_ROUTINE_OID.","part":"changes","patch_ids":["08d9a9d68b22bac1bbdfe0c0746ca523"],"related_changes":[],"relations":[],"section":"PL/pgSQL","section_path":["PL/pgSQL"],"source_commits":["d3d53f955"],"source_entry_id":"16.0/changes/117","source_hash":"56950d4dd29af764779f18a6aabb04dc5847ff3dbdc4c6a401f212b4273ff94a","source_url":"/docs/release/16.0/#RELEASE-16-PLPGSQL","statement_hash":"d0a5bac30e4eb6eaea9321f80e96c501b87b0c770df90133e77abec0e3bf3214","text":"增加在 PL/pgSQL 中获取当前函数 OID 的能力（Pavel Stehule）§ 这通过 GET DIAGNOSTICS variable = PG_ROUTINE_OID 实现。","title":"增加在 PL/pgSQL 中获取当前函数 OID 的能力","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["3a465cc67"],"commit_groups":[["3a465cc67"]],"commits":["3a465cc67"],"cves":[],"db_id":"4c858bae325d824494991b29c7096b54","html":"\u003cp\u003e增加 \u003cspan\u003elibpq\u003c/span\u003e 连接选项 \u003ca href=\"/docs/16/libpq-connect.html#LIBPQ-CONNECT-REQUIRE-AUTH\"\u003e\u003ccode\u003erequire_auth\u003c/code\u003e\u003c/a\u003e 以指定可接受的认证方法列表（Jacob Champion）\u003ca href=\"https://postgr.es/c/3a465cc67\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e这也可用于禁止某些认证方法。\u003c/p\u003e","id":"16.0-deb6ad896df2c831","identity_text":"Add libpq connection option require_auth to specify a list of acceptable authentication methods (Jacob Champion) This can also be used to disallow certain authentication methods.","part":"changes","patch_ids":["f8268f5fea49d2462a659efb665976bd"],"related_changes":[],"relations":[],"section":"libpq","section_path":["libpq"],"source_commits":["3a465cc67"],"source_entry_id":"16.0/changes/118","source_hash":"adf6433b4f99db13ef2bdb6cab0bc799f119576247271a5cb56994552f4e5bfb","source_url":"/docs/release/16.0/#RELEASE-16-LIBPQ","statement_hash":"20ff871c05acfba16c44b4d7c2fa4c70987d6857a71f50d98c07ce7ce19d8004","text":"增加 libpq 连接选项 require_auth 以指定可接受的认证方法列表（Jacob Champion）§ 这也可用于禁止某些认证方法。","title":"增加 libpq 连接选项 require_auth 以指定可接受的认证方法列表","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["0a16512d4","7f5b19817"],"commit_groups":[["0a16512d4"],["7f5b19817"]],"commits":["0a16512d4","7f5b19817"],"cves":[],"db_id":"f8ff87aaab449ca54bdc0cb144c8c9d9","html":"\u003cp\u003e允许多个 \u003cspan\u003elibpq\u003c/span\u003e 指定的主机被随机选择（Jelte Fennema）\u003ca href=\"https://postgr.es/c/7f5b19817\"\u003e§\u003c/a\u003e \u003ca href=\"https://postgr.es/c/0a16512d4\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e这通过 \u003ca href=\"/docs/16/libpq-connect.html#LIBPQ-CONNECT-LOAD-BALANCE-HOSTS\"\u003e\u003ccode\u003eload_balance_hosts=random\u003c/code\u003e\u003c/a\u003e 启用，可用于负载均衡。\u003c/p\u003e","id":"16.0-2d62ba8897ceb580","identity_text":"Allow multiple libpq-specified hosts to be randomly selected (Jelte Fennema) This is enabled with load_balance_hosts=random and can be used for load balancing.","part":"changes","patch_ids":["38cfae9ae7979d29f10b6932354bda3a","dfe0f471539341ebda184943559365fd"],"related_changes":[],"relations":[],"section":"libpq","section_path":["libpq"],"source_commits":["0a16512d4","7f5b19817"],"source_entry_id":"16.0/changes/119","source_hash":"92809fe848a353c04c28b50a9d0d615145087fde33846c8642eba957d022780e","source_url":"/docs/release/16.0/#RELEASE-16-LIBPQ","statement_hash":"48e22957ef569bac092c26bc74fad4e31e7bef3cdce6550d6a2cadbc39a9f606","text":"允许多个 libpq 指定的主机被随机选择（Jelte Fennema）§ § 这通过 load_balance_hosts=random 启用，可用于负载均衡。","title":"允许多个 libpq 指定的主机被随机选择","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["36f40ce2d"],"commit_groups":[["36f40ce2d"]],"commits":["36f40ce2d"],"cves":[],"db_id":"cfcefe5d627c511474cfc47e3bb615a5","html":"\u003cp\u003e增加 \u003cspan\u003elibpq\u003c/span\u003e 选项 \u003ca href=\"/docs/16/libpq-connect.html#LIBPQ-CONNECT-SSLCERTMODE\"\u003e\u003ccode\u003esslcertmode\u003c/code\u003e\u003c/a\u003e 以控制客户端证书的传输（Jacob Champion）\u003ca href=\"https://postgr.es/c/36f40ce2d\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e选项值为 \u003ccode\u003edisable\u003c/code\u003e、\u003ccode\u003eallow\u003c/code\u003e 和 \u003ccode\u003erequire\u003c/code\u003e。\u003c/p\u003e","id":"16.0-35f58d0abdbda17d","identity_text":"Add libpq option sslcertmode to control transmission of the client certificate (Jacob Champion) The option values are disable, allow, and require.","part":"changes","patch_ids":["283caeb061d9b81a8420896fbe4e6d8e"],"related_changes":[],"relations":[],"section":"libpq","section_path":["libpq"],"source_commits":["36f40ce2d"],"source_entry_id":"16.0/changes/120","source_hash":"009e3def375008397619b11fa43715424158bf0fc2f7c5674d3805cdca28af7d","source_url":"/docs/release/16.0/#RELEASE-16-LIBPQ","statement_hash":"099059b865c5f2cef339a1b38a41671ff75304c589f266cc995f4c2e74f797db","text":"增加 libpq 选项 sslcertmode 以控制客户端证书的传输（Jacob Champion）§ 选项值为 disable、allow 和 require。","title":"增加 libpq 选项 sslcertmode 以控制客户端证书的传输","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["8eda73146"],"commit_groups":[["8eda73146"]],"commits":["8eda73146"],"cves":[],"db_id":"f914e809c1b088ed48f9b9caa9e7bc1b","html":"\u003cp\u003e允许 \u003cspan\u003elibpq\u003c/span\u003e 使用系统证书池进行证书验证（Jacob Champion，Thomas Habets）\u003ca href=\"https://postgr.es/c/8eda73146\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e这通过 \u003ca href=\"/docs/16/libpq-connect.html#LIBPQ-CONNECT-SSLROOTCERT\"\u003e\u003ccode\u003esslrootcert=system\u003c/code\u003e\u003c/a\u003e 启用，同时也会启用 \u003ca href=\"/docs/16/libpq-connect.html#LIBPQ-CONNECT-SSLMODE\"\u003e\u003ccode\u003esslmode=verify-full\u003c/code\u003e\u003c/a\u003e。\u003c/p\u003e","id":"16.0-007e65fe7853fb77","identity_text":"Allow libpq to use the system certificate pool for certificate verification (Jacob Champion, Thomas Habets) This is enabled with sslrootcert=system, which also enables sslmode=verify-full.","part":"changes","patch_ids":["bf0cfa669afeb838d9ff3b99478484f9"],"related_changes":[],"relations":[],"section":"libpq","section_path":["libpq"],"source_commits":["8eda73146"],"source_entry_id":"16.0/changes/121","source_hash":"fbcf17ce6316ce2e2ec52578b6a4a2bc39cac33f3facd1d3d4b67ba75ccc2ed0","source_url":"/docs/release/16.0/#RELEASE-16-LIBPQ","statement_hash":"798b5cf593aa3249fc22c6072002fc807062a3a0bcba0d39fbeea939b7c8cb30","text":"允许 libpq 使用系统证书池进行证书验证（Jacob Champion，Thomas Habets）§ 这通过 sslrootcert=system 启用，同时也会启用 sslmode=verify-full。","title":"允许 libpq 使用系统证书池进行证书验证","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["83f1c7b74"],"commit_groups":[["83f1c7b74"]],"commits":["83f1c7b74"],"cves":[],"db_id":"d6e492659da37b37b74d7f43d66c9ed1","html":"\u003cp\u003e允许 \u003ca href=\"/docs/16/ecpg.html\" title=\"第 36 章 ECPG — C 中的嵌入式 SQL\"\u003e\u003ccode\u003eECPG\u003c/code\u003e\u003c/a\u003e 变量声明使用与非保留 \u003cacronym\u003eSQL\u003c/acronym\u003e 关键字匹配的 typedef 名称（Tom Lane）\u003ca href=\"https://postgr.es/c/83f1c7b74\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e此更改确实会阻止与 C typedef 名称匹配的关键字在后续的 \u003ccode\u003eEXEC SQL\u003c/code\u003e 块中作为关键字处理。\u003c/p\u003e","id":"16.0-f2d35c205f7c8a62","identity_text":"Allow ECPG variable declarations to use typedef names that match unreserved SQL keywords (Tom Lane) This change does prevent keywords which match C typedef names from being processed as keywords in later EXEC SQL blocks.","part":"changes","patch_ids":["436b06ea61c363995bf435b967165d1f"],"related_changes":[],"relations":[],"section":"客户端应用","section_path":["客户端应用"],"source_commits":["83f1c7b74"],"source_entry_id":"16.0/changes/122","source_hash":"63d04bb22bdc4067b6ef8b03559546074e84765c11e37d3e53873a50fac8e9a2","source_url":"/docs/release/16.0/#RELEASE-16-CLIENT-APPS","statement_hash":"c05516733ba7afe4e5e9d11af7920209bdd2f76a81b147bd0759f05595855a4b","text":"允许 ECPG 变量声明使用与非保留 SQL 关键字匹配的 typedef 名称（Tom Lane）§ 此更改确实会阻止与 C typedef 名称匹配的关键字在后续的 EXEC SQL 块中作为关键字处理。","title":"允许 ECPG 变量声明使用与非保留 SQL 关键字匹配的 typedef 名称","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["a45388d6e"],"commit_groups":[["a45388d6e"]],"commits":["a45388d6e"],"cves":[],"db_id":"55c1b30958e3f5c698a9288f14a66890","html":"\u003cp\u003e允许 \u003cspan\u003epsql\u003c/span\u003e 控制扩展格式中标题行的最大宽度（Platon Pronko）\u003ca href=\"https://postgr.es/c/a45388d6e\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e这由 \u003ca href=\"/docs/16/app-psql.html#APP-PSQL-META-COMMAND-PSET-XHEADER-WIDTH\"\u003e\u003ccode\u003exheader_width\u003c/code\u003e\u003c/a\u003e 控制。\u003c/p\u003e","id":"16.0-3c9feeb91abeeb02","identity_text":"Allow psql to control the maximum width of header lines in expanded format (Platon Pronko) This is controlled by xheader_width.","part":"changes","patch_ids":["5fa6ea7e4acf52256ebdf8af5a0769d4"],"related_changes":[],"relations":[],"section":"客户端应用 / psql","section_path":["客户端应用","psql"],"source_commits":["a45388d6e"],"source_entry_id":"16.0/changes/123","source_hash":"1541acf8eec9d410cafcec4097e2a6c02a8cac1ea48819bed8c99c6b3d846169","source_url":"/docs/release/16.0/#RELEASE-16-PSQL","statement_hash":"5456bd63b761380a92c1cccee82ee083f5cf9ba2b61711ee7d789fc324a93d08","text":"允许 psql 控制扩展格式中标题行的最大宽度（Platon Pronko）§ 这由 xheader_width 控制。","title":"允许 psql 控制扩展格式中标题行的最大宽度","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["d65ddaca9","d913928c9"],"commit_groups":[["d65ddaca9"],["d913928c9"]],"commits":["d65ddaca9","d913928c9"],"cves":[],"db_id":"6f8780abecad883c8e311c1576d51c74","html":"\u003cp\u003e增加 \u003cspan\u003epsql\u003c/span\u003e 命令 \u003ca href=\"/docs/16/app-psql.html#APP-PSQL-META-COMMAND-DRG\"\u003e\u003ccode\u003e\\drg\u003c/code\u003e\u003c/a\u003e 以显示角色成员资格详情（Pavel Luzanov）\u003ca href=\"https://postgr.es/c/d913928c9\"\u003e§\u003c/a\u003e \u003ca href=\"https://postgr.es/c/d65ddaca9\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eMember of\u003c/code\u003e 输出列已从 \u003ccode\u003e\\du\u003c/code\u003e 和 \u003ccode\u003e\\dg\u003c/code\u003e 中移除，因为此新命令以更详细的方式显示此信息。\u003c/p\u003e","id":"16.0-ddff000d0c6a5c48-1","identity_text":"Add psql command \\drg to show role membership details (Pavel Luzanov) The Member of output column has been removed from \\du and \\dg because this new command displays this information in more detail.","part":"changes","patch_ids":["4dba2a4b1e84b7a4e5395579e966b329","a97e8a488724255218606080f9528811"],"related_changes":[{"db_id":"19360257dc0dbf33ef1970e329d4991e","evidence":{"ambiguous_patch_ids":["4dba2a4b1e84b7a4e5395579e966b329","a97e8a488724255218606080f9528811"],"patch_ids":["4dba2a4b1e84b7a4e5395579e966b329","a97e8a488724255218606080f9528811"],"same_day":true},"kind":"related","label":"16.0","source_url":"/docs/release/16.0/#RELEASE-16-PSQL","title":"允许 psql 的访问权限命令显示系统对象","url":"/docs/compare/?release=16.0#16.0-ddff000d0c6a5c48-2","version":"16.0"}],"relations":[{"evidence":{"ambiguous_patch_ids":["4dba2a4b1e84b7a4e5395579e966b329","a97e8a488724255218606080f9528811"],"patch_ids":["4dba2a4b1e84b7a4e5395579e966b329","a97e8a488724255218606080f9528811"],"same_day":true},"rule":2,"target":"19360257dc0dbf33ef1970e329d4991e","type":"related"}],"section":"客户端应用 / psql","section_path":["客户端应用","psql"],"source_commits":["d65ddaca9","d913928c9"],"source_entry_id":"16.0/changes/124","source_hash":"4504b20d0892d04e8ef04ff85daefe200e92a0fb55c362afb9ea015bc3d9ef10","source_url":"/docs/release/16.0/#RELEASE-16-PSQL","statement_hash":"a31b10357b2e9c55efa7870b5275371ddbb0daac02e39a771f77aa2d9a217d32","text":"增加 psql 命令 \\drg 以显示角色成员资格详情（Pavel Luzanov）§ § Member of 输出列已从 \\du 和 \\dg 中移除，因为此新命令以更详细的方式显示此信息。","title":"增加 psql 命令 \\drg 以显示角色成员资格详情","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["d65ddaca9","d913928c9"],"commit_groups":[["d65ddaca9"],["d913928c9"]],"commits":["d65ddaca9","d913928c9"],"cves":[],"db_id":"19360257dc0dbf33ef1970e329d4991e","html":"\u003cp\u003e允许 \u003cspan\u003epsql\u003c/span\u003e 的访问权限命令显示系统对象（Nathan Bossart）\u003ca href=\"https://postgr.es/c/d913928c9\"\u003e§\u003c/a\u003e \u003ca href=\"https://postgr.es/c/d65ddaca9\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e选项为 \u003ca href=\"/docs/16/app-psql.html#APP-PSQL-META-COMMAND-DP-LC\"\u003e\u003ccode\u003e\\dpS\u003c/code\u003e\u003c/a\u003e 和 \u003ca href=\"/docs/16/app-psql.html#APP-PSQL-META-COMMAND-Z\"\u003e\u003ccode\u003e\\zS\u003c/code\u003e\u003c/a\u003e。\u003c/p\u003e","id":"16.0-ddff000d0c6a5c48-2","identity_text":"Allow psql's access privilege commands to show system objects (Nathan Bossart) The options are \\dpS and \\zS.","part":"changes","patch_ids":["4dba2a4b1e84b7a4e5395579e966b329","a97e8a488724255218606080f9528811"],"related_changes":[{"db_id":"6f8780abecad883c8e311c1576d51c74","evidence":{"ambiguous_patch_ids":["4dba2a4b1e84b7a4e5395579e966b329","a97e8a488724255218606080f9528811"],"patch_ids":["4dba2a4b1e84b7a4e5395579e966b329","a97e8a488724255218606080f9528811"],"same_day":true},"kind":"related","label":"16.0","source_url":"/docs/release/16.0/#RELEASE-16-PSQL","title":"增加 psql 命令 \\drg 以显示角色成员资格详情","url":"/docs/compare/?release=16.0#16.0-ddff000d0c6a5c48-1","version":"16.0"}],"relations":[{"evidence":{"ambiguous_patch_ids":["4dba2a4b1e84b7a4e5395579e966b329","a97e8a488724255218606080f9528811"],"patch_ids":["4dba2a4b1e84b7a4e5395579e966b329","a97e8a488724255218606080f9528811"],"same_day":true},"rule":2,"target":"6f8780abecad883c8e311c1576d51c74","type":"related"}],"section":"客户端应用 / psql","section_path":["客户端应用","psql"],"source_commits":["d65ddaca9","d913928c9"],"source_entry_id":"16.0/changes/125","source_hash":"126aeec0650536736eb2b95bfd958de2a948eda18471fdf66cbcfa04a8455b3f","source_url":"/docs/release/16.0/#RELEASE-16-PSQL","statement_hash":"828d84b911690b8a8fc0a49b108b6509da85f6d79f0868090b42086b64d7304c","text":"允许 psql 的访问权限命令显示系统对象（Nathan Bossart）§ § 选项为 \\dpS 和 \\zS。","title":"允许 psql 的访问权限命令显示系统对象","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["bd95816f7"],"commit_groups":[["bd95816f7"]],"commits":["bd95816f7"],"cves":[],"db_id":"943b200015d16c739a17767b9f889532","html":"\u003cp\u003e在 \u003cspan\u003epsql\u003c/span\u003e \u003ca href=\"/docs/16/app-psql.html#APP-PSQL-META-COMMAND-D\"\u003e\u003ccode\u003e\\d+\u003c/code\u003e\u003c/a\u003e 中为外部表的子表和分区添加 \u003ccode\u003eFOREIGN\u003c/code\u003e 标识（Ian Lawrence Barwick）\u003ca href=\"https://postgr.es/c/bd95816f7\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"16.0-66ee8ff440fab119","identity_text":"Add FOREIGN designation to psql \\d+ for foreign table children and partitions (Ian Lawrence Barwick)","part":"changes","patch_ids":["2d24708d937b1236e53573ea374beb48"],"related_changes":[],"relations":[],"section":"客户端应用 / psql","section_path":["客户端应用","psql"],"source_commits":["bd95816f7"],"source_entry_id":"16.0/changes/126","source_hash":"3d3bff80a0644fa7ef8ac33e754e531ba30585025eeb63d1e0d5ffe6a4b5c272","source_url":"/docs/release/16.0/#RELEASE-16-PSQL","statement_hash":"d2fafa9ffc63f2be48f6b383db320eef16c976eba434ef928358c76f7dff6048","text":"在 psql \\d+ 中为外部表的子表和分区添加 FOREIGN 标识（Ian Lawrence Barwick）§","title":"在 psql \\d+ 中为外部表的子表和分区添加 FOREIGN 标识","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["3dfae91f7"],"commit_groups":[["3dfae91f7"]],"commits":["3dfae91f7"],"cves":[],"db_id":"5173fa57441ea4049b6e5234ecf85753","html":"\u003cp\u003e阻止 \u003ca href=\"/docs/16/app-psql.html#APP-PSQL-META-COMMAND-DF-UC\"\u003e\u003ccode\u003e\\df+\u003c/code\u003e\u003c/a\u003e 显示函数源代码（Isaac Morland）\u003ca href=\"https://postgr.es/c/3dfae91f7\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e函数体更容易通过 \u003ca href=\"/docs/16/app-psql.html#APP-PSQL-META-COMMAND-SF\"\u003e\u003ccode\u003e\\sf\u003c/code\u003e\u003c/a\u003e 查看。\u003c/p\u003e","id":"16.0-bc063b01ac14664e","identity_text":"Prevent \\df+ from showing function source code (Isaac Morland) Function bodies are more easily viewed with \\sf.","part":"changes","patch_ids":["11d4ea555e3c74decc77402865cc4c80"],"related_changes":[],"relations":[],"section":"客户端应用 / psql","section_path":["客户端应用","psql"],"source_commits":["3dfae91f7"],"source_entry_id":"16.0/changes/127","source_hash":"d0db8ede8e4d6e76faee46314d2c6697a89fdd7238b588bb30a77262b395707d","source_url":"/docs/release/16.0/#RELEASE-16-PSQL","statement_hash":"7469f1568a99bb22b65ba22695215a391b3c2b322b226a2699ab231a03f4f216","text":"阻止 \\df+ 显示函数源代码（Isaac Morland）§ 函数体更容易通过 \\sf 查看。","title":"阻止 \\df+ 显示函数源代码","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["5b66de343"],"commit_groups":[["5b66de343"]],"commits":["5b66de343"],"cves":[],"db_id":"d9a4add0bd8c95097e0fa71921fd1073","html":"\u003cp\u003e允许 \u003cspan\u003epsql\u003c/span\u003e 使用扩展查询协议提交查询（Peter Eisentraut）\u003ca href=\"https://postgr.es/c/5b66de343\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e向此类查询传递参数通过新的 \u003cspan\u003epsql\u003c/span\u003e \u003ca href=\"/docs/16/app-psql.html#APP-PSQL-META-COMMAND-BIND\"\u003e\u003ccode\u003e\\bind\u003c/code\u003e\u003c/a\u003e 命令完成。\u003c/p\u003e","id":"16.0-b2b2b9b0d098424e","identity_text":"Allow psql to submit queries using the extended query protocol (Peter Eisentraut) Passing arguments to such queries is done using the new psql \\bind command.","part":"changes","patch_ids":["d3485f846391b962f7ed75a948e11c07"],"related_changes":[],"relations":[],"section":"客户端应用 / psql","section_path":["客户端应用","psql"],"source_commits":["5b66de343"],"source_entry_id":"16.0/changes/128","source_hash":"876cc1d8b3aaf2b62bf71765f0cfb0f9fea8d465233bfa2c5bb82d0f10c80b45","source_url":"/docs/release/16.0/#RELEASE-16-PSQL","statement_hash":"b98ca8c8eda51363d451a3e285f82699d8e3acea3161663b0f3553a283fad3bb","text":"允许 psql 使用扩展查询协议提交查询（Peter Eisentraut）§ 向此类查询传递参数通过新的 psql \\bind 命令完成。","title":"允许 psql 使用扩展查询协议提交查询","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["00beecfe8"],"commit_groups":[["00beecfe8"]],"commits":["00beecfe8"],"cves":[],"db_id":"7b79146608c9c1559bd7f28c10fc3528","html":"\u003cp\u003e允许 \u003cspan\u003epsql\u003c/span\u003e \u003ca href=\"/docs/16/app-psql.html#APP-PSQL-META-COMMAND-WATCH\"\u003e\u003ccode\u003e\\watch\u003c/code\u003e\u003c/a\u003e 限制执行次数（Andrey Borodin）\u003ca href=\"https://postgr.es/c/00beecfe8\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003e\\watch\u003c/code\u003e 选项现在可以在指定时使用命名方式。\u003c/p\u003e","id":"16.0-424ae9ab48bec533","identity_text":"Allow psql \\watch to limit the number of executions (Andrey Borodin) The \\watch options can now be named when specified.","part":"changes","patch_ids":["71f616f8fc4a21b02fb3f1e748283a4b"],"related_changes":[],"relations":[],"section":"客户端应用 / psql","section_path":["客户端应用","psql"],"source_commits":["00beecfe8"],"source_entry_id":"16.0/changes/129","source_hash":"abdbc973415de7aae48a1e34b60d270cbb1d474664afe15c00f6aa3f078e8e34","source_url":"/docs/release/16.0/#RELEASE-16-PSQL","statement_hash":"f46494be74c9de62f205f9ef429036ccb785ac67e453dbf8395f064d86ab976a","text":"允许 psql \\watch 限制执行次数（Andrey Borodin）§ \\watch 选项现在可以在指定时使用命名方式。","title":"允许 psql \\watch 限制执行次数","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["6f9ee74d4"],"commit_groups":[["6f9ee74d4"]],"commits":["6f9ee74d4"],"cves":[],"db_id":"ab24bb2c0458d4f82906c5b0aabaeedd","html":"\u003cp\u003e检测 \u003cspan\u003epsql\u003c/span\u003e \u003ca href=\"/docs/16/app-psql.html#APP-PSQL-META-COMMAND-WATCH\"\u003e\u003ccode\u003e\\watch\u003c/code\u003e\u003c/a\u003e 的无效值，并允许零表示无延迟（Andrey Borodin）\u003ca href=\"https://postgr.es/c/6f9ee74d4\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"16.0-b3d4d21bb4c2b4e2","identity_text":"Detect invalid values for psql \\watch, and allow zero to specify no delay (Andrey Borodin)","part":"changes","patch_ids":["64a46b322f1baf8f914453efb88937f6"],"related_changes":[],"relations":[],"section":"客户端应用 / psql","section_path":["客户端应用","psql"],"source_commits":["6f9ee74d4"],"source_entry_id":"16.0/changes/130","source_hash":"006424873ca93b70ee87cf1b83ef43c27a5e5ac4604d4109924ce4dca021c53a","source_url":"/docs/release/16.0/#RELEASE-16-PSQL","statement_hash":"962c473bda4fc1e202802c83bdc210a43e4ac8f1d91fafe44e89d0c75d62f809","text":"检测 psql \\watch 的无效值，并允许零表示无延迟（Andrey Borodin）§","title":"检测 psql \\watch 的无效值，并允许零表示无延迟","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["31ae2aa9d","b0d8f2d98"],"commit_groups":[["31ae2aa9d"],["b0d8f2d98"]],"commits":["31ae2aa9d","b0d8f2d98"],"cves":[],"db_id":"132afe4d1c35b8989364a05353e2dbe6","html":"\u003cp\u003e允许 \u003cspan\u003epsql\u003c/span\u003e 脚本获取 shell 命令和查询的退出状态（Corey Huinker，Tom Lane）\u003ca href=\"https://postgr.es/c/b0d8f2d98\"\u003e§\u003c/a\u003e \u003ca href=\"https://postgr.es/c/31ae2aa9d\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e新的 \u003cspan\u003epsql\u003c/span\u003e 控制变量为 \u003ca href=\"/docs/16/app-psql.html#APP-PSQL-VARIABLES-SHELL-ERROR\"\u003e\u003ccode\u003eSHELL_ERROR\u003c/code\u003e\u003c/a\u003e 和 \u003ca href=\"/docs/16/app-psql.html#APP-PSQL-VARIABLES-SHELL-EXIT-CODE\"\u003e\u003ccode\u003eSHELL_EXIT_CODE\u003c/code\u003e\u003c/a\u003e。\u003c/p\u003e","id":"16.0-55738e5bd8034936","identity_text":"Allow psql scripts to obtain the exit status of shell commands and queries (Corey Huinker, Tom Lane) The new psql control variables are SHELL_ERROR and SHELL_EXIT_CODE.","part":"changes","patch_ids":["76b35fb6abf559f4058807db6fbf4909","82a5b4d4e10444acbfa39f83cf6c3357"],"related_changes":[],"relations":[],"section":"客户端应用 / psql","section_path":["客户端应用","psql"],"source_commits":["31ae2aa9d","b0d8f2d98"],"source_entry_id":"16.0/changes/131","source_hash":"ca07464a0326ec6050304d2d83d3342b3aa9b6fc23ed9bfa6214ebcbf57e70a0","source_url":"/docs/release/16.0/#RELEASE-16-PSQL","statement_hash":"2e1ff17ff19e54971106df9f81da63c89e6a76beb57d9c82fd46dbae50e7a106","text":"允许 psql 脚本获取 shell 命令和查询的退出状态（Corey Huinker，Tom Lane）§ § 新的 psql 控制变量为 SHELL_ERROR 和 SHELL_EXIT_CODE。","title":"允许 psql 脚本获取 shell 命令和查询的退出状态","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["07f7237c2","2ea5de296","2ff5ca86e","3cf2f7af7","4cbe57974","6afcab6ac","96c498d2f","9aa58d48f","9d0cf5749","9e1e9d656","a3bc631ea","f6c750d31"],"commit_groups":[["07f7237c2"],["2ea5de296"],["2ff5ca86e"],["3cf2f7af7"],["4cbe57974"],["6afcab6ac"],["96c498d2f"],["9aa58d48f"],["9d0cf5749"],["9e1e9d656"],["a3bc631ea"],["f6c750d31"]],"commits":["07f7237c2","2ea5de296","2ff5ca86e","3cf2f7af7","4cbe57974","6afcab6ac","96c498d2f","9aa58d48f","9d0cf5749","9e1e9d656","a3bc631ea","f6c750d31"],"cves":[],"db_id":"3d576628ea029e396fa86ede3bef3337","html":"\u003cp\u003e各种 \u003cspan\u003epsql\u003c/span\u003e tab 补全改进（Vignesh C，Aleksander Alekseev，Dagfinn Ilmari Mannsåker，Shi Yu，Michael Paquier，Ken Kato，Peter Smith）\u003ca href=\"https://postgr.es/c/f6c750d31\"\u003e§\u003c/a\u003e \u003ca href=\"https://postgr.es/c/4cbe57974\"\u003e§\u003c/a\u003e \u003ca href=\"https://postgr.es/c/6afcab6ac\"\u003e§\u003c/a\u003e \u003ca href=\"https://postgr.es/c/9aa58d48f\"\u003e§\u003c/a\u003e \u003ca href=\"https://postgr.es/c/3cf2f7af7\"\u003e§\u003c/a\u003e \u003ca href=\"https://postgr.es/c/2ea5de296\"\u003e§\u003c/a\u003e \u003ca href=\"https://postgr.es/c/07f7237c2\"\u003e§\u003c/a\u003e \u003ca href=\"https://postgr.es/c/9d0cf5749\"\u003e§\u003c/a\u003e \u003ca href=\"https://postgr.es/c/a3bc631ea\"\u003e§\u003c/a\u003e \u003ca href=\"https://postgr.es/c/2ff5ca86e\"\u003e§\u003c/a\u003e \u003ca href=\"https://postgr.es/c/9e1e9d656\"\u003e§\u003c/a\u003e \u003ca href=\"https://postgr.es/c/96c498d2f\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"16.0-be71631e9071c783","identity_text":"Various psql tab completion improvements (Vignesh C, Aleksander Alekseev, Dagfinn Ilmari Mannsåker, Shi Yu, Michael Paquier, Ken Kato, Peter Smith)","part":"changes","patch_ids":["04b7952aca52851a0d6621788d45f807","0e964e888b37cc5d110e8719a7593047","1db3d1cd73edd0b1b67bd393d6a1610c","38f8cdc56dcf17978fe65f234a2bc213","46963e2b85168bd97e58562630484d60","59ca7436189c201e49eab14820a4d546","5d8e2eba9fcbf454491b5238c4caea35","875aa705c4f23f134ac780ae1075a1ef","a6f8fb6bd45822d0d5bb7b484ea55939","dfdccc01fec96aea225a32c648190056","fce3413d74a6af96be6cb7995797c9aa","fd3f729ca745872033f430d145aa644c"],"related_changes":[],"relations":[],"section":"客户端应用 / psql","section_path":["客户端应用","psql"],"source_commits":["07f7237c2","2ea5de296","2ff5ca86e","3cf2f7af7","4cbe57974","6afcab6ac","96c498d2f","9aa58d48f","9d0cf5749","9e1e9d656","a3bc631ea","f6c750d31"],"source_entry_id":"16.0/changes/132","source_hash":"ac371039fe5954c65919ceed4c7d2c85d02c3a068b1425f115ca792a53a75bb8","source_url":"/docs/release/16.0/#RELEASE-16-PSQL","statement_hash":"20adba5277f994e7b2da52c532b74b5cc8696bde67220a4cdf71ffb75d663f16","text":"各种 psql tab 补全改进（Vignesh C，Aleksander Alekseev，Dagfinn Ilmari Mannsåker，Shi Yu，Michael Paquier，Ken Kato，Peter Smith）§ § § § § § § § § § § §","title":"各种 psql tab 补全改进","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["a563c24c9"],"commit_groups":[["a563c24c9"]],"commits":["a563c24c9"],"cves":[],"db_id":"2ad5044bb6a4ffcc989cd8ef18e54faf","html":"\u003cp\u003e增加 \u003cspan\u003epg_dump\u003c/span\u003e 对导出子表和分区的控制（Gilles Darold）\u003ca href=\"https://postgr.es/c/a563c24c9\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e新选项为 \u003ccode\u003e--table-and-children\u003c/code\u003e、\u003ccode\u003e--exclude-table-and-children\u003c/code\u003e 和 \u003ccode\u003e--exclude-table-data-and-children\u003c/code\u003e。\u003c/p\u003e","id":"16.0-e721d8b46b030ac6","identity_text":"Add pg_dump control of dumping child tables and partitions (Gilles Darold) The new options are --table-and-children, --exclude-table-and-children, and --exclude-table-data-and-children.","part":"changes","patch_ids":["d220c97cde33db18f07c02212814de28"],"related_changes":[],"relations":[],"section":"客户端应用 / pg_dump","section_path":["客户端应用","pg_dump"],"source_commits":["a563c24c9"],"source_entry_id":"16.0/changes/133","source_hash":"7ea1bac08ce57f3b0ef1ee5d3cc9b8ad03f627885908b5798564622d99521a54","source_url":"/docs/release/16.0/#RELEASE-16-PGDUMP","statement_hash":"6f4b3896a48f6f4699053ab4c3c2ff9b6a589082f792ed65de0ba93930bd6f91","text":"增加 pg_dump 对导出子表和分区的控制（Gilles Darold）§ 新选项为 --table-and-children、--exclude-table-and-children 和 --exclude-table-data-and-children。","title":"增加 pg_dump 对导出子表和分区的控制","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["0070b66fe","0da243fed","84adc8e20"],"commit_groups":[["0070b66fe"],["0da243fed"],["84adc8e20"]],"commits":[],"cves":[],"db_id":"3f04b10bd05a220afec15a6ad0cc8ecf","html":"\u003cp\u003e向 \u003cspan\u003epg_dump\u003c/span\u003e 添加 \u003cspan\u003eLZ4\u003c/span\u003e 和 \u003cspan\u003eZstandard\u003c/span\u003e 压缩（Georgios Kokolatos，Justin Pryzby）\u003c/p\u003e","id":"16.0-922138e6d30b3aac","identity_text":"Add LZ4 and Zstandard compression to pg_dump (Georgios Kokolatos, Justin Pryzby)","part":"changes","patch_ids":["8d9f02f7db61d84652a090cb6aed0b46","db2e7ee70689ec71246738bb3135e1bf","e8460a2907fab52e04183d96532480db"],"related_changes":[{"db_id":"eac9ec616a833e4b3d13cdd02af08184","evidence":{"ambiguous_patch_ids":["8d9f02f7db61d84652a090cb6aed0b46","db2e7ee70689ec71246738bb3135e1bf","e8460a2907fab52e04183d96532480db"],"patch_ids":["8d9f02f7db61d84652a090cb6aed0b46","db2e7ee70689ec71246738bb3135e1bf","e8460a2907fab52e04183d96532480db"],"same_day":true},"kind":"related","label":"16.0","source_url":"/docs/release/16.0/#RELEASE-16-PGDUMP","title":"允许 pg_dump 和pg_basebackup使用 long 模式进行压缩","url":"/docs/compare/?release=16.0#16.0-2f4ff6c44dadcb94","version":"16.0"}],"relations":[{"evidence":{"ambiguous_patch_ids":["8d9f02f7db61d84652a090cb6aed0b46","db2e7ee70689ec71246738bb3135e1bf","e8460a2907fab52e04183d96532480db"],"patch_ids":["8d9f02f7db61d84652a090cb6aed0b46","db2e7ee70689ec71246738bb3135e1bf","e8460a2907fab52e04183d96532480db"],"same_day":true},"rule":2,"target":"eac9ec616a833e4b3d13cdd02af08184","type":"related"}],"section":"客户端应用 / pg_dump","section_path":["客户端应用","pg_dump"],"source_commits":["0070b66fe","0da243fed","84adc8e20"],"source_entry_id":"16.0/changes/134","source_hash":"2ef01b305dc4447ac1b746904ed2ffbec8c4f8872705d33510a4d10aebfd2a1e","source_url":"/docs/release/16.0/#RELEASE-16-PGDUMP","statement_hash":"b93ac068114e762f91806aab884561c116866f84ded4eac0bdd2d2473b4197c7","text":"向 pg_dump 添加 LZ4 和 Zstandard 压缩（Georgios Kokolatos，Justin Pryzby）","title":"向 pg_dump 添加 LZ4 和 Zstandard 压缩","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["0070b66fe","0da243fed","2820adf77","84adc8e20"],"commit_groups":[["0070b66fe"],["0da243fed"],["2820adf77"],["84adc8e20"]],"commits":["0070b66fe","0da243fed","2820adf77","84adc8e20"],"cves":[],"db_id":"eac9ec616a833e4b3d13cdd02af08184","html":"\u003cp\u003e允许 \u003cspan\u003epg_dump\u003c/span\u003e 和\u003ca href=\"/docs/16/app-pgbasebackup.html\" title=\"pg_basebackup\"\u003e\u003cspan\u003epg_basebackup\u003c/span\u003e\u003c/a\u003e使用 \u003ccode\u003elong\u003c/code\u003e 模式进行压缩（Justin Pryzby）\u003ca href=\"https://postgr.es/c/0da243fed\"\u003e§\u003c/a\u003e \u003ca href=\"https://postgr.es/c/0070b66fe\"\u003e§\u003c/a\u003e \u003ca href=\"https://postgr.es/c/84adc8e20\"\u003e§\u003c/a\u003e \u003ca href=\"https://postgr.es/c/2820adf77\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"16.0-2f4ff6c44dadcb94","identity_text":"Allow pg_dump and pg_basebackup to use long mode for compression (Justin Pryzby)","part":"changes","patch_ids":["59c0786f525eef950d8b01a53d6a60b6","8d9f02f7db61d84652a090cb6aed0b46","db2e7ee70689ec71246738bb3135e1bf","e8460a2907fab52e04183d96532480db"],"related_changes":[{"db_id":"3f04b10bd05a220afec15a6ad0cc8ecf","evidence":{"ambiguous_patch_ids":["8d9f02f7db61d84652a090cb6aed0b46","db2e7ee70689ec71246738bb3135e1bf","e8460a2907fab52e04183d96532480db"],"patch_ids":["8d9f02f7db61d84652a090cb6aed0b46","db2e7ee70689ec71246738bb3135e1bf","e8460a2907fab52e04183d96532480db"],"same_day":true},"kind":"related","label":"16.0","source_url":"/docs/release/16.0/#RELEASE-16-PGDUMP","title":"向 pg_dump 添加 LZ4 和 Zstandard 压缩","url":"/docs/compare/?release=16.0#16.0-922138e6d30b3aac","version":"16.0"}],"relations":[{"evidence":{"ambiguous_patch_ids":["8d9f02f7db61d84652a090cb6aed0b46","db2e7ee70689ec71246738bb3135e1bf","e8460a2907fab52e04183d96532480db"],"patch_ids":["8d9f02f7db61d84652a090cb6aed0b46","db2e7ee70689ec71246738bb3135e1bf","e8460a2907fab52e04183d96532480db"],"same_day":true},"rule":2,"target":"3f04b10bd05a220afec15a6ad0cc8ecf","type":"related"}],"section":"客户端应用 / pg_dump","section_path":["客户端应用","pg_dump"],"source_commits":["0070b66fe","0da243fed","2820adf77","84adc8e20"],"source_entry_id":"16.0/changes/135","source_hash":"4145dbda5e98ac50bd2bc4342e00742813dbcbc626e30e6b3f3279197cf1b1e9","source_url":"/docs/release/16.0/#RELEASE-16-PGDUMP","statement_hash":"d968b1e2060f40319900a09f02ec3beff2e5a4e1be955ac31a630072e852d663","text":"允许 pg_dump 和pg_basebackup使用 long 模式进行压缩（Justin Pryzby）§ § § §","title":"允许 pg_dump 和pg_basebackup使用 long 模式进行压缩","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["5e73a6048"],"commit_groups":[["5e73a6048"]],"commits":["5e73a6048"],"cves":[],"db_id":"2f0dd46f8fa992fc6e592092533e4b24","html":"\u003cp\u003e改进 \u003cspan\u003epg_dump\u003c/span\u003e 以接受更一致的压缩语法（Georgios Kokolatos）\u003ca href=\"https://postgr.es/c/5e73a6048\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e类似 \u003ccode\u003e--compress=gzip:5\u003c/code\u003e 的选项。\u003c/p\u003e","id":"16.0-c8945a8262701422","identity_text":"Improve pg_dump to accept a more consistent compression syntax (Georgios Kokolatos) Options like --compress=gzip:5.","part":"changes","patch_ids":["9366ddab381d7edf0a70648e54752846"],"related_changes":[],"relations":[],"section":"客户端应用 / pg_dump","section_path":["客户端应用","pg_dump"],"source_commits":["5e73a6048"],"source_entry_id":"16.0/changes/136","source_hash":"bda8f27a74c35436c3a105984a3ac54fbe9fab590bca619df198f34def4f1bd1","source_url":"/docs/release/16.0/#RELEASE-16-PGDUMP","statement_hash":"79287fd918c3a945b93601212f136ca366d50129a2c442158a39df39c0373d94","text":"改进 pg_dump 以接受更一致的压缩语法（Georgios Kokolatos）§ 类似 --compress=gzip:5 的选项。","title":"改进 pg_dump 以接受更一致的压缩语法","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["3e51b278d"],"commit_groups":[["3e51b278d"]],"commits":["3e51b278d"],"cves":[],"db_id":"7bb6d25c77b7d83e36f77a40f37d8bd8","html":"\u003cp\u003e增加\u003ca href=\"/docs/16/app-initdb.html\" title=\"initdb\"\u003e\u003cspan\u003einitdb\u003c/span\u003e\u003c/a\u003e选项以在 \u003cspan\u003einitdb\u003c/span\u003e 期间和所有未来的服务器启动中设置服务器变量（Tom Lane）\u003ca href=\"https://postgr.es/c/3e51b278d\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e选项为 \u003ccode\u003e-c name=value\u003c/code\u003e。\u003c/p\u003e","id":"16.0-4dbc810e2697ee93","identity_text":"Add initdb option to set server variables for the duration of initdb and all future server starts (Tom Lane) The option is -c name=value.","part":"changes","patch_ids":["40d429c59da535f5b88d0212aa767c9a"],"related_changes":[],"relations":[],"section":"服务器应用","section_path":["服务器应用"],"source_commits":["3e51b278d"],"source_entry_id":"16.0/changes/137","source_hash":"da574249468409c50c4ef7fa4941c834c6140e75a9b6a0d5055eec82c1bb010b","source_url":"/docs/release/16.0/#RELEASE-16-SERVER-APPS","statement_hash":"ebeded1ffe35fa19d03ea43bf818d3501d0896e6d6207cbafdfd2c54d85e2470","text":"增加initdb选项以在 initdb 期间和所有未来的服务器启动中设置服务器变量（Tom Lane）§ 选项为 -c name=value。","title":"增加initdb选项以在 initdb 期间和所有未来的服务器启动中设置服务器变量","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["08951a7c9","2dcd1578c"],"commit_groups":[["08951a7c9"],["2dcd1578c"]],"commits":["08951a7c9","2dcd1578c"],"cves":[],"db_id":"99c81f49e15f25a9f65e8cd97c3071a8","html":"\u003cp\u003e向\u003ca href=\"/docs/16/app-createuser.html\" title=\"createuser\"\u003e\u003cspan\u003ecreateuser\u003c/span\u003e\u003c/a\u003e添加选项以控制更多用户选项（Shinya Kato）\u003ca href=\"https://postgr.es/c/08951a7c9\"\u003e§\u003c/a\u003e \u003ca href=\"https://postgr.es/c/2dcd1578c\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e具体来说，新选项控制有效期截止日期、绕过行级安全以及角色成员资格。\u003c/p\u003e","id":"16.0-50ed7c4fa7686de0","identity_text":"Add options to createuser to control more user options (Shinya Kato) Specifically, the new options control the valid-until date, bypassing of row-level security, and role membership.","part":"changes","patch_ids":["bd5fc3b9f01aba2c1a7e76657b16553f","e79bd17eece393e7e478ee187416caf1"],"related_changes":[{"db_id":"d1003ce42539905f287a47b3acb0a317","evidence":{"ambiguous_patch_ids":["bd5fc3b9f01aba2c1a7e76657b16553f"],"patch_ids":["bd5fc3b9f01aba2c1a7e76657b16553f"],"same_day":true},"kind":"related","label":"16.0","source_url":"/docs/release/16.0/#RELEASE-16-SERVER-APPS","title":"弃用createuser选项 --role","url":"/docs/compare/?release=16.0#16.0-7789d0f00916df77","version":"16.0"}],"relations":[{"evidence":{"ambiguous_patch_ids":["bd5fc3b9f01aba2c1a7e76657b16553f"],"patch_ids":["bd5fc3b9f01aba2c1a7e76657b16553f"],"same_day":true},"rule":2,"target":"d1003ce42539905f287a47b3acb0a317","type":"related"}],"section":"服务器应用","section_path":["服务器应用"],"source_commits":["08951a7c9","2dcd1578c"],"source_entry_id":"16.0/changes/138","source_hash":"a171cc2f9771e770d145f092bc9ca45719021497d9029832579a16558f5b22be","source_url":"/docs/release/16.0/#RELEASE-16-SERVER-APPS","statement_hash":"8b3ad9ff7e92426270c3ba4ceaeb4875d08a8e5e879336b2c54a5f25b29c5510","text":"向createuser添加选项以控制更多用户选项（Shinya Kato）§ § 具体来说，新选项控制有效期截止日期、绕过行级安全以及角色成员资格。","title":"向createuser添加选项以控制更多用户选项","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["2dcd1578c","381d19b3e"],"commit_groups":[["2dcd1578c"],["381d19b3e"]],"commits":["2dcd1578c","381d19b3e"],"cves":[],"db_id":"d1003ce42539905f287a47b3acb0a317","html":"\u003cp\u003e弃用\u003ca href=\"/docs/16/app-createuser.html\" title=\"createuser\"\u003e\u003cspan\u003ecreateuser\u003c/span\u003e\u003c/a\u003e选项 \u003ccode\u003e--role\u003c/code\u003e（Nathan Bossart）\u003ca href=\"https://postgr.es/c/2dcd1578c\"\u003e§\u003c/a\u003e \u003ca href=\"https://postgr.es/c/381d19b3e\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e此选项容易与新的 \u003cspan\u003ecreateuser\u003c/span\u003e 角色成员资格选项混淆，因此添加了具有相同功能的选项 \u003ccode\u003e--member-of\u003c/code\u003e。\u003ccode\u003e--role\u003c/code\u003e 选项仍可使用。\u003c/p\u003e","id":"16.0-7789d0f00916df77","identity_text":"Deprecate createuser option --role (Nathan Bossart) This option could be easily confused with new createuser role membership options, so option --member-of has been added with the same functionality. The --role option can still be used.","part":"changes","patch_ids":["0a348a0c1ce99b4bf9ca9bdb9f845c53","bd5fc3b9f01aba2c1a7e76657b16553f"],"related_changes":[{"db_id":"99c81f49e15f25a9f65e8cd97c3071a8","evidence":{"ambiguous_patch_ids":["bd5fc3b9f01aba2c1a7e76657b16553f"],"patch_ids":["bd5fc3b9f01aba2c1a7e76657b16553f"],"same_day":true},"kind":"related","label":"16.0","source_url":"/docs/release/16.0/#RELEASE-16-SERVER-APPS","title":"向createuser添加选项以控制更多用户选项","url":"/docs/compare/?release=16.0#16.0-50ed7c4fa7686de0","version":"16.0"}],"relations":[{"evidence":{"ambiguous_patch_ids":["bd5fc3b9f01aba2c1a7e76657b16553f"],"patch_ids":["bd5fc3b9f01aba2c1a7e76657b16553f"],"same_day":true},"rule":2,"target":"99c81f49e15f25a9f65e8cd97c3071a8","type":"related"}],"section":"服务器应用","section_path":["服务器应用"],"source_commits":["2dcd1578c","381d19b3e"],"source_entry_id":"16.0/changes/139","source_hash":"0a4f64fa91ac54ce439efb5e27dbbf6b5ebd44e3531a5c8b72e6d7afbd8cb907","source_url":"/docs/release/16.0/#RELEASE-16-SERVER-APPS","statement_hash":"708f65fec6a26dacae4a1a02258f52d1994135a445ce569e11bec304d60d6105","text":"弃用createuser选项 --role（Nathan Bossart）§ § 此选项容易与新的 createuser 角色成员资格选项混淆，因此添加了具有相同功能的选项 --member-of。--role 选项仍可使用。","title":"弃用createuser选项 --role","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["7781f4e3e"],"commit_groups":[["7781f4e3e"]],"commits":["7781f4e3e"],"cves":[],"db_id":"15505ca8f0ce7c90af7c4781b0431f27","html":"\u003cp\u003e允许控制\u003ca href=\"/docs/16/app-vacuumdb.html\" title=\"vacuumdb\"\u003e\u003cspan\u003evacuumdb\u003c/span\u003e\u003c/a\u003e模式处理（Gilles Darold）\u003ca href=\"https://postgr.es/c/7781f4e3e\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e这由选项 \u003ccode\u003e--schema\u003c/code\u003e 和 \u003ccode\u003e--exclude-schema\u003c/code\u003e 控制。\u003c/p\u003e","id":"16.0-e5c116295c5b6a71","identity_text":"Allow control of vacuumdb schema processing (Gilles Darold) These are controlled by options --schema and --exclude-schema.","part":"changes","patch_ids":["817290b3e2239aa059dac5053fcdedb7"],"related_changes":[],"relations":[],"section":"服务器应用","section_path":["服务器应用"],"source_commits":["7781f4e3e"],"source_entry_id":"16.0/changes/140","source_hash":"e2ad62747da6f5d4b24879f974112656e926a90c1aa86c63baa53012358646ed","source_url":"/docs/release/16.0/#RELEASE-16-SERVER-APPS","statement_hash":"49fe4409ad908530b457a12b70e5c140d0f1485663dfd9dd48b3516b5edb1bf2","text":"允许控制vacuumdb模式处理（Gilles Darold）§ 这由选项 --schema 和 --exclude-schema 控制。","title":"允许控制vacuumdb模式处理","variants":[],"version":"16.0"},{"also_in":[],"category":"performance","category_label":"Performance","commit_aliases":["a46a7011b"],"commit_groups":[["a46a7011b"]],"commits":["a46a7011b"],"cves":[],"db_id":"14e919445c15a22f53716118595810d3","html":"\u003cp\u003e使用新的 \u003ca href=\"/docs/16/sql-vacuum.html\" title=\"VACUUM\"\u003e\u003ccode\u003eVACUUM\u003c/code\u003e\u003c/a\u003e 选项改进\u003ca href=\"/docs/16/app-vacuumdb.html\" title=\"vacuumdb\"\u003e\u003cspan\u003evacuumdb\u003c/span\u003e\u003c/a\u003e的性能（Tom Lane，Nathan Bossart）\u003ca href=\"https://postgr.es/c/a46a7011b\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"16.0-699af19f89a0437c","identity_text":"Use new VACUUM options to improve the performance of vacuumdb (Tom Lane, Nathan Bossart)","part":"changes","patch_ids":["7ef9b10294fcd9c5eaca0c87b7436e1a"],"related_changes":[{"db_id":"e136e43acbe4861285a36e1d2974b349","evidence":{"ambiguous_patch_ids":["7ef9b10294fcd9c5eaca0c87b7436e1a"],"patch_ids":["7ef9b10294fcd9c5eaca0c87b7436e1a"],"same_day":true},"kind":"related","label":"16.0","source_url":"/docs/release/16.0/#RELEASE-16-UTILITY","title":"增加 VACUUM 选项以跳过或更新所有冻结统计","url":"/docs/compare/?release=16.0#16.0-f1e72aec52de755e","version":"16.0"}],"relations":[{"evidence":{"ambiguous_patch_ids":["7ef9b10294fcd9c5eaca0c87b7436e1a"],"patch_ids":["7ef9b10294fcd9c5eaca0c87b7436e1a"],"same_day":true},"rule":2,"target":"e136e43acbe4861285a36e1d2974b349","type":"related"}],"section":"服务器应用","section_path":["服务器应用"],"source_commits":["a46a7011b"],"source_entry_id":"16.0/changes/141","source_hash":"4ed1cada8b9488800f9de3bc1490724191d4b78643e030cbccb56811bdf254f9","source_url":"/docs/release/16.0/#RELEASE-16-SERVER-APPS","statement_hash":"41df18fa569a6502e8059a6c14ebb4d1574a80fc8025bc0d57001ab6b5328ef0","text":"使用新的 VACUUM 选项改进vacuumdb的性能（Tom Lane，Nathan Bossart）§","title":"使用新的 VACUUM 选项改进vacuumdb的性能","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["9637badd9"],"commit_groups":[["9637badd9"]],"commits":["9637badd9"],"cves":[],"db_id":"92dc17d3e35679b8c6be4cb93ca20752","html":"\u003cp\u003e使\u003ca href=\"/docs/16/pgupgrade.html\" title=\"pg_upgrade\"\u003e\u003cspan\u003epg_upgrade\u003c/span\u003e\u003c/a\u003e设置新集簇的区域设置和编码（Jeff Davis）\u003ca href=\"https://postgr.es/c/9637badd9\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e这消除了新集簇必须使用相同的区域设置和编码设置创建的要求。\u003c/p\u003e","id":"16.0-cee79868e615d843","identity_text":"Have pg_upgrade set the new cluster's locale and encoding (Jeff Davis) This removes the requirement that the new cluster be created with the same locale and encoding settings.","part":"changes","patch_ids":["c9231b99b4507bb89a3c41de12df7ecf"],"related_changes":[],"relations":[],"section":"服务器应用","section_path":["服务器应用"],"source_commits":["9637badd9"],"source_entry_id":"16.0/changes/142","source_hash":"f7096f78cdad72be1d54a6d8573a6397800ecf6ee40c7131d2bf53e38d655b00","source_url":"/docs/release/16.0/#RELEASE-16-SERVER-APPS","statement_hash":"79a94f211f413112a4b5fd4194e529d532502fb3005acded087ed4b55ef858c3","text":"使pg_upgrade设置新集簇的区域设置和编码（Jeff Davis）§ 这消除了新集簇必须使用相同的区域设置和编码设置创建的要求。","title":"使pg_upgrade设置新集簇的区域设置和编码","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["746915c68"],"commit_groups":[["746915c68"]],"commits":["746915c68"],"cves":[],"db_id":"bb817ef76e9a0ab4ffa1ec3cc9a278b0","html":"\u003cp\u003e增加\u003ca href=\"/docs/16/pgupgrade.html\" title=\"pg_upgrade\"\u003e\u003cspan\u003epg_upgrade\u003c/span\u003e\u003c/a\u003e选项以指定默认传输模式（Peter Eisentraut）\u003ca href=\"https://postgr.es/c/746915c68\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e选项为 \u003ccode\u003e--copy\u003c/code\u003e。\u003c/p\u003e","id":"16.0-e791467aa76dc190","identity_text":"Add pg_upgrade option to specify the default transfer mode (Peter Eisentraut) The option is --copy.","part":"changes","patch_ids":["fa28ecf37e18e77d91c89c1ef8221a74"],"related_changes":[],"relations":[],"section":"服务器应用","section_path":["服务器应用"],"source_commits":["746915c68"],"source_entry_id":"16.0/changes/143","source_hash":"49ab81d1d74190ccd77c69f93a33619bf82e98318b6e90fdd93c7e9a7734186e","source_url":"/docs/release/16.0/#RELEASE-16-SERVER-APPS","statement_hash":"2a0f7178bdf2c5926e6663501d45ac6b9e1b44239aa772b6a8c0288bf4fb3043","text":"增加pg_upgrade选项以指定默认传输模式（Peter Eisentraut）§ 选项为 --copy。","title":"增加pg_upgrade选项以指定默认传输模式","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["d18655cc0"],"commit_groups":[["d18655cc0"]],"commits":["d18655cc0"],"cves":[],"db_id":"52ab016a9ea93c50f7effa2169f262b1","html":"\u003cp\u003e改进\u003ca href=\"/docs/16/app-pgbasebackup.html\" title=\"pg_basebackup\"\u003e\u003cspan\u003epg_basebackup\u003c/span\u003e\u003c/a\u003e以接受数字压缩选项（Georgios Kokolatos，Michael Paquier）\u003ca href=\"https://postgr.es/c/d18655cc0\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e现在支持类似 \u003ccode\u003e--compress=server-5\u003c/code\u003e 的选项。\u003c/p\u003e","id":"16.0-d1d1c37dd548b17d","identity_text":"Improve pg_basebackup to accept numeric compression options (Georgios Kokolatos, Michael Paquier) Options like --compress=server-5 are now supported.","part":"changes","patch_ids":["6c9232a52825594823341f8b1007d5aa"],"related_changes":[],"relations":[],"section":"服务器应用","section_path":["服务器应用"],"source_commits":["d18655cc0"],"source_entry_id":"16.0/changes/144","source_hash":"9397eec752384450805e2adc78e5184d058e519fa90d63b2703c6050d09ed779","source_url":"/docs/release/16.0/#RELEASE-16-SERVER-APPS","statement_hash":"328acb54b8bed6974b49853da7c1664eae1f6b50bc4f74509e34ff226450473d","text":"改进pg_basebackup以接受数字压缩选项（Georgios Kokolatos，Michael Paquier）§ 现在支持类似 --compress=server-5 的选项。","title":"改进pg_basebackup以接受数字压缩选项","variants":[],"version":"16.0"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["363e8f911"],"commit_groups":[["363e8f911"]],"commits":["363e8f911"],"cves":[],"db_id":"be8db36699f55508bd67a4285c759fc6","html":"\u003cp\u003e修复\u003ca href=\"/docs/16/app-pgbasebackup.html\" title=\"pg_basebackup\"\u003e\u003cspan\u003epg_basebackup\u003c/span\u003e\u003c/a\u003e以处理存储在 \u003ccode\u003ePGDATA\u003c/code\u003e 目录中的表空间（Robert Haas）\u003ca href=\"https://postgr.es/c/363e8f911\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"16.0-83cd81e9633f3eb7","identity_text":"Fix pg_basebackup to handle tablespaces stored in the PGDATA directory (Robert Haas)","part":"changes","patch_ids":["bacc78f6ab1c43509f54d240b3a0589d"],"related_changes":[],"relations":[],"section":"服务器应用","section_path":["服务器应用"],"source_commits":["363e8f911"],"source_entry_id":"16.0/changes/145","source_hash":"677c22a8c7b224d7d3455ecf6d2c9bbfff99754d848c427d78575df90a6af0cd","source_url":"/docs/release/16.0/#RELEASE-16-SERVER-APPS","statement_hash":"05a43a081aa469b4347379edae2e25d89a1a390b4a50b7f3e71fbbe7ad4cc7fc","text":"修复pg_basebackup以处理存储在 PGDATA 目录中的表空间（Robert Haas）§","title":"修复pg_basebackup以处理存储在 PGDATA 目录中的表空间","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["d497093cb"],"commit_groups":[["d497093cb"]],"commits":["d497093cb"],"cves":[],"db_id":"867554d293b83e0ea8bda7109f32c10c","html":"\u003cp\u003e增加\u003ca href=\"/docs/16/pgwaldump.html\" title=\"pg_waldump\"\u003e\u003cspan\u003epg_waldump\u003c/span\u003e\u003c/a\u003e选项 \u003ccode\u003e--save-fullpage\u003c/code\u003e 以导出整页镜像（David Christensen）\u003ca href=\"https://postgr.es/c/d497093cb\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"16.0-aef9c35b61d7b741","identity_text":"Add pg_waldump option --save-fullpage to dump full page images (David Christensen)","part":"changes","patch_ids":["ede0174696cad9b69771bb2599904159"],"related_changes":[],"relations":[],"section":"服务器应用","section_path":["服务器应用"],"source_commits":["d497093cb"],"source_entry_id":"16.0/changes/146","source_hash":"887b611fa1736c52e5c7f7cec37e1457756d8f3c9813c27ef5f485e7b66b30e7","source_url":"/docs/release/16.0/#RELEASE-16-SERVER-APPS","statement_hash":"012d79aad22ed295d0d27d5e678d7686182acfddb3ca3da132da430a4eab8a7e","text":"增加pg_waldump选项 --save-fullpage 以导出整页镜像（David Christensen）§","title":"增加pg_waldump选项 --save-fullpage 以导出整页镜像","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["4c8044c04"],"commit_groups":[["4c8044c04"]],"commits":["4c8044c04"],"cves":[],"db_id":"0ad4fd2a44450651a56431933770c806","html":"\u003cp\u003e允许\u003ca href=\"/docs/16/pgwaldump.html\" title=\"pg_waldump\"\u003e\u003cspan\u003epg_waldump\u003c/span\u003e\u003c/a\u003e选项 \u003ccode\u003e-t\u003c/code\u003e/\u003ccode\u003e--timeline\u003c/code\u003e 接受十六进制值（Peter Eisentraut）\u003ca href=\"https://postgr.es/c/4c8044c04\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"16.0-d7f16ed46b39a6ef","identity_text":"Allow pg_waldump options -t/--timeline to accept hexadecimal values (Peter Eisentraut)","part":"changes","patch_ids":["a149985975fbac511584d3b8fba8798e"],"related_changes":[],"relations":[],"section":"服务器应用","section_path":["服务器应用"],"source_commits":["4c8044c04"],"source_entry_id":"16.0/changes/147","source_hash":"6c64ea2e79ec608078b03b57ccac778ee59be942e8abf3574cd9155de631b2d0","source_url":"/docs/release/16.0/#RELEASE-16-SERVER-APPS","statement_hash":"10dbd0dd45f78560af9aec3d224a587379004cfc2ffe7a7a3b05fb775d4d1eb2","text":"允许pg_waldump选项 -t/--timeline 接受十六进制值（Peter Eisentraut）§","title":"允许pg_waldump选项 -t/--timeline 接受十六进制值","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["d07c2948b"],"commit_groups":[["d07c2948b"]],"commits":["d07c2948b"],"cves":[],"db_id":"7933db2c3a45b895c9c48eca47d9f4ec","html":"\u003cp\u003e为\u003ca href=\"/docs/16/app-pgverifybackup.html\" title=\"pg_verifybackup\"\u003e\u003cspan\u003epg_verifybackup\u003c/span\u003e\u003c/a\u003e增加进度报告支持（Masahiko Sawada）\u003ca href=\"https://postgr.es/c/d07c2948b\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"16.0-5a06a8b256fc90c6","identity_text":"Add support for progress reporting to pg_verifybackup (Masahiko Sawada)","part":"changes","patch_ids":["3661760a3d6e3c83dec1d31ea427f684"],"related_changes":[],"relations":[],"section":"服务器应用","section_path":["服务器应用"],"source_commits":["d07c2948b"],"source_entry_id":"16.0/changes/148","source_hash":"2993895060cdfb74a6a78b9fba1091dbf6932137527d16809ef679bc820fd9fc","source_url":"/docs/release/16.0/#RELEASE-16-SERVER-APPS","statement_hash":"dc379f4f1aa550eeff3a2abe13e4e059dce598ae6a075aaabed21003b133846b","text":"为pg_verifybackup增加进度报告支持（Masahiko Sawada）§","title":"为pg_verifybackup增加进度报告支持","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["009eeee74","0a0500207"],"commit_groups":[["009eeee74"],["0a0500207"]],"commits":["009eeee74","0a0500207"],"cves":[],"db_id":"5bee3a75ff058f1224ff3004977a76c7","html":"\u003cp\u003e允许\u003ca href=\"/docs/16/app-pgrewind.html\" title=\"pg_rewind\"\u003e\u003cspan\u003epg_rewind\u003c/span\u003e\u003c/a\u003e正确跟踪时间线变更（Heikki Linnakangas）\u003ca href=\"https://postgr.es/c/009eeee74\"\u003e§\u003c/a\u003e \u003ca href=\"https://postgr.es/c/0a0500207\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e之前如果 \u003cspan\u003epg_rewind\u003c/span\u003e 在时间线切换后但在发出检查点之前运行，它可能错误地判定不需要倒带。\u003c/p\u003e","id":"16.0-ca1cb0734c8b9b27","identity_text":"Allow pg_rewind to properly track timeline changes (Heikki Linnakangas) Previously if pg_rewind was run after a timeline switch but before a checkpoint was issued, it might incorrectly determine that a rewind was unnecessary.","part":"changes","patch_ids":["0dbb099aad2ac26448f33ef34aeb5f0d","fe9b6f49cb807dedf6ab9783b0cddc84"],"related_changes":[],"relations":[],"section":"服务器应用","section_path":["服务器应用"],"source_commits":["009eeee74","0a0500207"],"source_entry_id":"16.0/changes/149","source_hash":"fff9ae8a96b654d32cd65355fca0b4b5f41ddd46e3b452035b667024906d08cf","source_url":"/docs/release/16.0/#RELEASE-16-SERVER-APPS","statement_hash":"a9039415ef158b62da396a747657f1c9ae993539b8cc41e669c28744d7cb205c","text":"允许pg_rewind正确跟踪时间线变更（Heikki Linnakangas）§ § 之前如果 pg_rewind 在时间线切换后但在发出检查点之前运行，它可能错误地判定不需要倒带。","title":"允许pg_rewind正确跟踪时间线变更","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["8b60db774"],"commit_groups":[["8b60db774"]],"commits":["8b60db774"],"cves":[],"db_id":"1b57aefc5a97e130754f9ea9cb8c1a93","html":"\u003cp\u003e使\u003ca href=\"/docs/16/app-pgreceivewal.html\" title=\"pg_receivewal\"\u003e\u003cspan\u003epg_receivewal\u003c/span\u003e\u003c/a\u003e和\u003ca href=\"/docs/16/app-pgrecvlogical.html\" title=\"pg_recvlogical\"\u003e\u003cspan\u003epg_recvlogical\u003c/span\u003e\u003c/a\u003e在 \u003ccode\u003eSIGTERM\u003c/code\u003e 时干净退出（Christoph Berg）\u003ca href=\"https://postgr.es/c/8b60db774\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e此信号通常由 \u003cspan\u003esystemd\u003c/span\u003e 使用。\u003c/p\u003e","id":"16.0-4ffb6d949fe14773","identity_text":"Have pg_receivewal and pg_recvlogical cleanly exit on SIGTERM (Christoph Berg) This signal is often used by systemd.","part":"changes","patch_ids":["f5030682639d4cac3228de5f045cc0b0"],"related_changes":[],"relations":[],"section":"服务器应用","section_path":["服务器应用"],"source_commits":["8b60db774"],"source_entry_id":"16.0/changes/150","source_hash":"9212ee37d24c56e4a527edf564a9cd22be611535d9d06c9b32aade75bb1ead41","source_url":"/docs/release/16.0/#RELEASE-16-SERVER-APPS","statement_hash":"1ad67d6082c8643ed47ec712daabc198f8e31d250359fb01cc34a456bc4f34e4","text":"使pg_receivewal和pg_recvlogical在 SIGTERM 时干净退出（Christoph Berg）§ 此信号通常由 systemd 使用。","title":"使pg_receivewal和pg_recvlogical在 SIGTERM 时干净退出","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["fcb21b3ac"],"commit_groups":[["fcb21b3ac"]],"commits":["fcb21b3ac"],"cves":[],"db_id":"eccf368746a3b9e291e0319807fa104f","html":"\u003cp\u003e默认构建 \u003cacronym\u003eICU\u003c/acronym\u003e 支持（Jeff Davis）\u003ca href=\"https://postgr.es/c/fcb21b3ac\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e这移除了\u003ca href=\"/docs/16/installation.html\" title=\"第 17 章 从源代码安装\"\u003e构建标志\u003c/a\u003e \u003ccode\u003e--with-icu\u003c/code\u003e 并增加了标志 \u003ccode\u003e--without-icu\u003c/code\u003e。\u003c/p\u003e","id":"16.0-21c6e0cb261d7942","identity_text":"Build ICU support by default (Jeff Davis) This removes build flag --with-icu and adds flag --without-icu.","part":"changes","patch_ids":["cca80f802db967c81e65101b547cd0ad"],"related_changes":[],"relations":[],"section":"源代码","section_path":["源代码"],"source_commits":["fcb21b3ac"],"source_entry_id":"16.0/changes/151","source_hash":"9e694e6de72bef737bf338f219192c75eceffd7f5cf56c3db11fe6f1eff2174e","source_url":"/docs/release/16.0/#RELEASE-16-SOURCE-CODE","statement_hash":"3c010ba98431dbe915477fbcbfe51bcbf39bcb51f1bfd778ddf20533b04e9e30","text":"默认构建 ICU 支持（Jeff Davis）§ 这移除了构建标志 --with-icu 并增加了标志 --without-icu。","title":"默认构建 ICU 支持","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["56f2c7b58"],"commit_groups":[["56f2c7b58"]],"commits":["56f2c7b58"],"cves":[],"db_id":"2d794d4b6c0f344e0a77bc63563c7ba3","html":"\u003cp\u003e增加对 x86-64 架构上 SSE2（Streaming \u003cacronym\u003eSIMD\u003c/acronym\u003e Extensions 2）向量运算的支持（John Naylor）\u003ca href=\"https://postgr.es/c/56f2c7b58\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"16.0-6ed40c8c2efc4e9c","identity_text":"Add support for SSE2 (Streaming SIMD Extensions 2) vector operations on x86-64 architectures (John Naylor)","part":"changes","patch_ids":["200445439e2a00405d3d8e1d775e36d4"],"related_changes":[],"relations":[],"section":"源代码","section_path":["源代码"],"source_commits":["56f2c7b58"],"source_entry_id":"16.0/changes/152","source_hash":"abec9132ca310773bf9fd089cd2ecbe565d237d74eeff88938580d457ad6f453","source_url":"/docs/release/16.0/#RELEASE-16-SOURCE-CODE","statement_hash":"341d661486147a312fad287ae56d5b4739c9d5e953fe4e906a134707cb462210","text":"增加对 x86-64 架构上 SSE2（Streaming SIMD Extensions 2）向量运算的支持（John Naylor）§","title":"增加对 x86-64 架构上 SSE2（Streaming SIMD Extensions 2）向量运算的支持","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["82739d4a8"],"commit_groups":[["82739d4a8"]],"commits":["82739d4a8"],"cves":[],"db_id":"4b0644b33e3730c26742bffd99b748bf","html":"\u003cp\u003e增加对 \u003cacronym\u003eARM\u003c/acronym\u003e 架构上 Advanced \u003cacronym\u003eSIMD\u003c/acronym\u003e（Single Instruction Multiple Data）（\u003cacronym\u003eNEON\u003c/acronym\u003e）指令的支持（Nathan Bossart）\u003ca href=\"https://postgr.es/c/82739d4a8\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"16.0-9769ca7e7ba62dc8","identity_text":"Add support for Advanced SIMD (Single Instruction Multiple Data) (NEON) instructions on ARM architectures (Nathan Bossart)","part":"changes","patch_ids":["bc9e666a11819a60a1468049f05cd69b"],"related_changes":[],"relations":[],"section":"源代码","section_path":["源代码"],"source_commits":["82739d4a8"],"source_entry_id":"16.0/changes/153","source_hash":"dd327c6dffb18cbbec92bb336a1bf279617868d8ee5d831c2b15cb8d2256a3da","source_url":"/docs/release/16.0/#RELEASE-16-SOURCE-CODE","statement_hash":"a12959cb90be5ce3a287d69217c02ed77e59ab9ff8294e69f504ba3a597e0cbb","text":"增加对 ARM 架构上 Advanced SIMD（Single Instruction Multiple Data）（NEON）指令的支持（Nathan Bossart）§","title":"增加对 ARM 架构上 Advanced SIMD（Single Instruction Multiple Data）（NEON）指令的支持","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["36389a060"],"commit_groups":[["36389a060"]],"commits":["36389a060"],"cves":[],"db_id":"ac79867824dc5d8492a706a6336316fc","html":"\u003cp\u003e使用 \u003cspan\u003eMSVC\u003c/span\u003e 构建的 \u003cspan\u003eWindows\u003c/span\u003e 二进制文件使用 \u003ccode\u003eRandomizedBaseAddress\u003c/code\u003e（\u003cacronym\u003eASLR\u003c/acronym\u003e）（Michael Paquier）\u003ca href=\"https://postgr.es/c/36389a060\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e这在 \u003cspan\u003eMinGW\u003c/span\u003e 构建中已经启用。\u003c/p\u003e","id":"16.0-6d0548667be8dae1","identity_text":"Have Windows binaries built with MSVC use RandomizedBaseAddress (ASLR) (Michael Paquier) This was already enabled on MinGW builds.","part":"changes","patch_ids":["e7d0ee43b3a34f62f48b94c175419604"],"related_changes":[],"relations":[],"section":"源代码","section_path":["源代码"],"source_commits":["36389a060"],"source_entry_id":"16.0/changes/154","source_hash":"da2513a12c645eb94fbca37ece030af801fcdd511344e45a7fca0f8629620151","source_url":"/docs/release/16.0/#RELEASE-16-SOURCE-CODE","statement_hash":"06b407e9a1af6cf6ecffcc37d0c1176543b657fec0c50e6d89e97010c7418a4e","text":"使用 MSVC 构建的 Windows 二进制文件使用 RandomizedBaseAddress（ASLR）（Michael Paquier）§ 这在 MinGW 构建中已经启用。","title":"使用 MSVC 构建的 Windows 二进制文件使用 RandomizedBaseAddress（ASLR）","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["089480c07","8cf64d35e"],"commit_groups":[["089480c07"],["8cf64d35e"]],"commits":["089480c07","8cf64d35e"],"cves":[],"db_id":"612685809e6a30180a5d762db83d5a3a","html":"\u003cp\u003e防止扩展库默认导出其符号（Andres Freund，Tom Lane）\u003ca href=\"https://postgr.es/c/089480c07\"\u003e§\u003c/a\u003e \u003ca href=\"https://postgr.es/c/8cf64d35e\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e需要从核心后端或其他扩展调用的函数现在必须显式标记为 \u003ccode\u003ePGDLLEXPORT\u003c/code\u003e。\u003c/p\u003e","id":"16.0-aa7e24592ac3ffbb","identity_text":"Prevent extension libraries from exporting their symbols by default (Andres Freund, Tom Lane) Functions that need to be called from the core backend or other extensions must now be explicitly marked PGDLLEXPORT.","part":"changes","patch_ids":["127303795d4b7ee358e134a13055cb7d","284a8161c7511c69feaca80ca5fa5373"],"related_changes":[],"relations":[],"section":"源代码","section_path":["源代码"],"source_commits":["089480c07","8cf64d35e"],"source_entry_id":"16.0/changes/155","source_hash":"c2b749e5de93f1ed76c58612d55c414e8cb3c42ac7b76c7eb168369bc6bda8ee","source_url":"/docs/release/16.0/#RELEASE-16-SOURCE-CODE","statement_hash":"821e8c4a87f48299f8640cbc1e915fa065b27f42c97fc1ae67bbf8574b9978e4","text":"防止扩展库默认导出其符号（Andres Freund，Tom Lane）§ § 需要从核心后端或其他扩展调用的函数现在必须显式标记为 PGDLLEXPORT。","title":"防止扩展库默认导出其符号","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["495ed0ef2"],"commit_groups":[["495ed0ef2"]],"commits":["495ed0ef2"],"cves":[],"db_id":"0516cb65c04e151eeaf2beb3559450d8","html":"\u003cp\u003e要求 \u003cspan\u003eWindows 10\u003c/span\u003e 或更新版本（Michael Paquier，Juan José Santamaría Flecha）\u003ca href=\"https://postgr.es/c/495ed0ef2\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e之前支持 \u003cspan\u003eWindows Vista\u003c/span\u003e 和 \u003cspan\u003eWindows XP\u003c/span\u003e。\u003c/p\u003e","id":"16.0-94b859ede54e4b9e","identity_text":"Require Windows 10 or newer versions (Michael Paquier, Juan José Santamaría Flecha) Previously Windows Vista and Windows XP were supported.","part":"changes","patch_ids":["30b05c0d61d90be04a05fb62fbbb0ca0"],"related_changes":[],"relations":[],"section":"源代码","section_path":["源代码"],"source_commits":["495ed0ef2"],"source_entry_id":"16.0/changes/156","source_hash":"51804cb9cad0e581920fe3bb675ecd4707186e90e28c9afabe8a572945e9993a","source_url":"/docs/release/16.0/#RELEASE-16-SOURCE-CODE","statement_hash":"d7b241f5a49becc8c354a0ee530cf2fda4861d6766f37bd3a5faac8a0521cdd7","text":"要求 Windows 10 或更新版本（Michael Paquier，Juan José Santamaría Flecha）§ 之前支持 Windows Vista 和 Windows XP。","title":"要求 Windows 10 或更新版本","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["4c1532763"],"commit_groups":[["4c1532763"]],"commits":["4c1532763"],"cves":[],"db_id":"a12f3cb06b58b43e5c9b14bd26df3637","html":"\u003cp\u003e要求 \u003cspan\u003ePerl\u003c/span\u003e 版本 5.14 或更高（John Naylor）\u003ca href=\"https://postgr.es/c/4c1532763\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"16.0-8ec9802ab2a1a3f2","identity_text":"Require Perl version 5.14 or later (John Naylor)","part":"changes","patch_ids":["b1230b02833cbb4274a4f77ca2fea184"],"related_changes":[],"relations":[],"section":"源代码","section_path":["源代码"],"source_commits":["4c1532763"],"source_entry_id":"16.0/changes/157","source_hash":"87eddd05681a145a5282b774bf3c5d0fb1c27c4550bb31a5f6ddea8a2919b55f","source_url":"/docs/release/16.0/#RELEASE-16-SOURCE-CODE","statement_hash":"1b8874e2e6a93edb071e2cd88fe0425be5e5a3a5fb9481c6b0bfe44c7a998b6c","text":"要求 Perl 版本 5.14 或更高（John Naylor）§","title":"要求 Perl 版本 5.14 或更高","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["b086a47a2"],"commit_groups":[["b086a47a2"]],"commits":["b086a47a2"],"cves":[],"db_id":"8207e643f8230be7a96a57c6eeacdd06","html":"\u003cp\u003e要求 \u003cspan\u003eBison\u003c/span\u003e 版本 2.3 或更高（John Naylor）\u003ca href=\"https://postgr.es/c/b086a47a2\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"16.0-3963bd625d502b52","identity_text":"Require Bison version 2.3 or later (John Naylor)","part":"changes","patch_ids":["39d7931ab87f3fd54087758b02d5d4f0"],"related_changes":[],"relations":[],"section":"源代码","section_path":["源代码"],"source_commits":["b086a47a2"],"source_entry_id":"16.0/changes/158","source_hash":"da0b6085d373f22fbf120da87214a24ed9c8c4bc6f27dd2484179882ae63c582","source_url":"/docs/release/16.0/#RELEASE-16-SOURCE-CODE","statement_hash":"ae923f9fbc1bca1bb3526f9dd2eb9a46d0a649cd5dc8b2f0f14efeca891af394","text":"要求 Bison 版本 2.3 或更高（John Naylor）§","title":"要求 Bison 版本 2.3 或更高","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["8b878bffa"],"commit_groups":[["8b878bffa"]],"commits":["8b878bffa"],"cves":[],"db_id":"ff47389343f90fb960ad3513580a9d32","html":"\u003cp\u003e要求 \u003cspan\u003eFlex\u003c/span\u003e 版本 2.5.35 或更高（John Naylor）\u003ca href=\"https://postgr.es/c/8b878bffa\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"16.0-412d655c52961617","identity_text":"Require Flex version 2.5.35 or later (John Naylor)","part":"changes","patch_ids":["d4322292f5f1face9c09387b85e2f87a"],"related_changes":[],"relations":[],"section":"源代码","section_path":["源代码"],"source_commits":["8b878bffa"],"source_entry_id":"16.0/changes/159","source_hash":"6bd8b0623d611736f454e5df095b08eb2f8dfe3fa7da5af7444230f3f60a1b4d","source_url":"/docs/release/16.0/#RELEASE-16-SOURCE-CODE","statement_hash":"cd21d230ceeceb6fe7fc5e72e87ed2ee512dd65e9fab92a96a7d0798ce995a17","text":"要求 Flex 版本 2.5.35 或更高（John Naylor）§","title":"要求 Flex 版本 2.5.35 或更高","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["f7431bca8"],"commit_groups":[["f7431bca8"]],"commits":["f7431bca8"],"cves":[],"db_id":"0a3494d8fcbb274b7ea09961b992fab7","html":"\u003cp\u003e\u003cacronym\u003eGSSAPI\u003c/acronym\u003e 支持要求 \u003cacronym\u003eMIT\u003c/acronym\u003e Kerberos（Stephen Frost）\u003ca href=\"https://postgr.es/c/f7431bca8\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"16.0-aea83bb06c3d3463","identity_text":"Require MIT Kerberos for GSSAPI support (Stephen Frost)","part":"changes","patch_ids":["1ef21a835f5aed40e7fc57949d3497bc"],"related_changes":[],"relations":[],"section":"源代码","section_path":["源代码"],"source_commits":["f7431bca8"],"source_entry_id":"16.0/changes/160","source_hash":"5e74d9e1ac08ff2ee0d0c77014d149564fd9ee6f3017789eb235cd798659f83c","source_url":"/docs/release/16.0/#RELEASE-16-SOURCE-CODE","statement_hash":"8a44c49ecb563b52bf978b633aaf4638b7be8fab401ef42d647ccc81d743a6b6","text":"GSSAPI 支持要求 MIT Kerberos（Stephen Frost）§","title":"GSSAPI 支持要求 MIT Kerberos","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["6203583b7"],"commit_groups":[["6203583b7"]],"commits":["6203583b7"],"cves":[],"db_id":"19302fd3f5cd2b989207192111cd6a79","html":"\u003cp\u003e移除对 \u003cspan\u003eVisual Studio 2013\u003c/span\u003e 的支持（Michael Paquier）\u003ca href=\"https://postgr.es/c/6203583b7\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"16.0-65fb77a8688d8376","identity_text":"Remove support for Visual Studio 2013 (Michael Paquier)","part":"changes","patch_ids":["e9d173f380ca26792a17b546efdc65e5"],"related_changes":[],"relations":[],"section":"源代码","section_path":["源代码"],"source_commits":["6203583b7"],"source_entry_id":"16.0/changes/161","source_hash":"fd11fe89b57ac23ab9ade372b581f476f5b2a088d29f18af4c6579a7ebb6f3fe","source_url":"/docs/release/16.0/#RELEASE-16-SOURCE-CODE","statement_hash":"4724de50c0f212ce5c9c03594e248b4f7d9f723dee37f33a9d2e494ece0b7f01","text":"移除对 Visual Studio 2013 的支持（Michael Paquier）§","title":"移除对 Visual Studio 2013 的支持","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["9db300ce6"],"commit_groups":[["9db300ce6"]],"commits":["9db300ce6"],"cves":[],"db_id":"f3456808e5c44ad6c8de74bec81b4a17","html":"\u003cp\u003e移除对 \u003cspan\u003eHP-UX\u003c/span\u003e 的支持（Thomas Munro）\u003ca href=\"https://postgr.es/c/9db300ce6\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"16.0-ddebe49ebb7e3f42","identity_text":"Remove support for HP-UX (Thomas Munro)","part":"changes","patch_ids":["1727a53e90e69c303a72ee8a4600bb7a"],"related_changes":[],"relations":[],"section":"源代码","section_path":["源代码"],"source_commits":["9db300ce6"],"source_entry_id":"16.0/changes/162","source_hash":"2ed256216a33254a3891d427777d69d02c4bcb4445d641a586ca15fc950af266","source_url":"/docs/release/16.0/#RELEASE-16-SOURCE-CODE","statement_hash":"3041824c77d9201cced85c2e1866ef82a4d36d76bc97b71e7243522c74fc46b9","text":"移除对 HP-UX 的支持（Thomas Munro）§","title":"移除对 HP-UX 的支持","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["0ad5b48e5"],"commit_groups":[["0ad5b48e5"]],"commits":["0ad5b48e5"],"cves":[],"db_id":"382377acd3a82adb1baae69e7638cb37","html":"\u003cp\u003e移除对 \u003cspan\u003eHP/Intel Itanium\u003c/span\u003e 的支持（Thomas Munro）\u003ca href=\"https://postgr.es/c/0ad5b48e5\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"16.0-a9ce96015596086d","identity_text":"Remove support for HP/Intel Itanium (Thomas Munro)","part":"changes","patch_ids":["3e73f6857310cdb47f88aed5552acf70"],"related_changes":[],"relations":[],"section":"源代码","section_path":["源代码"],"source_commits":["0ad5b48e5"],"source_entry_id":"16.0/changes/163","source_hash":"ae62778e785e87ea92471bacc6e76ec7a556f3e8fc8fb64389cd61d73c152962","source_url":"/docs/release/16.0/#RELEASE-16-SOURCE-CODE","statement_hash":"ade8ee28dc6e075a884d679afefcbbb6a03b24e8619f07691075dd947aff12f2","text":"移除对 HP/Intel Itanium 的支持（Thomas Munro）§","title":"移除对 HP/Intel Itanium 的支持","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["14168d3c6","718aa43a4"],"commit_groups":[["14168d3c6"],["718aa43a4"]],"commits":["14168d3c6","718aa43a4"],"cves":[],"db_id":"9b6135150f2d258877aa4a5100739546","html":"\u003cp\u003e移除对 \u003cspan\u003eM68K\u003c/span\u003e、\u003cspan\u003eM88K\u003c/span\u003e、\u003cspan\u003eM32R\u003c/span\u003e 和 \u003cspan\u003eSuperH\u003c/span\u003e \u003cacronym\u003eCPU\u003c/acronym\u003e 架构的支持（Thomas Munro）\u003ca href=\"https://postgr.es/c/718aa43a4\"\u003e§\u003c/a\u003e \u003ca href=\"https://postgr.es/c/14168d3c6\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"16.0-2bad60762fe8dfb9","identity_text":"Remove support for M68K, M88K, M32R, and SuperH CPU architectures (Thomas Munro)","part":"changes","patch_ids":["0f043e336cef2c861e2654859f3f288a","a9e3891b4b58a20ade993da981252310"],"related_changes":[],"relations":[],"section":"源代码","section_path":["源代码"],"source_commits":["14168d3c6","718aa43a4"],"source_entry_id":"16.0/changes/164","source_hash":"d4a3e51f1774276ad256108490cf19e5224c930cdcecb31a953d879aba7fabeb","source_url":"/docs/release/16.0/#RELEASE-16-SOURCE-CODE","statement_hash":"2f0ac03cc2f44cc7a6f9399aa1ef425aa4a94c3367cf1188e16f67f3022e7176","text":"移除对 M68K、M88K、M32R 和 SuperH CPU 架构的支持（Thomas Munro）§ §","title":"移除对 M68K、M88K、M32R 和 SuperH CPU 架构的支持","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["98ae2c84a"],"commit_groups":[["98ae2c84a"]],"commits":["98ae2c84a"],"cves":[],"db_id":"50bd97d9b98a119d37434155e273e58b","html":"\u003cp\u003e移除\u003ca href=\"/docs/16/libpq.html\" title=\"第 34 章 libpq — C 库\"\u003e\u003cspan\u003elibpq\u003c/span\u003e\u003c/a\u003e对 \u003cacronym\u003eSCM\u003c/acronym\u003e 凭证认证的支持（Michael Paquier）\u003ca href=\"https://postgr.es/c/98ae2c84a\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e此认证方法的后端支持已在 \u003cspan\u003ePostgreSQL\u003c/span\u003e 9.1 中移除。\u003c/p\u003e","id":"16.0-0507742d4bf1dd20","identity_text":"Remove libpq support for SCM credential authentication (Michael Paquier) Backend support for this authentication method was removed in PostgresSQL 9.1.","part":"changes","patch_ids":["81e6b7fbf5237ee93ffb9425c2ca599a"],"related_changes":[],"relations":[],"section":"源代码","section_path":["源代码"],"source_commits":["98ae2c84a"],"source_entry_id":"16.0/changes/165","source_hash":"02ba607fdc9fcb0eb30d93d1dfc4c30718952b971750c08f00de3518e0469d09","source_url":"/docs/release/16.0/#RELEASE-16-SOURCE-CODE","statement_hash":"402d1b8bf70e2fea40d64ed5ac1672f579f8839de17a3022ee6084993cb09bf5","text":"移除libpq对 SCM 凭证认证的支持（Michael Paquier）§ 此认证方法的后端支持已在 PostgreSQL 9.1 中移除。","title":"移除libpq对 SCM 凭证认证的支持","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["e6927270c"],"commit_groups":[["e6927270c"]],"commits":["e6927270c"],"cves":[],"db_id":"6637643f9018877718bb4b08cc1ab82b","html":"\u003cp\u003e增加\u003ca href=\"/docs/16/install-meson.html\" title=\"17.4. 使用 Meson 构建和安装\"\u003e\u003cspan\u003emeson\u003c/span\u003e\u003c/a\u003e构建系统（Andres Freund，Nazir Bilal Yavuz，Peter Eisentraut）\u003ca href=\"https://postgr.es/c/e6927270c\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e这最终将取代 \u003cspan\u003eAutoconf\u003c/span\u003e 和基于 \u003cspan\u003eWindows\u003c/span\u003e 的 \u003cspan\u003eMSVC\u003c/span\u003e 构建系统。\u003c/p\u003e","id":"16.0-d7148f062e96a8a4","identity_text":"Add meson build system (Andres Freund, Nazir Bilal Yavuz, Peter Eisentraut) This eventually will replace the Autoconf and Windows-based MSVC build systems.","part":"changes","patch_ids":["d7733b15b35adf96c5abeec5387df9ec"],"related_changes":[],"relations":[],"section":"源代码","section_path":["源代码"],"source_commits":["e6927270c"],"source_entry_id":"16.0/changes/166","source_hash":"bdb646773dfd004240b32c3cad76021b455c4e8f98757df6286d66e5a50faf8b","source_url":"/docs/release/16.0/#RELEASE-16-SOURCE-CODE","statement_hash":"0e2fd1db9fa7dff681d0c85dbfff38068f191c606a302372e53f5631c09cb0f1","text":"增加meson构建系统（Andres Freund，Nazir Bilal Yavuz，Peter Eisentraut）§ 这最终将取代 Autoconf 和基于 Windows 的 MSVC 构建系统。","title":"增加meson构建系统","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["c8e4030d1"],"commit_groups":[["c8e4030d1"]],"commits":["c8e4030d1"],"cves":[],"db_id":"ac7777ca261142bd3dc932d66a62228d","html":"\u003cp\u003e允许控制构建系统使用的 \u003cspan\u003eopenssl\u003c/span\u003e 二进制文件的位置（Peter Eisentraut）\u003ca href=\"https://postgr.es/c/c8e4030d1\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e将查找 \u003cspan\u003eopenssl\u003c/span\u003e 程序改为由 \u003cspan\u003econfigure\u003c/span\u003e 或 \u003cspan\u003emeson\u003c/span\u003e 选项控制。\u003c/p\u003e","id":"16.0-6f760afaff91c606","identity_text":"Allow control of the location of the openssl binary used by the build system (Peter Eisentraut) Make finding openssl program a configure or meson option","part":"changes","patch_ids":["3e32dfad634c75269d6f33d5f93d79df"],"related_changes":[],"relations":[],"section":"源代码","section_path":["源代码"],"source_commits":["c8e4030d1"],"source_entry_id":"16.0/changes/167","source_hash":"f47952ee198a9d0df00a98ea78c2f7a0e68815207c3d4d25a1c8e97ce1d059d0","source_url":"/docs/release/16.0/#RELEASE-16-SOURCE-CODE","statement_hash":"7dde45d0c95f902e8f20472399a234f78a6948f4190b6ff3852c893dc098cfdd","text":"允许控制构建系统使用的 openssl 二进制文件的位置（Peter Eisentraut）§ 将查找 openssl 程序改为由 configure 或 meson 选项控制。","title":"允许控制构建系统使用的 openssl 二进制文件的位置","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["d3b111e32"],"commit_groups":[["d3b111e32"]],"commits":["d3b111e32"],"cves":[],"db_id":"c15f4443f3fe5dba9bfffdd79f109406","html":"\u003cp\u003e增加构建选项以允许测试小表段大小（Andres Freund）\u003ca href=\"https://postgr.es/c/d3b111e32\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e构建选项为 \u003ca href=\"/docs/16/install-make.html#CONFIGURE-OPTION-WITH-SEGSIZE\"\u003e\u003ccode\u003e--with-segsize-blocks\u003c/code\u003e\u003c/a\u003e 和 \u003ccode\u003e-Dsegsize_blocks\u003c/code\u003e。\u003c/p\u003e","id":"16.0-ab597ce7e36225ce","identity_text":"Add build option to allow testing of small table segment sizes (Andres Freund) The build options are --with-segsize-blocks and -Dsegsize_blocks.","part":"changes","patch_ids":["27dc3a24c4ad8216ff8e6c2d81058bc6"],"related_changes":[],"relations":[],"section":"源代码","section_path":["源代码"],"source_commits":["d3b111e32"],"source_entry_id":"16.0/changes/168","source_hash":"4f4635c21cfa7f17d34b8b3a3c31501fc033dc41e3b02f253ade97e2365f054c","source_url":"/docs/release/16.0/#RELEASE-16-SOURCE-CODE","statement_hash":"d300f2ad7753f7e6681020bcdbed9669c3847adbf02cc581df393bca2dee46cb","text":"增加构建选项以允许测试小表段大小（Andres Freund）§ 构建选项为 --with-segsize-blocks 和 -Dsegsize_blocks。","title":"增加构建选项以允许测试小表段大小","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["068a243b7","124937163","62e1e28bf","a1c4cd6f2","b16259b3c","b90f0b574","dab07e8c6"],"commit_groups":[["068a243b7"],["124937163"],["62e1e28bf"],["a1c4cd6f2"],["b16259b3c"],["b90f0b574"],["dab07e8c6"]],"commits":["068a243b7","124937163","62e1e28bf","a1c4cd6f2","b16259b3c","b90f0b574","dab07e8c6"],"cves":[],"db_id":"ee802106c37e5abe96e705481457eaff","html":"\u003cp\u003e增加\u003ca href=\"/docs/16/source.html\" title=\"第 56 章 PostgreSQL 编码约定\"\u003e\u003cspan\u003epgindent\u003c/span\u003e\u003c/a\u003e选项（Andrew Dunstan）\u003ca href=\"https://postgr.es/c/b90f0b574\"\u003e§\u003c/a\u003e \u003ca href=\"https://postgr.es/c/62e1e28bf\"\u003e§\u003c/a\u003e \u003ca href=\"https://postgr.es/c/124937163\"\u003e§\u003c/a\u003e \u003ca href=\"https://postgr.es/c/a1c4cd6f2\"\u003e§\u003c/a\u003e \u003ca href=\"https://postgr.es/c/068a243b7\"\u003e§\u003c/a\u003e \u003ca href=\"https://postgr.es/c/dab07e8c6\"\u003e§\u003c/a\u003e \u003ca href=\"https://postgr.es/c/b16259b3c\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e新选项为 \u003ccode\u003e--show-diff\u003c/code\u003e、\u003ccode\u003e--silent-diff\u003c/code\u003e、\u003ccode\u003e--commit\u003c/code\u003e 和 \u003ccode\u003e--help\u003c/code\u003e，并允许多个 \u003ccode\u003e--exclude\u003c/code\u003e 选项。同时要求显式指定 typedef 文件。选项 \u003ccode\u003e--code-base\u003c/code\u003e 和 \u003ccode\u003e--build\u003c/code\u003e 也已移除。\u003c/p\u003e","id":"16.0-4344f3a76ba7dc76","identity_text":"Add pgindent options (Andrew Dunstan) The new options are --show-diff, --silent-diff, --commit, and --help, and allow multiple --exclude options. Also require the typedef file to be explicitly specified. Options --code-base and --build were also removed.","part":"changes","patch_ids":["4f6da09484b6dc2c7b05f98f0f117536","84f50fc593dd7ebe18b71a624124a019","aa902872d27c5a56ac5cd80ab654ceb0","c13e8b2573e58c7ebf02df740d6a4379","d7173bc03a6f7ca0422d90bfcde79702","ef34a7a4ddfd432627d7ec39810e9414","fc513af979c33475c48903545a8a9de0"],"related_changes":[],"relations":[],"section":"源代码","section_path":["源代码"],"source_commits":["068a243b7","124937163","62e1e28bf","a1c4cd6f2","b16259b3c","b90f0b574","dab07e8c6"],"source_entry_id":"16.0/changes/169","source_hash":"e28af1938d3bb831ceafe09135f8a6d3207bbf32e6e6316cab2de1f844413b1d","source_url":"/docs/release/16.0/#RELEASE-16-SOURCE-CODE","statement_hash":"87faeee6ab41e1518467ce4c537075d550d998fd692d9c04e2034e266e2bb7a1","text":"增加pgindent选项（Andrew Dunstan）§ § § § § § § 新选项为 --show-diff、--silent-diff、--commit 和 --help，并允许多个 --exclude 选项。同时要求显式指定 typedef 文件。选项 --code-base 和 --build 也已移除。","title":"增加pgindent选项","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["4e831f4ce"],"commit_groups":[["4e831f4ce"]],"commits":["4e831f4ce"],"cves":[],"db_id":"07e9fd22578a6a7228cad7e5c9121673","html":"\u003cp\u003e将\u003ca href=\"/docs/16/source.html\" title=\"第 56 章 PostgreSQL 编码约定\"\u003e\u003cspan\u003epg_bsd_indent\u003c/span\u003e\u003c/a\u003e源代码添加到主代码树中（Tom Lane）\u003ca href=\"https://postgr.es/c/4e831f4ce\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"16.0-b7bf7759e96348a7","identity_text":"Add pg_bsd_indent source code to the main tree (Tom Lane)","part":"changes","patch_ids":["d839508c44b1f7cca4578431ad97f2d2"],"related_changes":[],"relations":[],"section":"源代码","section_path":["源代码"],"source_commits":["4e831f4ce"],"source_entry_id":"16.0/changes/170","source_hash":"8e82502c226b09e51bc70e1562bb5faba3fa3e72d742e34844e77bdae8e3a92a","source_url":"/docs/release/16.0/#RELEASE-16-SOURCE-CODE","statement_hash":"e2234dcde0d27dbcc053d62e963006473597622033d0dd68992771b2c1361e31","text":"将pg_bsd_indent源代码添加到主代码树中（Tom Lane）§","title":"将pg_bsd_indent源代码添加到主代码树中","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["d1e2a380c"],"commit_groups":[["d1e2a380c"]],"commits":["d1e2a380c"],"cves":[],"db_id":"432f2be2ee13ad4a8605d2b9b21fdda2","html":"\u003cp\u003e改进 \u003cspan\u003emake_ctags\u003c/span\u003e 和 \u003cspan\u003emake_etags\u003c/span\u003e（Yugo Nagata）\u003ca href=\"https://postgr.es/c/d1e2a380c\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"16.0-02e96df1d28196ba","identity_text":"Improve make_ctags and make_etags (Yugo Nagata)","part":"changes","patch_ids":["aa40a42a11d4d96bcc9078797a03b21b"],"related_changes":[],"relations":[],"section":"源代码","section_path":["源代码"],"source_commits":["d1e2a380c"],"source_entry_id":"16.0/changes/171","source_hash":"50ec0f1a888802dd7e7e243feb97d38bd2027b9879d65c5528c44a4107e16caf","source_url":"/docs/release/16.0/#RELEASE-16-SOURCE-CODE","statement_hash":"d5c80cdc7b7dbcd6cfd8b5222667b32663b0d18744ff2d4a9ff8dfdc200d50a1","text":"改进 make_ctags 和 make_etags（Yugo Nagata）§","title":"改进 make_ctags 和 make_etags","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["90189eefc"],"commit_groups":[["90189eefc"]],"commits":["90189eefc"],"cves":[],"db_id":"3d738d036aea5b6bd5bf67efa919e030","html":"\u003cp\u003e调整 \u003ca href=\"/docs/16/catalog-pg-attribute.html\" title=\"53.7. pg_attribute\"\u003e\u003ccode\u003epg_attribute\u003c/code\u003e\u003c/a\u003e 列以提高效率（Peter Eisentraut）\u003ca href=\"https://postgr.es/c/90189eefc\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"16.0-ac14ac51983cf957","identity_text":"Adjust pg_attribute columns for efficiency (Peter Eisentraut)","part":"changes","patch_ids":["b0383189fa398b253b6ac5a602efee25"],"related_changes":[],"relations":[],"section":"源代码","section_path":["源代码"],"source_commits":["90189eefc"],"source_entry_id":"16.0/changes/172","source_hash":"5d91d743c9da7d2928da7d212016b8454a1fe6f0dd642d690f8cff84961e5ae8","source_url":"/docs/release/16.0/#RELEASE-16-SOURCE-CODE","statement_hash":"d389d890844426bb6016b655d1ee16ad1cd1d357d31f61667b5e8f93efec8b30","text":"调整 pg_attribute 列以提高效率（Peter Eisentraut）§","title":"调整 pg_attribute 列以提高效率","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["ff720a597"],"commit_groups":[["ff720a597"]],"commits":["ff720a597"],"cves":[],"db_id":"31f7afdafbe88e548de15afd1969656f","html":"\u003cp\u003e改进对布尔列上扩展索引的使用（Zongliang Quan，Tom Lane）\u003ca href=\"https://postgr.es/c/ff720a597\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"16.0-0df7bd481110b49d","identity_text":"Improve use of extension-based indexes on boolean columns (Zongliang Quan, Tom Lane)","part":"changes","patch_ids":["ababd6c74d64b5250021d34418dacb9c"],"related_changes":[],"relations":[],"section":"附加模块","section_path":["附加模块"],"source_commits":["ff720a597"],"source_entry_id":"16.0/changes/173","source_hash":"dea62a1a85bf03855fe0befbc467c83be98d8bbcd077b3012bfd6bbb11af72a7","source_url":"/docs/release/16.0/#RELEASE-16-MODULES","statement_hash":"8c9ae64c886a90a141bfe63321e204b6ff996c91a05b24d5304fed18f5cb7c2e","text":"改进对布尔列上扩展索引的使用（Zongliang Quan，Tom Lane）§","title":"改进对布尔列上扩展索引的使用","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["a290378a3"],"commit_groups":[["a290378a3"]],"commits":["a290378a3"],"cves":[],"db_id":"254a1cf73e2bdd0335f3f941bd9245d4","html":"\u003cp\u003e向\u003ca href=\"/docs/16/fuzzystrmatch.html\" title=\"F.17. fuzzystrmatch — 确定字符串的相似性和距离\"\u003e\u003cspan\u003efuzzystrmatch\u003c/span\u003e\u003c/a\u003e添加 Daitch-Mokotoff Soundex 支持（Dag Lem）\u003ca href=\"https://postgr.es/c/a290378a3\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"16.0-96c2df2a1d585988","identity_text":"Add support for Daitch-Mokotoff Soundex to fuzzystrmatch (Dag Lem)","part":"changes","patch_ids":["7d6f4c4cd42290ef25dc47ddafac0cf3"],"related_changes":[],"relations":[],"section":"附加模块","section_path":["附加模块"],"source_commits":["a290378a3"],"source_entry_id":"16.0/changes/174","source_hash":"5b8a63597eccc10bfad2a35b33e6651b9963fdbcc9bd6ec5f5eb1e1c0f559507","source_url":"/docs/release/16.0/#RELEASE-16-MODULES","statement_hash":"14ff2cdcf41c500e25861a7be8da3118f8cd1e1b68ede9cd359bcc49a8ef7428","text":"向fuzzystrmatch添加 Daitch-Mokotoff Soundex 支持（Dag Lem）§","title":"向fuzzystrmatch添加 Daitch-Mokotoff Soundex 支持","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["d4bfe4128"],"commit_groups":[["d4bfe4128"]],"commits":["d4bfe4128"],"cves":[],"db_id":"633896429b6e29feaf172908a0955446","html":"\u003cp\u003e允许\u003ca href=\"/docs/16/auto-explain.html\" title=\"F.4. auto_explain — 记录慢查询的执行计划\"\u003e\u003cspan\u003eauto_explain\u003c/span\u003e\u003c/a\u003e记录传递给参数化语句的值（Dagfinn Ilmari Mannsåker）\u003ca href=\"https://postgr.es/c/d4bfe4128\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e这影响使用服务器端 \u003ca href=\"/docs/16/sql-prepare.html\" title=\"PREPARE\"\u003e\u003ccode\u003ePREPARE\u003c/code\u003e\u003c/a\u003e/\u003ca href=\"/docs/16/sql-execute.html\" title=\"EXECUTE\"\u003e\u003ccode\u003eEXECUTE\u003c/code\u003e\u003c/a\u003e 的查询，以及客户端通过 Parse/Bind 协议消息发出的查询。日志记录由 \u003ca href=\"/docs/16/auto-explain.html#AUTO-EXPLAIN-CONFIGURATION-PARAMETERS-LOG-PARAMETER-MAX-LENGTH\"\u003e\u003ccode\u003eauto_explain.log_parameter_max_length\u003c/code\u003e\u003c/a\u003e 控制；默认情况下，查询参数记录时不受长度限制。\u003c/p\u003e","id":"16.0-f8fbd4feebcbf509","identity_text":"Allow auto_explain to log values passed to parameterized statements (Dagfinn Ilmari Mannsåker) This affects queries using server-side PREPARE/EXECUTE and client-side parse/bind. Logging is controlled by auto_explain.log_parameter_max_length; by default query parameters will be logged with no length restriction.","part":"changes","patch_ids":["d4e8ce0efd4537ed99bd43cb1b84f6bc"],"related_changes":[],"relations":[],"section":"附加模块","section_path":["附加模块"],"source_commits":["d4bfe4128"],"source_entry_id":"16.0/changes/175","source_hash":"48b77b080a3f9377a78a4b75df9f53d42725d9d3fe2536837078caf3b0e9fc9c","source_url":"/docs/release/16.0/#RELEASE-16-MODULES","statement_hash":"0d9b8c1482c2191ee63dc99d9625e5b811086ceac810cdd3dedab92fdb38ede2","text":"允许auto_explain记录传递给参数化语句的值（Dagfinn Ilmari Mannsåker）§ 这影响使用服务器端 PREPARE/EXECUTE 的查询，以及客户端通过 Parse/Bind 协议消息发出的查询。日志记录由 auto_explain.log_parameter_max_length 控制；默认情况下，查询参数记录时不受长度限制。","title":"允许auto_explain记录传递给参数化语句的值","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["9d2d9728b"],"commit_groups":[["9d2d9728b"]],"commits":["9d2d9728b"],"cves":[],"db_id":"f46aed7f1cc334819da73d6d6002a150","html":"\u003cp\u003e使\u003ca href=\"/docs/16/auto-explain.html\" title=\"F.4. auto_explain — 记录慢查询的执行计划\"\u003e\u003cspan\u003eauto_explain\u003c/span\u003e\u003c/a\u003e的 \u003ccode\u003elog_verbose\u003c/code\u003e 模式遵守 \u003ca href=\"/docs/16/runtime-config-statistics.html#GUC-COMPUTE-QUERY-ID\"\u003e\u003ccode\u003ecompute_query_id\u003c/code\u003e\u003c/a\u003e 的值（Atsushi Torikoshi）\u003ca href=\"https://postgr.es/c/9d2d9728b\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e之前即使启用了 \u003ccode\u003ecompute_query_id\u003c/code\u003e，\u003ca href=\"/docs/16/auto-explain.html#AUTO-EXPLAIN-CONFIGURATION-PARAMETERS-LOG-VERBOSE\"\u003e\u003ccode\u003elog_verbose\u003c/code\u003e\u003c/a\u003e 也不显示查询标识符。\u003c/p\u003e","id":"16.0-425c23a516bd0420","identity_text":"Have auto_explain's log_verbose mode honor the value of compute_query_id (Atsushi Torikoshi) Previously even if compute_query_id was enabled, log_verbose was not showing the query identifier.","part":"changes","patch_ids":["ad75e920b0464af86592ee7143b058d8"],"related_changes":[],"relations":[],"section":"附加模块","section_path":["附加模块"],"source_commits":["9d2d9728b"],"source_entry_id":"16.0/changes/176","source_hash":"39383b73ebd2fe5454f0e6a8c3900baff7b847adf2d4840c2641c7ddbb6f465a","source_url":"/docs/release/16.0/#RELEASE-16-MODULES","statement_hash":"eb624388b8da96d2fd4403997354a45b87375c99dbfc5e946d93e18d8f8cf5b7","text":"使auto_explain的 log_verbose 模式遵守 compute_query_id 的值（Atsushi Torikoshi）§ 之前即使启用了 compute_query_id，log_verbose 也不显示查询标识符。","title":"使auto_explain的 log_verbose 模式遵守 compute_query_id 的值","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["b1665bf01"],"commit_groups":[["b1665bf01"]],"commits":["b1665bf01"],"cves":[],"db_id":"44267ad930560070eb40e286ef515cf3","html":"\u003cp\u003e将\u003ca href=\"/docs/16/ltree.html\" title=\"F.23. ltree — 层次树状数据类型\"\u003e\u003cspan\u003eltree\u003c/span\u003e\u003c/a\u003e标签的最大长度从 256 改为 1000 并允许连字符（Garen Torikian）\u003ca href=\"https://postgr.es/c/b1665bf01\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"16.0-eab6a0962e2e92bc","identity_text":"Change the maximum length of ltree labels from 256 to 1000 and allow hyphens (Garen Torikian)","part":"changes","patch_ids":["ca89d73aa823643f3ec8ed479a669315"],"related_changes":[],"relations":[],"section":"附加模块","section_path":["附加模块"],"source_commits":["b1665bf01"],"source_entry_id":"16.0/changes/177","source_hash":"a4f68c9c92632f55e49d81bcf3f0e73610718eb1883554b61007882cf31db42b","source_url":"/docs/release/16.0/#RELEASE-16-MODULES","statement_hash":"c327fb5ff064d4cde924cb165166b87a8ae064d534d53e4dcbc26e618af07309","text":"将ltree标签的最大长度从 256 改为 1000 并允许连字符（Garen Torikian）§","title":"将ltree标签的最大长度从 256 改为 1000 并允许连字符","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["daa8365a9"],"commit_groups":[["daa8365a9"]],"commits":["daa8365a9"],"cves":[],"db_id":"c2733cec1b4607015468475a293c6068","html":"\u003cp\u003e使 \u003ca href=\"/docs/16/pgstatstatements.html\" title=\"F.32. pg_stat_statements — 跟踪 SQL 计划和执行统计信息\"\u003e\u003ccode\u003epg_stat_statements\u003c/code\u003e\u003c/a\u003e 规范化工具命令中使用的常量（Michael Paquier）\u003ca href=\"https://postgr.es/c/daa8365a9\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e之前显示的是常量而非占位符，如 \u003ccode\u003e$1\u003c/code\u003e。\u003c/p\u003e","id":"16.0-6246a30a6d262a08","identity_text":"Have pg_stat_statements normalize constants used in utility commands (Michael Paquier) Previously constants appeared instead of placeholders, e.g., $1.","part":"changes","patch_ids":["b37fdd8cf6e898a1025c5e1ce82d5e60"],"related_changes":[],"relations":[],"section":"附加模块","section_path":["附加模块"],"source_commits":["daa8365a9"],"source_entry_id":"16.0/changes/178","source_hash":"49995820523a09bd11601118cb61842e8cf655004598791e2660df8bd90d07ff","source_url":"/docs/release/16.0/#RELEASE-16-MODULES","statement_hash":"2ce1d1f073a525ad0e939ad542f4362bb63ba7649e68ea55f05e1986f180b4f1","text":"使 pg_stat_statements 规范化工具命令中使用的常量（Michael Paquier）§ 之前显示的是常量而非占位符，如 $1。","title":"使 pg_stat_statements 规范化工具命令中使用的常量","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["122376f02","9ecb134a9","c31cf1c03","df4f3ab51"],"commit_groups":[["122376f02"],["9ecb134a9"],["c31cf1c03"],["df4f3ab51"]],"commits":["122376f02","9ecb134a9","c31cf1c03","df4f3ab51"],"cves":[],"db_id":"66d28e64e06ea2e905db81569dfd075d","html":"\u003cp\u003e增加\u003ca href=\"/docs/16/pgwalinspect.html\" title=\"F.37. pg_walinspect — WAL 的底层检查\"\u003e\u003cspan\u003epg_walinspect\u003c/span\u003e\u003c/a\u003e函数 \u003ca href=\"/docs/16/pgwalinspect.html#PGWALINSPECT-FUNCS-PG-GET-WAL-BLOCK-INFO\"\u003e\u003ccode\u003epg_get_wal_block_info()\u003c/code\u003e\u003c/a\u003e 以报告 \u003cacronym\u003eWAL\u003c/acronym\u003e 块信息（Michael Paquier，Melanie Plageman，Bharath Rupireddy）\u003ca href=\"https://postgr.es/c/c31cf1c03\"\u003e§\u003c/a\u003e \u003ca href=\"https://postgr.es/c/9ecb134a9\"\u003e§\u003c/a\u003e \u003ca href=\"https://postgr.es/c/122376f02\"\u003e§\u003c/a\u003e \u003ca href=\"https://postgr.es/c/df4f3ab51\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"16.0-827492f28514f837","identity_text":"Add pg_walinspect function pg_get_wal_block_info() to report WAL block information (Michael Paquier, Melanie Plageman, Bharath Rupireddy)","part":"changes","patch_ids":["522550f5c9f3bf942d74b2b7a02f945f","abb169526926bbd78c240734d131a314","dad9009e9398d5f047c2f7992c74e510","e047baaa2c6e3deb558c7b3f2eb6d244"],"related_changes":[],"relations":[],"section":"附加模块","section_path":["附加模块"],"source_commits":["122376f02","9ecb134a9","c31cf1c03","df4f3ab51"],"source_entry_id":"16.0/changes/179","source_hash":"a1c14b61de7dcaebb52ca25381636ed16f0114b756048c8030d0e7eafcb7f77e","source_url":"/docs/release/16.0/#RELEASE-16-MODULES","statement_hash":"7acacdc722fd02564942bdc825737eca043ab193b6c2b71461fa2b25c9187630","text":"增加pg_walinspect函数 pg_get_wal_block_info() 以报告 WAL 块信息（Michael Paquier，Melanie Plageman，Bharath Rupireddy）§ § § §","title":"增加pg_walinspect函数 pg_get_wal_block_info() 以报告 WAL 块信息","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["5c1b66280"],"commit_groups":[["5c1b66280"]],"commits":["5c1b66280"],"cves":[],"db_id":"95ce3c27034083611423b540747ddc44","html":"\u003cp\u003e更改\u003ca href=\"/docs/16/pgwalinspect.html\" title=\"F.37. pg_walinspect — WAL 的底层检查\"\u003e\u003cspan\u003epg_walinspect\u003c/span\u003e\u003c/a\u003e函数 \u003ca href=\"/docs/16/pgwalinspect.html#PGWALINSPECT-FUNCS-PG-GET-WAL-RECORDS-INFO\"\u003e\u003ccode\u003epg_get_wal_records_info()\u003c/code\u003e\u003c/a\u003e 和 \u003ca href=\"/docs/16/pgwalinspect.html#PGWALINSPECT-FUNCS-PG-GET-WAL-STATS\"\u003e\u003ccode\u003epg_get_wal_stats()\u003c/code\u003e\u003c/a\u003e 解释结束 \u003cacronym\u003eLSN\u003c/acronym\u003e 的方式（Bharath Rupireddy）\u003ca href=\"https://postgr.es/c/5c1b66280\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e之前表示不存在的 \u003cacronym\u003eWAL\u003c/acronym\u003e 位置的结束 \u003cacronym\u003eLSN\u003c/acronym\u003e 会产生错误，而现在将被解释为 \u003cacronym\u003eWAL\u003c/acronym\u003e 的末尾。\u003c/p\u003e","id":"16.0-074fc687c63c2759","identity_text":"Change how pg_walinspect functions pg_get_wal_records_info() and pg_get_wal_stats() interpret ending LSNs (Bharath Rupireddy) Previously ending LSNs which represent nonexistent WAL locations would generate an error, while they will now be interpreted as the end of the WAL.","part":"changes","patch_ids":["c5d8dc1de10576f0de896e9cd38e3777"],"related_changes":[{"db_id":"41a03866a7fb689d27c47b605f7199e1","evidence":{"patch_ids":["c5d8dc1de10576f0de896e9cd38e3777"],"same_day":true},"kind":"related","label":"16.0","source_url":"/docs/release/16.0/#RELEASE-16-MIGRATION","title":"移除pg_walinspect的函数 pg_get_wal_records_info_till_end_of_wal() 和 pg_get_wal_stats_till_end_of_wal()","url":"/docs/compare/?release=16.0#16.0-cb0959e990d03453","version":"16.0"}],"relations":[{"evidence":{"patch_ids":["c5d8dc1de10576f0de896e9cd38e3777"],"same_day":true},"rule":2,"target":"41a03866a7fb689d27c47b605f7199e1","type":"related"}],"section":"附加模块","section_path":["附加模块"],"source_commits":["5c1b66280"],"source_entry_id":"16.0/changes/180","source_hash":"939805f8c5de3f11255833b531bc678ba8d3a5ce0b54c1b8dc6dbd2bfcc12a35","source_url":"/docs/release/16.0/#RELEASE-16-MODULES","statement_hash":"d17735409773cf2bdf5f70f749933ebf775bd6d3309b2a2c46fab3d810ea115b","text":"更改pg_walinspect函数 pg_get_wal_records_info() 和 pg_get_wal_stats() 解释结束 LSN 的方式（Bharath Rupireddy）§ 之前表示不存在的 WAL 位置的结束 LSN 会产生错误，而现在将被解释为 WAL 的末尾。","title":"更改pg_walinspect函数 pg_get_wal_records_info() 和 pg_get_wal_stats() 解释结束 LSN 的方式","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["1c453cfd8","50547a3fa","7d8219a44","96149a180"],"commit_groups":[["1c453cfd8"],["50547a3fa"],["7d8219a44"],["96149a180"]],"commits":["1c453cfd8","50547a3fa","7d8219a44","96149a180"],"cves":[],"db_id":"32ac184b38df3d34e4563d19f078e118","html":"\u003cp\u003e在\u003ca href=\"/docs/16/pgwalinspect.html\" title=\"F.37. pg_walinspect — WAL 的底层检查\"\u003e\u003cspan\u003epg_walinspect\u003c/span\u003e\u003c/a\u003e和\u003ca href=\"/docs/16/pgwaldump.html\" title=\"pg_waldump\"\u003e\u003cspan\u003epg_waldump\u003c/span\u003e\u003c/a\u003e中添加 \u003cacronym\u003eWAL\u003c/acronym\u003e 记录的详细描述（Melanie Plageman，Peter Geoghegan）\u003ca href=\"https://postgr.es/c/7d8219a44\"\u003e§\u003c/a\u003e \u003ca href=\"https://postgr.es/c/1c453cfd8\"\u003e§\u003c/a\u003e \u003ca href=\"https://postgr.es/c/96149a180\"\u003e§\u003c/a\u003e \u003ca href=\"https://postgr.es/c/50547a3fa\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"16.0-f964da733c830e01","identity_text":"Add detailed descriptions of WAL records in pg_walinspect and pg_waldump (Melanie Plageman, Peter Geoghegan)","part":"changes","patch_ids":["3d655fdbb65659afdc53cf32a2246c7d","6cdd27196e5a886987fa108520222cb6","c2ab4702effde42d240c1d9aa2109161","c5fea9f5b11a07deb8814b84dd333a3f"],"related_changes":[],"relations":[],"section":"附加模块","section_path":["附加模块"],"source_commits":["1c453cfd8","50547a3fa","7d8219a44","96149a180"],"source_entry_id":"16.0/changes/181","source_hash":"35baccd29e5b73c196585a992763d68c054bbf217b0062aa749510c6590d5938","source_url":"/docs/release/16.0/#RELEASE-16-MODULES","statement_hash":"583f7c324ed716190056e2738055788f21979089e0b1dea389ed06186454514a","text":"在pg_walinspect和pg_waldump中添加 WAL 记录的详细描述（Melanie Plageman，Peter Geoghegan）§ § § §","title":"在pg_walinspect和pg_waldump中添加 WAL 记录的详细描述","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["1fd3dd204"],"commit_groups":[["1fd3dd204"]],"commits":["1fd3dd204"],"cves":[],"db_id":"c3e1949192fe6ced80983e4f1b745095","html":"\u003cp\u003e增加\u003ca href=\"/docs/16/pageinspect.html\" title=\"F.25. pageinspect — 数据库页的底层检查\"\u003e\u003cspan\u003epageinspect\u003c/span\u003e\u003c/a\u003e函数 \u003ca href=\"/docs/16/pageinspect.html#PAGEINSPECT-B-TREE-FUNCS\" title=\"F.25.3. B-树函数\"\u003e\u003ccode\u003ebt_multi_page_stats()\u003c/code\u003e\u003c/a\u003e 以报告多页统计信息（Hamid Akhtar）\u003ca href=\"https://postgr.es/c/1fd3dd204\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e这与 \u003ccode\u003ebt_page_stats()\u003c/code\u003e 类似，但可以报告一个范围的页面。\u003c/p\u003e","id":"16.0-e2d2ee48d924e8dc-1","identity_text":"Add pageinspect function bt_multi_page_stats() to report statistics on multiple pages (Hamid Akhtar) This is similar to bt_page_stats() except it can report on a range of pages.","part":"changes","patch_ids":["5bdb82c95abb2159415c5685fd07afc2"],"related_changes":[{"db_id":"9ce12790cfd3b708a3c139faff4cb900","evidence":{"ambiguous_patch_ids":["5bdb82c95abb2159415c5685fd07afc2"],"patch_ids":["5bdb82c95abb2159415c5685fd07afc2"],"same_day":true},"kind":"related","label":"16.0","source_url":"/docs/release/16.0/#RELEASE-16-MODULES","title":"向pageinspect函数 brin_page_items() 添加空范围输出列","url":"/docs/compare/?release=16.0#16.0-e2d2ee48d924e8dc-2","version":"16.0"}],"relations":[{"evidence":{"ambiguous_patch_ids":["5bdb82c95abb2159415c5685fd07afc2"],"patch_ids":["5bdb82c95abb2159415c5685fd07afc2"],"same_day":true},"rule":2,"target":"9ce12790cfd3b708a3c139faff4cb900","type":"related"}],"section":"附加模块","section_path":["附加模块"],"source_commits":["1fd3dd204"],"source_entry_id":"16.0/changes/182","source_hash":"3cd7cc168417f055b25c7215b3e8f893ac38c7bb532669969fbe180e62536a16","source_url":"/docs/release/16.0/#RELEASE-16-MODULES","statement_hash":"817abb9b7532dc121b4c71b86b6be32676ddd9c0bc5686a0c77f8a85ed8f39b1","text":"增加pageinspect函数 bt_multi_page_stats() 以报告多页统计信息（Hamid Akhtar）§ 这与 bt_page_stats() 类似，但可以报告一个范围的页面。","title":"增加pageinspect函数 bt_multi_page_stats() 以报告多页统计信息","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["1fd3dd204"],"commit_groups":[["1fd3dd204"]],"commits":["1fd3dd204"],"cves":[],"db_id":"9ce12790cfd3b708a3c139faff4cb900","html":"\u003cp\u003e向\u003ca href=\"/docs/16/pageinspect.html\" title=\"F.25. pageinspect — 数据库页的底层检查\"\u003e\u003cspan\u003epageinspect\u003c/span\u003e\u003c/a\u003e函数 \u003ca href=\"/docs/16/pageinspect.html#PAGEINSPECT-BRIN-FUNCS\" title=\"F.25.4. BRIN 函数\"\u003e\u003ccode\u003ebrin_page_items()\u003c/code\u003e\u003c/a\u003e 添加空范围输出列（Tomas Vondra）\u003ca href=\"https://postgr.es/c/1fd3dd204\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"16.0-e2d2ee48d924e8dc-2","identity_text":"Add empty range output column to pageinspect function brin_page_items() (Tomas Vondra)","part":"changes","patch_ids":["5bdb82c95abb2159415c5685fd07afc2"],"related_changes":[{"db_id":"c3e1949192fe6ced80983e4f1b745095","evidence":{"ambiguous_patch_ids":["5bdb82c95abb2159415c5685fd07afc2"],"patch_ids":["5bdb82c95abb2159415c5685fd07afc2"],"same_day":true},"kind":"related","label":"16.0","source_url":"/docs/release/16.0/#RELEASE-16-MODULES","title":"增加pageinspect函数 bt_multi_page_stats() 以报告多页统计信息","url":"/docs/compare/?release=16.0#16.0-e2d2ee48d924e8dc-1","version":"16.0"}],"relations":[{"evidence":{"ambiguous_patch_ids":["5bdb82c95abb2159415c5685fd07afc2"],"patch_ids":["5bdb82c95abb2159415c5685fd07afc2"],"same_day":true},"rule":2,"target":"c3e1949192fe6ced80983e4f1b745095","type":"related"}],"section":"附加模块","section_path":["附加模块"],"source_commits":["1fd3dd204"],"source_entry_id":"16.0/changes/183","source_hash":"ab8d297182fb6e723e8f6d7b126b35fb6ebb3fb81b83b8065caac731a0be66ed","source_url":"/docs/release/16.0/#RELEASE-16-MODULES","statement_hash":"243210115fb6048653209e24199e20ff4fcff584b3bbd5eccbf8bc9adea258a1","text":"向pageinspect函数 brin_page_items() 添加空范围输出列（Tomas Vondra）§","title":"向pageinspect函数 brin_page_items() 添加空范围输出列","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["35739b87d"],"commit_groups":[["35739b87d"]],"commits":["35739b87d"],"cves":[],"db_id":"8650a1035448f521a7673e17478e6f4f","html":"\u003cp\u003e重新设计归档模块以更加灵活（Nathan Bossart）\u003ca href=\"https://postgr.es/c/35739b87d\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e这一初始化变更要求为较旧 PostgreSQL 版本编写的模块进行更新。\u003c/p\u003e","id":"16.0-fc809d4cd5633bec","identity_text":"Redesign archive modules to be more flexible (Nathan Bossart) Initialization changes will require modules written for older versions of Postgres to be updated.","part":"changes","patch_ids":["3bbba7711288ab9a7a8df78914e0d8e9"],"related_changes":[],"relations":[],"section":"附加模块","section_path":["附加模块"],"source_commits":["35739b87d"],"source_entry_id":"16.0/changes/184","source_hash":"ebfeef6642b2c1b53bbc6b947671b1e288832a43f2d6d8755238bbd3fa5ac995","source_url":"/docs/release/16.0/#RELEASE-16-MODULES","statement_hash":"67e482b3d287b7654ddd6971450941da4b5af6d4ae9d9b9bce28b32b7a36c6f5","text":"重新设计归档模块以更加灵活（Nathan Bossart）§ 这一初始化变更要求为较旧 PostgreSQL 版本编写的模块进行更新。","title":"重新设计归档模块以更加灵活","variants":[],"version":"16.0"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["1d477a907"],"commit_groups":[["1d477a907"]],"commits":["1d477a907"],"cves":[],"db_id":"551aaad464f86fd0c3e5f46908da5a30","html":"\u003cp\u003e修正\u003ca href=\"/docs/16/pgstatstatements.html\" title=\"F.32. pg_stat_statements — 跟踪 SQL 计划和执行统计信息\"\u003e\u003cspan\u003epg_stat_statements\u003c/span\u003e\u003c/a\u003e扩展查询协议语句的不准确行跟踪（Sami Imseih）\u003ca href=\"https://postgr.es/c/1d477a907\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"16.0-1e476c6c65452300","identity_text":"Correct inaccurate pg_stat_statements row tracking extended query protocol statements (Sami Imseih)","part":"changes","patch_ids":["11ffe5bc6427ad33f15d61aaf3f3d9bc"],"related_changes":[],"relations":[],"section":"附加模块","section_path":["附加模块"],"source_commits":["1d477a907"],"source_entry_id":"16.0/changes/185","source_hash":"0aaf0d21f909615d41e533c757e3ecc52e883c89a8dd5208321c497fecf23067","source_url":"/docs/release/16.0/#RELEASE-16-MODULES","statement_hash":"7537f6e4611d7e1ee76ae1cc5f1acd6bd610cd71afdbbba33bb093becec8720a","text":"修正pg_stat_statements扩展查询协议语句的不准确行跟踪（Sami Imseih）§","title":"修正pg_stat_statements扩展查询协议语句的不准确行跟踪","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["f3fa31327"],"commit_groups":[["f3fa31327"]],"commits":["f3fa31327"],"cves":[],"db_id":"0d35e559e97bfc9e5936aa9fa5eb66a8","html":"\u003cp\u003e增加\u003ca href=\"/docs/16/pgbuffercache.html\" title=\"F.27. pg_buffercache — 检查 PostgreSQL 缓冲区缓存状态\"\u003e\u003cspan\u003epg_buffercache\u003c/span\u003e\u003c/a\u003e函数 \u003ccode\u003epg_buffercache_usage_counts()\u003c/code\u003e 以报告使用总计（Nathan Bossart）\u003ca href=\"https://postgr.es/c/f3fa31327\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"16.0-757e63f01ee15b70","identity_text":"Add pg_buffercache function pg_buffercache_usage_counts() to report usage totals (Nathan Bossart)","part":"changes","patch_ids":["b7d110f46ee3f0a80fd6b8f72d01e31c"],"related_changes":[],"relations":[],"section":"附加模块","section_path":["附加模块"],"source_commits":["f3fa31327"],"source_entry_id":"16.0/changes/186","source_hash":"91487a8f0ebf3948cd50a420f4091659304a532c23070138cc4440983ac5ebd9","source_url":"/docs/release/16.0/#RELEASE-16-MODULES","statement_hash":"54e2d365cee0a688779511006c226320a2785202a52c08bd3014edb9e335ebf3","text":"增加pg_buffercache函数 pg_buffercache_usage_counts() 以报告使用总计（Nathan Bossart）§","title":"增加pg_buffercache函数 pg_buffercache_usage_counts() 以报告使用总计","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["2589434ae"],"commit_groups":[["2589434ae"]],"commits":["2589434ae"],"cves":[],"db_id":"20e2e4e34fcb47bca29286b378d9ddd0","html":"\u003cp\u003e增加\u003ca href=\"/docs/16/pgbuffercache.html\" title=\"F.27. pg_buffercache — 检查 PostgreSQL 缓冲区缓存状态\"\u003e\u003cspan\u003epg_buffercache\u003c/span\u003e\u003c/a\u003e函数 \u003ccode\u003epg_buffercache_summary()\u003c/code\u003e 以报告汇总的缓冲区统计（Melih Mutlu）\u003ca href=\"https://postgr.es/c/2589434ae\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"16.0-93d261174e18cab2","identity_text":"Add pg_buffercache function pg_buffercache_summary() to report summarized buffer statistics (Melih Mutlu)","part":"changes","patch_ids":["0f925139651f09b77986d3d1ed62e046"],"related_changes":[],"relations":[],"section":"附加模块","section_path":["附加模块"],"source_commits":["2589434ae"],"source_entry_id":"16.0/changes/187","source_hash":"36355b71dac6b06c5746bf602bf37c0ba2faadea4533f50c3c37c4db61275f7c","source_url":"/docs/release/16.0/#RELEASE-16-MODULES","statement_hash":"ade619241392a312223a13707278c5f85af265fc62dfbcac8829e6cc323c3f28","text":"增加pg_buffercache函数 pg_buffercache_summary() 以报告汇总的缓冲区统计（Melih Mutlu）§","title":"增加pg_buffercache函数 pg_buffercache_summary() 以报告汇总的缓冲区统计","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["72a5b1fc8"],"commit_groups":[["72a5b1fc8"]],"commits":["72a5b1fc8"],"cves":[],"db_id":"383a40b7232cc394ab47db0645f51a43","html":"\u003cp\u003e允许在扩展脚本中使用新语法 \u003ccode\u003e@extschema:referenced_extension_name@\u003c/code\u003e 引用必需扩展的模式（Regina Obe）\u003ca href=\"https://postgr.es/c/72a5b1fc8\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"16.0-c83e1323e4e801c4-1","identity_text":"Allow the schemas of required extensions to be referenced in extension scripts using the new syntax @extschema:referenced_extension_name@ (Regina Obe)","part":"changes","patch_ids":["ffe19b6bfb65366476e076da2d44bfe4"],"related_changes":[{"db_id":"aebfdd1f0b3aa4e201d468119a381e74","evidence":{"ambiguous_patch_ids":["ffe19b6bfb65366476e076da2d44bfe4"],"patch_ids":["ffe19b6bfb65366476e076da2d44bfe4"],"same_day":true},"kind":"related","label":"16.0","source_url":"/docs/release/16.0/#RELEASE-16-MODULES","title":"允许使用 no_relocate 将必需扩展标记为不可重定位","url":"/docs/compare/?release=16.0#16.0-c83e1323e4e801c4-2","version":"16.0"}],"relations":[{"evidence":{"ambiguous_patch_ids":["ffe19b6bfb65366476e076da2d44bfe4"],"patch_ids":["ffe19b6bfb65366476e076da2d44bfe4"],"same_day":true},"rule":2,"target":"aebfdd1f0b3aa4e201d468119a381e74","type":"related"}],"section":"附加模块","section_path":["附加模块"],"source_commits":["72a5b1fc8"],"source_entry_id":"16.0/changes/188","source_hash":"f475992b65f019ada3e85907ac8497fdf7ff0ffaf0acf7d2b7037574b2e66853","source_url":"/docs/release/16.0/#RELEASE-16-MODULES","statement_hash":"29428a2f925af700fef81223ae20e6cb2499fdcf291ce2d9234a852990c15ba4","text":"允许在扩展脚本中使用新语法 @extschema:referenced_extension_name@ 引用必需扩展的模式（Regina Obe）§","title":"允许在扩展脚本中使用新语法 @extschema:referenced_extension_name@ 引用必需扩展的模式","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["72a5b1fc8"],"commit_groups":[["72a5b1fc8"]],"commits":["72a5b1fc8"],"cves":[],"db_id":"aebfdd1f0b3aa4e201d468119a381e74","html":"\u003cp\u003e允许使用 \u003ca href=\"/docs/16/extend-extensions.html#EXTEND-EXTENSIONS-FILES-NO-RELOCATE\"\u003e\u003ccode\u003eno_relocate\u003c/code\u003e\u003c/a\u003e 将必需扩展标记为不可重定位（Regina Obe）\u003ca href=\"https://postgr.es/c/72a5b1fc8\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e这允许 \u003ccode\u003e@extschema:referenced_extension_name@\u003c/code\u003e 在扩展的生命周期内被视为常量。\u003c/p\u003e","id":"16.0-c83e1323e4e801c4-2","identity_text":"Allow required extensions to be marked as non-relocatable using no_relocate (Regina Obe) This allows @extschema:referenced_extension_name@ to be treated as a constant for the lifetime of the extension.","part":"changes","patch_ids":["ffe19b6bfb65366476e076da2d44bfe4"],"related_changes":[{"db_id":"383a40b7232cc394ab47db0645f51a43","evidence":{"ambiguous_patch_ids":["ffe19b6bfb65366476e076da2d44bfe4"],"patch_ids":["ffe19b6bfb65366476e076da2d44bfe4"],"same_day":true},"kind":"related","label":"16.0","source_url":"/docs/release/16.0/#RELEASE-16-MODULES","title":"允许在扩展脚本中使用新语法 @extschema:referenced_extension_name@ 引用必需扩展的模式","url":"/docs/compare/?release=16.0#16.0-c83e1323e4e801c4-1","version":"16.0"}],"relations":[{"evidence":{"ambiguous_patch_ids":["ffe19b6bfb65366476e076da2d44bfe4"],"patch_ids":["ffe19b6bfb65366476e076da2d44bfe4"],"same_day":true},"rule":2,"target":"383a40b7232cc394ab47db0645f51a43","type":"related"}],"section":"附加模块","section_path":["附加模块"],"source_commits":["72a5b1fc8"],"source_entry_id":"16.0/changes/189","source_hash":"5eee592578e59c5fe2d26916152bd09fe21a0c037e8265afbb92faaf41547e41","source_url":"/docs/release/16.0/#RELEASE-16-MODULES","statement_hash":"f1fba67b074c6022aeb36f53f649f693d06418efde733dfd459100eab95a7147","text":"允许使用 no_relocate 将必需扩展标记为不可重定位（Regina Obe）§ 这允许 @extschema:referenced_extension_name@ 在扩展的生命周期内被视为常量。","title":"允许使用 no_relocate 将必需扩展标记为不可重定位","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["983ec2300"],"commit_groups":[["983ec2300"]],"commits":["983ec2300"],"cves":[],"db_id":"3e0e3002d684ced8df0712fc21dde2c6","html":"\u003cp\u003e允许 \u003cspan\u003epostgres_fdw\u003c/span\u003e 并行执行中止操作（Etsuro Fujita）\u003ca href=\"https://postgr.es/c/983ec2300\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e这通过 \u003cspan\u003epostgres_fdw\u003c/span\u003e 选项 \u003ca href=\"/docs/16/postgres-fdw.html#POSTGRES-FDW-OPTIONS-TRANSACTION-MANAGEMENT\" title=\"F.38.1.6. 事务管理选项\"\u003e\u003ccode\u003eparallel_abort\u003c/code\u003e\u003c/a\u003e 启用。\u003c/p\u003e","id":"16.0-c50ec83325e23237","identity_text":"Allow postgres_fdw to do aborts in parallel (Etsuro Fujita) This is enabled with postgres_fdw option parallel_abort.","part":"changes","patch_ids":["cd7ddbcd404a8ea5e3a0946886aa30e9"],"related_changes":[],"relations":[],"section":"附加模块 / postgres_fdw","section_path":["附加模块","postgres_fdw"],"source_commits":["983ec2300"],"source_entry_id":"16.0/changes/190","source_hash":"7c385a335ae23011eb256aad33d7d6968c7320585df28dcdcddc549fdac83dcb","source_url":"/docs/release/16.0/#RELEASE-16-PGFDW","statement_hash":"b511b6584446a53e4f41350aa184fb9fb2388360251c892e81a8d293a29747c4","text":"允许 postgres_fdw 并行执行中止操作（Etsuro Fujita）§ 这通过 postgres_fdw 选项 parallel_abort 启用。","title":"允许 postgres_fdw 并行执行中止操作","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["8ad51b5f4"],"commit_groups":[["8ad51b5f4"]],"commits":["8ad51b5f4"],"cves":[],"db_id":"e43262335c07946d30fd008fda619c15","html":"\u003cp\u003e使对外部 \u003cspan\u003epostgres_fdw\u003c/span\u003e 表的 \u003ca href=\"/docs/16/sql-analyze.html\" title=\"ANALYZE\"\u003e\u003ccode\u003eANALYZE\u003c/code\u003e\u003c/a\u003e 更高效（Tomas Vondra）\u003ca href=\"https://postgr.es/c/8ad51b5f4\"\u003e§\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cspan\u003epostgres_fdw\u003c/span\u003e 选项 \u003ca href=\"/docs/16/postgres-fdw.html#POSTGRES-FDW-OPTIONS-COST-ESTIMATION\" title=\"F.38.1.3. 代价估算选项\"\u003e\u003ccode\u003eanalyze_sampling\u003c/code\u003e\u003c/a\u003e 控制采样方法。\u003c/p\u003e","id":"16.0-2d6c1b27fb284228","identity_text":"Make ANALYZE on foreign postgres_fdw tables more efficient (Tomas Vondra) The postgres_fdw option analyze_sampling controls the sampling method.","part":"changes","patch_ids":["94de4384029e17ead5c8f03b078a46ee"],"related_changes":[],"relations":[],"section":"附加模块 / postgres_fdw","section_path":["附加模块","postgres_fdw"],"source_commits":["8ad51b5f4"],"source_entry_id":"16.0/changes/191","source_hash":"6b5ff301820ac5e3e62f137de9a1b08cb1f6e7ad1d40368310a3e68f7e9f1dd3","source_url":"/docs/release/16.0/#RELEASE-16-PGFDW","statement_hash":"dc56dd344037213b84ad716d8bc3be770061f5b0d3f5384594f9bce5426ce9e1","text":"使对外部 postgres_fdw 表的 ANALYZE 更高效（Tomas Vondra）§ postgres_fdw 选项 analyze_sampling 控制采样方法。","title":"使对外部 postgres_fdw 表的 ANALYZE 更高效","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["31e5b5029"],"commit_groups":[["31e5b5029"]],"commits":["31e5b5029"],"cves":[],"db_id":"e7f2093c6dfe0d9fc1b3ad8e27342a28","html":"\u003cp\u003e限制 \u003cspan\u003epostgres_fdw\u003c/span\u003e 中 \u003ca href=\"/docs/16/datatype-oid.html\" title=\"8.19. 对象标识符类型\"\u003e\u003ccode\u003ereg\u003c/code\u003e\u003c/a\u003e* 类型常量的传输，仅允许引用内置对象或标记为可传输的扩展（Tom Lane）\u003ca href=\"https://postgr.es/c/31e5b5029\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"16.0-34c9aa288b3f32c2","identity_text":"Restrict shipment of reg* type constants in postgres_fdw to those referencing built-in objects or extensions marked as shippable (Tom Lane)","part":"changes","patch_ids":["12ba12a06867f548b5da28bbce5abe26"],"related_changes":[],"relations":[],"section":"附加模块 / postgres_fdw","section_path":["附加模块","postgres_fdw"],"source_commits":["31e5b5029"],"source_entry_id":"16.0/changes/192","source_hash":"308f6c0bb351629a5ec9364fcbcfacada5ef60dac2f1e4c6bf321b60d7ed866f","source_url":"/docs/release/16.0/#RELEASE-16-PGFDW","statement_hash":"810c641efbe3c9c1e1accd6099347c2dd4ea3656e7639fa83ebfd652bcfe89ce","text":"限制 postgres_fdw 中 reg* 类型常量的传输，仅允许引用内置对象或标记为可传输的扩展（Tom Lane）§","title":"限制 postgres_fdw 中 reg* 类型常量的传输，仅允许引用内置对象或标记为可传输的扩展","variants":[],"version":"16.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["e4602483e"],"commit_groups":[["e4602483e"]],"commits":["e4602483e"],"cves":[],"db_id":"fa879a93807bf4b2740087c34b5a9c0e","html":"\u003cp\u003e使 \u003cspan\u003epostgres_fdw\u003c/span\u003e 和\u003ca href=\"/docs/16/dblink.html\" title=\"F.12. dblink — 连接到其他 PostgreSQL 数据库\"\u003e\u003cspan\u003edblink\u003c/span\u003e\u003c/a\u003e在连接建立期间处理中断（Andres Freund）\u003ca href=\"https://postgr.es/c/e4602483e\"\u003e§\u003c/a\u003e\u003c/p\u003e","id":"16.0-1a30a18227e0cccf","identity_text":"Have postgres_fdw and dblink handle interrupts during connection establishment (Andres Freund)","part":"changes","patch_ids":["159ed2d7ad9e527a9bd47d64ccfc2af1"],"related_changes":[],"relations":[],"section":"附加模块 / postgres_fdw","section_path":["附加模块","postgres_fdw"],"source_commits":["e4602483e"],"source_entry_id":"16.0/changes/193","source_hash":"5e073879fe41f91a2b361c83edf3616e74c1bda8f5fb9cc6389c5ea42925e8e3","source_url":"/docs/release/16.0/#RELEASE-16-PGFDW","statement_hash":"c92727d90f7bda9f71b90d55ea3d922fe1f69893065430181dc875d786422720","text":"使 postgres_fdw 和dblink在连接建立期间处理中断（Andres Freund）§","title":"使 postgres_fdw 和dblink在连接建立期间处理中断","variants":[],"version":"16.0"}],"entry_count":206,"eol":"2028-11-09","eol_date":"2028-11-09","label":"16.0","major":"16","manual":"16","manual_build":"16.15","manual_url":"/docs/16/release-16.html","migration_html":"\u003cp\u003e对于希望从任何以前的版本迁移数据的人来说，需要使用\u003ca href=\"/docs/16/app-pg-dumpall.html\" title=\"pg_dumpall\"\u003e\u003cspan\u003e\u003cspan\u003epg_dumpall\u003c/span\u003e\u003c/span\u003e\u003c/a\u003e进行转储/恢复，或者使用\u003ca href=\"/docs/16/pgupgrade.html\" title=\"pg_upgrade\"\u003e\u003cspan\u003e\u003cspan\u003epg_upgrade\u003c/span\u003e\u003c/span\u003e\u003c/a\u003e或逻辑复制。有关迁移到新主要版本的通用信息，请参阅\u003ca href=\"/docs/16/upgrading.html\" title=\"19.6. 升级 PostgreSQL 集簇\"\u003e第 19.6 节\u003c/a\u003e。\u003c/p\u003e\n\u003cp\u003e版本 16 包含一些可能影响与以前版本兼容性的变更。请注意以下不兼容性：\u003c/p\u003e\n\u003cdiv\u003e\n\u003c/div\u003e","minor":0,"placeholder":false,"source_as_of":"","source_url":"/docs/release/16.0/","status":"stable","status_label":"Supported","support_days":761,"supported":true,"version":"16.0"}],"mode":"release","release_count":1,"remaining_cves":[],"security_as_of":"2026-09-26","security_regressions":[],"source_as_of":"2026-09-26","stats":[{"count":206,"key":"all","label":"All changes"},{"count":175,"key":"feature","label":"Features"},{"count":3,"key":"bugfix","label":"Bug fixes"},{"count":0,"key":"security","label":"Security"},{"count":15,"key":"performance","label":"Performance"},{"count":13,"key":"compatibility","label":"Compatibility"},{"count":0,"key":"improvement","label":"Improvements"}],"to_release":{"age_days":1122,"build":"16.0","changes_count":193,"compatibility_count":13,"content_hash":"36a4b03893b456c2d75ee47327d5cec1abe763716e49c0b3c41adeb8d1d830f7","date":"2023-09-14","date_text":"2023-09-14","doc_git":"","doc_loaded_at":"2026-09-26T02:56:37.084400","entry_count":206,"eol":"2028-11-09","eol_date":"2028-11-09","label":"16.0","major":"16","manual":"16","manual_build":"16.15","manual_url":"/docs/16/release-16.html","migration_html":"\u003cp\u003e对于希望从任何以前的版本迁移数据的人来说，需要使用\u003ca href=\"/docs/16/app-pg-dumpall.html\" title=\"pg_dumpall\"\u003e\u003cspan\u003e\u003cspan\u003epg_dumpall\u003c/span\u003e\u003c/span\u003e\u003c/a\u003e进行转储/恢复，或者使用\u003ca href=\"/docs/16/pgupgrade.html\" title=\"pg_upgrade\"\u003e\u003cspan\u003e\u003cspan\u003epg_upgrade\u003c/span\u003e\u003c/span\u003e\u003c/a\u003e或逻辑复制。有关迁移到新主要版本的通用信息，请参阅\u003ca href=\"/docs/16/upgrading.html\" title=\"19.6. 升级 PostgreSQL 集簇\"\u003e第 19.6 节\u003c/a\u003e。\u003c/p\u003e\n\u003cp\u003e版本 16 包含一些可能影响与以前版本兼容性的变更。请注意以下不兼容性：\u003c/p\u003e\n\u003cdiv\u003e\n\u003c/div\u003e","minor":0,"placeholder":false,"source_as_of":"","source_url":"/docs/release/16.0/","status":"stable","status_label":"Supported","support_days":761,"supported":true,"version":"16.0"},"total":206,"warnings":[]}
