{"format": 1, "mode": "release", "from_release": null, "to_release": {"date": "2018-10-18", "build": "11.0", "major": "11", "minor": 0, "manual": "11", "status": "stable", "doc_git": "", "version": "11.0", "eol_date": "2023-11-09", "date_text": "2018-10-18", "supported": false, "manual_url": "/docs/11/release-11.html", "source_url": "/docs/release/11.0/", "entry_count": 170, "placeholder": false, "content_hash": "f6716bf28dd06fa5f907d548e256c28c2911bf9f0e90e77114e5adfe3a98f149", "manual_build": "11.22", "source_as_of": "", "changes_count": 150, "doc_loaded_at": "2026-09-26T02:56:42.383207", "migration_html": "<p>对于希望从任何先前版本迁移数据的用户，需要使用<a href=\"/docs/11/app-pg-dumpall.html\" title=\"pg_dumpall\"><span><span>pg_dumpall</span></span></a>进行导出/恢复，或使用<a href=\"/docs/11/pgupgrade.html\" title=\"pg_upgrade\"><span><span>pg_upgrade</span></span></a>或逻辑复制。有关迁移到新主版本的一般信息，请参见<a href=\"/docs/11/upgrading.html\" title=\"18.6. 升级 PostgreSQL 集簇\">第 18.6 节</a>。</p>\n<p>版本 11 包含许多可能影响与先前版本兼容性的变更。请注意以下不兼容性：</p>\n<div>\n</div>", "compatibility_count": 20, "label": "11.0", "status_label": "历史版本", "eol": "2023-11-09", "age_days": 2904, "support_days": -1056}, "groups": [{"date": "2018-10-18", "build": "11.0", "major": "11", "minor": 0, "manual": "11", "status": "stable", "doc_git": "", "version": "11.0", "eol_date": "2023-11-09", "date_text": "2018-10-18", "supported": false, "manual_url": "/docs/11/release-11.html", "source_url": "/docs/release/11.0/", "entry_count": 170, "placeholder": false, "content_hash": "f6716bf28dd06fa5f907d548e256c28c2911bf9f0e90e77114e5adfe3a98f149", "manual_build": "11.22", "source_as_of": "", "changes_count": 150, "doc_loaded_at": "2026-09-26T02:56:42.383207", "migration_html": "<p>对于希望从任何先前版本迁移数据的用户，需要使用<a href=\"/docs/11/app-pg-dumpall.html\" title=\"pg_dumpall\"><span><span>pg_dumpall</span></span></a>进行导出/恢复，或使用<a href=\"/docs/11/pgupgrade.html\" title=\"pg_upgrade\"><span><span>pg_upgrade</span></span></a>或逻辑复制。有关迁移到新主版本的一般信息，请参见<a href=\"/docs/11/upgrading.html\" title=\"18.6. 升级 PostgreSQL 集簇\">第 18.6 节</a>。</p>\n<p>版本 11 包含许多可能影响与先前版本兼容性的变更。请注意以下不兼容性：</p>\n<div>\n</div>", "compatibility_count": 20, "label": "11.0", "status_label": "历史版本", "eol": "2023-11-09", "age_days": 2904, "support_days": -1056, "entries": [{"id": "11.0-492dbace06fe7e3b", "cves": [], "html": "<p>使<a href=\"/docs/11/app-pgdump.html\" title=\"pg_dump\"><span>pg_dump</span></a>转储数据库的属性，而不只是内容（Haribabu Kommi）</p>\n<p>以前，数据库本身的属性，例如数据库级 <code>GRANT</code>/<code>REVOKE</code> 权限和 <code>ALTER DATABASE SET</code> 变量设置，只能由<a href=\"/docs/11/app-pg-dumpall.html\" title=\"pg_dumpall\"><span>pg_dumpall</span></a>转储。现在，<code>pg_dump --create</code> 和 <code>pg_restore --create</code> 除恢复数据库内的对象外，也会恢复这些数据库属性。<code>pg_dumpall -g</code> 现在仅转储角色和表空间相关属性。<span>pg_dumpall</span> 的完整输出（不带 <code>-g</code>）保持不变。</p>\n<p>如果没有指定 <code>--create</code>，<span>pg_dump</span> 和 <span>pg_restore</span> 不再转储/恢复数据库级注释和安全标签；这些内容现在被视为数据库的属性。</p>\n<p><span>pg_dumpall</span> 的输出脚本现在始终使用数据库原有的区域设置和编码创建数据库，因此如果目标系统不认识该区域设置或编码名称，操作就会失败。以前，如果数据库的区域设置和编码与旧集群的默认值一致，输出的 <code>CREATE DATABASE</code> 就不会包含这些指定。</p>\n<p><code>pg_dumpall --clean</code> 现在会恢复 <code>postgres</code> 和 <code>template1</code> 数据库的原始区域设置和编码，以及用户创建数据库的相应设置。</p>", "text": "使pg_dump转储数据库的属性，而不只是内容（Haribabu Kommi） 以前，数据库本身的属性，例如数据库级 GRANT/REVOKE 权限和 ALTER DATABASE SET 变量设置，只能由pg_dumpall转储。现在，pg_dump --create 和 pg_restore --create 除恢复数据库内的对象外，也会恢复这些数据库属性。pg_dumpall -g 现在仅转储角色和表空间相关属性。pg_dumpall 的完整输出（不带 -g）保持不变。 如果没有指定 --create，pg_dump 和 pg_restore 不再转储/恢复数据库级注释和安全标签；这些内容现在被视为数据库的属性。 pg_dumpall 的输出脚本现在始终使用数据库原有的区域设置和编码创建数据库，因此如果目标系统不认识该区域设置或编码名称，操作就会失败。以前，如果数据库的区域设置和编码与旧集群的默认值一致，输出的 CREATE DATABASE 就不会包含这些指定。 pg_dumpall --clean 现在会恢复 postgres 和 template1 数据库的原始区域设置和编码，以及用户创建数据库的相应设置。", "title": "使pg_dump转储数据库的属性，而不只是内容", "commits": [], "section": "兼容性", "category": "compatibility", "source_url": "/docs/release/11.0/#id-1.11.6.27.4", "source_hash": "a3fc124e927ee593f80c81266c48456ab0138d5dde0ab768ea58ba6ff0ebb7da", "section_path": ["兼容性"], "commit_groups": [["0d4e6ed30"], ["160a4f62e"], ["b3f840120"]], "identity_text": "Make pg_dump dump the properties of a database, not just its contents (Haribabu Kommi) Previously, attributes of the database itself, such as database-level GRANT/REVOKE permissions and ALTER DATABASE SET variable settings, were only dumped by pg_dumpall. Now pg_dump --create and pg_restore --create will restore these database properties in addition to the objects within the database. pg_dumpall -g now only dumps role- and tablespace-related attributes. pg_dumpall's complete output (without -g) is unchanged. pg_dump and pg_restore, without --create, no longer dump/restore database-level comments and security labels; those are now treated as properties of the database. pg_dumpall's output script will now always create databases with their original locale and encoding, and hence will fail if the locale or encoding name is unknown to the destination system. Previously, CREATE DATABASE would be emitted without these specifications if the database locale and encoding matched the old cluster's defaults. pg_dumpall --clean now restores the original locale and encoding settings of the postgres and template1 databases, as well as those of user-created databases.", "commit_aliases": ["0d4e6ed30", "160a4f62e", "b3f840120"], "source_commits": ["0d4e6ed30", "160a4f62e", "b3f840120"], "source_entry_id": "11.0/migration/001", "db_id": "510a32841a2049816360194221e43ee2", "patch_ids": ["0974504ea6d572a67eaaecd6e867bd81", "409084a206143e94c12ed6cd19fa75ef", "d9e7426a5acc449d5a2a31a7c4c41a96"], "statement_hash": "e4f13e5dac9e70b1266e5396673a114cf8ea5f2043cb960385af08047e4dbfc7", "relations": [], "version": "11.0", "category_label": "兼容性变化", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-46dad60da0d7accd", "cves": [], "html": "<p>在消除函数引用与列引用之间的歧义时，考虑语法形式（Tom Lane）</p>\n<p>当 <em><code>x</code></em> 是表名或复合列时，<span>PostgreSQL</span> 传统上将语法形式 <code><em><code>f</code></em>(<em><code>x</code></em>)</code> 和 <code><em><code>x</code></em>.<em><code>f</code></em></code> 视为等价，从而允许编写函数后，将其当作按需求值的列来使用。然而，如果两种解释都可行，以前总会选择列解释；当用户本意是调用函数时，这会产生意外结果。现在，若存在歧义，会选择与语法形式相符的解释。</p>", "text": "在消除函数引用与列引用之间的歧义时，考虑语法形式（Tom Lane） 当 x 是表名或复合列时，PostgreSQL 传统上将语法形式 f(x) 和 x.f 视为等价，从而允许编写函数后，将其当作按需求值的列来使用。然而，如果两种解释都可行，以前总会选择列解释；当用户本意是调用函数时，这会产生意外结果。现在，若存在歧义，会选择与语法形式相符的解释。", "title": "在消除函数引用与列引用之间的歧义时，考虑语法形式", "commits": [], "section": "兼容性", "category": "compatibility", "source_url": "/docs/release/11.0/#id-1.11.6.27.4", "source_hash": "6b1a7e86ae5baeb7ce4047394f21fd6c9b4acf02f2406cd658ed621d21b51451", "section_path": ["兼容性"], "commit_groups": [["45e98ee73"], ["b97a3465d"]], "identity_text": "Consider syntactic form when disambiguating function versus column references (Tom Lane) When x is a table name or composite column, PostgreSQL has traditionally considered the syntactic forms f(x) and x.f to be equivalent, allowing tricks such as writing a function and then using it as though it were a computed-on-demand column. However, if both interpretations are feasible, the column interpretation was always chosen, leading to surprising results if the user intended the function interpretation. Now, if there is ambiguity, the interpretation that matches the syntactic form is chosen.", "commit_aliases": ["45e98ee73", "b97a3465d"], "source_commits": ["45e98ee73", "b97a3465d"], "source_entry_id": "11.0/migration/002", "db_id": "b4298d6c99dbe4cf7d2409833c389286", "patch_ids": ["02b06845841ba971aff8fcd922b61337", "f7546b8e9785d12b512e34d9a4ba5fe3"], "statement_hash": "0eee1185e933ebe2dbd87214fd3e57d626d0675cbc410f2a2f5da4c088141965", "relations": [], "version": "11.0", "category_label": "兼容性变化", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-2121ed8efe79e5a0", "cves": [], "html": "<p>全面强制表约束名和域约束名的唯一性（Tom Lane）</p>\n<p><span>PostgreSQL</span> 要求同一表的约束名称各不相同，域的约束名称也是如此。但以前对此没有严格强制检查，存在可创建重复名称的边界情况。</p>", "text": "全面强制表约束名和域约束名的唯一性（Tom Lane） PostgreSQL 要求同一表的约束名称各不相同，域的约束名称也是如此。但以前对此没有严格强制检查，存在可创建重复名称的边界情况。", "title": "全面强制表约束名和域约束名的唯一性", "commits": [], "section": "兼容性", "category": "compatibility", "source_url": "/docs/release/11.0/#id-1.11.6.27.4", "source_hash": "4bdebe8985707e6d9f0b290305681832b94c60751c1e706067f6eab95315dff1", "section_path": ["兼容性"], "commit_groups": [["fb466d7b5"]], "identity_text": "Fully enforce uniqueness of table and domain constraint names (Tom Lane) PostgreSQL expects the names of a table's constraints to be distinct, and likewise for the names of a domain's constraints. However, there was not rigid enforcement of this, and previously there were corner cases where duplicate names could be created.", "commit_aliases": ["fb466d7b5"], "source_commits": ["fb466d7b5"], "source_entry_id": "11.0/migration/003", "db_id": "123aceccc369aadda88119d2695f9eb3", "patch_ids": ["06b45dc7ea0b7a5af683574355ab7287"], "statement_hash": "4bf3335d18dccf3f5928783a351ae52a804cbdaffe0158949c9fc541ee53f290", "relations": [], "version": "11.0", "category_label": "兼容性变化", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-7a8f7b252c15249c", "cves": [], "html": "<p>使 <code>power(numeric, numeric)</code> 和 <code>power(float8, float8)</code> 按照 POSIX 标准处理 <code>NaN</code> 输入（Tom Lane，Dang Minh Huong）</p>\n<p>POSIX 规定 <code>NaN ^ 0 = 1</code> 且 <code>1 ^ NaN = 1</code>，但其他所有包含 <code>NaN</code> 输入的情况都应返回 <code>NaN</code>。<code>power(numeric, numeric)</code> 以前在所有此类情况下都返回 <code>NaN</code>，现在会遵循这两个例外。只要 C 库符合标准，<code>power(float8, float8)</code> 就会符合标准；但某些旧 Unix 平台的库不符合标准，某些 Windows 版本上也存在问题。</p>", "text": "使 power(numeric, numeric) 和 power(float8, float8) 按照 POSIX 标准处理 NaN 输入（Tom Lane，Dang Minh Huong） POSIX 规定 NaN ^ 0 = 1 且 1 ^ NaN = 1，但其他所有包含 NaN 输入的情况都应返回 NaN。power(numeric, numeric) 以前在所有此类情况下都返回 NaN，现在会遵循这两个例外。只要 C 库符合标准，power(float8, float8) 就会符合标准；但某些旧 Unix 平台的库不符合标准，某些 Windows 版本上也存在问题。", "title": "使 power(numeric, numeric) 和 power(float8, float8) 按照 POSIX 标准处理 NaN 输入", "commits": [], "section": "兼容性", "category": "compatibility", "source_url": "/docs/release/11.0/#id-1.11.6.27.4", "source_hash": "5554f49f3f044353fc7f73c11d549e019b1782c9309c16bb446d94149037e422", "section_path": ["兼容性"], "commit_groups": [["61b200e2f"], ["6bdf1303b"], ["d1fc750b5"]], "identity_text": "Make power(numeric, numeric) and power(float8, float8) handle NaN inputs according to the POSIX standard (Tom Lane, Dang Minh Huong) POSIX says that NaN ^ 0 = 1 and 1 ^ NaN = 1, but all other cases with NaN input(s) should return NaN. power(numeric, numeric) just returned NaN in all such cases; now it honors the two exceptions. power(float8, float8) followed the standard if the C library does; but on some old Unix platforms the library doesn't, and there were also problems on some versions of Windows.", "commit_aliases": ["61b200e2f", "6bdf1303b", "d1fc750b5"], "source_commits": ["61b200e2f", "6bdf1303b", "d1fc750b5"], "source_entry_id": "11.0/migration/004", "db_id": "774865e34c7515aa91e3954bddc9c088", "patch_ids": ["92ec1df68ae5a65e5445a5b40d18cd26", "9c552403bc78d2542d99a074870a187c", "d72bdf8e00e2fa5ba515124464876c9b"], "statement_hash": "4dcc5e958d4fa836cd03e271c736ab7cc41bfc4d90d16c5fa3a6277a347ecc85", "relations": [], "version": "11.0", "category_label": "兼容性变化", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-34e7333b34b9587f", "cves": [], "html": "<p>当模板分隔符不匹配时，防止 <a href=\"/docs/11/functions-formatting.html#FUNCTIONS-FORMATTING-NUMERIC-TABLE\" title=\"表 9.26. 用于数值格式化的模板模式\"><code>to_number()</code></a> 消耗字符（Oliver Ford）</p>\n<p>具体而言，<code>SELECT to_number('1234', '9,999')</code> 以前返回 <code>134</code>，现在会返回 <code>1234</code>。<code>L</code> 和 <code>TH</code> 现在只消耗数字、正负号、小数点和逗号以外的字符。</p>", "text": "当模板分隔符不匹配时，防止 to_number() 消耗字符（Oliver Ford） 具体而言，SELECT to_number('1234', '9,999') 以前返回 134，现在会返回 1234。L 和 TH 现在只消耗数字、正负号、小数点和逗号以外的字符。", "title": "当模板分隔符不匹配时，防止 to_number() 消耗字符", "commits": [], "section": "兼容性", "category": "compatibility", "source_url": "/docs/release/11.0/#id-1.11.6.27.4", "source_hash": "84e053e31addcc6beee4d530bd85c36c2f29403bde928d8aebbc6455d3688439", "section_path": ["兼容性"], "commit_groups": [["e87d4965b"]], "identity_text": "Prevent to_number() from consuming characters when the template separator does not match (Oliver Ford) Specifically, SELECT to_number('1234', '9,999') used to return 134. It will now return 1234. L and TH now only consume characters that are not digits, positive/negative signs, decimal points, or commas.", "commit_aliases": ["e87d4965b"], "source_commits": ["e87d4965b"], "source_entry_id": "11.0/migration/005", "db_id": "3d9024d04496de827ad1fe1243461c4f", "patch_ids": ["b85ccd508e90be82b57823635b20b89e"], "statement_hash": "518a3c07a26c6294b4251f9a88b7093173f758eaae092425187c8bfa11281b75", "relations": [], "version": "11.0", "category_label": "兼容性变化", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-bdea085f2478896f", "cves": [], "html": "<p>修复 <a href=\"/docs/11/functions-formatting.html\" title=\"9.8. 数据类型格式化函数\"><code>to_date()</code></a>、<code>to_number()</code> 和 <code>to_timestamp()</code>，使其对每个模板字符跳过一个字符（Tom Lane）</p>\n<p>以前，它们对模板字符的每个字节跳过一个<span><em>字节</em></span>，如果任一字符串包含多字节字符，就会出现异常行为。</p>", "text": "修复 to_date()、to_number() 和 to_timestamp()，使其对每个模板字符跳过一个字符（Tom Lane） 以前，它们对模板字符的每个字节跳过一个字节，如果任一字符串包含多字节字符，就会出现异常行为。", "title": "修复 to_date()、to_number() 和 to_timestamp()，使其对每个模板字符跳过一个字符", "commits": [], "section": "兼容性", "category": "compatibility", "source_url": "/docs/release/11.0/#id-1.11.6.27.4", "source_hash": "b9bb1d95a02a2e58a51443c4d3556a46902084423cd01266e1fb3af2b232d31a", "section_path": ["兼容性"], "commit_groups": [["976a1a48f"]], "identity_text": "Fix to_date(), to_number(), and to_timestamp() to skip a character for each template character (Tom Lane) Previously, they skipped one byte for each byte of template character, resulting in strange behavior if either string contained multibyte characters.", "commit_aliases": ["976a1a48f"], "source_commits": ["976a1a48f"], "source_entry_id": "11.0/migration/006", "db_id": "6df82a80a5d3a6122d268b3bbdf21b2a", "patch_ids": ["269cd62584c55d7d310c398734f57870"], "statement_hash": "2836a86a738388e6f787cca08001f8204dd38eb0fdf5473b72d6f62fb16b569d", "relations": [], "version": "11.0", "category_label": "兼容性变化", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-b61c6aef74df877f", "cves": [], "html": "<p>调整 <code>to_char()</code>、<code>to_number()</code> 和 <code>to_timestamp()</code> 对模板字符串中双引号内反斜线的处理。</p>\n<p>这种反斜线现在会转义其后的字符，尤其是双引号或另一个反斜线。</p>", "text": "调整 to_char()、to_number() 和 to_timestamp() 对模板字符串中双引号内反斜线的处理。 这种反斜线现在会转义其后的字符，尤其是双引号或另一个反斜线。", "title": "调整 to_char()、to_number() 和 to_timestamp() 对模板字符串中双引号内反斜线的处理。", "commits": [], "section": "兼容性", "category": "compatibility", "source_url": "/docs/release/11.0/#id-1.11.6.27.4", "source_hash": "77a41e11b951df5a820061b703f45127f9a7f403c1cd7ca8d47a09aa6fe4e4e8", "section_path": ["兼容性"], "commit_groups": [["63ca86318"]], "identity_text": "Adjust the handling of backslashes inside double-quotes in template strings for to_char(), to_number(), and to_timestamp(). Such a backslash now escapes the character after it, particularly a double-quote or another backslash.", "commit_aliases": ["63ca86318"], "source_commits": ["63ca86318"], "source_entry_id": "11.0/migration/007", "db_id": "8b765ef312915548a5d0e1b3dc25e93a", "patch_ids": ["541fc3a298457cbbdf17a516fb268b77"], "statement_hash": "a1ad21134ed44eba401dac111dbdfa9da67d26118cc360a58ab81a619eee4c5a", "relations": [], "version": "11.0", "category_label": "兼容性变化", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-573ac15b77b3d279", "cves": [], "html": "<p>正确处理 <code>xmltable()</code>、<code>xpath()</code> 及其他 XML 处理函数中的相对路径表达式（Markus Winand）</p>\n<p>按照 SQL 标准，相对路径从 XML 输入文档的文档节点开始，而非像这些函数以前那样从根节点开始。</p>", "text": "正确处理 xmltable()、xpath() 及其他 XML 处理函数中的相对路径表达式（Markus Winand） 按照 SQL 标准，相对路径从 XML 输入文档的文档节点开始，而非像这些函数以前那样从根节点开始。", "title": "正确处理 xmltable()、xpath() 及其他 XML 处理函数中的相对路径表达式", "commits": [], "section": "兼容性", "category": "compatibility", "source_url": "/docs/release/11.0/#id-1.11.6.27.4", "source_hash": "b57dec541603d4df7eb296d86e9638bfc2b9f8aa1bc6bdd17dcd42c0bc1e4a98", "section_path": ["兼容性"], "commit_groups": [["e474c2b7e"]], "identity_text": "Correctly handle relative path expressions in xmltable(), xpath(), and other XML-handling functions (Markus Winand) Per the SQL standard, relative paths start from the document node of the XML input document, not the root node as these functions previously did.", "commit_aliases": ["e474c2b7e"], "source_commits": ["e474c2b7e"], "source_entry_id": "11.0/migration/008", "db_id": "5699f3abda8af69c0a85646bb3ff0293", "patch_ids": ["076da883585834bc70dee1fd22aadc3f"], "statement_hash": "6ada139b2aab9ed5d53b101a7faf9c590fe786f1bfa9c5afb96e2c98de1a7ea4", "relations": [], "version": "11.0", "category_label": "兼容性变化", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-8e9e09a48c7e164e", "cves": [], "html": "<p>在<a href=\"/docs/11/protocol.html#PROTOCOL-QUERY-CONCEPTS\" title=\"53.1.2. 扩展查询概述\">扩展查询协议</a>中，使 <a href=\"/docs/11/runtime-config-client.html#GUC-STATEMENT-TIMEOUT\"><code>statement_timeout</code></a> 分别应用于每条 Execute 消息，而非应用于 Sync 之前的所有命令（Tatsuo Ishii，Andres Freund）</p>", "text": "在扩展查询协议中，使 statement_timeout 分别应用于每条 Execute 消息，而非应用于 Sync 之前的所有命令（Tatsuo Ishii，Andres Freund）", "title": "在扩展查询协议中，使 statement_timeout 分别应用于每条 Execute 消息，而非应用于 Sync 之前的所有命令", "commits": [], "section": "兼容性", "category": "compatibility", "source_url": "/docs/release/11.0/#id-1.11.6.27.4", "source_hash": "358af8b1107e42da798f0b9df23e9add71aa9c531a2dc9cedce5990e770eee9f", "section_path": ["兼容性"], "commit_groups": [["f8e5f156b"]], "identity_text": "In the extended query protocol, make statement_timeout apply to each Execute message separately, not to all commands before Sync (Tatsuo Ishii, Andres Freund)", "commit_aliases": ["f8e5f156b"], "source_commits": ["f8e5f156b"], "source_entry_id": "11.0/migration/009", "db_id": "7b054776734f8bbad92203a21929b6f2", "patch_ids": ["952a043065a2e0f994801faf295f7690"], "statement_hash": "c8f1b61b2cc8d888cf47553ea280aafe672562ce969f97a37cd33e301944740e", "relations": [], "version": "11.0", "category_label": "兼容性变化", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-6dbe17a348e2210a", "cves": [], "html": "<p>从系统目录 <code>pg_class</code> 中移除 <code>relhaspkey</code> 列（Peter Eisentraut）</p>\n<p>需要检查主键的应用应查询 <code>pg_index</code>。</p>", "text": "从系统目录 pg_class 中移除 relhaspkey 列（Peter Eisentraut） 需要检查主键的应用应查询 pg_index。", "title": "从系统目录 pg_class 中移除 relhaspkey 列", "commits": [], "section": "兼容性", "category": "compatibility", "source_url": "/docs/release/11.0/#id-1.11.6.27.4", "source_hash": "451074f233412662a2c3ed546f9353c63eabddbf07e0114a91484df133a55bbd", "section_path": ["兼容性"], "commit_groups": [["f66e8bf87"]], "identity_text": "Remove the relhaspkey column from system catalog pg_class (Peter Eisentraut) Applications needing to check for a primary key should consult pg_index.", "commit_aliases": ["f66e8bf87"], "source_commits": ["f66e8bf87"], "source_entry_id": "11.0/migration/010", "db_id": "4c202a68fddd3e594d876c0bc62862fa", "patch_ids": ["0403068faf237aae663158147663f0ef"], "statement_hash": "e5748c4a1299e1a8552d224d6dcb9446c88bfcf9e6a974d95a1ba66bb2b09340", "relations": [], "version": "11.0", "category_label": "兼容性变化", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-fc5a411295936fe2", "cves": [], "html": "<p>将系统目录 <code>pg_proc</code> 的 <code>proisagg</code> 和 <code>proiswindow</code> 列替换为 <code>prokind</code>（Peter Eisentraut）</p>\n<p>这个新列更清楚地区分了函数、过程、聚合和窗口函数。</p>", "text": "将系统目录 pg_proc 的 proisagg 和 proiswindow 列替换为 prokind（Peter Eisentraut） 这个新列更清楚地区分了函数、过程、聚合和窗口函数。", "title": "将系统目录 pg_proc 的 proisagg 和 proiswindow 列替换为 prokind", "commits": [], "section": "兼容性", "category": "compatibility", "source_url": "/docs/release/11.0/#id-1.11.6.27.4", "source_hash": "bd0cff500a63df2a36b517e981ac6a039083dad6ee29fa17bc325925aba9d41a", "section_path": ["兼容性"], "commit_groups": [["fd1a421fe"]], "identity_text": "Replace system catalog pg_proc's proisagg and proiswindow columns with prokind (Peter Eisentraut) This new column more clearly distinguishes functions, procedures, aggregates, and window functions.", "commit_aliases": ["fd1a421fe"], "source_commits": ["fd1a421fe"], "source_entry_id": "11.0/migration/011", "db_id": "46b97d9b8fc22340398342e0e2d1af76", "patch_ids": ["8e17e29f1be6a33f04f90f3e744bd693"], "statement_hash": "8b0e803bb096d60aa7eb687a94d5616f94c85849b514712421c46aa1ee399657", "relations": [], "version": "11.0", "category_label": "兼容性变化", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-0660dd9c08d66b2a", "cves": [], "html": "<p>修正信息模式列 <a href=\"/docs/11/infoschema-tables.html\" title=\"37.52. tables\"><code>tables</code>.<code>table_type</code></a>，使其返回 <code>FOREIGN</code> 而非 <code>FOREIGN TABLE</code>（Peter Eisentraut）</p>\n<p>这种新输出符合 SQL 标准。</p>", "text": "修正信息模式列 tables.table_type，使其返回 FOREIGN 而非 FOREIGN TABLE（Peter Eisentraut） 这种新输出符合 SQL 标准。", "title": "修正信息模式列 tables.table_type，使其返回 FOREIGN 而非 FOREIGN TABLE", "commits": [], "section": "兼容性", "category": "compatibility", "source_url": "/docs/release/11.0/#id-1.11.6.27.4", "source_hash": "54c773d3100e6e4d43ff5a65d6a7d79e575f33c2989f8650d43da735819f98fc", "section_path": ["兼容性"], "commit_groups": [["9b5140fb5"]], "identity_text": "Correct information schema column tables.table_type to return FOREIGN instead of FOREIGN TABLE (Peter Eisentraut) This new output matches the SQL standard.", "commit_aliases": ["9b5140fb5"], "source_commits": ["9b5140fb5"], "source_entry_id": "11.0/migration/012", "db_id": "4d19dd34e3e88bc61a91087b1c7ec4ff", "patch_ids": ["cc9473f3c6726efa0e5ba7d6df4d4cf0"], "statement_hash": "f16352bb86564ed5ad249abaa57ab4134e8626c1817850d5fa9ab17c7d785329", "relations": [], "version": "11.0", "category_label": "兼容性变化", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-5e2eda965c0eb82a", "cves": [], "html": "<p>更改 ps 进程显示中的后台工作进程标签，使其与 <a href=\"/docs/11/monitoring-stats.html#PG-STAT-ACTIVITY-VIEW\" title=\"表 28.3. pg_stat_activity 视图\"><code>pg_stat_activity</code>.<code>backend_type</code></a> 标签一致（Peter Eisentraut）</p>", "text": "更改 ps 进程显示中的后台工作进程标签，使其与 pg_stat_activity.backend_type 标签一致（Peter Eisentraut）", "title": "更改 ps 进程显示中的后台工作进程标签，使其与 pg_stat_activity.backend_type 标签一致", "commits": [], "section": "兼容性", "category": "compatibility", "source_url": "/docs/release/11.0/#id-1.11.6.27.4", "source_hash": "78ad95b9fb7bbbcb4a72cd05fd8f8ed571ffba7c07c5e2be273cce5c20a541f8", "section_path": ["兼容性"], "commit_groups": [["be87b70b6"]], "identity_text": "Change the ps process display labels for background workers to match the pg_stat_activity.backend_type labels (Peter Eisentraut)", "commit_aliases": ["be87b70b6"], "source_commits": ["be87b70b6"], "source_entry_id": "11.0/migration/013", "db_id": "974a16b2c4345122e35fa3a44924a194", "patch_ids": ["962260b669a8a3c9158847504ed83da2"], "statement_hash": "d94fed9aaa18477c55da1c4a98d92f1fd5e1369723456135838b39efe9bef50b", "relations": [], "version": "11.0", "category_label": "兼容性变化", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-6a645212e19fbb02", "cves": [], "html": "<p>在通过 <a href=\"/docs/11/lo-interfaces.html#LO-OPEN\" title=\"35.3.4. 打开一个现有的大对象\"><code>lo_open()</code></a> 打开大对象时检查大对象权限，而非在尝试读写时检查（Tom Lane，Michael Paquier）</p>\n<p>如果请求写入权限但无法获得，现在即使最终从未写入该大对象，也会抛出错误。</p>", "text": "在通过 lo_open() 打开大对象时检查大对象权限，而非在尝试读写时检查（Tom Lane，Michael Paquier） 如果请求写入权限但无法获得，现在即使最终从未写入该大对象，也会抛出错误。", "title": "在通过 lo_open() 打开大对象时检查大对象权限，而非在尝试读写时检查", "commits": [], "section": "兼容性", "category": "compatibility", "source_url": "/docs/release/11.0/#id-1.11.6.27.4", "source_hash": "fbf598ce9dad5b80cc65f4e4eb9f86d3f1ab70ba114fe741648f08aa5274ff7c", "section_path": ["兼容性"], "commit_groups": [["6d776522d"], ["ae20b23a9"]], "identity_text": "Cause large object permission checks to happen during large object open, lo_open(), not when a read or write is attempted (Tom Lane, Michael Paquier) If write access is requested and not available, an error will now be thrown even if the large object is never written to.", "commit_aliases": ["6d776522d", "ae20b23a9"], "source_commits": ["6d776522d", "ae20b23a9"], "source_entry_id": "11.0/migration/014", "db_id": "0b279c27863f37b234d2c71e90a34f66", "patch_ids": ["2f492a4642cc93d8877db1a9839f8422", "e024d72ca9cefd67b4b949d559a264bf"], "statement_hash": "6471209976cf5d1276925197802d9c912a204d4416a08695e9f340c57266c9a6", "relations": [{"rule": 2, "type": "related", "target": "64317dec4095a31874ad8bfffd1b3783", "evidence": {"same_day": true, "patch_ids": ["2f492a4642cc93d8877db1a9839f8422"]}}], "version": "11.0", "category_label": "兼容性变化", "also_in": [], "variants": [], "related_changes": [{"db_id": "64317dec4095a31874ad8bfffd1b3783", "kind": "related", "version": "11.0", "label": "11.0", "title": "使用 GRANT/REVOKE 控制对 lo_import() 和 lo_export() 的访问", "evidence": {"same_day": true, "patch_ids": ["2f492a4642cc93d8877db1a9839f8422"]}, "url": "/docs/compare/?release=11.0#11.0-43b08ce9ee77cf87", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.3.9"}]}, {"id": "11.0-b0724f8405584b6f", "cves": [], "html": "<p>防止非超级用户重建共享目录的索引（Michael Paquier，Robert Haas）</p>\n<p>以前，数据库所有者也被允许这样做，但现在认为这超出了其权限范围。</p>", "text": "防止非超级用户重建共享目录的索引（Michael Paquier，Robert Haas） 以前，数据库所有者也被允许这样做，但现在认为这超出了其权限范围。", "title": "防止非超级用户重建共享目录的索引", "commits": [], "section": "兼容性", "category": "compatibility", "source_url": "/docs/release/11.0/#id-1.11.6.27.4", "source_hash": "8ee57ba2c765d48589177b630d60a310a9805abf65fe0b35d18186b18095ca00", "section_path": ["兼容性"], "commit_groups": [["87330e21c"]], "identity_text": "Prevent non-superusers from reindexing shared catalogs (Michael Paquier, Robert Haas) Previously, database owners were also allowed to do this, but now it is considered outside the bounds of their privileges.", "commit_aliases": ["87330e21c"], "source_commits": ["87330e21c"], "source_entry_id": "11.0/migration/015", "db_id": "7eb022cb658a9316dd3bdbcb7c457b1d", "patch_ids": ["20edf52c8362f05176bca0d955851dcd"], "statement_hash": "7e78d2559eccc3fd82555d10ac834c89f03850fc49bcb728a3cfbe396a10c518", "relations": [], "version": "11.0", "category_label": "兼容性变化", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-595d2f64bc2955c0", "cves": [], "html": "<p>移除已弃用的 <a href=\"/docs/11/contrib.html#ADMINPACK\" title=\"F.1. adminpack\"><code>adminpack</code></a> 函数 <code>pg_file_read()</code>、<code>pg_file_length()</code> 和 <code>pg_logfile_rotate()</code>（Stephen Frost）</p>\n<p>核心后端现在已提供等效功能。现有 <code>adminpack</code> 安装在通过 <code>ALTER EXTENSION ... UPDATE</code> 更新之前，仍可访问这些函数。</p>", "text": "移除已弃用的 adminpack 函数 pg_file_read()、pg_file_length() 和 pg_logfile_rotate()（Stephen Frost） 核心后端现在已提供等效功能。现有 adminpack 安装在通过 ALTER EXTENSION ... UPDATE 更新之前，仍可访问这些函数。", "title": "移除已弃用的 adminpack 函数 pg_file_read()、pg_file_length() 和 pg_logfile_rotate()", "commits": [], "section": "兼容性", "category": "compatibility", "source_url": "/docs/release/11.0/#id-1.11.6.27.4", "source_hash": "5265628b2223c3e03cd8827f788814ce551b8093d67f273345401417cd2cf864", "section_path": ["兼容性"], "commit_groups": [["11523e860"]], "identity_text": "Remove deprecated adminpack functions pg_file_read(), pg_file_length(), and pg_logfile_rotate() (Stephen Frost) Equivalent functionality is now present in the core backend. Existing adminpack installs will continue to have access to these functions until they are updated via ALTER EXTENSION ... UPDATE.", "commit_aliases": ["11523e860"], "source_commits": ["11523e860"], "source_entry_id": "11.0/migration/016", "db_id": "9fb362899a6b27f50f661fe029c5b5e3", "patch_ids": ["dc2579f2ac86796bba3e529db6afcab1"], "statement_hash": "6df57454c38ce36bb64e7db089172bcada5adb47c75a9f4313930af80c253463", "relations": [{"rule": 2, "type": "related", "target": "b927f77f6c379e3df3fb9257f14a8557", "evidence": {"same_day": true, "patch_ids": ["dc2579f2ac86796bba3e529db6afcab1"]}}], "version": "11.0", "category_label": "兼容性变化", "also_in": [], "variants": [], "related_changes": [{"db_id": "b927f77f6c379e3df3fb9257f14a8557", "kind": "related", "version": "11.0", "label": "11.0", "title": "让 adminpack 使用新的默认文件系统访问角色", "evidence": {"same_day": true, "patch_ids": ["dc2579f2ac86796bba3e529db6afcab1"]}, "url": "/docs/compare/?release=11.0#11.0-8be6a4ce3c4c67e9", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.13"}]}, {"id": "11.0-62d1c98e8d313997", "cves": [], "html": "<p>遵循双引号内命令选项的大小写（Daniel Gustafsson）</p>\n<p>以前，某些 SQL 命令中的选项名即使以双引号输入，也会被强制转换为小写；因此，例如 <code>\"FillFactor\"</code> 会被接受为索引存储选项，尽管其正确名称应为小写。现在，此类情况将产生错误。</p>", "text": "遵循双引号内命令选项的大小写（Daniel Gustafsson） 以前，某些 SQL 命令中的选项名即使以双引号输入，也会被强制转换为小写；因此，例如 \"FillFactor\" 会被接受为索引存储选项，尽管其正确名称应为小写。现在，此类情况将产生错误。", "title": "遵循双引号内命令选项的大小写", "commits": [], "section": "兼容性", "category": "compatibility", "source_url": "/docs/release/11.0/#id-1.11.6.27.4", "source_hash": "218bf299f7628e439c3addff07016c15f6800099f2d7cfca00389aa2f05dc7ba", "section_path": ["兼容性"], "commit_groups": [["fb8697b31"]], "identity_text": "Honor the capitalization of double-quoted command options (Daniel Gustafsson) Previously, option names in certain SQL commands were forcibly lower-cased even if entered with double quotes; thus for example \"FillFactor\" would be accepted as an index storage option, though properly its name is lower-case. Such cases will now generate an error.", "commit_aliases": ["fb8697b31"], "source_commits": ["fb8697b31"], "source_entry_id": "11.0/migration/017", "db_id": "c6ca40c272e7970f7da69fafb122d105", "patch_ids": ["c4734e217c6eb8282130838c53e589f0"], "statement_hash": "d04dc17c486643760b8b7d810de699cd7f12333e05109893fda6b927a0d69b59", "relations": [], "version": "11.0", "category_label": "兼容性变化", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-64b52d1a36c0e343", "cves": [], "html": "<p>移除服务器参数 <code>replacement_sort_tuples</code>（Peter Geoghegan）</p>\n<p>经判断，置换排序已不再有用。</p>", "text": "移除服务器参数 replacement_sort_tuples（Peter Geoghegan） 经判断，置换排序已不再有用。", "title": "移除服务器参数 replacement_sort_tuples", "commits": [], "section": "兼容性", "category": "compatibility", "source_url": "/docs/release/11.0/#id-1.11.6.27.4", "source_hash": "328feeb2742bcb24f952fbbe24eaddd4b5e18e433102baf7563d95bbcd58bd5f", "section_path": ["兼容性"], "commit_groups": [["8b304b8b7"]], "identity_text": "Remove server parameter replacement_sort_tuples (Peter Geoghegan) Replacement sorts were determined to be no longer useful.", "commit_aliases": ["8b304b8b7"], "source_commits": ["8b304b8b7"], "source_entry_id": "11.0/migration/018", "db_id": "7cf4f2ec73d04546c03927edbe4be9db", "patch_ids": ["d1cfa6a03d12878685c6b764ca4f9db4"], "statement_hash": "d57f08d89d73c4b87c76f348e43051202a8046ebd46f6e18465db1ccb95d31ed", "relations": [], "version": "11.0", "category_label": "兼容性变化", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-55f2585ac1bc4d18", "cves": [], "html": "<p>移除 <a href=\"/docs/11/sql-createfunction.html\" title=\"CREATE FUNCTION\"><code>CREATE FUNCTION</code></a> 中的 <code>WITH</code> 子句（Michael Paquier）</p>\n<p><span>PostgreSQL</span> 很早以前就已支持更符合标准的语法来实现此功能。</p>", "text": "移除 CREATE FUNCTION 中的 WITH 子句（Michael Paquier） PostgreSQL 很早以前就已支持更符合标准的语法来实现此功能。", "title": "移除 CREATE FUNCTION 中的 WITH 子句", "commits": [], "section": "兼容性", "category": "compatibility", "source_url": "/docs/release/11.0/#id-1.11.6.27.4", "source_hash": "921bb3d803a01622c41f642f4f66cf8b29e3a539e253dd0a6b0d173761c3e179", "section_path": ["兼容性"], "commit_groups": [["4971d2a32"]], "identity_text": "Remove WITH clause in CREATE FUNCTION (Michael Paquier) PostgreSQL has long supported a more standard-compliant syntax for this capability.", "commit_aliases": ["4971d2a32"], "source_commits": ["4971d2a32"], "source_entry_id": "11.0/migration/019", "db_id": "3cccbdd25cbdc9c0bb3564745dec576b", "patch_ids": ["e0b5bcba963a61c883ea515233c7a2a0"], "statement_hash": "8375875dcb7c64b550b7fd2f590205498270caebe376f4dfdb8b2d975cecadd9", "relations": [], "version": "11.0", "category_label": "兼容性变化", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-ff3eda9ae3792bf5", "cves": [], "html": "<p>在 PL/pgSQL 触发器函数中，未赋值的 <code>OLD</code> 和 <code>NEW</code> 变量现在读取为 NULL（Tom Lane）</p>\n<p>以前，对这些变量的引用可以解析，但无法执行。</p>", "text": "在 PL/pgSQL 触发器函数中，未赋值的 OLD 和 NEW 变量现在读取为 NULL（Tom Lane） 以前，对这些变量的引用可以解析，但无法执行。", "title": "在 PL/pgSQL 触发器函数中，未赋值的 OLD 和 NEW 变量现在读取为 NULL", "commits": [], "section": "兼容性", "category": "compatibility", "source_url": "/docs/release/11.0/#id-1.11.6.27.4", "source_hash": "893abeb3bea6ccf4e04e46bbe3bbff6d0ba0df6c8e8c1797978e15061a8669e3", "section_path": ["兼容性"], "commit_groups": [["4b93f5799"]], "identity_text": "In PL/pgSQL trigger functions, the OLD and NEW variables now read as NULL when not assigned (Tom Lane) Previously, references to these variables could be parsed but not executed.", "commit_aliases": ["4b93f5799"], "source_commits": ["4b93f5799"], "source_entry_id": "11.0/migration/020", "db_id": "3a10a968211dd2f57e469ce081a0fb6d", "patch_ids": ["f114eab24a7e02f5cca2a84c5e3329c7"], "statement_hash": "a5b061ff232949ced51b689168c06f142e18a6bb650ae9cc49f239b3f31d077f", "relations": [{"rule": 2, "type": "related", "target": "a3362f67b1e652e63b477f8810eafbf7", "evidence": {"same_day": true, "patch_ids": ["f114eab24a7e02f5cca2a84c5e3329c7"]}}], "version": "11.0", "category_label": "兼容性变化", "also_in": [], "variants": [], "related_changes": [{"db_id": "a3362f67b1e652e63b477f8810eafbf7", "kind": "related", "version": "11.0", "label": "11.0", "title": "允许 PL/pgSQL 处理同一会话中首次和后续函数执行之间发生的复合类型（如 record、row）变更", "evidence": {"same_day": true, "patch_ids": ["f114eab24a7e02f5cca2a84c5e3329c7"]}, "url": "/docs/compare/?release=11.0#11.0-9dbe6c91d3f62157", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.8"}]}, {"id": "11.0-59117420e19d66d1", "cves": [], "html": "<p>允许根据键列的 hash 值创建分区（Amul Sul）</p>", "text": "允许根据键列的 hash 值创建分区（Amul Sul）", "title": "允许根据键列的 hash 值创建分区", "commits": [], "section": "服务器 / 分区", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.3.2", "source_hash": "11e55c3fd2c68b90e12e4a8d18713e5ab35ef293cd478bfd59544f56cfa4ec5f", "section_path": ["服务器", "分区"], "commit_groups": [["1aba8e651"]], "identity_text": "Allow the creation of partitions based on hashing a key column (Amul Sul)", "commit_aliases": ["1aba8e651"], "source_commits": ["1aba8e651"], "source_entry_id": "11.0/changes/001", "db_id": "f7cb7d4d9f264e9a3e3d4868febbb04f", "patch_ids": ["194514b774748b3babd76e89c9041d5a"], "statement_hash": "d80ddc780f51bb6e799c5e814e146dbd9c8ed9981cac21cb5a64bc13ed039cc2", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-b45f0210071db040", "cves": [], "html": "<p>支持分区表上的索引（Álvaro Herrera，Amit Langote）</p>\n<p>分区表上的<span>“<span>索引</span>”</span>并非跨越整个分区表的物理索引，而是用于在表的每个分区上自动创建类似索引的模板。</p>\n<p>如果索引列集合包含分区键，则可以将分区索引声明为 <code>UNIQUE</code>。它将表示覆盖整个分区表的有效唯一约束，尽管每个物理索引只在其自身分区内实施唯一性。</p>\n<p>新命令 <a href=\"/docs/11/sql-alterindex.html\" title=\"ALTER INDEX\"><code>ALTER INDEX ATTACH PARTITION</code></a> 将分区上的现有索引与其分区表的匹配索引模板关联起来。这为给现有分区表设置新的分区索引提供了灵活性。</p>", "text": "支持分区表上的索引（Álvaro Herrera，Amit Langote） 分区表上的“索引”并非跨越整个分区表的物理索引，而是用于在表的每个分区上自动创建类似索引的模板。 如果索引列集合包含分区键，则可以将分区索引声明为 UNIQUE。它将表示覆盖整个分区表的有效唯一约束，尽管每个物理索引只在其自身分区内实施唯一性。 新命令 ALTER INDEX ATTACH PARTITION 将分区上的现有索引与其分区表的匹配索引模板关联起来。这为给现有分区表设置新的分区索引提供了灵活性。", "title": "支持分区表上的索引", "commits": [], "section": "服务器 / 分区", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.3.2", "source_hash": "09d91f248d197869ecaba39a253217462cad230e134d4fb8c349b4f0439e460e", "section_path": ["服务器", "分区"], "commit_groups": [["555ee77a9"], ["8b08f7d48"], ["eb7ed3f30"]], "identity_text": "Support indexes on partitioned tables (Álvaro Herrera, Amit Langote) An index on a partitioned table is not a physical index across the whole partitioned table, but rather a template for automatically creating similar indexes on each partition of the table. If the partition key is part of the index's column set, a partitioned index may be declared UNIQUE. It will represent a valid uniqueness constraint across the whole partitioned table, even though each physical index only enforces uniqueness within its own partition. The new command ALTER INDEX ATTACH PARTITION causes an existing index on a partition to be associated with a matching index template for its partitioned table. This provides flexibility in setting up a new partitioned index for an existing partitioned table.", "commit_aliases": ["555ee77a9", "8b08f7d48", "eb7ed3f30"], "source_commits": ["555ee77a9", "8b08f7d48", "eb7ed3f30"], "source_entry_id": "11.0/changes/002", "db_id": "d72fc05b7d427a4995beac3f67085a53", "patch_ids": ["5ab7dbf3fad9b7142e1a9ebc497b3a04", "a341f869453793cabfee85393430eafe", "ff33867a62dae9d424759786a99d73d1"], "statement_hash": "75e1306aa923c835b68f797a11c28bc5b1a1e1883880ee48a72919b63a62bf3c", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-ea893f3932a4de8a", "cves": [], "html": "<p>允许在分区表上定义外键（Álvaro Herrera）</p>", "text": "允许在分区表上定义外键（Álvaro Herrera）", "title": "允许在分区表上定义外键", "commits": [], "section": "服务器 / 分区", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.3.2", "source_hash": "dc67bc785f7e1778043b758f310adc04b5852b98cdb4a903aeba155d7d10ba9f", "section_path": ["服务器", "分区"], "commit_groups": [["3de241dba"]], "identity_text": "Allow foreign keys on partitioned tables (Álvaro Herrera)", "commit_aliases": ["3de241dba"], "source_commits": ["3de241dba"], "source_entry_id": "11.0/changes/003", "db_id": "0c7773820a30b56570d6f95aedfd1133", "patch_ids": ["94ca84cd999984e6a0b8c8ea9b634215"], "statement_hash": "5bd0ab22d8a44ac8754731968e3f4c5e559c0d9a06c5329944cdd698c6f9dbc4", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-ba0b680dd97692d1", "cves": [], "html": "<p>允许在分区表上定义 <code>FOR EACH ROW</code> 触发器（Álvaro Herrera）</p>\n<p>在分区表上创建触发器，会自动在所有现有和未来分区上创建触发器。这也使分区表能够使用延迟唯一约束。</p>", "text": "允许在分区表上定义 FOR EACH ROW 触发器（Álvaro Herrera） 在分区表上创建触发器，会自动在所有现有和未来分区上创建触发器。这也使分区表能够使用延迟唯一约束。", "title": "允许在分区表上定义 FOR EACH ROW 触发器", "commits": [], "section": "服务器 / 分区", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.3.2", "source_hash": "cd41f776dce1c2c452de71398963679266387c8bf3d67f8d6f3df01c3ce559b3", "section_path": ["服务器", "分区"], "commit_groups": [["86f575948"]], "identity_text": "Allow FOR EACH ROW triggers on partitioned tables (Álvaro Herrera) Creation of a trigger on a partitioned table automatically creates triggers on all existing and future partitions. This also allows deferred unique constraints on partitioned tables.", "commit_aliases": ["86f575948"], "source_commits": ["86f575948"], "source_entry_id": "11.0/changes/004", "db_id": "7d6202919b4586a86ada3b9fe59af082", "patch_ids": ["2b43e0cd05fd6b6d7632c98a936ad926"], "statement_hash": "1b03ebef716f00a393887f86f649f7e30c34fe9ffdb5ed2b50e28a8ced284685", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-9ae3e4f50e43c281", "cves": [], "html": "<p>允许分区表具有默认分区（Jeevan Ladhe，Beena Emerson，Ashutosh Bapat，Rahila Syed，Robert Haas）</p>\n<p>默认分区存储不匹配其他任何已定义分区的行，并据此被搜索。</p>", "text": "允许分区表具有默认分区（Jeevan Ladhe，Beena Emerson，Ashutosh Bapat，Rahila Syed，Robert Haas） 默认分区存储不匹配其他任何已定义分区的行，并据此被搜索。", "title": "允许分区表具有默认分区", "commits": [], "section": "服务器 / 分区", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.3.2", "source_hash": "9d9e2098b2319a321ba73f8de42ec125424bf45c54362e4e4d356446612f607e", "section_path": ["服务器", "分区"], "commit_groups": [["6f6b99d13"], ["72cf7f310"]], "identity_text": "Allow partitioned tables to have a default partition (Jeevan Ladhe, Beena Emerson, Ashutosh Bapat, Rahila Syed, Robert Haas) The default partition will store rows that don't match any of the other defined partitions, and is searched accordingly.", "commit_aliases": ["6f6b99d13", "72cf7f310"], "source_commits": ["6f6b99d13", "72cf7f310"], "source_entry_id": "11.0/changes/005", "db_id": "a090353dc7e17740c7bdec216dd25f67", "patch_ids": ["434bfc281b2b0fd143b31d7eaab8272e", "d6b1868800d61b8f4183e57bfe95403e"], "statement_hash": "aed453c47c8a416546140b6e6ebcdaf1acc5acff4d4fb887b0daf143ea385c09", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-5e1b7ed3d5b2217e", "cves": [], "html": "<p>更改分区键列的 <code>UPDATE</code> 语句现在会将受影响的行移动到适当的分区（Amit Khandekar）</p>", "text": "更改分区键列的 UPDATE 语句现在会将受影响的行移动到适当的分区（Amit Khandekar）", "title": "更改分区键列的 UPDATE 语句现在会将受影响的行移动到适当的分区", "commits": [], "section": "服务器 / 分区", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.3.2", "source_hash": "94596f6d3bb090343d91f90c6ff6b397eadddd955aab7d7531c5ebcf72e2ccce", "section_path": ["服务器", "分区"], "commit_groups": [["2f1784410"]], "identity_text": "UPDATE statements that change a partition key column now cause affected rows to be moved to the appropriate partitions (Amit Khandekar)", "commit_aliases": ["2f1784410"], "source_commits": ["2f1784410"], "source_entry_id": "11.0/changes/006", "db_id": "950d9a12b523abd981f23d93636390d8", "patch_ids": ["0feecd873e1e184b14c0fefaae3b69fb"], "statement_hash": "78b5268f96133fd77fde7c25e6a70aaf9ece45f31b015b6e1191af8b0db09364", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-0db85a32f89b22d1", "cves": [], "html": "<p>允许分区表上的 <code>INSERT</code>、<code>UPDATE</code> 和 <code>COPY</code> 将行正确路由到外部分区（Etsuro Fujita，Amit Langote）</p>\n<p><code>postgres_fdw</code> 外部表支持此功能。由于为此调用 <code>ExecForeignInsert</code> 回调函数的方式与以前不同，外部数据包装器必须相应修改以适应此更改。</p>", "text": "允许分区表上的 INSERT、UPDATE 和 COPY 将行正确路由到外部分区（Etsuro Fujita，Amit Langote） postgres_fdw 外部表支持此功能。由于为此调用 ExecForeignInsert 回调函数的方式与以前不同，外部数据包装器必须相应修改以适应此更改。", "title": "允许分区表上的 INSERT、UPDATE 和 COPY 将行正确路由到外部分区", "commits": [], "section": "服务器 / 分区", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.3.2", "source_hash": "f708e373fb2cea9940c751fc9cc0eac09afd27b0c307d046f95227c585ba7ffc", "section_path": ["服务器", "分区"], "commit_groups": [["3d956d956"]], "identity_text": "Allow INSERT, UPDATE, and COPY on partitioned tables to properly route rows to foreign partitions (Etsuro Fujita, Amit Langote) This is supported by postgres_fdw foreign tables. Since the ExecForeignInsert callback function is called for this in a different way than it used to be, foreign data wrappers must be modified to cope with this change.", "commit_aliases": ["3d956d956"], "source_commits": ["3d956d956"], "source_entry_id": "11.0/changes/007", "db_id": "b6fc302a95d7e4562a7c1aebdd906e30", "patch_ids": ["4b757543bac150c278156ee58c1bac29"], "statement_hash": "b4e5f0b07d6e96953c54686cbc006e25e46b925e51caee10240c72754078b92f", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-66068e80a20b6dca", "cves": [], "html": "<p>加快查询处理期间的分区排除（Amit Langote，David Rowley，Dilip Kumar）</p>\n<p>这加快了对具有大量分区的分区表的访问。</p>", "text": "加快查询处理期间的分区排除（Amit Langote，David Rowley，Dilip Kumar） 这加快了对具有大量分区的分区表的访问。", "title": "加快查询处理期间的分区排除", "commits": [], "section": "服务器 / 分区", "category": "performance", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.3.2", "source_hash": "7f642df7b782ddb3cf168bee3ae7796785e4625279f9ae5840d2838ba121e7fb", "section_path": ["服务器", "分区"], "commit_groups": [["055fb8d33"], ["9aef17316"], ["9fdb675fc"], ["f724022d0"]], "identity_text": "Allow faster partition elimination during query processing (Amit Langote, David Rowley, Dilip Kumar) This speeds access to partitioned tables with many partitions.", "commit_aliases": ["055fb8d33", "9aef17316", "9fdb675fc", "f724022d0"], "source_commits": ["055fb8d33", "9aef17316", "9fdb675fc", "f724022d0"], "source_entry_id": "11.0/changes/008", "db_id": "04be6fa026234526485799d43b324c90", "patch_ids": ["43f08e14edc9aa39d146e6feed033b5e", "48df2b8793fbd9e9af3599d5123c8ab0", "606557f0940af2073b36c96583ac1c7c", "a21bda5efcbb10a8727735a7d332ff4a"], "statement_hash": "a31961ad07ce3b19c800101372954cd30abd16a9c1a777a5c57ba3625141edd6", "relations": [], "version": "11.0", "category_label": "性能改进", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-df0a2b4745fc1ea4", "cves": [], "html": "<p>允许在查询执行期间排除分区（David Rowley，Beena Emerson）</p>\n<p>以前，分区排除仅在规划时进行，因此许多连接和预备查询无法使用分区排除。</p>", "text": "允许在查询执行期间排除分区（David Rowley，Beena Emerson） 以前，分区排除仅在规划时进行，因此许多连接和预备查询无法使用分区排除。", "title": "允许在查询执行期间排除分区", "commits": [], "section": "服务器 / 分区", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.3.2", "source_hash": "2aab3bab67d46f7fc4ed1bb73cafba823169c33dd0e17894b21e9b584acc2d2d", "section_path": ["服务器", "分区"], "commit_groups": [["499be013d"]], "identity_text": "Allow partition elimination during query execution (David Rowley, Beena Emerson) Previously, partition elimination only happened at planning time, meaning many joins and prepared queries could not use partition elimination.", "commit_aliases": ["499be013d"], "source_commits": ["499be013d"], "source_entry_id": "11.0/changes/009", "db_id": "7e8f633201ff318bd320ea749fae06c7", "patch_ids": ["70e0afea6729c77502adb2f42a1048b8"], "statement_hash": "78e23bccb69798ba20a75be445dcb4e4933bab6afdf00adec16a26e1809ef408", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-57d1b0b652630f44", "cves": [], "html": "<p>在分区表之间的等值连接中，允许直接连接匹配的分区（Ashutosh Bapat）</p>\n<p>此特性默认禁用，但可以通过更改 <a href=\"/docs/11/runtime-config-query.html#GUC-ENABLE-PARTITIONWISE-JOIN\"><code>enable_partitionwise_join</code></a> 启用。</p>", "text": "在分区表之间的等值连接中，允许直接连接匹配的分区（Ashutosh Bapat） 此特性默认禁用，但可以通过更改 enable_partitionwise_join 启用。", "title": "在分区表之间的等值连接中，允许直接连接匹配的分区", "commits": [], "section": "服务器 / 分区", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.3.2", "source_hash": "505d80d9ec655989b6c957202481ad9c140a07ca87eea0c61c6b4c54e05cd66f", "section_path": ["服务器", "分区"], "commit_groups": [["2fb1abaeb"], ["e139f1953"], ["f49842d1e"]], "identity_text": "In an equality join between partitioned tables, allow matching partitions to be joined directly (Ashutosh Bapat) This feature is disabled by default but can be enabled by changing enable_partitionwise_join.", "commit_aliases": ["2fb1abaeb", "e139f1953", "f49842d1e"], "source_commits": ["2fb1abaeb", "e139f1953", "f49842d1e"], "source_entry_id": "11.0/changes/010", "db_id": "9f1dff93addd5e6ccfc1d5cf5bc93924", "patch_ids": ["0148c002d7ca693a052a743d05ecfa5f", "447a1218b7a0008691ae64608e3d0347", "4cce865ecbe08ad30eae3ba4b7cb2473"], "statement_hash": "6d5d2c2e7fb7d79ac1d07cf8eb001c19eba92fde05a378e7e831e6344de2ee00", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-3ba31d155d2c5608", "cves": [], "html": "<p>允许对分区表上的聚合函数按分区分别求值，随后合并结果（Jeevan Chalke，Ashutosh Bapat，Robert Haas）</p>\n<p>此特性默认禁用，但可以通过更改 <a href=\"/docs/11/runtime-config-query.html#GUC-ENABLE-PARTITIONWISE-AGGREGATE\"><code>enable_partitionwise_aggregate</code></a> 启用。</p>", "text": "允许对分区表上的聚合函数按分区分别求值，随后合并结果（Jeevan Chalke，Ashutosh Bapat，Robert Haas） 此特性默认禁用，但可以通过更改 enable_partitionwise_aggregate 启用。", "title": "允许对分区表上的聚合函数按分区分别求值，随后合并结果", "commits": [], "section": "服务器 / 分区", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.3.2", "source_hash": "336bf7f0d4876b4637d5843ed841bfb97c5053368f864f1758b8405d080122a5", "section_path": ["服务器", "分区"], "commit_groups": [["9fd8b7d63"], ["e2f1eb0ee"]], "identity_text": "Allow aggregate functions on partitioned tables to be evaluated separately for each partition, subsequently merging the results (Jeevan Chalke, Ashutosh Bapat, Robert Haas) This feature is disabled by default but can be enabled by changing enable_partitionwise_aggregate.", "commit_aliases": ["9fd8b7d63", "e2f1eb0ee"], "source_commits": ["9fd8b7d63", "e2f1eb0ee"], "source_entry_id": "11.0/changes/011", "db_id": "44f21364e31dfd8522d7a01889731157", "patch_ids": ["3bef689ffc2a98f5414ffd72f4033088", "87c6820de261a5d378c20c4ba3f23d19"], "statement_hash": "56df2f82008c99f2a7623254ca73cfdd6035b60b20adccf4448698ac9c204974", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-062da017cc7c48e7", "cves": [], "html": "<p>允许 <a href=\"/docs/11/postgres-fdw.html\" title=\"F.33. postgres_fdw\"><code>postgres_fdw</code></a> 将聚合下推到作为分区的外部表（Jeevan Chalke）</p>", "text": "允许 postgres_fdw 将聚合下推到作为分区的外部表（Jeevan Chalke）", "title": "允许 postgres_fdw 将聚合下推到作为分区的外部表", "commits": [], "section": "服务器 / 分区", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.3.2", "source_hash": "fbf833ecf1f1a2407438032a4ba5d94b057b83298e3c3a531030b8f1d23fa086", "section_path": ["服务器", "分区"], "commit_groups": [["7e0d64c7a"]], "identity_text": "Allow postgres_fdw to push down aggregates to foreign tables that are partitions (Jeevan Chalke)", "commit_aliases": ["7e0d64c7a"], "source_commits": ["7e0d64c7a"], "source_entry_id": "11.0/changes/012", "db_id": "aa51051328181541cd022765486fa6c5", "patch_ids": ["60052ed7971443c33c8e4a78ff70f193"], "statement_hash": "c41b12e3c7db8df08ae6d10522b587b74acde453d4f7ccb4c893117521929865", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-4e7c43e78fab8994", "cves": [], "html": "<p>允许并行构建 B-树索引（Peter Geoghegan，Rushabh Lathia，Heikki Linnakangas）</p>", "text": "允许并行构建 B-树索引（Peter Geoghegan，Rushabh Lathia，Heikki Linnakangas）", "title": "允许并行构建 B-树索引", "commits": [], "section": "服务器 / 并行查询", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.3.3", "source_hash": "db1cde0d14ee2d0513ea8231c9ee5e4b638a0205981f862f8cd4e941173aeab5", "section_path": ["服务器", "并行查询"], "commit_groups": [["9da0cc352"]], "identity_text": "Allow parallel building of a btree index (Peter Geoghegan, Rushabh Lathia, Heikki Linnakangas)", "commit_aliases": ["9da0cc352"], "source_commits": ["9da0cc352"], "source_entry_id": "11.0/changes/013", "db_id": "ebebcb159958434c7a70968c23e45efa", "patch_ids": ["2c9c56459f484ad9645918bc5f548db7"], "statement_hash": "38142ba29149c0a51365408497f76dd359050b4781d2dc8217f27272786ccf88", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-49f0f972c189bbb7", "cves": [], "html": "<p>允许使用共享 hash 表并行执行哈希连接（Thomas Munro）</p>", "text": "允许使用共享 hash 表并行执行哈希连接（Thomas Munro）", "title": "允许使用共享 hash 表并行执行哈希连接", "commits": [], "section": "服务器 / 并行查询", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.3.3", "source_hash": "d11762aa88afbc10ebc63c7eed2512e24eb7b869384b2be50f80b74269bba3b8", "section_path": ["服务器", "并行查询"], "commit_groups": [["180428404"]], "identity_text": "Allow hash joins to be performed in parallel using a shared hash table (Thomas Munro)", "commit_aliases": ["180428404"], "source_commits": ["180428404"], "source_entry_id": "11.0/changes/014", "db_id": "31c36b3f68c262b2ed036aa00cf5080f", "patch_ids": ["3231d47f627676812da6968fb733723b"], "statement_hash": "433681317904435eb293602ed6bb0c77e69dff46d8a42deeb7efc78697cbd0f9", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-36677c155a4a46cc", "cves": [], "html": "<p>如果各条 <code>SELECT</code> 无法分别并行化，则允许 <code>UNION</code> 并行运行各条 <code>SELECT</code>（Amit Khandekar，Robert Haas，Amul Sul）</p>", "text": "如果各条 SELECT 无法分别并行化，则允许 UNION 并行运行各条 SELECT（Amit Khandekar，Robert Haas，Amul Sul）", "title": "如果各条 SELECT 无法分别并行化，则允许 UNION 并行运行各条 SELECT", "commits": [], "section": "服务器 / 并行查询", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.3.3", "source_hash": "0b55cb2b1296bb43c85a3acf8ca76220c9b51a193e5d97344c18196018e0dbd2", "section_path": ["服务器", "并行查询"], "commit_groups": [["88ba0ae2a"], ["ab7271677"]], "identity_text": "Allow UNION to run each SELECT in parallel if the individual SELECTs cannot be parallelized (Amit Khandekar, Robert Haas, Amul Sul)", "commit_aliases": ["88ba0ae2a", "ab7271677"], "source_commits": ["88ba0ae2a", "ab7271677"], "source_entry_id": "11.0/changes/015", "db_id": "9ab18149bf30a44705b6fa2b2403debe", "patch_ids": ["457c25b7a415826ca03aceac35deb1f2", "c400bcb186f456151e538f876d061e4c"], "statement_hash": "750d99fe8ada34b14751dbd07736e10c363777e70a1405cc8b9bc85b6682486a", "relations": [{"rule": 2, "type": "related", "target": "5b4957aa1d555480e40c68785e28f2b2", "evidence": {"same_day": true, "patch_ids": ["457c25b7a415826ca03aceac35deb1f2", "c400bcb186f456151e538f876d061e4c"], "ambiguous_patch_ids": ["457c25b7a415826ca03aceac35deb1f2", "c400bcb186f456151e538f876d061e4c"]}}], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": [{"db_id": "5b4957aa1d555480e40c68785e28f2b2", "kind": "related", "version": "11.0", "label": "11.0", "title": "允许分区扫描更高效地使用并行工作进程", "evidence": {"same_day": true, "patch_ids": ["457c25b7a415826ca03aceac35deb1f2", "c400bcb186f456151e538f876d061e4c"], "ambiguous_patch_ids": ["457c25b7a415826ca03aceac35deb1f2", "c400bcb186f456151e538f876d061e4c"]}, "url": "/docs/compare/?release=11.0#11.0-46825eb94ec26780", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.3.3"}]}, {"id": "11.0-46825eb94ec26780", "cves": [], "html": "<p>允许分区扫描更高效地使用并行工作进程（Amit Khandekar，Robert Haas，Amul Sul）</p>", "text": "允许分区扫描更高效地使用并行工作进程（Amit Khandekar，Robert Haas，Amul Sul）", "title": "允许分区扫描更高效地使用并行工作进程", "commits": [], "section": "服务器 / 并行查询", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.3.3", "source_hash": "ceeddd9150462be93a5bc2af2afb7683b54e2ff2f93081dfe923d974fd8bd8de", "section_path": ["服务器", "并行查询"], "commit_groups": [["88ba0ae2a"], ["ab7271677"]], "identity_text": "Allow partition scans to more efficiently use parallel workers (Amit Khandekar, Robert Haas, Amul Sul)", "commit_aliases": ["88ba0ae2a", "ab7271677"], "source_commits": ["88ba0ae2a", "ab7271677"], "source_entry_id": "11.0/changes/016", "db_id": "5b4957aa1d555480e40c68785e28f2b2", "patch_ids": ["457c25b7a415826ca03aceac35deb1f2", "c400bcb186f456151e538f876d061e4c"], "statement_hash": "ec2ed8211c34a41619081f1957d1c4a9a7a8755aa8298b747a37851b1ec69cd8", "relations": [{"rule": 2, "type": "related", "target": "9ab18149bf30a44705b6fa2b2403debe", "evidence": {"same_day": true, "patch_ids": ["457c25b7a415826ca03aceac35deb1f2", "c400bcb186f456151e538f876d061e4c"], "ambiguous_patch_ids": ["457c25b7a415826ca03aceac35deb1f2", "c400bcb186f456151e538f876d061e4c"]}}], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": [{"db_id": "9ab18149bf30a44705b6fa2b2403debe", "kind": "related", "version": "11.0", "label": "11.0", "title": "如果各条 SELECT 无法分别并行化，则允许 UNION 并行运行各条 SELECT", "evidence": {"same_day": true, "patch_ids": ["457c25b7a415826ca03aceac35deb1f2", "c400bcb186f456151e538f876d061e4c"], "ambiguous_patch_ids": ["457c25b7a415826ca03aceac35deb1f2", "c400bcb186f456151e538f876d061e4c"]}, "url": "/docs/compare/?release=11.0#11.0-36677c155a4a46cc", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.3.3"}]}, {"id": "11.0-60ac920933ae9f5f", "cves": [], "html": "<p>允许将 <code>LIMIT</code> 传递给并行工作进程（Robert Haas，Tom Lane）</p>\n<p>这使工作进程能够减少返回结果，并使用有针对性的索引扫描。</p>", "text": "允许将 LIMIT 传递给并行工作进程（Robert Haas，Tom Lane） 这使工作进程能够减少返回结果，并使用有针对性的索引扫描。", "title": "允许将 LIMIT 传递给并行工作进程", "commits": [], "section": "服务器 / 并行查询", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.3.3", "source_hash": "d590d55b923012dc29e2732ed6a6f3942308bea790764414a940b800e5ab8ffd", "section_path": ["服务器", "并行查询"], "commit_groups": [["3452dc524"]], "identity_text": "Allow LIMIT to be passed to parallel workers (Robert Haas, Tom Lane) This allows workers to reduce returned results and use targeted index scans.", "commit_aliases": ["3452dc524"], "source_commits": ["3452dc524"], "source_entry_id": "11.0/changes/017", "db_id": "30df37453e20ca98232664b124039f4b", "patch_ids": ["1be8b1adc84325ccba41b724023c2e8b"], "statement_hash": "d0e795a7c3b810f98b7c28a67b1142d1cf0c7d0e112cdee0eaa80a9674afd95e", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-ad59df825403ddc5", "cves": [], "html": "<p>允许单次求值查询（例如 <code>WHERE</code> 子句中的聚合查询）以及目标列表中的函数并行执行（Amit Kapila，Robert Haas）</p>", "text": "允许单次求值查询（例如 WHERE 子句中的聚合查询）以及目标列表中的函数并行执行（Amit Kapila，Robert Haas）", "title": "允许单次求值查询（例如 WHERE 子句中的聚合查询）以及目标列表中的函数并行执行", "commits": [], "section": "服务器 / 并行查询", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.3.3", "source_hash": "26ce97bf6117ae138a57a9824b94dde5bcabad9c72913c97ddce6aea2368fd85", "section_path": ["服务器", "并行查询"], "commit_groups": [["11cf92f6e"], ["3f90ec859"], ["e89a71fb4"]], "identity_text": "Allow single-evaluation queries, e.g., WHERE clause aggregate queries, and functions in the target list to be parallelized (Amit Kapila, Robert Haas)", "commit_aliases": ["11cf92f6e", "3f90ec859", "e89a71fb4"], "source_commits": ["11cf92f6e", "3f90ec859", "e89a71fb4"], "source_entry_id": "11.0/changes/018", "db_id": "6921601e548922177857c5d9a863b97e", "patch_ids": ["65f46529ac0e5b9a09541c2a835f00c8", "84107a026ee9a9c573a3d0417c5f2707", "9325816eb6a477aa09aac32dcf9ddab4"], "statement_hash": "090239b014323f30bccaf0ee12de27a755e1aab44aba5cbaa4ad19330bd0eb87", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-d9de68bf35c4aa4e", "cves": [], "html": "<p>添加服务器参数 <a href=\"/docs/11/runtime-config-query.html#GUC-PARALLEL-LEADER-PARTICIPATION\"><code>parallel_leader_participation</code></a>，以控制领导者是否也执行子计划（Thomas Munro）</p>\n<p>默认启用，意味着领导者将执行子计划。</p>", "text": "添加服务器参数 parallel_leader_participation，以控制领导者是否也执行子计划（Thomas Munro） 默认启用，意味着领导者将执行子计划。", "title": "添加服务器参数 parallel_leader_participation，以控制领导者是否也执行子计划", "commits": [], "section": "服务器 / 并行查询", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.3.3", "source_hash": "794ce133d5cac0266f8545c6981f9faee1ab00872b7454600b97c200e2df1248", "section_path": ["服务器", "并行查询"], "commit_groups": [["e5253fdc4"]], "identity_text": "Add server parameter parallel_leader_participation to control whether the leader also executes subplans (Thomas Munro) The default is enabled, meaning the leader will execute subplans.", "commit_aliases": ["e5253fdc4"], "source_commits": ["e5253fdc4"], "source_entry_id": "11.0/changes/019", "db_id": "b134e0a76a7aee98a1afcac2792b8de4", "patch_ids": ["01e563d1799001dfd99ef9fe35b40c37"], "statement_hash": "b91357664ec5d7f37fb805c30cf11e2b16b3f20107382d65f389037fc723dfc3", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-c564e5cd479af39c", "cves": [], "html": "<p>允许并行执行 <code>CREATE TABLE ... AS</code>、<code>SELECT INTO</code> 和 <code>CREATE MATERIALIZED VIEW</code> 命令（Haribabu Kommi）</p>", "text": "允许并行执行 CREATE TABLE ... AS、SELECT INTO 和 CREATE MATERIALIZED VIEW 命令（Haribabu Kommi）", "title": "允许并行执行 CREATE TABLE ... AS、SELECT INTO 和 CREATE MATERIALIZED VIEW 命令", "commits": [], "section": "服务器 / 并行查询", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.3.3", "source_hash": "b5519faedd277dbf9e180830abb76664eb3480a61b27f0292687f838e5295e35", "section_path": ["服务器", "并行查询"], "commit_groups": [["e9baa5e9f"]], "identity_text": "Allow parallelization of commands CREATE TABLE ... AS, SELECT INTO, and CREATE MATERIALIZED VIEW (Haribabu Kommi)", "commit_aliases": ["e9baa5e9f"], "source_commits": ["e9baa5e9f"], "source_entry_id": "11.0/changes/020", "db_id": "ad309561a89639a6aa19395b36c923f2", "patch_ids": ["150f122ba1d6744993080a89f415a61c"], "statement_hash": "94d2055493d8e577193e80e94ff856533fea901202e0835a3454b624c816deb6", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-cf28f569b2d5f98b", "cves": [], "html": "<p>提高使用大量并行工作进程时顺序扫描的性能（David Rowley）</p>", "text": "提高使用大量并行工作进程时顺序扫描的性能（David Rowley）", "title": "提高使用大量并行工作进程时顺序扫描的性能", "commits": [], "section": "服务器 / 并行查询", "category": "performance", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.3.3", "source_hash": "c62c76641150bf17c2599909498c957e4fe0906808eae9cb6052570f6ab8e5c7", "section_path": ["服务器", "并行查询"], "commit_groups": [["3cda10f41"]], "identity_text": "Improve performance of sequential scans with many parallel workers (David Rowley)", "commit_aliases": ["3cda10f41"], "source_commits": ["3cda10f41"], "source_entry_id": "11.0/changes/021", "db_id": "98bbf7f7cdf8dd1962475e9ab5f9deee", "patch_ids": ["b14f13b397af28878149f0eb50c883c2"], "statement_hash": "bdada06eadb287e076c383460c1ca8494141bd9499a43a5975a407c22f0d8431", "relations": [], "version": "11.0", "category_label": "性能改进", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-c433ebb3891227c9", "cves": [], "html": "<p>在 <code>EXPLAIN</code> 中添加并行工作进程排序活动的报告（Robert Haas，Tom Lane）</p>", "text": "在 EXPLAIN 中添加并行工作进程排序活动的报告（Robert Haas，Tom Lane）", "title": "在 EXPLAIN 中添加并行工作进程排序活动的报告", "commits": [], "section": "服务器 / 并行查询", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.3.3", "source_hash": "1c09c7648298d38d4ca1bfc43b8b1d1a524b164df3ca610583e65190d78ff95d", "section_path": ["服务器", "并行查询"], "commit_groups": [["bf11e7ee2"]], "identity_text": "Add reporting of parallel workers' sort activity in EXPLAIN (Robert Haas, Tom Lane)", "commit_aliases": ["bf11e7ee2"], "source_commits": ["bf11e7ee2"], "source_entry_id": "11.0/changes/022", "db_id": "ff7af4478826195e22223dc3a5e41588", "patch_ids": ["b15bea951f332f2a4f5f9c2056ed4964"], "statement_hash": "0677e46819b901aba318420833485f71a2163dbef4261549cbee4c578fb60605", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-8954bc2b36315814", "cves": [], "html": "<p>允许 B-树索引包含不属于搜索键或唯一约束、但可供仅索引扫描读取的列（Anastasia Lubennikova，Alexander Korotkov，Teodor Sigaev）</p>\n<p>这通过 <a href=\"/docs/11/sql-createindex.html\" title=\"CREATE INDEX\"><code>CREATE INDEX</code></a> 的新 <code>INCLUDE</code> 子句启用。它便于构建优化特定查询类型的<span>“<span>覆盖索引</span>”</span>。即使列的数据类型不支持 B-树，也可以将其包含在内。</p>", "text": "允许 B-树索引包含不属于搜索键或唯一约束、但可供仅索引扫描读取的列（Anastasia Lubennikova，Alexander Korotkov，Teodor Sigaev） 这通过 CREATE INDEX 的新 INCLUDE 子句启用。它便于构建优化特定查询类型的“覆盖索引”。即使列的数据类型不支持 B-树，也可以将其包含在内。", "title": "允许 B-树索引包含不属于搜索键或唯一约束、但可供仅索引扫描读取的列", "commits": [], "section": "服务器 / 索引", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.3.4", "source_hash": "87c127880b7adabebf856b5bdb9f8ba90b4991cb42a650dac1858fb97843fd0f", "section_path": ["服务器", "索引"], "commit_groups": [["8224de4f4"]], "identity_text": "Allow B-tree indexes to include columns that are not part of the search key or unique constraint, but are available to be read by index-only scans (Anastasia Lubennikova, Alexander Korotkov, Teodor Sigaev) This is enabled by the new INCLUDE clause of CREATE INDEX. It facilitates building covering indexes that optimize specific types of queries. Columns can be included even if their data types don't have B-tree support.", "commit_aliases": ["8224de4f4"], "source_commits": ["8224de4f4"], "source_entry_id": "11.0/changes/023", "db_id": "325771f1f09193edbacc69d41276c27a", "patch_ids": ["bfb5abdd25d6d89590c8f1a81a47ef5c"], "statement_hash": "5195f56fc97b0d06c83c3fa2d21e0adc16582152f35da5063bca358fe67318ea", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-4243c6ac83c15c87", "cves": [], "html": "<p>提高单调递增的索引插入的性能（Pavan Deolasee，Peter Geoghegan）</p>", "text": "提高单调递增的索引插入的性能（Pavan Deolasee，Peter Geoghegan）", "title": "提高单调递增的索引插入的性能", "commits": [], "section": "服务器 / 索引", "category": "performance", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.3.4", "source_hash": "8b797f071f1c8a7e58ddce756a6c4b742b4fb9bba551e89dc80e5ef4482f5181", "section_path": ["服务器", "索引"], "commit_groups": [["074251db6"], ["2b2727343"]], "identity_text": "Improve performance of monotonically increasing index additions (Pavan Deolasee, Peter Geoghegan)", "commit_aliases": ["074251db6", "2b2727343"], "source_commits": ["074251db6", "2b2727343"], "source_entry_id": "11.0/changes/024", "db_id": "0a2c17b4f262ca2cbf31e08a86f28b64", "patch_ids": ["8291df90338ca33ba8bd74f6ef15f9c4", "96d574c1377b5e0b2212470971aed433"], "statement_hash": "7020dab0076cc612ced27f2276826615f33675938ad21ef3bb11a0805a3f6a54", "relations": [], "version": "11.0", "category_label": "性能改进", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-7d7519739255cf02", "cves": [], "html": "<p>提高 hash 索引扫描的性能（Ashutosh Sharma）</p>", "text": "提高 hash 索引扫描的性能（Ashutosh Sharma）", "title": "提高 hash 索引扫描的性能", "commits": [], "section": "服务器 / 索引", "category": "performance", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.3.4", "source_hash": "2e45c1dbbd6985d3e5202b267405f61340b7d7f47064b1a1844c630a9537a22b", "section_path": ["服务器", "索引"], "commit_groups": [["7c75ef571"]], "identity_text": "Improve performance of hash index scans (Ashutosh Sharma)", "commit_aliases": ["7c75ef571"], "source_commits": ["7c75ef571"], "source_entry_id": "11.0/changes/025", "db_id": "f9beb9582e618a52d28ddab461ed1fe7", "patch_ids": ["390439a03f9f19fbf9aebf5352b4557f"], "statement_hash": "4b62f17e465249d53d3e410f97852643353e94a638947f0a4c4f89f83a64a62b", "relations": [], "version": "11.0", "category_label": "性能改进", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-3c66e72bb92280c1", "cves": [], "html": "<p>为 hash、GiST 和 GIN 索引添加谓词锁定（Shubham Barai）</p>\n<p>这降低了可串行化模式事务发生串行化冲突的可能性。</p>", "text": "为 hash、GiST 和 GIN 索引添加谓词锁定（Shubham Barai） 这降低了可串行化模式事务发生串行化冲突的可能性。", "title": "为 hash、GiST 和 GIN 索引添加谓词锁定", "commits": [], "section": "服务器 / 索引", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.3.4", "source_hash": "347646bfcfbb4666f75d6b10e9e221d38d8b9c2475a1524b42fd72085228c68a", "section_path": ["服务器", "索引"], "commit_groups": [["3ad55863e"], ["43d1ed60f"], ["b508a56f2"]], "identity_text": "Add predicate locking for hash, GiST and GIN indexes (Shubham Barai) This reduces the likelihood of serialization conflicts in serializable-mode transactions.", "commit_aliases": ["3ad55863e", "43d1ed60f", "b508a56f2"], "source_commits": ["3ad55863e", "43d1ed60f", "b508a56f2"], "source_entry_id": "11.0/changes/026", "db_id": "56d4ff9224e92787bc5b133c0439a804", "patch_ids": ["51712d8aa268bfd72afe25c8101eeb2c", "cabe231e7f9494b1182875f43b9c5fa1", "f336752de7832a5a32d0e9566bbc1f55"], "statement_hash": "a2a55f03f5bc9d8b2bad0415f9b49e75774ccae0af5cc8270d62a5675ee420f1", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-c69f62d316d9bcda", "cves": [], "html": "<p>添加前缀匹配操作符 <code>text</code> <code>^@</code> <code>text</code>，并由 SP-GiST 支持（Ildus Kurbangaliev）</p>\n<p>这类似于配合 B-树索引使用 <em><code>var</code></em> <code>LIKE 'word%'</code>，但效率更高。</p>", "text": "添加前缀匹配操作符 text ^@ text，并由 SP-GiST 支持（Ildus Kurbangaliev） 这类似于配合 B-树索引使用 var LIKE 'word%'，但效率更高。", "title": "添加前缀匹配操作符 text ^@ text，并由 SP-GiST 支持", "commits": [], "section": "服务器 / 索引 / SP-Gist", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.3.4.3", "source_hash": "e5975e818d72191abde477f490cea447e153c3636583d66c8d7180bff2d9aee1", "section_path": ["服务器", "索引", "SP-Gist"], "commit_groups": [["710d90da1"]], "identity_text": "Add prefix-match operator text ^@ text, which is supported by SP-GiST (Ildus Kurbangaliev) This is similar to using var LIKE 'word%' with a btree index, but it is more efficient.", "commit_aliases": ["710d90da1"], "source_commits": ["710d90da1"], "source_entry_id": "11.0/changes/027", "db_id": "46320fa8a8deeaaa533d724513600f68", "patch_ids": ["3e3aafa6df61dfbb37d7239e673e5daf"], "statement_hash": "ec9c89c21ae50c83076bc15b97cd2144a8c9fd620064cafdf34f727ceff707bf", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-dd861e5f42b754c8", "cves": [], "html": "<p>允许使用 SP-GiST 对多边形建立索引（Nikita Glukhov，Alexander Korotkov）</p>", "text": "允许使用 SP-GiST 对多边形建立索引（Nikita Glukhov，Alexander Korotkov）", "title": "允许使用 SP-GiST 对多边形建立索引", "commits": [], "section": "服务器 / 索引 / SP-Gist", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.3.4.3", "source_hash": "4b97263a7e19682c270e260a8efe02c5ba14faa94bddd354aaddca0f2aff51ba", "section_path": ["服务器", "索引", "SP-Gist"], "commit_groups": [["ff963b393"]], "identity_text": "Allow polygons to be indexed with SP-GiST (Nikita Glukhov, Alexander Korotkov)", "commit_aliases": ["ff963b393"], "source_commits": ["ff963b393"], "source_entry_id": "11.0/changes/028", "db_id": "6be9a520a242153b75eebfbba4588589", "patch_ids": ["d495145a3de97e76dd0322c0133acc45"], "statement_hash": "2a543c7819b7fdd499e0f23e17345cd5bcc80f6f4b2afe955c689f400b98ce32", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-a8c70553230a9d53", "cves": [], "html": "<p>允许 SP-GiST 对叶子键使用有损表示（Teodor Sigaev，Heikki Linnakangas，Alexander Korotkov，Nikita Glukhov）</p>", "text": "允许 SP-GiST 对叶子键使用有损表示（Teodor Sigaev，Heikki Linnakangas，Alexander Korotkov，Nikita Glukhov）", "title": "允许 SP-GiST 对叶子键使用有损表示", "commits": [], "section": "服务器 / 索引 / SP-Gist", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.3.4.3", "source_hash": "934e662cc299f46f3d66e15d86fedb656e31911d39f1e9c52b5d1804b30864b2", "section_path": ["服务器", "索引", "SP-Gist"], "commit_groups": [["854823fa3"]], "identity_text": "Allow SP-GiST to use lossy representation of leaf keys (Teodor Sigaev, Heikki Linnakangas, Alexander Korotkov, Nikita Glukhov)", "commit_aliases": ["854823fa3"], "source_commits": ["854823fa3"], "source_entry_id": "11.0/changes/029", "db_id": "92b6279f35dba8bb5f148642d5b113e2", "patch_ids": ["8f2ec9b90cb397c84384c01087623f9d"], "statement_hash": "6231f1fbbafb16e4353b03b7bc06d2b364386735502856f50ffe93768b491030", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-29e596088fb86c71", "cves": [], "html": "<p>改进统计信息中高频值的选择（Jeff Janes，Dean Rasheed）</p>\n<p>以前，根据某个值相对于所有列值的频率来识别高频值（<acronym>MCV</acronym>）。现在，根据其相对于非 <acronym>MCV</acronym> 值的频率选择 <acronym>MCV</acronym>。这提高了算法在均匀分布和非均匀分布下的稳健性。</p>", "text": "改进统计信息中高频值的选择（Jeff Janes，Dean Rasheed） 以前，根据某个值相对于所有列值的频率来识别高频值（MCV）。现在，根据其相对于非 MCV 值的频率选择 MCV。这提高了算法在均匀分布和非均匀分布下的稳健性。", "title": "改进统计信息中高频值的选择", "commits": [], "section": "服务器 / 优化器", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.3.5", "source_hash": "10ab43b7e90578617411a30b09731f72b935cdc22732f17e6a9bdbd9a6a18e6f", "section_path": ["服务器", "优化器"], "commit_groups": [["b5db1d93d"]], "identity_text": "Improve selection of the most common values for statistics (Jeff Janes, Dean Rasheed) Previously, the most common values (MCVs) were identified based on their frequency compared to all column values. Now, MCVs are chosen based on their frequency compared to the non-MCV values. This improves the robustness of the algorithm for both uniform and non-uniform distributions.", "commit_aliases": ["b5db1d93d"], "source_commits": ["b5db1d93d"], "source_entry_id": "11.0/changes/030", "db_id": "c77333ec171bc43be04e4dafa9d0c35b", "patch_ids": ["e46d4e93a2e3aacd9a08bb2b6bcb47a3"], "statement_hash": "89dbd93d9935ba3283605c3b4868d0bc6a7739e43d0b237979fa31ba89cf0d12", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-ff3b616e2d0ff22c", "cves": [], "html": "<p>改进 <code>&gt;=</code> 和 <code>&lt;=</code> 的选择率估算（Tom Lane）</p>\n<p>以前，除非比较常量为 <acronym>MCV</acronym>，这些情况分别采用与 <code>&gt;</code> 和 <code>&lt;</code> 相同的选择率估算。此更改对涉及小范围 <code>BETWEEN</code> 的查询尤其有帮助。</p>", "text": "改进 >= 和 <= 的选择率估算（Tom Lane） 以前，除非比较常量为 MCV，这些情况分别采用与 > 和 < 相同的选择率估算。此更改对涉及小范围 BETWEEN 的查询尤其有帮助。", "title": "改进 >= 和 <= 的选择率估算", "commits": [], "section": "服务器 / 优化器", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.3.5", "source_hash": "090fa160ccb0ca59724d042f1a3c44f53011320b592388f5c45aff2569644dc1", "section_path": ["服务器", "优化器"], "commit_groups": [["7d08ce286"]], "identity_text": "Improve selectivity estimates for >= and <= (Tom Lane) Previously, such cases used the same selectivity estimates as > and <, respectively, unless the comparison constants are MCVs. This change is particularly helpful for queries involving BETWEEN with small ranges.", "commit_aliases": ["7d08ce286"], "source_commits": ["7d08ce286"], "source_entry_id": "11.0/changes/031", "db_id": "0b3334bf981ded75cf45d021f530d940", "patch_ids": ["40b1a8f4b28c2b3736ba00fb0482b532"], "statement_hash": "e7f1a38caa4a012087f9302ef675dd2445064f3cb50d73fea8e04fa7aee33ca0", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-51380aad66a7d19a", "cves": [], "html": "<p>在等价的情况下，将 <em><code>var</code></em> <code>=</code> <em><code>var</code></em> 简化为 <em><code>var</code></em> <code>IS NOT NULL</code>（Tom Lane）</p>\n<p>这会改善选择率估算。</p>", "text": "在等价的情况下，将 var = var 简化为 var IS NOT NULL（Tom Lane） 这会改善选择率估算。", "title": "在等价的情况下，将 var = var 简化为 var IS NOT NULL", "commits": [], "section": "服务器 / 优化器", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.3.5", "source_hash": "0f3f8bf24f025674077e3649a68c2525a73e800523d4da1e2167f9dbff07aafd", "section_path": ["服务器", "优化器"], "commit_groups": [["8ec5429e2"]], "identity_text": "Reduce var = var to var IS NOT NULL where equivalent (Tom Lane) This leads to better selectivity estimates.", "commit_aliases": ["8ec5429e2"], "source_commits": ["8ec5429e2"], "source_entry_id": "11.0/changes/032", "db_id": "f502793100de87c3464c2c49ea723ea0", "patch_ids": ["dacc2d199e6c2e60c0492e312eabfdba"], "statement_hash": "3bb7d6a4177ae8a51bac6fe0c13f693d48b8d778812f8e9244428563253f5625", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-963100a3e2e88fdd", "cves": [], "html": "<p>改进优化器对 <code>EXISTS</code> 和 <code>NOT EXISTS</code> 查询的行数估算（Tom Lane）</p>", "text": "改进优化器对 EXISTS 和 NOT EXISTS 查询的行数估算（Tom Lane）", "title": "改进优化器对 EXISTS 和 NOT EXISTS 查询的行数估算", "commits": [], "section": "服务器 / 优化器", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.3.5", "source_hash": "908db9e44d74c344eb305ccdaea254c4e522d2b45c69430f07b9fddbc60a5f3a", "section_path": ["服务器", "优化器"], "commit_groups": [["7ca25b7de"]], "identity_text": "Improve optimizer's row count estimates for EXISTS and NOT EXISTS queries (Tom Lane)", "commit_aliases": ["7ca25b7de"], "source_commits": ["7ca25b7de"], "source_entry_id": "11.0/changes/033", "db_id": "3b77a42da87058878d3f8c2bad1bf641", "patch_ids": ["6e2ea6da93bee89ca8a2c222e89f9171"], "statement_hash": "7ea93b3b1546cb08db73d8001dd171d4995f52fef196b80fb1f91089d1e1c4f4", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-fc2be17608249ca0", "cves": [], "html": "<p>使优化器考虑 <code>HAVING</code> 子句的求值代价和选择率（Tom Lane）</p>", "text": "使优化器考虑 HAVING 子句的求值代价和选择率（Tom Lane）", "title": "使优化器考虑 HAVING 子句的求值代价和选择率", "commits": [], "section": "服务器 / 优化器", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.3.5", "source_hash": "891acf201d79c06b5b6bc78dbbdfddc490b08475d6260f4d0c1173aa0c7ec926", "section_path": ["服务器", "优化器"], "commit_groups": [["7b6c07547"]], "identity_text": "Make the optimizer account for evaluation costs and selectivity of HAVING clauses (Tom Lane)", "commit_aliases": ["7b6c07547"], "source_commits": ["7b6c07547"], "source_entry_id": "11.0/changes/034", "db_id": "052751c55c90337df824376b3c705a83", "patch_ids": ["baf0f860793fca5df09360ec5584f58a"], "statement_hash": "e32870aaeefeebb49a20b88ac4468b08be0e48af609f71c3371afb5c47a5766d", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-9a54e0f3a332df2b", "cves": [], "html": "<p>为查询计划的某些部分添加<a href=\"/docs/11/jit.html\" title=\"第 32 章 即时编译（JIT）\">即时</a>（<acronym>JIT</acronym>）编译，以提高执行速度（Andres Freund）</p>\n<p>此特性要求 <span>LLVM</span> 可用。目前，即使构建支持它，默认也不启用。</p>", "text": "为查询计划的某些部分添加即时（JIT）编译，以提高执行速度（Andres Freund） 此特性要求 LLVM 可用。目前，即使构建支持它，默认也不启用。", "title": "为查询计划的某些部分添加即时（JIT）编译，以提高执行速度", "commits": [], "section": "服务器 / 一般性能", "category": "performance", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.3.6", "source_hash": "7113bf4da653975a08301a40ad892f415ed572c16d58a9889dbec4db6e947376", "section_path": ["服务器", "一般性能"], "commit_groups": [["0fdadfb01"], ["32af96b2b"], ["432bb9e04"], ["9370462e9"], ["b96d550eb"], ["cc415a56d"], ["f4f5845b3"]], "identity_text": "Add Just-in-Time (JIT) compilation of some parts of query plans to improve execution speed (Andres Freund) This feature requires LLVM to be available. It is not currently enabled by default, even in builds that support it.", "commit_aliases": ["0fdadfb01", "32af96b2b", "432bb9e04", "9370462e9", "b96d550eb", "cc415a56d", "f4f5845b3"], "source_commits": ["0fdadfb01", "32af96b2b", "432bb9e04", "9370462e9", "b96d550eb", "cc415a56d", "f4f5845b3"], "source_entry_id": "11.0/changes/035", "db_id": "f5aa0e68c7bb86ea988d9629a59e39b7", "patch_ids": ["04a274b866c80eebad3a30af5cbb12e4", "43c5b65c52a6d29a9ca45b1db25bc1bf", "4da261a19858bd649076a90e04ee448d", "4f1617e0f9afec0375f9e30035939be7", "661d5108f639ab722bb541e9841e5edf", "dc124cfb0ef67126a9c06e536b2b9986", "f6fd992546ccbc05f174abb1796e6aa1"], "statement_hash": "cd4ada7658f0e7adb0764a4b0ef5cecd34aa92798c5cf4c93a0dfa5d0c3ad733", "relations": [], "version": "11.0", "category_label": "性能改进", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-9551bea74772b6d6", "cves": [], "html": "<p>允许位图扫描在可能时执行仅索引扫描（Alexander Kuzmenkov）</p>", "text": "允许位图扫描在可能时执行仅索引扫描（Alexander Kuzmenkov）", "title": "允许位图扫描在可能时执行仅索引扫描", "commits": [], "section": "服务器 / 一般性能", "category": "performance", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.3.6", "source_hash": "eb40b6dd6abde2a00dd8680972cb51da09b06f99a0a284faa3e78f50ba4568d8", "section_path": ["服务器", "一般性能"], "commit_groups": [["7c70996eb"]], "identity_text": "Allow bitmap scans to perform index-only scans when possible (Alexander Kuzmenkov)", "commit_aliases": ["7c70996eb"], "source_commits": ["7c70996eb"], "source_entry_id": "11.0/changes/036", "db_id": "cdc84ae14a90b8f8f74e98d7e9f60cbf", "patch_ids": ["14ddb409be3f6465527dcb705962e11d"], "statement_hash": "f0583b530831e72163b7f48bdfdf8b23deefacc92ea563dff9ffae66833c7f7b", "relations": [], "version": "11.0", "category_label": "性能改进", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-e8bd201a3430e4da", "cves": [], "html": "<p>在 <code>VACUUM</code> 期间更新空闲空间映射（Claudio Freire）</p>\n<p>这使空闲空间能够更快地被复用。</p>", "text": "在 VACUUM 期间更新空闲空间映射（Claudio Freire） 这使空闲空间能够更快地被复用。", "title": "在 VACUUM 期间更新空闲空间映射", "commits": [], "section": "服务器 / 一般性能", "category": "performance", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.3.6", "source_hash": "5cf5dbc6f367bd7329ffee73b644d9d3f51ec5f11c9fcb816a4c7ca1f4e2852e", "section_path": ["服务器", "一般性能"], "commit_groups": [["851a26e26"], ["c79f6df75"]], "identity_text": "Update the free space map during VACUUM (Claudio Freire) This allows free space to be reused more quickly.", "commit_aliases": ["851a26e26", "c79f6df75"], "source_commits": ["851a26e26", "c79f6df75"], "source_entry_id": "11.0/changes/037", "db_id": "79c5cb83f4ceb7751e4b14cecd300b36", "patch_ids": ["263848c0a37e919e865258f46a2ee719", "63ead92f5d0dcc96b6dfa6c5cb86b146"], "statement_hash": "094f6d9fe3db0306f0d79d92de59ca3fd75d1e6470dbc72648e9712ce296d869", "relations": [], "version": "11.0", "category_label": "性能改进", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-4566989b2713b728", "cves": [], "html": "<p>允许 <code>VACUUM</code> 避免不必要的索引扫描（Masahiko Sawada，Alexander Korotkov）</p>", "text": "允许 VACUUM 避免不必要的索引扫描（Masahiko Sawada，Alexander Korotkov）", "title": "允许 VACUUM 避免不必要的索引扫描", "commits": [], "section": "服务器 / 一般性能", "category": "performance", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.3.6", "source_hash": "b5468a842be5013fb4bcf4826bf18e468ee3327a70d3828faad143988c72031c", "section_path": ["服务器", "一般性能"], "commit_groups": [["857f9c36c"]], "identity_text": "Allow VACUUM to avoid unnecessary index scans (Masahiko Sawada, Alexander Korotkov)", "commit_aliases": ["857f9c36c"], "source_commits": ["857f9c36c"], "source_entry_id": "11.0/changes/038", "db_id": "360eaafec92ed03025911dc26316f168", "patch_ids": ["0ffa80cae94d257eada4c7964cadcd7c"], "statement_hash": "ee96fffa3b2c2dc994bfd7b590983442e111e209ba2b5aed71501b0dd45269a1", "relations": [], "version": "11.0", "category_label": "性能改进", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-7dc6eefe68560eca", "cves": [], "html": "<p>提高提交多个并发事务的性能（Amit Kapila）</p>", "text": "提高提交多个并发事务的性能（Amit Kapila）", "title": "提高提交多个并发事务的性能", "commits": [], "section": "服务器 / 一般性能", "category": "performance", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.3.6", "source_hash": "02afbdcc08010f053e25e805fef6da95c49915ccdc235ebe7c21cfd4e14b8c44", "section_path": ["服务器", "一般性能"], "commit_groups": [["baaf272ac"]], "identity_text": "Improve performance of committing multiple concurrent transactions (Amit Kapila)", "commit_aliases": ["baaf272ac"], "source_commits": ["baaf272ac"], "source_entry_id": "11.0/changes/039", "db_id": "36dce2fac3398c608c1fe1a9905e22f1", "patch_ids": ["fb852ad8c1824c2d025dbff3c5b8a500"], "statement_hash": "da412e08e1358a01844d255132284cd3484d5fa33bc99b62ea6e2b860ae621f5", "relations": [], "version": "11.0", "category_label": "性能改进", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-57f0dd08e01ec664", "cves": [], "html": "<p>减少目标列表中使用返回集合函数的查询的内存用量（Andres Freund）</p>", "text": "减少目标列表中使用返回集合函数的查询的内存用量（Andres Freund）", "title": "减少目标列表中使用返回集合函数的查询的内存用量", "commits": [], "section": "服务器 / 一般性能", "category": "performance", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.3.6", "source_hash": "a7aa3d1942a52d0821ec6e5298fec9a9acd7cf0a37297ebcebe9d794bb982e29", "section_path": ["服务器", "一般性能"], "commit_groups": [["84ad4b036"]], "identity_text": "Reduce memory usage for queries using set-returning functions in their target lists (Andres Freund)", "commit_aliases": ["84ad4b036"], "source_commits": ["84ad4b036"], "source_entry_id": "11.0/changes/040", "db_id": "3aa21c8b21b62e64afb38c65fb73486f", "patch_ids": ["a6cbdecc9c0c45a47c95dbaa5fc4fcc2"], "statement_hash": "bae35c7905967036eed535a2c3125e2d327250937a3832e02d6aefe9a0ae47f6", "relations": [], "version": "11.0", "category_label": "性能改进", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-0ea9090b12cb0dc1", "cves": [], "html": "<p>提高聚合计算的速度（Andres Freund）</p>", "text": "提高聚合计算的速度（Andres Freund）", "title": "提高聚合计算的速度", "commits": [], "section": "服务器 / 一般性能", "category": "performance", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.3.6", "source_hash": "58dab48812275fbe84b759a84cf96a0ff33877f0f5a22a4640bc4be40235958e", "section_path": ["服务器", "一般性能"], "commit_groups": [["69c3936a1"]], "identity_text": "Improve the speed of aggregate computations (Andres Freund)", "commit_aliases": ["69c3936a1"], "source_commits": ["69c3936a1"], "source_entry_id": "11.0/changes/041", "db_id": "991c579f8f8714afaac4570c5441a21a", "patch_ids": ["84624809612700b979c023402b09d3f1"], "statement_hash": "5848429f9dbd27d63af51305d76199d4f0ed81090d48f7f55f64dd8c6c795d77", "relations": [], "version": "11.0", "category_label": "性能改进", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-9abd1a0f09dd7155", "cves": [], "html": "<p>允许 <a href=\"/docs/11/postgres-fdw.html\" title=\"F.33. postgres_fdw\"><code>postgres_fdw</code></a> 将使用连接的 <code>UPDATE</code> 和 <code>DELETE</code> 下推到外部服务器（Etsuro Fujita）</p>\n<p>以前，只会下推不含连接的 <code>UPDATE</code> 和 <code>DELETE</code>。</p>", "text": "允许 postgres_fdw 将使用连接的 UPDATE 和 DELETE 下推到外部服务器（Etsuro Fujita） 以前，只会下推不含连接的 UPDATE 和 DELETE。", "title": "允许 postgres_fdw 将使用连接的 UPDATE 和 DELETE 下推到外部服务器", "commits": [], "section": "服务器 / 一般性能", "category": "performance", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.3.6", "source_hash": "7af6aba3fd3ff098488f18d40cc91ba0e73d821ecdfe62f11a6886a0ac4c57e3", "section_path": ["服务器", "一般性能"], "commit_groups": [["1bc0100d2"]], "identity_text": "Allow postgres_fdw to push UPDATEs and DELETEs using joins to foreign servers (Etsuro Fujita) Previously, only non-join UPDATEs and DELETEs were pushed.", "commit_aliases": ["1bc0100d2"], "source_commits": ["1bc0100d2"], "source_entry_id": "11.0/changes/042", "db_id": "f815ff05a510c59f5a6e98584b9a87d3", "patch_ids": ["a8a0d59ad3a814fa06a6a91bd92a1b1e"], "statement_hash": "60c79720aae03ab01ef636c4476335c9ab91393cbdc338cf6978943836db155d", "relations": [], "version": "11.0", "category_label": "性能改进", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-1ecfce0197316217", "cves": [], "html": "<p>添加对 Windows 上<em>大页</em>的支持（Takayuki Tsunakawa，Thomas Munro）</p>\n<p>这由 <a href=\"/docs/11/runtime-config-resource.html#GUC-HUGE-PAGES\">huge_pages</a> 配置参数控制。</p>", "text": "添加对 Windows 上大页的支持（Takayuki Tsunakawa，Thomas Munro） 这由 huge_pages 配置参数控制。", "title": "添加对 Windows 上大页的支持", "commits": [], "section": "服务器 / 一般性能", "category": "performance", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.3.6", "source_hash": "b6cfca66a8916570598eb6191a174c0037103df1d7e93ba6b1a62a534161aa3b", "section_path": ["服务器", "一般性能"], "commit_groups": [["1cc4f536e"]], "identity_text": "Add support for large pages on Windows (Takayuki Tsunakawa, Thomas Munro) This is controlled by the huge_pages configuration parameter.", "commit_aliases": ["1cc4f536e"], "source_commits": ["1cc4f536e"], "source_entry_id": "11.0/changes/043", "db_id": "f01fb3ea5f5e5114b391d3f3253b246d", "patch_ids": ["11e4d73b483ef111f384ec9213b96db8"], "statement_hash": "97e99e91a4fee7f004238a46669b2ce164ad40eaaee3b5d47f7cbcb51d336dac", "relations": [], "version": "11.0", "category_label": "性能改进", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-8903e8211b3b1313", "cves": [], "html": "<p>在 <a href=\"/docs/11/runtime-config-statistics.html#RUNTIME-CONFIG-STATISTICS-MONITOR\" title=\"19.9.2. 统计监控\"><code>log_statement_stats</code></a>、<code>log_parser_stats</code>、<code>log_planner_stats</code> 和 <code>log_executor_stats</code> 的输出中显示内存用量（Justin Pryzby，Peter Eisentraut）</p>", "text": "在 log_statement_stats、log_parser_stats、log_planner_stats 和 log_executor_stats 的输出中显示内存用量（Justin Pryzby，Peter Eisentraut）", "title": "在 log_statement_stats、log_parser_stats、log_planner_stats 和 log_executor_stats 的输出中显示内存用量", "commits": [], "section": "服务器 / 监控", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.3.7", "source_hash": "64ecae2a3ec998cdcb6525a26d60f1b2e18b28b6bb370aacad52a8ddfeca9421", "section_path": ["服务器", "监控"], "commit_groups": [["c039ba071"]], "identity_text": "Show memory usage in output from log_statement_stats, log_parser_stats, log_planner_stats, and log_executor_stats (Justin Pryzby, Peter Eisentraut)", "commit_aliases": ["c039ba071"], "source_commits": ["c039ba071"], "source_entry_id": "11.0/changes/044", "db_id": "7dcabb69d1b8dd9c4ea37ec0d94b6d12", "patch_ids": ["c25846230fc69fed24972a078f3a2201"], "statement_hash": "d22122e62af85b058c29fb988f376813ac3a44c55ab15cd99516df4883bfb9bf", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-ac91b62bcdc242b2", "cves": [], "html": "<p>添加 <a href=\"/docs/11/monitoring-stats.html#PG-STAT-ACTIVITY-VIEW\" title=\"表 28.3. pg_stat_activity 视图\"><code>pg_stat_activity</code>.<code>backend_type</code></a> 列，以显示后台工作进程的类型（Peter Eisentraut）</p>\n<p>该类型在 <span>ps</span> 输出中也可见。</p>", "text": "添加 pg_stat_activity.backend_type 列，以显示后台工作进程的类型（Peter Eisentraut） 该类型在 ps 输出中也可见。", "title": "添加 pg_stat_activity.backend_type 列，以显示后台工作进程的类型", "commits": [], "section": "服务器 / 监控", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.3.7", "source_hash": "14fccba940dda1c121267fc4000b512603cd920429994468f870242cef74b317", "section_path": ["服务器", "监控"], "commit_groups": [["5373bc2a0"]], "identity_text": "Add column pg_stat_activity.backend_type to show the type of a background worker (Peter Eisentraut) The type is also visible in ps output.", "commit_aliases": ["5373bc2a0"], "source_commits": ["5373bc2a0"], "source_entry_id": "11.0/changes/045", "db_id": "50ce9aa0b2a355c578fef384489ef45e", "patch_ids": ["2dae9ba379e6b0016d69c23449d9d026"], "statement_hash": "85fbb6a715d941890095670548c2ed66c4964c6cb04d54a44c0ea0b5fa2574cf", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-fbb92a78e33433d7", "cves": [], "html": "<p>使 <a href=\"/docs/11/runtime-config-autovacuum.html#GUC-LOG-AUTOVACUUM-MIN-DURATION\"><code>log_autovacuum_min_duration</code></a> 记录因正被并发删除而跳过的表（Nathan Bossart）</p>", "text": "使 log_autovacuum_min_duration 记录因正被并发删除而跳过的表（Nathan Bossart）", "title": "使 log_autovacuum_min_duration 记录因正被并发删除而跳过的表", "commits": [], "section": "服务器 / 监控", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.3.7", "source_hash": "d96daaf8e255bcc0d57bab63add4623a10278f0ca37cb3aa0555f07fec7e8f1f", "section_path": ["服务器", "监控"], "commit_groups": [["ab6eaee88"]], "identity_text": "Make log_autovacuum_min_duration log skipped tables that are concurrently being dropped (Nathan Bossart)", "commit_aliases": ["ab6eaee88"], "source_commits": ["ab6eaee88"], "source_entry_id": "11.0/changes/046", "db_id": "88e11376873db37860a8283def88c839", "patch_ids": ["89a735098dfe8b0bcc438bf4793d0997"], "statement_hash": "90ba145481ec14835594d2a0c1e729f9304df3343b8eeaa4d7092c35c639013a", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-92a394957d10ead4", "cves": [], "html": "<p>添加与表约束和触发器相关的 <code>information_schema</code> 列（Peter Eisentraut）</p>\n<p>具体而言，<code>triggers</code>.<code>action_order</code>、<code>triggers</code>.<code>action_reference_old_table</code> 和 <code>triggers</code>.<code>action_reference_new_table</code> 现在会填入值，而以前始终为空。此外，<code>table_constraints</code>.<code>enforced</code> 列现在已存在，但尚未填入有用的值。</p>", "text": "添加与表约束和触发器相关的 information_schema 列（Peter Eisentraut） 具体而言，triggers.action_order、triggers.action_reference_old_table 和 triggers.action_reference_new_table 现在会填入值，而以前始终为空。此外，table_constraints.enforced 列现在已存在，但尚未填入有用的值。", "title": "添加与表约束和触发器相关的 information_schema 列", "commits": [], "section": "服务器 / 监控 / 信息模式", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.3.7.3", "source_hash": "cc450cc8213f864cd5c0790d5bdebf53df55c7a1040bb789197e7803afdaffda", "section_path": ["服务器", "监控", "信息模式"], "commit_groups": [["32ff26911"]], "identity_text": "Add information_schema columns related to table constraints and triggers (Peter Eisentraut) Specifically, triggers.action_order, triggers.action_reference_old_table, and triggers.action_reference_new_table are now populated, where before they were always null. Also, table_constraints.enforced now exists but is not yet usefully populated.", "commit_aliases": ["32ff26911"], "source_commits": ["32ff26911"], "source_entry_id": "11.0/changes/047", "db_id": "cf80aa0f9ac6ab113721ddb044aa374d", "patch_ids": ["cbc5472bccfe53c66431a3fd73625c53"], "statement_hash": "a17ecaf69e32ee3595693ac6f1e78626c35e124b67869aeaabded89dbea5be1f", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-5aca042f327b6142", "cves": [], "html": "<p>允许服务器在 search+bind 模式下使用更复杂的 <a href=\"/docs/11/auth-ldap.html\" title=\"20.10. LDAP 认证\"><acronym>LDAP</acronym></a> 配置（Thomas Munro）</p>\n<p>具体而言，<code>ldapsearchfilter</code> 允许组合 <acronym>LDAP</acronym> 属性进行模式匹配。</p>", "text": "允许服务器在 search+bind 模式下使用更复杂的 LDAP 配置（Thomas Munro） 具体而言，ldapsearchfilter 允许组合 LDAP 属性进行模式匹配。", "title": "允许服务器在 search+bind 模式下使用更复杂的 LDAP 配置", "commits": [], "section": "服务器 / Authentication", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.3.8", "source_hash": "a4b1deaa0e9d80d3250d3652b701e4e77b40d919f87ab148869c954e63445d05", "section_path": ["服务器", "Authentication"], "commit_groups": [["83aaac41c"]], "identity_text": "Allow the server to specify more complex LDAP specifications in search+bind mode (Thomas Munro) Specifically, ldapsearchfilter allows pattern matching using combinations of LDAP attributes.", "commit_aliases": ["83aaac41c"], "source_commits": ["83aaac41c"], "source_entry_id": "11.0/changes/048", "db_id": "72437165e1f32f65a6b478fd95d22270", "patch_ids": ["7c27a2d87838ac41c99b47ba05185979"], "statement_hash": "123b50ea60bada2ea580cbd9b1350bd8ba9f8d67566ea0fd411ff164dab6179c", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-343f785c1d0c7f03", "cves": [], "html": "<p>允许 <acronym>LDAP</acronym> 认证使用加密的 <acronym>LDAP</acronym>（Thomas Munro）</p>\n<p>以前已可通过 <code>ldaptls=1</code> 支持基于 <acronym>TLS</acronym> 的 <acronym>LDAP</acronym>。这种用于加密 <acronym>LDAP</acronym> 的新 <acronym>TLS</acronym> <acronym>LDAP</acronym> 方式，通过 <code>ldapscheme=ldaps</code> 或 <code>ldapurl=ldaps://</code> 启用。</p>", "text": "允许 LDAP 认证使用加密的 LDAP（Thomas Munro） 以前已可通过 ldaptls=1 支持基于 TLS 的 LDAP。这种用于加密 LDAP 的新 TLS LDAP 方式，通过 ldapscheme=ldaps 或 ldapurl=ldaps:// 启用。", "title": "允许 LDAP 认证使用加密的 LDAP", "commits": [], "section": "服务器 / Authentication", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.3.8", "source_hash": "3a42e9208f95522bb8d3575c4d10b5538ed83859bd7b13419493ba02a6e27f4a", "section_path": ["服务器", "Authentication"], "commit_groups": [["35c0754fa"], ["3ad2afc2e"]], "identity_text": "Allow LDAP authentication to use encrypted LDAP (Thomas Munro) We already supported LDAP over TLS by using ldaptls=1. This new TLS LDAP method for encrypted LDAP is enabled with ldapscheme=ldaps or ldapurl=ldaps://.", "commit_aliases": ["35c0754fa", "3ad2afc2e"], "source_commits": ["35c0754fa", "3ad2afc2e"], "source_entry_id": "11.0/changes/049", "db_id": "e31102ddd553ae8c026e924c160ca2de", "patch_ids": ["7f792f3c6c305b482aabc29d8d651dae", "af52c47b54f2f733770555d57b1b5863"], "statement_hash": "048d30c49c17c7cc24a7667f8fa8dcf1f4b9a5cb0041d1d9e77c3d174ee62217", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-e379d9175e17d7bf", "cves": [], "html": "<p>改进 <acronym>LDAP</acronym> 错误的日志记录（Thomas Munro）</p>", "text": "改进 LDAP 错误的日志记录（Thomas Munro）", "title": "改进 LDAP 错误的日志记录", "commits": [], "section": "服务器 / Authentication", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.3.8", "source_hash": "ba42ec08339ab64fe9d31d3c817bdaf20c7d8ccfc855404be63bc3a947473a52", "section_path": ["服务器", "Authentication"], "commit_groups": [["cf1238cd9"]], "identity_text": "Improve logging of LDAP errors (Thomas Munro)", "commit_aliases": ["cf1238cd9"], "source_commits": ["cf1238cd9"], "source_entry_id": "11.0/changes/050", "db_id": "d835fe9c0c6d7625838a8d833f2e30c5", "patch_ids": ["dcdc5233ecc8a2496357e0a0dd8f06c6"], "statement_hash": "ae64df16cae8d6bf31768ae216689854e043231ae9b13136c821d6ecddfaf46b", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-cb345e26b4519c8d", "cves": [], "html": "<p>添加允许文件系统访问的<a href=\"/docs/11/default-roles.html#DEFAULT-ROLES-TABLE\" title=\"表 21.1. 默认角色\">默认角色</a>（Stephen Frost）</p>\n<p>具体来说，新增角色是 <code>pg_read_server_files</code>、<code>pg_write_server_files</code> 和 <code>pg_execute_server_program</code>。这些角色现在还控制谁可以使用服务器端的 <code>COPY</code> 和 <a href=\"/docs/11/file-fdw.html\" title=\"F.14. file_fdw\"><code>file_fdw</code></a> 扩展。以前，只有超级用户可以使用这些功能，现在默认行为仍然如此。</p>", "text": "添加允许文件系统访问的默认角色（Stephen Frost） 具体来说，新增角色是 pg_read_server_files、pg_write_server_files 和 pg_execute_server_program。这些角色现在还控制谁可以使用服务器端的 COPY 和 file_fdw 扩展。以前，只有超级用户可以使用这些功能，现在默认行为仍然如此。", "title": "添加允许文件系统访问的默认角色", "commits": [], "section": "服务器 / 权限", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.3.9", "source_hash": "95ab77073d9dbcc05a6d6e47ec1a5b1b1ebed919a876af45f11c329ebccfd1dc", "section_path": ["服务器", "权限"], "commit_groups": [["0fdc8495b"], ["da9b580d8"]], "identity_text": "Add default roles that enable file system access (Stephen Frost) Specifically, the new roles are: pg_read_server_files, pg_write_server_files, and pg_execute_server_program. These roles now also control who can use server-side COPY and the file_fdw extension. Previously, only superusers could use these functions, and that is still the default behavior.", "commit_aliases": ["0fdc8495b", "da9b580d8"], "source_commits": ["0fdc8495b", "da9b580d8"], "source_entry_id": "11.0/changes/051", "db_id": "85bdcc58d402a70b786b4dbaa25e9112", "patch_ids": ["b2284d966eee3ea07f814fe4acc65444", "c99685c206c48f557f29180150aff351"], "statement_hash": "87c001eeacc10fdb471734302f10333359437cd738296d57b8e38c7d51fd5512", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-eef48317025439e3", "cves": [], "html": "<p>允许通过 <code>GRANT</code>/<code>REVOKE</code> 权限控制对文件系统函数的访问，取代超级用户检查（Stephen Frost）</p>\n<p>具体而言，修改了以下函数：<a href=\"/docs/11/functions-admin.html#FUNCTIONS-ADMIN-GENFILE-TABLE\" title=\"表 9.88. 通用文件访问函数\"><code>pg_ls_dir()</code></a>、<code>pg_read_file()</code>、<code>pg_read_binary_file()</code>、<code>pg_stat_file()</code>。</p>", "text": "允许通过 GRANT/REVOKE 权限控制对文件系统函数的访问，取代超级用户检查（Stephen Frost） 具体而言，修改了以下函数：pg_ls_dir()、pg_read_file()、pg_read_binary_file()、pg_stat_file()。", "title": "允许通过 GRANT/REVOKE 权限控制对文件系统函数的访问，取代超级用户检查", "commits": [], "section": "服务器 / 权限", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.3.9", "source_hash": "a65c6b73288b7b880dedbe59821d5ae9045e2d87088c2c2bc0e9d956af5e19f1", "section_path": ["服务器", "权限"], "commit_groups": [["e79350fef"]], "identity_text": "Allow access to file system functions to be controlled by GRANT/REVOKE permissions, rather than superuser checks (Stephen Frost) Specifically, these functions were modified: pg_ls_dir(), pg_read_file(), pg_read_binary_file(), pg_stat_file().", "commit_aliases": ["e79350fef"], "source_commits": ["e79350fef"], "source_entry_id": "11.0/changes/052", "db_id": "34d1eed64f84c453bb8312cbc9140641", "patch_ids": ["048c8a6d4d3033f6b8d5fd387fbe3ab1"], "statement_hash": "51a5c14900450660a2b2e01fd036bc6bd1f3cbfd923c4e483cbd1d605c4c2f00", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-43b08ce9ee77cf87", "cves": [], "html": "<p>使用 <code>GRANT</code>/<code>REVOKE</code> 控制对 <a href=\"/docs/11/lo-interfaces.html#LO-IMPORT\" title=\"35.3.2. 导入一个大对象\"><code>lo_import()</code></a> 和 <code>lo_export()</code> 的访问（Michael Paquier，Tom Lane）</p>\n<p>以前，只有超级用户获准访问这些函数。</p>\n<p>编译时选项 <code>ALLOW_DANGEROUS_LO_FUNCTIONS</code> 已被移除。</p>", "text": "使用 GRANT/REVOKE 控制对 lo_import() 和 lo_export() 的访问（Michael Paquier，Tom Lane） 以前，只有超级用户获准访问这些函数。 编译时选项 ALLOW_DANGEROUS_LO_FUNCTIONS 已被移除。", "title": "使用 GRANT/REVOKE 控制对 lo_import() 和 lo_export() 的访问", "commits": [], "section": "服务器 / 权限", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.3.9", "source_hash": "625daac310004e879ba11c4bd9eeed72815852ca08c6b64d9110baa3932b77af", "section_path": ["服务器", "权限"], "commit_groups": [["5ecc0d738"], ["6d776522d"]], "identity_text": "Use GRANT/REVOKE to control access to lo_import() and lo_export() (Michael Paquier, Tom Lane) Previously, only superusers were granted access to these functions. The compile-time option ALLOW_DANGEROUS_LO_FUNCTIONS has been removed.", "commit_aliases": ["5ecc0d738", "6d776522d"], "source_commits": ["5ecc0d738", "6d776522d"], "source_entry_id": "11.0/changes/053", "db_id": "64317dec4095a31874ad8bfffd1b3783", "patch_ids": ["2f492a4642cc93d8877db1a9839f8422", "eedf0c6681cf9bbd404133ffc0f03ee6"], "statement_hash": "e0cf2e7bb8d51667238f48e5e52b8b75d3e546af7734ef077d690510d104dd56", "relations": [{"rule": 2, "type": "related", "target": "0b279c27863f37b234d2c71e90a34f66", "evidence": {"same_day": true, "patch_ids": ["2f492a4642cc93d8877db1a9839f8422"]}}], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": [{"db_id": "0b279c27863f37b234d2c71e90a34f66", "kind": "related", "version": "11.0", "label": "11.0", "title": "在通过 lo_open() 打开大对象时检查大对象权限，而非在尝试读写时检查", "evidence": {"same_day": true, "patch_ids": ["2f492a4642cc93d8877db1a9839f8422"]}, "url": "/docs/compare/?release=11.0#11.0-6a645212e19fbb02", "source_url": "/docs/release/11.0/#id-1.11.6.27.4"}]}, {"id": "11.0-b7b141f93ce42c76", "cves": [], "html": "<p>在阻止以非密码方式访问 <a href=\"/docs/11/postgres-fdw.html\" title=\"F.33. postgres_fdw\"><code>postgres_fdw</code></a> 表时，使用视图所有者而非会话所有者（Robert Haas）</p>\n<p><span>PostgreSQL</span> 只允许超级用户在不使用密码的情况下访问 <code>postgres_fdw</code> 表，例如通过 <code>peer</code> 认证。以前，要允许此类访问，会话所有者必须是超级用户；现在改为检查视图所有者。</p>", "text": "在阻止以非密码方式访问 postgres_fdw 表时，使用视图所有者而非会话所有者（Robert Haas） PostgreSQL 只允许超级用户在不使用密码的情况下访问 postgres_fdw 表，例如通过 peer 认证。以前，要允许此类访问，会话所有者必须是超级用户；现在改为检查视图所有者。", "title": "在阻止以非密码方式访问 postgres_fdw 表时，使用视图所有者而非会话所有者", "commits": [], "section": "服务器 / 权限", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.3.9", "source_hash": "d617a30dad4d948433ebc5b591ad047022fce48b9411b04049e32b1b4a91d50d", "section_path": ["服务器", "权限"], "commit_groups": [["ab3f008a2"]], "identity_text": "Use view owner not session owner when preventing non-password access to postgres_fdw tables (Robert Haas) PostgreSQL only allows superusers to access postgres_fdw tables without passwords, e.g., via peer. Previously, the session owner had to be a superuser to allow such access; now the view owner is checked instead.", "commit_aliases": ["ab3f008a2"], "source_commits": ["ab3f008a2"], "source_entry_id": "11.0/changes/054", "db_id": "2e59df2e588f076ca6157783090eb5ec", "patch_ids": ["64ebc2a165cd0a5f9081a99fc69f0ca2"], "statement_hash": "28a830b2113c7496b5a784770c4ead4699ebe99b0f862c2e12109020264eb31f", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-c1e810f4835245b1", "cves": [], "html": "<p>修复对视图执行 <code>SELECT FOR UPDATE</code> 时无效的锁定权限检查（Tom Lane）</p>", "text": "修复对视图执行 SELECT FOR UPDATE 时无效的锁定权限检查（Tom Lane）", "title": "修复对视图执行 SELECT FOR UPDATE 时无效的锁定权限检查", "commits": [], "section": "服务器 / 权限", "category": "bugfix", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.3.9", "source_hash": "34fc37020aadaeea60cf066257a3039194807a5d3177bf9b3a4ec03f6d3ad468", "section_path": ["服务器", "权限"], "commit_groups": [["50c6bb022"]], "identity_text": "Fix invalid locking permission check in SELECT FOR UPDATE on views (Tom Lane)", "commit_aliases": ["50c6bb022"], "source_commits": ["50c6bb022"], "source_entry_id": "11.0/changes/055", "db_id": "0c62ce14098f322927822e44b798037e", "patch_ids": ["54064ad075bc8751bd8417591b9195ac"], "statement_hash": "93c405beb7da8351ff3728369fa0b6c0ce5d4deb25a23dd029e8b1a4b8fcb87d", "relations": [], "version": "11.0", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-0180533cbaacc09a", "cves": [], "html": "<p>添加服务器设置 <a href=\"/docs/11/runtime-config-connection.html#GUC-SSL-PASSPHRASE-COMMAND\"><code>ssl_passphrase_command</code></a>，以允许为 <acronym>SSL</acronym> 密钥文件提供口令（Peter Eisentraut）</p>\n<p>同时添加 <a href=\"/docs/11/runtime-config-connection.html#GUC-SSL-PASSPHRASE-COMMAND-SUPPORTS-RELOAD\"><code>ssl_passphrase_command_supports_reload</code></a>，用于指定服务器配置重新加载期间，是否应重新加载 <acronym>SSL</acronym> 配置并调用 <code>ssl_passphrase_command</code>。</p>", "text": "添加服务器设置 ssl_passphrase_command，以允许为 SSL 密钥文件提供口令（Peter Eisentraut） 同时添加 ssl_passphrase_command_supports_reload，用于指定服务器配置重新加载期间，是否应重新加载 SSL 配置并调用 ssl_passphrase_command。", "title": "添加服务器设置 ssl_passphrase_command，以允许为 SSL 密钥文件提供口令", "commits": [], "section": "服务器 / 服务器配置", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.3.10", "source_hash": "d3778df3f88ce6485b4741b45a9dd1af27f3e94c9d688d4e468dc7f4e145f41f", "section_path": ["服务器", "服务器配置"], "commit_groups": [["8a3d94252"]], "identity_text": "Add server setting ssl_passphrase_command to allow supplying of the passphrase for SSL key files (Peter Eisentraut) Also add ssl_passphrase_command_supports_reload to specify whether the SSL configuration should be reloaded and ssl_passphrase_command called during a server configuration reload.", "commit_aliases": ["8a3d94252"], "source_commits": ["8a3d94252"], "source_entry_id": "11.0/changes/056", "db_id": "f64e6c3af83ac5540c0680fb03310080", "patch_ids": ["8a61c8906208b6f444a925ba6398b5f2"], "statement_hash": "fe073f5577ea791b20141412bf9c7dcee45b103f6ec0bf492c3c01a5e68faab3", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-e106d5d335e15243", "cves": [], "html": "<p>添加存储参数 <a href=\"/docs/11/sql-createtable.html#SQL-CREATETABLE-STORAGE-PARAMETERS\" title=\"存储参数\"><code>toast_tuple_target</code></a>，以控制开始考虑 <acronym>TOAST</acronym> 存储的最小元组长度（Simon Riggs）</p>\n<p>默认的 <acronym>TOAST</acronym> 阈值没有改变。</p>", "text": "添加存储参数 toast_tuple_target，以控制开始考虑 TOAST 存储的最小元组长度（Simon Riggs） 默认的 TOAST 阈值没有改变。", "title": "添加存储参数 toast_tuple_target，以控制开始考虑 TOAST 存储的最小元组长度", "commits": [], "section": "服务器 / 服务器配置", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.3.10", "source_hash": "35a464e2aeb91ffb892bb99c2fdb1484274b1e86d619ce65830cfde29bed4f39", "section_path": ["服务器", "服务器配置"], "commit_groups": [["c2513365a"]], "identity_text": "Add storage parameter toast_tuple_target to control the minimum tuple length before TOAST storage will be considered (Simon Riggs) The default TOAST threshold has not been changed.", "commit_aliases": ["c2513365a"], "source_commits": ["c2513365a"], "source_entry_id": "11.0/changes/057", "db_id": "ace5f27f4a22e60e5e315e523db0d475", "patch_ids": ["f38bc3b70a551b1688d8e728acf7441e"], "statement_hash": "d5dc594bc3fc7340bd7891227b000cc0bcc1b869027a591115a7fb0e8e23c398", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-1ae6bab0db83cc2f", "cves": [], "html": "<p>允许以字节为单位指定与内存和文件大小相关的服务器选项（Beena Emerson）</p>\n<p>新增单位后缀为 <span>“<span>B</span>”</span>，与现有的 <span>“<span>kB</span>”</span>、<span>“<span>MB</span>”</span>、<span>“<span>GB</span>”</span> 和 <span>“<span>TB</span>”</span> 并用。</p>", "text": "允许以字节为单位指定与内存和文件大小相关的服务器选项（Beena Emerson） 新增单位后缀为 “B”，与现有的 “kB”、“MB”、“GB” 和 “TB” 并用。", "title": "允许以字节为单位指定与内存和文件大小相关的服务器选项", "commits": [], "section": "服务器 / 服务器配置", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.3.10", "source_hash": "cb52ef7d99025408e5a80f9fd9b3b0e35f32c64a857e0f7869435bbd25a71b29", "section_path": ["服务器", "服务器配置"], "commit_groups": [["6e7baa322"], ["b06d8e58b"]], "identity_text": "Allow server options related to memory and file sizes to be specified in units of bytes (Beena Emerson) The new unit suffix is B. This is in addition to the existing units kB, MB, GB and TB.", "commit_aliases": ["6e7baa322", "b06d8e58b"], "source_commits": ["6e7baa322", "b06d8e58b"], "source_entry_id": "11.0/changes/058", "db_id": "04aa60ab2b89066ec89bd6c60605739f", "patch_ids": ["9d6582b2063b65dcd591508db87d200b", "deb10772777150c2727b2fb1111e397a"], "statement_hash": "bf40f7571fa9ca8a72e64645abededd51cb9dbc57408ce8c91da5b4d30a04fe0", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-1b8986eeb92ea478", "cves": [], "html": "<p>允许在 <span>initdb</span> 期间设置 <acronym>WAL</acronym> 文件大小（Beena Emerson）</p>\n<p>以前，16MB 的默认值只能在编译时更改。</p>", "text": "允许在 initdb 期间设置 WAL 文件大小（Beena Emerson） 以前，16MB 的默认值只能在编译时更改。", "title": "允许在 initdb 期间设置 WAL 文件大小", "commits": [], "section": "服务器 / 预写式日志（WAL）", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.3.11", "source_hash": "a4b35c4d9ef913a225d8b16649c7a028a8745439b219f63babe5cc56ef7a410d", "section_path": ["服务器", "预写式日志（WAL）"], "commit_groups": [["fc49e24fa"]], "identity_text": "Allow the WAL file size to be set during initdb (Beena Emerson) Previously, the 16MB default could only be changed at compile time.", "commit_aliases": ["fc49e24fa"], "source_commits": ["fc49e24fa"], "source_entry_id": "11.0/changes/059", "db_id": "47fbfb37e540c4f7c25c4d48495164a6", "patch_ids": ["ee4d6e1f35c15ef4c16cbe190565844b"], "statement_hash": "1a93805137ff3cfed2d7c3a0ebc49e8ec2f0d1870b2808eea2695c68735c8814", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-18da4a5f1610d3be", "cves": [], "html": "<p>仅保留一个检查点周期的 <acronym>WAL</acronym> 数据（Simon Riggs）</p>\n<p>以前，会保留两个检查点周期的 <acronym>WAL</acronym>。</p>", "text": "仅保留一个检查点周期的 WAL 数据（Simon Riggs） 以前，会保留两个检查点周期的 WAL。", "title": "仅保留一个检查点周期的 WAL 数据", "commits": [], "section": "服务器 / 预写式日志（WAL）", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.3.11", "source_hash": "50c9f9b4293446b1347e8322d6f1625f4e563ab6935111083d59bc30509e84de", "section_path": ["服务器", "预写式日志（WAL）"], "commit_groups": [["4b0d28de0"]], "identity_text": "Retain WAL data for only a single checkpoint (Simon Riggs) Previously, WAL was retained for two checkpoints.", "commit_aliases": ["4b0d28de0"], "source_commits": ["4b0d28de0"], "source_entry_id": "11.0/changes/060", "db_id": "3c4e095cf338efc7d6cff054f32a1b69", "patch_ids": ["3f2f66997e3f108a9c73bf448bc219f7"], "statement_hash": "af4dbd2ba0c5566e7873419a170a149c449d50f89532ebbd550f38329bb1e8ca", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-e5b305e2f5efef96", "cves": [], "html": "<p>将被强制切换的 <acronym>WAL</acronym> 段文件的未使用部分填零，以提高可压缩性（Chapman Flack）</p>", "text": "将被强制切换的 WAL 段文件的未使用部分填零，以提高可压缩性（Chapman Flack）", "title": "将被强制切换的 WAL 段文件的未使用部分填零，以提高可压缩性", "commits": [], "section": "服务器 / 预写式日志（WAL）", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.3.11", "source_hash": "1fe7484f03ff0030c53014fc689c2b7c839496546b2b6d1f100be6ef5b1d62ab", "section_path": ["服务器", "预写式日志（WAL）"], "commit_groups": [["4a33bb59d"]], "identity_text": "Fill the unused portion of force-switched WAL segment files with zeros for improved compressibility (Chapman Flack)", "commit_aliases": ["4a33bb59d"], "source_commits": ["4a33bb59d"], "source_entry_id": "11.0/changes/061", "db_id": "4e3acc0d84234a1ec3efd039df3393e4", "patch_ids": ["8fd6fa5958971b4f1660135683d1d71c"], "statement_hash": "7af1a11e9a791a7fd72fdb1ca63c549cee73f7e0277ca37f6ea45c4ecbbf0533", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-e0cda63716b24a68", "cves": [], "html": "<p>使用逻辑复制时复制 <code>TRUNCATE</code> 操作（Simon Riggs，Marco Nenciarini，Peter Eisentraut）</p>", "text": "使用逻辑复制时复制 TRUNCATE 操作（Simon Riggs，Marco Nenciarini，Peter Eisentraut）", "title": "使用逻辑复制时复制 TRUNCATE 操作", "commits": [], "section": "基础备份与流复制", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.4", "source_hash": "25cb4127d8b8e3cc2fb7cac3cb30ef3715ed2d960ec3969000518cdcc867edc4", "section_path": ["基础备份与流复制"], "commit_groups": [["039eb6e92"], ["5dfd1e5a6"]], "identity_text": "Replicate TRUNCATE activity when using logical replication (Simon Riggs, Marco Nenciarini, Peter Eisentraut)", "commit_aliases": ["039eb6e92", "5dfd1e5a6"], "source_commits": ["039eb6e92", "5dfd1e5a6"], "source_entry_id": "11.0/changes/062", "db_id": "164fa0e9adf445552a7c00a4c8fe4ff1", "patch_ids": ["5de3880bacfbe1672f9c26bc5d16ffab", "eeba644012c423c481f908b61f588aca"], "statement_hash": "8d03bd450fef5a9dc672c93666b8fec72eb4f786fd89982d53d77a51d275e97b", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-9715a294f5e6866e", "cves": [], "html": "<p>将预备事务信息传递给逻辑复制订阅者（Nikhil Sontakke，Stas Kelvich）</p>", "text": "将预备事务信息传递给逻辑复制订阅者（Nikhil Sontakke，Stas Kelvich）", "title": "将预备事务信息传递给逻辑复制订阅者", "commits": [], "section": "基础备份与流复制", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.4", "source_hash": "dc49bbb987a75a0d038856abcbce2adb6ec1c67e109f31ee83310ec95767eab0", "section_path": ["基础备份与流复制"], "commit_groups": [["1eb6d6527"]], "identity_text": "Pass prepared transaction information to logical replication subscribers (Nikhil Sontakke, Stas Kelvich)", "commit_aliases": ["1eb6d6527"], "source_commits": ["1eb6d6527"], "source_entry_id": "11.0/changes/063", "db_id": "000e84c6a14d505070db1fde381d32d1", "patch_ids": ["2ba325ad80ccae1670c875ef0fd4af0f"], "statement_hash": "673a98baf03e197ddf064444b068b41028b57f3b1508951514933c8e8e019c7e", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-670a6a1014286406", "cves": [], "html": "<p>从流式基础备份中排除不记录 WAL 的表、临时表和 <code>pg_internal.init</code> 文件（David Steele）</p>\n<p>没有必要复制此类文件。</p>", "text": "从流式基础备份中排除不记录 WAL 的表、临时表和 pg_internal.init 文件（David Steele） 没有必要复制此类文件。", "title": "从流式基础备份中排除不记录 WAL 的表、临时表和 pg_internal.init 文件", "commits": [], "section": "基础备份与流复制", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.4", "source_hash": "9178b93090507d43bcfd51ac6be8adb84020ca93413294e0baff628f8ebef3a2", "section_path": ["基础备份与流复制"], "commit_groups": [["8694cc96b"], ["920a5e500"], ["98267ee83"]], "identity_text": "Exclude unlogged tables, temporary tables, and pg_internal.init files from streaming base backups (David Steele) There is no need to copy such files.", "commit_aliases": ["8694cc96b", "920a5e500", "98267ee83"], "source_commits": ["8694cc96b", "920a5e500", "98267ee83"], "source_entry_id": "11.0/changes/064", "db_id": "3ff82d6fb2b9b7d7c949768a55cc2c64", "patch_ids": ["af9ef3186ec110b08c56cf73eac67d2f", "cf882b1a701bad25e36043c11c518f4e", "f88ea6b39b72b92570f52b22c9b3b017"], "statement_hash": "617b9d4b6fd00f590e792ecd9b54bf4d5fd58ecd9ef5f7e98cd71e97750e1d01", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-a4ce6d62b997e183", "cves": [], "html": "<p>允许在流式基础备份期间验证堆页面的校验和（Michael Banck）</p>", "text": "允许在流式基础备份期间验证堆页面的校验和（Michael Banck）", "title": "允许在流式基础备份期间验证堆页面的校验和", "commits": [], "section": "基础备份与流复制", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.4", "source_hash": "43354a3a0759f59c26e71c6c038d2dff6642e6e6c8ad8ce7c5af025d8f2104f3", "section_path": ["基础备份与流复制"], "commit_groups": [["4eb77d50c"]], "identity_text": "Allow checksums of heap pages to be verified during streaming base backup (Michael Banck)", "commit_aliases": ["4eb77d50c"], "source_commits": ["4eb77d50c"], "source_entry_id": "11.0/changes/065", "db_id": "01df6d05d7b158bfd2b91e2bf4237f07", "patch_ids": ["f8b763beb9b5b162f708472e1eb70b24"], "statement_hash": "a5d71ce1a1f7fa28f7cddd7dec2454b3de7d49fa803c8a655225317978c4fa4c", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-1d01578cd91f097a", "cves": [], "html": "<p>允许以编程方式推进复制槽，而无需由订阅者消费（Petr Jelinek）</p>\n<p>这使复制槽在内容无需被消费时能够高效推进。相应操作通过 <code>pg_replication_slot_advance()</code> 执行。</p>", "text": "允许以编程方式推进复制槽，而无需由订阅者消费（Petr Jelinek） 这使复制槽在内容无需被消费时能够高效推进。相应操作通过 pg_replication_slot_advance() 执行。", "title": "允许以编程方式推进复制槽，而无需由订阅者消费", "commits": [], "section": "基础备份与流复制", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.4", "source_hash": "aa666cf32990c0cf34e31b90626a250b5eba1e31468538439a84e6fb86aac274", "section_path": ["基础备份与流复制"], "commit_groups": [["9c7d06d60"]], "identity_text": "Allow replication slots to be advanced programmatically, rather than be consumed by subscribers (Petr Jelinek) This allows efficient advancement of replication slots when the contents do not need to be consumed. This is performed by pg_replication_slot_advance().", "commit_aliases": ["9c7d06d60"], "source_commits": ["9c7d06d60"], "source_entry_id": "11.0/changes/066", "db_id": "94643a2a0775154a475639a52a5abc5a", "patch_ids": ["a7fd8c3d552a4be04526b2ee42fa6edc"], "statement_hash": "db0f1bb8d06a42c6dc6059a363c88a66c26084e5ddb2191d034b12bb06bce9a2", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-db7f25c632db29a4", "cves": [], "html": "<p>向 <a href=\"/docs/11/continuous-archiving.html#BACKUP-LOWLEVEL-BASE-BACKUP\" title=\"25.3.3. 使用低级 API 进行基础备份\"><code>backup_label</code></a> 文件添加时间线信息（Michael Paquier）</p>\n<p>同时添加检查，确保 <acronym>WAL</acronym> 时间线与 <code>backup_label</code> 文件的时间线匹配。</p>", "text": "向 backup_label 文件添加时间线信息（Michael Paquier） 同时添加检查，确保 WAL 时间线与 backup_label 文件的时间线匹配。", "title": "向 backup_label 文件添加时间线信息", "commits": [], "section": "基础备份与流复制", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.4", "source_hash": "97b3584d8363ff9f6434d2d56edde17cd80e0e86c4efc45a4281debddaf8da89", "section_path": ["基础备份与流复制"], "commit_groups": [["6271fceb8"]], "identity_text": "Add timeline information to the backup_label file (Michael Paquier) Also add a check that the WAL timeline matches the backup_label file's timeline.", "commit_aliases": ["6271fceb8"], "source_commits": ["6271fceb8"], "source_entry_id": "11.0/changes/067", "db_id": "2d198131b7f807abc638c59b2a16fc72", "patch_ids": ["fdbbc3a012b2f53e9c9fb2db464d6c81"], "statement_hash": "167aa43c1da2759e8266cf7f057de0c9dc1534af0f6a6cdae15d34a9e66899bb", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-744066196404d4ac", "cves": [], "html": "<p>向 <code>pg_stat_wal_receiver</code> 系统视图添加主机和端口连接信息（Haribabu Kommi）</p>", "text": "向 pg_stat_wal_receiver 系统视图添加主机和端口连接信息（Haribabu Kommi）", "title": "向 pg_stat_wal_receiver 系统视图添加主机和端口连接信息", "commits": [], "section": "基础备份与流复制", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.4", "source_hash": "4d60245f5860bfd860c2096d91e8266bd0b727791355712cbfe6007712cf41af", "section_path": ["基础备份与流复制"], "commit_groups": [["9a895462d"]], "identity_text": "Add host and port connection information to the pg_stat_wal_receiver system view (Haribabu Kommi)", "commit_aliases": ["9a895462d"], "source_commits": ["9a895462d"], "source_entry_id": "11.0/changes/068", "db_id": "dc062bc3528315fc0e62faa27773981d", "patch_ids": ["8abe5be701e1777a2d6f2aca86827a80"], "statement_hash": "c531e19e287247320f490f7d3fd668cb1fdf849e7efd565be6b9bc61be90febe", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-1d1b0bb529850c8b", "cves": [], "html": "<p>允许 <code>ALTER TABLE</code> 添加具有非空默认值的列，而无需重写表（Andrew Dunstan，Serge Rielau）</p>\n<p>默认值为常量时会启用此优化。</p>", "text": "允许 ALTER TABLE 添加具有非空默认值的列，而无需重写表（Andrew Dunstan，Serge Rielau） 默认值为常量时会启用此优化。", "title": "允许 ALTER TABLE 添加具有非空默认值的列，而无需重写表", "commits": [], "section": "工具命令", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.5", "source_hash": "ab9acc3a94dc6e6f2b802a749ca8b7ebe5ed9da9e517844138fb502da921ef62", "section_path": ["工具命令"], "commit_groups": [["16828d5c0"]], "identity_text": "Allow ALTER TABLE to add a column with a non-null default without doing a table rewrite (Andrew Dunstan, Serge Rielau) This is enabled when the default value is a constant.", "commit_aliases": ["16828d5c0"], "source_commits": ["16828d5c0"], "source_entry_id": "11.0/changes/069", "db_id": "ace512d78734cf5085a3fe9cbd1d25b6", "patch_ids": ["cea7a1fe3222777a2fed9157ac898a65"], "statement_hash": "3fa7b43f1eb4f52baf2d7a121c418f0f9d9a9ffa8edc7f7daf132b5f92096d76", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-427b09fb12f0ce8b", "cves": [], "html": "<p>允许通过锁定底层表来锁定视图（Yugo Nagata）</p>", "text": "允许通过锁定底层表来锁定视图（Yugo Nagata）", "title": "允许通过锁定底层表来锁定视图", "commits": [], "section": "工具命令", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.5", "source_hash": "a718af0a0a99ba22d9f3cb076d327b173193f11d6db34ad4509996619007fa99", "section_path": ["工具命令"], "commit_groups": [["1b26bd408"], ["34c20de4d"]], "identity_text": "Allow views to be locked by locking the underlying tables (Yugo Nagata)", "commit_aliases": ["1b26bd408", "34c20de4d"], "source_commits": ["1b26bd408", "34c20de4d"], "source_entry_id": "11.0/changes/070", "db_id": "378f06d3060eb35779f10e6b19f7eb45", "patch_ids": ["0ac14f284c72a9a43a4f307047dd95d9", "ff4e3e43f9330e79c2d8d139accc0b29"], "statement_hash": "2b58056cab3df82d676457915083bd3da77e51662b112be4266df5e394b51812", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-2ef62ec9212372d9", "cves": [], "html": "<p>允许 <code>ALTER INDEX</code> 设置表达式索引的统计收集目标（Alexander Korotkov，Adrien Nayrat）</p>\n<p>在 <span>psql</span> 中，<code>\\d+</code> 现在会显示索引的统计目标。</p>", "text": "允许 ALTER INDEX 设置表达式索引的统计收集目标（Alexander Korotkov，Adrien Nayrat） 在 psql 中，\\d+ 现在会显示索引的统计目标。", "title": "允许 ALTER INDEX 设置表达式索引的统计收集目标", "commits": [], "section": "工具命令", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.5", "source_hash": "a999420b31b598dd41990ce6ed2bbfa7635c78643bfa8ce2a626b0cf2de88157", "section_path": ["工具命令"], "commit_groups": [["5b6d13eec"]], "identity_text": "Allow ALTER INDEX to set statistics-gathering targets for expression indexes (Alexander Korotkov, Adrien Nayrat) In psql, \\d+ now shows the statistics target for indexes.", "commit_aliases": ["5b6d13eec"], "source_commits": ["5b6d13eec"], "source_entry_id": "11.0/changes/071", "db_id": "08fbf01c204df9801746485917ab5722", "patch_ids": ["ae0cdad77783bca63369d70fd15ed21e"], "statement_hash": "728e0f1deb38999bc57a33e3235851bdefa5228867d25142987c102a51095fc1", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-efae1bd1025c9b30", "cves": [], "html": "<p>允许在一条 <code>VACUUM</code> 或 <code>ANALYZE</code> 命令中指定多个表（Nathan Bossart）</p>\n<p>此外，如果 <code>VACUUM</code> 中提到的任何表使用了列列表，就必须提供 <code>ANALYZE</code> 关键字；以前，此类情况会隐含执行 <code>ANALYZE</code>。</p>", "text": "允许在一条 VACUUM 或 ANALYZE 命令中指定多个表（Nathan Bossart） 此外，如果 VACUUM 中提到的任何表使用了列列表，就必须提供 ANALYZE 关键字；以前，此类情况会隐含执行 ANALYZE。", "title": "允许在一条 VACUUM 或 ANALYZE 命令中指定多个表", "commits": [], "section": "工具命令", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.5", "source_hash": "5e254339fe0f66c56f36cc7152f4771a3d269ab347fecef466518db8146c93f9", "section_path": ["工具命令"], "commit_groups": [["11d8d72c2"]], "identity_text": "Allow multiple tables to be specified in one VACUUM or ANALYZE command (Nathan Bossart) Also, if any table mentioned in VACUUM uses a column list, then the ANALYZE keyword must be supplied; previously, ANALYZE was implied in such cases.", "commit_aliases": ["11d8d72c2"], "source_commits": ["11d8d72c2"], "source_entry_id": "11.0/changes/072", "db_id": "213c175ea8ffac3162f44961c3e59b4e", "patch_ids": ["3c7c8769a33ff3cf87e4b5e8afd653c6"], "statement_hash": "7c69a7020b9a85f28f12f6568f597c81025369ab3191921fa22562f995bd8c45", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-eeaff879e623c989", "cves": [], "html": "<p>为 <code>ANALYZE</code> 添加括号包围的选项语法（Nathan Bossart）</p>\n<p>这与 <code>VACUUM</code> 支持的语法类似。</p>", "text": "为 ANALYZE 添加括号包围的选项语法（Nathan Bossart） 这与 VACUUM 支持的语法类似。", "title": "为 ANALYZE 添加括号包围的选项语法", "commits": [], "section": "工具命令", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.5", "source_hash": "164982c8296b975f314371c082ee9a1482a1285036c87ddcc412aa4b61343365", "section_path": ["工具命令"], "commit_groups": [["854dd8cff"]], "identity_text": "Add parenthesized options syntax to ANALYZE (Nathan Bossart) This is similar to the syntax supported by VACUUM.", "commit_aliases": ["854dd8cff"], "source_commits": ["854dd8cff"], "source_entry_id": "11.0/changes/073", "db_id": "e09607130b5178d6cdf4bddd84e5b496", "patch_ids": ["b1cf2f2f882733e528512609874b3aac"], "statement_hash": "f1833745fba1f0b3f86d2ec0d4fbf3017c3ec4fa5b8504e1be238637582d781a", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-457aecd53b21e744", "cves": [], "html": "<p>添加 <code>CREATE AGGREGATE</code> 选项，以指定聚合最终函数的行为（Tom Lane）</p>\n<p>这有助于优化用户定义的聚合函数，并使其能够用作窗口函数。</p>", "text": "添加 CREATE AGGREGATE 选项，以指定聚合最终函数的行为（Tom Lane） 这有助于优化用户定义的聚合函数，并使其能够用作窗口函数。", "title": "添加 CREATE AGGREGATE 选项，以指定聚合最终函数的行为", "commits": [], "section": "工具命令", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.5", "source_hash": "4f78a0f85dee9a484d4bb3c107bfd03080ecebd91239d9f766191b64f149dfa9", "section_path": ["工具命令"], "commit_groups": [["4de2d4fba"], ["be0ebb65f"]], "identity_text": "Add CREATE AGGREGATE option to specify the behavior of the aggregate's finalization function (Tom Lane) This is helpful for allowing user-defined aggregate functions to be optimized and to work as window functions.", "commit_aliases": ["4de2d4fba", "be0ebb65f"], "source_commits": ["4de2d4fba", "be0ebb65f"], "source_entry_id": "11.0/changes/074", "db_id": "28b3f7fda0292e912add1c943a7a36bc", "patch_ids": ["1e8ad797a9d1556bd7f2f6b05ca3ec2b", "b71a80b232b7e351f4c1036ef6d403c5"], "statement_hash": "63cadbb561a467935ff1ad72a07f6a0a4cf117c8495caa648fc9df104a28f5a1", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-2dd97447dd7e278c", "cves": [], "html": "<p>允许创建域的数组（Tom Lane）</p>\n<p>这也允许对域使用 <code>array_agg()</code>。</p>", "text": "允许创建域的数组（Tom Lane） 这也允许对域使用 array_agg()。", "title": "允许创建域的数组", "commits": [], "section": "数据类型", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.6", "source_hash": "4d4236d5e84aa1239eac81d7d5324bcb461abd4132b1fb6f243539c73ab58990", "section_path": ["数据类型"], "commit_groups": [["c12d570fa"]], "identity_text": "Allow the creation of arrays of domains (Tom Lane) This also allows array_agg() to be used on domains.", "commit_aliases": ["c12d570fa"], "source_commits": ["c12d570fa"], "source_entry_id": "11.0/changes/075", "db_id": "32e6fb4d45890c0a29cbdc83127a786a", "patch_ids": ["1d8e7e77c302e7ec7391bb9d39b6fffc"], "statement_hash": "831a23663ffda7a4d1096003aadfae1b0b62142df1920fe9eee1e58c6bfdd91e", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-c85314d190743477", "cves": [], "html": "<p>支持基于复合类型的域（Tom Lane）</p>\n<p>同时允许 PL/Perl、PL/Python 和 PL/Tcl 处理复合类型域的函数参数和结果，并改进 PL/Python 的域处理。</p>", "text": "支持基于复合类型的域（Tom Lane） 同时允许 PL/Perl、PL/Python 和 PL/Tcl 处理复合类型域的函数参数和结果，并改进 PL/Python 的域处理。", "title": "支持基于复合类型的域", "commits": [], "section": "数据类型", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.6", "source_hash": "a0906d2fe9ca776ec3d672a430c9575e2adb19e499bf46714cafe5148c31155a", "section_path": ["数据类型"], "commit_groups": [["37a795a60"], ["60651e4cd"], ["687f096ea"], ["820c0305f"]], "identity_text": "Support domains over composite types (Tom Lane) Also allow PL/Perl, PL/Python, and PL/Tcl to handle composite-domain function arguments and results. Also improve PL/Python domain handling.", "commit_aliases": ["37a795a60", "60651e4cd", "687f096ea", "820c0305f"], "source_commits": ["37a795a60", "60651e4cd", "687f096ea", "820c0305f"], "source_entry_id": "11.0/changes/076", "db_id": "a929b9dce201e5448b7104fdb8f9ca52", "patch_ids": ["0199429a370a79ecc83782c7a1802524", "067667940e422ee6ab3fc971f7da687e", "243494c5c925b1ac225a902e971cbcbc", "32f98202db83f109091677492b37b96a"], "statement_hash": "bd778de7e9ae77d4bb0fdafcc086815da2c753347a2afc96999f843667f91741", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-83135c589052bd38", "cves": [], "html": "<p>添加从 <code>JSONB</code> 标量到数值和布尔数据类型的类型转换（Anastasia Lubennikova）</p>", "text": "添加从 JSONB 标量到数值和布尔数据类型的类型转换（Anastasia Lubennikova）", "title": "添加从 JSONB 标量到数值和布尔数据类型的类型转换", "commits": [], "section": "数据类型", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.6", "source_hash": "2bc9f1bf2e18ecbf7c93ad040f6cf514d8e8db9b459fe4e4f590ff44772bdfe3", "section_path": ["数据类型"], "commit_groups": [["c0cbe00fe"]], "identity_text": "Add casts from JSONB scalars to numeric and boolean data types (Anastasia Lubennikova)", "commit_aliases": ["c0cbe00fe"], "source_commits": ["c0cbe00fe"], "source_entry_id": "11.0/changes/077", "db_id": "f15ce8671923e4ede1d00b4745184fa4", "patch_ids": ["ae65c087435a9fa70bbf6cf9dcf801a9"], "statement_hash": "c9fa1d37a771f1f17c90a4952f2e8d03d3c1fcab7b389c496032dfadcc301102", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-46045d0c5c5f46e6", "cves": [], "html": "<p>添加 SQL:2011 规定的所有<a href=\"/docs/11/sql-select.html#SQL-WINDOW\" title=\"WINDOW 子句\">窗口函数</a>帧选项（Oliver Ford，Tom Lane）</p>\n<p>具体而言，允许 <code>RANGE</code> 模式使用 <code>PRECEDING</code> 和 <code>FOLLOWING</code>，选取分组值位于加减指定偏移量范围内的行。添加 <code>GROUPS</code> 模式，以包含前后指定数量的同等行组。同时添加了帧排除语法。</p>", "text": "添加 SQL:2011 规定的所有窗口函数帧选项（Oliver Ford，Tom Lane） 具体而言，允许 RANGE 模式使用 PRECEDING 和 FOLLOWING，选取分组值位于加减指定偏移量范围内的行。添加 GROUPS 模式，以包含前后指定数量的同等行组。同时添加了帧排除语法。", "title": "添加 SQL:2011 规定的所有窗口函数帧选项", "commits": [], "section": "函数", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.7", "source_hash": "2ea3d66c2850747a9cb8d3f9483e3ffe9d13e8bff25ac5caaf1afb481b515eb7", "section_path": ["函数"], "commit_groups": [["0a459cec9"], ["8b29e88cd"]], "identity_text": "Add all window function framing options specified by SQL:2011 (Oliver Ford, Tom Lane) Specifically, allow RANGE mode to use PRECEDING and FOLLOWING to select rows having grouping values within plus or minus the specified offset. Add GROUPS mode to include plus or minus the number of peer groups. Frame exclusion syntax was also added.", "commit_aliases": ["0a459cec9", "8b29e88cd"], "source_commits": ["0a459cec9", "8b29e88cd"], "source_entry_id": "11.0/changes/078", "db_id": "bb9d7a4b6dce3d96fd390234653bc70a", "patch_ids": ["20d71601baf9e5175243e91d755d5871", "2c076692cff80bd372c4f8b71c65f9d2"], "statement_hash": "e60f0610ee35dc7903c889238a4fddee9c56b21b6ad55798eba361e7f8ba6da3", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-eb632f0d54e726b5", "cves": [], "html": "<p>添加 <acronym>SHA-2</acronym> 系列 hash 函数（Peter Eisentraut）</p>\n<p>具体添加了 <a href=\"/docs/11/functions-binarystring.html#FUNCTIONS-BINARYSTRING-OTHER\" title=\"表 9.12. 其他二进制串函数\"><code>sha224()</code></a>、<code>sha256()</code>、<code>sha384()</code> 和 <code>sha512()</code>。</p>", "text": "添加 SHA-2 系列 hash 函数（Peter Eisentraut） 具体添加了 sha224()、sha256()、sha384() 和 sha512()。", "title": "添加 SHA-2 系列 hash 函数", "commits": [], "section": "函数", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.7", "source_hash": "f543350727dcc7a40ad1013f079a5988e5f90e44b1f4d5f0d3ad5f100310fc06", "section_path": ["函数"], "commit_groups": [["10cfce34c"]], "identity_text": "Add SHA-2 family of hash functions (Peter Eisentraut) Specifically, sha224(), sha256(), sha384(), sha512() were added.", "commit_aliases": ["10cfce34c"], "source_commits": ["10cfce34c"], "source_entry_id": "11.0/changes/079", "db_id": "c8d6d29b976d71bac97a021e691aebfb", "patch_ids": ["17e3c6819732f8198b21b89d4d62422c"], "statement_hash": "0a79aa493d4885c20799fff34df540fbfebaa6cac6d5747b84a13b80beaa6f34", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-476b40ab8f88411e", "cves": [], "html": "<p>添加对 64 位非密码学 hash 函数的支持（Robert Haas，Amul Sul）</p>", "text": "添加对 64 位非密码学 hash 函数的支持（Robert Haas，Amul Sul）", "title": "添加对 64 位非密码学 hash 函数的支持", "commits": [], "section": "函数", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.7", "source_hash": "94fbc570e9870b1cf1a594a84337e5bd4e171490b8492107204670236d7a1847", "section_path": ["函数"], "commit_groups": [["81c5e46c4"]], "identity_text": "Add support for 64-bit non-cryptographic hash functions (Robert Haas, Amul Sul)", "commit_aliases": ["81c5e46c4"], "source_commits": ["81c5e46c4"], "source_entry_id": "11.0/changes/080", "db_id": "ff64ebfcf14bf447f2efd05d00561849", "patch_ids": ["17130222dbd63f36c1476c5e317600f0"], "statement_hash": "f4a02ff76aa1c37c206f293d495a68200e5e504efec5553e76d0fe8517b56598", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-2389b115d28e1b12", "cves": [], "html": "<p>允许 <code>to_char()</code> 和 <code>to_timestamp()</code> 以小时和分钟指定时区相对于 <acronym>UTC</acronym> 的偏移量（Nikita Glukhov，Andrew Dunstan）</p>\n<p>这通过格式指定符 <a href=\"/docs/11/functions-formatting.html#FUNCTIONS-FORMATTING-DATETIME-TABLE\" title=\"表 9.24. 用于日期/时间格式化的模板模式\"><code>TZH</code></a> 和 <code>TZM</code> 完成。</p>", "text": "允许 to_char() 和 to_timestamp() 以小时和分钟指定时区相对于 UTC 的偏移量（Nikita Glukhov，Andrew Dunstan） 这通过格式指定符 TZH 和 TZM 完成。", "title": "允许 to_char() 和 to_timestamp() 以小时和分钟指定时区相对于 UTC 的偏移量", "commits": [], "section": "函数", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.7", "source_hash": "f670d7e15f599bb24811d7dbda90884bcda56a89df3ad06249282167c2fe1596", "section_path": ["函数"], "commit_groups": [["11b623dd0"]], "identity_text": "Allow to_char() and to_timestamp() to specify the time zone's offset from UTC in hours and minutes (Nikita Glukhov, Andrew Dunstan) This is done with format specifications TZH and TZM.", "commit_aliases": ["11b623dd0"], "source_commits": ["11b623dd0"], "source_entry_id": "11.0/changes/081", "db_id": "65dbd3a84d812175bce5dec152424330", "patch_ids": ["0d5e5f9e697fb66d7e6cdfd20519a2e1"], "statement_hash": "2d7402cfb900b9d44e58cfa11962e2578394741e91615d665f1ccbffdad225e9", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-9ec29b4c8c12f446", "cves": [], "html": "<p>添加文本检索函数 <a href=\"/docs/11/functions-textsearch.html#TEXTSEARCH-FUNCTIONS-TABLE\" title=\"表 9.41. 文本检索函数\"><code>websearch_to_tsquery()</code></a>，支持类似网页搜索引擎所用的查询语法（Victor Drobny，Dmitry Ivanov）</p>", "text": "添加文本检索函数 websearch_to_tsquery()，支持类似网页搜索引擎所用的查询语法（Victor Drobny，Dmitry Ivanov）", "title": "添加文本检索函数 websearch_to_tsquery()，支持类似网页搜索引擎所用的查询语法", "commits": [], "section": "函数", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.7", "source_hash": "99cd56ae56717f2ae652b302e02d542fbdea5fee0373cba7e9e5859a6b8c1ad7", "section_path": ["函数"], "commit_groups": [["1664ae197"]], "identity_text": "Add text search function websearch_to_tsquery() that supports a query syntax similar to that used by web search engines (Victor Drobny, Dmitry Ivanov)", "commit_aliases": ["1664ae197"], "source_commits": ["1664ae197"], "source_entry_id": "11.0/changes/082", "db_id": "0f8913be490fdec87d85bbf5a4ed5b73", "patch_ids": ["0f648b1fa275972673c9ec9ae87755d7"], "statement_hash": "b23b7b2fd8d467329be39aec1e2178a0eeffa03d5f3b3fdec580c36c4a6bad48", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-452af6eca9e99175", "cves": [], "html": "<p>添加函数 <a href=\"/docs/11/functions-textsearch.html#TEXTSEARCH-FUNCTIONS-TABLE\" title=\"表 9.41. 文本检索函数\"><code>json(b)_to_tsvector()</code></a>，以创建用于匹配 <code>JSON</code>/<code>JSONB</code> 值的文本检索查询（Dmitry Dolgov）</p>", "text": "添加函数 json(b)_to_tsvector()，以创建用于匹配 JSON/JSONB 值的文本检索查询（Dmitry Dolgov）", "title": "添加函数 json(b)_to_tsvector()，以创建用于匹配 JSON/JSONB 值的文本检索查询", "commits": [], "section": "函数", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.7", "source_hash": "7b3ad9aa54167d08a16f7c58e022d611ce6d0e32abdca63e0e7b52e7cf40de8a", "section_path": ["函数"], "commit_groups": [["1c1791e00"]], "identity_text": "Add functions json(b)_to_tsvector() to create a text search query for matching JSON/JSONB values (Dmitry Dolgov)", "commit_aliases": ["1c1791e00"], "source_commits": ["1c1791e00"], "source_entry_id": "11.0/changes/083", "db_id": "428be590ba4e61514335442e071ab1aa", "patch_ids": ["af15325ba4741eb7ce94aeaca9e27122"], "statement_hash": "4c6d6c7ee0ab1dd64d6e0f651fd5f5136731f1f6e5d6f7a1de94358e935d22d9", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-83f3b2d224db9ca3", "cves": [], "html": "<p>添加 SQL 级过程，使其能够开始并提交自己的事务（Peter Eisentraut）</p>\n<p>它们使用新的 <a href=\"/docs/11/sql-createprocedure.html\" title=\"CREATE PROCEDURE\"><code>CREATE PROCEDURE</code></a> 命令创建，并通过 <a href=\"/docs/11/sql-call.html\" title=\"CALL\"><code>CALL</code></a> 调用。</p>\n<p>新的 <code>ALTER</code>/<code>DROP ROUTINE</code> 命令允许更改/删除所有例程类对象，包括过程、函数和聚合。</p>\n<p>另外，在 <code>CREATE OPERATOR</code> 和 <code>CREATE TRIGGER</code> 中，现在推荐使用 <code>FUNCTION</code> 而非 <code>PROCEDURE</code>，因为所引用的对象必须是函数，而不能是过程。不过，为保持兼容，仍然接受旧语法。</p>", "text": "添加 SQL 级过程，使其能够开始并提交自己的事务（Peter Eisentraut） 它们使用新的 CREATE PROCEDURE 命令创建，并通过 CALL 调用。 新的 ALTER/DROP ROUTINE 命令允许更改/删除所有例程类对象，包括过程、函数和聚合。 另外，在 CREATE OPERATOR 和 CREATE TRIGGER 中，现在推荐使用 FUNCTION 而非 PROCEDURE，因为所引用的对象必须是函数，而不能是过程。不过，为保持兼容，仍然接受旧语法。", "title": "添加 SQL 级过程，使其能够开始并提交自己的事务", "commits": [], "section": "服务器端语言", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.8", "source_hash": "7c05597903de0fb25322c8884269c7e466fd3502e1a23be0216b240c7425544f", "section_path": ["服务器端语言"], "commit_groups": [["33803f67f"], ["76b6aa41f"], ["a8677e3ff"], ["e0dc839e7"], ["e4128ee76"], ["fd4417e8a"]], "identity_text": "Add SQL-level procedures, which can start and commit their own transactions (Peter Eisentraut) They are created with the new CREATE PROCEDURE command and invoked via CALL. The new ALTER/DROP ROUTINE commands allow altering/dropping of all routine-like objects, including procedures, functions, and aggregates. Also, writing FUNCTION is now preferred over writing PROCEDURE in CREATE OPERATOR and CREATE TRIGGER, because the referenced object must be a function not a procedure. However, the old syntax is still accepted for compatibility.", "commit_aliases": ["33803f67f", "76b6aa41f", "a8677e3ff", "e0dc839e7", "e4128ee76", "fd4417e8a"], "source_commits": ["33803f67f", "76b6aa41f", "a8677e3ff", "e0dc839e7", "e4128ee76", "fd4417e8a"], "source_entry_id": "11.0/changes/084", "db_id": "5135771f6cf7bf716878062e41745a72", "patch_ids": ["31d6d75220105a1e70565af477f3d8e5", "5d339e15de5cd848317444f95ab520ff", "7c19eab97b972cfb399d06d0dfdc54b6", "9715922551cfceb62017f5220cb26e13", "df95ad61a3067c6a352cb4b03e0d8055", "e0c100b76f2f555fa3ea47d8758693de"], "statement_hash": "2d709a8e0b93faed1f6defd5bbfb56230210d5ee9850e7ca28cce49f66b95c74", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-76f3e7a243847939", "cves": [], "html": "<p>为 PL/pgSQL、PL/Perl、PL/Python、PL/Tcl 和 <acronym>SPI</acronym> 服务器端语言添加事务控制（Peter Eisentraut）</p>\n<p>事务控制仅可用于事务顶层的过程，以及嵌套的 <code>DO</code> 和 <code>CALL</code> 块；嵌套层次中只能包含其他 <code>DO</code> 和 <code>CALL</code> 块。</p>", "text": "为 PL/pgSQL、PL/Perl、PL/Python、PL/Tcl 和 SPI 服务器端语言添加事务控制（Peter Eisentraut） 事务控制仅可用于事务顶层的过程，以及嵌套的 DO 和 CALL 块；嵌套层次中只能包含其他 DO 和 CALL 块。", "title": "为 PL/pgSQL、PL/Perl、PL/Python、PL/Tcl 和 SPI 服务器端语言添加事务控制", "commits": [], "section": "服务器端语言", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.8", "source_hash": "a8213419f3c61f55de82dd9ebb7fe1a05e3d927a9c51f827b08bd8552ac9fe0f", "section_path": ["服务器端语言"], "commit_groups": [["056a5a3f6"], ["8561e4840"], ["b981275b6"], ["d92bc83c4"]], "identity_text": "Add transaction control to PL/pgSQL, PL/Perl, PL/Python, PL/Tcl, and SPI server-side languages (Peter Eisentraut) Transaction control is only available within top-transaction-level procedures and nested DO and CALL blocks that only contain other DO and CALL blocks.", "commit_aliases": ["056a5a3f6", "8561e4840", "b981275b6", "d92bc83c4"], "source_commits": ["056a5a3f6", "8561e4840", "b981275b6", "d92bc83c4"], "source_entry_id": "11.0/changes/085", "db_id": "ba203c2b17a4e7f1a6b9ec07386edd5a", "patch_ids": ["1dcb12e1817a0fa5a6a85027ea6c5144", "5f076e1aef418d0502951bf81239a5b2", "c8dfdc609d1048080bfe6c02737eaef4", "ee7b2cb499cabc726ce4f4d04a141b07"], "statement_hash": "26839d3d1f04ccbd564d9c3d1bbdd53d95c001271c9f2b35899b1150699f61f2", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-ed988a0c53da8f53", "cves": [], "html": "<p>添加将 PL/pgSQL 复合类型变量定义为非空、常量或带初始值的能力（Tom Lane）</p>", "text": "添加将 PL/pgSQL 复合类型变量定义为非空、常量或带初始值的能力（Tom Lane）", "title": "添加将 PL/pgSQL 复合类型变量定义为非空、常量或带初始值的能力", "commits": [], "section": "服务器端语言", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.8", "source_hash": "7d6e07950b825c413df025174cf8ad1ef5fe17de427c46d3b360c861dae2cd46", "section_path": ["服务器端语言"], "commit_groups": [["f9263006d"]], "identity_text": "Add the ability to define PL/pgSQL composite-type variables as not null, constant, or with initial values (Tom Lane)", "commit_aliases": ["f9263006d"], "source_commits": ["f9263006d"], "source_entry_id": "11.0/changes/086", "db_id": "c743e55abd548e5d1814e204dce1bc90", "patch_ids": ["31928413ec8367c76704d16ecb2a7838"], "statement_hash": "f569e276f072fd72bfd4c385f16b2b3b0c879bdb169c0178b712440ac058f95b", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-9dbe6c91d3f62157", "cves": [], "html": "<p>允许 PL/pgSQL 处理同一会话中首次和后续函数执行之间发生的复合类型（如 record、row）变更（Tom Lane）</p>\n<p>以前，这类情况会产生错误。</p>", "text": "允许 PL/pgSQL 处理同一会话中首次和后续函数执行之间发生的复合类型（如 record、row）变更（Tom Lane） 以前，这类情况会产生错误。", "title": "允许 PL/pgSQL 处理同一会话中首次和后续函数执行之间发生的复合类型（如 record、row）变更", "commits": [], "section": "服务器端语言", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.8", "source_hash": "d68a6fec0c4f6c3eb768986d19d0f50095977c3bca932c38aa38bb0786da69ab", "section_path": ["服务器端语言"], "commit_groups": [["4b93f5799"]], "identity_text": "Allow PL/pgSQL to handle changes to composite types (e.g., record, row) that happen between the first and later function executions in the same session (Tom Lane) Previously, such circumstances generated errors.", "commit_aliases": ["4b93f5799"], "source_commits": ["4b93f5799"], "source_entry_id": "11.0/changes/087", "db_id": "a3362f67b1e652e63b477f8810eafbf7", "patch_ids": ["f114eab24a7e02f5cca2a84c5e3329c7"], "statement_hash": "d1994def39aae02afe1cce17c5c008d2559df4c0a092189349a94ebbed7ea19d", "relations": [{"rule": 2, "type": "related", "target": "3a10a968211dd2f57e469ce081a0fb6d", "evidence": {"same_day": true, "patch_ids": ["f114eab24a7e02f5cca2a84c5e3329c7"]}}], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": [{"db_id": "3a10a968211dd2f57e469ce081a0fb6d", "kind": "related", "version": "11.0", "label": "11.0", "title": "在 PL/pgSQL 触发器函数中，未赋值的 OLD 和 NEW 变量现在读取为 NULL", "evidence": {"same_day": true, "patch_ids": ["f114eab24a7e02f5cca2a84c5e3329c7"]}, "url": "/docs/compare/?release=11.0#11.0-ff3eda9ae3792bf5", "source_url": "/docs/release/11.0/#id-1.11.6.27.4"}]}, {"id": "11.0-5942580edbb4a235", "cves": [], "html": "<p>添加扩展 <code>jsonb_plpython</code>，以在 <code>JSONB</code> 和 PL/Python 类型之间进行转换（Anthony Bykov）</p>", "text": "添加扩展 jsonb_plpython，以在 JSONB 和 PL/Python 类型之间进行转换（Anthony Bykov）", "title": "添加扩展 jsonb_plpython，以在 JSONB 和 PL/Python 类型之间进行转换", "commits": [], "section": "服务器端语言", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.8", "source_hash": "274c981766a145b61ab4588071ff6056c907422ebca987281fdd1fc1bc40b253", "section_path": ["服务器端语言"], "commit_groups": [["3f44e3db7"]], "identity_text": "Add extension jsonb_plpython to transform JSONB to/from PL/Python types (Anthony Bykov)", "commit_aliases": ["3f44e3db7"], "source_commits": ["3f44e3db7"], "source_entry_id": "11.0/changes/088", "db_id": "42acdbe41df391e7f39cbffff6c15c15", "patch_ids": ["49eb8b6cc73b78a726535fb851d097c7"], "statement_hash": "64cc76e2ae239af268932ab3c0b724880b4bcac3abf9e8cfda632220d46c130a", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-47fb5cbad5e34659", "cves": [], "html": "<p>添加扩展 <code>jsonb_plperl</code>，以在 <code>JSONB</code> 和 PL/Perl 类型之间进行转换（Anthony Bykov）</p>", "text": "添加扩展 jsonb_plperl，以在 JSONB 和 PL/Perl 类型之间进行转换（Anthony Bykov）", "title": "添加扩展 jsonb_plperl，以在 JSONB 和 PL/Perl 类型之间进行转换", "commits": [], "section": "服务器端语言", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.8", "source_hash": "2a79771704d5dda1d3b1b2200802888f54e86c9907fc3724c032555edb3555be", "section_path": ["服务器端语言"], "commit_groups": [["341e16618"]], "identity_text": "Add extension jsonb_plperl to transform JSONB to/from PL/Perl types (Anthony Bykov)", "commit_aliases": ["341e16618"], "source_commits": ["341e16618"], "source_entry_id": "11.0/changes/089", "db_id": "9efeda3c8eb4126afae5b7fed04f2d5f", "patch_ids": ["74f7e1d8c7aee54563553171ca6fecd1"], "statement_hash": "d5511c04b8520477ee3c7b839934536f057b85943f2af8b7ab8f58800807ab8c", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-cb35609bb54b653c", "cves": [], "html": "<p>更改 libpq，使其默认禁用压缩（Peter Eisentraut）</p>\n<p>现代 OpenSSL 版本已禁用压缩，因此 libpq 的这一设置对这些库并无影响。</p>", "text": "更改 libpq，使其默认禁用压缩（Peter Eisentraut） 现代 OpenSSL 版本已禁用压缩，因此 libpq 的这一设置对这些库并无影响。", "title": "更改 libpq，使其默认禁用压缩", "commits": [], "section": "客户端接口", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.9", "source_hash": "8b7c8ea31266553c661c13e94dfdecc01941f01e1058cf911aa06ffc09d27b64", "section_path": ["客户端接口"], "commit_groups": [["e3bdb2d92"]], "identity_text": "Change libpq to disable compression by default (Peter Eisentraut) Compression is already disabled in modern OpenSSL versions, so that the libpq setting had no effect with such libraries.", "commit_aliases": ["e3bdb2d92"], "source_commits": ["e3bdb2d92"], "source_entry_id": "11.0/changes/090", "db_id": "ab14123142f2413561276971f9d15d31", "patch_ids": ["2e176b4eccc0a54ea0d5a691b357de75"], "statement_hash": "46b18ff8d5a860ece3b7f81b89c2a17c7dbb59fd5531759c5e1454095ce4483c", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-95efd4a0da7cd5d0", "cves": [], "html": "<p>为 <span>ecpg</span> 的 <code>WHENEVER</code> 语句添加 <code>DO CONTINUE</code> 选项（Vinayak Pokale）</p>\n<p>这会生成 C <code>continue</code> 语句，在指定条件发生时返回所在循环的顶部。</p>", "text": "为 ecpg 的 WHENEVER 语句添加 DO CONTINUE 选项（Vinayak Pokale） 这会生成 C continue 语句，在指定条件发生时返回所在循环的顶部。", "title": "为 ecpg 的 WHENEVER 语句添加 DO CONTINUE 选项", "commits": [], "section": "客户端接口", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.9", "source_hash": "793e002961b618ca3439ebf81d45d813978dd4e93407ae8c0ae0db9bafd4c7d2", "section_path": ["客户端接口"], "commit_groups": [["d22e9d530"]], "identity_text": "Add DO CONTINUE option to ecpg's WHENEVER statement (Vinayak Pokale) This generates a C continue statement, causing a return to the top of the contained loop when the specified condition occurs.", "commit_aliases": ["d22e9d530"], "source_commits": ["d22e9d530"], "source_entry_id": "11.0/changes/091", "db_id": "91eb02b1331b4bc5b9aee073d198dd57", "patch_ids": ["86ea4adc836b749d5111c1c106a0b3c2"], "statement_hash": "141560abb1bde8dfc0b9b27437ef9d0770446d559e8996c3001f84aae01ed0a0", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-71c3efcef4f56203", "cves": [], "html": "<p>添加 <span>ecpg</span> 模式，以启用 Oracle Pro*C 风格的字符数组处理。</p>\n<p>此模式通过 <code>-C</code> 启用。</p>", "text": "添加 ecpg 模式，以启用 Oracle Pro*C 风格的字符数组处理。 此模式通过 -C 启用。", "title": "添加 ecpg 模式，以启用 Oracle Pro*C 风格的字符数组处理。", "commits": [], "section": "客户端接口", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.9", "source_hash": "bf6503abc5bd3b774147e66300996e8270183841720ce633313f9a54f4fe4a57", "section_path": ["客户端接口"], "commit_groups": [["3b7ab4380"]], "identity_text": "Add an ecpg mode to enable Oracle Pro*C-style handling of char arrays. This mode is enabled with -C.", "commit_aliases": ["3b7ab4380"], "source_commits": ["3b7ab4380"], "source_entry_id": "11.0/changes/092", "db_id": "327952deaebb848c1bc44a8117c12b77", "patch_ids": ["a90a0b7ff176ba322de34a85f573ac4b"], "statement_hash": "f8df18896dfb2161dad9a52090487cae3443cb2ed2bf008c9de75630a7d3a62a", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-e516b3b63ffb0dac", "cves": [], "html": "<p>添加 <span>psql</span> 命令 <code>\\gdesc</code>，以显示查询结果中各列的名称和类型（Pavel Stehule）</p>", "text": "添加 psql 命令 \\gdesc，以显示查询结果中各列的名称和类型（Pavel Stehule）", "title": "添加 psql 命令 \\gdesc，以显示查询结果中各列的名称和类型", "commits": [], "section": "客户端应用程序 / psql", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.10.2", "source_hash": "1774464b8dc43a3ba20de9d4e0df8e4482653b16a362d2bbd106117d6c69b86d", "section_path": ["客户端应用程序", "psql"], "commit_groups": [["49ca462eb"]], "identity_text": "Add psql command \\gdesc to display the names and types of the columns in a query result (Pavel Stehule)", "commit_aliases": ["49ca462eb"], "source_commits": ["49ca462eb"], "source_entry_id": "11.0/changes/093", "db_id": "568ab1825d89d8f006ae0a291d78e114", "patch_ids": ["6bd6f9d6d51e15fefe7168f805539151"], "statement_hash": "f2a9ff494c88df7710eb783d1b8eae94e9f974c3ded9cdaa847e8d58ade2192c", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-0eb556196da811e7", "cves": [], "html": "<p>添加 <span>psql</span> 变量，以报告查询活动和错误（Fabien Coelho）</p>\n<p>具体新增变量为 <code>ERROR</code>、<code>SQLSTATE</code>、<code>ROW_COUNT</code>、<code>LAST_ERROR_MESSAGE</code> 和 <code>LAST_ERROR_SQLSTATE</code>。</p>", "text": "添加 psql 变量，以报告查询活动和错误（Fabien Coelho） 具体新增变量为 ERROR、SQLSTATE、ROW_COUNT、LAST_ERROR_MESSAGE 和 LAST_ERROR_SQLSTATE。", "title": "添加 psql 变量，以报告查询活动和错误", "commits": [], "section": "客户端应用程序 / psql", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.10.2", "source_hash": "bf96aced9940401a3648b97c36654c7e1377587ca21f46c5c236aed4f78aa928", "section_path": ["客户端应用程序", "psql"], "commit_groups": [["69835bc89"]], "identity_text": "Add psql variables to report query activity and errors (Fabien Coelho) Specifically, the new variables are ERROR, SQLSTATE, ROW_COUNT, LAST_ERROR_MESSAGE, and LAST_ERROR_SQLSTATE.", "commit_aliases": ["69835bc89"], "source_commits": ["69835bc89"], "source_entry_id": "11.0/changes/094", "db_id": "cbd12029b79759b801677f1f65cf8589", "patch_ids": ["1c23cad27524b6f652faf1a828c8ceed"], "statement_hash": "85c97fc83da955e60e3279479d4a74f058cd03d64eda29f2fa7c35d3a11d79de", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-5d012750bcff5406", "cves": [], "html": "<p>允许 <span>psql</span> 测试变量是否存在（Fabien Coelho）</p>\n<p>具体而言，语法 <code>:{?variable_name}</code> 允许在 <code>\\if</code> 语句中测试变量是否存在。</p>", "text": "允许 psql 测试变量是否存在（Fabien Coelho） 具体而言，语法 :{?variable_name} 允许在 \\if 语句中测试变量是否存在。", "title": "允许 psql 测试变量是否存在", "commits": [], "section": "客户端应用程序 / psql", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.10.2", "source_hash": "bac0de9f285cbf8f95e1b74588726ff785b65079848a69541be04ed519066cb1", "section_path": ["客户端应用程序", "psql"], "commit_groups": [["d57c7a7c5"]], "identity_text": "Allow psql to test for the existence of a variable (Fabien Coelho) Specifically, the syntax :{?variable_name} allows a variable's existence to be tested in an \\if statement.", "commit_aliases": ["d57c7a7c5"], "source_commits": ["d57c7a7c5"], "source_entry_id": "11.0/changes/095", "db_id": "57c5dd3f44a5990e40e7ebcd2c773768", "patch_ids": ["7a0b347c3143ccc220d09ae4e77f8af9"], "statement_hash": "994de10116ab4464ee620fa52c403e053841ecde6bdf3c3455492928d36c3ac8", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-2588f8b163cc88d6", "cves": [], "html": "<p>允许环境变量 <code>PSQL_PAGER</code> 控制 <span>psql</span> 的分页器（Pavel Stehule）</p>\n<p>这允许用独立的环境变量指定 <span>psql</span> 的默认分页器，将其与其他应用的分页器设置分开。如果未设置 <code>PSQL_PAGER</code>，仍会遵循 <code>PAGER</code>。</p>", "text": "允许环境变量 PSQL_PAGER 控制 psql 的分页器（Pavel Stehule） 这允许用独立的环境变量指定 psql 的默认分页器，将其与其他应用的分页器设置分开。如果未设置 PSQL_PAGER，仍会遵循 PAGER。", "title": "允许环境变量 PSQL_PAGER 控制 psql 的分页器", "commits": [], "section": "客户端应用程序 / psql", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.10.2", "source_hash": "16bef6fa58e77dcdc68ec5ff62318c1c134241a8cbd5325bb0efb5320d99c737", "section_path": ["客户端应用程序", "psql"], "commit_groups": [["5e8304fdc"]], "identity_text": "Allow environment variable PSQL_PAGER to control psql's pager (Pavel Stehule) This allows psql's default pager to be specified as a separate environment variable from the pager for other applications. PAGER is still honored if PSQL_PAGER is not set.", "commit_aliases": ["5e8304fdc"], "source_commits": ["5e8304fdc"], "source_entry_id": "11.0/changes/096", "db_id": "387bb73fbc59db26be162f0f55b1f416", "patch_ids": ["150ef34f5bb73bbf4d433c4ae517f4d6"], "statement_hash": "58ef6b5666ba6825355264aef6c1883f186feb406260d69852c78c77a6e61ff3", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-d7b77d9c90f87ab8", "cves": [], "html": "<p>使 psql 的 <code>\\d+</code> 命令始终显示表的分区信息（Amit Langote，Ashutosh Bapat）</p>\n<p>以前，如果分区表没有分区，就不会显示其分区信息。现在还会指出哪些分区本身也是分区表。</p>", "text": "使 psql 的 \\d+ 命令始终显示表的分区信息（Amit Langote，Ashutosh Bapat） 以前，如果分区表没有分区，就不会显示其分区信息。现在还会指出哪些分区本身也是分区表。", "title": "使 psql 的 \\d+ 命令始终显示表的分区信息", "commits": [], "section": "客户端应用程序 / psql", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.10.2", "source_hash": "ec6eced2b9ee5c76f4be7245d0cfe270d47bdca45bf074a6e4da386f47b97493", "section_path": ["客户端应用程序", "psql"], "commit_groups": [["05b6ec39d"]], "identity_text": "Make psql's \\d+ command always show the table's partitioning information (Amit Langote, Ashutosh Bapat) Previously, partition information would not be displayed for a partitioned table if it had no partitions. Also indicate which partitions are themselves partitioned.", "commit_aliases": ["05b6ec39d"], "source_commits": ["05b6ec39d"], "source_entry_id": "11.0/changes/097", "db_id": "ddd8a240f034d09cb69e0c7072aabf9d", "patch_ids": ["d7e1c099800b2ba39c455082c9700779"], "statement_hash": "beec64e9ac1cbe7cc263e9e6c9f7b8ff3d9cb011f8099794589c2264749321c3", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-19e85f37615ab10b", "cves": [], "html": "<p>确保 <span>psql</span> 在提示输入密码时显示正确的用户名（Tom Lane）</p>\n<p>以前，同时使用 <code>-U</code> 和嵌入 <acronym>URI</acronym> 的用户名会导致显示错误的用户名。另外，在指定 <code>--password</code> 时，不再在密码提示前显示用户名。</p>", "text": "确保 psql 在提示输入密码时显示正确的用户名（Tom Lane） 以前，同时使用 -U 和嵌入 URI 的用户名会导致显示错误的用户名。另外，在指定 --password 时，不再在密码提示前显示用户名。", "title": "确保 psql 在提示输入密码时显示正确的用户名", "commits": [], "section": "客户端应用程序 / psql", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.10.2", "source_hash": "3851e392bf011d4ec27c553f473f455f1f567f095b56816b9e8a3b3fd9e18c3b", "section_path": ["客户端应用程序", "psql"], "commit_groups": [["15be27460"]], "identity_text": "Ensure that psql reports the proper user name when prompting for a password (Tom Lane) Previously, combinations of -U and a user name embedded in a URI caused incorrect reporting. Also suppress the user name before the password prompt when --password is specified.", "commit_aliases": ["15be27460"], "source_commits": ["15be27460"], "source_entry_id": "11.0/changes/098", "db_id": "e4716a90aa639758b4d44f3dc612213e", "patch_ids": ["77738ba8aed437819bd7491959778ba0"], "statement_hash": "9bb12d5e97b986d4732cd978a132ac6a539fae622f9a843fbd5c5abfbbc543c6", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-7d888e75612e7c75", "cves": [], "html": "<p>在此前没有输入的情况下，允许 <code>quit</code> 和 <code>exit</code> 退出 <span>psql</span>（Bruce Momjian）</p>\n<p>当输入缓冲区非空，而 <code>quit</code> 和 <code>exit</code> 单独出现在一行时，也会输出如何退出的提示。为 <code>help</code> 添加类似提示。</p>", "text": "在此前没有输入的情况下，允许 quit 和 exit 退出 psql（Bruce Momjian） 当输入缓冲区非空，而 quit 和 exit 单独出现在一行时，也会输出如何退出的提示。为 help 添加类似提示。", "title": "在此前没有输入的情况下，允许 quit 和 exit 退出 psql", "commits": [], "section": "客户端应用程序 / psql", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.10.2", "source_hash": "43286ba1f616b9216852d534166241f3c02d3e71fc66ab7bba75cc790b3258e6", "section_path": ["客户端应用程序", "psql"], "commit_groups": [["df9f599bc"]], "identity_text": "Allow quit and exit to exit psql when given with no prior input (Bruce Momjian) Also print hints about how to exit when quit and exit are used alone on a line while the input buffer is not empty. Add a similar hint for help.", "commit_aliases": ["df9f599bc"], "source_commits": ["df9f599bc"], "source_entry_id": "11.0/changes/099", "db_id": "5ddd50866f85a5c43c8bbff8ce5fb96e", "patch_ids": ["c9a907d761431b406796090e463db7df"], "statement_hash": "08bb453874c5b924ba185cb45b62b6bca44df35e56883e8a8a8b6bcb9e11491f", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-2621c01b0394e278", "cves": [], "html": "<p>当 <code>\\q</code> 单独输入在一行上却被忽略时，让 <span>psql</span> 提示使用 control-D（Bruce Momjian）</p>\n<p>例如，在字符串内输入 <code>\\q</code> 不会退出。</p>", "text": "当 \\q 单独输入在一行上却被忽略时，让 psql 提示使用 control-D（Bruce Momjian） 例如，在字符串内输入 \\q 不会退出。", "title": "当 \\q 单独输入在一行上却被忽略时，让 psql 提示使用 control-D", "commits": [], "section": "客户端应用程序 / psql", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.10.2", "source_hash": "1ca6bccfc4b6a11063e33a962324cd732f6d3481cea441625db4b30d917fd2da", "section_path": ["客户端应用程序", "psql"], "commit_groups": [["91389228a"]], "identity_text": "Make psql hint at using control-D when \\q is entered alone on a line but ignored (Bruce Momjian) For example, \\q does not exit when supplied in character strings.", "commit_aliases": ["91389228a"], "source_commits": ["91389228a"], "source_entry_id": "11.0/changes/100", "db_id": "dc5b6fb7a989328a5f7126c102b2693f", "patch_ids": ["a1f3986bb430d801d3ae35e7ead1e130"], "statement_hash": "317ad16c82b17831a6632c9c8649f83affe7b1bd5171f332e1cd1a8d7ce03855", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-6090e136c317d2b7", "cves": [], "html": "<p>改进 <code>ALTER INDEX RESET</code>/<code>SET</code> 的 Tab 补全（Masahiko Sawada）</p>", "text": "改进 ALTER INDEX RESET/SET 的 Tab 补全（Masahiko Sawada）", "title": "改进 ALTER INDEX RESET/SET 的 Tab 补全", "commits": [], "section": "客户端应用程序 / psql", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.10.2", "source_hash": "c7756dc1edd472206904ea21252714f37690dd86f6a7111a35a35eca7476d178", "section_path": ["客户端应用程序", "psql"], "commit_groups": [["2b8c94e1b"]], "identity_text": "Improve tab completion for ALTER INDEX RESET/SET (Masahiko Sawada)", "commit_aliases": ["2b8c94e1b"], "source_commits": ["2b8c94e1b"], "source_entry_id": "11.0/changes/101", "db_id": "2f40b444f58c57254698d62a7e9150fd", "patch_ids": ["9c58f08247690c60e029b6f4f90a6dc3"], "statement_hash": "37e9b7a68097ccfcc9185188cfbec94744ec6063bb37c29d1ba937cdf44be140", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-4c8b8ab6925bc14b", "cves": [], "html": "<p>添加基础支持，使 <span>psql</span> 能够根据服务器版本调整 Tab 补全查询（Tom Lane）</p>\n<p>以前，对旧版服务器执行 Tab 补全查询可能失败。</p>", "text": "添加基础支持，使 psql 能够根据服务器版本调整 Tab 补全查询（Tom Lane） 以前，对旧版服务器执行 Tab 补全查询可能失败。", "title": "添加基础支持，使 psql 能够根据服务器版本调整 Tab 补全查询", "commits": [], "section": "客户端应用程序 / psql", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.10.2", "source_hash": "a5798e3ff9afccea76b5c3acb305a938d58bdd611887aba4a371db458e38d6c4", "section_path": ["客户端应用程序", "psql"], "commit_groups": [["722408bcd"]], "identity_text": "Add infrastructure to allow psql to adapt its tab completion queries based on the server version (Tom Lane) Previously, tab completion queries could fail against older servers.", "commit_aliases": ["722408bcd"], "source_commits": ["722408bcd"], "source_entry_id": "11.0/changes/102", "db_id": "d73cc3fa3a9277b3b73a041107e70106", "patch_ids": ["0c3d876ea5142ca54846b4b4a10f23ff"], "statement_hash": "042ce4291bd63660fa7896b9744350dc4341129d4181716ab348e8766d3bca18", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-e34e6672b68952cc", "cves": [], "html": "<p>为 <span>pgbench</span> 表达式添加对 NULL、布尔值以及某些函数和操作符的支持（Fabien Coelho）</p>", "text": "为 pgbench 表达式添加对 NULL、布尔值以及某些函数和操作符的支持（Fabien Coelho）", "title": "为 pgbench 表达式添加对 NULL、布尔值以及某些函数和操作符的支持", "commits": [], "section": "客户端应用程序 / pgbench", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.10.3", "source_hash": "41ba284f3f76d243280aaff9f0084c2972b4e53266ec1d405d93f6b1017a41ce", "section_path": ["客户端应用程序", "pgbench"], "commit_groups": [["bc7fa0c15"]], "identity_text": "Add pgbench expression support for NULLs, booleans, and some functions and operators (Fabien Coelho)", "commit_aliases": ["bc7fa0c15"], "source_commits": ["bc7fa0c15"], "source_entry_id": "11.0/changes/103", "db_id": "cfa65d518b36a213a88cc8f92b88f355", "patch_ids": ["f678764112d3f53e34e26137a4d40018"], "statement_hash": "e9a92c818aaf876c88bf006316c026821bccac67a2faf9b13b9b078d73c0678d", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-f162b7f7f9215d6f", "cves": [], "html": "<p>为 <span>pgbench</span> 添加 <code>\\if</code> 条件支持（Fabien Coelho）</p>", "text": "为 pgbench 添加 \\if 条件支持（Fabien Coelho）", "title": "为 pgbench 添加 \\if 条件支持", "commits": [], "section": "客户端应用程序 / pgbench", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.10.3", "source_hash": "d18edf3f201876d64fbf283ffd83bce4aeced5490fc034f7703276d01e4dcc9e", "section_path": ["客户端应用程序", "pgbench"], "commit_groups": [["f67b113ac"]], "identity_text": "Add \\if conditional support to pgbench (Fabien Coelho)", "commit_aliases": ["f67b113ac"], "source_commits": ["f67b113ac"], "source_entry_id": "11.0/changes/104", "db_id": "a4912d0dc58d011c2968b31e10201088", "patch_ids": ["8f2fcc47faa962ba3ae44b1bde045f17"], "statement_hash": "53c468880d005cc548c99c2274714784adfd25a8a18c29b44502736972aad8b5", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-d068da381a6ac978", "cves": [], "html": "<p>允许在 <span>pgbench</span> 变量名中使用非 <acronym>ASCII</acronym> 字符（Fabien Coelho）</p>", "text": "允许在 pgbench 变量名中使用非 ASCII 字符（Fabien Coelho）", "title": "允许在 pgbench 变量名中使用非 ASCII 字符", "commits": [], "section": "客户端应用程序 / pgbench", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.10.3", "source_hash": "69a59e5fa35a7d954e181bc8e55aea4f46bbc8c43e0864c97c70de554a2aa59e", "section_path": ["客户端应用程序", "pgbench"], "commit_groups": [["9d36a3866"]], "identity_text": "Allow the use of non-ASCII characters in pgbench variable names (Fabien Coelho)", "commit_aliases": ["9d36a3866"], "source_commits": ["9d36a3866"], "source_entry_id": "11.0/changes/105", "db_id": "bb0f6df209355898befb0a1ecd000bd6", "patch_ids": ["0881ff570e19830837c6e7e8bf5df1b4"], "statement_hash": "50562993e22d16dd1d6f31b4cfb5b47023b6097d02d249e21e0ea1ba07ee9cb2", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-429fe142f3879a71", "cves": [], "html": "<p>添加 <span>pgbench</span> 选项 <code>--init-steps</code>，以控制执行哪些初始化步骤（Masahiko Sawada）</p>", "text": "添加 pgbench 选项 --init-steps，以控制执行哪些初始化步骤（Masahiko Sawada）", "title": "添加 pgbench 选项 --init-steps，以控制执行哪些初始化步骤", "commits": [], "section": "客户端应用程序 / pgbench", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.10.3", "source_hash": "8c8c6d2fc5c5fdacba54550e2b1985a335ad69dd3e05f9deac3f53d01bd181cb", "section_path": ["客户端应用程序", "pgbench"], "commit_groups": [["591c504fa"]], "identity_text": "Add pgbench option --init-steps to control the initialization steps performed (Masahiko Sawada)", "commit_aliases": ["591c504fa"], "source_commits": ["591c504fa"], "source_entry_id": "11.0/changes/106", "db_id": "f7dd508d1dd6fb5b7c3ca2f6d5f85014", "patch_ids": ["09ba057ecee29d1b5636edd9a63b3714"], "statement_hash": "85b5ab3829010b2dd974ea29d6482dd3914c51ae9dadd790cdc862e107bb7f5f", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-e22c5be20900d763", "cves": [], "html": "<p>为 <span>pgbench</span> 添加近似服从 Zipf 分布的随机数生成器（Alik Khilazhev）</p>", "text": "为 pgbench 添加近似服从 Zipf 分布的随机数生成器（Alik Khilazhev）", "title": "为 pgbench 添加近似服从 Zipf 分布的随机数生成器", "commits": [], "section": "客户端应用程序 / pgbench", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.10.3", "source_hash": "87e8768e86e3ceb136565edb6b1c07b808e27e1100eb8e29d99f2c0dd232c666", "section_path": ["客户端应用程序", "pgbench"], "commit_groups": [["1fcd0adeb"]], "identity_text": "Add an approximately Zipfian-distributed random generator to pgbench (Alik Khilazhev)", "commit_aliases": ["1fcd0adeb"], "source_commits": ["1fcd0adeb"], "source_entry_id": "11.0/changes/107", "db_id": "c576e674c678e17e35cbec7c1dc0f5f8", "patch_ids": ["50df856d2fb3e7fd21aef2f17d02e136"], "statement_hash": "d5f7f2deddb1d83f5349378c3fd2a0618546941cad634081203daecf24d3e445", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-c23b9d3f534d0a63", "cves": [], "html": "<p>允许在 <span>pgbench</span> 中设置随机种子（Fabien Coelho）</p>", "text": "允许在 pgbench 中设置随机种子（Fabien Coelho）", "title": "允许在 pgbench 中设置随机种子", "commits": [], "section": "客户端应用程序 / pgbench", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.10.3", "source_hash": "57035472ff139c6e6578c2bc3e854b63185504a958c9407218e5d85498b45257", "section_path": ["客户端应用程序", "pgbench"], "commit_groups": [["64f85894a"]], "identity_text": "Allow the random seed to be set in pgbench (Fabien Coelho)", "commit_aliases": ["64f85894a"], "source_commits": ["64f85894a"], "source_entry_id": "11.0/changes/108", "db_id": "45271260a2db818e3a5fbd5e4fc61371", "patch_ids": ["03d4f513f7fe8d96e42426d3c6e9fc36"], "statement_hash": "043567b7ed20da4e08f7a4c36a62cf0875c0a88984611d1a23616a35a0428e86", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-760f2ff680330972", "cves": [], "html": "<p>允许 <span>pgbench</span> 使用 <code>pow()</code> 和 <code>power()</code> 执行幂运算（Raúl Marín Rodríguez）</p>", "text": "允许 pgbench 使用 pow() 和 power() 执行幂运算（Raúl Marín Rodríguez）", "title": "允许 pgbench 使用 pow() 和 power() 执行幂运算", "commits": [], "section": "客户端应用程序 / pgbench", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.10.3", "source_hash": "84e23987bf1348c67e03c842993bddbbe1f233c546e092ae99ebdf2fcfd43f47", "section_path": ["客户端应用程序", "pgbench"], "commit_groups": [["7a727c180"]], "identity_text": "Allow pgbench to do exponentiation with pow() and power() (Raúl Marín Rodríguez)", "commit_aliases": ["7a727c180"], "source_commits": ["7a727c180"], "source_entry_id": "11.0/changes/109", "db_id": "ebb4a3542c54fafa224a758205635537", "patch_ids": ["c71113edfe9b3b1b6f22dc981688e0b2"], "statement_hash": "91aa2b6b93b3c1f0593d645bbc93a22b14a66eb85ee308255fc738fd409e8954", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-7253eb9c9335b8d4", "cves": [], "html": "<p>为 <span>pgbench</span> 添加 hash 函数（Ildar Musin）</p>", "text": "为 pgbench 添加 hash 函数（Ildar Musin）", "title": "为 pgbench 添加 hash 函数", "commits": [], "section": "客户端应用程序 / pgbench", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.10.3", "source_hash": "3785f7ae7a1b86ce8eb9c5c8c842d1b16f304e26a3cbac05d80b8faf0722ce75", "section_path": ["客户端应用程序", "pgbench"], "commit_groups": [["e51a04840"]], "identity_text": "Add hashing functions to pgbench (Ildar Musin)", "commit_aliases": ["e51a04840"], "source_commits": ["e51a04840"], "source_entry_id": "11.0/changes/110", "db_id": "c620d215e9b3e2dc3c7876f99e5e8b97", "patch_ids": ["a431cd372e5bebd56707bc7d847928ea"], "statement_hash": "dcfad91620e5e826d5d4d3613a1e958a6a189ec1230900af619eb97b3daac6af", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-4cfd5aadf6132f23", "cves": [], "html": "<p>提高使用 <code>--latency-limit</code> 和 <code>--rate</code> 时 <span>pgbench</span> 统计信息的准确性（Fabien Coelho）</p>", "text": "提高使用 --latency-limit 和 --rate 时 pgbench 统计信息的准确性（Fabien Coelho）", "title": "提高使用 --latency-limit 和 --rate 时 pgbench 统计信息的准确性", "commits": [], "section": "客户端应用程序 / pgbench", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.10.3", "source_hash": "25417f4108e571fd2ad9e5827821cc7a7cf06f31ea8eb617106227d3c1e27271", "section_path": ["客户端应用程序", "pgbench"], "commit_groups": [["16827d442"], ["c23bb6bad"]], "identity_text": "Make pgbench statistics more accurate when using --latency-limit and --rate (Fabien Coelho)", "commit_aliases": ["16827d442", "c23bb6bad"], "source_commits": ["16827d442", "c23bb6bad"], "source_entry_id": "11.0/changes/111", "db_id": "a7a46fb3455983614ec31b8e989b4d1b", "patch_ids": ["733adcea4d17ab1749892561edbeaccd", "91040386f514a52fb33989358a42d749"], "statement_hash": "d79427853df63fef9ff2ae94ae8ecdb8227439b707a01ae058595bcad46679c7", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-650c2fe424109911", "cves": [], "html": "<p>为<a href=\"/docs/11/app-pgbasebackup.html\" title=\"pg_basebackup\"><span>pg_basebackup</span></a>添加创建命名复制槽的选项（Michael Banck）</p>\n<p>使用 <acronym>WAL</acronym> 流式方法（<code>--wal-method=stream</code>）时，<code>--create-slot</code> 选项会创建指定名称的复制槽（<code>--slot</code>）。</p>", "text": "为pg_basebackup添加创建命名复制槽的选项（Michael Banck） 使用 WAL 流式方法（--wal-method=stream）时，--create-slot 选项会创建指定名称的复制槽（--slot）。", "title": "为pg_basebackup添加创建命名复制槽的选项", "commits": [], "section": "服务器应用程序", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.11", "source_hash": "d078b056831b83a97ca6802621f4785248155dc1e03e21ae8967d4fdc814785c", "section_path": ["服务器应用程序"], "commit_groups": [["3709ca1cf"]], "identity_text": "Add an option to pg_basebackup that creates a named replication slot (Michael Banck) The option --create-slot creates the named replication slot (--slot) when the WAL streaming method (--wal-method=stream) is used.", "commit_aliases": ["3709ca1cf"], "source_commits": ["3709ca1cf"], "source_entry_id": "11.0/changes/112", "db_id": "a0c12a97cd330098b5ad768d0546379b", "patch_ids": ["430a4c7bc0f5554f2457537e4b8243fb"], "statement_hash": "612e2391bcbc689a68d0a834a285daa2aa800ab41a432a300b9f17b6a4364639", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-6a5f4ebd769df761", "cves": [], "html": "<p>允许<a href=\"/docs/11/app-initdb.html\" title=\"initdb\"><span>initdb</span></a>为数据目录设置组读取权限（David Steele）</p>\n<p>这通过新的 initdb 选项 <code>--allow-group-access</code> 完成。管理员也可以在运行 initdb 之前，为空数据目录设置组权限。服务器变量 <a href=\"/docs/11/runtime-config-file-locations.html#GUC-DATA-DIRECTORY\"><code>data_directory_mode</code></a> 允许读取数据目录的组权限。</p>", "text": "允许initdb为数据目录设置组读取权限（David Steele） 这通过新的 initdb 选项 --allow-group-access 完成。管理员也可以在运行 initdb 之前，为空数据目录设置组权限。服务器变量 data_directory_mode 允许读取数据目录的组权限。", "title": "允许initdb为数据目录设置组读取权限", "commits": [], "section": "服务器应用程序", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.11", "source_hash": "252c3f135e0cad4abcb11dcdeb4a227f32fc7c92a4ba48950d52150a1e3676ea", "section_path": ["服务器应用程序"], "commit_groups": [["c37b3d08c"]], "identity_text": "Allow initdb to set group read access to the data directory (David Steele) This is accomplished with the new initdb option --allow-group-access. Administrators can also set group permissions on the empty data directory before running initdb. Server variable data_directory_mode allows reading of data directory group permissions.", "commit_aliases": ["c37b3d08c"], "source_commits": ["c37b3d08c"], "source_entry_id": "11.0/changes/113", "db_id": "ceebcc586ee816150c2c66ed85cbbba4", "patch_ids": ["6acc52018c27af56a30a29fda0066895"], "statement_hash": "81de74bed7dc5d9d6603fb6d2c9189edef723448d4ee1c1e5552037b3cf718c8", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-0c1cf717ad3b909e", "cves": [], "html": "<p>添加<a href=\"/docs/11/pgverifychecksums.html\" title=\"pg_verify_checksums\"><span>pg_verify_checksums</span></a>工具，以在离线状态下验证数据库校验和（Magnus Hagander）</p>", "text": "添加pg_verify_checksums工具，以在离线状态下验证数据库校验和（Magnus Hagander）", "title": "添加pg_verify_checksums工具，以在离线状态下验证数据库校验和", "commits": [], "section": "服务器应用程序", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.11", "source_hash": "95dd64ab542cfee27d56fbc8ff75696901a456bcd3ce7bf956e297aaa2f9a226", "section_path": ["服务器应用程序"], "commit_groups": [["1fde38bea"], ["a228cc13a"]], "identity_text": "Add pg_verify_checksums tool to verify database checksums while offline (Magnus Hagander)", "commit_aliases": ["1fde38bea", "a228cc13a"], "source_commits": ["1fde38bea", "a228cc13a"], "source_entry_id": "11.0/changes/114", "db_id": "7bc800b6ddf2404a8af49dadcb85f760", "patch_ids": ["493c868c123954ae362bb49b0c6af372", "6a2ad58e29e69d02b6a5334d5b22bce5"], "statement_hash": "cd09e84a3fe2abc536d67cdb5b0c937939f7d74bde53bd33adaf58b1e5d93ad9", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-107327c053dabe6f", "cves": [], "html": "<p>允许<a href=\"/docs/11/app-pgresetwal.html\" title=\"pg_resetwal\"><span>pg_resetwal</span></a>通过 <code>--wal-segsize</code> 更改 <acronym>WAL</acronym> 段大小（Nathan Bossart）</p>", "text": "允许pg_resetwal通过 --wal-segsize 更改 WAL 段大小（Nathan Bossart）", "title": "允许pg_resetwal通过 --wal-segsize 更改 WAL 段大小", "commits": [], "section": "服务器应用程序", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.11", "source_hash": "1d7e01f9a55ac52dbf26df781a07142ea7325e26749f1b2f852415b4951780af", "section_path": ["服务器应用程序"], "commit_groups": [["bf4a8676c"]], "identity_text": "Allow pg_resetwal to change the WAL segment size via --wal-segsize (Nathan Bossart)", "commit_aliases": ["bf4a8676c"], "source_commits": ["bf4a8676c"], "source_entry_id": "11.0/changes/115", "db_id": "c3688a65af2f14b76f98274cc78851f4", "patch_ids": ["0ec904ca051942c22a5e278c4bbbdd54"], "statement_hash": "fcec33e3235f8ff4e37a6f2e7f7e3acc927452a00cd28271b9e3a074cde1ad94", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-bc3db2327b49e6c9", "cves": [], "html": "<p>为 <span>pg_resetwal</span> 和 <span>pg_controldata</span> 添加长选项（Nathan Bossart，Peter Eisentraut）</p>", "text": "为 pg_resetwal 和 pg_controldata 添加长选项（Nathan Bossart，Peter Eisentraut）", "title": "为 pg_resetwal 和 pg_controldata 添加长选项", "commits": [], "section": "服务器应用程序", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.11", "source_hash": "47cda5e08b88dd2bc9511855ef02d7bcde1b58c9f1f09946fdaf93ad7864530c", "section_path": ["服务器应用程序"], "commit_groups": [["e22b27f0c"]], "identity_text": "Add long options to pg_resetwal and pg_controldata (Nathan Bossart, Peter Eisentraut)", "commit_aliases": ["e22b27f0c"], "source_commits": ["e22b27f0c"], "source_entry_id": "11.0/changes/116", "db_id": "032dbbc37940357248f8193567e674ab", "patch_ids": ["3ba65b9a6f132e2aa46a0e0982aad992"], "statement_hash": "de6b68ffb2cb31c118a0badc8472afd999544a39c92bb589d14cdf5778c95fd4", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-347d98e4c8d6a2e7", "cves": [], "html": "<p>为<a href=\"/docs/11/app-pgreceivewal.html\" title=\"pg_receivewal\"><span>pg_receivewal</span></a>添加 <code>--no-sync</code> 选项，用于测试时禁止同步 <acronym>WAL</acronym> 写入（Michael Paquier）</p>", "text": "为pg_receivewal添加 --no-sync 选项，用于测试时禁止同步 WAL 写入（Michael Paquier）", "title": "为pg_receivewal添加 --no-sync 选项，用于测试时禁止同步 WAL 写入", "commits": [], "section": "服务器应用程序", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.11", "source_hash": "7bcea8714c9fcf703d0f3ff93e1b6977b2806d8749f24c473a2e9c0de06248d3", "section_path": ["服务器应用程序"], "commit_groups": [["5f3971291"]], "identity_text": "Add pg_receivewal option --no-sync to prevent synchronous WAL writes, for testing (Michael Paquier)", "commit_aliases": ["5f3971291"], "source_commits": ["5f3971291"], "source_entry_id": "11.0/changes/117", "db_id": "13f3806e367ef1ad598f35745f83e8b8", "patch_ids": ["410232b5129a36e27a41859397d973ab"], "statement_hash": "1491bcaf51a90b2a4500a71c32001185170c373350264f8a7783325f77787c6c", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-8d03c7251840c12e", "cves": [], "html": "<p>添加 <span>pg_receivewal</span> 选项 <code>--endpos</code>，以指定何时停止接收 <acronym>WAL</acronym>（Michael Paquier）</p>", "text": "添加 pg_receivewal 选项 --endpos，以指定何时停止接收 WAL（Michael Paquier）", "title": "添加 pg_receivewal 选项 --endpos，以指定何时停止接收 WAL", "commits": [], "section": "服务器应用程序", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.11", "source_hash": "2a3569fdded5147513de96b71170020be0110682de1789e44d9f89f02632e5f4", "section_path": ["服务器应用程序"], "commit_groups": [["6d9fa5264"]], "identity_text": "Add pg_receivewal option --endpos to specify when WAL receiving should stop (Michael Paquier)", "commit_aliases": ["6d9fa5264"], "source_commits": ["6d9fa5264"], "source_entry_id": "11.0/changes/118", "db_id": "9664ba088f735afaa25a006980ac1be6", "patch_ids": ["6e329c5ac3bab5466479cf5ae6ed2c38"], "statement_hash": "6ac2b54bf7ab77b1a1ab6524f497381a3d0414844a2de9ea3bafdd0806e38720", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-9b92089ed2fee24f", "cves": [], "html": "<p>允许<a href=\"/docs/11/app-pg-ctl.html\" title=\"pg_ctl\"><span>pg_ctl</span></a>向进程发送 <code>SIGKILL</code> 信号（Andres Freund）</p>\n<p>以前因担心可能被误用而不支持此功能。</p>", "text": "允许pg_ctl向进程发送 SIGKILL 信号（Andres Freund） 以前因担心可能被误用而不支持此功能。", "title": "允许pg_ctl向进程发送 SIGKILL 信号", "commits": [], "section": "服务器应用程序", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.11", "source_hash": "14a7befffcafd97427bf9194ae669ea045e11739b6ebc814a39daec13e44509a", "section_path": ["服务器应用程序"], "commit_groups": [["2e83db3ad"]], "identity_text": "Allow pg_ctl to send the SIGKILL signal to processes (Andres Freund) This was previously unsupported due to concerns over possible misuse.", "commit_aliases": ["2e83db3ad"], "source_commits": ["2e83db3ad"], "source_entry_id": "11.0/changes/119", "db_id": "879b7bfac469d8b0819e2423c3427698", "patch_ids": ["7b5cc9dcbb869008d2f5042b03e1a1c4"], "statement_hash": "d613ec4710d919dd19c1d1ec90c05467cf23acaead0071c04777f9f72b306284", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-9223e70b2770d60b", "cves": [], "html": "<p>减少<a href=\"/docs/11/app-pgrewind.html\" title=\"pg_rewind\"><span>pg_rewind</span></a>复制的文件数量（Michael Paquier）</p>", "text": "减少pg_rewind复制的文件数量（Michael Paquier）", "title": "减少pg_rewind复制的文件数量", "commits": [], "section": "服务器应用程序", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.11", "source_hash": "c68a4a15563a4d0424f0c3cdd10549b95c9ae64a68afa2d18c26c67516727d16", "section_path": ["服务器应用程序"], "commit_groups": [["266b6acb3"]], "identity_text": "Reduce the number of files copied by pg_rewind (Michael Paquier)", "commit_aliases": ["266b6acb3"], "source_commits": ["266b6acb3"], "source_entry_id": "11.0/changes/120", "db_id": "494a3012f8ad23efa3c627cf39818950", "patch_ids": ["f41bfcea710b81a51151e05ecea904d1"], "statement_hash": "a552fbbfdc9cbed77f552bf61232ee99de360c4223c7f99ce0913243d4ae0399", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-d50375570e81e04d", "cves": [], "html": "<p>禁止以 <code>root</code> 身份运行 <span>pg_rewind</span>（Michael Paquier）</p>", "text": "禁止以 root 身份运行 pg_rewind（Michael Paquier）", "title": "禁止以 root 身份运行 pg_rewind", "commits": [], "section": "服务器应用程序", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.11", "source_hash": "d80b6bb32ff84c4ba8b127a97d365ae0680044e3692c30ed1b662ded3df9b858", "section_path": ["服务器应用程序"], "commit_groups": [["5d5aeddab"]], "identity_text": "Prevent pg_rewind from running as root (Michael Paquier)", "commit_aliases": ["5d5aeddab"], "source_commits": ["5d5aeddab"], "source_entry_id": "11.0/changes/121", "db_id": "11a4c0c051427349cda9b1086b1d1e69", "patch_ids": ["2aaa28499fa17c5776ef0805c7f8468f"], "statement_hash": "f8602997ecd95ab5c8f7f39509b34535e63a937eedb6d5ad352dfa1a635ec906", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-25c540657674cc25", "cves": [], "html": "<p>添加 <span>pg_dumpall</span> 选项 <code>--encoding</code>，以控制输出编码（Michael Paquier）</p>\n<p><span>pg_dump</span> 已有此选项。</p>", "text": "添加 pg_dumpall 选项 --encoding，以控制输出编码（Michael Paquier） pg_dump 已有此选项。", "title": "添加 pg_dumpall 选项 --encoding，以控制输出编码", "commits": [], "section": "服务器应用程序 / pg_dump, pg_dumpall, pg_restore", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.11.3", "source_hash": "7607d71661db12b412d17a4b449175f5dc834359c21292fb11712e46e96e6ac5", "section_path": ["服务器应用程序", "pg_dump, pg_dumpall, pg_restore"], "commit_groups": [["84be67181"]], "identity_text": "Add pg_dumpall option --encoding to control output encoding (Michael Paquier) pg_dump already had this option.", "commit_aliases": ["84be67181"], "source_commits": ["84be67181"], "source_entry_id": "11.0/changes/122", "db_id": "8a3be6dda64a9c63bbd5d83e04c4fb42", "patch_ids": ["ec4ecedd6ae3ad1a5657e30c466497ca"], "statement_hash": "a1b1a073366d289d12eac1c0b2e44e48415911558a9ee262668621c17f58aad8", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-1159e95875b2f787", "cves": [], "html": "<p>添加 <span>pg_dump</span> 选项 <code>--load-via-partition-root</code>，强制将数据加载到分区的根表，而非原分区（Rushabh Lathia）</p>\n<p>当加载目标系统具有不同的排序规则定义或字节序，可能需要将行存储到与以前不同的分区时，此选项很有用。</p>", "text": "添加 pg_dump 选项 --load-via-partition-root，强制将数据加载到分区的根表，而非原分区（Rushabh Lathia） 当加载目标系统具有不同的排序规则定义或字节序，可能需要将行存储到与以前不同的分区时，此选项很有用。", "title": "添加 pg_dump 选项 --load-via-partition-root，强制将数据加载到分区的根表，而非原分区", "commits": [], "section": "服务器应用程序 / pg_dump, pg_dumpall, pg_restore", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.11.3", "source_hash": "1362f6a9caf76fbf03f21925047fabe3723535e7f8fb06d5e2a6992b0ed2a41b", "section_path": ["服务器应用程序", "pg_dump, pg_dumpall, pg_restore"], "commit_groups": [["23d7680d0"]], "identity_text": "Add pg_dump option --load-via-partition-root to force loading of data into the partition's root table, rather than the original partition (Rushabh Lathia) This is useful if the system to be loaded to has different collation definitions or endianness, possibly requiring rows to be stored in different partitions than previously.", "commit_aliases": ["23d7680d0"], "source_commits": ["23d7680d0"], "source_entry_id": "11.0/changes/123", "db_id": "d8ce247aa432f1b8c31b6582bd5d701f", "patch_ids": ["361ec601363ea8647143e2bc114d4d6b"], "statement_hash": "56de5be176992f656fdaa53f7c753cc20cc5d621a1be24dafc607cbfe19fc0aa", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-8d176c84a545004d", "cves": [], "html": "<p>添加禁止转储和恢复数据库对象注释的选项（Robins Tharakan）</p>\n<p><span>pg_dump</span>、<span>pg_dumpall</span> 和 <span>pg_restore</span> 的新选项为 <code>--no-comments</code>。</p>", "text": "添加禁止转储和恢复数据库对象注释的选项（Robins Tharakan） pg_dump、pg_dumpall 和 pg_restore 的新选项为 --no-comments。", "title": "添加禁止转储和恢复数据库对象注释的选项", "commits": [], "section": "服务器应用程序 / pg_dump, pg_dumpall, pg_restore", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.11.3", "source_hash": "2c47b1ccb5e89fbdc63195f1c043857cd4c4b7dec69040c570e186b71132a0d0", "section_path": ["服务器应用程序", "pg_dump, pg_dumpall, pg_restore"], "commit_groups": [["1368e92e1"]], "identity_text": "Add an option to suppress dumping and restoring database object comments (Robins Tharakan) The new pg_dump, pg_dumpall, and pg_restore option is --no-comments.", "commit_aliases": ["1368e92e1"], "source_commits": ["1368e92e1"], "source_entry_id": "11.0/changes/124", "db_id": "f8b71da06e197023e3d027f3c51fea59", "patch_ids": ["399fbef1314949d74dd4de8dfb969122"], "statement_hash": "1542bc2f63bdf01ca9f4fa8d006c7d46d07846e109846cc867efaaa9fbe78f62", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-4d2073085c95c710", "cves": [], "html": "<p>为 <span>PGXS</span> 添加安装包含文件的支持（Andrew Gierth）</p>\n<p>这支持创建依赖其他模块的扩展模块。以前，依赖模块没有简单的方法找到被引用模块的包含文件。若干定义了数据类型的现有 <code>contrib</code> 模块已作调整，以安装相关文件。此外，PL/Perl 和 PL/Python 现在也会安装其包含文件，以支持创建这些语言的转换模块。</p>", "text": "为 PGXS 添加安装包含文件的支持（Andrew Gierth） 这支持创建依赖其他模块的扩展模块。以前，依赖模块没有简单的方法找到被引用模块的包含文件。若干定义了数据类型的现有 contrib 模块已作调整，以安装相关文件。此外，PL/Perl 和 PL/Python 现在也会安装其包含文件，以支持创建这些语言的转换模块。", "title": "为 PGXS 添加安装包含文件的支持", "commits": [], "section": "源代码", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.12", "source_hash": "9631a4a5b9ee1519bd33142b062eaf496f441950008cfdc10be2d6aa83049116", "section_path": ["源代码"], "commit_groups": [["094ffd684"], ["235526a20"], ["d06eebce5"], ["f1ca5a654"]], "identity_text": "Add PGXS support for installing include files (Andrew Gierth) This supports creating extension modules that depend on other modules. Formerly there was no easy way for the dependent module to find the referenced one's include files. Several existing contrib modules that define data types have been adjusted to install relevant files. Also, PL/Perl and PL/Python now install their include files, to support creation of transform modules for those languages.", "commit_aliases": ["094ffd684", "235526a20", "d06eebce5", "f1ca5a654"], "source_commits": ["094ffd684", "235526a20", "d06eebce5", "f1ca5a654"], "source_entry_id": "11.0/changes/125", "db_id": "df3b752844a957876f98117a141a4d1b", "patch_ids": ["0376d7456cf71f7bc8c3ea3259ac55cf", "03bf60a4bcfddb4aee8754d6f7ceee17", "f80ded311b195e159e77fb306ebfe83c", "faf72fb2e1c934dbc4c9a99144d05f21"], "statement_hash": "fac74fd0ed20cf6e8c2dc2e1b23640bd7a2fe7a0e2b611762cc4a7bbcb791385", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-7524903add553d3c", "cves": [], "html": "<p>安装 <code>errcodes.txt</code>，使扩展可以访问 <span>PostgreSQL</span> 已知的错误码列表（Thomas Munro）</p>", "text": "安装 errcodes.txt，使扩展可以访问 PostgreSQL 已知的错误码列表（Thomas Munro）", "title": "安装 errcodes.txt，使扩展可以访问 PostgreSQL 已知的错误码列表", "commits": [], "section": "源代码", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.12", "source_hash": "0fee07a93a1e74984c41a0bb2b2e2b8b97a28d19131cd909d3457da617265d91", "section_path": ["源代码"], "commit_groups": [["1fd869066"]], "identity_text": "Install errcodes.txt to allow extensions to access the list of error codes known to PostgreSQL (Thomas Munro)", "commit_aliases": ["1fd869066"], "source_commits": ["1fd869066"], "source_entry_id": "11.0/changes/126", "db_id": "af8de42a029d75567588d441634d2ea2", "patch_ids": ["86739051b3caac1df6717bf3cf19ce45"], "statement_hash": "f601af79b78c66e70d4c40fcc9bda9c1788ca3ed40da5cbf37840cbc70fc5e57", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-b8cbf493da6c750f", "cves": [], "html": "<p>将文档转换为 DocBook <acronym>XML</acronym>（Peter Eisentraut，Alexander Lakhin，Jürgen Purtz）</p>\n<p>为与旧分支保持兼容，文件名仍使用 <code>sgml</code> 扩展名。</p>", "text": "将文档转换为 DocBook XML（Peter Eisentraut，Alexander Lakhin，Jürgen Purtz） 为与旧分支保持兼容，文件名仍使用 sgml 扩展名。", "title": "将文档转换为 DocBook XML", "commits": [], "section": "源代码", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.12", "source_hash": "a0cd8258d174fc9e0f5c1270e84009fd723a835ad837ddf202f8d75035a2cba5", "section_path": ["源代码"], "commit_groups": [["1c53f612b"], ["1ff01b390"], ["3c49c6fac"], ["c29c57890"]], "identity_text": "Convert documentation to DocBook XML (Peter Eisentraut, Alexander Lakhin, Jürgen Purtz) The file names still use an sgml extension for compatibility with back branches.", "commit_aliases": ["1c53f612b", "1ff01b390", "3c49c6fac", "c29c57890"], "source_commits": ["1c53f612b", "1ff01b390", "3c49c6fac", "c29c57890"], "source_entry_id": "11.0/changes/127", "db_id": "35d8a2cc37513d9594299871b7c5ad60", "patch_ids": ["0b850f7edb562632fc81009fd4b5c0b8", "70b034b977d67d4f7528a0465a95dce9", "85d64fbf7876df643071a2cc75374df0", "9ef7c6c7692224d1ddd894e98a51e665"], "statement_hash": "11a8abe140c538057a1df0ac32b9e7cecf2739789aadcf3a53bc0f5445161cf7", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-39dbd6327d52dfe2", "cves": [], "html": "<p>在适用的平台（即大多数平台）上，使用 <code>stdbool.h</code> 定义 <code>bool</code> 类型（Peter Eisentraut）</p>\n<p>这消除了需要包含 <code>stdbool.h</code> 的扩展模块的一项编码隐患。</p>", "text": "在适用的平台（即大多数平台）上，使用 stdbool.h 定义 bool 类型（Peter Eisentraut） 这消除了需要包含 stdbool.h 的扩展模块的一项编码隐患。", "title": "在适用的平台（即大多数平台）上，使用 stdbool.h 定义 bool 类型", "commits": [], "section": "源代码", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.12", "source_hash": "4ab5af379d48eb280bf2ff69a120b67f1a41e97e51403891fae52635fba8402c", "section_path": ["源代码"], "commit_groups": [["6fe25c135"], ["7ba7986fb"], ["9a95a77d9"]], "identity_text": "Use stdbool.h to define type bool on platforms where it's suitable, which is most (Peter Eisentraut) This eliminates a coding hazard for extension modules that need to include stdbool.h.", "commit_aliases": ["6fe25c135", "7ba7986fb", "9a95a77d9"], "source_commits": ["6fe25c135", "7ba7986fb", "9a95a77d9"], "source_entry_id": "11.0/changes/128", "db_id": "486347283d6c5532d16acd16966c9fc6", "patch_ids": ["11ec2556dbd8593cadd4ccab7935edb8", "58e902e4117010276d5f039802279939", "fb5a913fe04fc0e302afd9ee1aad02b9"], "statement_hash": "dea5e3edd82e7a300aadbcac68808af20a6c82e77f42a5edce526f21f33a6b12", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-0b66e201928bb0fe", "cves": [], "html": "<p>全面调整初始系统目录内容的定义方式（John Naylor）</p>\n<p>初始数据现在用 Perl 数据结构表示，更便于机械化处理。</p>", "text": "全面调整初始系统目录内容的定义方式（John Naylor） 初始数据现在用 Perl 数据结构表示，更便于机械化处理。", "title": "全面调整初始系统目录内容的定义方式", "commits": [], "section": "源代码", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.12", "source_hash": "89f375702b2376b0f696d72accb1485a6f529ac8f1a8b341daacbec7f2a1b867", "section_path": ["源代码"], "commit_groups": [["372728b0d"], ["5372c2c84"], ["55d26ff63"], ["9ffcccdb9"], ["a0854f107"], ["a351679c8"], ["d160882a1"], ["e90d4ddc6"]], "identity_text": "Overhaul the way that initial system catalog contents are defined (John Naylor) The initial data is now represented in Perl data structures, making it much easier to manipulate mechanically.", "commit_aliases": ["372728b0d", "5372c2c84", "55d26ff63", "9ffcccdb9", "a0854f107", "a351679c8", "d160882a1", "e90d4ddc6"], "source_commits": ["372728b0d", "5372c2c84", "55d26ff63", "9ffcccdb9", "a0854f107", "a351679c8", "d160882a1", "e90d4ddc6"], "source_entry_id": "11.0/changes/129", "db_id": "9773a2e3c16865a72cb89ce092d8f44b", "patch_ids": ["0a91fd7eea2bd9374829ba515dab3df0", "146bbe432469b2f8ab4b7b02eedcbe34", "2c15844dbb1f273678cdab191d7db6e8", "3f82aa50c53f911b5d1416fde037ec66", "643e802bb5429fae3bb9303b40c40b93", "720f9c40048efc8c8792b46269335825", "76eaa97376cc029d87cb57484e76f241", "bb35965bdb73e5dba9d3b451e5d4c8c4"], "statement_hash": "9baebafd01c5089c96fbb52e76f777150531e692f67e1bb1661d1d12b65166fe", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-1e4a2520a235d5ed", "cves": [], "html": "<p>禁止扩展创建接受带引号值列表的自定义服务器参数（Tom Lane）</p>\n<p>目前无法支持这种功能，因为在加载扩展之前就必须知道该参数的这一属性。</p>", "text": "禁止扩展创建接受带引号值列表的自定义服务器参数（Tom Lane） 目前无法支持这种功能，因为在加载扩展之前就必须知道该参数的这一属性。", "title": "禁止扩展创建接受带引号值列表的自定义服务器参数", "commits": [], "section": "源代码", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.12", "source_hash": "3102df18fa840331516ae64a75e8dc100b0068e8fcb1aa385c497b9fe23b7e3d", "section_path": ["源代码"], "commit_groups": [["846b5a525"]], "identity_text": "Prevent extensions from creating custom server parameters that take a quoted list of values (Tom Lane) This cannot be supported at present because knowledge of the parameter's property would be required even before the extension is loaded.", "commit_aliases": ["846b5a525"], "source_commits": ["846b5a525"], "source_entry_id": "11.0/changes/130", "db_id": "fa1933de3caaacef029869867e384235", "patch_ids": ["b2dfa83744fece20365ea5ce10500696"], "statement_hash": "de435aafd451f97414aa74df6755ec1a997a9c3b17bf6b70c7c4ca0a76a98e89", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-cce6409f88b40e7a", "cves": [], "html": "<p>增加在使用<a href=\"/docs/11/auth-password.html\" title=\"20.5. 密码认证\"><acronym>SCRAM</acronym></a>认证时使用通道绑定的能力（Michael Paquier）</p>\n<p>通道绑定旨在防止中间人攻击，但除非能够强制启用通道绑定，否则 <acronym>SCRAM</acronym> 无法防止此类攻击。遗憾的是，libpq 中没有办法做到这一点。预计未来版本的 libpq，以及不基于 libpq 构建的接口（例如 JDBC）将支持此功能。</p>", "text": "增加在使用SCRAM认证时使用通道绑定的能力（Michael Paquier） 通道绑定旨在防止中间人攻击，但除非能够强制启用通道绑定，否则 SCRAM 无法防止此类攻击。遗憾的是，libpq 中没有办法做到这一点。预计未来版本的 libpq，以及不基于 libpq 构建的接口（例如 JDBC）将支持此功能。", "title": "增加在使用SCRAM认证时使用通道绑定的能力", "commits": [], "section": "源代码", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.12", "source_hash": "e9900e57e2ba7a3c7a5cf2db99ecd37d06b9c93d70d24ccb2c564c8ff678fb24", "section_path": ["源代码"], "commit_groups": [["4bbf110d2"], ["9288d62bb"], ["d3fb72ea6"]], "identity_text": "Add ability to use channel binding when using SCRAM authentication (Michael Paquier) Channel binding is intended to prevent man-in-the-middle attacks, but SCRAM cannot prevent them unless it can be forced to be active. Unfortunately, there is no way to do that in libpq. Support for it is expected in future versions of libpq and in interfaces not built using libpq, e.g., JDBC.", "commit_aliases": ["4bbf110d2", "9288d62bb", "d3fb72ea6"], "source_commits": ["4bbf110d2", "9288d62bb", "d3fb72ea6"], "source_entry_id": "11.0/changes/131", "db_id": "bff2bbba65a3a78f20ded5b40ad97bcd", "patch_ids": ["58bcf4280be6f33e7af5b0fce5beae4c", "a5a66f394978747f567c44c5f56aee33", "f3f9ce78e54a2f22b140ce58321e5a30"], "statement_hash": "4ac7731ba95956c7ff0cba8389b5a9a073dde6f1c14af05a0d5c47b3b54538f1", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-f90ee171e8da7552", "cves": [], "html": "<p>允许后台工作进程连接到通常不允许连接的数据库（Magnus Hagander）</p>", "text": "允许后台工作进程连接到通常不允许连接的数据库（Magnus Hagander）", "title": "允许后台工作进程连接到通常不允许连接的数据库", "commits": [], "section": "源代码", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.12", "source_hash": "9c45d8fcc278a3c7b0a0f4ef4b33b3adeb678a0016f2368bc1e5e001c8d53d6a", "section_path": ["源代码"], "commit_groups": [["eed1ce72e"]], "identity_text": "Allow background workers to attach to databases that normally disallow connections (Magnus Hagander)", "commit_aliases": ["eed1ce72e"], "source_commits": ["eed1ce72e"], "source_entry_id": "11.0/changes/132", "db_id": "bf4de24dee6e29eead99c6ef51fb51d4", "patch_ids": ["af425665c70b422de85126d33ad9ca7c"], "statement_hash": "b42172728d8c7ea936188af9479aaa827a39f49d295dd0d7c8bfa5e3cd08ab62", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-36580fc2da065a0b", "cves": [], "html": "<p>添加对 <span>ARMv8</span> 上硬件 <acronym>CRC</acronym> 计算的支持（Yuqi Gu，Heikki Linnakangas，Thomas Munro）</p>", "text": "添加对 ARMv8 上硬件 CRC 计算的支持（Yuqi Gu，Heikki Linnakangas，Thomas Munro）", "title": "添加对 ARMv8 上硬件 CRC 计算的支持", "commits": [], "section": "源代码", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.12", "source_hash": "9bb529820c80e4bad118d25ca812ada7ed0a23196ab2ebd89da8db11da75dc3a", "section_path": ["源代码"], "commit_groups": [["f044d71e3"]], "identity_text": "Add support for hardware CRC calculations on ARMv8 (Yuqi Gu, Heikki Linnakangas, Thomas Munro)", "commit_aliases": ["f044d71e3"], "source_commits": ["f044d71e3"], "source_entry_id": "11.0/changes/133", "db_id": "cb36577d1888cc82e055d4a9a2b50b79", "patch_ids": ["647b77da2e2ae79ae08a85d5bd1918fb"], "statement_hash": "230ddd1801f8486e3fd8f84599fff320addedacf003bc6d2a71c5487e6ca4dc2", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-09c3f074623ac070", "cves": [], "html": "<p>加快按 OID 查找内置函数的速度（Andres Freund）</p>\n<p>以前的二分查找已被查找数组取代。</p>", "text": "加快按 OID 查找内置函数的速度（Andres Freund） 以前的二分查找已被查找数组取代。", "title": "加快按 OID 查找内置函数的速度", "commits": [], "section": "源代码", "category": "performance", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.12", "source_hash": "1ddf635d514b9be1402b8b86e931de9f5a1834ea84fa21c3bdd5f405d2b7a8d2", "section_path": ["源代码"], "commit_groups": [["212e6f34d"]], "identity_text": "Speed up lookups of built-in functions by OID (Andres Freund) The previous binary search has been replaced by a lookup array.", "commit_aliases": ["212e6f34d"], "source_commits": ["212e6f34d"], "source_entry_id": "11.0/changes/134", "db_id": "94ec7e396f8dc999a09f697106c28df6", "patch_ids": ["e6e8c82618c377c8f870b965f7a9e7a5"], "statement_hash": "1b7371d563061a55030a2bdb6f00f1faa018c57f58fbb791e35a278258165c61", "relations": [], "version": "11.0", "category_label": "性能改进", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-27ff29dcb88bd240", "cves": [], "html": "<p>加快查询结果的构建速度（Andres Freund）</p>", "text": "加快查询结果的构建速度（Andres Freund）", "title": "加快查询结果的构建速度", "commits": [], "section": "源代码", "category": "performance", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.12", "source_hash": "009117c5661b9c55dcb3714916c9cb0bf52478dd7c7c3da93f8f069a5ee96b51", "section_path": ["源代码"], "commit_groups": [["1de09ad8e"]], "identity_text": "Speed up construction of query results (Andres Freund)", "commit_aliases": ["1de09ad8e"], "source_commits": ["1de09ad8e"], "source_entry_id": "11.0/changes/135", "db_id": "34053cc0896d4a9669457a67246f6e7e", "patch_ids": ["85f4e76a59e9c383cf86e2c7ccbafb4c"], "statement_hash": "1baaa4a1dd11964bc069e855ebcfd74456e27d8f3ca4dbddd461277708fae3e8", "relations": [], "version": "11.0", "category_label": "性能改进", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-2d2984315b63ebeb", "cves": [], "html": "<p>提高系统缓存访问速度（Andres Freund）</p>", "text": "提高系统缓存访问速度（Andres Freund）", "title": "提高系统缓存访问速度", "commits": [], "section": "源代码", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.12", "source_hash": "289e094cea74c24c298cf2c4e9a027dbf564b60c7ef76597ec4c18e422b11b65", "section_path": ["源代码"], "commit_groups": [["141fd1b66"]], "identity_text": "Improve speed of access to system caches (Andres Freund)", "commit_aliases": ["141fd1b66"], "source_commits": ["141fd1b66"], "source_entry_id": "11.0/changes/136", "db_id": "530d1c150e18d66aee7af6b58cb4df9e", "patch_ids": ["29d10df3d54f86172861e68229213df5"], "statement_hash": "8b5ecdae4df4f12173450f136078ad967e4e1748ec9ea630c615bf56d915cb80", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-b88a510b264075ad", "cves": [], "html": "<p>添加针对顺序分配/释放优化的分代内存分配器（Tomas Vondra）</p>\n<p>这减少了逻辑解码的内存用量。</p>", "text": "添加针对顺序分配/释放优化的分代内存分配器（Tomas Vondra） 这减少了逻辑解码的内存用量。", "title": "添加针对顺序分配/释放优化的分代内存分配器", "commits": [], "section": "源代码", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.12", "source_hash": "c14a53537d0af6cde8a251efb074496e1ebb45d22585e58639f74e6b465f3c04", "section_path": ["源代码"], "commit_groups": [["a4ccc1cef"]], "identity_text": "Add a generational memory allocator which is optimized for serial allocation/deallocation (Tomas Vondra) This reduces memory usage for logical decoding.", "commit_aliases": ["a4ccc1cef"], "source_commits": ["a4ccc1cef"], "source_entry_id": "11.0/changes/137", "db_id": "9847caa26fee78f3b0a69dfc70e9bf63", "patch_ids": ["434d2d499e2bf454df5e0609073c2a1a"], "statement_hash": "789d55f1fe16c0d086a0320adbbe348ebf397aafbeb1cc1b2b5c2020d38060b9", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-f9a5db0f36872eac", "cves": [], "html": "<p>使 <code>VACUUM</code> 对 <code>pg_class</code>.<code>reltuples</code> 的计算与 <code>ANALYZE</code> 一致（Tomas Vondra）</p>", "text": "使 VACUUM 对 pg_class.reltuples 的计算与 ANALYZE 一致（Tomas Vondra）", "title": "使 VACUUM 对 pg_class.reltuples 的计算与 ANALYZE 一致", "commits": [], "section": "源代码", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.12", "source_hash": "6b121e4a418ae18354bcf92f71fe7df04c120af3e94df86ef8c231a3002cf6f5", "section_path": ["源代码"], "commit_groups": [["7c91a0364"]], "identity_text": "Make the computation of pg_class.reltuples by VACUUM consistent with its computation by ANALYZE (Tomas Vondra)", "commit_aliases": ["7c91a0364"], "source_commits": ["7c91a0364"], "source_entry_id": "11.0/changes/138", "db_id": "75ef39e2a1e5f1e2fa7899f39f183f89", "patch_ids": ["201d27d53baea195451d9f532ae517d6"], "statement_hash": "c8e56558edf875217d95429d9a630585f8473edc6e9b6f06045ccfdd1f5a0ad0", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-4114b010c72beb16", "cves": [], "html": "<p>更新为使用 <span>perltidy</span> <code>20170521</code> 版（Tom Lane，Peter Eisentraut）</p>", "text": "更新为使用 perltidy 20170521 版（Tom Lane，Peter Eisentraut）", "title": "更新为使用 perltidy 20170521 版", "commits": [], "section": "源代码", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.12", "source_hash": "e8d219272cfc1a988fcebd279cfd53803a0ae828f3ae3e826e8b11f23c899504", "section_path": ["源代码"], "commit_groups": [["46cda5bf7"], ["a2ada08d4"]], "identity_text": "Update to use perltidy version 20170521 (Tom Lane, Peter Eisentraut)", "commit_aliases": ["46cda5bf7", "a2ada08d4"], "source_commits": ["46cda5bf7", "a2ada08d4"], "source_entry_id": "11.0/changes/139", "db_id": "1822e228a6bd6670b81ec36c715c197b", "patch_ids": ["14276318f7c4402df20bc60e880fbc25", "bcc6408a0de5637e4b3ac0bb9eecd3e9"], "statement_hash": "9cec03802250cebcbf437ee3c133afd35ddb6dd396a4e6bb15fcb3cfeed4aec4", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-6ba76cb06f0c1bfe", "cves": [], "html": "<p>允许扩展 <a href=\"/docs/11/pgprewarm.html\" title=\"F.27. pg_prewarm\"><code>pg_prewarm</code></a> 在启动时恢复先前的共享缓冲区内容（Mithun Cy，Robert Haas）</p>\n<p>实现方式是让 <code>pg_prewarm</code> 在服务器运行期间不时地、并在关闭时，将共享缓冲区的关系和块号数据存储到磁盘。</p>", "text": "允许扩展 pg_prewarm 在启动时恢复先前的共享缓冲区内容（Mithun Cy，Robert Haas） 实现方式是让 pg_prewarm 在服务器运行期间不时地、并在关闭时，将共享缓冲区的关系和块号数据存储到磁盘。", "title": "允许扩展 pg_prewarm 在启动时恢复先前的共享缓冲区内容", "commits": [], "section": "附加模块", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.13", "source_hash": "10a681cbbfb3945ddaed6a754f3000403d4484d6dc4b5c3fd85f800c9aaefb97", "section_path": ["附加模块"], "commit_groups": [["79ccd7cbd"]], "identity_text": "Allow extension pg_prewarm to restore the previous shared buffer contents on startup (Mithun Cy, Robert Haas) This is accomplished by having pg_prewarm store the shared buffers' relation and block number data to disk occasionally during server operation, and at shutdown.", "commit_aliases": ["79ccd7cbd"], "source_commits": ["79ccd7cbd"], "source_entry_id": "11.0/changes/140", "db_id": "6c1433a7e00c9eb30caebd7fbd2ee276", "patch_ids": ["6c8f42aa5d46c2a7e94f757fa83ce295"], "statement_hash": "761e5bdd9b2f783ae29b40481b646b4c49e0b997a206ce3b688f5f69f2e2983a", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-cc30bfc208433050", "cves": [], "html": "<p>添加 <a href=\"/docs/11/pgtrgm.html\" title=\"F.31. pg_trgm\"><code>pg_trgm</code></a> 函数 <code>strict_word_similarity()</code>，以计算完整单词的相似度（Alexander Korotkov）</p>\n<p>已有的 <code>word_similarity()</code> 函数也用于此目的，但它的设计是寻找单词中相似的部分，而 <code>strict_word_similarity()</code> 计算的是与完整单词的相似度。</p>", "text": "添加 pg_trgm 函数 strict_word_similarity()，以计算完整单词的相似度（Alexander Korotkov） 已有的 word_similarity() 函数也用于此目的，但它的设计是寻找单词中相似的部分，而 strict_word_similarity() 计算的是与完整单词的相似度。", "title": "添加 pg_trgm 函数 strict_word_similarity()，以计算完整单词的相似度", "commits": [], "section": "附加模块", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.13", "source_hash": "6d23fa5433480140fdb813626bea2e73635e1fb469a74f533bc4cd9770e3bc83", "section_path": ["附加模块"], "commit_groups": [["be8a7a686"]], "identity_text": "Add pg_trgm function strict_word_similarity() to compute the similarity of whole words (Alexander Korotkov) The function word_similarity() already existed for this purpose, but it was designed to find similar parts of words, while strict_word_similarity() computes the similarity to whole words.", "commit_aliases": ["be8a7a686"], "source_commits": ["be8a7a686"], "source_entry_id": "11.0/changes/141", "db_id": "f1014ce3e43c216b9dcad78da5138a81", "patch_ids": ["0f4b342b8cb93241c23364cdf5c1dda7"], "statement_hash": "151ea6bb2fb9877874d17ece46593f2b4575c2fc5767ad96fc013d3715e67806", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-bd18a75150e0b0bf", "cves": [], "html": "<p>允许 <a href=\"/docs/11/btree-gin.html\" title=\"F.6. btree_gin\"><code>btree_gin</code></a> 对 <code>bool</code>、<code>bpchar</code>、<code>name</code> 和 <code>uuid</code> 数据类型建立索引（Matheus Oliveira）</p>", "text": "允许 btree_gin 对 bool、bpchar、name 和 uuid 数据类型建立索引（Matheus Oliveira）", "title": "允许 btree_gin 对 bool、bpchar、name 和 uuid 数据类型建立索引", "commits": [], "section": "附加模块", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.13", "source_hash": "76cd0462b6d8495d46fc6b951d0307febca8e7c496dcfa00ddc67d8ab8f29fea", "section_path": ["附加模块"], "commit_groups": [["f4cd7102b"]], "identity_text": "Allow btree_gin to index bool, bpchar, name and uuid data types (Matheus Oliveira)", "commit_aliases": ["f4cd7102b"], "source_commits": ["f4cd7102b"], "source_entry_id": "11.0/changes/142", "db_id": "80f872b8ca7bc9afc22bc564bcae5ba2", "patch_ids": ["6b2b72e5e845359fd705b45486be520a"], "statement_hash": "2afac32938ba1f1995e4ec03c7979cd33b05d3b17febc30eed00af21a2ed85c1", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-6ee94bbf659c5fae", "cves": [], "html": "<p>允许 <a href=\"/docs/11/cube.html\" title=\"F.9. cube\"><code>cube</code></a> 和 <a href=\"/docs/11/seg.html\" title=\"F.34. seg\"><code>seg</code></a> 扩展使用 GiST 索引执行仅索引扫描（Andrey Borodin）</p>", "text": "允许 cube 和 seg 扩展使用 GiST 索引执行仅索引扫描（Andrey Borodin）", "title": "允许 cube 和 seg 扩展使用 GiST 索引执行仅索引扫描", "commits": [], "section": "附加模块", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.13", "source_hash": "b42910cc3332b4fabbf3664c49e330f2ecf4282339eb7f4325eb23591dda097d", "section_path": ["附加模块"], "commit_groups": [["de1d042f5"]], "identity_text": "Allow cube and seg extensions to perform index-only scans using GiST indexes (Andrey Borodin)", "commit_aliases": ["de1d042f5"], "source_commits": ["de1d042f5"], "source_entry_id": "11.0/changes/143", "db_id": "6fcbf080c9e781e9bd1ee58aea808abb", "patch_ids": ["3180dab0deb6c9113e5c77fd3fd94174"], "statement_hash": "c155f5baa195e10315b0fa5df0046f032e52635ecd9b2263557d159b3b72364d", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-3526e501aee74694", "cves": [], "html": "<p>允许使用 <code>~&gt;</code> 操作符获取 cube 坐标的负值（Alexander Korotkov）</p>\n<p>这对按降序查找坐标的 KNN-GiST 搜索很有用。</p>", "text": "允许使用 ~> 操作符获取 cube 坐标的负值（Alexander Korotkov） 这对按降序查找坐标的 KNN-GiST 搜索很有用。", "title": "允许使用 ~> 操作符获取 cube 坐标的负值", "commits": [], "section": "附加模块", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.13", "source_hash": "3842508fe0dd5e6a829f4322a069c633f89a1b53f6dea2ab8b1cb00928da2118", "section_path": ["附加模块"], "commit_groups": [["f50c80dbb"]], "identity_text": "Allow retrieval of negative cube coordinates using the ~> operator (Alexander Korotkov) This is useful for KNN-GiST searches when looking for coordinates in descending order.", "commit_aliases": ["f50c80dbb"], "source_commits": ["f50c80dbb"], "source_entry_id": "11.0/changes/144", "db_id": "d0aa28ed8bdd90ef52a67c9ba53903da", "patch_ids": ["9d1210542967d5503d0d492e58a8c8b2"], "statement_hash": "121932e5d04988888fc75d9f792800af88fcf96b2654665d497a2a053f21253d", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-1a53674dba5aba2b", "cves": [], "html": "<p>为 <a href=\"/docs/11/unaccent.html\" title=\"F.43. unaccent\"><code>unaccent</code></a> 扩展添加越南语字母处理（Dang Minh Huong，Michael Paquier）</p>", "text": "为 unaccent 扩展添加越南语字母处理（Dang Minh Huong，Michael Paquier）", "title": "为 unaccent 扩展添加越南语字母处理", "commits": [], "section": "附加模块", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.13", "source_hash": "c1c2941e0365790a6aada60bead8aff779349f538a1e18912cef4501f7532046", "section_path": ["附加模块"], "commit_groups": [["ec0a69e49"]], "identity_text": "Add Vietnamese letter handling to the unaccent extension (Dang Minh Huong, Michael Paquier)", "commit_aliases": ["ec0a69e49"], "source_commits": ["ec0a69e49"], "source_entry_id": "11.0/changes/145", "db_id": "c9b9043c2dae3234a019994ac7e7b2e9", "patch_ids": ["0357944373de665dac91a340dac183e6"], "statement_hash": "93c609692805e4b6b0f88a2fefca67045e7f468c774485cf897e7daed69e9eed", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-ddac103640158a9b", "cves": [], "html": "<p>增强 <a href=\"/docs/11/amcheck.html\" title=\"F.2. amcheck\"><code>amcheck</code></a>，以检查每个堆元组都有对应的索引条目（Peter Geoghegan）</p>", "text": "增强 amcheck，以检查每个堆元组都有对应的索引条目（Peter Geoghegan）", "title": "增强 amcheck，以检查每个堆元组都有对应的索引条目", "commits": [], "section": "附加模块", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.13", "source_hash": "ea79d6f6f0f25157dff7c70d3371dafe4eb5753ca27ea8f0e63d65511620159b", "section_path": ["附加模块"], "commit_groups": [["7f563c09f"]], "identity_text": "Enhance amcheck to check that each heap tuple has an index entry (Peter Geoghegan)", "commit_aliases": ["7f563c09f"], "source_commits": ["7f563c09f"], "source_entry_id": "11.0/changes/146", "db_id": "c859a8f8c7b738283e9fc94a73ad589a", "patch_ids": ["5a8ed74bb283c971489bc5efdc652e49"], "statement_hash": "8d9c6406a9ce9c93849bc78781e36512e250627ee7a01cd54ea3e817864d2553", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-8be6a4ce3c4c67e9", "cves": [], "html": "<p>让 <a href=\"/docs/11/contrib.html#ADMINPACK\" title=\"F.1. adminpack\"><code>adminpack</code></a> 使用新的默认文件系统访问角色（Stephen Frost）</p>\n<p>以前，只有超级用户可以调用 <code>adminpack</code> 函数；现在改为检查角色权限。</p>", "text": "让 adminpack 使用新的默认文件系统访问角色（Stephen Frost） 以前，只有超级用户可以调用 adminpack 函数；现在改为检查角色权限。", "title": "让 adminpack 使用新的默认文件系统访问角色", "commits": [], "section": "附加模块", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.13", "source_hash": "897127fdbe06c4acaafbbbf98b41859272d902716ec032351660f43e365d1c7c", "section_path": ["附加模块"], "commit_groups": [["11523e860"]], "identity_text": "Have adminpack use the new default file system access roles (Stephen Frost) Previously, only superusers could call adminpack functions; now role permissions are checked.", "commit_aliases": ["11523e860"], "source_commits": ["11523e860"], "source_entry_id": "11.0/changes/147", "db_id": "b927f77f6c379e3df3fb9257f14a8557", "patch_ids": ["dc2579f2ac86796bba3e529db6afcab1"], "statement_hash": "7943b40ab57d65245f38ca4a895110576e568eaf67b02ad97466d91bb0c34779", "relations": [{"rule": 2, "type": "related", "target": "9fb362899a6b27f50f661fe029c5b5e3", "evidence": {"same_day": true, "patch_ids": ["dc2579f2ac86796bba3e529db6afcab1"]}}], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": [{"db_id": "9fb362899a6b27f50f661fe029c5b5e3", "kind": "related", "version": "11.0", "label": "11.0", "title": "移除已弃用的 adminpack 函数 pg_file_read()、pg_file_length() 和 pg_logfile_rotate()", "evidence": {"same_day": true, "patch_ids": ["dc2579f2ac86796bba3e529db6afcab1"]}, "url": "/docs/compare/?release=11.0#11.0-595d2f64bc2955c0", "source_url": "/docs/release/11.0/#id-1.11.6.27.4"}]}, {"id": "11.0-57f95429a7ffa28a", "cves": [], "html": "<p>将 <code>pg_stat_statement</code> 的查询 ID 扩为 64 位（Robert Haas）</p>\n<p>这大幅降低了查询 ID hash 冲突的概率。查询 ID 现在可能显示为负值。</p>", "text": "将 pg_stat_statement 的查询 ID 扩为 64 位（Robert Haas） 这大幅降低了查询 ID hash 冲突的概率。查询 ID 现在可能显示为负值。", "title": "将 pg_stat_statement 的查询 ID 扩为 64 位", "commits": [], "section": "附加模块", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.13", "source_hash": "9aee8b8a48ba3f9d4de3038864f86551f8c515fe2bfed89017de748d246ed8bc", "section_path": ["附加模块"], "commit_groups": [["cff440d36"]], "identity_text": "Widen pg_stat_statement's query ID to 64 bits (Robert Haas) This greatly reduces the chance of query ID hash collisions. The query ID can now potentially display as a negative value.", "commit_aliases": ["cff440d36"], "source_commits": ["cff440d36"], "source_entry_id": "11.0/changes/148", "db_id": "cfa11fa74eb230e29de71cc99e87ff06", "patch_ids": ["a3899478d8ed23a4dffcb46a113776b9"], "statement_hash": "aae9f267db0da793abb612ab114d96045f9f93bed9b72055f8fb49e00f704363", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-804effeee98dd043", "cves": [], "html": "<p>移除已不再推荐使用的 <code>contrib/start-scripts/osx</code> 脚本（改用 <code>contrib/start-scripts/macos</code>）（Tom Lane）</p>", "text": "移除已不再推荐使用的 contrib/start-scripts/osx 脚本（改用 contrib/start-scripts/macos）（Tom Lane）", "title": "移除已不再推荐使用的 contrib/start-scripts/osx 脚本（改用 contrib/start-scripts/macos）", "commits": [], "section": "附加模块", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.13", "source_hash": "2803f29a5a24ba22fa5f1ad5923919e5cfc2495e581df4e6444ac65ed41c7349", "section_path": ["附加模块"], "commit_groups": [["527878635"]], "identity_text": "Remove the contrib/start-scripts/osx scripts since they are no longer recommended (use contrib/start-scripts/macos instead) (Tom Lane)", "commit_aliases": ["527878635"], "source_commits": ["527878635"], "source_entry_id": "11.0/changes/149", "db_id": "7098714ab96ed9bbd5b84dd5378ce13b", "patch_ids": ["460c117d45167b16f66bdc5fab6ad381"], "statement_hash": "dbd04e0da2933bb52ac9f3d54c97e3d1347ecc96f58be10c63f494c178095c5c", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "11.0-22667d641801b9d9", "cves": [], "html": "<p>移除 <code>chkpass</code> 扩展（Peter Eisentraut）</p>\n<p>此扩展不再被视为可用的安全工具或编写扩展的示例。</p>", "text": "移除 chkpass 扩展（Peter Eisentraut） 此扩展不再被视为可用的安全工具或编写扩展的示例。", "title": "移除 chkpass 扩展", "commits": [], "section": "附加模块", "category": "feature", "source_url": "/docs/release/11.0/#id-1.11.6.27.5.13", "source_hash": "95299c9f9c2230254234ec626356d19fb8b136d7039caef28751950196c5d868", "section_path": ["附加模块"], "commit_groups": [["5d3cad564"]], "identity_text": "Remove the chkpass extension (Peter Eisentraut) This extension is no longer considered to be a usable security tool or example of how to write an extension.", "commit_aliases": ["5d3cad564"], "source_commits": ["5d3cad564"], "source_entry_id": "11.0/changes/150", "db_id": "012f7d9145630497084cdbbc91bd1273", "patch_ids": ["553aea83ba19f896ed71e578247646c9"], "statement_hash": "98de147845068f753a2ddc8d6d3457fb327083492cbdc9c4d065e7691423bacf", "relations": [], "version": "11.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}]}], "stats": [{"key": "all", "label": "全部变更", "count": 170}, {"key": "feature", "label": "新功能", "count": 134}, {"key": "bugfix", "label": "BUG 修复", "count": 1}, {"key": "security", "label": "安全相关", "count": 0}, {"key": "performance", "label": "性能改进", "count": 15}, {"key": "compatibility", "label": "兼容性变化", "count": 20}, {"key": "improvement", "label": "其他改进", "count": 0}], "total": 170, "release_count": 1, "cross_major": false, "cve_count": 0, "cves": [], "cve_available": true, "remaining_cves": [], "security_regressions": [], "warnings": [], "candidate_count": 170, "already_in_source_count": 0, "duplicate_count": 0, "excluded_count": 0, "exclusions": [], "source_as_of": "2026-09-26", "security_as_of": "2026-09-26"}