{"format": 1, "mode": "release", "from_release": null, "to_release": {"date": "2025-09-25", "build": "18.0", "major": "18", "minor": 0, "manual": "18", "status": "stable", "doc_git": "", "version": "18.0", "eol_date": "2030-11-14", "date_text": "2025-09-25", "supported": true, "manual_url": "/docs/18/release-18.html", "source_url": "/docs/release/18.0/", "entry_count": 210, "placeholder": false, "content_hash": "614a255175057fb03fd6105b80979ef3597e9f6471eb7e4bc12b6967958bf93a", "manual_build": "18.6", "source_as_of": "", "changes_count": 199, "doc_loaded_at": "2026-09-26T02:56:34.731814", "migration_html": "<p>对于希望从任何以前的版本迁移数据的人来说，需要使用<a href=\"/docs/18/app-pg-dumpall.html\" title=\"pg_dumpall\"><span><span>pg_dumpall</span></span></a>进行转储/恢复，或者使用<a href=\"/docs/18/pgupgrade.html\" title=\"pg_upgrade\"><span><span>pg_upgrade</span></span></a>或逻辑复制。有关迁移到新主要版本的通用信息，请参阅<a href=\"/docs/18/upgrading.html\" title=\"18.6. 升级 PostgreSQL 集簇\">第 18.6 节</a>。</p>\n<p>版本 18 包含许多可能影响与以前版本兼容性的更改。请注意以下不兼容项：</p>\n<div>\n</div>", "compatibility_count": 11, "label": "18.0", "status_label": "受支持版本", "eol": "2030-11-14", "age_days": 366, "support_days": 1510}, "groups": [{"date": "2025-09-25", "build": "18.0", "major": "18", "minor": 0, "manual": "18", "status": "stable", "doc_git": "", "version": "18.0", "eol_date": "2030-11-14", "date_text": "2025-09-25", "supported": true, "manual_url": "/docs/18/release-18.html", "source_url": "/docs/release/18.0/", "entry_count": 210, "placeholder": false, "content_hash": "614a255175057fb03fd6105b80979ef3597e9f6471eb7e4bc12b6967958bf93a", "manual_build": "18.6", "source_as_of": "", "changes_count": 199, "doc_loaded_at": "2026-09-26T02:56:34.731814", "migration_html": "<p>对于希望从任何以前的版本迁移数据的人来说，需要使用<a href=\"/docs/18/app-pg-dumpall.html\" title=\"pg_dumpall\"><span><span>pg_dumpall</span></span></a>进行转储/恢复，或者使用<a href=\"/docs/18/pgupgrade.html\" title=\"pg_upgrade\"><span><span>pg_upgrade</span></span></a>或逻辑复制。有关迁移到新主要版本的通用信息，请参阅<a href=\"/docs/18/upgrading.html\" title=\"18.6. 升级 PostgreSQL 集簇\">第 18.6 节</a>。</p>\n<p>版本 18 包含许多可能影响与以前版本兼容性的更改。请注意以下不兼容项：</p>\n<div>\n</div>", "compatibility_count": 11, "label": "18.0", "status_label": "受支持版本", "eol": "2030-11-14", "age_days": 366, "support_days": 1510, "entries": [{"id": "18.0-a8fa82432892119f", "cves": [], "html": "<p>将<a href=\"/docs/18/app-initdb.html\" title=\"initdb\"><span><span>initdb</span></span></a>默认更改为启用数据校验和（Greg Sabino Mullane）<a href=\"https://postgr.es/c/04bec894a04\">§</a></p>\n<p>可以使用新的 <span>initdb</span> 选项 <code>--no-data-checksums</code> 禁用校验和。<a href=\"/docs/18/pgupgrade.html\" title=\"pg_upgrade\"><span><span>pg_upgrade</span></span></a>要求匹配集簇校验和设置，因此这个新选项对于升级不带校验和的旧集簇很有用。</p>", "text": "将initdb默认更改为启用数据校验和（Greg Sabino Mullane）§ 可以使用新的 initdb 选项 --no-data-checksums 禁用校验和。pg_upgrade要求匹配集簇校验和设置，因此这个新选项对于升级不带校验和的旧集簇很有用。", "title": "将initdb默认更改为启用数据校验和", "commits": ["04bec894a04"], "section": "兼容性", "category": "compatibility", "source_url": "/docs/release/18.0/#RELEASE-18-MIGRATION", "source_hash": "ab496434d25411703b78d251977a161d4f481117f9a61c9a5ed39e5056795861", "section_path": ["兼容性"], "commit_groups": [["04bec894a04"]], "identity_text": "Change app-initdb default to enable data checksums (Greg Sabino Mullane) Checksums can be disabled with the new initdb option --no-data-checksums. pgupgrade requires matching cluster checksum settings, so this new option can be useful to upgrade non-checksum old clusters.", "commit_aliases": ["04bec894a04"], "source_commits": ["04bec894a04"], "source_entry_id": "18.0/migration/001", "db_id": "f3c7465886914cc33d3dae8014f0ac38", "patch_ids": ["f78286ddb1f2e6833c76c4a8351542bf"], "statement_hash": "8b50759677598fe7ea5e5a6df6d0083c36bbd43c74224fd00ca0fd9966a22f2f", "relations": [{"rule": 2, "type": "related", "target": "db70c584fb64d9f59231adb14744b4a2", "evidence": {"same_day": true, "patch_ids": ["f78286ddb1f2e6833c76c4a8351542bf"]}}], "version": "18.0", "category_label": "兼容性变化", "also_in": [], "variants": [], "related_changes": [{"db_id": "db70c584fb64d9f59231adb14744b4a2", "kind": "related", "version": "18.0", "label": "18.0", "title": "更改initdb默认启用校验和", "evidence": {"same_day": true, "patch_ids": ["f78286ddb1f2e6833c76c4a8351542bf"]}, "url": "/docs/compare/?release=18.0#18.0-1487bc4fb945d8b9", "source_url": "/docs/release/18.0/#RELEASE-18-SERVER-APPS"}]}, {"id": "18.0-d328de9397b5e0d5", "cves": [], "html": "<p>更改时区缩写处理（Tom Lane）<a href=\"https://postgr.es/c/d7674c9fa\">§</a></p>\n<p>系统现在将优先考虑当前会话的时区缩写，然后检查服务器变量<a href=\"/docs/18/runtime-config-client.html#GUC-TIMEZONE-ABBREVIATIONS\">timezone_abbreviations</a>。以前是先检查 <code>timezone_abbreviations</code>。</p>", "text": "更改时区缩写处理（Tom Lane）§ 系统现在将优先考虑当前会话的时区缩写，然后检查服务器变量timezone_abbreviations。以前是先检查 timezone_abbreviations。", "title": "更改时区缩写处理", "commits": ["d7674c9fa"], "section": "兼容性", "category": "compatibility", "source_url": "/docs/release/18.0/#RELEASE-18-MIGRATION", "source_hash": "ec9a6dbcae9b0cc2ac417b00bc0d62968e91e82fe34d0a8e1e8e63e896b46d5f", "section_path": ["兼容性"], "commit_groups": [["d7674c9fa"]], "identity_text": "Change time zone abbreviation handling (Tom Lane) The system will now favor the current session's time zone abbreviations before checking the server variable guc-timezone-abbreviations . Previously timezone_abbreviations was checked first.", "commit_aliases": ["d7674c9fa"], "source_commits": ["d7674c9fa"], "source_entry_id": "18.0/migration/002", "db_id": "2343bc4fd897605d6495c765dfdc2774", "patch_ids": ["4fb970b4bd6121eaf0178066f8ea909c"], "statement_hash": "f8a25067db2d336959a2f40c8130ac1d55dcd167e4db04c3249bec7147a49eb8", "relations": [], "version": "18.0", "category_label": "兼容性变化", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-5b8f3e9c493f3cfc", "cves": [], "html": "<p>弃用 <a href=\"/docs/18/auth-password.html\" title=\"20.5. 密码认证\">MD5 密码</a>认证（Nathan Bossart）<a href=\"https://postgr.es/c/db6a4a985\">§</a></p>\n<p>对 MD5 密码的支持将在未来的主要版本中移除。<a href=\"/docs/18/sql-createrole.html\" title=\"CREATE ROLE\"><span>CREATE ROLE</span></a>和<a href=\"/docs/18/sql-alterrole.html\" title=\"ALTER ROLE\"><span>ALTER ROLE</span></a>现在在设置 MD5 密码时会发出弃用警告。可以通过将<a href=\"/docs/18/runtime-config-connection.html#GUC-MD5-PASSWORD-WARNINGS\">md5_password_warnings</a>参数设置为 <code>off</code> 来禁用这些警告。</p>", "text": "弃用 MD5 密码认证（Nathan Bossart）§ 对 MD5 密码的支持将在未来的主要版本中移除。CREATE ROLE和ALTER ROLE现在在设置 MD5 密码时会发出弃用警告。可以通过将md5_password_warnings参数设置为 off 来禁用这些警告。", "title": "弃用 MD5 密码认证", "commits": ["db6a4a985"], "section": "兼容性", "category": "compatibility", "source_url": "/docs/release/18.0/#RELEASE-18-MIGRATION", "source_hash": "a3c1406a89e6567a01f463dc017332ee26f86f6513954e4242d41228f630b354", "section_path": ["兼容性"], "commit_groups": [["db6a4a985"]], "identity_text": "Deprecate MD5 password authentication (Nathan Bossart) Support for MD5 passwords will be removed in a future major version release. sql-createrole and sql-alterrole now emit deprecation warnings when setting MD5 passwords. These warnings can be disabled by setting the guc-md5-password-warnings parameter to off.", "commit_aliases": ["db6a4a985"], "source_commits": ["db6a4a985"], "source_entry_id": "18.0/migration/003", "db_id": "30aed22a7b379bfc7e845b051d348d35", "patch_ids": ["8c3ab652b8b1dc2fd0afe67ca881830c"], "statement_hash": "680efa648cd65a0e690a37b96731050a958a0690ae89e623a11e01e1a072488e", "relations": [], "version": "18.0", "category_label": "兼容性变化", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-c84ca88e6e5518a9", "cves": [], "html": "<p>更改<a href=\"/docs/18/sql-vacuum.html\" title=\"VACUUM\"><span>VACUUM</span></a>和<a href=\"/docs/18/sql-analyze.html\" title=\"ANALYZE\"><span>ANALYZE</span></a>以处理父表的继承子表（Michael Harris）<a href=\"https://postgr.es/c/62ddf7ee9\">§</a></p>\n<p>可以使用新的 <code>ONLY</code> 选项执行以前的行为。</p>", "text": "更改VACUUM和ANALYZE以处理父表的继承子表（Michael Harris）§ 可以使用新的 ONLY 选项执行以前的行为。", "title": "更改VACUUM和ANALYZE以处理父表的继承子表", "commits": ["62ddf7ee9"], "section": "兼容性", "category": "compatibility", "source_url": "/docs/release/18.0/#RELEASE-18-MIGRATION", "source_hash": "e38aa345a14711d367987f4fa89c4779eea36ec33d38f095e55fe5cee251a237", "section_path": ["兼容性"], "commit_groups": [["62ddf7ee9"]], "identity_text": "Change sql-vacuum and sql-analyze to process the inheritance children of a parent (Michael Harris) The previous behavior can be performed by using the new ONLY option.", "commit_aliases": ["62ddf7ee9"], "source_commits": ["62ddf7ee9"], "source_entry_id": "18.0/migration/004", "db_id": "c27156e947f09ff22df4dce5613e8f4c", "patch_ids": ["29279fd7549098871f985b99df60e141"], "statement_hash": "76658321347e57068ed0f32921beaf67fdfe6744b563a2f78d0f84beb89c3ac3", "relations": [{"rule": 2, "type": "related", "target": "94f45240a0275d0638838beebe665ece", "evidence": {"same_day": true, "patch_ids": ["29279fd7549098871f985b99df60e141"]}}], "version": "18.0", "category_label": "兼容性变化", "also_in": [], "variants": [], "related_changes": [{"db_id": "94f45240a0275d0638838beebe665ece", "kind": "related", "version": "18.0", "label": "18.0", "title": "允许VACUUM和ANALYZE处理分区表而不处理其子表", "evidence": {"same_day": true, "patch_ids": ["29279fd7549098871f985b99df60e141"]}, "url": "/docs/compare/?release=18.0#18.0-21f4954ffd8217fb", "source_url": "/docs/release/18.0/#RELEASE-18-UTILITY"}]}, {"id": "18.0-dea78a5140a83ea5", "cves": [], "html": "<p>防止 <a href=\"/docs/18/sql-copy.html\" title=\"COPY\"><code>COPY FROM</code></a> 在读取 <acronym>CSV</acronym> 文件时将 <code>\\.</code> 视为文件结束标记（Daniel Vérité, Tom Lane）<a href=\"https://postgr.es/c/770233748\">§</a> <a href=\"https://postgr.es/c/da8a4c166\">§</a></p>\n<p><a href=\"/docs/18/app-psql.html\" title=\"psql\"><span><span>psql</span></span></a>在从 <code>STDIN</code> 读取 <acronym>CSV</acronym> 文件时仍会将 <code>\\.</code> 视为文件结束标记。较旧的 <span>psql</span> 客户端连接到 <span>PostgreSQL</span> 18 服务器时，可能会在 <a href=\"/docs/18/app-psql.html#APP-PSQL-META-COMMANDS-COPY\"><code>\\copy</code></a> 上遇到问题。此版本还强制要求 <code>\\.</code> 必须单独出现在一行中。</p>", "text": "防止 COPY FROM 在读取 CSV 文件时将 \\. 视为文件结束标记（Daniel Vérité, Tom Lane）§ § psql在从 STDIN 读取 CSV 文件时仍会将 \\. 视为文件结束标记。较旧的 psql 客户端连接到 PostgreSQL 18 服务器时，可能会在 \\copy 上遇到问题。此版本还强制要求 \\. 必须单独出现在一行中。", "title": "防止 COPY FROM 在读取 CSV 文件时将 \\. 视为文件结束标记", "commits": ["770233748", "da8a4c166"], "section": "兼容性", "category": "compatibility", "source_url": "/docs/release/18.0/#RELEASE-18-MIGRATION", "source_hash": "fea2a46c290c3f9965df10b2e76f7a4d57cffc9ed5493f2366fa39775ad33fe9", "section_path": ["兼容性"], "commit_groups": [["770233748"], ["da8a4c166"]], "identity_text": "Prevent COPY FROM from treating \\. as an end-of-file marker when reading CSV files (Daniel Vérité, Tom Lane) app-psql will still treat \\. as an end-of-file marker when reading CSV files from STDIN. Older psql clients connecting to PostgreSQL 18 servers might experience \\copy problems. This release also enforces that \\. must appear alone on a line.", "commit_aliases": ["770233748", "da8a4c166"], "source_commits": ["770233748", "da8a4c166"], "source_entry_id": "18.0/migration/005", "db_id": "4f7cd257e4ad009f611f0caf979d438e", "patch_ids": ["0d4f992d2be4de6ff4cd458ccb95eca4", "1ea23822f2f40fda5f44f0d3d8abc20f"], "statement_hash": "e79e11d3871e9ef0892573cfab7e0f55552a205043d862b2e9724ee4c69f4016", "relations": [], "version": "18.0", "category_label": "兼容性变化", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-c367683bb470a5d2", "cves": [], "html": "<p>禁止不记录 WAL 的分区表（Michael Paquier）<a href=\"https://postgr.es/c/e2bab2d79\">§</a></p>\n<p>以前 <a href=\"/docs/18/sql-altertable.html\" title=\"ALTER TABLE\"><code>ALTER TABLE SET [UN]LOGGED</code></a> 不执行任何操作，并且创建不记录 WAL 的分区表也不会导致其子表不记录 WAL。</p>", "text": "禁止不记录 WAL 的分区表（Michael Paquier）§ 以前 ALTER TABLE SET [UN]LOGGED 不执行任何操作，并且创建不记录 WAL 的分区表也不会导致其子表不记录 WAL。", "title": "禁止不记录 WAL 的分区表", "commits": ["e2bab2d79"], "section": "兼容性", "category": "compatibility", "source_url": "/docs/release/18.0/#RELEASE-18-MIGRATION", "source_hash": "2a426f3624dd193ed36b9a5f8e99a1c2b6a654ba9a342e2deb4f460d5d74d69c", "section_path": ["兼容性"], "commit_groups": [["e2bab2d79"]], "identity_text": "Disallow unlogged partitioned tables (Michael Paquier) Previously ALTER TABLE SET [UN]LOGGED did nothing, and the creation of an unlogged partitioned table did not cause its children to be unlogged.", "commit_aliases": ["e2bab2d79"], "source_commits": ["e2bab2d79"], "source_entry_id": "18.0/migration/006", "db_id": "8118dd69602467d30fb6a9609bba6b70", "patch_ids": ["04e8ab00f8915683a43dd6f436a5c79b"], "statement_hash": "3b9bcae38ba730024eb2f2277a64804c55d104dbf649268784801db61ef784c1", "relations": [], "version": "18.0", "category_label": "兼容性变化", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-0d2c2c2259abf618", "cves": [], "html": "<p>让 <code>AFTER</code> <a href=\"/docs/18/triggers.html\" title=\"第 37 章 触发器\">触发器</a>以触发器事件排队时处于活动状态的角色身份执行（Laurenz Albe）<a href=\"https://postgr.es/c/01463e1cc\">§</a></p>\n<p>以前，此类触发器以执行时（例如，在<a href=\"/docs/18/sql-commit.html\" title=\"COMMIT\"><span>COMMIT</span></a>时）处于活动状态的角色身份运行。这对于在排队时间和事务提交之间角色发生变化的情况很重要。</p>", "text": "让 AFTER 触发器以触发器事件排队时处于活动状态的角色身份执行（Laurenz Albe）§ 以前，此类触发器以执行时（例如，在COMMIT时）处于活动状态的角色身份运行。这对于在排队时间和事务提交之间角色发生变化的情况很重要。", "title": "让 AFTER 触发器以触发器事件排队时处于活动状态的角色身份执行", "commits": ["01463e1cc"], "section": "兼容性", "category": "compatibility", "source_url": "/docs/release/18.0/#RELEASE-18-MIGRATION", "source_hash": "f10785acbe9b26f28a8c98e9a00c1d2a4e8afa8c0b7f7291f990211dfc079f53", "section_path": ["兼容性"], "commit_groups": [["01463e1cc"]], "identity_text": "Execute AFTER triggers as the role that was active when trigger events were queued (Laurenz Albe) Previously such triggers were run as the role that was active at trigger execution time (e.g., at sql-commit ). This is significant for cases where the role is changed between queue time and transaction commit.", "commit_aliases": ["01463e1cc"], "source_commits": ["01463e1cc"], "source_entry_id": "18.0/migration/007", "db_id": "ae8521434650fe5524c9fcaa38acac84", "patch_ids": ["917ba717810e74a1c7c638690cf0f5eb"], "statement_hash": "f0612c07183e11ac71073f5d359d3b0a521ebcc0822d94befe83c23059d03016", "relations": [], "version": "18.0", "category_label": "兼容性变化", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-607cc591e9d82ae8", "cves": [], "html": "<p>移除<a href=\"/docs/18/sql-grant.html\" title=\"GRANT\"><span>GRANT</span></a>/<a href=\"/docs/18/sql-revoke.html\" title=\"REVOKE\"><span>REVOKE</span></a>中不起作用的规则权限支持（Fujii Masao）<a href=\"https://postgr.es/c/fefa76f70\">§</a></p>\n<p>这些权限自 <span>PostgreSQL</span> 8.2 起就已不起作用。</p>", "text": "移除GRANT/REVOKE中不起作用的规则权限支持（Fujii Masao）§ 这些权限自 PostgreSQL 8.2 起就已不起作用。", "title": "移除GRANT/REVOKE中不起作用的规则权限支持", "commits": ["fefa76f70"], "section": "兼容性", "category": "compatibility", "source_url": "/docs/release/18.0/#RELEASE-18-MIGRATION", "source_hash": "db08cd3d3ddd023cec8d6165fd052ba6e7d655cc958d6c238b6f02af024dc1a1", "section_path": ["兼容性"], "commit_groups": [["fefa76f70"]], "identity_text": "Remove non-functional support for rule privileges in sql-grant / sql-revoke (Fujii Masao) These have been non-functional since PostgreSQL 8.2.", "commit_aliases": ["fefa76f70"], "source_commits": ["fefa76f70"], "source_entry_id": "18.0/migration/008", "db_id": "421b9236b8ba45e9981de4acb0936336", "patch_ids": ["1a39a92752613c9674e39e99f119c2de"], "statement_hash": "9a9f6ec57f00ae867aca818ec5c55d43899650a49ee6ab2ce0bed4d154bb41b9", "relations": [], "version": "18.0", "category_label": "兼容性变化", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-558a645d00b3f47b", "cves": [], "html": "<p>移除列 <a href=\"/docs/18/view-pg-backend-memory-contexts.html\" title=\"53.5. pg_backend_memory_contexts\"><code>pg_backend_memory_contexts</code></a>.<code>parent</code>（Melih Mutlu）<a href=\"https://postgr.es/c/f0d112759\">§</a></p>\n<p>由于添加了 <code>pg_backend_memory_contexts</code>.<code>path</code>，不再需要此列。</p>", "text": "移除列 pg_backend_memory_contexts.parent（Melih Mutlu）§ 由于添加了 pg_backend_memory_contexts.path，不再需要此列。", "title": "移除列 pg_backend_memory_contexts.parent", "commits": ["f0d112759"], "section": "兼容性", "category": "compatibility", "source_url": "/docs/release/18.0/#RELEASE-18-MIGRATION", "source_hash": "3348da5b519f14fb93b5b2c6235af20ce3d744fa55889ab04d496724498b7727", "section_path": ["兼容性"], "commit_groups": [["f0d112759"]], "identity_text": "Remove column pg_backend_memory_contexts.parent (Melih Mutlu) This is no longer needed since pg_backend_memory_contexts.path was added.", "commit_aliases": ["f0d112759"], "source_commits": ["f0d112759"], "source_entry_id": "18.0/migration/009", "db_id": "af948e47866b03a70707df9bf672d482", "patch_ids": ["91a2e8e9299edf53c184627b3cf053e7"], "statement_hash": "a4dc378426b8f016478b991a4d989f716af959a3b360b65d527ec7fd450acb6b", "relations": [], "version": "18.0", "category_label": "兼容性变化", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-3bddcb1c02f74659", "cves": [], "html": "<p>将 <code>pg_backend_memory_contexts</code>.<code>level</code> 和 <a href=\"/docs/18/functions-admin.html#FUNCTIONS-ADMIN-SIGNAL-TABLE\" title=\"表 9.96. 服务器信号函数\"><code>pg_log_backend_memory_contexts()</code></a> 更改为从1开始（Melih Mutlu, Atsushi Torikoshi, David Rowley, Fujii Masao）<a href=\"https://postgr.es/c/32d3ed816\">§</a> <a href=\"https://postgr.es/c/d9e03864b\">§</a> <a href=\"https://postgr.es/c/706cbed35\">§</a></p>\n<p>这些以前是从零开始的。</p>", "text": "将 pg_backend_memory_contexts.level 和 pg_log_backend_memory_contexts() 更改为从1开始（Melih Mutlu, Atsushi Torikoshi, David Rowley, Fujii Masao）§ § § 这些以前是从零开始的。", "title": "将 pg_backend_memory_contexts.level 和 pg_log_backend_memory_contexts() 更改为从1开始", "commits": ["32d3ed816", "706cbed35", "d9e03864b"], "section": "兼容性", "category": "compatibility", "source_url": "/docs/release/18.0/#RELEASE-18-MIGRATION", "source_hash": "50bbd1729e746a694a3df7d491e7ab79d0b57696ebbb5127fdc124520b03ee7c", "section_path": ["兼容性"], "commit_groups": [["32d3ed816"], ["706cbed35"], ["d9e03864b"]], "identity_text": "Change pg_backend_memory_contexts.level and pg_log_backend_memory_contexts() to be one-based (Melih Mutlu, Atsushi Torikoshi, David Rowley, Fujii Masao) These were previously zero-based.", "commit_aliases": ["32d3ed816", "706cbed35", "d9e03864b"], "source_commits": ["32d3ed816", "706cbed35", "d9e03864b"], "source_entry_id": "18.0/migration/010", "db_id": "b8c57d935d8b183f9ee20e7477f90abd", "patch_ids": ["3d61500ab7649ba207c5b4742ce83946", "845864cc388c5f840e08c3fdf9f3032a", "eaa8db2e49e44f9880c123bf159cab42"], "statement_hash": "c56bfdda9e9b110545ab282f1be71da486fd1e7af030b2a5c125fe4d37560c98", "relations": [{"rule": 2, "type": "related", "target": "7ed5d279df474d7ce518a2cd605d091d", "evidence": {"same_day": true, "patch_ids": ["eaa8db2e49e44f9880c123bf159cab42"]}}], "version": "18.0", "category_label": "兼容性变化", "also_in": [], "variants": [], "related_changes": [{"db_id": "7ed5d279df474d7ce518a2cd605d091d", "kind": "related", "version": "18.0", "label": "18.0", "title": "添加列 pg_backend_memory_contexts.path 以显示内存上下文父级", "evidence": {"same_day": true, "patch_ids": ["eaa8db2e49e44f9880c123bf159cab42"]}, "url": "/docs/compare/?release=18.0#18.0-dab03b5c77d56e2b", "source_url": "/docs/release/18.0/#RELEASE-18-MONITORING"}]}, {"id": "18.0-63b962f0125472b6", "cves": [], "html": "<p>更改<a href=\"/docs/18/textsearch.html\" title=\"第 12 章 全文检索\">全文检索</a>，使其使用数据库集簇默认排序规则提供程序来读取配置文件和词典，而不再始终使用 libc（Peter Eisentraut）<a href=\"https://postgr.es/c/fb1a18810f0\">§</a></p>\n<p>如果数据库集簇默认使用的非 libc 排序规则提供程序（例如 ICU、builtin）对 LC_CTYPE 所处理字符的处理方式与 libc 不同，那么某些全文检索函数以及<a href=\"/docs/18/pgtrgm.html\" title=\"F.35. pg_trgm — 基于三字符组匹配的文本相似度支持\">pg_trgm</a>扩展的行为可能会发生变化。使用<a href=\"/docs/18/pgupgrade.html\" title=\"pg_upgrade\"><span><span>pg_upgrade</span></span></a>升级此类数据库集簇时，建议在升级后重新索引所有与全文检索和<span>pg_trgm</span>相关的索引。</p>", "text": "更改全文检索，使其使用数据库集簇默认排序规则提供程序来读取配置文件和词典，而不再始终使用 libc（Peter Eisentraut）§ 如果数据库集簇默认使用的非 libc 排序规则提供程序（例如 ICU、builtin）对 LC_CTYPE 所处理字符的处理方式与 libc 不同，那么某些全文检索函数以及pg_trgm扩展的行为可能会发生变化。使用pg_upgrade升级此类数据库集簇时，建议在升级后重新索引所有与全文检索和pg_trgm相关的索引。", "title": "更改全文检索，使其使用数据库集簇默认排序规则提供程序来读取配置文件和词典，而不再始终使用 libc", "commits": ["fb1a18810f0"], "section": "兼容性", "category": "compatibility", "source_url": "/docs/release/18.0/#RELEASE-18-MIGRATION", "source_hash": "e3ce56b4fc2a72cd171306a24ddd0b8daecb530f1409e98a57781871e32f9519", "section_path": ["兼容性"], "commit_groups": [["fb1a18810f0"]], "identity_text": "Change full text search to use the default collation provider of the cluster to read configuration files and dictionaries, rather than always using libc (Peter Eisentraut) Clusters that default to non-libc collation providers (e.g., ICU, builtin) that behave differently than libc for characters processed by LC_CTYPE could observe changes in behavior of some full-text search functions, as well as the pgtrgm extension. When upgrading such clusters using pgupgrade , it is recommended to reindex all indexes related to full-text search and pg_trgm after the upgrade.", "commit_aliases": ["fb1a18810f0"], "source_commits": ["fb1a18810f0"], "source_entry_id": "18.0/migration/011", "db_id": "14f7ec96f489178a5ba54f0173a2002a", "patch_ids": ["d34589a0ca33552be8913ecb392dc365"], "statement_hash": "0d016706c1da5d040bed5653360eaa27ed050c9172ff53f737e1221153008011", "relations": [], "version": "18.0", "category_label": "兼容性变化", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-cd59818e7d0a3dc5", "cves": [], "html": "<p>自动删除一些不必要的表自连接（Andrey Lepikhov, Alexander Kuzmenkov, Alexander Korotkov, Alena Rybakina）<a href=\"https://postgr.es/c/fc069a3a6\">§</a></p>\n<p>可以使用服务器变量<a href=\"/docs/18/runtime-config-query.html#GUC-ENABLE-SELF-JOIN-ELIMINATION\">enable_self_join_elimination</a>禁用此优化。</p>", "text": "自动删除一些不必要的表自连接（Andrey Lepikhov, Alexander Kuzmenkov, Alexander Korotkov, Alena Rybakina）§ 可以使用服务器变量enable_self_join_elimination禁用此优化。", "title": "自动删除一些不必要的表自连接", "commits": ["fc069a3a6"], "section": "服务器 / 优化器", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-OPTIMIZER", "source_hash": "40c3196e66530b1ad6c86357db78c6683c075a289ecc4fdc11ccdd15d42dafad", "section_path": ["服务器", "优化器"], "commit_groups": [["fc069a3a6"]], "identity_text": "Automatically remove some unnecessary table self-joins (Andrey Lepikhov, Alexander Kuzmenkov, Alexander Korotkov, Alena Rybakina) This optimization can be disabled using server variable guc-enable-self-join-elimination .", "commit_aliases": ["fc069a3a6"], "source_commits": ["fc069a3a6"], "source_entry_id": "18.0/changes/001", "db_id": "e93aac468afc7b983da5961bc89a6570", "patch_ids": ["f4668f24b918872b344ea179b57163cf"], "statement_hash": "235c5aa78ae11057e82ffcaba18192f08d816b80c7a4abeb2ccab576de5173f7", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-d69dbbb16cde79f1", "cves": [], "html": "<p>将一些 <a href=\"/docs/18/functions-comparisons.html#FUNCTIONS-COMPARISONS-IN-SCALAR\" title=\"9.25.1. IN\"><code>IN (VALUES ...)</code></a> 转换为 <code>x = ANY ...</code> 以获得更好的优化器统计信息（Alena Rybakina, Andrei Lepikhov）<a href=\"https://postgr.es/c/c0962a113\">§</a></p>", "text": "将一些 IN (VALUES ...) 转换为 x = ANY ... 以获得更好的优化器统计信息（Alena Rybakina, Andrei Lepikhov）§", "title": "将一些 IN (VALUES ...) 转换为 x = ANY ... 以获得更好的优化器统计信息", "commits": ["c0962a113"], "section": "服务器 / 优化器", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-OPTIMIZER", "source_hash": "4ba957892aa6172c1ba4d6e4d5242417072a25fa5fb19f26aa2cb93b5cdcea82", "section_path": ["服务器", "优化器"], "commit_groups": [["c0962a113"]], "identity_text": "Convert some IN (VALUES ...) to x = ANY ... for better optimizer statistics (Alena Rybakina, Andrei Lepikhov)", "commit_aliases": ["c0962a113"], "source_commits": ["c0962a113"], "source_entry_id": "18.0/changes/002", "db_id": "764cb613ec29b5df2b6d0d9987768083", "patch_ids": ["f3ef498af7484884fe0fe8d3179d0691"], "statement_hash": "1994faf6d5d15f3e4a7dbff5aa1cd8f7f3f12341dfdeacdf6a2f1f84be69c14b", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-1fd2375d15e4ca70", "cves": [], "html": "<p>允许将 <a href=\"/docs/18/functions-logical.html\" title=\"9.1. 逻辑操作符\"><code>OR</code></a> 子句转换为数组以加快索引处理（Alexander Korotkov, Andrey Lepikhov）<a href=\"https://postgr.es/c/ae4569161\">§</a></p>", "text": "允许将 OR 子句转换为数组以加快索引处理（Alexander Korotkov, Andrey Lepikhov）§", "title": "允许将 OR 子句转换为数组以加快索引处理", "commits": ["ae4569161"], "section": "服务器 / 优化器", "category": "performance", "source_url": "/docs/release/18.0/#RELEASE-18-OPTIMIZER", "source_hash": "5fd9cfd78e09d29f7989ebf65e641d8464ca20ab208b3010f1927e2a5a38d21e", "section_path": ["服务器", "优化器"], "commit_groups": [["ae4569161"]], "identity_text": "Allow transforming OR-clauses to arrays for faster index processing (Alexander Korotkov, Andrey Lepikhov)", "commit_aliases": ["ae4569161"], "source_commits": ["ae4569161"], "source_entry_id": "18.0/changes/003", "db_id": "2e05a47011ecefd0b4eb07547cc72835", "patch_ids": ["fb982918d31ae726b84a777e332b6884"], "statement_hash": "02c7be9bbfb909c1719246ac2948e31ec265c3b148e5d9b6ae59b607ffc7865e", "relations": [], "version": "18.0", "category_label": "性能改进", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-6ae4cc68b0453e0d", "cves": [], "html": "<p>加快 <a href=\"/docs/18/sql-select.html#SQL-INTERSECT\" title=\"INTERSECT 子句\"><code>INTERSECT</code></a>、<a href=\"/docs/18/sql-select.html#SQL-EXCEPT\" title=\"EXCEPT 子句\"><code>EXCEPT</code></a>、<a href=\"/docs/18/tutorial-window.html\" title=\"3.5. 窗口函数\">窗口聚合</a>和<a href=\"/docs/18/sql-createview.html\" title=\"CREATE VIEW\">视图列别名</a>的处理速度（Tom Lane, David Rowley）<a href=\"https://postgr.es/c/52c707483\">§</a> <a href=\"https://postgr.es/c/276279295\">§</a> <a href=\"https://postgr.es/c/8d96f57d5\">§</a> <a href=\"https://postgr.es/c/908a96861\">§</a></p>", "text": "加快 INTERSECT、EXCEPT、窗口聚合和视图列别名的处理速度（Tom Lane, David Rowley）§ § § §", "title": "加快 INTERSECT、EXCEPT、窗口聚合和视图列别名的处理速度", "commits": ["276279295", "52c707483", "8d96f57d5", "908a96861"], "section": "服务器 / 优化器", "category": "performance", "source_url": "/docs/release/18.0/#RELEASE-18-OPTIMIZER", "source_hash": "91354d1ac2e34f2ac56c584852bd500487ec143feea22c06d2d473ea4526c886", "section_path": ["服务器", "优化器"], "commit_groups": [["276279295"], ["52c707483"], ["8d96f57d5"], ["908a96861"]], "identity_text": "Speed up the processing of INTERSECT, EXCEPT, window aggregates, and view column aliases (Tom Lane, David Rowley)", "commit_aliases": ["276279295", "52c707483", "8d96f57d5", "908a96861"], "source_commits": ["276279295", "52c707483", "8d96f57d5", "908a96861"], "source_entry_id": "18.0/changes/004", "db_id": "27889e11b1017fcd071cbebfd982e004", "patch_ids": ["88fc8de0d114dd8d37c995d33aa2e424", "c34e95d351102295e83eda2c0898ef4f", "d6f6d3fc510fd75b0cd2a6ccb16caf21", "e02121b5ec912ea613d75476b5d8da31"], "statement_hash": "67a7f9ceb4d2956015c1be13e9166cb6044290d7faf0fb602f564494e744c06e", "relations": [], "version": "18.0", "category_label": "性能改进", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-3c9e3ca750eccbf6", "cves": [], "html": "<p>允许 <a href=\"/docs/18/sql-select.html#SQL-DISTINCT\" title=\"DISTINCT 子句\"><code>SELECT DISTINCT</code></a> 的键在内部重新排序以避免排序（Richard Guo）<a href=\"https://postgr.es/c/a8ccf4e93\">§</a></p>\n<p>可以使用<a href=\"/docs/18/runtime-config-query.html#GUC-ENABLE-DISTINCT-REORDERING\">enable_distinct_reordering</a>禁用此优化。</p>", "text": "允许 SELECT DISTINCT 的键在内部重新排序以避免排序（Richard Guo）§ 可以使用enable_distinct_reordering禁用此优化。", "title": "允许 SELECT DISTINCT 的键在内部重新排序以避免排序", "commits": ["a8ccf4e93"], "section": "服务器 / 优化器", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-OPTIMIZER", "source_hash": "0b3d9b69f68103fec0e196e120de31d7d5ccbd1c26beea05060ff6a886ab9130", "section_path": ["服务器", "优化器"], "commit_groups": [["a8ccf4e93"]], "identity_text": "Allow the keys of SELECT DISTINCT to be internally reordered to avoid sorting (Richard Guo) This optimization can be disabled using guc-enable-distinct-reordering .", "commit_aliases": ["a8ccf4e93"], "source_commits": ["a8ccf4e93"], "source_entry_id": "18.0/changes/005", "db_id": "e1633e7353cb2e283e589f245c02709b", "patch_ids": ["2a4dc17b68562e6259b7bb1052fff9ad"], "statement_hash": "8e10ed699456a43e5c53f99fc9ddb0ec2951686ee8551c8e706fbd1d1b10766c", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-41f66034d93a7cf1", "cves": [], "html": "<p>忽略功能上依赖于其他列的 <a href=\"/docs/18/sql-select.html#SQL-GROUPBY\" title=\"GROUP BY 子句\"><code>GROUP BY</code></a> 列（Zhang Mingli, Jian He, David Rowley）<a href=\"https://postgr.es/c/bd10ec529\">§</a></p>\n<p>如果 <code>GROUP BY</code> 子句包含唯一索引的所有列以及同一表的其他列，则这些其他列是冗余的，可以从分组中删除。对于非延迟主键，这已经成立。</p>", "text": "忽略功能上依赖于其他列的 GROUP BY 列（Zhang Mingli, Jian He, David Rowley）§ 如果 GROUP BY 子句包含唯一索引的所有列以及同一表的其他列，则这些其他列是冗余的，可以从分组中删除。对于非延迟主键，这已经成立。", "title": "忽略功能上依赖于其他列的 GROUP BY 列", "commits": ["bd10ec529"], "section": "服务器 / 优化器", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-OPTIMIZER", "source_hash": "590fd20dfbdf85d87e1c14e1c4ca54d910d8ce015f220e7798d40fa268c94536", "section_path": ["服务器", "优化器"], "commit_groups": [["bd10ec529"]], "identity_text": "Ignore GROUP BY columns that are functionally dependent on other columns (Zhang Mingli, Jian He, David Rowley) If a GROUP BY clause includes all columns of a unique index, as well as other columns of the same table, those other columns are redundant and can be dropped from the grouping. This was already true for non-deferred primary keys.", "commit_aliases": ["bd10ec529"], "source_commits": ["bd10ec529"], "source_entry_id": "18.0/changes/006", "db_id": "69820747e9a30607a8a95df47dbabdd6", "patch_ids": ["34cad2fc9ab6206a92e572686514a8b6"], "statement_hash": "f79bb17c14f5da30c295cc7cf55f487a682d1912a3cd315fb8c06f09d6f9fd62", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-69802bf6be549e87", "cves": [], "html": "<p>允许将作用于 <a href=\"/docs/18/queries-table-expressions.html#QUERIES-GROUPING-SETS\" title=\"7.2.4. GROUPING SETS、CUBE和ROLLUP\"><code>GROUPING SETS</code></a> 的某些 <a href=\"/docs/18/sql-select.html#SQL-HAVING\" title=\"HAVING 子句\"><code>HAVING</code></a> 子句下推到 <a href=\"/docs/18/sql-select.html#SQL-WHERE\" title=\"WHERE 子句\"><code>WHERE</code></a> 子句（Richard Guo）<a href=\"https://postgr.es/c/67a54b9e8\">§</a> <a href=\"https://postgr.es/c/247dea89f\">§</a> <a href=\"https://postgr.es/c/f5050f795\">§</a> <a href=\"https://postgr.es/c/cc5d98525\">§</a></p>\n<p>这允许更早地进行行过滤。此版本还修复了一些以前返回不正确结果的 <code>GROUPING SETS</code> 查询。</p>", "text": "允许将作用于 GROUPING SETS 的某些 HAVING 子句下推到 WHERE 子句（Richard Guo）§ § § § 这允许更早地进行行过滤。此版本还修复了一些以前返回不正确结果的 GROUPING SETS 查询。", "title": "允许将作用于 GROUPING SETS 的某些 HAVING 子句下推到 WHERE 子句", "commits": ["247dea89f", "67a54b9e8", "cc5d98525", "f5050f795"], "section": "服务器 / 优化器", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-OPTIMIZER", "source_hash": "7d93dee8cbb6c5b43abf85da682b3cd602844df0aad42cdf3bd1b210551f26fb", "section_path": ["服务器", "优化器"], "commit_groups": [["247dea89f"], ["67a54b9e8"], ["cc5d98525"], ["f5050f795"]], "identity_text": "Allow some HAVING clauses on GROUPING SETS to be pushed to WHERE clauses (Richard Guo) This allows earlier row filtering. This release also fixes some GROUPING SETS queries that used to return incorrect results.", "commit_aliases": ["247dea89f", "67a54b9e8", "cc5d98525", "f5050f795"], "source_commits": ["247dea89f", "67a54b9e8", "cc5d98525", "f5050f795"], "source_entry_id": "18.0/changes/007", "db_id": "e536ba32048335bb638a016ded27116b", "patch_ids": ["1ae07ed70f6403998c8d004a95303270", "302fc509a25f9b4b070cfc2ed497cc05", "5ce25769fa8297252747bcadd5fb8096", "bb70968006a3e0fdebcd1dd48f3e503a"], "statement_hash": "5de0004596ff255cc8fd70e95011362605c186180864bfadb9674a57e084c4d8", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-40848c73a340d3c8", "cves": [], "html": "<p>改进 <a href=\"/docs/18/functions-srf.html#FUNCTIONS-SRF-SERIES\" title=\"表 9.69. 序列生成函数\"><code>generate_series()</code></a> 使用 <a href=\"/docs/18/datatype-numeric.html\" title=\"8.1. 数字类型\"><code>numeric</code></a> 和 <a href=\"/docs/18/datatype-datetime.html\" title=\"8.5. 日期/时间类型\"><code>timestamp</code></a> 值时的行数估计（David Rowley, Song Jinzhou）<a href=\"https://postgr.es/c/036bdcec9\">§</a> <a href=\"https://postgr.es/c/97173536e\">§</a></p>", "text": "改进 generate_series() 使用 numeric 和 timestamp 值时的行数估计（David Rowley, Song Jinzhou）§ §", "title": "改进 generate_series() 使用 numeric 和 timestamp 值时的行数估计", "commits": ["036bdcec9", "97173536e"], "section": "服务器 / 优化器", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-OPTIMIZER", "source_hash": "bfa62ab567808d130606b57322b3564d5ab00860079455bf2fba489acbfce75f", "section_path": ["服务器", "优化器"], "commit_groups": [["036bdcec9"], ["97173536e"]], "identity_text": "Improve row estimates for generate_series() using numeric and timestamp values (David Rowley, Song Jinzhou)", "commit_aliases": ["036bdcec9", "97173536e"], "source_commits": ["036bdcec9", "97173536e"], "source_entry_id": "18.0/changes/008", "db_id": "d82aac51b035bfe8e15d4159c668f73a", "patch_ids": ["1dd699091397089a53c5d457b050033e", "804e83795dfcb3c7cca716573e30de6a"], "statement_hash": "802febfa899f0c3d0039d8e72f923517c82398682ce553e3c5c63f2374a042d7", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-3335fdf888440d5b", "cves": [], "html": "<p>允许优化器使用 <code>Right Semi Join</code> 计划（Richard Guo）<a href=\"https://postgr.es/c/aa86129e1\">§</a></p>\n<p>半连接用于查找是否存在至少一个匹配项。</p>", "text": "允许优化器使用 Right Semi Join 计划（Richard Guo）§ 半连接用于查找是否存在至少一个匹配项。", "title": "允许优化器使用 Right Semi Join 计划", "commits": ["aa86129e1"], "section": "服务器 / 优化器", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-OPTIMIZER", "source_hash": "619b5f1bfc705891d795ac9ab763f6362d300120b9a2d649250a5fb0fe617a45", "section_path": ["服务器", "优化器"], "commit_groups": [["aa86129e1"]], "identity_text": "Allow the optimizer to use Right Semi Join plans (Richard Guo) Semi-joins are used when needing to find if there is at least one match.", "commit_aliases": ["aa86129e1"], "source_commits": ["aa86129e1"], "source_entry_id": "18.0/changes/009", "db_id": "f76a8468845b91ddcffeaa33fa3400a0", "patch_ids": ["79e6e1842e88c7f535ade4eaba7be513"], "statement_hash": "117c31abccc7e061fab7475bec0bdf75e420f53925d5e95de87e71dad3cea951", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-b111a6a6d4309764", "cves": [], "html": "<p>允许合并连接使用<a href=\"/docs/18/runtime-config-query.html#GUC-ENABLE-INCREMENTAL-SORT\">增量排序</a>（Richard Guo）<a href=\"https://postgr.es/c/828e94c9d\">§</a></p>", "text": "允许合并连接使用增量排序（Richard Guo）§", "title": "允许合并连接使用增量排序", "commits": ["828e94c9d"], "section": "服务器 / 优化器", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-OPTIMIZER", "source_hash": "232faeb186a197cb2d471ce89d7969bca2593ea44e545f90f86f5ec9974800b1", "section_path": ["服务器", "优化器"], "commit_groups": [["828e94c9d"]], "identity_text": "Allow merge joins to use incremental sorts (Richard Guo)", "commit_aliases": ["828e94c9d"], "source_commits": ["828e94c9d"], "source_entry_id": "18.0/changes/010", "db_id": "7e8d7bcff75eca9f6d3794b3ed0388fb", "patch_ids": ["22cb8f9f6594048e5c90b7c0a948ea39"], "statement_hash": "c730545e91cae06688ba34e2ac9097a5800e1f311eaa283af2f272f7a1ac2767", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-d6e730c654f94a8c", "cves": [], "html": "<p>提高访问多个分区的查询规划效率（Ashutosh Bapat, Yuya Watari, David Rowley）<a href=\"https://postgr.es/c/88f55bc97\">§</a> <a href=\"https://postgr.es/c/d69d45a5a\">§</a></p>", "text": "提高访问多个分区的查询规划效率（Ashutosh Bapat, Yuya Watari, David Rowley）§ §", "title": "提高访问多个分区的查询规划效率", "commits": ["88f55bc97", "d69d45a5a"], "section": "服务器 / 优化器", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-OPTIMIZER", "source_hash": "7cec6b7a3c4b0b96689bd0d68404844c350a00677ea88e38b124b1582f228d77", "section_path": ["服务器", "优化器"], "commit_groups": [["88f55bc97"], ["d69d45a5a"]], "identity_text": "Improve the efficiency of planning queries accessing many partitions (Ashutosh Bapat, Yuya Watari, David Rowley)", "commit_aliases": ["88f55bc97", "d69d45a5a"], "source_commits": ["88f55bc97", "d69d45a5a"], "source_entry_id": "18.0/changes/011", "db_id": "6365c622e7f4156b307f731e72d9a3de", "patch_ids": ["15b3816633681459d9dd93e64a48ce0d", "ba8aa7045b27e8a9467ad9df65f2a614"], "statement_hash": "abf3aa0c2277a1dc8d9ddb61b3ffe1d2c987f7e7d4295a9d96f9ad75fa3f8e2a", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-efaad36fa63a27ed", "cves": [], "html": "<p>在更多情况下允许<a href=\"/docs/18/runtime-config-query.html#GUC-ENABLE-PARTITIONWISE-JOIN\">分区连接</a>，并减少其内存使用（Richard Guo, Tom Lane, Ashutosh Bapat）<a href=\"https://postgr.es/c/9b282a935\">§</a> <a href=\"https://postgr.es/c/513f4472a\">§</a></p>", "text": "在更多情况下允许分区连接，并减少其内存使用（Richard Guo, Tom Lane, Ashutosh Bapat）§ §", "title": "在更多情况下允许分区连接，并减少其内存使用", "commits": ["513f4472a", "9b282a935"], "section": "服务器 / 优化器", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-OPTIMIZER", "source_hash": "cccb81e8d167297ee2b086955ed9914693ecfdb1803b07df4ff007a993b1d1bd", "section_path": ["服务器", "优化器"], "commit_groups": [["513f4472a"], ["9b282a935"]], "identity_text": "Allow partitionwise joins in more cases, and reduce its memory usage (Richard Guo, Tom Lane, Ashutosh Bapat)", "commit_aliases": ["513f4472a", "9b282a935"], "source_commits": ["513f4472a", "9b282a935"], "source_entry_id": "18.0/changes/012", "db_id": "e1323b3c594bfa821577fa9462f03cdb", "patch_ids": ["2ff70c110f54ba540a2cece6e3a512cd", "dd416b1d8a4d68e28e16f90c7055e0bb"], "statement_hash": "40327e199cf2577490955fbcc74c05fe2901108bec3acfe4621734a986af7685", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-77174da6fc6ed32b", "cves": [], "html": "<p>改进分区查询的代价估算（Nikita Malakhov, Andrei Lepikhov）<a href=\"https://postgr.es/c/fae535da0\">§</a></p>", "text": "改进分区查询的代价估算（Nikita Malakhov, Andrei Lepikhov）§", "title": "改进分区查询的代价估算", "commits": ["fae535da0"], "section": "服务器 / 优化器", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-OPTIMIZER", "source_hash": "ad72fe467357e9b21f201ea22bac15faa0c66b16f28d43cb9b3f490b554ae9db", "section_path": ["服务器", "优化器"], "commit_groups": [["fae535da0"]], "identity_text": "Improve cost estimates of partition queries (Nikita Malakhov, Andrei Lepikhov)", "commit_aliases": ["fae535da0"], "source_commits": ["fae535da0"], "source_entry_id": "18.0/changes/013", "db_id": "c65e9805a7d1ddaa6d1373559e4cc29f", "patch_ids": ["61b7fea36f21c950e67f8bac538e8fce"], "statement_hash": "a36db3cf18d61186e69ff7181df62ed65dd845c1892191555ce2f6c4eecb52bd", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-3ca09b45eac4204e", "cves": [], "html": "<p>改进 <a href=\"/docs/18/xfunc-sql.html\" title=\"36.5. 查询语言（SQL）函数\"><acronym>SQL</acronym> 语言函数</a>的计划缓存（Alexander Pyhalov, Tom Lane）<a href=\"https://postgr.es/c/0dca5d68d\">§</a> <a href=\"https://postgr.es/c/09b07c295\">§</a></p>", "text": "改进 SQL 语言函数的计划缓存（Alexander Pyhalov, Tom Lane）§ §", "title": "改进 SQL 语言函数的计划缓存", "commits": ["09b07c295", "0dca5d68d"], "section": "服务器 / 优化器", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-OPTIMIZER", "source_hash": "624d5ebd4fbd3484e763f4ffd477ed7308b2ba7c3b507bfe163d59e440d1c9f2", "section_path": ["服务器", "优化器"], "commit_groups": [["09b07c295"], ["0dca5d68d"]], "identity_text": "Improve SQL-language function plan caching (Alexander Pyhalov, Tom Lane)", "commit_aliases": ["09b07c295", "0dca5d68d"], "source_commits": ["09b07c295", "0dca5d68d"], "source_entry_id": "18.0/changes/014", "db_id": "de187fd5833da9236d39e17a824451c0", "patch_ids": ["254214644dc444095fdc1eed63435eea", "aca8b43ca22cd7e20074fc7a0a7722ba"], "statement_hash": "146626d1f5aff4758ae17dc01f8d5f905420813c8aeb98087d9ca08c5471eb23", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-96d708124ad44b45", "cves": [], "html": "<p>改进禁用优化器功能的处理（Robert Haas）<a href=\"https://postgr.es/c/e22253467\">§</a></p>", "text": "改进禁用优化器功能的处理（Robert Haas）§", "title": "改进禁用优化器功能的处理", "commits": ["e22253467"], "section": "服务器 / 优化器", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-OPTIMIZER", "source_hash": "3ac7c9a012dfeb824499ec299452a4443f811573d8cdc48a32a87591feb62e84", "section_path": ["服务器", "优化器"], "commit_groups": [["e22253467"]], "identity_text": "Improve handling of disabled optimizer features (Robert Haas)", "commit_aliases": ["e22253467"], "source_commits": ["e22253467"], "source_entry_id": "18.0/changes/015", "db_id": "6af674fe85c6718d1c2ae803cc5fa2d4", "patch_ids": ["78269645a1e3bdd21fcde369b7fb1c82"], "statement_hash": "0dcbf8861cd7ba230ddcdaf5746f5f46a4f85aa3e242a34f907c8eadbc61f43c", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-f3a4d0c34bdfba51", "cves": [], "html": "<p>允许 <a href=\"/docs/18/xfunc-sql.html\" title=\"36.5. 查询语言（SQL）函数\">B-树</a>索引的跳过扫描（Peter Geoghegan）<a href=\"https://postgr.es/c/92fe23d93\">§</a> <a href=\"https://postgr.es/c/8a510275d\">§</a></p>\n<p>这允许在更多情况下使用多列 B-树索引，例如，当第一个或较早的索引列上没有限制（或只有非等值限制），而后续索引列上存在有效限制时。</p>", "text": "允许 B-树索引的跳过扫描（Peter Geoghegan）§ § 这允许在更多情况下使用多列 B-树索引，例如，当第一个或较早的索引列上没有限制（或只有非等值限制），而后续索引列上存在有效限制时。", "title": "允许 B-树索引的跳过扫描", "commits": ["8a510275d", "92fe23d93"], "section": "服务器 / 索引", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-INDEXES", "source_hash": "6fc7b9601b88e3906c876c63e64c4ed31901ffef59984e3a9f3c5467cf0e520e", "section_path": ["服务器", "索引"], "commit_groups": [["8a510275d"], ["92fe23d93"]], "identity_text": "Allow skip scans of btree indexes (Peter Geoghegan) This allows multi-column btree indexes to be used in more cases such as when there are no restrictions on the first or early indexed columns (or there are non-equality ones), and there are useful restrictions on later indexed columns.", "commit_aliases": ["8a510275d", "92fe23d93"], "source_commits": ["8a510275d", "92fe23d93"], "source_entry_id": "18.0/changes/016", "db_id": "d6862625b987b44876b5f8813415e301", "patch_ids": ["635b38c19244d008c0a276c87c34aabf", "e61ae831ab07aa91f44cf34554c51986"], "statement_hash": "5f70bac2450552918acb0585c69d065150051c94ca3fd7c0e78accb784965d18", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-533df00c1b04db03", "cves": [], "html": "<p>允许非 B-树唯一索引用作分区键，并用于物化视图（Mark Dilger）<a href=\"https://postgr.es/c/f278e1fe3\">§</a> <a href=\"https://postgr.es/c/9d6db8bec\">§</a></p>\n<p>索引类型仍必须支持相等性。</p>", "text": "允许非 B-树唯一索引用作分区键，并用于物化视图（Mark Dilger）§ § 索引类型仍必须支持相等性。", "title": "允许非 B-树唯一索引用作分区键，并用于物化视图", "commits": ["9d6db8bec", "f278e1fe3"], "section": "服务器 / 索引", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-INDEXES", "source_hash": "48d1dc2e21671ed03ec096681269e55993854a87f636152113525b845910da6b", "section_path": ["服务器", "索引"], "commit_groups": [["9d6db8bec"], ["f278e1fe3"]], "identity_text": "Allow non-btree unique indexes to be used as partition keys and in materialized views (Mark Dilger) The index type must still support equality.", "commit_aliases": ["9d6db8bec", "f278e1fe3"], "source_commits": ["9d6db8bec", "f278e1fe3"], "source_entry_id": "18.0/changes/017", "db_id": "494315b065e8cf257c51cc573e8cd5ba", "patch_ids": ["5bf1633970b359c47772a29d428891b9", "afc683b089394ea6ac807e8fc8c1d9ac"], "statement_hash": "8627db4022a3b996448b3199a1438d065510142c1a86887f48fb1af1aa338936", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-1527473201723273", "cves": [], "html": "<p>允许并行创建 <a href=\"/docs/18/gin.html\" title=\"65.4. GIN 索引\"><code>GIN</code></a> 索引（Tomas Vondra, Matthias van de Meent）<a href=\"https://postgr.es/c/8492feb98\">§</a></p>", "text": "允许并行创建 GIN 索引（Tomas Vondra, Matthias van de Meent）§", "title": "允许并行创建 GIN 索引", "commits": ["8492feb98"], "section": "服务器 / 索引", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-INDEXES", "source_hash": "01c6d664aa699cd5856bca9e8beb983f220a3bbc4ba438ca287685b016c76882", "section_path": ["服务器", "索引"], "commit_groups": [["8492feb98"]], "identity_text": "Allow GIN indexes to be created in parallel (Tomas Vondra, Matthias van de Meent)", "commit_aliases": ["8492feb98"], "source_commits": ["8492feb98"], "source_entry_id": "18.0/changes/018", "db_id": "679afe20174701f36f8833868fba691a", "patch_ids": ["86bbb2d786cd9282ec7c0990ac84734b"], "statement_hash": "4dc151279990477d351d79cd8abfd0af480e2cc275a31cbd790f45a0e112db39", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-3275a8a9fc76604f", "cves": [], "html": "<p>允许对值进行排序以加快范围类型 <a href=\"/docs/18/gist.html\" title=\"65.2. GiST 索引\">GiST</a> 和 <a href=\"/docs/18/btree.html\" title=\"65.1. B-树索引\">B-树</a>索引构建（Bernd Helmle）<a href=\"https://postgr.es/c/e9e7b6604\">§</a></p>", "text": "允许对值进行排序以加快范围类型 GiST 和 B-树索引构建（Bernd Helmle）§", "title": "允许对值进行排序以加快范围类型 GiST 和 B-树索引构建", "commits": ["e9e7b6604"], "section": "服务器 / 索引", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-INDEXES", "source_hash": "ac18bed164464842781add926baf8a19f9b384695cfa6ffc14d622e837b24226", "section_path": ["服务器", "索引"], "commit_groups": [["e9e7b6604"]], "identity_text": "Allow values to be sorted to speed range-type GiST and btree index builds (Bernd Helmle)", "commit_aliases": ["e9e7b6604"], "source_commits": ["e9e7b6604"], "source_entry_id": "18.0/changes/019", "db_id": "bb89183dc8713a98a5f1732f23ebf357", "patch_ids": ["21b0be863bb11025af07f036adc715cd"], "statement_hash": "1110884a4b4193d0fb56b65604f1f84d06c9b027816ac2b2f97f7eb335548e6f", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-ff0cc0de715bde2e", "cves": [], "html": "<p>添加异步 I/O 子系统（Andres Freund, Thomas Munro, Nazir Bilal Yavuz, Melanie Plageman）<a href=\"https://postgr.es/c/02844012b\">§</a> <a href=\"https://postgr.es/c/da7226993\">§</a> <a href=\"https://postgr.es/c/55b454d0e\">§</a> <a href=\"https://postgr.es/c/247ce06b8\">§</a> <a href=\"https://postgr.es/c/10f664684\">§</a> <a href=\"https://postgr.es/c/06fb5612c\">§</a> <a href=\"https://postgr.es/c/c325a7633\">§</a> <a href=\"https://postgr.es/c/50cb7505b\">§</a> <a href=\"https://postgr.es/c/047cba7fa\">§</a> <a href=\"https://postgr.es/c/12ce89fd0\">§</a> <a href=\"https://postgr.es/c/2a5e709e7\">§</a></p>\n<p>此功能允许后端排队多个读取请求，从而实现更高效的顺序扫描、位图堆扫描、清理等。这由服务器变量<a href=\"/docs/18/runtime-config-resource.html#GUC-IO-METHOD\">io_method</a>启用，并添加了服务器变量<a href=\"/docs/18/runtime-config-resource.html#GUC-IO-COMBINE-LIMIT\">io_combine_limit</a>和<a href=\"/docs/18/runtime-config-resource.html#GUC-IO-MAX-COMBINE-LIMIT\">io_max_combine_limit</a>来控制它。这还使得不支持 <code>fadvise()</code> 的系统也可以将<a href=\"/docs/18/runtime-config-resource.html#GUC-EFFECTIVE-IO-CONCURRENCY\">effective_io_concurrency</a>和<a href=\"/docs/18/runtime-config-resource.html#GUC-MAINTENANCE-IO-CONCURRENCY\">maintenance_io_concurrency</a>设为大于零的值。新的系统视图 <a href=\"/docs/18/view-pg-aios.html\" title=\"53.2. pg_aios\"><code>pg_aios</code></a> 显示用于异步 I/O 的文件句柄。</p>", "text": "添加异步 I/O 子系统（Andres Freund, Thomas Munro, Nazir Bilal Yavuz, Melanie Plageman）§ § § § § § § § § § § 此功能允许后端排队多个读取请求，从而实现更高效的顺序扫描、位图堆扫描、清理等。这由服务器变量io_method启用，并添加了服务器变量io_combine_limit和io_max_combine_limit来控制它。这还使得不支持 fadvise() 的系统也可以将effective_io_concurrency和maintenance_io_concurrency设为大于零的值。新的系统视图 pg_aios 显示用于异步 I/O 的文件句柄。", "title": "添加异步 I/O 子系统", "commits": ["02844012b", "047cba7fa", "06fb5612c", "10f664684", "12ce89fd0", "247ce06b8", "2a5e709e7", "50cb7505b", "55b454d0e", "c325a7633", "da7226993"], "section": "服务器 / 一般性能", "category": "performance", "source_url": "/docs/release/18.0/#RELEASE-18-PERFORMANCE", "source_hash": "fdd8656bbf1cf11f97d6fd57102a43e430a4b1b8d8c4d686a0a5ea63a4b0770c", "section_path": ["服务器", "一般性能"], "commit_groups": [["02844012b"], ["047cba7fa"], ["06fb5612c"], ["10f664684"], ["12ce89fd0"], ["247ce06b8"], ["2a5e709e7"], ["50cb7505b"], ["55b454d0e"], ["c325a7633"], ["da7226993"]], "identity_text": "Add an asynchronous I/O subsystem (Andres Freund, Thomas Munro, Nazir Bilal Yavuz, Melanie Plageman) This feature allows backends to queue multiple read requests, which allows for more efficient sequential scans, bitmap heap scans, vacuums, etc. This is enabled by server variable guc-io-method , with server variables guc-io-combine-limit and guc-io-max-combine-limit added to control it. This also enables guc-effective-io-concurrency and guc-maintenance-io-concurrency values greater than zero for systems without fadvise() support. The new system view pg_aios shows the file handles being used for asynchronous I/O.", "commit_aliases": ["02844012b", "047cba7fa", "06fb5612c", "10f664684", "12ce89fd0", "247ce06b8", "2a5e709e7", "50cb7505b", "55b454d0e", "c325a7633", "da7226993"], "source_commits": ["02844012b", "047cba7fa", "06fb5612c", "10f664684", "12ce89fd0", "247ce06b8", "2a5e709e7", "50cb7505b", "55b454d0e", "c325a7633", "da7226993"], "source_entry_id": "18.0/changes/020", "db_id": "37483c0834752f309aa567f79e0fff73", "patch_ids": ["00a9c4d43ad5f440c73f46761173fb9b", "0dbc83e3df4c59c2ca262ef445628a22", "27d018309a2572d361015743ee98324a", "4d8f6ef76cf84da9e8ef4cb69e686748", "4f97e5094bf3ab32f794535fbb774657", "69011e9c5887d0368badf9df4b6cdb59", "6fe75ee49c9ddb6673fc72c6316a6cac", "935377894ec40d13d8a0a722ff34d52e", "9e38c5e8ef550e2076bcc2e8ab7b4e16", "b7142d9ad8162a459c188b676c6a8396", "b78c6771a059bc73ee21df19448cd72b"], "statement_hash": "b96b1508b7345c107e04bf5e3067b8f434fdad4aab6e74bb8cac2ed82dad1d3c", "relations": [], "version": "18.0", "category_label": "性能改进", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-ce512d334bac3308", "cves": [], "html": "<p>改进访问许多关系的查询的锁定性能（Tomas Vondra）<a href=\"https://postgr.es/c/c4d5cb71d\">§</a></p>", "text": "改进访问许多关系的查询的锁定性能（Tomas Vondra）§", "title": "改进访问许多关系的查询的锁定性能", "commits": ["c4d5cb71d"], "section": "服务器 / 一般性能", "category": "performance", "source_url": "/docs/release/18.0/#RELEASE-18-PERFORMANCE", "source_hash": "166ed61e81ac65ed621694d2130b525d95cd6eabf81198d9051b9df5a5471b51", "section_path": ["服务器", "一般性能"], "commit_groups": [["c4d5cb71d"]], "identity_text": "Improve the locking performance of queries that access many relations (Tomas Vondra)", "commit_aliases": ["c4d5cb71d"], "source_commits": ["c4d5cb71d"], "source_entry_id": "18.0/changes/021", "db_id": "aff48c3c83b235bf18a030e9ccc9c3b8", "patch_ids": ["fc2837c0cff32783885ae70d5fbb55db"], "statement_hash": "bbf31aaa998b69605f19fb5f3337b504b4ae92cf39abf056f16dadd0b84efe2d", "relations": [], "version": "18.0", "category_label": "性能改进", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-685db88c876114b9", "cves": [], "html": "<p>提高哈希连接和 <a href=\"/docs/18/sql-select.html#SQL-GROUPBY\" title=\"GROUP BY 子句\"><code>GROUP BY</code></a> 的性能并减少内存使用（David Rowley, Jeff Davis）<a href=\"https://postgr.es/c/adf97c156\">§</a> <a href=\"https://postgr.es/c/0f5738202\">§</a> <a href=\"https://postgr.es/c/4d143509c\">§</a> <a href=\"https://postgr.es/c/a0942f441\">§</a> <a href=\"https://postgr.es/c/626df47ad\">§</a></p>\n<p>这也改进了 <a href=\"/docs/18/sql-select.html#SQL-EXCEPT\" title=\"EXCEPT 子句\"><code>EXCEPT</code></a> 使用的 hash 集操作和子计划值的 hash 查找。</p>", "text": "提高哈希连接和 GROUP BY 的性能并减少内存使用（David Rowley, Jeff Davis）§ § § § § 这也改进了 EXCEPT 使用的 hash 集操作和子计划值的 hash 查找。", "title": "提高哈希连接和 GROUP BY 的性能并减少内存使用", "commits": ["0f5738202", "4d143509c", "626df47ad", "a0942f441", "adf97c156"], "section": "服务器 / 一般性能", "category": "performance", "source_url": "/docs/release/18.0/#RELEASE-18-PERFORMANCE", "source_hash": "9f547ee246a07784a2bed2c258eb059c7b92ae34cf3cf037fa83d8419df57bcc", "section_path": ["服务器", "一般性能"], "commit_groups": [["0f5738202"], ["4d143509c"], ["626df47ad"], ["a0942f441"], ["adf97c156"]], "identity_text": "Improve the performance and reduce memory usage of hash joins and GROUP BY (David Rowley, Jeff Davis) This also improves hash set operations used by EXCEPT, and hash lookups of subplan values.", "commit_aliases": ["0f5738202", "4d143509c", "626df47ad", "a0942f441", "adf97c156"], "source_commits": ["0f5738202", "4d143509c", "626df47ad", "a0942f441", "adf97c156"], "source_entry_id": "18.0/changes/022", "db_id": "8f6bb5232a0af20918ef87fc2bd9b72d", "patch_ids": ["1758487f83257304f9b99a49b55241a1", "19978010109b328fc13a2f60b64a87b4", "5aefbddf9e57264554b8994d3a88ae3a", "66b388b0b82ff195761808bbad7daaa9", "951eca554a095ba4544d50657927742d"], "statement_hash": "4661b20ed989107cc31aef5019cf8c04bc8793452b44fba95b5618841ad4db50", "relations": [], "version": "18.0", "category_label": "性能改进", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-79ad0339f5219dcf", "cves": [], "html": "<p>允许普通清理冻结某些页面，即使它们都是可见的（Melanie Plageman）<a href=\"https://postgr.es/c/052026c9b\">§</a> <a href=\"https://postgr.es/c/06eae9e62\">§</a></p>\n<p>这减少了后期全关系冻结的开销。其激进性可以通过服务器变量和每表设置<a href=\"/docs/18/runtime-config-vacuum.html#GUC-VACUUM-MAX-EAGER-FREEZE-FAILURE-RATE\">vacuum_max_eager_freeze_failure_rate</a>控制。以前，在需要冻结之前，清理从不处理所有可见页面。</p>", "text": "允许普通清理冻结某些页面，即使它们都是可见的（Melanie Plageman）§ § 这减少了后期全关系冻结的开销。其激进性可以通过服务器变量和每表设置vacuum_max_eager_freeze_failure_rate控制。以前，在需要冻结之前，清理从不处理所有可见页面。", "title": "允许普通清理冻结某些页面，即使它们都是可见的", "commits": ["052026c9b", "06eae9e62"], "section": "服务器 / 一般性能", "category": "performance", "source_url": "/docs/release/18.0/#RELEASE-18-PERFORMANCE", "source_hash": "067908e36f6001abfd9b89898d6468091c7c408aba70fd6644ef0e6e78945b17", "section_path": ["服务器", "一般性能"], "commit_groups": [["052026c9b"], ["06eae9e62"]], "identity_text": "Allow normal vacuums to freeze some pages, even though they are all-visible (Melanie Plageman) This reduces the overhead of later full-relation freezing. The aggressiveness of this can be controlled by server variable and per-table setting guc-vacuum-max-eager-freeze-failure-rate . Previously vacuum never processed all-visible pages until freezing was required.", "commit_aliases": ["052026c9b", "06eae9e62"], "source_commits": ["052026c9b", "06eae9e62"], "source_entry_id": "18.0/changes/023", "db_id": "b143946a18139ecebf85f4773c7419b5", "patch_ids": ["67ea98ee74614c1e13cce028969b4f44", "d3f807b22dffb17b1216f302711474dd"], "statement_hash": "1d01a6afb8bdd666bc7b3013928540e3f748fdac185055067dcbcfcb19976f2d", "relations": [], "version": "18.0", "category_label": "性能改进", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-929700b56f096829", "cves": [], "html": "<p>添加服务器变量<a href=\"/docs/18/runtime-config-vacuum.html#GUC-VACUUM-TRUNCATE\">vacuum_truncate</a>以控制<a href=\"/docs/18/sql-vacuum.html\" title=\"VACUUM\"><span>VACUUM</span></a>期间的文件截断（Nathan Bossart, Gurjeet Singh）<a href=\"https://postgr.es/c/0164a0f9e\">§</a></p>\n<p>已经存在一个具有相同名称和行为的存储级别参数。</p>", "text": "添加服务器变量vacuum_truncate以控制VACUUM期间的文件截断（Nathan Bossart, Gurjeet Singh）§ 已经存在一个具有相同名称和行为的存储级别参数。", "title": "添加服务器变量vacuum_truncate以控制VACUUM期间的文件截断", "commits": ["0164a0f9e"], "section": "服务器 / 一般性能", "category": "performance", "source_url": "/docs/release/18.0/#RELEASE-18-PERFORMANCE", "source_hash": "3bdf7d1f300811ca038842a0cc4e774e2520f4329d021c60a179b690525ba77f", "section_path": ["服务器", "一般性能"], "commit_groups": [["0164a0f9e"]], "identity_text": "Add server variable guc-vacuum-truncate to control file truncation during sql-vacuum (Nathan Bossart, Gurjeet Singh) A storage-level parameter with the same name and behavior already existed.", "commit_aliases": ["0164a0f9e"], "source_commits": ["0164a0f9e"], "source_entry_id": "18.0/changes/024", "db_id": "d1bf74ed1cb4e3fbacc9001855d15f16", "patch_ids": ["be7bc9e56cdce4915b9e4a702d43e637"], "statement_hash": "944b8ce94c10828d6d6910957cf641b88dc95d22b1b8115647738cec01db9fbe", "relations": [], "version": "18.0", "category_label": "性能改进", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-e2695fe0532b1c4e", "cves": [], "html": "<p>将服务器变量<a href=\"/docs/18/runtime-config-resource.html#GUC-EFFECTIVE-IO-CONCURRENCY\">effective_io_concurrency</a>和<a href=\"/docs/18/runtime-config-resource.html#GUC-MAINTENANCE-IO-CONCURRENCY\">maintenance_io_concurrency</a>的默认值增加到 16（Melanie Plageman）<a href=\"https://postgr.es/c/ff79b5b2a\">§</a> <a href=\"https://postgr.es/c/cc6be07eb\">§</a></p>\n<p>这更准确地反映了现代硬件。</p>", "text": "将服务器变量effective_io_concurrency和maintenance_io_concurrency的默认值增加到 16（Melanie Plageman）§ § 这更准确地反映了现代硬件。", "title": "将服务器变量effective_io_concurrency和maintenance_io_concurrency的默认值增加到 16", "commits": ["cc6be07eb", "ff79b5b2a"], "section": "服务器 / 一般性能", "category": "performance", "source_url": "/docs/release/18.0/#RELEASE-18-PERFORMANCE", "source_hash": "5ed1ab656f1d067bc897340478dcbb402d18bafb76ff5da9b9bec5940ff0e6da", "section_path": ["服务器", "一般性能"], "commit_groups": [["cc6be07eb"], ["ff79b5b2a"]], "identity_text": "Increase server variables guc-effective-io-concurrency 's and guc-maintenance-io-concurrency 's default values to 16 (Melanie Plageman) This more accurately reflects modern hardware.", "commit_aliases": ["cc6be07eb", "ff79b5b2a"], "source_commits": ["cc6be07eb", "ff79b5b2a"], "source_entry_id": "18.0/changes/025", "db_id": "426d3063330d1605a0f8dada895702c7", "patch_ids": ["5048dc209f8f981f9a097d9636573570", "711b2163ed88e992fa8f7ebd50bcabfe"], "statement_hash": "2388b7de66243eaf67d83494c797d6d1e1d27a9f5ff72da1c364e2e04896d1a4", "relations": [], "version": "18.0", "category_label": "性能改进", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-1853092f38c97a1c", "cves": [], "html": "<p>增加服务器变量<a href=\"/docs/18/runtime-config-logging.html#GUC-LOG-CONNECTIONS\">log_connections</a>的日志记录粒度（Melanie Plageman）<a href=\"https://postgr.es/c/9219093ca\">§</a></p>\n<p>此服务器变量以前仅接受布尔值；布尔值用法仍受支持。</p>", "text": "增加服务器变量log_connections的日志记录粒度（Melanie Plageman）§ 此服务器变量以前仅接受布尔值；布尔值用法仍受支持。", "title": "增加服务器变量log_connections的日志记录粒度", "commits": ["9219093ca"], "section": "服务器 / 监控", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-MONITORING", "source_hash": "42fa035457ddebe4280da1ffdf030abca58669ddee1f4de16c1998a7b9a4dfb2", "section_path": ["服务器", "监控"], "commit_groups": [["9219093ca"]], "identity_text": "Increase the logging granularity of server variable guc-log-connections (Melanie Plageman) This server variable was previously only boolean, which is still supported.", "commit_aliases": ["9219093ca"], "source_commits": ["9219093ca"], "source_entry_id": "18.0/changes/026", "db_id": "ff5e5f18a1f9dca408cdf9912c05dbc0", "patch_ids": ["a7e481af208e8edfa0f5fb1487d6f5da"], "statement_hash": "bdb1f75b5ad766542e4be765b90646c65665a1de272e063859e8ddf2ad109820", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-618b0a37a5adca9c", "cves": [], "html": "<p>添加 <code>log_connections</code> 选项以报告连接阶段的持续时间（Melanie Plageman）<a href=\"https://postgr.es/c/18cd15e70\">§</a></p>", "text": "添加 log_connections 选项以报告连接阶段的持续时间（Melanie Plageman）§", "title": "添加 log_connections 选项以报告连接阶段的持续时间", "commits": ["18cd15e70"], "section": "服务器 / 监控", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-MONITORING", "source_hash": "41a344a0928e2afe9e641f311ef5ab55d86e85bce333e6a88a6a3c60f59cbdfb", "section_path": ["服务器", "监控"], "commit_groups": [["18cd15e70"]], "identity_text": "Add log_connections option to report the duration of connection stages (Melanie Plageman)", "commit_aliases": ["18cd15e70"], "source_commits": ["18cd15e70"], "source_entry_id": "18.0/changes/027", "db_id": "91c81466b98e0b8e4a0d92321b5a517e", "patch_ids": ["1b950cb014853bc85d486bf75efaca9d"], "statement_hash": "16c0cad808e5939e479b2dd348ffdbb2ae9c55f3e23728d50e88003bece7df2c", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-e0fcc67a19cce384", "cves": [], "html": "<p>添加<a href=\"/docs/18/runtime-config-logging.html#GUC-LOG-LINE-PREFIX\">log_line_prefix</a>转义 <code>%L</code> 以输出客户端<acronym>IP</acronym>地址（Greg Sabino Mullane）<a href=\"https://postgr.es/c/3516ea768\">§</a></p>", "text": "添加log_line_prefix转义 %L 以输出客户端IP地址（Greg Sabino Mullane）§", "title": "添加log_line_prefix转义 %L 以输出客户端IP地址", "commits": ["3516ea768"], "section": "服务器 / 监控", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-MONITORING", "source_hash": "1bdebb7b546333fd73fa5598efd7d15966692b03acaa8bf3b6823e7257095700", "section_path": ["服务器", "监控"], "commit_groups": [["3516ea768"]], "identity_text": "Add guc-log-line-prefix escape %L to output the client IP address (Greg Sabino Mullane)", "commit_aliases": ["3516ea768"], "source_commits": ["3516ea768"], "source_entry_id": "18.0/changes/028", "db_id": "ec6128df26d217a2eecd0111f2e4d0a0", "patch_ids": ["245982fa5f97063e1932c06fd291a313"], "statement_hash": "9dce6737c13142a305d26993679d19f61298311469a6a7edc10ef7bcb6bcbfd5", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-ec4f60203abc4771", "cves": [], "html": "<p>添加服务器变量<a href=\"/docs/18/runtime-config-logging.html#GUC-LOG-LOCK-FAILURES\">log_lock_failures</a>以记录锁获取失败（Yuki Seino, Fujii Masao）<a href=\"https://postgr.es/c/6d376c3b0\">§</a> <a href=\"https://postgr.es/c/73bdcfab3\">§</a></p>\n<p>具体来说，它报告 <a href=\"/docs/18/sql-select.html#SQL-FOR-UPDATE-SHARE\" title=\"锁定子句\"><code>SELECT ... NOWAIT</code></a> 锁失败。</p>", "text": "添加服务器变量log_lock_failures以记录锁获取失败（Yuki Seino, Fujii Masao）§ § 具体来说，它报告 SELECT ... NOWAIT 锁失败。", "title": "添加服务器变量log_lock_failures以记录锁获取失败", "commits": ["6d376c3b0", "73bdcfab3"], "section": "服务器 / 监控", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-MONITORING", "source_hash": "a88dff59604d880435132b5b633e2eb67a03d39010449f6c677e07aa3e5c5da7", "section_path": ["服务器", "监控"], "commit_groups": [["6d376c3b0"], ["73bdcfab3"]], "identity_text": "Add server variable guc-log-lock-failures to log lock acquisition failures (Yuki Seino, Fujii Masao) Specifically it reports SELECT ... NOWAIT lock failures.", "commit_aliases": ["6d376c3b0", "73bdcfab3"], "source_commits": ["6d376c3b0", "73bdcfab3"], "source_entry_id": "18.0/changes/029", "db_id": "d8e2695d01232405d3118fd953a35550", "patch_ids": ["b077959c977125e9f3753f321bc477a3", "e967c5c76962ab8a50984a559a44af22"], "statement_hash": "86481d735160d1d7650fa217441fd2d70ed271d146fb44fd372e52c1bbfa1210", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-5d57ae44f870fecf", "cves": [], "html": "<p>修改 <a href=\"/docs/18/monitoring-stats.html#MONITORING-PG-STAT-ALL-TABLES-VIEW\" title=\"27.2.19. pg_stat_all_tables\"><code>pg_stat_all_tables</code></a> 及其变体以报告在<a href=\"/docs/18/sql-vacuum.html\" title=\"VACUUM\"><span>VACUUM</span></a>、<a href=\"/docs/18/sql-analyze.html\" title=\"ANALYZE\"><span>ANALYZE</span></a>及其<a href=\"/docs/18/routine-vacuuming.html#AUTOVACUUM\" title=\"24.1.6. 自动清理守护进程\">自动执行</a>的变体中花费的时间（Sami Imseih）<a href=\"https://postgr.es/c/30a6ed0ce\">§</a></p>\n<p>新列是 <code>total_vacuum_time</code>、<code>total_autovacuum_time</code>、<code>total_analyze_time</code> 和 <code>total_autoanalyze_time</code>。</p>", "text": "修改 pg_stat_all_tables 及其变体以报告在VACUUM、ANALYZE及其自动执行的变体中花费的时间（Sami Imseih）§ 新列是 total_vacuum_time、total_autovacuum_time、total_analyze_time 和 total_autoanalyze_time。", "title": "修改 pg_stat_all_tables 及其变体以报告在VACUUM、ANALYZE及其自动执行的变体中花费的时间", "commits": ["30a6ed0ce"], "section": "服务器 / 监控", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-MONITORING", "source_hash": "2092521e84d65496371a602695e86f1b45f3598fa64282cc8e1cb2df767cc998", "section_path": ["服务器", "监控"], "commit_groups": [["30a6ed0ce"]], "identity_text": "Modify pg_stat_all_tables and its variants to report the time spent in sql-vacuum , sql-analyze , and their automatic variants (Sami Imseih) The new columns are total_vacuum_time, total_autovacuum_time, total_analyze_time, and total_autoanalyze_time.", "commit_aliases": ["30a6ed0ce"], "source_commits": ["30a6ed0ce"], "source_entry_id": "18.0/changes/030", "db_id": "9671d2c26d28bca864a1d36f60376f71", "patch_ids": ["c2b3c6594a2d8e4e4efcb86b21ade10b"], "statement_hash": "904912b4331b059b0493e73dfb45564c4e6f06521c6face3aed12e28924a3bde", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-1cd3fd9b813ceae1", "cves": [], "html": "<p>向<a href=\"/docs/18/sql-vacuum.html\" title=\"VACUUM\"><span>VACUUM</span></a>和<a href=\"/docs/18/sql-analyze.html\" title=\"ANALYZE\"><span>ANALYZE</span></a>添加延迟时间报告（Bertrand Drouvot, Nathan Bossart）<a href=\"https://postgr.es/c/bb8dff999\">§</a> <a href=\"https://postgr.es/c/7720082ae\">§</a></p>\n<p>此信息出现在服务器日志、系统视图 <a href=\"/docs/18/progress-reporting.html#VACUUM-PROGRESS-REPORTING\" title=\"27.4.5. VACUUM 进度报告\"><code>pg_stat_progress_vacuum</code></a> 和 <a href=\"/docs/18/progress-reporting.html#PG-STAT-PROGRESS-ANALYZE-VIEW\" title=\"表 27.38. pg_stat_progress_analyze 视图\"><code>pg_stat_progress_analyze</code></a> 以及<a href=\"/docs/18/sql-vacuum.html\" title=\"VACUUM\"><span>VACUUM</span></a>和<a href=\"/docs/18/sql-analyze.html\" title=\"ANALYZE\"><span>ANALYZE</span></a>在 <code>VERBOSE</code> 模式下的输出中；必须使用服务器变量<a href=\"/docs/18/runtime-config-statistics.html#GUC-TRACK-COST-DELAY-TIMING\">track_cost_delay_timing</a>启用跟踪。</p>", "text": "向VACUUM和ANALYZE添加延迟时间报告（Bertrand Drouvot, Nathan Bossart）§ § 此信息出现在服务器日志、系统视图 pg_stat_progress_vacuum 和 pg_stat_progress_analyze 以及VACUUM和ANALYZE在 VERBOSE 模式下的输出中；必须使用服务器变量track_cost_delay_timing启用跟踪。", "title": "向VACUUM和ANALYZE添加延迟时间报告", "commits": ["7720082ae", "bb8dff999"], "section": "服务器 / 监控", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-MONITORING", "source_hash": "c3b6092e0b557183c88361a516e8cd0d9afc4df8b8705c21459ed505607217f1", "section_path": ["服务器", "监控"], "commit_groups": [["7720082ae"], ["bb8dff999"]], "identity_text": "Add delay time reporting to sql-vacuum and sql-analyze (Bertrand Drouvot, Nathan Bossart) This information appears in the server log, the system views pg_stat_progress_vacuum and pg_stat_progress_analyze, and the output of sql-vacuum and sql-analyze when in VERBOSE mode; tracking must be enabled with the server variable guc-track-cost-delay-timing .", "commit_aliases": ["7720082ae", "bb8dff999"], "source_commits": ["7720082ae", "bb8dff999"], "source_entry_id": "18.0/changes/031", "db_id": "bea9d94f702a252ba6381f744ff75946", "patch_ids": ["37076735ba20e78cc49b9708ebdff26a", "dcc774daa71cb4ef3040110ad61f951b"], "statement_hash": "fa996a38bca92758da7743b591fad3f548bcd94541d767a9356ea8efbc21a20c", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-68eb5a1465698084", "cves": [], "html": "<p>添加<acronym>WAL</acronym>、<acronym>CPU</acronym>以及平均读取统计信息输出到 <code>ANALYZE VERBOSE</code>（Anthonin Bonnefoy）<a href=\"https://postgr.es/c/4c1b4cdb8\">§</a> <a href=\"https://postgr.es/c/bb7775234\">§</a></p>", "text": "添加WAL、CPU以及平均读取统计信息输出到 ANALYZE VERBOSE（Anthonin Bonnefoy）§ §", "title": "添加WAL、CPU以及平均读取统计信息输出到 ANALYZE VERBOSE", "commits": ["4c1b4cdb8", "bb7775234"], "section": "服务器 / 监控", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-MONITORING", "source_hash": "1a2dcb5dd39a88693da8ffce12adc58b376cbc99d61e7b665edc8b7a8057486c", "section_path": ["服务器", "监控"], "commit_groups": [["4c1b4cdb8"], ["bb7775234"]], "identity_text": "Add WAL, CPU, and average read statistics output to ANALYZE VERBOSE (Anthonin Bonnefoy)", "commit_aliases": ["4c1b4cdb8", "bb7775234"], "source_commits": ["4c1b4cdb8", "bb7775234"], "source_entry_id": "18.0/changes/032", "db_id": "89d1e2f5040630b5e6d5d285a3183e17", "patch_ids": ["b3469919d266e3cb5e6a7fd510fd2e77", "e8ed2cc2f82da83716586c11bc4c436b"], "statement_hash": "0ba8f5189b2a89deba8c0398b4327b4ea28a27b30cfe526849d9f7dd081e54d5", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-41be8a1d9fc8c01b", "cves": [], "html": "<p>添加完整<acronym>WAL</acronym>缓冲区计数到 <code>VACUUM</code>/<code>ANALYZE (VERBOSE)</code> 和 autovacuum 日志输出（Bertrand Drouvot）<a href=\"https://postgr.es/c/6a8a7ce47\">§</a></p>", "text": "添加完整WAL缓冲区计数到 VACUUM/ANALYZE (VERBOSE) 和 autovacuum 日志输出（Bertrand Drouvot）§", "title": "添加完整WAL缓冲区计数到 VACUUM/ANALYZE (VERBOSE) 和 autovacuum 日志输出", "commits": ["6a8a7ce47"], "section": "服务器 / 监控", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-MONITORING", "source_hash": "c9894dd7993ceae90219fd40d6eb2b8e99c64032b4b6c0c567537ce9d289b65d", "section_path": ["服务器", "监控"], "commit_groups": [["6a8a7ce47"]], "identity_text": "Add full WAL buffer count to VACUUM/ANALYZE (VERBOSE) and autovacuum log output (Bertrand Drouvot)", "commit_aliases": ["6a8a7ce47"], "source_commits": ["6a8a7ce47"], "source_entry_id": "18.0/changes/033", "db_id": "74713f8ae6d85f90e89e18ef3dc6a21d", "patch_ids": ["72511d93ea1587fdaf73eba50b91d1d0"], "statement_hash": "0774d5388d6c2acf1684333e3113f73e85981e8a73cea3b0ab9ee148dc6b388f", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-149d341c23392531", "cves": [], "html": "<p>添加每后端 I/O 统计信息报告（Bertrand Drouvot）<a href=\"https://postgr.es/c/9aea73fc6\">§</a> <a href=\"https://postgr.es/c/3f1db99bf\">§</a></p>\n<p>统计信息通过 <a href=\"/docs/18/monitoring-stats.html#PG-STAT-GET-BACKEND-IO\"><code>pg_stat_get_backend_io()</code></a> 访问。每后端 I/O 统计信息可以通过 <a href=\"/docs/18/monitoring-stats.html#MONITORING-STATS-FUNCS-TABLE\" title=\"表 27.36. 附加统计函数\"><code>pg_stat_reset_backend_stats()</code></a> 清除。</p>", "text": "添加每后端 I/O 统计信息报告（Bertrand Drouvot）§ § 统计信息通过 pg_stat_get_backend_io() 访问。每后端 I/O 统计信息可以通过 pg_stat_reset_backend_stats() 清除。", "title": "添加每后端 I/O 统计信息报告", "commits": ["3f1db99bf", "9aea73fc6"], "section": "服务器 / 监控", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-MONITORING", "source_hash": "9e1631c53568af593ee7bced63f3b724a0ba10e31a2fd9ed1c4025ad9a38fae7", "section_path": ["服务器", "监控"], "commit_groups": [["3f1db99bf"], ["9aea73fc6"]], "identity_text": "Add per-backend I/O statistics reporting (Bertrand Drouvot) The statistics are accessed via pg_stat_get_backend_io(). Per-backend I/O statistics can be cleared via pg_stat_reset_backend_stats().", "commit_aliases": ["3f1db99bf", "9aea73fc6"], "source_commits": ["3f1db99bf", "9aea73fc6"], "source_entry_id": "18.0/changes/034", "db_id": "17e6c76925cfbd574a9ae5f72831fa69", "patch_ids": ["5322e6c9c9cd04d7bf3ea661542be001", "a3ee8fafbb9811b8cda82e07e73283f9"], "statement_hash": "caae69fd5330c7bec4af68b84e21c7fc7e7a5d29f7fae594f65a92e7a22165c1", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-ae75973587e46d52", "cves": [], "html": "<p>添加 <a href=\"/docs/18/monitoring-stats.html#MONITORING-PG-STAT-IO-VIEW\" title=\"27.2.13. pg_stat_io\"><code>pg_stat_io</code></a> 列以字节报告 I/O 活动（Nazir Bilal Yavuz）<a href=\"https://postgr.es/c/f92c854cf\">§</a></p>\n<p>新列是 <code>read_bytes</code>、<code>write_bytes</code> 和 <code>extend_bytes</code>。<code>op_bytes</code> 列（始终等于 <a href=\"/docs/18/runtime-config-preset.html#GUC-BLOCK-SIZE\"><code>BLCKSZ</code></a>）已移除。</p>", "text": "添加 pg_stat_io 列以字节报告 I/O 活动（Nazir Bilal Yavuz）§ 新列是 read_bytes、write_bytes 和 extend_bytes。op_bytes 列（始终等于 BLCKSZ）已移除。", "title": "添加 pg_stat_io 列以字节报告 I/O 活动", "commits": ["f92c854cf"], "section": "服务器 / 监控", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-MONITORING", "source_hash": "97f3dadc86ebdf37ec36e4e556f7f81273a6d2f21452bea7c88377d1a3c561ae", "section_path": ["服务器", "监控"], "commit_groups": [["f92c854cf"]], "identity_text": "Add pg_stat_io columns to report I/O activity in bytes (Nazir Bilal Yavuz) The new columns are read_bytes, write_bytes, and extend_bytes. The op_bytes column, which always equaled BLCKSZ, has been removed.", "commit_aliases": ["f92c854cf"], "source_commits": ["f92c854cf"], "source_entry_id": "18.0/changes/035", "db_id": "aa7e8fb55aec7ab4c8224a57cb360b58", "patch_ids": ["a311e5aff8043d8480a656b9295d03b6"], "statement_hash": "2e8238782eda3f1431802fe0e4f5c982fab48d2ee3dd4a701ea3842da4484eb0", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-4957f414fc70c628", "cves": [], "html": "<p>向<code>pg_stat_io</code>添加<acronym>WAL</acronym> I/O 活动行（Nazir Bilal Yavuz, Bertrand Drouvot, Michael Paquier）<a href=\"https://postgr.es/c/a051e71e2\">§</a> <a href=\"https://postgr.es/c/4538bd3f1\">§</a> <a href=\"https://postgr.es/c/7f7f324eb\">§</a></p>\n<p>这包括<acronym>WAL</acronym>接收器活动以及此类写入的等待事件。</p>", "text": "向pg_stat_io添加WAL I/O 活动行（Nazir Bilal Yavuz, Bertrand Drouvot, Michael Paquier）§ § § 这包括WAL接收器活动以及此类写入的等待事件。", "title": "向pg_stat_io添加WAL I/O 活动行", "commits": ["4538bd3f1", "7f7f324eb", "a051e71e2"], "section": "服务器 / 监控", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-MONITORING", "source_hash": "1073fae0e1addc89e2446fa37b2acba1f913d9723e1c4429053ee3268c3f10de", "section_path": ["服务器", "监控"], "commit_groups": [["4538bd3f1"], ["7f7f324eb"], ["a051e71e2"]], "identity_text": "Add WAL I/O activity rows to pg_stat_io (Nazir Bilal Yavuz, Bertrand Drouvot, Michael Paquier) This includes WAL receiver activity and a wait event for such writes.", "commit_aliases": ["4538bd3f1", "7f7f324eb", "a051e71e2"], "source_commits": ["4538bd3f1", "7f7f324eb", "a051e71e2"], "source_entry_id": "18.0/changes/036", "db_id": "4e8a04b21c8fb51fcf294e0a57d8462f", "patch_ids": ["0abab9a405c724624eabd4509d63171e", "3d509df32980788958c9572c50adb4fd", "bef53f830f1ba9f3cda0cc8ff4ed91e6"], "statement_hash": "c5453439738584b897b3afc314105f41051f5aa95d24752734738916b65af097", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-878674061147da87", "cves": [], "html": "<p>更改服务器变量<a href=\"/docs/18/runtime-config-statistics.html#GUC-TRACK-WAL-IO-TIMING\">track_wal_io_timing</a>以控制在<code>pg_stat_io</code>而不是 <a href=\"/docs/18/monitoring-stats.html#PG-STAT-WAL-VIEW\" title=\"表 27.26. pg_stat_wal 视图\"><code>pg_stat_wal</code></a>中跟踪<acronym>WAL</acronym>计时（Bertrand Drouvot）<a href=\"https://postgr.es/c/6c349d83b\">§</a></p>", "text": "更改服务器变量track_wal_io_timing以控制在pg_stat_io而不是 pg_stat_wal中跟踪WAL计时（Bertrand Drouvot）§", "title": "更改服务器变量track_wal_io_timing以控制在pg_stat_io而不是 pg_stat_wal中跟踪WAL计时", "commits": ["6c349d83b"], "section": "服务器 / 监控", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-MONITORING", "source_hash": "d1231847afefe1d4d74417eeedaf338d2e73d369b33a3039d07def9f38206fd7", "section_path": ["服务器", "监控"], "commit_groups": [["6c349d83b"]], "identity_text": "Change server variable guc-track-wal-io-timing to control tracking WAL timing in pg_stat_io instead of pg_stat_wal (Bertrand Drouvot)", "commit_aliases": ["6c349d83b"], "source_commits": ["6c349d83b"], "source_entry_id": "18.0/changes/037", "db_id": "c17f05a65724a6039aa7e121e771aa10", "patch_ids": ["08fb6ea64d401512c5db7dbb4b9241af"], "statement_hash": "2f7ae7e2bcef0b17495e3f738ab823ef4fa3a7ff6d607334d8ca8141298e26c2", "relations": [{"rule": 2, "type": "related", "target": "d0fcc1877409f4702f061ff62c4a5fe9", "evidence": {"same_day": true, "patch_ids": ["08fb6ea64d401512c5db7dbb4b9241af"], "ambiguous_patch_ids": ["08fb6ea64d401512c5db7dbb4b9241af"]}}], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": [{"db_id": "d0fcc1877409f4702f061ff62c4a5fe9", "kind": "related", "version": "18.0", "label": "18.0", "title": "从 pg_stat_wal 中移除读/同步列", "evidence": {"same_day": true, "patch_ids": ["08fb6ea64d401512c5db7dbb4b9241af"], "ambiguous_patch_ids": ["08fb6ea64d401512c5db7dbb4b9241af"]}, "url": "/docs/compare/?release=18.0#18.0-ff8081b93cf51dc7", "source_url": "/docs/release/18.0/#RELEASE-18-MONITORING"}]}, {"id": "18.0-ff8081b93cf51dc7", "cves": [], "html": "<p>从 <code>pg_stat_wal</code> 中移除读/同步列（Bertrand Drouvot）<a href=\"https://postgr.es/c/2421e9a51\">§</a> <a href=\"https://postgr.es/c/6c349d83b\">§</a></p>\n<p>这会移除列 <code>wal_write</code>、<code>wal_sync</code>、<code>wal_write_time</code> 和 <code>wal_sync_time</code>。</p>", "text": "从 pg_stat_wal 中移除读/同步列（Bertrand Drouvot）§ § 这会移除列 wal_write、wal_sync、wal_write_time 和 wal_sync_time。", "title": "从 pg_stat_wal 中移除读/同步列", "commits": ["2421e9a51", "6c349d83b"], "section": "服务器 / 监控", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-MONITORING", "source_hash": "bdbb6b727ae2ec12ad3bc55377abbd441295c2aa83487fdcb3a37f0805a08762", "section_path": ["服务器", "监控"], "commit_groups": [["2421e9a51"], ["6c349d83b"]], "identity_text": "Remove read/sync columns from pg_stat_wal (Bertrand Drouvot) This removes columns wal_write, wal_sync, wal_write_time, and wal_sync_time.", "commit_aliases": ["2421e9a51", "6c349d83b"], "source_commits": ["2421e9a51", "6c349d83b"], "source_entry_id": "18.0/changes/038", "db_id": "d0fcc1877409f4702f061ff62c4a5fe9", "patch_ids": ["08fb6ea64d401512c5db7dbb4b9241af", "234c05d3f38c109ec2b38a93d6ac0806"], "statement_hash": "7b33f152d6e61381fe6be52ffbdfe42a5da00b89105becd3eb6f9de24b2b319c", "relations": [{"rule": 2, "type": "related", "target": "c17f05a65724a6039aa7e121e771aa10", "evidence": {"same_day": true, "patch_ids": ["08fb6ea64d401512c5db7dbb4b9241af"], "ambiguous_patch_ids": ["08fb6ea64d401512c5db7dbb4b9241af"]}}], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": [{"db_id": "c17f05a65724a6039aa7e121e771aa10", "kind": "related", "version": "18.0", "label": "18.0", "title": "更改服务器变量track_wal_io_timing以控制在pg_stat_io而不是 pg_stat_wal中跟踪WAL计时", "evidence": {"same_day": true, "patch_ids": ["08fb6ea64d401512c5db7dbb4b9241af"], "ambiguous_patch_ids": ["08fb6ea64d401512c5db7dbb4b9241af"]}, "url": "/docs/compare/?release=18.0#18.0-878674061147da87", "source_url": "/docs/release/18.0/#RELEASE-18-MONITORING"}]}, {"id": "18.0-d82953a33415442c", "cves": [], "html": "<p>添加函数 <a href=\"/docs/18/monitoring-stats.html#PG-STAT-GET-BACKEND-WAL\"><code>pg_stat_get_backend_wal()</code></a> 以返回每后端<acronym>WAL</acronym>统计信息（Bertrand Drouvot）<a href=\"https://postgr.es/c/76def4cdd\">§</a></p>\n<p>每后端<acronym>WAL</acronym>统计信息可以通过 <a href=\"/docs/18/monitoring-stats.html#MONITORING-STATS-FUNCS-TABLE\" title=\"表 27.36. 附加统计函数\"><code>pg_stat_reset_backend_stats()</code></a> 清除。</p>", "text": "添加函数 pg_stat_get_backend_wal() 以返回每后端WAL统计信息（Bertrand Drouvot）§ 每后端WAL统计信息可以通过 pg_stat_reset_backend_stats() 清除。", "title": "添加函数 pg_stat_get_backend_wal() 以返回每后端WAL统计信息", "commits": ["76def4cdd"], "section": "服务器 / 监控", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-MONITORING", "source_hash": "242f296d8a20316ed2428d9cc9afa62a44163367fa7e0849e047ee688cfea11f", "section_path": ["服务器", "监控"], "commit_groups": [["76def4cdd"]], "identity_text": "Add function pg_stat_get_backend_wal() to return per-backend WAL statistics (Bertrand Drouvot) Per-backend WAL statistics can be cleared via pg_stat_reset_backend_stats().", "commit_aliases": ["76def4cdd"], "source_commits": ["76def4cdd"], "source_entry_id": "18.0/changes/039", "db_id": "062885cb962fb66b290bfca5b7d287a1", "patch_ids": ["4e24f0fbea0bfb8adf57d60deed85cbe"], "statement_hash": "b74d0e38b049943fe62ccf7336ca21fd4a9fd9d020f9b94347272b09da3db5af", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-989add87f06d6b5a", "cves": [], "html": "<p>添加函数 <a href=\"/docs/18/functions-admin.html#FUNCTIONS-ADMIN-GENFILE-TABLE\" title=\"表 9.108. 通用文件访问函数\"><code>pg_ls_summariesdir()</code></a> 以专门列出 <a href=\"/docs/18/storage-file-layout.html\" title=\"66.1. 数据库文件布局\"><code>PGDATA</code></a>/<a href=\"/docs/18/runtime-config-wal.html#GUC-WAL-SUMMARY-KEEP-TIME\"><code>pg_wal/summaries</code></a> 的内容（Yushi Ogiwara）<a href=\"https://postgr.es/c/4e1fad378\">§</a></p>", "text": "添加函数 pg_ls_summariesdir() 以专门列出 PGDATA/pg_wal/summaries 的内容（Yushi Ogiwara）§", "title": "添加函数 pg_ls_summariesdir() 以专门列出 PGDATA/pg_wal/summaries 的内容", "commits": ["4e1fad378"], "section": "服务器 / 监控", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-MONITORING", "source_hash": "d6ccff9c03df46b05091a267c2cb8b7b5535dedef74c43578dfaf0e9d97bb59f", "section_path": ["服务器", "监控"], "commit_groups": [["4e1fad378"]], "identity_text": "Add function pg_ls_summariesdir() to specifically list the contents of PGDATA/pg_wal/summaries (Yushi Ogiwara)", "commit_aliases": ["4e1fad378"], "source_commits": ["4e1fad378"], "source_entry_id": "18.0/changes/040", "db_id": "b9a68e06cac60dffdbd6bf6eb05a794e", "patch_ids": ["9fe64e076fe5fc2c95c8fa5ba6f057ef"], "statement_hash": "09d2ba0760f22482dda1728ad727396c99942f333bb0a66ba64ce98dfb4017c7", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-bc1d7e29a3f15bc3", "cves": [], "html": "<p>添加列 <a href=\"/docs/18/monitoring-stats.html#MONITORING-PG-STAT-CHECKPOINTER-VIEW\" title=\"27.2.15. pg_stat_checkpointer\"><code>pg_stat_checkpointer</code></a>.<code>num_done</code> 以报告已完成的检查点数量（Anton A. Melnikov）<a href=\"https://postgr.es/c/559efce1d\">§</a></p>\n<p>列 <code>num_timed</code> 和 <code>num_requested</code> 同时统计已完成和已跳过的检查点。</p>", "text": "添加列 pg_stat_checkpointer.num_done 以报告已完成的检查点数量（Anton A. Melnikov）§ 列 num_timed 和 num_requested 同时统计已完成和已跳过的检查点。", "title": "添加列 pg_stat_checkpointer.num_done 以报告已完成的检查点数量", "commits": ["559efce1d"], "section": "服务器 / 监控", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-MONITORING", "source_hash": "b0f52803f5eace4dd8a6f300af475cd3f6d7567d9e52472b06a815ec78abd658", "section_path": ["服务器", "监控"], "commit_groups": [["559efce1d"]], "identity_text": "Add column pg_stat_checkpointer.num_done to report the number of completed checkpoints (Anton A. Melnikov) Columns num_timed and num_requested count both completed and skipped checkpoints.", "commit_aliases": ["559efce1d"], "source_commits": ["559efce1d"], "source_entry_id": "18.0/changes/041", "db_id": "066d4a943702f3b2e401f4e7aae7deab", "patch_ids": ["c949e573ffaba7a2a8d27d7162de1f0b"], "statement_hash": "68a8924f2cff332cb007ffe69e69b6126cb2165fc11751dbddcea61dcddacc3a", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-e09a699e25c96cec", "cves": [], "html": "<p>添加列 <code>pg_stat_checkpointer</code>.<code>slru_written</code> 以报告<acronym>SLRU</acronym>写入的缓冲区（Nitin Jadhav）<a href=\"https://postgr.es/c/17cc5f666\">§</a></p>\n<p>此外，修改检查点服务器日志消息以报告单独的共享缓冲区和<acronym>SLRU</acronym>缓冲区值。</p>", "text": "添加列 pg_stat_checkpointer.slru_written 以报告SLRU写入的缓冲区（Nitin Jadhav）§ 此外，修改检查点服务器日志消息以报告单独的共享缓冲区和SLRU缓冲区值。", "title": "添加列 pg_stat_checkpointer.slru_written 以报告SLRU写入的缓冲区", "commits": ["17cc5f666"], "section": "服务器 / 监控", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-MONITORING", "source_hash": "e3cd14d094f854569dcf0a7ec616f689d1baac8a113db529f691cfd28c517c08", "section_path": ["服务器", "监控"], "commit_groups": [["17cc5f666"]], "identity_text": "Add column pg_stat_checkpointer.slru_written to report SLRU buffers written (Nitin Jadhav) Also, modify the checkpoint server log message to report separate shared buffer and SLRU buffer values.", "commit_aliases": ["17cc5f666"], "source_commits": ["17cc5f666"], "source_entry_id": "18.0/changes/042", "db_id": "c727bac201403ee5787ce91519d78b8f", "patch_ids": ["d6837b0ccfa7bed8d3ef332bff20c386"], "statement_hash": "d75f1cff8692d2b125311380a9eb939eed72a5eec22bed4041dad77e8aed16e7", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-830bba3026f852b8", "cves": [], "html": "<p>添加列到 <a href=\"/docs/18/monitoring-stats.html#MONITORING-PG-STAT-DATABASE-VIEW\" title=\"27.2.17. pg_stat_database\"><code>pg_stat_database</code></a> 以报告并行工作者活动（Benoit Lobréau）<a href=\"https://postgr.es/c/e7a9496de\">§</a></p>\n<p>新列是 <code>parallel_workers_to_launch</code> 和 <code>parallel_workers_launched</code>。</p>", "text": "添加列到 pg_stat_database 以报告并行工作者活动（Benoit Lobréau）§ 新列是 parallel_workers_to_launch 和 parallel_workers_launched。", "title": "添加列到 pg_stat_database 以报告并行工作者活动", "commits": ["e7a9496de"], "section": "服务器 / 监控", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-MONITORING", "source_hash": "eb7a9a2fcda5d6b360e1516a8ecfca3e10034c0773a50d5480dd72cbbe41a363", "section_path": ["服务器", "监控"], "commit_groups": [["e7a9496de"]], "identity_text": "Add columns to pg_stat_database to report parallel worker activity (Benoit Lobréau) The new columns are parallel_workers_to_launch and parallel_workers_launched.", "commit_aliases": ["e7a9496de"], "source_commits": ["e7a9496de"], "source_entry_id": "18.0/changes/043", "db_id": "dfce089734ba453a8b429200599d48f4", "patch_ids": ["537ec52eb436dc276f2922a0463b3fde"], "statement_hash": "2a16728a2a22066209d758116c71b02d570e00dc834d54006e01a8747ab449a3", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-73696288ba5ce9c6", "cves": [], "html": "<p>让常量列表的<a href=\"/docs/18/runtime-config-statistics.html#GUC-COMPUTE-QUERY-ID\">查询 ID</a> 计算只考虑第一个和最后一个常量（Dmitry Dolgov, Sami Imseih）<a href=\"https://postgr.es/c/62d712ecf\">§</a> <a href=\"https://postgr.es/c/9fbd53dea\">§</a> <a href=\"https://postgr.es/c/c2da1a5d6\">§</a></p>\n<p>查询规范化由<a href=\"/docs/18/pgstatstatements.html\" title=\"F.32. pg_stat_statements — 跟踪 SQL 计划和执行统计信息\">pg_stat_statements</a>使用。</p>", "text": "让常量列表的查询 ID 计算只考虑第一个和最后一个常量（Dmitry Dolgov, Sami Imseih）§ § § 查询规范化由pg_stat_statements使用。", "title": "让常量列表的查询 ID 计算只考虑第一个和最后一个常量", "commits": ["62d712ecf", "9fbd53dea", "c2da1a5d6"], "section": "服务器 / 监控", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-MONITORING", "source_hash": "2cf9373f5b7eddab9fd5ff38dada6cd3257b8f28a837aed595560e11f200a37d", "section_path": ["服务器", "监控"], "commit_groups": [["62d712ecf"], ["9fbd53dea"], ["c2da1a5d6"]], "identity_text": "Have query id computation of constant lists consider only the first and last constants (Dmitry Dolgov, Sami Imseih) Jumbling is used by pgstatstatements .", "commit_aliases": ["62d712ecf", "9fbd53dea", "c2da1a5d6"], "source_commits": ["62d712ecf", "9fbd53dea", "c2da1a5d6"], "source_entry_id": "18.0/changes/044", "db_id": "602391884e0f9956bc8189e3df9fa46c", "patch_ids": ["5788e402f9a32d0839d25eda04d2e777", "892e3023e3eb75d6d37898823ef6e17d", "b602290e314da4eb2c893c183d542ea2"], "statement_hash": "15594176dafd96eadc8774ee3c07b03bfac584e26aab1114deaf08975c0d6fa7", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-628577c78133fcaf", "cves": [], "html": "<p>调整查询 ID 计算以将使用相同关系名称的查询组合在一起（Michael Paquier, Sami Imseih）<a href=\"https://postgr.es/c/787514b30\">§</a></p>\n<p>即使不同模式中的表具有不同的列名，这也是成立的。</p>", "text": "调整查询 ID 计算以将使用相同关系名称的查询组合在一起（Michael Paquier, Sami Imseih）§ 即使不同模式中的表具有不同的列名，这也是成立的。", "title": "调整查询 ID 计算以将使用相同关系名称的查询组合在一起", "commits": ["787514b30"], "section": "服务器 / 监控", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-MONITORING", "source_hash": "09abeab4f5099639b5d52aa31679edc914c3b3c20594c0d395bf45bf491d5e09", "section_path": ["服务器", "监控"], "commit_groups": [["787514b30"]], "identity_text": "Adjust query id computations to group together queries using the same relation name (Michael Paquier, Sami Imseih) This is true even if the tables in different schemas have different column names.", "commit_aliases": ["787514b30"], "source_commits": ["787514b30"], "source_entry_id": "18.0/changes/045", "db_id": "b3b7d2a11d4d31f38f5974d4bc93b3e3", "patch_ids": ["79273c32213aef68723d02e288664812"], "statement_hash": "4cd23dc47a6dcb75efe88b4674803607d5b63bfc8d8855e3822b801ecc934093", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-1c87b8097e5f44a6", "cves": [], "html": "<p>添加列 <a href=\"/docs/18/view-pg-backend-memory-contexts.html\" title=\"53.5. pg_backend_memory_contexts\"><code>pg_backend_memory_contexts</code></a>.<code>type</code> 以报告内存上下文的类型（David Rowley）<a href=\"https://postgr.es/c/12227a1d5\">§</a></p>", "text": "添加列 pg_backend_memory_contexts.type 以报告内存上下文的类型（David Rowley）§", "title": "添加列 pg_backend_memory_contexts.type 以报告内存上下文的类型", "commits": ["12227a1d5"], "section": "服务器 / 监控", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-MONITORING", "source_hash": "15d29754ae427a052443f1a6626960cf94ba6bda77f6df23ffbece3059a2aaf5", "section_path": ["服务器", "监控"], "commit_groups": [["12227a1d5"]], "identity_text": "Add column pg_backend_memory_contexts.type to report the type of memory context (David Rowley)", "commit_aliases": ["12227a1d5"], "source_commits": ["12227a1d5"], "source_entry_id": "18.0/changes/046", "db_id": "1fd42df52ed332c3d9d9f6ae19b16420", "patch_ids": ["3977b1d7e6d02dc670220e1e3b219267"], "statement_hash": "24fbd68903b1f42423f271865f961e17ce5f1d8baa7a044061a3e8d64d131bfc", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-dab03b5c77d56e2b", "cves": [], "html": "<p>添加列 <code>pg_backend_memory_contexts</code>.<code>path</code> 以显示内存上下文父级（Melih Mutlu）<a href=\"https://postgr.es/c/32d3ed816\">§</a></p>", "text": "添加列 pg_backend_memory_contexts.path 以显示内存上下文父级（Melih Mutlu）§", "title": "添加列 pg_backend_memory_contexts.path 以显示内存上下文父级", "commits": ["32d3ed816"], "section": "服务器 / 监控", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-MONITORING", "source_hash": "fe70390be48a7656a5a036d23b8695f7dd1cb00476e46001e3b1ed259d1548af", "section_path": ["服务器", "监控"], "commit_groups": [["32d3ed816"]], "identity_text": "Add column pg_backend_memory_contexts.path to show memory context parents (Melih Mutlu)", "commit_aliases": ["32d3ed816"], "source_commits": ["32d3ed816"], "source_entry_id": "18.0/changes/047", "db_id": "7ed5d279df474d7ce518a2cd605d091d", "patch_ids": ["eaa8db2e49e44f9880c123bf159cab42"], "statement_hash": "ffa15ce62078a744cf44121cfda2949c530bd7fb777e4900033a28988556de13", "relations": [{"rule": 2, "type": "related", "target": "b8c57d935d8b183f9ee20e7477f90abd", "evidence": {"same_day": true, "patch_ids": ["eaa8db2e49e44f9880c123bf159cab42"]}}], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": [{"db_id": "b8c57d935d8b183f9ee20e7477f90abd", "kind": "related", "version": "18.0", "label": "18.0", "title": "将 pg_backend_memory_contexts.level 和 pg_log_backend_memory_contexts() 更改为从1开始", "evidence": {"same_day": true, "patch_ids": ["eaa8db2e49e44f9880c123bf159cab42"]}, "url": "/docs/compare/?release=18.0#18.0-3bddcb1c02f74659", "source_url": "/docs/release/18.0/#RELEASE-18-MIGRATION"}]}, {"id": "18.0-6f61e3a5ab4afdb1", "cves": [], "html": "<p>添加函数 <a href=\"/docs/18/functions-info.html#FUNCTIONS-INFO-OBJECT-TABLE\" title=\"表 9.81. 对象信息和寻址函数\"><code>pg_get_acl()</code></a> 以检索数据库访问控制详细信息（Joel Jacobson）<a href=\"https://postgr.es/c/4564f1ceb\">§</a> <a href=\"https://postgr.es/c/d898665bf\">§</a></p>", "text": "添加函数 pg_get_acl() 以检索数据库访问控制详细信息（Joel Jacobson）§ §", "title": "添加函数 pg_get_acl() 以检索数据库访问控制详细信息", "commits": ["4564f1ceb", "d898665bf"], "section": "服务器 / 权限", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-PRIVILEGES", "source_hash": "39a0e54cf10496289f448e8b5cf7a83ad0f4a1dad5d8b88bc38a045012595af3", "section_path": ["服务器", "权限"], "commit_groups": [["4564f1ceb"], ["d898665bf"]], "identity_text": "Add function pg_get_acl() to retrieve database access control details (Joel Jacobson)", "commit_aliases": ["4564f1ceb", "d898665bf"], "source_commits": ["4564f1ceb", "d898665bf"], "source_entry_id": "18.0/changes/048", "db_id": "ad850851b5569f2cacc651752f08d04f", "patch_ids": ["4dc0424113c1959079f3a8cbcd6d075c", "6f98238a578fbdf3c4f8b2f8442a9443"], "statement_hash": "b5738fc376219c85ab240a4d03d8c61a19c7ef3218d218a2f99f961cfa02ae1d", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-e94bdb839a1aef83", "cves": [], "html": "<p>添加函数 <a href=\"/docs/18/functions-info.html#FUNCTIONS-INFO-ACCESS-TABLE\" title=\"表 9.72. 访问权限查询函数\"><code>has_largeobject_privilege()</code></a> 以检查大型对象权限（Yugo Nagata）<a href=\"https://postgr.es/c/4eada203a\">§</a></p>", "text": "添加函数 has_largeobject_privilege() 以检查大型对象权限（Yugo Nagata）§", "title": "添加函数 has_largeobject_privilege() 以检查大型对象权限", "commits": ["4eada203a"], "section": "服务器 / 权限", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-PRIVILEGES", "source_hash": "bbfbf3c3ece75a40f49e6a874bdb5b72ba58a27f32a5ea35fd4d4c1eac892598", "section_path": ["服务器", "权限"], "commit_groups": [["4eada203a"]], "identity_text": "Add function has_largeobject_privilege() to check large object privileges (Yugo Nagata)", "commit_aliases": ["4eada203a"], "source_commits": ["4eada203a"], "source_entry_id": "18.0/changes/049", "db_id": "20e548031e0fa774a44ef2ccda8b5768", "patch_ids": ["692c244b77bff2a8f3509d0f3f788fb5"], "statement_hash": "31f9f08133b37f73a56f5218942b92e031210ec05cba9a6cb6d49d942bfbac20", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-5604ffb99ab25c2e", "cves": [], "html": "<p>允许<a href=\"/docs/18/sql-alterdefaultprivileges.html\" title=\"ALTER DEFAULT PRIVILEGES\"><span>ALTER DEFAULT PRIVILEGES</span></a>定义大型对象默认权限（Takatsuka Haruka, Yugo Nagata, Laurenz Albe）<a href=\"https://postgr.es/c/0d6c47766\">§</a></p>", "text": "允许ALTER DEFAULT PRIVILEGES定义大型对象默认权限（Takatsuka Haruka, Yugo Nagata, Laurenz Albe）§", "title": "允许ALTER DEFAULT PRIVILEGES定义大型对象默认权限", "commits": ["0d6c47766"], "section": "服务器 / 权限", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-PRIVILEGES", "source_hash": "4c91df429994b748ca8f11482114f697801f5b8c6c8b714ebf14f04619bf4653", "section_path": ["服务器", "权限"], "commit_groups": [["0d6c47766"]], "identity_text": "Allow sql-alterdefaultprivileges to define large object default privileges (Takatsuka Haruka, Yugo Nagata, Laurenz Albe)", "commit_aliases": ["0d6c47766"], "source_commits": ["0d6c47766"], "source_entry_id": "18.0/changes/050", "db_id": "2115b59fe3ecb850d34420db9087d6ee", "patch_ids": ["8bd885a988ec8e858d73081f630fd33d"], "statement_hash": "91512a6ced76577a52c71c7f1692309e60bb18dc1ce44331c056f04fd50fb429", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-85bb8a1c74259843", "cves": [], "html": "<p>添加预定义角色 <a href=\"/docs/18/predefined-roles.html\" title=\"21.5. 预定义角色\"><code>pg_signal_autovacuum_worker</code></a>（Kirill Reshke）<a href=\"https://postgr.es/c/ccd38024b\">§</a></p>\n<p>这允许向自动清理工作者发送信号。</p>", "text": "添加预定义角色 pg_signal_autovacuum_worker（Kirill Reshke）§ 这允许向自动清理工作者发送信号。", "title": "添加预定义角色 pg_signal_autovacuum_worker", "commits": ["ccd38024b"], "section": "服务器 / 权限", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-PRIVILEGES", "source_hash": "bfdef5e379e1781509025a5997d7b24eee477202a1c63fdf10ed414f0ba7b3e4", "section_path": ["服务器", "权限"], "commit_groups": [["ccd38024b"]], "identity_text": "Add predefined role pg_signal_autovacuum_worker (Kirill Reshke) This allows sending signals to autovacuum workers.", "commit_aliases": ["ccd38024b"], "source_commits": ["ccd38024b"], "source_entry_id": "18.0/changes/051", "db_id": "20b3f6628c87707ad4d0eb8fd8768e0a", "patch_ids": ["a254744dab5b2721c5babac8740a351d"], "statement_hash": "c15408fea664f43b416b4b112fe35a5f8e4c76546718ab374fef03190e47327d", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-5ff741495e245c7b", "cves": [], "html": "<p>添加对 <a href=\"/docs/18/auth-oauth.html\" title=\"20.15. OAuth 授权/认证\">OAuth 认证方法</a>的支持（Jacob Champion, Daniel Gustafsson, Thomas Munro）<a href=\"https://postgr.es/c/b3f0be788\">§</a></p>\n<p>这为 <a href=\"/docs/18/auth-pg-hba-conf.html\" title=\"20.1. pg_hba.conf 文件\"><code>pg_hba.conf</code></a> 添加了 <code>oauth</code> 认证方法、libpq OAuth 选项、一个用于加载令牌验证库的服务器变量<a href=\"/docs/18/runtime-config-connection.html#GUC-OAUTH-VALIDATOR-LIBRARIES\">oauth_validator_libraries</a>，以及一个 <a href=\"/docs/18/install-make.html#CONFIGURE-OPTION-WITH-LIBCURL\"><code>--with-libcurl</code></a> 配置标志，用于添加所需的编译时库。</p>", "text": "添加对 OAuth 认证方法的支持（Jacob Champion, Daniel Gustafsson, Thomas Munro）§ 这为 pg_hba.conf 添加了 oauth 认证方法、libpq OAuth 选项、一个用于加载令牌验证库的服务器变量oauth_validator_libraries，以及一个 --with-libcurl 配置标志，用于添加所需的编译时库。", "title": "添加对 OAuth 认证方法的支持", "commits": ["b3f0be788"], "section": "服务器 / 服务器配置", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-SERVER-CONFIG", "source_hash": "1ac9338858fd8a7a47d62e75d679e10a0eb1bfabc9a52d1e7db8098aa7bd9e0d", "section_path": ["服务器", "服务器配置"], "commit_groups": [["b3f0be788"]], "identity_text": "Add support for the OAuth authentication method (Jacob Champion, Daniel Gustafsson, Thomas Munro) This adds an oauth authentication method to pg_hba.conf, libpq OAuth options, a server variable guc-oauth-validator-libraries to load token validation libraries, and a configure flag --with-libcurl to add the required compile-time libraries.", "commit_aliases": ["b3f0be788"], "source_commits": ["b3f0be788"], "source_entry_id": "18.0/changes/052", "db_id": "746baa07cb5e517064dca7ea3454e3b0", "patch_ids": ["e84eb2fdc1830185f25750762e1cc528"], "statement_hash": "07ddc49607980c97519f77163181f14568e19bbe0b1e0dc01b218b1f6a71074d", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-6419f0734c073f35", "cves": [], "html": "<p>添加服务器变量<a href=\"/docs/18/runtime-config-connection.html#GUC-SSL-TLS13-CIPHERS\">ssl_tls13_ciphers</a>以允许指定多个以冒号分隔的 TLSv1.3 密码套件（Erica Zhang, Daniel Gustafsson）<a href=\"https://postgr.es/c/45188c2ea\">§</a></p>", "text": "添加服务器变量ssl_tls13_ciphers以允许指定多个以冒号分隔的 TLSv1.3 密码套件（Erica Zhang, Daniel Gustafsson）§", "title": "添加服务器变量ssl_tls13_ciphers以允许指定多个以冒号分隔的 TLSv1.3 密码套件", "commits": ["45188c2ea"], "section": "服务器 / 服务器配置", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-SERVER-CONFIG", "source_hash": "5d256d99caaf5046100077cd472e922ae375d82b0f5b45bcfbac3a79833692b5", "section_path": ["服务器", "服务器配置"], "commit_groups": [["45188c2ea"]], "identity_text": "Add server variable guc-ssl-tls13-ciphers to allow specification of multiple colon-separated TLSv1.3 cipher suites (Erica Zhang, Daniel Gustafsson)", "commit_aliases": ["45188c2ea"], "source_commits": ["45188c2ea"], "source_entry_id": "18.0/changes/053", "db_id": "13b081fb2e1030e7c402c99be84d674e", "patch_ids": ["b918cd02542986f670ea5e4ccce7bed8"], "statement_hash": "ffe4b310bcfc2b812bd9ca43729c6e6988676e615fa96ac501930ef3cd998db9", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-065524e3b98547b4", "cves": [], "html": "<p>将服务器变量<a href=\"/docs/18/runtime-config-connection.html#GUC-SSL-GROUPS\">ssl_groups</a>的默认值更改为包含椭圆曲线 X25519（Daniel Gustafsson, Jacob Champion）<a href=\"https://postgr.es/c/daa02c6bd\">§</a></p>", "text": "将服务器变量ssl_groups的默认值更改为包含椭圆曲线 X25519（Daniel Gustafsson, Jacob Champion）§", "title": "将服务器变量ssl_groups的默认值更改为包含椭圆曲线 X25519", "commits": ["daa02c6bd"], "section": "服务器 / 服务器配置", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-SERVER-CONFIG", "source_hash": "769ef4c7a0e583d2f4cb847ab408143dd1d5d440e558c0b751debd0c43265451", "section_path": ["服务器", "服务器配置"], "commit_groups": [["daa02c6bd"]], "identity_text": "Change server variable guc-ssl-groups 's default to include elliptic curve X25519 (Daniel Gustafsson, Jacob Champion)", "commit_aliases": ["daa02c6bd"], "source_commits": ["daa02c6bd"], "source_entry_id": "18.0/changes/054", "db_id": "0ff6b951577e789ccfcf50c5fdd16250", "patch_ids": ["b6419e2ab5092340bdb51279a882c575"], "statement_hash": "79f1b0ec5dbbc9c41cfae0c653c6b8af2978a2d458009ec866463efb3c895406", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-e389dbfe8645ccad", "cves": [], "html": "<p>将服务器变量 <code>ssl_ecdh_curve</code> 重命名为<a href=\"/docs/18/runtime-config-connection.html#GUC-SSL-GROUPS\">ssl_groups</a>，并允许指定多个以冒号分隔的<acronym>ECDH</acronym>曲线（Erica Zhang, Daniel Gustafsson）<a href=\"https://postgr.es/c/3d1ef3a15\">§</a></p>\n<p>以前的名称仍然有效。</p>", "text": "将服务器变量 ssl_ecdh_curve 重命名为ssl_groups，并允许指定多个以冒号分隔的ECDH曲线（Erica Zhang, Daniel Gustafsson）§ 以前的名称仍然有效。", "title": "将服务器变量 ssl_ecdh_curve 重命名为ssl_groups，并允许指定多个以冒号分隔的ECDH曲线", "commits": ["3d1ef3a15"], "section": "服务器 / 服务器配置", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-SERVER-CONFIG", "source_hash": "69fc229fb451ba3569f10661789b08fd931063d5102c111408c2c761550da092", "section_path": ["服务器", "服务器配置"], "commit_groups": [["3d1ef3a15"]], "identity_text": "Rename server variable ssl_ecdh_curve to guc-ssl-groups and allow multiple colon-separated ECDH curves to be specified (Erica Zhang, Daniel Gustafsson) The previous name still works.", "commit_aliases": ["3d1ef3a15"], "source_commits": ["3d1ef3a15"], "source_entry_id": "18.0/changes/055", "db_id": "96a81164afdac0bf4ed0486ab950b9cc", "patch_ids": ["c2561d4875ae281fdaea78d9e93eaee2"], "statement_hash": "af282a32e71f1303e38dd9f838dce742a3ea5e5033c66e5a334acc730ab67445", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-8331e2d5ef9a11f8", "cves": [], "html": "<p>将<a href=\"/docs/18/functions-admin.html#FUNCTIONS-ADMIN-SIGNAL-TABLE\" title=\"表 9.96. 服务器信号函数\">取消请求密钥</a>设为 256 位（Heikki Linnakangas, Jelte Fennema-Nio）<a href=\"https://postgr.es/c/a460251f0\">§</a> <a href=\"https://postgr.es/c/9d9b9d46f\">§</a></p>\n<p>这只有在服务器和客户端支持本版本中引入的线协议版本3.2时才可能实现。</p>", "text": "将取消请求密钥设为 256 位（Heikki Linnakangas, Jelte Fennema-Nio）§ § 这只有在服务器和客户端支持本版本中引入的线协议版本3.2时才可能实现。", "title": "将取消请求密钥设为 256 位", "commits": ["9d9b9d46f", "a460251f0"], "section": "服务器 / 服务器配置", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-SERVER-CONFIG", "source_hash": "4da7c6464ec24190e054671959a89c1342b41fd9c2df30a579e2cb4c8e608823", "section_path": ["服务器", "服务器配置"], "commit_groups": [["9d9b9d46f"], ["a460251f0"]], "identity_text": "Make cancel request keys 256 bits (Heikki Linnakangas, Jelte Fennema-Nio) This is only possible when the server and client support wire protocol version 3.2, introduced in this release.", "commit_aliases": ["9d9b9d46f", "a460251f0"], "source_commits": ["9d9b9d46f", "a460251f0"], "source_entry_id": "18.0/changes/056", "db_id": "d4bdcc752134e88e3b6f69045f91e32f", "patch_ids": ["3374f7d4348f979a16fb3f835b1434dd", "78aeb882063c4d9c0113cb769f6f63c8"], "statement_hash": "bf970fd6a3a870ec104cf3173699ac7821ccb4e686bb18b2d9050cfee203c953", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-e640f1a488be668b", "cves": [], "html": "<p>添加服务器变量<a href=\"/docs/18/runtime-config-vacuum.html#GUC-AUTOVACUUM-WORKER-SLOTS\">autovacuum_worker_slots</a>以指定后台工作者的最大数量（Nathan Bossart）<a href=\"https://postgr.es/c/c758119e5\">§</a></p>\n<p>设置此变量后，<a href=\"/docs/18/runtime-config-vacuum.html#GUC-AUTOVACUUM-MAX-WORKERS\">autovacuum_max_workers</a>可以在运行时调整到此最大值，而无需重新启动服务器。</p>", "text": "添加服务器变量autovacuum_worker_slots以指定后台工作者的最大数量（Nathan Bossart）§ 设置此变量后，autovacuum_max_workers可以在运行时调整到此最大值，而无需重新启动服务器。", "title": "添加服务器变量autovacuum_worker_slots以指定后台工作者的最大数量", "commits": ["c758119e5"], "section": "服务器 / 服务器配置", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-SERVER-CONFIG", "source_hash": "cccf9f941c4560c33011e635dcab0b9c28ae26749ffd1608f7169c4ecf499acc", "section_path": ["服务器", "服务器配置"], "commit_groups": [["c758119e5"]], "identity_text": "Add server variable guc-autovacuum-worker-slots to specify the maximum number of background workers (Nathan Bossart) With this variable set, guc-autovacuum-max-workers can be adjusted at runtime up to this maximum without a server restart.", "commit_aliases": ["c758119e5"], "source_commits": ["c758119e5"], "source_entry_id": "18.0/changes/057", "db_id": "14193c2c6216dac54ee9f03d74597315", "patch_ids": ["17efa2578b6fdfca54d1895a47b5d85c"], "statement_hash": "2340cf9dd0c8914c3ae78fcca1d6cb8a3eec267275fe98352062b37d256a1302", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-42921b23820eecfb", "cves": [], "html": "<p>允许指定触发 <a href=\"/docs/18/routine-vacuuming.html#AUTOVACUUM\" title=\"24.1.6. 自动清理守护进程\">autovacuum</a> 的死元组的固定数量（Nathan Bossart, Frédéric Yhuel）<a href=\"https://postgr.es/c/306dc520b\">§</a></p>\n<p>服务器变量是<a href=\"/docs/18/runtime-config-vacuum.html#GUC-AUTOVACUUM-VACUUM-MAX-THRESHOLD\">autovacuum_vacuum_max_threshold</a>。百分比仍用于触发。</p>", "text": "允许指定触发 autovacuum 的死元组的固定数量（Nathan Bossart, Frédéric Yhuel）§ 服务器变量是autovacuum_vacuum_max_threshold。百分比仍用于触发。", "title": "允许指定触发 autovacuum 的死元组的固定数量", "commits": ["306dc520b"], "section": "服务器 / 服务器配置", "category": "bugfix", "source_url": "/docs/release/18.0/#RELEASE-18-SERVER-CONFIG", "source_hash": "fd553683edfb9d3b450f0a00d5e58d81232bb84ff144ad688ad048e97b11922e", "section_path": ["服务器", "服务器配置"], "commit_groups": [["306dc520b"]], "identity_text": "Allow specification of the fixed number of dead tuples that will trigger an autovacuum (Nathan Bossart, Frédéric Yhuel) The server variable is guc-autovacuum-vacuum-max-threshold . Percentages are still used for triggering.", "commit_aliases": ["306dc520b"], "source_commits": ["306dc520b"], "source_entry_id": "18.0/changes/058", "db_id": "c6c8d0da14fc739954f67e4c3e8e297c", "patch_ids": ["fede0a2ed06d94a30aac6de8675efbce"], "statement_hash": "f26aed72e786336ffb0181c576796c1b0d66b6c0c79fa7ab8337a9deb9a04a70", "relations": [], "version": "18.0", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-3bae7a931bd83da1", "cves": [], "html": "<p>更改服务器变量<a href=\"/docs/18/runtime-config-resource.html#GUC-MAX-FILES-PER-PROCESS\">max_files_per_process</a>以仅限制后端打开的文件（Andres Freund）<a href=\"https://postgr.es/c/adb5f85fa\">§</a></p>\n<p>以前，postmaster 打开的文件也计入此限制。</p>", "text": "更改服务器变量max_files_per_process以仅限制后端打开的文件（Andres Freund）§ 以前，postmaster 打开的文件也计入此限制。", "title": "更改服务器变量max_files_per_process以仅限制后端打开的文件", "commits": ["adb5f85fa"], "section": "服务器 / 服务器配置", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-SERVER-CONFIG", "source_hash": "2618bfe12d00c39268c401694e59d9fad97443ba987c22b6d62e307da9068d9a", "section_path": ["服务器", "服务器配置"], "commit_groups": [["adb5f85fa"]], "identity_text": "Change server variable guc-max-files-per-process to limit only files opened by a backend (Andres Freund) Previously files opened by the postmaster were also counted toward this limit.", "commit_aliases": ["adb5f85fa"], "source_commits": ["adb5f85fa"], "source_entry_id": "18.0/changes/059", "db_id": "7d0f8a8401a0235fee5c42443323fd9f", "patch_ids": ["1253eb7b68a386abd794c882137adc02"], "statement_hash": "04e1a6687e91598505d1cd8239184c483171e03aa143374ed943a3e8b71c817c", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-0f2f3a9ba5d31cd7", "cves": [], "html": "<p>添加服务器变量<a href=\"/docs/18/runtime-config-preset.html#GUC-NUM-OS-SEMAPHORES\">num_os_semaphores</a>以报告所需信号量的数量（Nathan Bossart）<a href=\"https://postgr.es/c/0dcaea569\">§</a></p>\n<p>这对于操作系统配置很有用。</p>", "text": "添加服务器变量num_os_semaphores以报告所需信号量的数量（Nathan Bossart）§ 这对于操作系统配置很有用。", "title": "添加服务器变量num_os_semaphores以报告所需信号量的数量", "commits": ["0dcaea569"], "section": "服务器 / 服务器配置", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-SERVER-CONFIG", "source_hash": "9ab5511113bd82e70e3a03fc12538f6345af41f77c718778b40bf3d3a03203b6", "section_path": ["服务器", "服务器配置"], "commit_groups": [["0dcaea569"]], "identity_text": "Add server variable guc-num-os-semaphores to report the required number of semaphores (Nathan Bossart) This is useful for operating system configuration.", "commit_aliases": ["0dcaea569"], "source_commits": ["0dcaea569"], "source_entry_id": "18.0/changes/060", "db_id": "baa925cc966c3797d6c1baeb8600b3af", "patch_ids": ["7cab2bba487b8dfdc88b894d86ebcb31"], "statement_hash": "db627bdf62b6a351d882ccec445c9221ec8e4d930aed5bf5e6b0b5b611bd8094", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-911f58cd6d2f91a5", "cves": [], "html": "<p>添加服务器变量<a href=\"/docs/18/runtime-config-client.html#GUC-EXTENSION-CONTROL-PATH\">extension_control_path</a>以指定扩展控制文件的位置（Peter Eisentraut, Matheus Alcantara）<a href=\"https://postgr.es/c/4f7f7b037\">§</a> <a href=\"https://postgr.es/c/81eaaa2c4\">§</a></p>", "text": "添加服务器变量extension_control_path以指定扩展控制文件的位置（Peter Eisentraut, Matheus Alcantara）§ §", "title": "添加服务器变量extension_control_path以指定扩展控制文件的位置", "commits": ["4f7f7b037", "81eaaa2c4"], "section": "服务器 / 服务器配置", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-SERVER-CONFIG", "source_hash": "9d62b8c0663f70e4f69542ec94abb0e3f367bb880d1661fa4b5ee26a52495548", "section_path": ["服务器", "服务器配置"], "commit_groups": [["4f7f7b037"], ["81eaaa2c4"]], "identity_text": "Add server variable guc-extension-control-path to specify the location of extension control files (Peter Eisentraut, Matheus Alcantara)", "commit_aliases": ["4f7f7b037", "81eaaa2c4"], "source_commits": ["4f7f7b037", "81eaaa2c4"], "source_entry_id": "18.0/changes/061", "db_id": "9a0ac630df36e673c00b61131cd0c2ff", "patch_ids": ["2c992ea1a18c7e56b1999e13915ad2f8", "95178da37b740ae32403368a9d5de091"], "statement_hash": "b2d063e72b9d991ddf32656536cdf6aa960609b5293a9f7685124d9018ed0d46", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-89dab26f6ecf89b1", "cves": [], "html": "<p>允许使用服务器变量<a href=\"/docs/18/runtime-config-replication.html#GUC-IDLE-REPLICATION-SLOT-TIMEOUT\">idle_replication_slot_timeout</a>自动使非活动复制槽失效（Nisha Moond, Bharath Rupireddy）<a href=\"https://postgr.es/c/ac0e33136\">§</a></p>", "text": "允许使用服务器变量idle_replication_slot_timeout自动使非活动复制槽失效（Nisha Moond, Bharath Rupireddy）§", "title": "允许使用服务器变量idle_replication_slot_timeout自动使非活动复制槽失效", "commits": ["ac0e33136"], "section": "服务器 / 流复制与恢复", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-REPLICATION", "source_hash": "8c442254dde2045ae1b1e87460c9e70a650a5b8afddfac774dc1463a967d81ba", "section_path": ["服务器", "流复制与恢复"], "commit_groups": [["ac0e33136"]], "identity_text": "Allow inactive replication slots to be automatically invalidated using server variable guc-idle-replication-slot-timeout (Nisha Moond, Bharath Rupireddy)", "commit_aliases": ["ac0e33136"], "source_commits": ["ac0e33136"], "source_entry_id": "18.0/changes/062", "db_id": "7e52ed73d316bf78778f528fedb05f84", "patch_ids": ["df8d31e4efb6cb139d5c669e2215050c"], "statement_hash": "eb9a1e5c89e5b4fa71a37fedc208ddb8c2f0f95fbc1eec06821cbc772f3bd8fc", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-b0ddcd66f9a0c6c5", "cves": [], "html": "<p>添加服务器变量<a href=\"/docs/18/runtime-config-replication.html#GUC-MAX-ACTIVE-REPLICATION-ORIGINS\">max_active_replication_origins</a>以控制最大活动复制源（Euler Taveira）<a href=\"https://postgr.es/c/04ff636cb\">§</a></p>\n<p>这以前由<a href=\"/docs/18/runtime-config-replication.html#GUC-MAX-REPLICATION-SLOTS\">max_replication_slots</a>控制，但这个新设置允许在需要较少槽位的情况下具有更高的源计数。</p>", "text": "添加服务器变量max_active_replication_origins以控制最大活动复制源（Euler Taveira）§ 这以前由max_replication_slots控制，但这个新设置允许在需要较少槽位的情况下具有更高的源计数。", "title": "添加服务器变量max_active_replication_origins以控制最大活动复制源", "commits": ["04ff636cb"], "section": "服务器 / 流复制与恢复", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-REPLICATION", "source_hash": "33b1bea544f15476df511f7f493e700d5039ed734c0053ce03bf246913999aca", "section_path": ["服务器", "流复制与恢复"], "commit_groups": [["04ff636cb"]], "identity_text": "Add server variable guc-max-active-replication-origins to control the maximum active replication origins (Euler Taveira) This was previously controlled by guc-max-replication-slots , but this new setting allows a higher origin count in cases where fewer slots are required.", "commit_aliases": ["04ff636cb"], "source_commits": ["04ff636cb"], "source_entry_id": "18.0/changes/063", "db_id": "1428b3f7f6cc1a4506850622a40c3ffb", "patch_ids": ["a8c08a420a79bd1a161ea23d9bef6d71"], "statement_hash": "9e85b8d9968595a466cfb230295bcf24c446ed069e908115b73bf70ddbaf2392", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-cd9ea852d87af69a", "cves": [], "html": "<p>允许<a href=\"/docs/18/sql-createtable.html#SQL-CREATETABLE-PARMS-GENERATED-STORED\">生成列</a>的值进行逻辑复制（Shubham Khanna, Vignesh C, Zhijie Hou, Shlok Kyal, Peter Smith）<a href=\"https://postgr.es/c/745217a05\">§</a> <a href=\"https://postgr.es/c/7054186c4\">§</a> <a href=\"https://postgr.es/c/87ce27de6\">§</a> <a href=\"https://postgr.es/c/6252b1eaf\">§</a></p>\n<p>如果发布指定了列列表，则发布所有指定的列（生成的和非生成的）。如果没有指定的列列表，则发布选项 <code>publish_generated_columns</code> 控制是否发布生成的列。以前生成的列不进行复制，订阅者必须在可能的情况下计算值；这对于缺少此类功能的非 <span>PostgreSQL</span> 订阅者特别有用。</p>", "text": "允许生成列的值进行逻辑复制（Shubham Khanna, Vignesh C, Zhijie Hou, Shlok Kyal, Peter Smith）§ § § § 如果发布指定了列列表，则发布所有指定的列（生成的和非生成的）。如果没有指定的列列表，则发布选项 publish_generated_columns 控制是否发布生成的列。以前生成的列不进行复制，订阅者必须在可能的情况下计算值；这对于缺少此类功能的非 PostgreSQL 订阅者特别有用。", "title": "允许生成列的值进行逻辑复制", "commits": ["6252b1eaf", "7054186c4", "745217a05", "87ce27de6"], "section": "服务器 / 逻辑复制", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-LOGICAL", "source_hash": "8ce5cf78247c4224e21a3859bb19dbd3ae248d206b36330a42cd21f09eb98501", "section_path": ["服务器", "逻辑复制"], "commit_groups": [["6252b1eaf"], ["7054186c4"], ["745217a05"], ["87ce27de6"]], "identity_text": "Allow the values of generated columns to be logically replicated (Shubham Khanna, Vignesh C, Zhijie Hou, Shlok Kyal, Peter Smith) If the publication specifies a column list, all specified columns, generated and non-generated, are published. Without a specified column list, publication option publish_generated_columns controls whether generated columns are published. Previously generated columns were not replicated and the subscriber had to compute the values if possible; this is particularly useful for non-PostgreSQL subscribers which lack such a capability.", "commit_aliases": ["6252b1eaf", "7054186c4", "745217a05", "87ce27de6"], "source_commits": ["6252b1eaf", "7054186c4", "745217a05", "87ce27de6"], "source_entry_id": "18.0/changes/064", "db_id": "5202261d9ce471fa7ab14e9e38ae61ef", "patch_ids": ["1665b39bcf49aa722b1893f0f6a01425", "3341f4a55afcad51ffb341807df994d9", "369fa64a83003bb9b411f50bb7db1dc9", "4288fdb022ae4713ce4aa5fa5fa0f5cc"], "statement_hash": "083520dac02028f1cb8e9374c5f6fee5c51e6f31ad5594e2b5d7f6386a3b9577", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-dcacd1764b529d1c", "cves": [], "html": "<p>将<a href=\"/docs/18/sql-createsubscription.html\" title=\"CREATE SUBSCRIPTION\"><span>CREATE SUBSCRIPTION</span></a>流式选项的默认值从 <code>off</code> 更改为 <code>parallel</code>（Vignesh C）<a href=\"https://postgr.es/c/1bf1140be\">§</a></p>", "text": "将CREATE SUBSCRIPTION流式选项的默认值从 off 更改为 parallel（Vignesh C）§", "title": "将CREATE SUBSCRIPTION流式选项的默认值从 off 更改为 parallel", "commits": ["1bf1140be"], "section": "服务器 / 逻辑复制", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-LOGICAL", "source_hash": "dce9ffa74056678f5973ff428b9f15c4f65d9403797d8b7feb364f5e78f6b6b7", "section_path": ["服务器", "逻辑复制"], "commit_groups": [["1bf1140be"]], "identity_text": "Change the default sql-createsubscription streaming option from off to parallel (Vignesh C)", "commit_aliases": ["1bf1140be"], "source_commits": ["1bf1140be"], "source_entry_id": "18.0/changes/065", "db_id": "64ac8d883b9496b763afc3ba0c0bac52", "patch_ids": ["6ef9a9f39489f250a02f1462b636b45f"], "statement_hash": "ccdb8be0260f594a383cc3edfe4b5c3fb3df37d5354d857e476778efb79b3ff4", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-c3c5141f2b8caaa8", "cves": [], "html": "<p>允许<a href=\"/docs/18/sql-altersubscription.html\" title=\"ALTER SUBSCRIPTION\"><span>ALTER SUBSCRIPTION</span></a>更改复制槽的两阶段提交行为（Hayato Kuroda, Ajin Cherian, Amit Kapila, Zhijie Hou）<a href=\"https://postgr.es/c/1462aad2e\">§</a> <a href=\"https://postgr.es/c/4868c96bc\">§</a></p>", "text": "允许ALTER SUBSCRIPTION更改复制槽的两阶段提交行为（Hayato Kuroda, Ajin Cherian, Amit Kapila, Zhijie Hou）§ §", "title": "允许ALTER SUBSCRIPTION更改复制槽的两阶段提交行为", "commits": ["1462aad2e", "4868c96bc"], "section": "服务器 / 逻辑复制", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-LOGICAL", "source_hash": "b96743f044a02e2201e5e678b547c8fdb56efd310343f8b3e4919fa6c862dfc7", "section_path": ["服务器", "逻辑复制"], "commit_groups": [["1462aad2e"], ["4868c96bc"]], "identity_text": "Allow sql-altersubscription to change the replication slot's two-phase commit behavior (Hayato Kuroda, Ajin Cherian, Amit Kapila, Zhijie Hou)", "commit_aliases": ["1462aad2e", "4868c96bc"], "source_commits": ["1462aad2e", "4868c96bc"], "source_entry_id": "18.0/changes/066", "db_id": "41cd5554ab5a99df850ddc649a630bf5", "patch_ids": ["15c1439cde9cf963e340507c56e6bd57", "fd8060f9266b72de63d063d80a6bb2f9"], "statement_hash": "4c14605560e017cf4d89bb8a33a0ab993f4a9ff353648fde85d7e88cde571530", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-9779bf86a7039bec", "cves": [], "html": "<p>在应用逻辑复制更改时记录<a href=\"/docs/18/hot-standby.html#HOT-STANDBY-CONFLICT\" title=\"26.4.2. 处理查询冲突\">冲突</a>（Zhijie Hou, Nisha Moond）<a href=\"https://postgr.es/c/9758174e2\">§</a> <a href=\"https://postgr.es/c/edcb71258\">§</a> <a href=\"https://postgr.es/c/640178c92\">§</a> <a href=\"https://postgr.es/c/6c2b5edec\">§</a> <a href=\"https://postgr.es/c/73eba5004\">§</a></p>\n<p>同时在 <a href=\"/docs/18/monitoring-stats.html#MONITORING-PG-STAT-SUBSCRIPTION-STATS\" title=\"27.2.9. pg_stat_subscription_stats\"><code>pg_stat_subscription_stats</code></a> 的新列中报告。</p>", "text": "在应用逻辑复制更改时记录冲突（Zhijie Hou, Nisha Moond）§ § § § § 同时在 pg_stat_subscription_stats 的新列中报告。", "title": "在应用逻辑复制更改时记录冲突", "commits": ["640178c92", "6c2b5edec", "73eba5004", "9758174e2", "edcb71258"], "section": "服务器 / 逻辑复制", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-LOGICAL", "source_hash": "05b6c5eed4fe0a503528ebf6e93550346f53902f7896fdfd02fa0f490a545a5d", "section_path": ["服务器", "逻辑复制"], "commit_groups": [["640178c92"], ["6c2b5edec"], ["73eba5004"], ["9758174e2"], ["edcb71258"]], "identity_text": "Log conflicts while applying logical replication changes (Zhijie Hou, Nisha Moond) Also report in new columns of pg_stat_subscription_stats.", "commit_aliases": ["640178c92", "6c2b5edec", "73eba5004", "9758174e2", "edcb71258"], "source_commits": ["640178c92", "6c2b5edec", "73eba5004", "9758174e2", "edcb71258"], "source_entry_id": "18.0/changes/067", "db_id": "d501fbaa05f2f82279ea37f34a051e90", "patch_ids": ["51def9eea7743271af2095d95b545a4f", "8b6edece41c91a3f70d5596159ddbe32", "ae3bbcf20f2ea20c2688908c03c2959a", "ae68c8345354c13eb606659698b10d59", "f0ec97314be2a61418e5a1c0f3506967"], "statement_hash": "a122cf64cd9a507a10cc7e4d8d75e98e4d0911707c1e708541f68fcd20a195cf", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-50225964a1afe923", "cves": [], "html": "<p>允许<a href=\"/docs/18/sql-createtable.html#SQL-CREATETABLE-PARMS-GENERATED-STORED\">生成列</a>采用虚拟形式，并将虚拟生成列设为默认形式（Peter Eisentraut, Jian He, Richard Guo, Dean Rasheed）<a href=\"https://postgr.es/c/83ea6c540\">§</a> <a href=\"https://postgr.es/c/cdc168ad4\">§</a> <a href=\"https://postgr.es/c/1e4351af3\">§</a></p>\n<p>虚拟生成列在读取时生成其值，而不是在写入时生成。写入行为仍然可以通过 <code>STORED</code> 选项指定。</p>", "text": "允许生成列采用虚拟形式，并将虚拟生成列设为默认形式（Peter Eisentraut, Jian He, Richard Guo, Dean Rasheed）§ § § 虚拟生成列在读取时生成其值，而不是在写入时生成。写入行为仍然可以通过 STORED 选项指定。", "title": "允许生成列采用虚拟形式，并将虚拟生成列设为默认形式", "commits": ["1e4351af3", "83ea6c540", "cdc168ad4"], "section": "工具命令", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-UTILITY", "source_hash": "8b9bb147252ad7e35c8f655d35d8c3a7e914db7df27c4bd4a357130d618b67b2", "section_path": ["工具命令"], "commit_groups": [["1e4351af3"], ["83ea6c540"], ["cdc168ad4"]], "identity_text": "Allow generated columns to be virtual, and make them the default (Peter Eisentraut, Jian He, Richard Guo, Dean Rasheed) Virtual generated columns generate their values when the columns are read, not written. The write behavior can still be specified via the STORED option.", "commit_aliases": ["1e4351af3", "83ea6c540", "cdc168ad4"], "source_commits": ["1e4351af3", "83ea6c540", "cdc168ad4"], "source_entry_id": "18.0/changes/068", "db_id": "e55bde9210ccbba653a3ff687ce8c8d5", "patch_ids": ["3e371ba8f3c63409d6e3c656c1bdb71c", "447c816d3adc612f5ef8fd3d4f63cc04", "dc34ef60f4a74f75244fff70b71d30ca"], "statement_hash": "5dc1a0db02d845a39dfa141f18f21f435065540c7745af4f23009c79c78be2b5", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-d2796091c807ae08", "cves": [], "html": "<p>为<acronym>DML</acronym>查询中的 <a href=\"/docs/18/dml-returning.html\" title=\"6.4. 从被修改的行中返回数据\"><code>RETURNING</code></a> 添加 <code>OLD</code>/<code>NEW</code> 支持（Dean Rasheed）<a href=\"https://postgr.es/c/80feb727c\">§</a></p>\n<p>以前，<code>RETURNING</code>只返回<a href=\"/docs/18/sql-insert.html\" title=\"INSERT\"><span>INSERT</span></a>和<a href=\"/docs/18/sql-update.html\" title=\"UPDATE\"><span>UPDATE</span></a>的新值，以及<a href=\"/docs/18/sql-delete.html\" title=\"DELETE\"><span>DELETE</span></a>的旧值；<a href=\"/docs/18/sql-merge.html\" title=\"MERGE\"><span>MERGE</span></a>则根据实际执行的内部查询返回相应的值。新语法允许<code>INSERT</code>/<code>UPDATE</code>/<code>DELETE</code>/<code>MERGE</code>的<code>RETURNING</code>列表通过特殊别名<code>old</code>和<code>new</code>显式返回旧值和新值。这些别名可以重命名，以避免标识符冲突。</p>", "text": "为DML查询中的 RETURNING 添加 OLD/NEW 支持（Dean Rasheed）§ 以前，RETURNING只返回INSERT和UPDATE的新值，以及DELETE的旧值；MERGE则根据实际执行的内部查询返回相应的值。新语法允许INSERT/UPDATE/DELETE/MERGE的RETURNING列表通过特殊别名old和new显式返回旧值和新值。这些别名可以重命名，以避免标识符冲突。", "title": "为DML查询中的 RETURNING 添加 OLD/NEW 支持", "commits": ["80feb727c"], "section": "工具命令", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-UTILITY", "source_hash": "a8fc808c426e5a39fe1dc4198d1fc55913f32e15adb8f6ffac2992288794c5d6", "section_path": ["工具命令"], "commit_groups": [["80feb727c"]], "identity_text": "Add OLD/NEW support to RETURNING in DML queries (Dean Rasheed) Previously RETURNING only returned new values for sql-insert and sql-update , and old values for sql-delete ; sql-merge would return the appropriate value for the internal query executed. This new syntax allows the RETURNING list of INSERT/UPDATE/DELETE/MERGE to explicitly return old and new values by using the special aliases old and new. These aliases can be renamed to avoid identifier conflicts.", "commit_aliases": ["80feb727c"], "source_commits": ["80feb727c"], "source_entry_id": "18.0/changes/069", "db_id": "a6ab1b647947ca727232553f3a8dc197", "patch_ids": ["4fca2a9efd37d56cb0881b858a6b90f0"], "statement_hash": "2d5bdf5703ba0215fc209242d19c9debd27beb536915449517e314371beaea1e", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-ea636ee036112240", "cves": [], "html": "<p>允许像现有本地表一样创建外部表（Zhang Mingli）<a href=\"https://postgr.es/c/302cf1575\">§</a></p>\n<p>语法是 <a href=\"/docs/18/sql-createforeigntable.html\" title=\"CREATE FOREIGN TABLE\"><code>CREATE FOREIGN TABLE ... LIKE</code></a>。</p>", "text": "允许像现有本地表一样创建外部表（Zhang Mingli）§ 语法是 CREATE FOREIGN TABLE ... LIKE。", "title": "允许像现有本地表一样创建外部表", "commits": ["302cf1575"], "section": "工具命令", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-UTILITY", "source_hash": "62be8c19fa522f585e5dde472a79dd0aca848387218592415e6459267cb044c1", "section_path": ["工具命令"], "commit_groups": [["302cf1575"]], "identity_text": "Allow foreign tables to be created like existing local tables (Zhang Mingli) The syntax is CREATE FOREIGN TABLE ... LIKE.", "commit_aliases": ["302cf1575"], "source_commits": ["302cf1575"], "source_entry_id": "18.0/changes/070", "db_id": "3c08bf99d8f77ab94596e695234e7097", "patch_ids": ["411e9a2745f01f897f4e54030814cdda"], "statement_hash": "650c85d540879cb0964e2e35ff37c707d3011899d487df426f0eca681a4e7ed5", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-130b74517e02134b", "cves": [], "html": "<p>允许 <a href=\"/docs/18/functions-matching.html#FUNCTIONS-LIKE\" title=\"9.7.1. LIKE\"><code>LIKE</code></a> 与<a href=\"/docs/18/collation.html#COLLATION-NONDETERMINISTIC\" title=\"23.2.2.4. 非确定性排序规则\">非确定性排序规则</a>一起使用（Peter Eisentraut）<a href=\"https://postgr.es/c/85b7efa1c\">§</a></p>", "text": "允许 LIKE 与非确定性排序规则一起使用（Peter Eisentraut）§", "title": "允许 LIKE 与非确定性排序规则一起使用", "commits": ["85b7efa1c"], "section": "工具命令", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-UTILITY", "source_hash": "f18c3846540e26051772bf9f2ce2e36b80aaee96301004d7a41dfd9d5e174e11", "section_path": ["工具命令"], "commit_groups": [["85b7efa1c"]], "identity_text": "Allow LIKE with nondeterministic collations (Peter Eisentraut)", "commit_aliases": ["85b7efa1c"], "source_commits": ["85b7efa1c"], "source_entry_id": "18.0/changes/071", "db_id": "f3cb3e9cf2993fd77e182438fd54d155", "patch_ids": ["a5fc7223c5e3de4e0b0adde360f9a8ab"], "statement_hash": "df1ccd059c05458d62412178f18b09f9ac5b61de20fa13903026b25d6b0a281d", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-2d24efb7f4f60a03", "cves": [], "html": "<p>允许文本位置搜索函数与非确定性排序规则一起使用（Peter Eisentraut）<a href=\"https://postgr.es/c/329304c90\">§</a></p>\n<p>这些以前会生成错误。</p>", "text": "允许文本位置搜索函数与非确定性排序规则一起使用（Peter Eisentraut）§ 这些以前会生成错误。", "title": "允许文本位置搜索函数与非确定性排序规则一起使用", "commits": ["329304c90"], "section": "工具命令", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-UTILITY", "source_hash": "44de95f0bc4bf8dedce0af6fad80799804648813e2b8d379595f9119068daf23", "section_path": ["工具命令"], "commit_groups": [["329304c90"]], "identity_text": "Allow text position search functions with nondeterministic collations (Peter Eisentraut) These used to generate an error.", "commit_aliases": ["329304c90"], "source_commits": ["329304c90"], "source_entry_id": "18.0/changes/072", "db_id": "1633612e398b9d62fc3745ae04ffbdcb", "patch_ids": ["43d52072e1fb7ccdaab204775ce5218b"], "statement_hash": "819c561a7502a24a171a66abb4e6b6d3543683ac066ea66ccff53a0fce4befea", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-fa6e22f960ec67b4", "cves": [], "html": "<p>添加内置排序规则提供程序 <a href=\"/docs/18/locale.html#LOCALE-PROVIDERS\" title=\"23.1.4. 区域设置提供程序\"><code>PG_UNICODE_FAST</code></a>（Jeff Davis）<a href=\"https://postgr.es/c/d3d098316\">§</a></p>\n<p>此区域设置支持大小写映射，但按代码点顺序排序，而非自然语言顺序。</p>", "text": "添加内置排序规则提供程序 PG_UNICODE_FAST（Jeff Davis）§ 此区域设置支持大小写映射，但按代码点顺序排序，而非自然语言顺序。", "title": "添加内置排序规则提供程序 PG_UNICODE_FAST", "commits": ["d3d098316"], "section": "工具命令", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-UTILITY", "source_hash": "c67e8fc3c341be4b77ad03dc233abe7dcf8538d89e6aa0f6ccdf7ecd5fced9ee", "section_path": ["工具命令"], "commit_groups": [["d3d098316"]], "identity_text": "Add builtin collation provider PG_UNICODE_FAST (Jeff Davis) This locale supports case mapping, but sorts in code point order, not natural language order.", "commit_aliases": ["d3d098316"], "source_commits": ["d3d098316"], "source_entry_id": "18.0/changes/073", "db_id": "30595e5c571a05cc7aee9889ba3a082f", "patch_ids": ["04e3a10e98b76c4d3552450e42090216"], "statement_hash": "a2fd33890c8b434927b30005c495e84f2917c37b0d70177e7af7e169446cb0cc", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-21f4954ffd8217fb", "cves": [], "html": "<p>允许<a href=\"/docs/18/sql-vacuum.html\" title=\"VACUUM\"><span>VACUUM</span></a>和<a href=\"/docs/18/sql-analyze.html\" title=\"ANALYZE\"><span>ANALYZE</span></a>处理分区表而不处理其子表（Michael Harris）<a href=\"https://postgr.es/c/62ddf7ee9\">§</a></p>\n<p>这通过新的 <code>ONLY</code> 选项启用。这很有用，因为自动清理不处理分区表，只处理其子表。</p>", "text": "允许VACUUM和ANALYZE处理分区表而不处理其子表（Michael Harris）§ 这通过新的 ONLY 选项启用。这很有用，因为自动清理不处理分区表，只处理其子表。", "title": "允许VACUUM和ANALYZE处理分区表而不处理其子表", "commits": ["62ddf7ee9"], "section": "工具命令", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-UTILITY", "source_hash": "05c7937bacc706d236a69b8c4fc589b591495e0020f6ccc2a065ca5215497451", "section_path": ["工具命令"], "commit_groups": [["62ddf7ee9"]], "identity_text": "Allow sql-vacuum and sql-analyze to process partitioned tables without processing their children (Michael Harris) This is enabled with the new ONLY option. This is useful since autovacuum does not process partitioned tables, just its children.", "commit_aliases": ["62ddf7ee9"], "source_commits": ["62ddf7ee9"], "source_entry_id": "18.0/changes/074", "db_id": "94f45240a0275d0638838beebe665ece", "patch_ids": ["29279fd7549098871f985b99df60e141"], "statement_hash": "186081ff4a06c8a75bdfc573ce88d92f94310682d9ee69294323a9c8326c9e6f", "relations": [{"rule": 2, "type": "related", "target": "c27156e947f09ff22df4dce5613e8f4c", "evidence": {"same_day": true, "patch_ids": ["29279fd7549098871f985b99df60e141"]}}], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": [{"db_id": "c27156e947f09ff22df4dce5613e8f4c", "kind": "related", "version": "18.0", "label": "18.0", "title": "更改VACUUM和ANALYZE以处理父表的继承子表", "evidence": {"same_day": true, "patch_ids": ["29279fd7549098871f985b99df60e141"]}, "url": "/docs/compare/?release=18.0#18.0-c84ca88e6e5518a9", "source_url": "/docs/release/18.0/#RELEASE-18-MIGRATION"}]}, {"id": "18.0-a5a4e6b739359bcd", "cves": [], "html": "<p>添加函数以修改每关系和每列优化器统计信息（Corey Huinker）<a href=\"https://postgr.es/c/e839c8ecc\">§</a> <a href=\"https://postgr.es/c/d32d14639\">§</a> <a href=\"https://postgr.es/c/650ab8aaf\">§</a></p>\n<p>这些函数是 <a href=\"/docs/18/functions-admin.html#FUNCTIONS-ADMIN-STATSMOD\" title=\"表 9.105. 数据库对象统计信息操纵函数\"><code>pg_restore_relation_stats()</code></a>、<code>pg_restore_attribute_stats()</code>、<code>pg_clear_relation_stats()</code> 和 <code>pg_clear_attribute_stats()</code>。</p>", "text": "添加函数以修改每关系和每列优化器统计信息（Corey Huinker）§ § § 这些函数是 pg_restore_relation_stats()、pg_restore_attribute_stats()、pg_clear_relation_stats() 和 pg_clear_attribute_stats()。", "title": "添加函数以修改每关系和每列优化器统计信息", "commits": ["650ab8aaf", "d32d14639", "e839c8ecc"], "section": "工具命令", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-UTILITY", "source_hash": "674b01db84fb9420f02aad464846ffa2cb53e14b1d1fbbb110ec279daa7ad21d", "section_path": ["工具命令"], "commit_groups": [["650ab8aaf"], ["d32d14639"], ["e839c8ecc"]], "identity_text": "Add functions to modify per-relation and per-column optimizer statistics (Corey Huinker) The functions are pg_restore_relation_stats(), pg_restore_attribute_stats(), pg_clear_relation_stats(), and pg_clear_attribute_stats().", "commit_aliases": ["650ab8aaf", "d32d14639", "e839c8ecc"], "source_commits": ["650ab8aaf", "d32d14639", "e839c8ecc"], "source_entry_id": "18.0/changes/075", "db_id": "6e9858b57c68ea99d8150fd4b9910b9f", "patch_ids": ["4b5624c10aaa5b112428b0a7a7f438af", "aec78a3156d287b4d2d70cdd28529fcb", "eaa21c78bd0fb6108287d3368130333b"], "statement_hash": "7eaa13e8bdea924978103d7640a4fbfb4bfa5d38f0861eb50b3ae7fb57e908a3", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-4d0177e87a79a9e9", "cves": [], "html": "<p>添加服务器变量<a href=\"/docs/18/runtime-config-resource.html#GUC-FILE-COPY-METHOD\">file_copy_method</a>以控制文件复制方法（Nazir Bilal Yavuz）<a href=\"https://postgr.es/c/f78ca6f3e\">§</a></p>\n<p>这控制 <a href=\"/docs/18/sql-createdatabase.html\" title=\"CREATE DATABASE\"><code>CREATE DATABASE ... STRATEGY=FILE_COPY</code></a> 和 <a href=\"/docs/18/sql-alterdatabase.html\" title=\"ALTER DATABASE\"><code>ALTER DATABASE ... SET TABLESPACE</code></a> 是使用文件复制还是克隆。</p>", "text": "添加服务器变量file_copy_method以控制文件复制方法（Nazir Bilal Yavuz）§ 这控制 CREATE DATABASE ... STRATEGY=FILE_COPY 和 ALTER DATABASE ... SET TABLESPACE 是使用文件复制还是克隆。", "title": "添加服务器变量file_copy_method以控制文件复制方法", "commits": ["f78ca6f3e"], "section": "工具命令", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-UTILITY", "source_hash": "55ffac7e2445fc4100affe783d64394b74d1f2e231c9ff84dec30c9a304d45d3", "section_path": ["工具命令"], "commit_groups": [["f78ca6f3e"]], "identity_text": "Add server variable guc-file-copy-method to control the file copying method (Nazir Bilal Yavuz) This controls whether CREATE DATABASE ... STRATEGY=FILE_COPY and ALTER DATABASE ... SET TABLESPACE uses file copy or clone.", "commit_aliases": ["f78ca6f3e"], "source_commits": ["f78ca6f3e"], "source_entry_id": "18.0/changes/076", "db_id": "b992193589e7617ce4982491eb56e0e8", "patch_ids": ["439a7381d3a81157f6048dcf27ba49c2"], "statement_hash": "d2befdc7cea14270674f2666fadea7539a2a737ce15620835aa47ff9bd481014", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-aa3e8c4b4776979a", "cves": [], "html": "<p>允许指定不重叠的 <a href=\"/docs/18/sql-createtable.html#SQL-CREATETABLE-PARMS-PRIMARY-KEY\"><code>PRIMARY KEY</code></a>、 <a href=\"/docs/18/sql-createtable.html#SQL-CREATETABLE-PARMS-UNIQUE\"><code>UNIQUE</code></a> 和<a href=\"/docs/18/sql-createtable.html#SQL-CREATETABLE-PARMS-REFERENCES\">外键</a>约束（Paul A. Jungwirth）<a href=\"https://postgr.es/c/fc0438b4e\">§</a> <a href=\"https://postgr.es/c/89f908a6d\">§</a></p>\n<p>这通过 <code>WITHOUT OVERLAPS</code> 用于 <code>PRIMARY KEY</code> 和 <code>UNIQUE</code>，并通过 <code>PERIOD</code> 用于外键，所有这些都应用于最后一个指定的列。</p>", "text": "允许指定不重叠的 PRIMARY KEY、 UNIQUE 和外键约束（Paul A. Jungwirth）§ § 这通过 WITHOUT OVERLAPS 用于 PRIMARY KEY 和 UNIQUE，并通过 PERIOD 用于外键，所有这些都应用于最后一个指定的列。", "title": "允许指定不重叠的 PRIMARY KEY、 UNIQUE 和外键约束", "commits": ["89f908a6d", "fc0438b4e"], "section": "工具命令 / 约束", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-CONSTRAINTS", "source_hash": "cec7b6e045c9545e4f10003ed952bf9225e93776662baf6f97aab61666ffbe22", "section_path": ["工具命令", "约束"], "commit_groups": [["89f908a6d"], ["fc0438b4e"]], "identity_text": "Allow the specification of non-overlapping PRIMARY KEY, UNIQUE, and foreign key constraints (Paul A. Jungwirth) This is specified by WITHOUT OVERLAPS for PRIMARY KEY and UNIQUE, and by PERIOD for foreign keys, all applied to the last specified column.", "commit_aliases": ["89f908a6d", "fc0438b4e"], "source_commits": ["89f908a6d", "fc0438b4e"], "source_entry_id": "18.0/changes/077", "db_id": "656f1a2aaf525351eb1b8eece841fb72", "patch_ids": ["9d21a99c31ba9ddbc8896e95bc3a20c8", "ed4443224512a7d7c9e0593dd5194bd1"], "statement_hash": "f26c4016e11249e5cafa6f494580e249b2ffd42b0e460e4b6da81439d8a183c1", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-9deff3ec9bc157f2", "cves": [], "html": "<p>允许将 <a href=\"/docs/18/sql-createtable.html#SQL-CREATETABLE-PARMS-CHECK\"><code>CHECK</code></a> 和<a href=\"/docs/18/sql-createtable.html#SQL-CREATETABLE-PARMS-REFERENCES\">外键</a>约束指定为 <code>NOT ENFORCED</code>（Amul Sul）<a href=\"https://postgr.es/c/ca87c415e\">§</a> <a href=\"https://postgr.es/c/eec0040c4\">§</a></p>\n<p>这还添加了列 <a href=\"/docs/18/catalog-pg-constraint.html\" title=\"52.13. pg_constraint\"><code>pg_constraint</code></a>.<code>conenforced</code>。</p>", "text": "允许将 CHECK 和外键约束指定为 NOT ENFORCED（Amul Sul）§ § 这还添加了列 pg_constraint.conenforced。", "title": "允许将 CHECK 和外键约束指定为 NOT ENFORCED", "commits": ["ca87c415e", "eec0040c4"], "section": "工具命令 / 约束", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-CONSTRAINTS", "source_hash": "47a74d174f45c84fadfefcd99f91a1c5b2a162611ee164e7a53164d9a4c34e1b", "section_path": ["工具命令", "约束"], "commit_groups": [["ca87c415e"], ["eec0040c4"]], "identity_text": "Allow CHECK and foreign key constraints to be specified as NOT ENFORCED (Amul Sul) This also adds column pg_constraint.conenforced.", "commit_aliases": ["ca87c415e", "eec0040c4"], "source_commits": ["ca87c415e", "eec0040c4"], "source_entry_id": "18.0/changes/078", "db_id": "156ef162ef6c54bcf8685caaa1f35f9c", "patch_ids": ["28c11a4e5c4747a11fea5d43ea2536bb", "897c774e88b353e9aaeb6731a2e16f1e"], "statement_hash": "9d9913a6743e4062207224366278ff21a4ddbc3afbab5cd896fbb02070710e2f", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-456bfee91d8a1c5e", "cves": [], "html": "<p>要求<a href=\"/docs/18/sql-createtable.html#SQL-CREATETABLE-PARMS-REFERENCES\">主键/外键</a>关系使用确定性排序规则或相同的非确定性排序规则（Peter Eisentraut）<a href=\"https://postgr.es/c/9321d2fdf\">§</a></p>\n<p>如果这些要求不满足，<a href=\"/docs/18/app-pgdump.html\" title=\"pg_dump\"><span><span>pg_dump</span></span></a>的恢复（<a href=\"/docs/18/pgupgrade.html\" title=\"pg_upgrade\"><span><span>pg_upgrade</span></span></a>也使用）将失败；必须对模式进行更改才能使这些升级方法成功。</p>", "text": "要求主键/外键关系使用确定性排序规则或相同的非确定性排序规则（Peter Eisentraut）§ 如果这些要求不满足，pg_dump的恢复（pg_upgrade也使用）将失败；必须对模式进行更改才能使这些升级方法成功。", "title": "要求主键/外键关系使用确定性排序规则或相同的非确定性排序规则", "commits": ["9321d2fdf"], "section": "工具命令 / 约束", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-CONSTRAINTS", "source_hash": "2b17eb3b34045fd66a066a2076d863f0fa350f40aa79c07d72d3a50fcdeff6f3", "section_path": ["工具命令", "约束"], "commit_groups": [["9321d2fdf"]], "identity_text": "Require primary/foreign key relationships to use either deterministic collations or the the same nondeterministic collations (Peter Eisentraut) The restore of a app-pgdump , also used by pgupgrade , will fail if these requirements are not met; schema changes must be made for these upgrade methods to succeed.", "commit_aliases": ["9321d2fdf"], "source_commits": ["9321d2fdf"], "source_entry_id": "18.0/changes/079", "db_id": "68a1f7d62d756e8a62c81960b94b7516", "patch_ids": ["0ce5a6d8a11a1381cec57c4513b145b6"], "statement_hash": "2618c39bc6d6dedcb5838152a2f2578f929d0e51755b824342e7609b6456ce31", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-0bdb785dd7894611", "cves": [], "html": "<p>将列 <a href=\"/docs/18/sql-createtable.html#SQL-CREATETABLE-PARMS-NOT-NULL\"><code>NOT NULL</code></a> 规范存储在 <a href=\"/docs/18/catalog-pg-constraint.html\" title=\"52.13. pg_constraint\"><code>pg_constraint</code></a> 中（Álvaro Herrera, Bernd Helmle）<a href=\"https://postgr.es/c/14e87ffa5\">§</a> <a href=\"https://postgr.es/c/81ce602d4\">§</a></p>\n<p>这允许为 <code>NOT NULL</code> 约束指定名称。这还向外部表添加了 <code>NOT NULL</code> 约束，并向本地表添加了 <code>NOT NULL</code> 继承控制。</p>", "text": "将列 NOT NULL 规范存储在 pg_constraint 中（Álvaro Herrera, Bernd Helmle）§ § 这允许为 NOT NULL 约束指定名称。这还向外部表添加了 NOT NULL 约束，并向本地表添加了 NOT NULL 继承控制。", "title": "将列 NOT NULL 规范存储在 pg_constraint 中", "commits": ["14e87ffa5", "81ce602d4"], "section": "工具命令 / 约束", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-CONSTRAINTS", "source_hash": "8d664870fe4f56fdb40b1e71956c91806ece38272c325ee7364c831d08a4078a", "section_path": ["工具命令", "约束"], "commit_groups": [["14e87ffa5"], ["81ce602d4"]], "identity_text": "Store column NOT NULL specifications in pg_constraint (Álvaro Herrera, Bernd Helmle) This allows names to be specified for NOT NULL constraint. This also adds NOT NULL constraints to foreign tables and NOT NULL inheritance control to local tables.", "commit_aliases": ["14e87ffa5", "81ce602d4"], "source_commits": ["14e87ffa5", "81ce602d4"], "source_entry_id": "18.0/changes/080", "db_id": "8a4e6850401232dbd894c7a1988f9765", "patch_ids": ["505109f4ed771badde73056b108e1d2e", "cbc655e13a914f142d5328fd2f764c89"], "statement_hash": "1c879bc0432ab853565526cf4359ab6808a77d0d5c13a35df594c1bd9ee148eb", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-6fe25742c6a39510", "cves": [], "html": "<p>允许<a href=\"/docs/18/sql-altertable.html\" title=\"ALTER TABLE\"><span>ALTER TABLE</span></a>设置 <code>NOT NULL</code> 约束的 <code>NOT VALID</code> 属性（Rushabh Lathia, Jian He）<a href=\"https://postgr.es/c/a379061a2\">§</a></p>", "text": "允许ALTER TABLE设置 NOT NULL 约束的 NOT VALID 属性（Rushabh Lathia, Jian He）§", "title": "允许ALTER TABLE设置 NOT NULL 约束的 NOT VALID 属性", "commits": ["a379061a2"], "section": "工具命令 / 约束", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-CONSTRAINTS", "source_hash": "7a63541c0cbbb94bf4c1f24b20eb8d40802864525d0a1f1d7c799ec1ef11ded5", "section_path": ["工具命令", "约束"], "commit_groups": [["a379061a2"]], "identity_text": "Allow sql-altertable to set the NOT VALID attribute of NOT NULL constraints (Rushabh Lathia, Jian He)", "commit_aliases": ["a379061a2"], "source_commits": ["a379061a2"], "source_entry_id": "18.0/changes/081", "db_id": "f12f345f0589967cff7f213f4c4bca92", "patch_ids": ["a2748ca9c6b723c431540e39acdedc40"], "statement_hash": "a8527c487edbe6f9a27b333d0cb36ae75e63f09eb9da9be99855bf147481647a", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-1fa3dc83751c0298", "cves": [], "html": "<p>允许修改 <code>NOT NULL</code> 约束的可继承性（Suraj Kharage, Álvaro Herrera）<a href=\"https://postgr.es/c/f4e53e10b\">§</a> <a href=\"https://postgr.es/c/4a02af8b1\">§</a></p>\n<p>语法是 <a href=\"/docs/18/sql-altertable.html\" title=\"ALTER TABLE\"><code>ALTER TABLE ... ALTER CONSTRAINT ... [NO] INHERIT</code></a>。</p>", "text": "允许修改 NOT NULL 约束的可继承性（Suraj Kharage, Álvaro Herrera）§ § 语法是 ALTER TABLE ... ALTER CONSTRAINT ... [NO] INHERIT。", "title": "允许修改 NOT NULL 约束的可继承性", "commits": ["4a02af8b1", "f4e53e10b"], "section": "工具命令 / 约束", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-CONSTRAINTS", "source_hash": "1c4f8756f1658494559bcf0a5e867d67b99c36db57dc1d6d871e2860cb1d23c9", "section_path": ["工具命令", "约束"], "commit_groups": [["4a02af8b1"], ["f4e53e10b"]], "identity_text": "Allow modification of the inheritability of NOT NULL constraints (Suraj Kharage, Álvaro Herrera) The syntax is ALTER TABLE ... ALTER CONSTRAINT ... [NO] INHERIT.", "commit_aliases": ["4a02af8b1", "f4e53e10b"], "source_commits": ["4a02af8b1", "f4e53e10b"], "source_entry_id": "18.0/changes/082", "db_id": "adedc047dd49b7985ea964547e1bb243", "patch_ids": ["56786cb45efb3212c89bdb6ba9fb1df5", "909cea2bfeaec8651ebceab1164a3e8c"], "statement_hash": "2389a86ed4c13eb10fce8148371ee5a6a016890e39b2a991d29d19326a10d62e", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-e523633e00d48c6b", "cves": [], "html": "<p>允许分区表上的 <code>NOT VALID</code> 外键约束（Amul Sul）<a href=\"https://postgr.es/c/b663b9436\">§</a></p>", "text": "允许分区表上的 NOT VALID 外键约束（Amul Sul）§", "title": "允许分区表上的 NOT VALID 外键约束", "commits": ["b663b9436"], "section": "工具命令 / 约束", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-CONSTRAINTS", "source_hash": "062a57914f39af06b5e61c9892baed456e5c24e484a6259c145f99dfd61fda32", "section_path": ["工具命令", "约束"], "commit_groups": [["b663b9436"]], "identity_text": "Allow NOT VALID foreign key constraints on partitioned tables (Amul Sul)", "commit_aliases": ["b663b9436"], "source_commits": ["b663b9436"], "source_entry_id": "18.0/changes/083", "db_id": "00f0a79bb9b96d16af5a0d9ed236739d", "patch_ids": ["c2923b14543c6619fb5c4ab76a00fd21"], "statement_hash": "15cb6c826ef8120a3dec63ed2b6c3cd1e5eebed7e6a87ec7d752833735252b0d", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-eb1a7d0c44918ad3", "cves": [], "html": "<p>允许在分区表上使用 <code>ONLY</code> <a href=\"/docs/18/sql-altertable.html#SQL-ALTERTABLE-DESC-DROP-CONSTRAINT\">丢弃</a>约束（Álvaro Herrera）<a href=\"https://postgr.es/c/4dea33ce7\">§</a></p>\n<p>这以前被错误地禁止了。</p>", "text": "允许在分区表上使用 ONLY 丢弃约束（Álvaro Herrera）§ 这以前被错误地禁止了。", "title": "允许在分区表上使用 ONLY 丢弃约束", "commits": ["4dea33ce7"], "section": "工具命令 / 约束", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-CONSTRAINTS", "source_hash": "8c1219c56b3716c6e0669450727af7aed75763ee754fd98663afe83cdbb70624", "section_path": ["工具命令", "约束"], "commit_groups": [["4dea33ce7"]], "identity_text": "Allow dropping of constraints ONLY on partitioned tables (Álvaro Herrera) This was previously erroneously prohibited.", "commit_aliases": ["4dea33ce7"], "source_commits": ["4dea33ce7"], "source_entry_id": "18.0/changes/084", "db_id": "18344143b41582623ed016d08d3724f0", "patch_ids": ["e01f71769bcebafa65ea9e9facbc8f0e"], "statement_hash": "2f709f0920ff299f36d06fa6d2c5e29a93df41901d6a0aa8e7f22d2226fd478d", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-886a8aa244f2b933", "cves": [], "html": "<p>添加 <code>REJECT_LIMIT</code> 以控制 <code>COPY FROM</code> 可以忽略的无效行数（Atsushi Torikoshi）<a href=\"https://postgr.es/c/4ac2a9bec\">§</a></p>\n<p>这在 <code>ON_ERROR = 'ignore'</code> 时可用。</p>", "text": "添加 REJECT_LIMIT 以控制 COPY FROM 可以忽略的无效行数（Atsushi Torikoshi）§ 这在 ON_ERROR = 'ignore' 时可用。", "title": "添加 REJECT_LIMIT 以控制 COPY FROM 可以忽略的无效行数", "commits": ["4ac2a9bec"], "section": "工具命令 / COPY", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-COPY", "source_hash": "f3981715f3b71b16f4c72e77aa2ec03da5d40cb477dd6d80bc4cf5c4d4f90e5c", "section_path": ["工具命令", "COPY"], "commit_groups": [["4ac2a9bec"]], "identity_text": "Add REJECT_LIMIT to control the number of invalid rows COPY FROM can ignore (Atsushi Torikoshi) This is available when ON_ERROR = 'ignore'.", "commit_aliases": ["4ac2a9bec"], "source_commits": ["4ac2a9bec"], "source_entry_id": "18.0/changes/085", "db_id": "674d24a9f1cfc352eb2363f11a5c7539", "patch_ids": ["7f4f9e66d9ca5682846e93efd1b5fc7d"], "statement_hash": "698a53fb14412adff83d040ae615676e6a127786304207e285e2519d605a92e2", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-c3508606b1502f29", "cves": [], "html": "<p>允许 <code>COPY TO</code> 从已填充的物化视图复制行（Jian He）<a href=\"https://postgr.es/c/534874fac\">§</a></p>", "text": "允许 COPY TO 从已填充的物化视图复制行（Jian He）§", "title": "允许 COPY TO 从已填充的物化视图复制行", "commits": ["534874fac"], "section": "工具命令 / COPY", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-COPY", "source_hash": "e37c4454ecdf402763cdc909e3004d4bd7ae457a278af9953c8d49c850da3008", "section_path": ["工具命令", "COPY"], "commit_groups": [["534874fac"]], "identity_text": "Allow COPY TO to copy rows from populated materialized views (Jian He)", "commit_aliases": ["534874fac"], "source_commits": ["534874fac"], "source_entry_id": "18.0/changes/086", "db_id": "23a5576dc9182181550cee0d3d6263bc", "patch_ids": ["9ad7b973037ff1a0a179ec607ca95b25"], "statement_hash": "580d88384b12572bdc1dba7d048eec5819aaebb667e38fe313dc4e980a4939c0", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-e0de5806aef96778", "cves": [], "html": "<p>添加 <code>COPY</code> <code>LOG_VERBOSITY</code> 级别 <code>silent</code> 以抑制被忽略行的日志输出（Atsushi Torikoshi）<a href=\"https://postgr.es/c/e7834a1a2\">§</a></p>\n<p>当 <code>on_error = 'ignore'</code> 时，此新级别会抑制与被丢弃输入行有关的消息输出。</p>", "text": "添加 COPY LOG_VERBOSITY 级别 silent 以抑制被忽略行的日志输出（Atsushi Torikoshi）§ 当 on_error = 'ignore' 时，此新级别会抑制与被丢弃输入行有关的消息输出。", "title": "添加 COPY LOG_VERBOSITY 级别 silent 以抑制被忽略行的日志输出", "commits": ["e7834a1a2"], "section": "工具命令 / COPY", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-COPY", "source_hash": "e30568a05a51cc956d53c72dd6423d9460b332d5296181fd3e08afd8bd29367c", "section_path": ["工具命令", "COPY"], "commit_groups": [["e7834a1a2"]], "identity_text": "Add COPY LOG_VERBOSITY level silent to suppress log output of ignored rows (Atsushi Torikoshi) This new level suppresses output for discarded input rows when on_error = 'ignore'.", "commit_aliases": ["e7834a1a2"], "source_commits": ["e7834a1a2"], "source_entry_id": "18.0/changes/087", "db_id": "30be8963700022701b7661b754782b3b", "patch_ids": ["f569a49fa09919d4034e2b06b4c342ce"], "statement_hash": "6d5f23b832ecbeab177e4573126032823a2586d9ba213cd63d0d47a0f54a12a6", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-5e0c714e7e18b3c9", "cves": [], "html": "<p>禁止在外部表上 <code>COPY FREEZE</code>（Nathan Bossart）<a href=\"https://postgr.es/c/401a6956f\">§</a></p>\n<p>以前，<code>COPY</code> 可以工作，但 <code>FREEZE</code> 会被忽略，所以禁止此命令。</p>", "text": "禁止在外部表上 COPY FREEZE（Nathan Bossart）§ 以前，COPY 可以工作，但 FREEZE 会被忽略，所以禁止此命令。", "title": "禁止在外部表上 COPY FREEZE", "commits": ["401a6956f"], "section": "工具命令 / COPY", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-COPY", "source_hash": "2bfc9a6e767e8725680471126a503535a61702174b5a16a1bf2bd6118f06eb97", "section_path": ["工具命令", "COPY"], "commit_groups": [["401a6956f"]], "identity_text": "Disallow COPY FREEZE on foreign tables (Nathan Bossart) Previously, the COPY worked but the FREEZE was ignored, so disallow this command.", "commit_aliases": ["401a6956f"], "source_commits": ["401a6956f"], "source_entry_id": "18.0/changes/088", "db_id": "75550bfda376779970fec97260fe8639", "patch_ids": ["eee714494241fff433db4787d9092a87"], "statement_hash": "032b9ea2d143e561478378fffea7290a140c3417066719b65f9a85e0be0fc8cc", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-7d800c707135f302", "cves": [], "html": "<p>自动将 <code>BUFFERS</code> 输出包含在 <code>EXPLAIN ANALYZE</code> 中（Guillaume Lelarge, David Rowley）<a href=\"https://postgr.es/c/c2a4078eb\">§</a></p>", "text": "自动将 BUFFERS 输出包含在 EXPLAIN ANALYZE 中（Guillaume Lelarge, David Rowley）§", "title": "自动将 BUFFERS 输出包含在 EXPLAIN ANALYZE 中", "commits": ["c2a4078eb"], "section": "工具命令 / EXPLAIN", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-EXPLAIN", "source_hash": "4f1cc832b26669ebc18ab566168b38ef39fca619a6c92e252369b01f5a0bc9b1", "section_path": ["工具命令", "EXPLAIN"], "commit_groups": [["c2a4078eb"]], "identity_text": "Automatically include BUFFERS output in EXPLAIN ANALYZE (Guillaume Lelarge, David Rowley)", "commit_aliases": ["c2a4078eb"], "source_commits": ["c2a4078eb"], "source_entry_id": "18.0/changes/089", "db_id": "7d0150a8d96ebdd5210b00551808f87c", "patch_ids": ["fe41e5c5aa3992b5c1d39d93a7d6ea31"], "statement_hash": "4d3ebf18daea69902eaf0d735f16086aa29e7bb1546e40ac2dd310ec32bfb65a", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-6c92949bf5b65f24", "cves": [], "html": "<p>添加完整<acronym>WAL</acronym>缓冲区计数到 <code>EXPLAIN (WAL)</code> 输出（Bertrand Drouvot）<a href=\"https://postgr.es/c/320545bfc\">§</a></p>", "text": "添加完整WAL缓冲区计数到 EXPLAIN (WAL) 输出（Bertrand Drouvot）§", "title": "添加完整WAL缓冲区计数到 EXPLAIN (WAL) 输出", "commits": ["320545bfc"], "section": "工具命令 / EXPLAIN", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-EXPLAIN", "source_hash": "e70f8707fdfc9a5e11eecfc7be79f12ac25687ff9f9a598bab2bbed10e7952a3", "section_path": ["工具命令", "EXPLAIN"], "commit_groups": [["320545bfc"]], "identity_text": "Add full WAL buffer count to EXPLAIN (WAL) output (Bertrand Drouvot)", "commit_aliases": ["320545bfc"], "source_commits": ["320545bfc"], "source_entry_id": "18.0/changes/090", "db_id": "b1402b6353f73f398c174abfd4cb75f4", "patch_ids": ["585091e9e2e1078246b0ecd89829b72f"], "statement_hash": "2bef83ac1581f3e0e2e23bb3dffbd7e2bca8cd32e26f6b3b7649706bc5985e3b", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-2b8634d12f828ea2", "cves": [], "html": "<p>在 <code>EXPLAIN ANALYZE</code> 中，报告每个索引扫描节点使用的索引查找次数（Peter Geoghegan）<a href=\"https://postgr.es/c/0fbceae84\">§</a></p>", "text": "在 EXPLAIN ANALYZE 中，报告每个索引扫描节点使用的索引查找次数（Peter Geoghegan）§", "title": "在 EXPLAIN ANALYZE 中，报告每个索引扫描节点使用的索引查找次数", "commits": ["0fbceae84"], "section": "工具命令 / EXPLAIN", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-EXPLAIN", "source_hash": "b06d2547a2689ffeff48c0ee4af3b40f10b120d0b14fd78b648019997ca231f1", "section_path": ["工具命令", "EXPLAIN"], "commit_groups": [["0fbceae84"]], "identity_text": "In EXPLAIN ANALYZE, report the number of index lookups used per index scan node (Peter Geoghegan)", "commit_aliases": ["0fbceae84"], "source_commits": ["0fbceae84"], "source_entry_id": "18.0/changes/091", "db_id": "bab8dbda4117422a88669df5576a5023", "patch_ids": ["47bcd366fc2b2d8e747acc4acdbe8c4a"], "statement_hash": "58f0bb81e5341548a9a6e1f357ff1230ec2d0249b162ecc2c4516fa91c0cda6d", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-c5afd765f2ec5182", "cves": [], "html": "<p>修改 <code>EXPLAIN</code> 以输出小数行计数（Ibrar Ahmed, Ilia Evdokimov, Robert Haas）<a href=\"https://postgr.es/c/ddb17e387\">§</a> <a href=\"https://postgr.es/c/95dbd827f\">§</a></p>", "text": "修改 EXPLAIN 以输出小数行计数（Ibrar Ahmed, Ilia Evdokimov, Robert Haas）§ §", "title": "修改 EXPLAIN 以输出小数行计数", "commits": ["95dbd827f", "ddb17e387"], "section": "工具命令 / EXPLAIN", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-EXPLAIN", "source_hash": "8b372df1de3e847251475feecff87511212ef4a7308f2ab3f9d3991a4f7f1271", "section_path": ["工具命令", "EXPLAIN"], "commit_groups": [["95dbd827f"], ["ddb17e387"]], "identity_text": "Modify EXPLAIN to output fractional row counts (Ibrar Ahmed, Ilia Evdokimov, Robert Haas)", "commit_aliases": ["95dbd827f", "ddb17e387"], "source_commits": ["95dbd827f", "ddb17e387"], "source_entry_id": "18.0/changes/092", "db_id": "2cbb7e039caf18034654ec1ad2162ce6", "patch_ids": ["277dfa6cd96707a4511579fea69bdf42", "a7a2bc7d28fb59615d3820a1aef1ada5"], "statement_hash": "f3ad444cd57c43a8eb9aef5c6daf8d22789e8e21aecd35286d59347003a31e47", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-fa24ee0e777faef3", "cves": [], "html": "<p>在 <code>EXPLAIN</code> 输出中，为 <code>Material</code>、<code>Window Aggregate</code> 和通用表表达式节点添加内存和磁盘使用详情（David Rowley, Tatsuo Ishii）<a href=\"https://postgr.es/c/1eff8279d\">§</a> <a href=\"https://postgr.es/c/53abb1e0e\">§</a> <a href=\"https://postgr.es/c/95d6e9af0\">§</a> <a href=\"https://postgr.es/c/40708acd6\">§</a></p>", "text": "在 EXPLAIN 输出中，为 Material、Window Aggregate 和通用表表达式节点添加内存和磁盘使用详情（David Rowley, Tatsuo Ishii）§ § § §", "title": "在 EXPLAIN 输出中，为 Material、Window Aggregate 和通用表表达式节点添加内存和磁盘使用详情", "commits": ["1eff8279d", "40708acd6", "53abb1e0e", "95d6e9af0"], "section": "工具命令 / EXPLAIN", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-EXPLAIN", "source_hash": "f128c3ab11e36d502813b59e5ae2fff45e8771de891b8f3d9df293688b89b071", "section_path": ["工具命令", "EXPLAIN"], "commit_groups": [["1eff8279d"], ["40708acd6"], ["53abb1e0e"], ["95d6e9af0"]], "identity_text": "Add memory and disk usage details to Material, Window Aggregate, and common table expression nodes to EXPLAIN output (David Rowley, Tatsuo Ishii)", "commit_aliases": ["1eff8279d", "40708acd6", "53abb1e0e", "95d6e9af0"], "source_commits": ["1eff8279d", "40708acd6", "53abb1e0e", "95d6e9af0"], "source_entry_id": "18.0/changes/093", "db_id": "f7637a7e9a3f81b57fe9146041535ad8", "patch_ids": ["1df52fbee5d573687d789986df7b35c2", "c360be90ce7d5bd791ad4622b5bfbe57", "ee6f3673f5e42eb9d5bf8e348328fafe", "f8173d6a2780f722fa00fec00898b957"], "statement_hash": "82672a2762009bce7205451b2953885a722ed7d77e229835b6189709c86f9901", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-4d96d6d39066aa24", "cves": [], "html": "<p>将窗口函数参数的详细信息添加到 <code>EXPLAIN</code> 输出（Tom Lane）<a href=\"https://postgr.es/c/8b1b34254\">§</a></p>", "text": "将窗口函数参数的详细信息添加到 EXPLAIN 输出（Tom Lane）§", "title": "将窗口函数参数的详细信息添加到 EXPLAIN 输出", "commits": ["8b1b34254"], "section": "工具命令 / EXPLAIN", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-EXPLAIN", "source_hash": "a9c598e09704fea78f54ec79c93b4f2ed12edb7ffa65c7f4ff645e8207780e58", "section_path": ["工具命令", "EXPLAIN"], "commit_groups": [["8b1b34254"]], "identity_text": "Add details about window function arguments to EXPLAIN output (Tom Lane)", "commit_aliases": ["8b1b34254"], "source_commits": ["8b1b34254"], "source_entry_id": "18.0/changes/094", "db_id": "e18d645dd62690d4179d6a67439f312c", "patch_ids": ["ec84a482b22364ca0904164bf7b650a1"], "statement_hash": "b368768879451808ef2f7dd803b2c8af870c11d3c483e0d30a7664d513201eec", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-d93972b98831c53b", "cves": [], "html": "<p>将 <code>Parallel Bitmap Heap Scan</code> 工作者缓存统计信息添加到 <code>EXPLAIN ANALYZE</code>（David Geier, Heikki Linnakangas, Donghang Lin, Alena Rybakina, David Rowley）<a href=\"https://postgr.es/c/5a1e6df3b\">§</a></p>", "text": "将 Parallel Bitmap Heap Scan 工作者缓存统计信息添加到 EXPLAIN ANALYZE（David Geier, Heikki Linnakangas, Donghang Lin, Alena Rybakina, David Rowley）§", "title": "将 Parallel Bitmap Heap Scan 工作者缓存统计信息添加到 EXPLAIN ANALYZE", "commits": ["5a1e6df3b"], "section": "工具命令 / EXPLAIN", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-EXPLAIN", "source_hash": "382a101c5350e51e68527939a7c17f3fbe53b219e5fe816c8ac8707b587e49d8", "section_path": ["工具命令", "EXPLAIN"], "commit_groups": [["5a1e6df3b"]], "identity_text": "Add Parallel Bitmap Heap Scan worker cache statistics to EXPLAIN ANALYZE (David Geier, Heikki Linnakangas, Donghang Lin, Alena Rybakina, David Rowley)", "commit_aliases": ["5a1e6df3b"], "source_commits": ["5a1e6df3b"], "source_entry_id": "18.0/changes/095", "db_id": "778e042a7bca864fc20e787657eae283", "patch_ids": ["e13545dcffc8e4f5983b60b2c8dc26ba"], "statement_hash": "d40345a739f93231913a4643f6a21e7b83e12c707c288b83ad808ec462ebfab5", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-7c45ac9f12d96324", "cves": [], "html": "<p>在 <code>EXPLAIN ANALYZE</code> 输出中指示已禁用节点（Robert Haas, David Rowley, Laurenz Albe）<a href=\"https://postgr.es/c/c01743aa4\">§</a> <a href=\"https://postgr.es/c/161320b4b\">§</a> <a href=\"https://postgr.es/c/84b8fccbe\">§</a></p>", "text": "在 EXPLAIN ANALYZE 输出中指示已禁用节点（Robert Haas, David Rowley, Laurenz Albe）§ § §", "title": "在 EXPLAIN ANALYZE 输出中指示已禁用节点", "commits": ["161320b4b", "84b8fccbe", "c01743aa4"], "section": "工具命令 / EXPLAIN", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-EXPLAIN", "source_hash": "fe9c0805a96c737b939c7d7c8fdc3329f7bda6e4ff8933f5a1f2595bb3219c99", "section_path": ["工具命令", "EXPLAIN"], "commit_groups": [["161320b4b"], ["84b8fccbe"], ["c01743aa4"]], "identity_text": "Indicate disabled nodes in EXPLAIN ANALYZE output (Robert Haas, David Rowley, Laurenz Albe)", "commit_aliases": ["161320b4b", "84b8fccbe", "c01743aa4"], "source_commits": ["161320b4b", "84b8fccbe", "c01743aa4"], "source_entry_id": "18.0/changes/096", "db_id": "23300e43061f5fe045f54955a393e875", "patch_ids": ["a368e7a7240f0fb39e7661639c1ec43f", "b0f9881746d36f6f632c01f913c024af", "b3db3ec60dd1a995198a4a30f82beeb4"], "statement_hash": "d7e90390fe778b0bea90d6844d9f6909dcab1b9e76b1990046da386d75f0f3bd", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-3b5b364cf7dc2091", "cves": [], "html": "<p>改进 <a href=\"/docs/18/collation.html#COLLATION-MANAGING-STANDARD\" title=\"23.2.2.1. 标准排序规则\">Unicode</a> 全大小写映射和转换（Jeff Davis）<a href=\"https://postgr.es/c/4e7f62bc3\">§</a> <a href=\"https://postgr.es/c/286a365b9\">§</a></p>\n<p>这增加了进行条件和标题大小写映射的能力，以及将单个字符大小写映射到多个字符的能力。</p>", "text": "改进 Unicode 全大小写映射和转换（Jeff Davis）§ § 这增加了进行条件和标题大小写映射的能力，以及将单个字符大小写映射到多个字符的能力。", "title": "改进 Unicode 全大小写映射和转换", "commits": ["286a365b9", "4e7f62bc3"], "section": "数据类型", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-DATATYPES", "source_hash": "44c26c92986f06630e401c20db860295e1e24fcd5259ea9ea934f4bf062fdd8e", "section_path": ["数据类型"], "commit_groups": [["286a365b9"], ["4e7f62bc3"]], "identity_text": "Improve Unicode full case mapping and conversion (Jeff Davis) This adds the ability to do conditional and title case mapping, and case map single characters to multiple characters.", "commit_aliases": ["286a365b9", "4e7f62bc3"], "source_commits": ["286a365b9", "4e7f62bc3"], "source_entry_id": "18.0/changes/097", "db_id": "1b2ed6a4886122496b4235e9bc502410", "patch_ids": ["0bc695a859154bdbe2aa4141a8c131d7", "c4d90a2c6dc576697ae6803230585a80"], "statement_hash": "02776b8149a82584d272cc2094e4a669aca778c5844f65839a5f72cf0687f143", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-40f5a48bcd0f93e0", "cves": [], "html": "<p>允许在将 <a href=\"/docs/18/datatype-json.html\" title=\"8.14. JSON 类型\"><code>jsonb</code></a> <code>null</code> 值转换为标量类型时返回 <code>NULL</code>（Tom Lane）<a href=\"https://postgr.es/c/a5579a90a\">§</a></p>\n<p>以前这样的转换会产生错误。</p>", "text": "允许在将 jsonb null 值转换为标量类型时返回 NULL（Tom Lane）§ 以前这样的转换会产生错误。", "title": "允许在将 jsonb null 值转换为标量类型时返回 NULL", "commits": ["a5579a90a"], "section": "数据类型", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-DATATYPES", "source_hash": "1e15ce0182df8ba9bb4f5d3c70a693a1c71b87744e48c4280afcb76462804520", "section_path": ["数据类型"], "commit_groups": [["a5579a90a"]], "identity_text": "Allow jsonb null values to be cast to scalar types as NULL (Tom Lane) Previously such casts generated an error.", "commit_aliases": ["a5579a90a"], "source_commits": ["a5579a90a"], "source_entry_id": "18.0/changes/098", "db_id": "707a9526e8d1e6416419dcc4e0f8c1fb", "patch_ids": ["f6184b101cbccd529291b34b9ea43559"], "statement_hash": "e835773742df55f58b57f5dbf777b47ddc9916b939e5f10a60426d8f63610fdd", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-ae21c8cd0f07e687", "cves": [], "html": "<p>向 <a href=\"/docs/18/functions-json.html#FUNCTIONS-JSON-PROCESSING-TABLE\" title=\"表 9.51. JSON 处理函数\"><code>json{b}_strip_nulls</code></a> 添加可选参数，以允许删除数组中的空值元素（Florents Tselai）<a href=\"https://postgr.es/c/4603903d2\">§</a></p>", "text": "向 json{b}_strip_nulls 添加可选参数，以允许删除数组中的空值元素（Florents Tselai）§", "title": "向 json{b}_strip_nulls 添加可选参数，以允许删除数组中的空值元素", "commits": ["4603903d2"], "section": "数据类型", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-DATATYPES", "source_hash": "4c2e22cc8bbb8a2d5f13e86d2e97e51a1bc8f88c107067a603ace9ebb1958a85", "section_path": ["数据类型"], "commit_groups": [["4603903d2"]], "identity_text": "Add optional parameter to json{b}_strip_nulls to allow removal of null array elements (Florents Tselai)", "commit_aliases": ["4603903d2"], "source_commits": ["4603903d2"], "source_entry_id": "18.0/changes/099", "db_id": "ed4ae5d934182b8abe85d461b1aec905", "patch_ids": ["53957a139405a1a63e2a80ae5c7633c5"], "statement_hash": "2353d6854c138551fa6c128dc9828ac36b241d8c813afe7719a90cbfd0e910d5", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-cdab036fc6d4e8d8", "cves": [], "html": "<p>添加函数 <a href=\"/docs/18/functions-array.html#ARRAY-FUNCTIONS-TABLE\" title=\"表 9.57. 数组函数\"><code>array_sort()</code></a>，它对数组的第一维进行排序（Junwang Zhao, Jian He）<a href=\"https://postgr.es/c/6c12ae09f\">§</a></p>", "text": "添加函数 array_sort()，它对数组的第一维进行排序（Junwang Zhao, Jian He）§", "title": "添加函数 array_sort()，它对数组的第一维进行排序", "commits": ["6c12ae09f"], "section": "数据类型", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-DATATYPES", "source_hash": "d7b1e0835defdcd73c1e32e6c1505e43bd755d4dea033a81de1a49ce898debb2", "section_path": ["数据类型"], "commit_groups": [["6c12ae09f"]], "identity_text": "Add function array_sort() which sorts an array's first dimension (Junwang Zhao, Jian He)", "commit_aliases": ["6c12ae09f"], "source_commits": ["6c12ae09f"], "source_entry_id": "18.0/changes/100", "db_id": "4de325fa4535491c0694238b7c98f7e6", "patch_ids": ["c7bff0b37a68e7db3427774c38619ac7"], "statement_hash": "1b8e208dd9da84b68630db6e70eaa1b1e97cbd8295baf3141f5837933861cba9", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-86c581480e2b06b6", "cves": [], "html": "<p>添加函数 <a href=\"/docs/18/functions-array.html#ARRAY-FUNCTIONS-TABLE\" title=\"表 9.57. 数组函数\"><code>array_reverse()</code></a>，它反转数组的第一维（Aleksander Alekseev）<a href=\"https://postgr.es/c/49d6c7d8d\">§</a></p>", "text": "添加函数 array_reverse()，它反转数组的第一维（Aleksander Alekseev）§", "title": "添加函数 array_reverse()，它反转数组的第一维", "commits": ["49d6c7d8d"], "section": "数据类型", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-DATATYPES", "source_hash": "0631b9c5fc256653b132c39b3f93cb09c7938372c029c53b13f58d93b434e1d7", "section_path": ["数据类型"], "commit_groups": [["49d6c7d8d"]], "identity_text": "Add function array_reverse() which reverses an array's first dimension (Aleksander Alekseev)", "commit_aliases": ["49d6c7d8d"], "source_commits": ["49d6c7d8d"], "source_entry_id": "18.0/changes/101", "db_id": "04303e115e57612dca79ef5a9ab63041", "patch_ids": ["03ae5b8911f272ccafb9c3876c7f3387"], "statement_hash": "8008e051e0fc517cdec2a45e989e6e7cf3ead188464cab7ad031a5aa5adf21bc", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-0577acf6a756e006", "cves": [], "html": "<p>添加函数 <a href=\"/docs/18/functions-string.html#FUNCTIONS-STRING-OTHER\" title=\"表 9.10. 其他字符串函数和操作符\"><code>reverse()</code></a> 以反转 bytea 字节（Aleksander Alekseev）<a href=\"https://postgr.es/c/0697b2390\">§</a></p>", "text": "添加函数 reverse() 以反转 bytea 字节（Aleksander Alekseev）§", "title": "添加函数 reverse() 以反转 bytea 字节", "commits": ["0697b2390"], "section": "数据类型", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-DATATYPES", "source_hash": "1391c72bc875fa563fe97e4f3f326d89ade66c1b138208d1e0a1347035f3eef4", "section_path": ["数据类型"], "commit_groups": [["0697b2390"]], "identity_text": "Add function reverse() to reverse bytea bytes (Aleksander Alekseev)", "commit_aliases": ["0697b2390"], "source_commits": ["0697b2390"], "source_entry_id": "18.0/changes/102", "db_id": "f44735403faab808dbc8e70e494d5367", "patch_ids": ["5cd9af568be42f1acea780c7bf2bdae5"], "statement_hash": "db66fdeed8508fd104685446965f51db4ef1eff1fd2180c36767e29306ad806b", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-2fef43c8223cf526", "cves": [], "html": "<p>允许在整数类型和 <a href=\"/docs/18/datatype-binary.html\" title=\"8.4. 二进制数据类型\"><code>bytea</code></a> 之间进行转换（Aleksander Alekseev）<a href=\"https://postgr.es/c/6da469bad\">§</a></p>\n<p>整数值存储为 <code>bytea</code> 二进制补码值。</p>", "text": "允许在整数类型和 bytea 之间进行转换（Aleksander Alekseev）§ 整数值存储为 bytea 二进制补码值。", "title": "允许在整数类型和 bytea 之间进行转换", "commits": ["6da469bad"], "section": "数据类型", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-DATATYPES", "source_hash": "ac3d81087880686f7b48568deaab6ff750ea049c29d4a529345affdd9137af3a", "section_path": ["数据类型"], "commit_groups": [["6da469bad"]], "identity_text": "Allow casting between integer types and bytea (Aleksander Alekseev) The integer values are stored as bytea two's complement values.", "commit_aliases": ["6da469bad"], "source_commits": ["6da469bad"], "source_entry_id": "18.0/changes/103", "db_id": "5551ec9759852e876b78cdf60b7e5861", "patch_ids": ["129367dc9e7217c5b7de91653664e367"], "statement_hash": "6e79726a30c9f23d82d38671f942cd48ed1a9b83b8184d44b3cd08ccdc47ba18", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-9e53e6011ccb2bae", "cves": [], "html": "<p>更新 Unicode 数据至 <a href=\"/docs/18/collation.html#COLLATION-MANAGING-STANDARD\" title=\"23.2.2.1. 标准排序规则\">Unicode</a> 16.0.0（Peter Eisentraut）<a href=\"https://postgr.es/c/82a46cca9\">§</a></p>", "text": "更新 Unicode 数据至 Unicode 16.0.0（Peter Eisentraut）§", "title": "更新 Unicode 数据至 Unicode 16.0.0", "commits": ["82a46cca9"], "section": "数据类型", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-DATATYPES", "source_hash": "7b363edbf7fc1652e00ae639f016a531400b78a1501225262fbf76a7fc2c0dd8", "section_path": ["数据类型"], "commit_groups": [["82a46cca9"]], "identity_text": "Update Unicode data to Unicode 16.0.0 (Peter Eisentraut)", "commit_aliases": ["82a46cca9"], "source_commits": ["82a46cca9"], "source_entry_id": "18.0/changes/104", "db_id": "b3a13160940dac3f7a1a1af7f4cf764d", "patch_ids": ["37e8f514959e205b0155b61312d52d56"], "statement_hash": "dc448dd80b25033f629182d9bb00f6e6eb258933e0fc988309cd3ddbaf4be408", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-ddc75ea0db8ffc49", "cves": [], "html": "<p>添加爱沙尼亚语的全文检索<a href=\"/docs/18/textsearch-dictionaries.html#TEXTSEARCH-SNOWBALL-DICTIONARY\" title=\"12.6.6. Snowball 词典\">词干提取</a>（Tom Lane）<a href=\"https://postgr.es/c/b464e51ab\">§</a></p>", "text": "添加爱沙尼亚语的全文检索词干提取（Tom Lane）§", "title": "添加爱沙尼亚语的全文检索词干提取", "commits": ["b464e51ab"], "section": "数据类型", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-DATATYPES", "source_hash": "dd6878414ee23406689c7eefc1a641935c96e6bd890e0e1431ff6fd28bfca759", "section_path": ["数据类型"], "commit_groups": [["197427fb3", "7edd2cbc5", "8388cae55", "9c46d902b", "b464e51ab", "c0c364fa1"]], "identity_text": "Add full text search stemming for Estonian (Tom Lane)", "commit_aliases": ["197427fb3", "7edd2cbc5", "8388cae55", "9c46d902b", "b464e51ab", "c0c364fa1"], "source_commits": ["b464e51ab"], "source_entry_id": "18.0/changes/105", "db_id": "d02c90e2590d4a47f73a5782496b4966", "patch_ids": ["d20fbffc83ee90d1348f1d03836b8f18"], "statement_hash": "765cc1defacc087129eb32bf5f736de4c5be16883a95fba7b8adca47a87ce874", "relations": [{"rule": 2, "type": "related", "target": "00feddbb8384a7a8cefe4217cd497215", "evidence": {"same_day": false, "patch_ids": ["d20fbffc83ee90d1348f1d03836b8f18"]}}, {"rule": 2, "type": "related", "target": "43dbc69a435522e8a12bbf37193bcbca", "evidence": {"same_day": false, "patch_ids": ["d20fbffc83ee90d1348f1d03836b8f18"]}}, {"rule": 2, "type": "related", "target": "c2850458f2850974df366bef8a85488e", "evidence": {"same_day": false, "patch_ids": ["d20fbffc83ee90d1348f1d03836b8f18"]}}, {"rule": 2, "type": "related", "target": "d6bf0f560b8ac8cad3c1d6a070b45594", "evidence": {"same_day": false, "patch_ids": ["d20fbffc83ee90d1348f1d03836b8f18"]}}, {"rule": 2, "type": "related", "target": "fe6fa87c7f7a2f01e5226fc8b75d4395", "evidence": {"same_day": false, "patch_ids": ["d20fbffc83ee90d1348f1d03836b8f18"]}}], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": [{"db_id": "fe6fa87c7f7a2f01e5226fc8b75d4395", "kind": "related", "version": "17.5", "label": "17.5", "title": "避免在 Snowball 词干提取器遇到内存不足条件时崩溃", "evidence": {"same_day": false, "patch_ids": ["d20fbffc83ee90d1348f1d03836b8f18"]}, "url": "/docs/compare/?release=17.5#17.5-88fad50b7b3b2e15", "source_url": "/docs/release/17.5/#RELEASE-17-5-CHANGES"}, {"db_id": "c2850458f2850974df366bef8a85488e", "kind": "related", "version": "16.9", "label": "16.9", "title": "避免在 Snowball 词干提取器遇到内存不足条件时崩溃", "evidence": {"same_day": false, "patch_ids": ["d20fbffc83ee90d1348f1d03836b8f18"]}, "url": "/docs/compare/?release=16.9#16.9-71f38ed0f1b64f88", "source_url": "/docs/release/16.9/#RELEASE-16-9-CHANGES"}, {"db_id": "00feddbb8384a7a8cefe4217cd497215", "kind": "related", "version": "15.13", "label": "15.13", "title": "避免在 Snowball 词干提取器遇到内存不足条件时崩溃", "evidence": {"same_day": false, "patch_ids": ["d20fbffc83ee90d1348f1d03836b8f18"]}, "url": "/docs/compare/?release=15.13#15.13-6fa1c30b53ef4a7a", "source_url": "/docs/release/15.13/#ZH-AUTO-RELEASE-15-SECT2-10"}, {"db_id": "d6bf0f560b8ac8cad3c1d6a070b45594", "kind": "related", "version": "14.18", "label": "14.18", "title": "避免在 Snowball 词干提取器遇到内存不足条件时崩溃", "evidence": {"same_day": false, "patch_ids": ["d20fbffc83ee90d1348f1d03836b8f18"]}, "url": "/docs/compare/?release=14.18#14.18-813abffbc8584526", "source_url": "/docs/release/14.18/#ZH-AUTO-RELEASE-14-SECT2-10"}, {"db_id": "43dbc69a435522e8a12bbf37193bcbca", "kind": "related", "version": "13.21", "label": "13.21", "title": "避免在 Snowball 词干提取器遇到内存不足条件时崩溃", "evidence": {"same_day": false, "patch_ids": ["d20fbffc83ee90d1348f1d03836b8f18"]}, "url": "/docs/compare/?release=13.21#13.21-7de382d5402e6e82", "source_url": "/docs/release/13.21/#id-1.11.6.8.6"}]}, {"id": "18.0-b8b7af2d05807f76", "cves": [], "html": "<p>改进 <a href=\"/docs/18/datatype-xml.html\" title=\"8.13. XML类型\"><code>XML</code></a> 错误代码以更接近<acronym>SQL</acronym>标准（Tom Lane）<a href=\"https://postgr.es/c/cd838e200\">§</a></p>\n<p>这些错误通过 <a href=\"/docs/18/errcodes-appendix.html\" title=\"附录 A. PostgreSQL错误代码\"><code>SQLSTATE</code></a> 报告。</p>", "text": "改进 XML 错误代码以更接近SQL标准（Tom Lane）§ 这些错误通过 SQLSTATE 报告。", "title": "改进 XML 错误代码以更接近SQL标准", "commits": ["cd838e200"], "section": "数据类型", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-DATATYPES", "source_hash": "b003b4d98dbd5677c14bef49c97e4a7845d1314b654ffa4843f446d7091d0cc6", "section_path": ["数据类型"], "commit_groups": [["cd838e200"]], "identity_text": "Improve the XML error codes to more closely match the SQL standard (Tom Lane) These errors are reported via SQLSTATE.", "commit_aliases": ["cd838e200"], "source_commits": ["cd838e200"], "source_entry_id": "18.0/changes/106", "db_id": "29cf32d71ceaf941577232a9a6de849b", "patch_ids": ["d0cddeae6cd2c47e599df50be2682b02"], "statement_hash": "7e7aa4253ca1fd37a6b6fde5f48c3cfc8d4b57bc08b4970e5dc0f9548fa01120", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-e2d27c73a2e364fd", "cves": [], "html": "<p>添加函数 <a href=\"/docs/18/functions-string.html#FUNCTIONS-STRING-OTHER\" title=\"表 9.10. 其他字符串函数和操作符\"><code>casefold()</code></a> 以允许更复杂的忽略大小写匹配（Jeff Davis）<a href=\"https://postgr.es/c/bfc599206\">§</a></p>\n<p>这允许更准确的比较，即一个字符可以有多个大写或小写等价物，或者大写或小写转换会改变字符的数量。</p>", "text": "添加函数 casefold() 以允许更复杂的忽略大小写匹配（Jeff Davis）§ 这允许更准确的比较，即一个字符可以有多个大写或小写等价物，或者大写或小写转换会改变字符的数量。", "title": "添加函数 casefold() 以允许更复杂的忽略大小写匹配", "commits": ["bfc599206"], "section": "函数", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-FUNCTIONS", "source_hash": "45cb069e223659d8f877c9a2110d431b847abaa3d2bf90c2d51977f38f2e6cb4", "section_path": ["函数"], "commit_groups": [["bfc599206"]], "identity_text": "Add function casefold() to allow for more sophisticated case-insensitive matching (Jeff Davis) This allows more accurate comparisons, i.e., a character can have multiple upper or lower case equivalents, or upper or lower case conversion changes the number of characters.", "commit_aliases": ["bfc599206"], "source_commits": ["bfc599206"], "source_entry_id": "18.0/changes/107", "db_id": "b6349fdce5ba2ae112d0be3d05e38198", "patch_ids": ["0684a21f7afe3e30c9299aaa67789314"], "statement_hash": "c9d001f8f460c1f05dad5d20c8956c701fd640f0996cec7198b5decd3f545c09", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-ce3995bf22cc0e40", "cves": [], "html": "<p>允许在数组和复合类型上进行 <a href=\"/docs/18/functions-aggregate.html#FUNCTIONS-AGGREGATE-TABLE\" title=\"表 9.62. 通用聚合函数\"><code>MIN()</code></a>/<a href=\"/docs/18/functions-aggregate.html#FUNCTIONS-AGGREGATE-TABLE\" title=\"表 9.62. 通用聚合函数\"><code>MAX()</code></a> 聚合（Aleksander Alekseev, Marat Buharov）<a href=\"https://postgr.es/c/a0f1fce80\">§</a> <a href=\"https://postgr.es/c/2d24fd942\">§</a></p>", "text": "允许在数组和复合类型上进行 MIN()/MAX() 聚合（Aleksander Alekseev, Marat Buharov）§ §", "title": "允许在数组和复合类型上进行 MIN()/MAX() 聚合", "commits": ["2d24fd942", "a0f1fce80"], "section": "函数", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-FUNCTIONS", "source_hash": "5cadbbf5599ab2314a87ecb4f26020de91d5430e9148ef87b799d1518fcb25db", "section_path": ["函数"], "commit_groups": [["2d24fd942"], ["a0f1fce80"]], "identity_text": "Allow MIN()/MAX() aggregates on arrays and composite types (Aleksander Alekseev, Marat Buharov)", "commit_aliases": ["2d24fd942", "a0f1fce80"], "source_commits": ["2d24fd942", "a0f1fce80"], "source_entry_id": "18.0/changes/108", "db_id": "ff1f62132a8b10a5b46e5398263f6f25", "patch_ids": ["3edf790a09115a97da7454a772b4af24", "918dcba37bfa104714d105730a4fe810"], "statement_hash": "34aeb4e9e3d29179eef8e884691002728bd47baa789e80ea81c923f3f1058f93", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-912905720da7efe9-1", "cves": [], "html": "<p>向 <a href=\"/docs/18/functions-datetime.html#FUNCTIONS-DATETIME-EXTRACT\" title=\"9.9.1. EXTRACT, date_part\"><code>EXTRACT()</code></a> 添加 <code>WEEK</code> 选项（Tom Lane）<a href=\"https://postgr.es/c/6be39d77a\">§</a></p>", "text": "向 EXTRACT() 添加 WEEK 选项（Tom Lane）§", "title": "向 EXTRACT() 添加 WEEK 选项", "commits": ["6be39d77a"], "section": "函数", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-FUNCTIONS", "source_hash": "c369144b029e6d7b953c4f7ee1baf0f025f8ff93f1ab0ece012d7d3c272b17b1", "section_path": ["函数"], "commit_groups": [["6be39d77a"]], "identity_text": "Add a WEEK option to EXTRACT() (Tom Lane)", "commit_aliases": ["6be39d77a"], "source_commits": ["6be39d77a"], "source_entry_id": "18.0/changes/109", "db_id": "b3cffadee5353df8dd7872750d4fb682", "patch_ids": ["c19cf27dbaa7653c29b3098b611b1638"], "statement_hash": "d8e836149292c973d2a0f09ad1d451f9e0d694896adc926732c9f533896bd490", "relations": [{"rule": 2, "type": "related", "target": "ade04ae5639b5e3efcd757143411e3ce", "evidence": {"same_day": true, "patch_ids": ["c19cf27dbaa7653c29b3098b611b1638"], "ambiguous_patch_ids": ["c19cf27dbaa7653c29b3098b611b1638"]}}], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": [{"db_id": "ade04ae5639b5e3efcd757143411e3ce", "kind": "related", "version": "18.0", "label": "18.0", "title": "改进 EXTRACT(QUARTER ...) 对负值的输出", "evidence": {"same_day": true, "patch_ids": ["c19cf27dbaa7653c29b3098b611b1638"], "ambiguous_patch_ids": ["c19cf27dbaa7653c29b3098b611b1638"]}, "url": "/docs/compare/?release=18.0#18.0-912905720da7efe9-2", "source_url": "/docs/release/18.0/#RELEASE-18-FUNCTIONS"}]}, {"id": "18.0-912905720da7efe9-2", "cves": [], "html": "<p>改进 <code>EXTRACT(QUARTER ...)</code> 对负值的输出（Tom Lane）<a href=\"https://postgr.es/c/6be39d77a\">§</a></p>", "text": "改进 EXTRACT(QUARTER ...) 对负值的输出（Tom Lane）§", "title": "改进 EXTRACT(QUARTER ...) 对负值的输出", "commits": ["6be39d77a"], "section": "函数", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-FUNCTIONS", "source_hash": "72c85521604e9cca15c3f296bcf42cbfa34ae96e6cbafa6537be6b0d02e10620", "section_path": ["函数"], "commit_groups": [["6be39d77a"]], "identity_text": "Improve the output EXTRACT(QUARTER ...) for negative values (Tom Lane)", "commit_aliases": ["6be39d77a"], "source_commits": ["6be39d77a"], "source_entry_id": "18.0/changes/110", "db_id": "ade04ae5639b5e3efcd757143411e3ce", "patch_ids": ["c19cf27dbaa7653c29b3098b611b1638"], "statement_hash": "a214ee4643d1d9bf98ef496b4419597961fc04d5f9e0d55db52838d472d932f1", "relations": [{"rule": 2, "type": "related", "target": "b3cffadee5353df8dd7872750d4fb682", "evidence": {"same_day": true, "patch_ids": ["c19cf27dbaa7653c29b3098b611b1638"], "ambiguous_patch_ids": ["c19cf27dbaa7653c29b3098b611b1638"]}}], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": [{"db_id": "b3cffadee5353df8dd7872750d4fb682", "kind": "related", "version": "18.0", "label": "18.0", "title": "向 EXTRACT() 添加 WEEK 选项", "evidence": {"same_day": true, "patch_ids": ["c19cf27dbaa7653c29b3098b611b1638"], "ambiguous_patch_ids": ["c19cf27dbaa7653c29b3098b611b1638"]}, "url": "/docs/compare/?release=18.0#18.0-912905720da7efe9-1", "source_url": "/docs/release/18.0/#RELEASE-18-FUNCTIONS"}]}, {"id": "18.0-9266df115e3aa81e", "cves": [], "html": "<p>向 <a href=\"/docs/18/functions-formatting.html#FUNCTIONS-FORMATTING-TABLE\" title=\"表 9.26. 格式化函数\"><code>to_number()</code></a> 添加罗马数字支持（Hunaid Sohail）<a href=\"https://postgr.es/c/172e6b3ad\">§</a></p>\n<p>这通过 <code>RN</code> 模式访问。</p>", "text": "向 to_number() 添加罗马数字支持（Hunaid Sohail）§ 这通过 RN 模式访问。", "title": "向 to_number() 添加罗马数字支持", "commits": ["172e6b3ad"], "section": "函数", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-FUNCTIONS", "source_hash": "32bda5c343b0e274152cea92bbc66b00d80c0ad61b63250b896faf088627ead4", "section_path": ["函数"], "commit_groups": [["172e6b3ad"]], "identity_text": "Add roman numeral support to to_number() (Hunaid Sohail) This is accessed via the RN pattern.", "commit_aliases": ["172e6b3ad"], "source_commits": ["172e6b3ad"], "source_entry_id": "18.0/changes/111", "db_id": "e0cbd160d06a691a81d92c71d409a5ef", "patch_ids": ["133b66dc3fa7a00aecec6623a2a0104a"], "statement_hash": "3ad41892efe6fea4d12c377eae3bb3908d356da0f989fc2b51e3072b9dcd7439", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-52e9852e47103ed3", "cves": [], "html": "<p>添加 <a href=\"/docs/18/datatype-uuid.html\" title=\"8.12. UUID类型\"><code>UUID</code></a> 版本7生成函数 <a href=\"/docs/18/functions-uuid.html#FUNC_UUID_GEN_TABLE\" title=\"表 9.45. UUID 生成函数\"><code>uuidv7()</code></a>（Andrey Borodin）<a href=\"https://postgr.es/c/78c5e141e\">§</a></p>\n<p>此 <code>UUID</code> 值可按时间排序。已添加函数别名 <a href=\"/docs/18/functions-uuid.html#FUNC_UUID_GEN_TABLE\" title=\"表 9.45. UUID 生成函数\"><code>uuidv4()</code></a> 以显式生成版本4 UUID。</p>", "text": "添加 UUID 版本7生成函数 uuidv7()（Andrey Borodin）§ 此 UUID 值可按时间排序。已添加函数别名 uuidv4() 以显式生成版本4 UUID。", "title": "添加 UUID 版本7生成函数 uuidv7()", "commits": ["78c5e141e"], "section": "函数", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-FUNCTIONS", "source_hash": "7877416c8bc1ed72cd83517c7cfa2be9454b995e7c9ecbc06655eb24026b18dd", "section_path": ["函数"], "commit_groups": [["78c5e141e"]], "identity_text": "Add UUID version 7 generation function uuidv7() (Andrey Borodin) This UUID value is temporally sortable. Function alias uuidv4() has been added to explicitly generate version 4 UUIDs.", "commit_aliases": ["78c5e141e"], "source_commits": ["78c5e141e"], "source_entry_id": "18.0/changes/112", "db_id": "cece32c4a51bdf23bee2a0f29962d93d", "patch_ids": ["56fa70c05aee3519b8c7f629a11367fa"], "statement_hash": "e0da520f09f4f2ac133bc0bff5d10a98c32f202b283cfa8927ddc7514e82334d", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-23affdf8f4bdf2b0", "cves": [], "html": "<p>添加函数 <a href=\"/docs/18/functions-binarystring.html#FUNCTIONS-BINARYSTRING-OTHER\" title=\"表 9.12. 其他二进制串函数\"><code>crc32()</code></a> 和 <a href=\"/docs/18/functions-binarystring.html#FUNCTIONS-BINARYSTRING-OTHER\" title=\"表 9.12. 其他二进制串函数\"><code>crc32c()</code></a> 以计算<acronym>CRC</acronym>值（Aleksander Alekseev）<a href=\"https://postgr.es/c/760162fed\">§</a></p>", "text": "添加函数 crc32() 和 crc32c() 以计算CRC值（Aleksander Alekseev）§", "title": "添加函数 crc32() 和 crc32c() 以计算CRC值", "commits": ["760162fed"], "section": "函数", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-FUNCTIONS", "source_hash": "186d4a85f05026c3f1e1b5cedc85be001793dd4387c3846bd784693e34d9df3e", "section_path": ["函数"], "commit_groups": [["760162fed"]], "identity_text": "Add functions crc32() and crc32c() to compute CRC values (Aleksander Alekseev)", "commit_aliases": ["760162fed"], "source_commits": ["760162fed"], "source_entry_id": "18.0/changes/113", "db_id": "4adbc4a880c6d186b573a23b72e25743", "patch_ids": ["f072ba34fd057475f25240221b644589"], "statement_hash": "b7c1fff56676d7a5ea8f068fd55d5c9250a4f76ec60d2244c2e801cfe67c7e03", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-f68600c658326b87", "cves": [], "html": "<p>添加数学函数 <a href=\"/docs/18/functions-math.html#FUNCTIONS-MATH-FUNC-TABLE\" title=\"表 9.5. 数学函数\"><code>gamma()</code></a> 和 <a href=\"/docs/18/functions-math.html#FUNCTIONS-MATH-FUNC-TABLE\" title=\"表 9.5. 数学函数\"><code>lgamma()</code></a>（Dean Rasheed）<a href=\"https://postgr.es/c/a3b6dfd41\">§</a></p>", "text": "添加数学函数 gamma() 和 lgamma()（Dean Rasheed）§", "title": "添加数学函数 gamma() 和 lgamma()", "commits": ["a3b6dfd41"], "section": "函数", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-FUNCTIONS", "source_hash": "0e6224fe43da67b085f65cee813ae8aad126061d045f1ff177ccd09630b490bd", "section_path": ["函数"], "commit_groups": [["a3b6dfd41"]], "identity_text": "Add math functions gamma() and lgamma() (Dean Rasheed)", "commit_aliases": ["a3b6dfd41"], "source_commits": ["a3b6dfd41"], "source_entry_id": "18.0/changes/114", "db_id": "986dd3e980b067ffd2e6eecdfc4befd1", "patch_ids": ["e0b46f5f41bfa3e2a42c6d003da6b3d5"], "statement_hash": "6e74c2ea38c261b8bb55b6b1bcd723c5977a27e47fe892c9b2fbb23d25a61bef", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-b1f124a5d3f4bc3b", "cves": [], "html": "<p>允许在 <a href=\"/docs/18/plpgsql.html\" title=\"第 41 章 PL/pgSQL — SQL 过程语言\">PL/pgSQL</a> 中使用 <code>=&gt;</code> 语法指定具名游标参数（Pavel Stehule）<a href=\"https://postgr.es/c/246dedc5d\">§</a></p>\n<p>我们以前只接受 <code>:=</code>。</p>", "text": "允许在 PL/pgSQL 中使用 => 语法指定具名游标参数（Pavel Stehule）§ 我们以前只接受 :=。", "title": "允许在 PL/pgSQL 中使用 => 语法指定具名游标参数", "commits": ["246dedc5d"], "section": "函数", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-FUNCTIONS", "source_hash": "0d96d209799c5f086a10c64775cb42339b3d437dcb75d4c0b0d7ca78d9aa678e", "section_path": ["函数"], "commit_groups": [["246dedc5d"]], "identity_text": "Allow => syntax for named cursor arguments in PL/pgSQL (Pavel Stehule) We previously only accepted :=.", "commit_aliases": ["246dedc5d"], "source_commits": ["246dedc5d"], "source_entry_id": "18.0/changes/115", "db_id": "a4ea7ded150aaebd8e3d529313e4ff98", "patch_ids": ["93da3674645c806399e4a7258ccd3d35"], "statement_hash": "add7c95473de1dd4a0566aaf8254da83d00c65a5719b19d40aa9c92d4001cd1c", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-e30e9bad38a04eea", "cves": [], "html": "<p>允许 <a href=\"/docs/18/functions-matching.html#FUNCTIONS-POSIX-REGEXP\" title=\"9.7.3. POSIX正则表达式\"><code>regexp_match[es]()</code></a>/<a href=\"/docs/18/functions-matching.html#FUNCTIONS-POSIX-REGEXP\" title=\"9.7.3. POSIX正则表达式\"><code>regexp_like()</code></a>/<a href=\"/docs/18/functions-matching.html#FUNCTIONS-POSIX-REGEXP\" title=\"9.7.3. POSIX正则表达式\"><code>regexp_replace()</code></a>/<a href=\"/docs/18/functions-matching.html#FUNCTIONS-POSIX-REGEXP\" title=\"9.7.3. POSIX正则表达式\"><code>regexp_count()</code></a>/<a href=\"/docs/18/functions-matching.html#FUNCTIONS-POSIX-REGEXP\" title=\"9.7.3. POSIX正则表达式\"><code>regexp_instr()</code></a>/<a href=\"/docs/18/functions-matching.html#FUNCTIONS-POSIX-REGEXP\" title=\"9.7.3. POSIX正则表达式\"><code>regexp_substr()</code></a>/<a href=\"/docs/18/functions-matching.html#FUNCTIONS-POSIX-REGEXP\" title=\"9.7.3. POSIX正则表达式\"><code>regexp_split_to_table()</code></a>/<a href=\"/docs/18/functions-matching.html#FUNCTIONS-POSIX-REGEXP\" title=\"9.7.3. POSIX正则表达式\"><code>regexp_split_to_array()</code></a> 使用命名参数（Jian He）<a href=\"https://postgr.es/c/580f8727c\">§</a></p>", "text": "允许 regexp_match[es]()/regexp_like()/regexp_replace()/regexp_count()/regexp_instr()/regexp_substr()/regexp_split_to_table()/regexp_split_to_array() 使用命名参数（Jian He）§", "title": "允许 regexp_match[es]()/regexp_like()/regexp_replace()/regexp_count()/regexp_instr()/regexp_substr()/regexp_split_to_table()/regexp_split_to_array() 使用命名参数", "commits": ["580f8727c"], "section": "函数", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-FUNCTIONS", "source_hash": "537f565df3ddb721db2bfe04fb5165619d5ed54a98e5025bf7ebe2594e7ea5fe", "section_path": ["函数"], "commit_groups": [["580f8727c"]], "identity_text": "Allow regexp_match[es]()/regexp_like()/regexp_replace()/regexp_count()/regexp_instr()/regexp_substr()/regexp_split_to_table()/regexp_split_to_array() to use named arguments (Jian He)", "commit_aliases": ["580f8727c"], "source_commits": ["580f8727c"], "source_entry_id": "18.0/changes/116", "db_id": "325c0a35a7406d298611bb6828289ff0", "patch_ids": ["4e22fed07663f7a3f1934e689acb6eaa"], "statement_hash": "3d7072f71a631c3271d07df2f0b0325b7ae5f4d8f46ea986b04a57acad9a86a3", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-0c1a57f2ceb09589", "cves": [], "html": "<p>添加函数 <a href=\"/docs/18/libpq-status.html#LIBPQ-PQFULLPROTOCOLVERSION\"><code>PQfullProtocolVersion()</code></a> 以报告完整的（包括次要版本）协议版本号（Jacob Champion, Jelte Fennema-Nio）<a href=\"https://postgr.es/c/cdb6b0fdb\">§</a></p>", "text": "添加函数 PQfullProtocolVersion() 以报告完整的（包括次要版本）协议版本号（Jacob Champion, Jelte Fennema-Nio）§", "title": "添加函数 PQfullProtocolVersion() 以报告完整的（包括次要版本）协议版本号", "commits": ["cdb6b0fdb"], "section": "Libpq", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-LIBPQ", "source_hash": "4d15532b628660643127aa6505deec0b8d3a38c80917c9354108c3340c1fd166", "section_path": ["Libpq"], "commit_groups": [["cdb6b0fdb"]], "identity_text": "Add function PQfullProtocolVersion() to report the full, including minor, protocol version number (Jacob Champion, Jelte Fennema-Nio)", "commit_aliases": ["cdb6b0fdb"], "source_commits": ["cdb6b0fdb"], "source_entry_id": "18.0/changes/117", "db_id": "4b86d214e32c355a269673a5aa3b2558", "patch_ids": ["52abaad7880c01090a771e4447bc86e2"], "statement_hash": "f9bd22e1e8f83bd582c6d52c403e9b0ef03dbbb8144aeb9364fb4e3225d47d07", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-93af92d9546daff9", "cves": [], "html": "<p>添加 libpq 连接<a href=\"/docs/18/libpq-connect.html#LIBPQ-CONNECT-SSL-MAX-PROTOCOL-VERSION\">参数</a>和<a href=\"/docs/18/libpq-envars.html\" title=\"32.15. 环境变量\">环境变量</a>以指定连接的最小和最大可接受协议版本（Jelte Fennema-Nio）<a href=\"https://postgr.es/c/285613c60\">§</a> <a href=\"https://postgr.es/c/507034910\">§</a></p>", "text": "添加 libpq 连接参数和环境变量以指定连接的最小和最大可接受协议版本（Jelte Fennema-Nio）§ §", "title": "添加 libpq 连接参数和环境变量以指定连接的最小和最大可接受协议版本", "commits": ["285613c60", "507034910"], "section": "Libpq", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-LIBPQ", "source_hash": "dd8e24e0798022c5e49d33b8f037eae94f69ab39a4a885b8b176f5e16dbcf97e", "section_path": ["Libpq"], "commit_groups": [["285613c60"], ["507034910"]], "identity_text": "Add libpq connection parameters and environment variables to specify the minimum and maximum acceptable protocol version for connections (Jelte Fennema-Nio)", "commit_aliases": ["285613c60", "507034910"], "source_commits": ["285613c60", "507034910"], "source_entry_id": "18.0/changes/118", "db_id": "324ad8ffd0dc73072b6cae1163bbd895", "patch_ids": ["534b2c53e2e1a92c27d124b03e588165", "75729722b6f7aba5cfb305b2f8099d9d"], "statement_hash": "5bc66e57f7b5710b779499207adb20134778a80ccd962165684afde348719556", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-207d234a979be0ba", "cves": [], "html": "<p>向客户端报告<a href=\"/docs/18/runtime-config-client.html#GUC-SEARCH-PATH\">search_path</a>更改（Alexander Kukushkin, Jelte Fennema-Nio, Tomas Vondra）<a href=\"https://postgr.es/c/28a1121fd\">§</a> <a href=\"https://postgr.es/c/0d06a7eac\">§</a></p>", "text": "向客户端报告search_path更改（Alexander Kukushkin, Jelte Fennema-Nio, Tomas Vondra）§ §", "title": "向客户端报告search_path更改", "commits": ["0d06a7eac", "28a1121fd"], "section": "Libpq", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-LIBPQ", "source_hash": "1b3b66fd3e804bfd9a8f8eb4900833f7becb2d7ae3e27f57d8450450272b7e24", "section_path": ["Libpq"], "commit_groups": [["0d06a7eac"], ["28a1121fd"]], "identity_text": "Report guc-search-path changes to the client (Alexander Kukushkin, Jelte Fennema-Nio, Tomas Vondra)", "commit_aliases": ["0d06a7eac", "28a1121fd"], "source_commits": ["0d06a7eac", "28a1121fd"], "source_entry_id": "18.0/changes/119", "db_id": "218352fe6746ce16b55b280a597a34c3", "patch_ids": ["5ff7e1b21d24cbfadde9ec259d6a73c7", "6773d35e5f3a311c7ff50c9c2faf3885"], "statement_hash": "50991c451a4bfb5e106b4ba60fe467da4d2e687a547ce099c82004fbe44fd3e9", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-beeeaad682b3e543", "cves": [], "html": "<p>添加 <a href=\"/docs/18/libpq-control.html#LIBPQ-PQTRACE\"><code>PQtrace()</code></a> 输出，用于所有消息类型，包括认证（Jelte Fennema-Nio）<a href=\"https://postgr.es/c/ea92f3a0a\">§</a> <a href=\"https://postgr.es/c/a5c6b8f22\">§</a> <a href=\"https://postgr.es/c/b8b3f861f\">§</a> <a href=\"https://postgr.es/c/e87c14b19\">§</a> <a href=\"https://postgr.es/c/7adec2d5f\">§</a></p>", "text": "添加 PQtrace() 输出，用于所有消息类型，包括认证（Jelte Fennema-Nio）§ § § § §", "title": "添加 PQtrace() 输出，用于所有消息类型，包括认证", "commits": ["7adec2d5f", "a5c6b8f22", "b8b3f861f", "e87c14b19", "ea92f3a0a"], "section": "Libpq", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-LIBPQ", "source_hash": "229bf64e1d8e766cd4a7b64992dd7057c31c49ee08a766d973f0fed3a3136264", "section_path": ["Libpq"], "commit_groups": [["7adec2d5f"], ["a5c6b8f22"], ["b8b3f861f"], ["e87c14b19"], ["ea92f3a0a"]], "identity_text": "Add PQtrace() output for all message types, including authentication (Jelte Fennema-Nio)", "commit_aliases": ["7adec2d5f", "a5c6b8f22", "b8b3f861f", "e87c14b19", "ea92f3a0a"], "source_commits": ["7adec2d5f", "a5c6b8f22", "b8b3f861f", "e87c14b19", "ea92f3a0a"], "source_entry_id": "18.0/changes/120", "db_id": "189544d0fbeb310833d8101ad81be81d", "patch_ids": ["7830574fda35c2cd540f06ea5cd22fe7", "acc865fe8e046c03d36dbaf9deafa10e", "dccfa75590b5f88a141ec68c6abef022", "ef0fcd62d83e5a9752310ce62aa470d2", "f1361c9f5c56a8086363704e63d70cd9"], "statement_hash": "c5e10674404ba12ef5a21f94c4df6e89c062cf8daae10222475b36a39dda6485", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-ef7c9ed7c8f229dc", "cves": [], "html": "<p>添加 libpq 连接参数 <a href=\"/docs/18/libpq-connect.html#LIBPQ-CONNECT-SSLKEYLOGFILE\"><code>sslkeylogfile</code></a>，该参数会转储<acronym>SSL</acronym>密钥材料（Abhishek Chanda, Daniel Gustafsson）<a href=\"https://postgr.es/c/2da74d8d6\">§</a></p>\n<p>这对于调试很有用。</p>", "text": "添加 libpq 连接参数 sslkeylogfile，该参数会转储SSL密钥材料（Abhishek Chanda, Daniel Gustafsson）§ 这对于调试很有用。", "title": "添加 libpq 连接参数 sslkeylogfile，该参数会转储SSL密钥材料", "commits": ["2da74d8d6"], "section": "Libpq", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-LIBPQ", "source_hash": "8a53c283c907184c5c28dc8b1a80814c955c04574c96f11e2d4b6d6ad07852f9", "section_path": ["Libpq"], "commit_groups": [["2da74d8d6"]], "identity_text": "Add libpq connection parameter sslkeylogfile which dumps out SSL key material (Abhishek Chanda, Daniel Gustafsson) This is useful for debugging.", "commit_aliases": ["2da74d8d6"], "source_commits": ["2da74d8d6"], "source_entry_id": "18.0/changes/121", "db_id": "dec95e8329f62b657fc15ccfb7d006fb", "patch_ids": ["5c9abb135b2e6fb82671370102be25d3"], "statement_hash": "0cbbb246f331bdcf188172740da0fa02fe152d60204197e426ec23a6c89278c5", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-f56e310a693fee70", "cves": [], "html": "<p>修改一些 libpq 函数签名以使用 <code>int64_t</code>（Thomas Munro）<a href=\"https://postgr.es/c/3c86223c9\">§</a></p>\n<p>这些以前使用 <code>pg_int64</code>，现已弃用。</p>", "text": "修改一些 libpq 函数签名以使用 int64_t（Thomas Munro）§ 这些以前使用 pg_int64，现已弃用。", "title": "修改一些 libpq 函数签名以使用 int64_t", "commits": ["3c86223c9"], "section": "Libpq", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-LIBPQ", "source_hash": "10b871bad097417a99cafa49cc3d5d1c211c6de4e2bf8386fbbde08d3facb504", "section_path": ["Libpq"], "commit_groups": [["3c86223c9"]], "identity_text": "Modify some libpq function signatures to use int64_t (Thomas Munro) These previously used pg_int64, which is now deprecated.", "commit_aliases": ["3c86223c9"], "source_commits": ["3c86223c9"], "source_entry_id": "18.0/changes/122", "db_id": "caaca0ad82471ba571571208f6771f02", "patch_ids": ["a9a13dc006668f08f5abd06bcf09cb8e"], "statement_hash": "325b9ac281e658a1f6acd0aaae59a7c20882f4f76754cbd9cd6c886266e8b478", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-2fb6e0f0c8f9dca8", "cves": [], "html": "<p>允许 <span>psql</span> 解析、绑定和关闭命名预处理语句（Anthonin Bonnefoy, Michael Paquier）<a href=\"https://postgr.es/c/d55322b0d\">§</a> <a href=\"https://postgr.es/c/fc39b286a\">§</a></p>\n<p>这通过新命令 <a href=\"/docs/18/app-psql.html#APP-PSQL-META-COMMAND-PARSE\"><code>\\parse</code></a>、<a href=\"/docs/18/app-psql.html#APP-PSQL-META-COMMAND-BIND-NAMED\"><code>\\bind_named</code></a> 和 <a href=\"/docs/18/app-psql.html#APP-PSQL-META-COMMAND-CLOSE-PREPARED\"><code>\\close_prepared</code></a> 完成。</p>", "text": "允许 psql 解析、绑定和关闭命名预处理语句（Anthonin Bonnefoy, Michael Paquier）§ § 这通过新命令 \\parse、\\bind_named 和 \\close_prepared 完成。", "title": "允许 psql 解析、绑定和关闭命名预处理语句", "commits": ["d55322b0d", "fc39b286a"], "section": "psql", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-PSQL", "source_hash": "77c05c6a0c7eefaa3828f25811f82a7b7e8197f14e6b0b3ca40906780cc67c8a", "section_path": ["psql"], "commit_groups": [["d55322b0d"], ["fc39b286a"]], "identity_text": "Allow psql to parse, bind, and close named prepared statements (Anthonin Bonnefoy, Michael Paquier) This is accomplished with new commands \\parse, \\bind_named, and \\close_prepared.", "commit_aliases": ["d55322b0d", "fc39b286a"], "source_commits": ["d55322b0d", "fc39b286a"], "source_entry_id": "18.0/changes/123", "db_id": "f1f07070c0f9905a1dadadaf792aeb8f", "patch_ids": ["c1a58c5c685a3ecbf2a745226578758a", "df70e0fc8c75d8b781d59c4c9c988dc2"], "statement_hash": "d69eda95d2e3f3d9d78e8def9469297aa5914f6c8b5405798b94e5847ef4218e", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-6aeeef1ea176f829", "cves": [], "html": "<p>添加 <span>psql</span> 反斜杠命令以允许发出管道查询（Anthonin Bonnefoy）<a href=\"https://postgr.es/c/41625ab8e\">§</a> <a href=\"https://postgr.es/c/17caf6644\">§</a> <a href=\"https://postgr.es/c/2cce0fe44\">§</a></p>\n<p>新命令是 <a href=\"/docs/18/app-psql.html#APP-PSQL-META-COMMAND-PIPELINE\"><code>\\startpipeline</code></a>、<code>\\syncpipeline</code>、<code>\\sendpipeline</code>、<code>\\endpipeline</code>、<code>\\flushrequest</code>、<code>\\flush</code> 和 <code>\\getresults</code>。</p>", "text": "添加 psql 反斜杠命令以允许发出管道查询（Anthonin Bonnefoy）§ § § 新命令是 \\startpipeline、\\syncpipeline、\\sendpipeline、\\endpipeline、\\flushrequest、\\flush 和 \\getresults。", "title": "添加 psql 反斜杠命令以允许发出管道查询", "commits": ["17caf6644", "2cce0fe44", "41625ab8e"], "section": "psql", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-PSQL", "source_hash": "065c75020e0a2e7dcbb2190d382fe267753aec2fed22e926ae12b843cc277e62", "section_path": ["psql"], "commit_groups": [["17caf6644"], ["2cce0fe44"], ["41625ab8e"]], "identity_text": "Add psql backslash commands to allowing issuance of pipeline queries (Anthonin Bonnefoy) The new commands are \\startpipeline, \\syncpipeline, \\sendpipeline, \\endpipeline, \\flushrequest, \\flush, and \\getresults.", "commit_aliases": ["17caf6644", "2cce0fe44", "41625ab8e"], "source_commits": ["17caf6644", "2cce0fe44", "41625ab8e"], "source_entry_id": "18.0/changes/124", "db_id": "4d5f486511455c18c068b6488465fe4d", "patch_ids": ["35ac484ccee3ad9012651c9ebb417256", "70e78ced9a8ba8366255b2db649c9893", "df86acd976c7a1bed1bc2ab4cb1192c0"], "statement_hash": "7a3ae596d3038107a6c2878a16eef9d8d6e31e6830e8ad4070210e11705433d7", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-02580f08fbaf6131", "cves": [], "html": "<p>允许将管道状态添加到 <span>psql</span> 提示符并添加相关状态变量（Anthonin Bonnefoy）<a href=\"https://postgr.es/c/3ce357584\">§</a></p>\n<p>新的提示符字符是 <code>%P</code>，新的 <span>psql</span> 变量是 <a href=\"/docs/18/app-psql.html#APP-PSQL-VARIABLES-PIPELINE-SYNC-COUNT\"><code>PIPELINE_SYNC_COUNT</code></a>、<a href=\"/docs/18/app-psql.html#APP-PSQL-VARIABLES-PIPELINE-COMMAND-COUNT\"><code>PIPELINE_COMMAND_COUNT</code></a> 和 <a href=\"/docs/18/app-psql.html#APP-PSQL-VARIABLES-PIPELINE-RESULT-COUNT\"><code>PIPELINE_RESULT_COUNT</code></a>。</p>", "text": "允许将管道状态添加到 psql 提示符并添加相关状态变量（Anthonin Bonnefoy）§ 新的提示符字符是 %P，新的 psql 变量是 PIPELINE_SYNC_COUNT、PIPELINE_COMMAND_COUNT 和 PIPELINE_RESULT_COUNT。", "title": "允许将管道状态添加到 psql 提示符并添加相关状态变量", "commits": ["3ce357584"], "section": "psql", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-PSQL", "source_hash": "ca4d56dd83a7e4b6224510acf54f1d3175534f96e58fb840e6f282c967477b87", "section_path": ["psql"], "commit_groups": [["3ce357584"]], "identity_text": "Allow adding pipeline status to the psql prompt and add related state variables (Anthonin Bonnefoy) The new prompt character is %P and the new psql variables are PIPELINE_SYNC_COUNT, PIPELINE_COMMAND_COUNT, and PIPELINE_RESULT_COUNT.", "commit_aliases": ["3ce357584"], "source_commits": ["3ce357584"], "source_entry_id": "18.0/changes/125", "db_id": "95d64c85bbb64cccbeaed6eff0e1a423", "patch_ids": ["062ee32471ba9950e13d9460b1c630ed"], "statement_hash": "342de8131124813468934a1a6a5b420c312c79e1aba97898e6a94db6850a206c", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-997c75493a7de85c", "cves": [], "html": "<p>允许将连接服务名称添加到 <span>psql</span> 提示符或通过 <span>psql</span> 变量访问它（Michael Banck）<a href=\"https://postgr.es/c/477728b5d\">§</a></p>", "text": "允许将连接服务名称添加到 psql 提示符或通过 psql 变量访问它（Michael Banck）§", "title": "允许将连接服务名称添加到 psql 提示符或通过 psql 变量访问它", "commits": ["477728b5d"], "section": "psql", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-PSQL", "source_hash": "d708d70528e3a3f746395fa23b8324b7dfe19e3fa2560f0d3fb61d86a8f4af8b", "section_path": ["psql"], "commit_groups": [["477728b5d"]], "identity_text": "Allow adding the connection service name to the psql prompt or access it via psql variable (Michael Banck)", "commit_aliases": ["477728b5d"], "source_commits": ["477728b5d"], "source_entry_id": "18.0/changes/126", "db_id": "b448890a42701668cc28db2c98fe65af", "patch_ids": ["8bc6eb53f480b1773dba3d9ca6fa27ef"], "statement_hash": "b7b84052ccad3b3cdd4e58fd81d7e92d01dcd30e03a638017f02df36fe51481c", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-b431886faffda5ff", "cves": [], "html": "<p>添加 <span>psql</span> 选项，在所有列表命令上使用扩展模式（Dean Rasheed）<a href=\"https://postgr.es/c/00f4c2959\">§</a></p>\n<p>添加反斜杠后缀 <code>x</code> 启用此功能。</p>", "text": "添加 psql 选项，在所有列表命令上使用扩展模式（Dean Rasheed）§ 添加反斜杠后缀 x 启用此功能。", "title": "添加 psql 选项，在所有列表命令上使用扩展模式", "commits": ["00f4c2959"], "section": "psql", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-PSQL", "source_hash": "c295ed9ac299dc91d03e266119cfa5c422c1056a964c2bf9bb936427b8c2d1a3", "section_path": ["psql"], "commit_groups": [["00f4c2959"]], "identity_text": "Add psql option to use expanded mode on all list commands (Dean Rasheed) Adding backslash suffix x enables this.", "commit_aliases": ["00f4c2959"], "source_commits": ["00f4c2959"], "source_entry_id": "18.0/changes/127", "db_id": "5dd3f4378c9385065373f9512386183d", "patch_ids": ["2a6f4ded65d281267015b5b6cc939f54"], "statement_hash": "67f72ef9ab6c8e1c087e265379fba0355acb6aaf4ebf846ec3f223d08f73af6e", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-8984d4a06e8e1c29", "cves": [], "html": "<p>更改 <span>psql</span> 的<a href=\"/docs/18/app-psql.html#APP-PSQL-META-COMMAND-CONNINFO\"><code>\\conninfo</code></a>以使用表格格式并包含更多信息（Álvaro Herrera, Maiquel Grassi, Hunaid Sohail）<a href=\"https://postgr.es/c/bba2fbc62\">§</a></p>", "text": "更改 psql 的\\conninfo以使用表格格式并包含更多信息（Álvaro Herrera, Maiquel Grassi, Hunaid Sohail）§", "title": "更改 psql 的\\conninfo以使用表格格式并包含更多信息", "commits": ["bba2fbc62"], "section": "psql", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-PSQL", "source_hash": "f50ab465a0ba201803a8cb40aac06c8f854c661fbc6959a15809b50060959f8c", "section_path": ["psql"], "commit_groups": [["bba2fbc62"]], "identity_text": "Change psql's app-psql-meta-command-conninfo to use tabular format and include more information (Álvaro Herrera, Maiquel Grassi, Hunaid Sohail)", "commit_aliases": ["bba2fbc62"], "source_commits": ["bba2fbc62"], "source_entry_id": "18.0/changes/128", "db_id": "b7756586e365c7157c475c0430299268", "patch_ids": ["8d29126a5a016ba3aa3ac63ed17eed9e"], "statement_hash": "587565e7970af826aba72167bdd2c90fa3ad561d7bdffc95a3fdf5db3e7a9af2", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-624508557749474f", "cves": [], "html": "<p>将函数的防泄漏指示器添加到 <span>psql</span> 的 <a href=\"/docs/18/app-psql.html#APP-PSQL-META-COMMAND-DF-LC\"><code>\\df+</code></a>、<code>\\do+</code>、<code>\\dAo+</code> 和 <code>\\dC+</code> 输出（Yugo Nagata）<a href=\"https://postgr.es/c/2355e5111\">§</a></p>", "text": "将函数的防泄漏指示器添加到 psql 的 \\df+、\\do+、\\dAo+ 和 \\dC+ 输出（Yugo Nagata）§", "title": "将函数的防泄漏指示器添加到 psql 的 \\df+、\\do+、\\dAo+ 和 \\dC+ 输出", "commits": ["2355e5111"], "section": "psql", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-PSQL", "source_hash": "b8a6c1bf50c01dfea7e893090f16b02f8a9b074d135f06979cf7e11861937d9b", "section_path": ["psql"], "commit_groups": [["2355e5111"]], "identity_text": "Add function's leakproof indicator to psql's \\df+, \\do+, \\dAo+, and \\dC+ outputs (Yugo Nagata)", "commit_aliases": ["2355e5111"], "source_commits": ["2355e5111"], "source_entry_id": "18.0/changes/129", "db_id": "9d578cae753a7068d3a2429369a138e4", "patch_ids": ["4ee947bb08aead676fe72b63526cdd39"], "statement_hash": "b7ecafc8df9220ee7d63778ed0ac8ad0e28546694bb5fdbba0ac97017dfbb54d", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-1dea4d8870fe7263", "cves": [], "html": "<p>在 <a href=\"/docs/18/app-psql.html#APP-PSQL-META-COMMAND-DP-UC\"><code>\\dP+</code></a> 中为分区关系添加访问方法详细信息（Justin Pryzby）<a href=\"https://postgr.es/c/978f38c77\">§</a></p>", "text": "在 \\dP+ 中为分区关系添加访问方法详细信息（Justin Pryzby）§", "title": "在 \\dP+ 中为分区关系添加访问方法详细信息", "commits": ["978f38c77"], "section": "psql", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-PSQL", "source_hash": "513f2fab8dea574eba77472892d2f8de48560874d9a7182acc43f2b25404614a", "section_path": ["psql"], "commit_groups": [["978f38c77"]], "identity_text": "Add access method details for partitioned relations in \\dP+ (Justin Pryzby)", "commit_aliases": ["978f38c77"], "source_commits": ["978f38c77"], "source_entry_id": "18.0/changes/130", "db_id": "818c7f68713a76e08678870d759f6291", "patch_ids": ["7cca4f5d69bc8dc6d2b6ccbaa33d8e79"], "statement_hash": "3ab40daca3f13039aba595247e60f46d4f6453febeb29ab79a875c6f98986293", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-545b1beb3150fb2a", "cves": [], "html": "<p>将 <code>default_version</code> 添加到 <span>psql</span> <a href=\"/docs/18/app-psql.html#APP-PSQL-META-COMMAND-DX-LC\"><code>\\dx</code></a> 扩展输出（Magnus Hagander）<a href=\"https://postgr.es/c/d696406a9\">§</a></p>", "text": "将 default_version 添加到 psql \\dx 扩展输出（Magnus Hagander）§", "title": "将 default_version 添加到 psql \\dx 扩展输出", "commits": ["d696406a9"], "section": "psql", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-PSQL", "source_hash": "f45ef00d2add84d90c55cbbc7e9938ca51f52bbcc6c24082fda3375e868a6ff4", "section_path": ["psql"], "commit_groups": [["d696406a9"]], "identity_text": "Add default_version to the psql \\dx extension output (Magnus Hagander)", "commit_aliases": ["d696406a9"], "source_commits": ["d696406a9"], "source_entry_id": "18.0/changes/131", "db_id": "8b0be23bf885cc5302c60d810f5e5d17", "patch_ids": ["a177f1929edb0edaa402f9aa8c4dc5b1"], "statement_hash": "97eb7c8a5e03d2311600a2472cb9936526e73dfb492e20a800a6b6068c604820", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-dc2d98bde772ded1", "cves": [], "html": "<p>添加 <span>psql</span> 变量<a href=\"/docs/18/app-psql.html#APP-PSQL-VARIABLES-WATCH-INTERVAL\"><code>WATCH_INTERVAL</code></a>以设置默认的 <a href=\"/docs/18/app-psql.html#APP-PSQL-META-COMMAND-WATCH\"><code>\\watch</code></a> 等待时间（Daniel Gustafsson）<a href=\"https://postgr.es/c/1a759c832\">§</a></p>", "text": "添加 psql 变量WATCH_INTERVAL以设置默认的 \\watch 等待时间（Daniel Gustafsson）§", "title": "添加 psql 变量WATCH_INTERVAL以设置默认的 \\watch 等待时间", "commits": ["1a759c832"], "section": "psql", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-PSQL", "source_hash": "32dbe7ae008210a57ddbd29b951551fca0c360487d239b82a521420aff9d9aca", "section_path": ["psql"], "commit_groups": [["1a759c832"]], "identity_text": "Add psql variable app-psql-variables-watch-interval to set the default \\watch wait time (Daniel Gustafsson)", "commit_aliases": ["1a759c832"], "source_commits": ["1a759c832"], "source_entry_id": "18.0/changes/132", "db_id": "fb9188646ca6019ee7d68115e98063b7", "patch_ids": ["f4150999ddde237444a665e7664bb364"], "statement_hash": "e31ae7e017e542c379f3fad9f44583ecacf3b7e2e1c7156a171e1ba5b89e91cd", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-1487bc4fb945d8b9", "cves": [], "html": "<p>更改<a href=\"/docs/18/app-initdb.html\" title=\"initdb\"><span><span>initdb</span></span></a>默认启用校验和（Greg Sabino Mullane）<a href=\"https://postgr.es/c/983a588e0\">§</a> <a href=\"https://postgr.es/c/04bec894a\">§</a></p>\n<p>新的 <span>initdb</span> 选项 <code>--no-data-checksums</code> 禁用校验和。</p>", "text": "更改initdb默认启用校验和（Greg Sabino Mullane）§ § 新的 initdb 选项 --no-data-checksums 禁用校验和。", "title": "更改initdb默认启用校验和", "commits": ["04bec894a", "983a588e0"], "section": "服务器应用", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-SERVER-APPS", "source_hash": "f8f34e3e2ad1f1316678e49b712c445e3ddd519b898c474e581fdfa668983b8c", "section_path": ["服务器应用"], "commit_groups": [["04bec894a"], ["983a588e0"]], "identity_text": "Change app-initdb to default to enabling checksums (Greg Sabino Mullane) The new initdb option --no-data-checksums disables checksums.", "commit_aliases": ["04bec894a", "983a588e0"], "source_commits": ["04bec894a", "983a588e0"], "source_entry_id": "18.0/changes/133", "db_id": "db70c584fb64d9f59231adb14744b4a2", "patch_ids": ["2f0b053af829369c3e773971e514dfc9", "f78286ddb1f2e6833c76c4a8351542bf"], "statement_hash": "a04cf4bcb0a1f1804333415522f466bd804eca240f36149cdbd72bcb10c51e82", "relations": [{"rule": 2, "type": "related", "target": "f3c7465886914cc33d3dae8014f0ac38", "evidence": {"same_day": true, "patch_ids": ["f78286ddb1f2e6833c76c4a8351542bf"]}}], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": [{"db_id": "f3c7465886914cc33d3dae8014f0ac38", "kind": "related", "version": "18.0", "label": "18.0", "title": "将initdb默认更改为启用数据校验和", "evidence": {"same_day": true, "patch_ids": ["f78286ddb1f2e6833c76c4a8351542bf"]}, "url": "/docs/compare/?release=18.0#18.0-a8fa82432892119f", "source_url": "/docs/release/18.0/#RELEASE-18-MIGRATION"}]}, {"id": "18.0-bb267d24515073a3", "cves": [], "html": "<p>添加 <span>initdb</span> 选项 <code>--no-sync-data-files</code> 以避免同步堆/索引文件（Nathan Bossart）<a href=\"https://postgr.es/c/cf131fa94\">§</a></p>\n<p><span>initdb</span> 选项 <code>--no-sync</code> 仍然可用，以避免同步任何文件。</p>", "text": "添加 initdb 选项 --no-sync-data-files 以避免同步堆/索引文件（Nathan Bossart）§ initdb 选项 --no-sync 仍然可用，以避免同步任何文件。", "title": "添加 initdb 选项 --no-sync-data-files 以避免同步堆/索引文件", "commits": ["cf131fa94"], "section": "服务器应用", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-SERVER-APPS", "source_hash": "75c8f0bdfad04f0d23cb26c70c1ac8035b373f8861476b487902137fb7226355", "section_path": ["服务器应用"], "commit_groups": [["cf131fa94"]], "identity_text": "Add initdb option --no-sync-data-files to avoid syncing heap/index files (Nathan Bossart) initdb option --no-sync is still available to avoid syncing any files.", "commit_aliases": ["cf131fa94"], "source_commits": ["cf131fa94"], "source_entry_id": "18.0/changes/134", "db_id": "9952d39dc06228d3a10d17bc3b5169fe", "patch_ids": ["4e1d69b6c246228bc290d1f93422d624"], "statement_hash": "7713e4c4118e732a811941c3e11d09cec1b024f960b3b7998b6b19a60f3f83ca", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-bccd226e5727824e", "cves": [], "html": "<p>添加<a href=\"/docs/18/app-vacuumdb.html\" title=\"vacuumdb\"><span><span>vacuumdb</span></span></a>选项 <code>--missing-stats-only</code> 以仅计算缺失的优化器统计信息（Corey Huinker, Nathan Bossart）<a href=\"https://postgr.es/c/edba754f0\">§</a> <a href=\"https://postgr.es/c/987910502\">§</a></p>\n<p>此选项只能由超级用户运行，并且只能与选项 <code>--analyze-only</code> 和 <code>--analyze-in-stages</code> 一起使用。</p>", "text": "添加vacuumdb选项 --missing-stats-only 以仅计算缺失的优化器统计信息（Corey Huinker, Nathan Bossart）§ § 此选项只能由超级用户运行，并且只能与选项 --analyze-only 和 --analyze-in-stages 一起使用。", "title": "添加vacuumdb选项 --missing-stats-only 以仅计算缺失的优化器统计信息", "commits": ["987910502", "edba754f0"], "section": "服务器应用", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-SERVER-APPS", "source_hash": "1199d1c1b8dd6304d46f2f0be670b1746b4d32ede3679f66ba9258fcc89c8330", "section_path": ["服务器应用"], "commit_groups": [["987910502"], ["edba754f0"]], "identity_text": "Add app-vacuumdb option --missing-stats-only to compute only missing optimizer statistics (Corey Huinker, Nathan Bossart) This option can only be run by superusers and can only be used with options --analyze-only and --analyze-in-stages.", "commit_aliases": ["987910502", "edba754f0"], "source_commits": ["987910502", "edba754f0"], "source_entry_id": "18.0/changes/135", "db_id": "853076317df1e045ebd45b56522f230a", "patch_ids": ["067aff8cba670576fe0c3fd89d649257", "b94a1cae6980cfb5f7ef4424d00fcb6a"], "statement_hash": "5385ca51a2d01858906e995b4406bf1ef97d31883665cc58aae33e348c5b9490", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-b755aca78d27d72f", "cves": [], "html": "<p>添加<a href=\"/docs/18/app-pgcombinebackup.html\" title=\"pg_combinebackup\"><span><span>pg_combinebackup</span></span></a>选项 <code>-k</code>/<code>--link</code> 以启用硬链接（Israel Barth Rubio, Robert Haas）<a href=\"https://postgr.es/c/99aeb8470\">§</a></p>\n<p>只有某些文件可以硬链接。如果备份将独立使用，则不应使用此功能。</p>", "text": "添加pg_combinebackup选项 -k/--link 以启用硬链接（Israel Barth Rubio, Robert Haas）§ 只有某些文件可以硬链接。如果备份将独立使用，则不应使用此功能。", "title": "添加pg_combinebackup选项 -k/--link 以启用硬链接", "commits": ["99aeb8470"], "section": "服务器应用", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-SERVER-APPS", "source_hash": "eefef01cb696f44d91b49f7817d447e5f2b2aeac8ca97a0513d80a36ce3eab22", "section_path": ["服务器应用"], "commit_groups": [["99aeb8470"]], "identity_text": "Add app-pgcombinebackup option -k/--link to enable hard linking (Israel Barth Rubio, Robert Haas) Only some files can be hard linked. This should not be used if the backups will be used independently.", "commit_aliases": ["99aeb8470"], "source_commits": ["99aeb8470"], "source_entry_id": "18.0/changes/136", "db_id": "cbac9921cfb2186e54629d635e3729f3", "patch_ids": ["b2774e6278fb43524469fa415bf7c504"], "statement_hash": "5736af1019c3d5e2bd2ae443e4a9261637afca5e0e0ff655d599e24adaf4ea01", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-ed3c2d316129795e", "cves": [], "html": "<p>允许<a href=\"/docs/18/app-pgverifybackup.html\" title=\"pg_verifybackup\"><span><span>pg_verifybackup</span></span></a>验证 tar 格式备份（Amul Sul）<a href=\"https://postgr.es/c/8dfd31290\">§</a></p>", "text": "允许pg_verifybackup验证 tar 格式备份（Amul Sul）§", "title": "允许pg_verifybackup验证 tar 格式备份", "commits": ["8dfd31290"], "section": "服务器应用", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-SERVER-APPS", "source_hash": "e2b0d86a1a6fe34a3eaef7656a3093c8fef2bcf4bb4045b3b394c42b6e595297", "section_path": ["服务器应用"], "commit_groups": [["8dfd31290"]], "identity_text": "Allow app-pgverifybackup to verify tar-format backups (Amul Sul)", "commit_aliases": ["8dfd31290"], "source_commits": ["8dfd31290"], "source_entry_id": "18.0/changes/137", "db_id": "4a31265bb9d301899f61cbb72dc938fe", "patch_ids": ["f61db0ff36a5aaba1fefc4551593c41a"], "statement_hash": "033fcbd8882efc5f140f40a57fd1009957f6354e0fff3b3c07f05be1d2c1ce01", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-51cd1c3ad2116931", "cves": [], "html": "<p>如果<a href=\"/docs/18/app-pgrewind.html\" title=\"pg_rewind\"><span><span>pg_rewind</span></span></a>的 <code>--source-server</code> 指定了数据库名称，则在 <code>--write-recovery-conf</code> 输出中使用它（Masahiko Sawada）<a href=\"https://postgr.es/c/4ecdd4110\">§</a></p>", "text": "如果pg_rewind的 --source-server 指定了数据库名称，则在 --write-recovery-conf 输出中使用它（Masahiko Sawada）§", "title": "如果pg_rewind的 --source-server 指定了数据库名称，则在 --write-recovery-conf 输出中使用它", "commits": ["4ecdd4110"], "section": "服务器应用", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-SERVER-APPS", "source_hash": "b8e56e6ae6588f2cb4df8056eac8508fcaa1a7d5c2bed9b03e0c9c7c3fa92317", "section_path": ["服务器应用"], "commit_groups": [["4ecdd4110"]], "identity_text": "If app-pgrewind 's --source-server specifies a database name, use it in --write-recovery-conf output (Masahiko Sawada)", "commit_aliases": ["4ecdd4110"], "source_commits": ["4ecdd4110"], "source_entry_id": "18.0/changes/138", "db_id": "31e83eaf955dc5094a8982493afd63f3", "patch_ids": ["422026f71813c5ab788723a75cfa5fd6"], "statement_hash": "85b876a7486c3a65c5a92598f9e9b5dad71b32bdd0c7932389bfbfb0fdef6adc", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-ef8fd92b9dae47d2", "cves": [], "html": "<p>添加<a href=\"/docs/18/app-pgresetwal.html\" title=\"pg_resetwal\"><span><span>pg_resetwal</span></span></a>选项 <code>--char-signedness</code> 以更改默认的 <code>char</code> 有符号性（Masahiko Sawada）<a href=\"https://postgr.es/c/30666d185\">§</a></p>", "text": "添加pg_resetwal选项 --char-signedness 以更改默认的 char 有符号性（Masahiko Sawada）§", "title": "添加pg_resetwal选项 --char-signedness 以更改默认的 char 有符号性", "commits": ["30666d185"], "section": "服务器应用", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-SERVER-APPS", "source_hash": "1109968f9e43b45953a526f184648d85db28b47d688f491e1bf329b1223e6a82", "section_path": ["服务器应用"], "commit_groups": [["30666d185"]], "identity_text": "Add app-pgresetwal option --char-signedness to change the default char signedness (Masahiko Sawada)", "commit_aliases": ["30666d185"], "source_commits": ["30666d185"], "source_entry_id": "18.0/changes/139", "db_id": "de60efb8b41468fb0459eaacd7e58849", "patch_ids": ["5f6d5be1745e81fcdc6e9b19df0c805d"], "statement_hash": "2e2828b91010abfb7434c834860be467a228d211bd371f7f730efd531fd3e713", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-d8c278fef915f972", "cves": [], "html": "<p>添加<a href=\"/docs/18/app-pgdump.html\" title=\"pg_dump\"><span><span>pg_dump</span></span></a>选项 <code>--statistics</code>（Jeff Davis）<a href=\"https://postgr.es/c/bde2fb797\">§</a> <a href=\"https://postgr.es/c/a3e8dc143\">§</a></p>", "text": "添加pg_dump选项 --statistics（Jeff Davis）§ §", "title": "添加pg_dump选项 --statistics", "commits": ["a3e8dc143", "bde2fb797"], "section": "服务器应用 / pg_dump/pg_dumpall/pg_restore", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-PGDUMP", "source_hash": "2d3d93b82ef664b1f0244b7e43fe05588854ab0ca7c11011f7a607d3ee6c90d6", "section_path": ["服务器应用", "pg_dump/pg_dumpall/pg_restore"], "commit_groups": [["a3e8dc143"], ["bde2fb797"]], "identity_text": "Add app-pgdump option --statistics (Jeff Davis)", "commit_aliases": ["a3e8dc143", "bde2fb797"], "source_commits": ["a3e8dc143", "bde2fb797"], "source_entry_id": "18.0/changes/140", "db_id": "45377d9a7cbb5f6d8a91743818fe9f95", "patch_ids": ["0b036a7b9a6fe69f0ae3fc14f07f890e", "3403ebf99c25408505f5bbc915ea6a92"], "statement_hash": "d940022b9100e359cdd29574a6c0b6d758a89af40770a693ddc3a5b2232c1974", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-65bb567f6e232646", "cves": [], "html": "<p>添加 <span>pg_dump</span> 和<a href=\"/docs/18/app-pg-dumpall.html\" title=\"pg_dumpall\"><span><span>pg_dumpall</span></span></a>选项 <code>--sequence-data</code> 以转储通常会被排除的序列数据（Nathan Bossart）<a href=\"https://postgr.es/c/9c49f0e8c\">§</a> <a href=\"https://postgr.es/c/acea3fc49\">§</a></p>", "text": "添加 pg_dump 和pg_dumpall选项 --sequence-data 以转储通常会被排除的序列数据（Nathan Bossart）§ §", "title": "添加 pg_dump 和pg_dumpall选项 --sequence-data 以转储通常会被排除的序列数据", "commits": ["9c49f0e8c", "acea3fc49"], "section": "服务器应用 / pg_dump/pg_dumpall/pg_restore", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-PGDUMP", "source_hash": "4424f6df2367d695a36039440ad3354cad22e464adf6623f4a6ab6f11550ed11", "section_path": ["服务器应用", "pg_dump/pg_dumpall/pg_restore"], "commit_groups": [["9c49f0e8c"], ["acea3fc49"]], "identity_text": "Add pg_dump and app-pg-dumpall option --sequence-data to dump sequence data that would normally be excluded (Nathan Bossart)", "commit_aliases": ["9c49f0e8c", "acea3fc49"], "source_commits": ["9c49f0e8c", "acea3fc49"], "source_entry_id": "18.0/changes/141", "db_id": "57dfabc21cb09eee80237e7dbdeb4cfd", "patch_ids": ["ce7a77b9bb38b32190aa243f00af6062", "d4543602d88dfc88e50236d446d2d446"], "statement_hash": "f73184a2cfa206e9f7b47760836ce121d8a19c8db2af75e1831a8c988cc8e7fe", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-c0be20ef066f045f", "cves": [], "html": "<p>添加<a href=\"/docs/18/app-pgdump.html\" title=\"pg_dump\"><span><span>pg_dump</span></span></a>、<a href=\"/docs/18/app-pg-dumpall.html\" title=\"pg_dumpall\"><span><span>pg_dumpall</span></span></a>和<a href=\"/docs/18/app-pgrestore.html\" title=\"pg_restore\"><span><span>pg_restore</span></span></a>选项 <code>--statistics-only</code>、<code>--no-statistics</code>、<code>--no-data</code> 和 <code>--no-schema</code>（Corey Huinker, Jeff Davis）<a href=\"https://postgr.es/c/1fd1bd871\">§</a></p>", "text": "添加pg_dump、pg_dumpall和pg_restore选项 --statistics-only、--no-statistics、--no-data 和 --no-schema（Corey Huinker, Jeff Davis）§", "title": "添加pg_dump、pg_dumpall和pg_restore选项 --statistics-only、--no-statistics、--no-data 和 --no-schema", "commits": ["1fd1bd871"], "section": "服务器应用 / pg_dump/pg_dumpall/pg_restore", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-PGDUMP", "source_hash": "48e0a689c9b0d5e55ef3d9ae16fc5c4a905c41197e8434f2f4f569b5a3250d84", "section_path": ["服务器应用", "pg_dump/pg_dumpall/pg_restore"], "commit_groups": [["1fd1bd871"]], "identity_text": "Add app-pgdump , app-pg-dumpall , and app-pgrestore options --statistics-only, --no-statistics, --no-data, and --no-schema (Corey Huinker, Jeff Davis)", "commit_aliases": ["1fd1bd871"], "source_commits": ["1fd1bd871"], "source_entry_id": "18.0/changes/142", "db_id": "8d5b8469bade89e9c1af7e30be1f4707", "patch_ids": ["5d0cb3cccce1158170d1cd02ebb43757"], "statement_hash": "19059f6013aef8345c941793ebe68ab82f27b44f9d1247c34243111b8ea7a09d", "relations": [{"rule": 2, "type": "related", "target": "afbfe0f474eef5c2d8090e1f45feeeba", "evidence": {"same_day": true, "patch_ids": ["5d0cb3cccce1158170d1cd02ebb43757"], "ambiguous_patch_ids": ["5d0cb3cccce1158170d1cd02ebb43757"]}}], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": [{"db_id": "afbfe0f474eef5c2d8090e1f45feeeba", "kind": "related", "version": "18.0", "label": "18.0", "title": "允许 pg_upgrade 保留优化器统计信息", "evidence": {"same_day": true, "patch_ids": ["5d0cb3cccce1158170d1cd02ebb43757"], "ambiguous_patch_ids": ["5d0cb3cccce1158170d1cd02ebb43757"]}, "url": "/docs/compare/?release=18.0#18.0-b708d651d189458f", "source_url": "/docs/release/18.0/#RELEASE-18-PGUPGRADE"}]}, {"id": "18.0-452c1c147611899f", "cves": [], "html": "<p>添加选项 <code>--no-policies</code> 以禁用<a href=\"/docs/18/app-pgdump.html\" title=\"pg_dump\"><span><span>pg_dump</span></span></a>、<a href=\"/docs/18/app-pg-dumpall.html\" title=\"pg_dumpall\"><span><span>pg_dumpall</span></span></a>、<a href=\"/docs/18/app-pgrestore.html\" title=\"pg_restore\"><span><span>pg_restore</span></span></a>中的行级安全策略处理（Nikolay Samokhvalov）<a href=\"https://postgr.es/c/cd3c45125\">§</a></p>\n<p>这对于迁移到具有不同策略的系统很有用。</p>", "text": "添加选项 --no-policies 以禁用pg_dump、pg_dumpall、pg_restore中的行级安全策略处理（Nikolay Samokhvalov）§ 这对于迁移到具有不同策略的系统很有用。", "title": "添加选项 --no-policies 以禁用pg_dump、pg_dumpall、pg_restore中的行级安全策略处理", "commits": ["cd3c45125"], "section": "服务器应用 / pg_dump/pg_dumpall/pg_restore", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-PGDUMP", "source_hash": "9231fdf3af2971c21ef9738044c6bf6fc9a4e82d61c155057f623aeacf8d1381", "section_path": ["服务器应用", "pg_dump/pg_dumpall/pg_restore"], "commit_groups": [["cd3c45125"]], "identity_text": "Add option --no-policies to disable row level security policy processing in app-pgdump , app-pg-dumpall , app-pgrestore (Nikolay Samokhvalov) This is useful for migrating to systems with different policies.", "commit_aliases": ["cd3c45125"], "source_commits": ["cd3c45125"], "source_entry_id": "18.0/changes/143", "db_id": "f65a09f6ed8414315ea3ab15d44b063d", "patch_ids": ["e8632c1f2c717fcff1a04211ab59a0c3"], "statement_hash": "c2544d757037ea2d9f0d54209afb5dfcd831c83b0fb375579be57d3ffb98b730", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-b708d651d189458f", "cves": [], "html": "<p>允许 <span>pg_upgrade</span> 保留优化器统计信息（Corey Huinker, Jeff Davis, Nathan Bossart）<a href=\"https://postgr.es/c/1fd1bd871\">§</a> <a href=\"https://postgr.es/c/c9d502eb6\">§</a> <a href=\"https://postgr.es/c/d5f1b6a75\">§</a> <a href=\"https://postgr.es/c/1fd1bd871\">§</a></p>\n<p>不保留扩展统计信息。同时添加 <span>pg_upgrade</span> 选项 <code>--no-statistics</code> 以禁用统计信息保留。</p>", "text": "允许 pg_upgrade 保留优化器统计信息（Corey Huinker, Jeff Davis, Nathan Bossart）§ § § § 不保留扩展统计信息。同时添加 pg_upgrade 选项 --no-statistics 以禁用统计信息保留。", "title": "允许 pg_upgrade 保留优化器统计信息", "commits": ["1fd1bd871", "c9d502eb6", "d5f1b6a75"], "section": "服务器应用 / pg_upgrade", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-PGUPGRADE", "source_hash": "ecf645ad4de74295862351e977c8da59f7c2af26f64a7500473f40f768a10c16", "section_path": ["服务器应用", "pg_upgrade"], "commit_groups": [["1fd1bd871"], ["c9d502eb6"], ["d5f1b6a75"]], "identity_text": "Allow pg_upgrade to preserve optimizer statistics (Corey Huinker, Jeff Davis, Nathan Bossart) Extended statistics are not preserved. Also add pg_upgrade option --no-statistics to disable statistics preservation.", "commit_aliases": ["1fd1bd871", "c9d502eb6", "d5f1b6a75"], "source_commits": ["1fd1bd871", "c9d502eb6", "d5f1b6a75"], "source_entry_id": "18.0/changes/144", "db_id": "afbfe0f474eef5c2d8090e1f45feeeba", "patch_ids": ["394936eb907d9de5748a0a010a502753", "5d0cb3cccce1158170d1cd02ebb43757", "9d11899adf9cf21258dc987420e25832"], "statement_hash": "e18f67b21353450f4c5d6f714edfc631a34936d49aeb7064d84514378024acac", "relations": [{"rule": 2, "type": "related", "target": "8d5b8469bade89e9c1af7e30be1f4707", "evidence": {"same_day": true, "patch_ids": ["5d0cb3cccce1158170d1cd02ebb43757"], "ambiguous_patch_ids": ["5d0cb3cccce1158170d1cd02ebb43757"]}}], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": [{"db_id": "8d5b8469bade89e9c1af7e30be1f4707", "kind": "related", "version": "18.0", "label": "18.0", "title": "添加pg_dump、pg_dumpall和pg_restore选项 --statistics-only、--no-statistics、--no-data 和 --no-schema", "evidence": {"same_day": true, "patch_ids": ["5d0cb3cccce1158170d1cd02ebb43757"], "ambiguous_patch_ids": ["5d0cb3cccce1158170d1cd02ebb43757"]}, "url": "/docs/compare/?release=18.0#18.0-c0be20ef066f045f", "source_url": "/docs/release/18.0/#RELEASE-18-PGDUMP"}]}, {"id": "18.0-f5e9204c81ff4dfe", "cves": [], "html": "<p>允许 <span>pg_upgrade</span> 并行处理数据库检查（Nathan Bossart）<a href=\"https://postgr.es/c/40e2e5e92\">§</a> <a href=\"https://postgr.es/c/6d3d2e8e5\">§</a> <a href=\"https://postgr.es/c/7baa36de5\">§</a> <a href=\"https://postgr.es/c/46cad8b31\">§</a> <a href=\"https://postgr.es/c/6ab8f27bc\">§</a> <a href=\"https://postgr.es/c/bbf83cab9\">§</a> <a href=\"https://postgr.es/c/9db3018cf\">§</a> <a href=\"https://postgr.es/c/c34eabfbb\">§</a> <a href=\"https://postgr.es/c/cf2f82a37\">§</a> <a href=\"https://postgr.es/c/f93f5f7b9\">§</a> <a href=\"https://postgr.es/c/c880cf258\">§</a></p>\n<p>这由现有 <code>--jobs</code> 选项控制。</p>", "text": "允许 pg_upgrade 并行处理数据库检查（Nathan Bossart）§ § § § § § § § § § § 这由现有 --jobs 选项控制。", "title": "允许 pg_upgrade 并行处理数据库检查", "commits": ["40e2e5e92", "46cad8b31", "6ab8f27bc", "6d3d2e8e5", "7baa36de5", "9db3018cf", "bbf83cab9", "c34eabfbb", "c880cf258", "cf2f82a37", "f93f5f7b9"], "section": "服务器应用 / pg_upgrade", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-PGUPGRADE", "source_hash": "0b5c0c1256bdf56fd1a023d5ff1ab1516afcdc337e7ee3b0f9b85acfb343155d", "section_path": ["服务器应用", "pg_upgrade"], "commit_groups": [["40e2e5e92"], ["46cad8b31"], ["6ab8f27bc"], ["6d3d2e8e5"], ["7baa36de5"], ["9db3018cf"], ["bbf83cab9"], ["c34eabfbb"], ["c880cf258"], ["cf2f82a37"], ["f93f5f7b9"]], "identity_text": "Allow pg_upgrade to process database checks in parallel (Nathan Bossart) This is controlled by the existing --jobs option.", "commit_aliases": ["40e2e5e92", "46cad8b31", "6ab8f27bc", "6d3d2e8e5", "7baa36de5", "9db3018cf", "bbf83cab9", "c34eabfbb", "c880cf258", "cf2f82a37", "f93f5f7b9"], "source_commits": ["40e2e5e92", "46cad8b31", "6ab8f27bc", "6d3d2e8e5", "7baa36de5", "9db3018cf", "bbf83cab9", "c34eabfbb", "c880cf258", "cf2f82a37", "f93f5f7b9"], "source_entry_id": "18.0/changes/145", "db_id": "f9d4e72dc027a71ce2a37a4129d73c6d", "patch_ids": ["39d7bd98f5854223c3d58a547a4902aa", "5ae351aee2ec1eb7531ddb523ae48e85", "5d92df319c237bb627175e5564de1c46", "6bedf241e4d5b07a2ac61d723ea4e964", "77821ad60c100a1e9888a07a9b2869f7", "b086dcc033e4eec4f10e04fbbd07818f", "b5650ea4d83bdf9e634285ce798e2430", "c6ef2c23b919aa135fcc566958ceb6a9", "d47694834da9942ed2c592d8eacf8993", "de1419043d49359a7ca596aee355ff07", "df6634fce6c9cedeed8afd588b041845"], "statement_hash": "c05e7f4baaf6c58f0446522b852d7004694d10b5221f78902728516deb65d021", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-06d87c4ff487ca68", "cves": [], "html": "<p>添加 <span>pg_upgrade</span> 选项 <code>--swap</code> 以交换目录而不是复制、克隆或链接文件（Nathan Bossart）<a href=\"https://postgr.es/c/626d7236b\">§</a></p>\n<p>此模式可能是最快的。</p>", "text": "添加 pg_upgrade 选项 --swap 以交换目录而不是复制、克隆或链接文件（Nathan Bossart）§ 此模式可能是最快的。", "title": "添加 pg_upgrade 选项 --swap 以交换目录而不是复制、克隆或链接文件", "commits": ["626d7236b"], "section": "服务器应用 / pg_upgrade", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-PGUPGRADE", "source_hash": "5105f96fe345879f059f5dec740fcdf62c3fb86f637efc061ea65ff41062563f", "section_path": ["服务器应用", "pg_upgrade"], "commit_groups": [["626d7236b"]], "identity_text": "Add pg_upgrade option --swap to swap directories rather than copy, clone, or link files (Nathan Bossart) This mode is potentially the fastest.", "commit_aliases": ["626d7236b"], "source_commits": ["626d7236b"], "source_entry_id": "18.0/changes/146", "db_id": "f554eecffc9529fc8a7bf5df05f1ee48", "patch_ids": ["925b13034396ed82973d22527b295ac1"], "statement_hash": "446dc8dd0a3efeea98cbe5eef953503f703ba461702c2ad5d7041434781f351e", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-d2c23c9432e26b4b", "cves": [], "html": "<p>添加 <span>pg_upgrade</span> 选项 <code>--set-char-signedness</code> 以设置新集簇的默认 <code>char</code> 符号性（Masahiko Sawada）<a href=\"https://postgr.es/c/a8238f87f\">§</a> <a href=\"https://postgr.es/c/1aab68059\">§</a></p>\n<p>这是为了处理 <span>PostgreSQL</span> 18 之前集簇的默认<acronym>CPU</acronym>符号性与新集簇不匹配的情况。</p>", "text": "添加 pg_upgrade 选项 --set-char-signedness 以设置新集簇的默认 char 符号性（Masahiko Sawada）§ § 这是为了处理 PostgreSQL 18 之前集簇的默认CPU符号性与新集簇不匹配的情况。", "title": "添加 pg_upgrade 选项 --set-char-signedness 以设置新集簇的默认 char 符号性", "commits": ["1aab68059", "a8238f87f"], "section": "服务器应用 / pg_upgrade", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-PGUPGRADE", "source_hash": "81fc7dfeaecc0c2acbed8c77a91318171c093256de3f1c6509e4ddb9b3506a2b", "section_path": ["服务器应用", "pg_upgrade"], "commit_groups": [["1aab68059"], ["a8238f87f"]], "identity_text": "Add pg_upgrade option --set-char-signedness to set the default char signedness of new cluster (Masahiko Sawada) This is to handle cases where a pre-PostgreSQL 18 cluster's default CPU signedness does not match the new cluster.", "commit_aliases": ["1aab68059", "a8238f87f"], "source_commits": ["1aab68059", "a8238f87f"], "source_entry_id": "18.0/changes/147", "db_id": "512ccd3d1bb4f010fe11b0eb637be55c", "patch_ids": ["85f2c26487e180e9e34c5a419dbbbf35", "b55f3df554d6f4f601f40f9bd71932dc"], "statement_hash": "5d736231626605165fd5a2523999bf34662259ec86505d0abb98425210873d2d", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-d19757fdc61ec769", "cves": [], "html": "<p>添加<a href=\"/docs/18/app-pgcreatesubscriber.html\" title=\"pg_createsubscriber\"><span><span>pg_createsubscriber</span></span></a>选项 <code>--all</code> 以创建所有数据库的逻辑副本（Shubham Khanna）<a href=\"https://postgr.es/c/fb2ea12f4\">§</a></p>", "text": "添加pg_createsubscriber选项 --all 以创建所有数据库的逻辑副本（Shubham Khanna）§", "title": "添加pg_createsubscriber选项 --all 以创建所有数据库的逻辑副本", "commits": ["fb2ea12f4"], "section": "服务器应用 / 逻辑复制应用程序", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-LOGICALREP-APP", "source_hash": "faf0501784185f0274b91341f0cea4d1ee6e811868673a3a6ee1ed33847c5743", "section_path": ["服务器应用", "逻辑复制应用程序"], "commit_groups": [["fb2ea12f4"]], "identity_text": "Add app-pgcreatesubscriber option --all to create logical replicas for all databases (Shubham Khanna)", "commit_aliases": ["fb2ea12f4"], "source_commits": ["fb2ea12f4"], "source_entry_id": "18.0/changes/148", "db_id": "954788171dcb6930008281d2189eef2b", "patch_ids": ["245e6d7207164c875aec56850b5dd55c"], "statement_hash": "c4a2693c70db1fc909c0ec71efb48bf2afef9841773d730329b484b5e39c01bb", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-3a1392f20857c8b7", "cves": [], "html": "<p>添加 <span>pg_createsubscriber</span> 选项 <code>--clean</code> 以删除发布（Shubham Khanna）<a href=\"https://postgr.es/c/e5aeed4b8\">§</a> <a href=\"https://postgr.es/c/60dda7bbc\">§</a></p>", "text": "添加 pg_createsubscriber 选项 --clean 以删除发布（Shubham Khanna）§ §", "title": "添加 pg_createsubscriber 选项 --clean 以删除发布", "commits": ["60dda7bbc", "e5aeed4b8"], "section": "服务器应用 / 逻辑复制应用程序", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-LOGICALREP-APP", "source_hash": "2da64372e5883b9f3bdb349da006a3aa23028a390fab7edff19003a7d49a0316", "section_path": ["服务器应用", "逻辑复制应用程序"], "commit_groups": [["60dda7bbc"], ["e5aeed4b8"]], "identity_text": "Add pg_createsubscriber option --clean to remove publications (Shubham Khanna)", "commit_aliases": ["60dda7bbc", "e5aeed4b8"], "source_commits": ["60dda7bbc", "e5aeed4b8"], "source_entry_id": "18.0/changes/149", "db_id": "a3ee32edc1ed5ed8fc4beb24a728e94c", "patch_ids": ["8dcabb64a74beea420e0402e41aa4d21", "c203fff53a96a19f82a444e6ce2b5966"], "statement_hash": "1b7cc63371adabb9b0a36adb1a8829f98a748e42e2ed5ff2a972812322515b23", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-c5b9e1d7f60e3ce3", "cves": [], "html": "<p>添加 <span>pg_createsubscriber</span> 选项 <code>--enable-two-phase</code> 以启用预备事务（Shubham Khanna）<a href=\"https://postgr.es/c/e117cfb2f\">§</a></p>", "text": "添加 pg_createsubscriber 选项 --enable-two-phase 以启用预备事务（Shubham Khanna）§", "title": "添加 pg_createsubscriber 选项 --enable-two-phase 以启用预备事务", "commits": ["e117cfb2f"], "section": "服务器应用 / 逻辑复制应用程序", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-LOGICALREP-APP", "source_hash": "343f583b66e94905a85d02018a62265c74dc248149a2d26e069195c9ef400ead", "section_path": ["服务器应用", "逻辑复制应用程序"], "commit_groups": [["e117cfb2f"]], "identity_text": "Add pg_createsubscriber option --enable-two-phase to enable prepared transactions (Shubham Khanna)", "commit_aliases": ["e117cfb2f"], "source_commits": ["e117cfb2f"], "source_entry_id": "18.0/changes/150", "db_id": "ddd2eec200c963d80868d55e604e2e3a", "patch_ids": ["9f0265494d5def7f02e8f05819a94c23"], "statement_hash": "faec4e2c79436622d74ba1b7f84f70be155252fc23e1b39dcdad38cd5ffc05c6", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-88af05c0e8f472ba", "cves": [], "html": "<p>添加<a href=\"/docs/18/app-pgrecvlogical.html\" title=\"pg_recvlogical\"><span><span>pg_recvlogical</span></span></a>选项 <code>--enable-failover</code> 以指定故障切换槽（Hayato Kuroda）<a href=\"https://postgr.es/c/cf2655a90\">§</a></p>\n<p>还添加选项 <code>--enable-two-phase</code> 作为 <code>--two-phase</code> 的同义词，并弃用后者。</p>", "text": "添加pg_recvlogical选项 --enable-failover 以指定故障切换槽（Hayato Kuroda）§ 还添加选项 --enable-two-phase 作为 --two-phase 的同义词，并弃用后者。", "title": "添加pg_recvlogical选项 --enable-failover 以指定故障切换槽", "commits": ["cf2655a90"], "section": "服务器应用 / 逻辑复制应用程序", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-LOGICALREP-APP", "source_hash": "88d9dfa30e5ff57caeb5e8300717a8f74efeb33f2f5d2a0704986b8b80e9f686", "section_path": ["服务器应用", "逻辑复制应用程序"], "commit_groups": [["cf2655a90"]], "identity_text": "Add app-pgrecvlogical option --enable-failover to specify failover slots (Hayato Kuroda) Also add option --enable-two-phase as a synonym for --two-phase, and deprecate the latter.", "commit_aliases": ["cf2655a90"], "source_commits": ["cf2655a90"], "source_entry_id": "18.0/changes/151", "db_id": "99a65ba8cccf85a1b00949d9784e824d", "patch_ids": ["f79f6257cc134079c46d90ba5379ee73"], "statement_hash": "ec97ab729002ad98ab6300ea9df86f7113426cb2f32822d741404b144a051152", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-3558835c66fea651", "cves": [], "html": "<p>允许 <span>pg_recvlogical</span> <code>--drop-slot</code> 在没有 <code>--dbname</code> 的情况下工作（Hayato Kuroda）<a href=\"https://postgr.es/c/c68100aa4\">§</a></p>", "text": "允许 pg_recvlogical --drop-slot 在没有 --dbname 的情况下工作（Hayato Kuroda）§", "title": "允许 pg_recvlogical --drop-slot 在没有 --dbname 的情况下工作", "commits": ["c68100aa4"], "section": "服务器应用 / 逻辑复制应用程序", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-LOGICALREP-APP", "source_hash": "4c6b0f837901f50c25bc9205453bb7b4ef00415891e3eed73509249ca294591d", "section_path": ["服务器应用", "逻辑复制应用程序"], "commit_groups": [["c68100aa4"]], "identity_text": "Allow pg_recvlogical --drop-slot to work without --dbname (Hayato Kuroda)", "commit_aliases": ["c68100aa4"], "source_commits": ["c68100aa4"], "source_entry_id": "18.0/changes/152", "db_id": "8f364820e55644a3a9e26c58d361267b", "patch_ids": ["33d58051231422c994deb2adafe09815"], "statement_hash": "7a8e8735b056aa3b8f0fd15ad90f0690b2e9a69bc625d7c8a66b4465cab96d14", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-5e76309d0863a9b1", "cves": [], "html": "<p>分离<a href=\"/docs/18/xfunc-c.html#XFUNC-ADDIN-INJECTION-POINTS\" title=\"36.10.14. 注入点\">注入点</a>的加载和运行（Michael Paquier, Heikki Linnakangas）<a href=\"https://postgr.es/c/4b211003e\">§</a> <a href=\"https://postgr.es/c/a0a5869a8\">§</a></p>\n<p>现在可以通过 <a href=\"/docs/18/xfunc-c.html#XFUNC-ADDIN-INJECTION-POINTS\" title=\"36.10.14. 注入点\"><code>INJECTION_POINT_LOAD()</code></a> 创建注入点但不运行，并且可以通过 <a href=\"/docs/18/xfunc-c.html#XFUNC-ADDIN-INJECTION-POINTS\" title=\"36.10.14. 注入点\"><code>INJECTION_POINT_CACHED()</code></a> 运行这些注入点。</p>", "text": "分离注入点的加载和运行（Michael Paquier, Heikki Linnakangas）§ § 现在可以通过 INJECTION_POINT_LOAD() 创建注入点但不运行，并且可以通过 INJECTION_POINT_CACHED() 运行这些注入点。", "title": "分离注入点的加载和运行", "commits": ["4b211003e", "a0a5869a8"], "section": "源代码", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-SOURCE-CODE", "source_hash": "893df888cecfaa14b955913efb9204b93a7b2018ba3f7a9e397a29af6bcb71b3", "section_path": ["源代码"], "commit_groups": [["4b211003e"], ["a0a5869a8"]], "identity_text": "Separate the loading and running of injection points (Michael Paquier, Heikki Linnakangas) Injection points can now be created, but not run, via INJECTION_POINT_LOAD(), and such injection points can be run via INJECTION_POINT_CACHED().", "commit_aliases": ["4b211003e", "a0a5869a8"], "source_commits": ["4b211003e", "a0a5869a8"], "source_entry_id": "18.0/changes/153", "db_id": "59fdac27249ed47565b6f75c16e0cd37", "patch_ids": ["613d98e15d1b3445fb5c464537496995", "7b03a2eaca0889ac9bd69ab74602affc"], "statement_hash": "88d18cc833292ed5dc6609366922320f4b754c28efda5a19a0778d9ce7001fbd", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-4750fcaf325e66eb", "cves": [], "html": "<p>支持注入点中的运行时参数（Michael Paquier）<a href=\"https://postgr.es/c/371f2db8b\">§</a></p>", "text": "支持注入点中的运行时参数（Michael Paquier）§", "title": "支持注入点中的运行时参数", "commits": ["371f2db8b"], "section": "源代码", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-SOURCE-CODE", "source_hash": "05301770ccd349689d8b69904a931228a96e0662899a3ade25f228442b6353fc", "section_path": ["源代码"], "commit_groups": [["371f2db8b"]], "identity_text": "Support runtime arguments in injection points (Michael Paquier)", "commit_aliases": ["371f2db8b"], "source_commits": ["371f2db8b"], "source_entry_id": "18.0/changes/154", "db_id": "18e4ff23a56d78d29d6ae66814cb5956", "patch_ids": ["904e25b09a2067d4faafaee411020747"], "statement_hash": "5628295a828190147d169e94449983354f8ae8ff5a86e747e2323a9fafe55684", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-47c2086c6c32cddf", "cves": [], "html": "<p>允许使用 <a href=\"/docs/18/xfunc-c.html#XFUNC-ADDIN-INJECTION-POINTS\" title=\"36.10.14. 注入点\"><code>IS_INJECTION_POINT_ATTACHED()</code></a> 的内联注入点测试代码（Heikki Linnakangas）<a href=\"https://postgr.es/c/20e0e7da9\">§</a></p>", "text": "允许使用 IS_INJECTION_POINT_ATTACHED() 的内联注入点测试代码（Heikki Linnakangas）§", "title": "允许使用 IS_INJECTION_POINT_ATTACHED() 的内联注入点测试代码", "commits": ["20e0e7da9"], "section": "源代码", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-SOURCE-CODE", "source_hash": "79e4cea60860d8836e161e88fdabc5f64d65b8ed64a9f03e86904ead26b4d830", "section_path": ["源代码"], "commit_groups": [["20e0e7da9"]], "identity_text": "Allow inline injection point test code with IS_INJECTION_POINT_ATTACHED() (Heikki Linnakangas)", "commit_aliases": ["20e0e7da9"], "source_commits": ["20e0e7da9"], "source_entry_id": "18.0/changes/155", "db_id": "69ea97ff28af6ada25aca341f8a735b0", "patch_ids": ["2674b27a1325c15a5774f87f3db64257"], "statement_hash": "205a386562b145149d35fbbbf10a8d236a72a87070e3f78c0fc594e2c19dfb63", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-bf3295ddbc100672", "cves": [], "html": "<p>使用 <acronym>SIMD</acronym>（单指令多数据）改进处理长<a href=\"/docs/18/datatype-json.html\" title=\"8.14. JSON 类型\"><code>JSON</code></a>字符串的性能（David Rowley）<a href=\"https://postgr.es/c/ca6fde922\">§</a></p>", "text": "使用 SIMD（单指令多数据）改进处理长JSON字符串的性能（David Rowley）§", "title": "使用 SIMD（单指令多数据）改进处理长JSON字符串的性能", "commits": ["ca6fde922"], "section": "源代码", "category": "performance", "source_url": "/docs/release/18.0/#RELEASE-18-SOURCE-CODE", "source_hash": "2b68724e9ee7f08af34fb5dc99e67d9a8ab04ede02afe191439e3458dd0f05e6", "section_path": ["源代码"], "commit_groups": [["ca6fde922"]], "identity_text": "Improve the performance of processing long JSON strings using SIMD (Single Instruction Multiple Data) (David Rowley)", "commit_aliases": ["ca6fde922"], "source_commits": ["ca6fde922"], "source_entry_id": "18.0/changes/156", "db_id": "bf59b3a6451a01581991094dc922205b", "patch_ids": ["6cd1200fc56103b10efacfbc076570b2"], "statement_hash": "b5d92db4da4785f9e55e37acc9bac0dd40e7bb88a4bb126cc0e859e91cbee94c", "relations": [], "version": "18.0", "category_label": "性能改进", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-2da13651125031b5", "cves": [], "html": "<p>使用 x86 <acronym>AVX</acronym>-512 指令加速 CRC32C 计算（Raghuveer Devulapalli, Paul Amonson）<a href=\"https://postgr.es/c/3c6e8c123\">§</a></p>", "text": "使用 x86 AVX-512 指令加速 CRC32C 计算（Raghuveer Devulapalli, Paul Amonson）§", "title": "使用 x86 AVX-512 指令加速 CRC32C 计算", "commits": ["3c6e8c123"], "section": "源代码", "category": "performance", "source_url": "/docs/release/18.0/#RELEASE-18-SOURCE-CODE", "source_hash": "5c411d4b51c4b6be50ef868a21271a59e4a75118bd9ef67ecd94fe284fa402d6", "section_path": ["源代码"], "commit_groups": [["3c6e8c123"]], "identity_text": "Speed up CRC32C calculations using x86 AVX-512 instructions (Raghuveer Devulapalli, Paul Amonson)", "commit_aliases": ["3c6e8c123"], "source_commits": ["3c6e8c123"], "source_entry_id": "18.0/changes/157", "db_id": "ecafb4a5cc6e92dddebe2ea023f597fc", "patch_ids": ["019ee0d01e78e91881714ff3219df19d"], "statement_hash": "9ebfb29bd90710429d9371df23815bf2b5a56103e50f8fd93d29218148000bd5", "relations": [], "version": "18.0", "category_label": "性能改进", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-800b2833fc9c07cb", "cves": [], "html": "<p>添加用于 popcount（整数位计数）的<acronym>ARM</acronym> Neon 和<acronym>SVE CPU</acronym>内在函数（Chiranmoy Bhattacharya, Devanga Susmitha, Rama Malladi）<a href=\"https://postgr.es/c/6be53c276\">§</a> <a href=\"https://postgr.es/c/519338ace\">§</a></p>", "text": "添加用于 popcount（整数位计数）的ARM Neon 和SVE CPU内在函数（Chiranmoy Bhattacharya, Devanga Susmitha, Rama Malladi）§ §", "title": "添加用于 popcount（整数位计数）的ARM Neon 和SVE CPU内在函数", "commits": ["519338ace", "6be53c276"], "section": "源代码", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-SOURCE-CODE", "source_hash": "09d6f13a948bcd90f3f3ac8e4018d0c533c115226c68a7db35a0bca2856dc813", "section_path": ["源代码"], "commit_groups": [["519338ace"], ["6be53c276"]], "identity_text": "Add ARM Neon and SVE CPU intrinsics for popcount (integer bit counting) (Chiranmoy Bhattacharya, Devanga Susmitha, Rama Malladi)", "commit_aliases": ["519338ace", "6be53c276"], "source_commits": ["519338ace", "6be53c276"], "source_entry_id": "18.0/changes/158", "db_id": "e50b80ab8e5fdb402e0beb48a5db4bc9", "patch_ids": ["205916923c7dd75d0231c55476cd4c48", "fd2f2d7fbcf88e0449c66f9f417165fc"], "statement_hash": "ee09c22e85fe2068ac5f7492e13742c8aea22c6679a441f8015237ca7bdeeca7", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-0ce7fe540ff763c1", "cves": [], "html": "<p>提高数值乘法和除法的速度（Joel Jacobson, Dean Rasheed）<a href=\"https://postgr.es/c/ca481d3c9\">§</a> <a href=\"https://postgr.es/c/c4e44224c\">§</a> <a href=\"https://postgr.es/c/8dc28d7eb\">§</a> <a href=\"https://postgr.es/c/9428c001f\">§</a></p>", "text": "提高数值乘法和除法的速度（Joel Jacobson, Dean Rasheed）§ § § §", "title": "提高数值乘法和除法的速度", "commits": ["8dc28d7eb", "9428c001f", "c4e44224c", "ca481d3c9"], "section": "源代码", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-SOURCE-CODE", "source_hash": "6edd099ca744adedc636a8415e8be30ad6220455ffa27ad1859cf8db0e9e45b0", "section_path": ["源代码"], "commit_groups": [["8dc28d7eb"], ["9428c001f"], ["c4e44224c"], ["ca481d3c9"]], "identity_text": "Improve the speed of numeric multiplication and division (Joel Jacobson, Dean Rasheed)", "commit_aliases": ["8dc28d7eb", "9428c001f", "c4e44224c", "ca481d3c9"], "source_commits": ["8dc28d7eb", "9428c001f", "c4e44224c", "ca481d3c9"], "source_entry_id": "18.0/changes/159", "db_id": "a7dfad9e7ea9413b1f4feb4de2d8c632", "patch_ids": ["2f55166563d7d9ec64de99e0bf6e591a", "674fb4fd8062e095c5e8fbfa7beab186", "8d573b00acf40046627605c19414157d", "eb6faba6db5698c6310910540adef0d3"], "statement_hash": "8921ae4e40b001cd77fce579693d0a2e93ba934d8c04d74b261b43866655c114", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-7ed66c101b89375c", "cves": [], "html": "<p>添加配置选项<a href=\"/docs/18/install-make.html#CONFIGURE-OPTION-WITH-LIBNUMA\"><code>--with-libnuma</code></a>以启用<acronym>NUMA</acronym>感知功能（Jakub Wartak, Bertrand Drouvot）<a href=\"https://postgr.es/c/65c298f61\">§</a> <a href=\"https://postgr.es/c/8cc139bec\">§</a> <a href=\"https://postgr.es/c/ba2a3c230\">§</a></p>\n<p>函数<a href=\"/docs/18/functions-info.html#FUNCTIONS-INFO-SESSION-TABLE\" title=\"表 9.71. 会话信息函数\"><code>pg_numa_available()</code></a> 报告是否具备<acronym>NUMA</acronym>感知能力；系统视图 <a href=\"/docs/18/view-pg-shmem-allocations-numa.html\" title=\"53.28. pg_shmem_allocations_numa\"><code>pg_shmem_allocations_numa</code></a> 和<a href=\"/docs/18/pgbuffercache.html#PGBUFFERCACHE-PG-BUFFERCACHE-NUMA\" title=\"F.25.2. pg_buffercache_numa 视图\"><code>pg_buffercache_numa</code></a> 报告共享内存在<acronym>NUMA</acronym>节点之间的分布。</p>", "text": "添加配置选项--with-libnuma以启用NUMA感知功能（Jakub Wartak, Bertrand Drouvot）§ § § 函数pg_numa_available() 报告是否具备NUMA感知能力；系统视图 pg_shmem_allocations_numa 和pg_buffercache_numa 报告共享内存在NUMA节点之间的分布。", "title": "添加配置选项--with-libnuma以启用NUMA感知功能", "commits": ["65c298f61", "8cc139bec", "ba2a3c230"], "section": "源代码", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-SOURCE-CODE", "source_hash": "0b0694513101ef09876066d6557fa4d54f9a726b8c32a495d2e11cb5dbb87a56", "section_path": ["源代码"], "commit_groups": [["65c298f61"], ["8cc139bec"], ["ba2a3c230"]], "identity_text": "Add configure option --with-libnuma to enable NUMA awareness (Jakub Wartak, Bertrand Drouvot) The function pg_numa_available() reports on NUMA awareness, and system views pg_shmem_allocations_numa and pg_buffercache_numa which report on shared memory distribution across NUMA nodes.", "commit_aliases": ["65c298f61", "8cc139bec", "ba2a3c230"], "source_commits": ["65c298f61", "8cc139bec", "ba2a3c230"], "source_entry_id": "18.0/changes/160", "db_id": "c46ccca9f1946dfd4459a691e07af2db", "patch_ids": ["0bda3a2939f0c8e553f2cd364b861d66", "a0086763a22eaef1a94129dc2cb83f26", "ff9b0977e0d9bc988b2742729958c76a"], "statement_hash": "db9faab559f61ef090bb1474d8e37a8edb03dfee891204a25cf413b42cb27eae", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-73690f779106d70f", "cves": [], "html": "<p>将<a href=\"/docs/18/storage-toast.html\" title=\"66.2. TOAST\"><acronym>TOAST</acronym></a>表添加到<a href=\"/docs/18/catalog-pg-index.html\" title=\"52.26. pg_index\"><code>pg_index</code></a>，以允许创建超大型表达式索引（Nathan Bossart）<a href=\"https://postgr.es/c/b52c4fc3c\">§</a></p>", "text": "将TOAST表添加到pg_index，以允许创建超大型表达式索引（Nathan Bossart）§", "title": "将TOAST表添加到pg_index，以允许创建超大型表达式索引", "commits": ["b52c4fc3c"], "section": "源代码", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-SOURCE-CODE", "source_hash": "e38df8c4adac3c916dd37e49534a831db4c663c75afb9f1572aa9d9a19e1310b", "section_path": ["源代码"], "commit_groups": [["b52c4fc3c"]], "identity_text": "Add TOAST table to pg_index to allow for very large expression indexes (Nathan Bossart)", "commit_aliases": ["b52c4fc3c"], "source_commits": ["b52c4fc3c"], "source_entry_id": "18.0/changes/161", "db_id": "a183c4433783924b1f543b04dffbe63e", "patch_ids": ["825a8af7998ad11c985cc0c19920c0aa"], "statement_hash": "585ce1fc6b90250a5d9f417054d52adc8449c84cb9126c4a7c8e18ded4b9bc89", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-45f6c13a48c9d021", "cves": [], "html": "<p>移除列<a href=\"/docs/18/catalog-pg-attribute.html\" title=\"52.7. pg_attribute\"><code>pg_attribute</code></a>.<code>attcacheoff</code>（David Rowley）<a href=\"https://postgr.es/c/02a8d0c45\">§</a></p>", "text": "移除列pg_attribute.attcacheoff（David Rowley）§", "title": "移除列pg_attribute.attcacheoff", "commits": ["02a8d0c45"], "section": "源代码", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-SOURCE-CODE", "source_hash": "645f698b676a9ba73d5e041adbcaff61122cc02dafe32585a497ee892ea42a60", "section_path": ["源代码"], "commit_groups": [["02a8d0c45"]], "identity_text": "Remove column pg_attribute.attcacheoff (David Rowley)", "commit_aliases": ["02a8d0c45"], "source_commits": ["02a8d0c45"], "source_entry_id": "18.0/changes/162", "db_id": "de9715e00924e543a93173bd557f8a87", "patch_ids": ["2a64af08b922f4b5dfec5863eeacc734"], "statement_hash": "f1b5f09c6883050623ac1812e798880f8ba176d23813a4ced4f4bd063d39ad1d", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-f7b32040898461ae", "cves": [], "html": "<p>添加列<a href=\"/docs/18/catalog-pg-class.html\" title=\"52.11. pg_class\"><code>pg_class</code></a>.<code>relallfrozen</code>（Melanie Plageman）<a href=\"https://postgr.es/c/99f8f3fbb\">§</a></p>", "text": "添加列pg_class.relallfrozen（Melanie Plageman）§", "title": "添加列pg_class.relallfrozen", "commits": ["99f8f3fbb"], "section": "源代码", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-SOURCE-CODE", "source_hash": "02febe83c5ceca231086a3ac50eeaa199052ee8b196e5ca9c648c59dde6831ca", "section_path": ["源代码"], "commit_groups": [["99f8f3fbb"]], "identity_text": "Add column pg_class.relallfrozen (Melanie Plageman)", "commit_aliases": ["99f8f3fbb"], "source_commits": ["99f8f3fbb"], "source_entry_id": "18.0/changes/163", "db_id": "2e16a121d2fdae3f34873b26af68f724", "patch_ids": ["e34a60db7964acc6555e873dfb10725a"], "statement_hash": "96beb2905e3a248595ecdda5e965d732eec214f703f8add76ce30ed4598a9414", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-36f13d2355bc9392", "cves": [], "html": "<p>将<a href=\"/docs/18/indexam.html\" title=\"第 63 章 索引访问方法接口定义\"><code>amgettreeheight</code></a>、<code>amconsistentequality</code>和<code>amconsistentordering</code>添加到索引访问方法<acronym>API</acronym>（Mark Dilger）<a href=\"https://postgr.es/c/56fead44d\">§</a> <a href=\"https://postgr.es/c/af4002b38\">§</a></p>", "text": "将amgettreeheight、amconsistentequality和amconsistentordering添加到索引访问方法API（Mark Dilger）§ §", "title": "将amgettreeheight、amconsistentequality和amconsistentordering添加到索引访问方法API", "commits": ["56fead44d", "af4002b38"], "section": "源代码", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-SOURCE-CODE", "source_hash": "d9121373abf7531fa3051db8fd45e11e34a371bb1779aa72dbd4573002763cc6", "section_path": ["源代码"], "commit_groups": [["56fead44d"], ["af4002b38"]], "identity_text": "Add amgettreeheight, amconsistentequality, and amconsistentordering to the index access method API (Mark Dilger)", "commit_aliases": ["56fead44d", "af4002b38"], "source_commits": ["56fead44d", "af4002b38"], "source_entry_id": "18.0/changes/164", "db_id": "c0896ad6ccc9b4c2522da43d546da5f5", "patch_ids": ["d54243aea7af44672498af96b843565f", "fb0944545fe3714256167ec92793a5fc"], "statement_hash": "6ef133d3b85ce6783272fac722c9d4e931a1f2092c9da0e51cb9b27246ad7051", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-924d500bb7412759", "cves": [], "html": "<p>添加GiST支持函数<a href=\"/docs/18/gist.html#GIST-EXTENSIBILITY\" title=\"65.2.3. 可扩展性\"><code>stratnum()</code></a>（Paul A. Jungwirth）<a href=\"https://postgr.es/c/7406ab623\">§</a></p>", "text": "添加GiST支持函数stratnum()（Paul A. Jungwirth）§", "title": "添加GiST支持函数stratnum()", "commits": ["7406ab623"], "section": "源代码", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-SOURCE-CODE", "source_hash": "cd860c634e5c11ef7814413f8dfc7d4e50a604bc8ae0127b42546e3f70578790", "section_path": ["源代码"], "commit_groups": [["7406ab623"]], "identity_text": "Add GiST support function stratnum() (Paul A. Jungwirth)", "commit_aliases": ["7406ab623"], "source_commits": ["7406ab623"], "source_entry_id": "18.0/changes/165", "db_id": "547b4d266eb95df0ca214e88f83f2ac3", "patch_ids": ["c0f4d3964e16c6eacecdf93706337b0f"], "statement_hash": "ab651fe748b337f580f4b0931d16866d0f092f26619271305ee30d4e09247dd2", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-f00fd70d8141bdd1", "cves": [], "html": "<p>在<a href=\"/docs/18/app-pgcontroldata.html\" title=\"pg_controldata\"><span><span>pg_controldata</span></span></a>中记录<acronym>CPU</acronym>对<code>char</code>类型的默认有符号性（Masahiko Sawada）<a href=\"https://postgr.es/c/44fe30fda\">§</a></p>", "text": "在pg_controldata中记录CPU对char类型的默认有符号性（Masahiko Sawada）§", "title": "在pg_controldata中记录CPU对char类型的默认有符号性", "commits": ["44fe30fda"], "section": "源代码", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-SOURCE-CODE", "source_hash": "363da2533daefb50791d8811bea21405b4ee732ce6c4f3f355442806e1dd31fa", "section_path": ["源代码"], "commit_groups": [["44fe30fda"]], "identity_text": "Record the default CPU signedness of char in app-pgcontroldata (Masahiko Sawada)", "commit_aliases": ["44fe30fda"], "source_commits": ["44fe30fda"], "source_entry_id": "18.0/changes/166", "db_id": "1527e2bcee85b6c81195ac3b56adf9ec", "patch_ids": ["a1e6c83e979843b0eaf5ffe14783e0e3"], "statement_hash": "47a0f9c4a0f67658919456be40ebfed6e7fa4cc578e1cbb804123622a3dc417b", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-02a1ef16c8d55c42", "cves": [], "html": "<p>在<a href=\"/docs/18/plpython.html\" title=\"第 44 章 PL/Python — Python 过程语言\">PL/Python</a>中添加对 Python“Limited <acronym>API</acronym>”的支持（Peter Eisentraut）<a href=\"https://postgr.es/c/72a3d0462\">§</a><a href=\"https://postgr.es/c/0793ab810\">§</a></p>\n<p>这有助于防止由于<span>Python</span> 3.x 版本不匹配引起的问题。</p>", "text": "在PL/Python中添加对 Python“Limited API”的支持（Peter Eisentraut）§§ 这有助于防止由于Python 3.x 版本不匹配引起的问题。", "title": "在PL/Python中添加对 Python“Limited API”的支持", "commits": ["0793ab810", "72a3d0462"], "section": "源代码", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-SOURCE-CODE", "source_hash": "f49def5963789b61e9e11e6b78ad16b391ce6657675eb5e12857c3d90c25063f", "section_path": ["源代码"], "commit_groups": [["0793ab810"], ["72a3d0462"]], "identity_text": "Add support for Python \"Limited API\" in PL/Python (Peter Eisentraut) This helps prevent problems caused by Python 3.x version mismatches.", "commit_aliases": ["0793ab810", "72a3d0462"], "source_commits": ["0793ab810", "72a3d0462"], "source_entry_id": "18.0/changes/167", "db_id": "d9d289d7c17d30019901f5104438a9b5", "patch_ids": ["cbf73ec20c058f368547efbe37a75ed9", "d615c6575bcf9dabc148901891890deb"], "statement_hash": "bf3af05933e7d77673abcb674c13915120867f48aac15d60053f750a42d0d7d0", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-a91e1aed4a58b3e8", "cves": [], "html": "<p>将最低支持的<span>Python</span>版本更改为3.6.8（Jacob Champion）<a href=\"https://postgr.es/c/45363fca6\">§</a></p>", "text": "将最低支持的Python版本更改为3.6.8（Jacob Champion）§", "title": "将最低支持的Python版本更改为3.6.8", "commits": ["45363fca6"], "section": "源代码", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-SOURCE-CODE", "source_hash": "edfc0a822c1e6decb577eb651c059faf6285be5446a2ae201393b823c93a7b4a", "section_path": ["源代码"], "commit_groups": [["45363fca6"]], "identity_text": "Change the minimum supported Python version to 3.6.8 (Jacob Champion)", "commit_aliases": ["45363fca6"], "source_commits": ["45363fca6"], "source_entry_id": "18.0/changes/168", "db_id": "3803d2204af4aafb31861db9c07294df", "patch_ids": ["d238a5c385201266bab1298ddc3d6937"], "statement_hash": "8e0582a6e94665c56a736b1daf82f2826837a955bf1ad3c8fed3ee41c1854b9b", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-569734334a6b98e9", "cves": [], "html": "<p>移除对早于1.1.1版本的<span>OpenSSL</span>的支持（Daniel Gustafsson）<a href=\"https://postgr.es/c/a70e01d43\">§</a> <a href=\"https://postgr.es/c/6c66b7443\">§</a></p>", "text": "移除对早于1.1.1版本的OpenSSL的支持（Daniel Gustafsson）§ §", "title": "移除对早于1.1.1版本的OpenSSL的支持", "commits": ["6c66b7443", "a70e01d43"], "section": "源代码", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-SOURCE-CODE", "source_hash": "fef36e34b98c4cf8afc0e87fda7cd8014955b79b409cd798e1776f2cbb3cc19d", "section_path": ["源代码"], "commit_groups": [["6c66b7443"], ["a70e01d43"]], "identity_text": "Remove support for OpenSSL versions older than 1.1.1 (Daniel Gustafsson)", "commit_aliases": ["6c66b7443", "a70e01d43"], "source_commits": ["6c66b7443", "a70e01d43"], "source_entry_id": "18.0/changes/169", "db_id": "48cbbe1a33f004fe33768f2881d5d92f", "patch_ids": ["abb2eed446c79007a20dabd90ec11e07", "e230f75c4521f002154fbc695ab93e0a"], "statement_hash": "c8e7dae9a85d85423b23da56e2d21b96b7f26438f93b7ac8c175a38b66b24100", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-bd09bbc2d989193e", "cves": [], "html": "<p>如果启用<span>LLVM</span>，则要求版本14或更高（Thomas Munro）<a href=\"https://postgr.es/c/972c2cd28\">§</a></p>", "text": "如果启用LLVM，则要求版本14或更高（Thomas Munro）§", "title": "如果启用LLVM，则要求版本14或更高", "commits": ["972c2cd28"], "section": "源代码", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-SOURCE-CODE", "source_hash": "312a91a833836d352538d85b42e2e70e2f3593c02b219f7e95f80da5e10bfaf4", "section_path": ["源代码"], "commit_groups": [["972c2cd28"]], "identity_text": "If LLVM is enabled, require version 14 or later (Thomas Munro)", "commit_aliases": ["972c2cd28"], "source_commits": ["972c2cd28"], "source_entry_id": "18.0/changes/170", "db_id": "50c7a44be3192eea399751ed1200e8e8", "patch_ids": ["8a4ef85fef8148a0752a6381c6a739bb"], "statement_hash": "36fc6c5974c10ca846263ab84a10c91abb0ab4d1f95effb5f1513c71c37a4bbe", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-0f56f248bf4ec2a9", "cves": [], "html": "<p>添加宏<a href=\"/docs/18/functions-info.html\" title=\"9.27. 系统信息函数和操作符\"><code>PG_MODULE_MAGIC_EXT</code></a>以允许扩展报告其名称和版本（Andrei Lepikhov）<a href=\"https://postgr.es/c/9324c8c58\">§</a></p>\n<p>此信息可以通过新函数<a href=\"/docs/18/functions-info.html#FUNCTIONS-INFO-SESSION-TABLE\" title=\"表 9.71. 会话信息函数\"><code>pg_get_loaded_modules()</code></a>访问。</p>", "text": "添加宏PG_MODULE_MAGIC_EXT以允许扩展报告其名称和版本（Andrei Lepikhov）§ 此信息可以通过新函数pg_get_loaded_modules()访问。", "title": "添加宏PG_MODULE_MAGIC_EXT以允许扩展报告其名称和版本", "commits": ["9324c8c58"], "section": "源代码", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-SOURCE-CODE", "source_hash": "473925ca43927bf0fecf0ebb8b99b79703e70fb6920ef16d9a6197b242837012", "section_path": ["源代码"], "commit_groups": [["9324c8c58"]], "identity_text": "Add macro PG_MODULE_MAGIC_EXT to allow extensions to report their name and version (Andrei Lepikhov) This information can be access via the new function pg_get_loaded_modules().", "commit_aliases": ["9324c8c58"], "source_commits": ["9324c8c58"], "source_entry_id": "18.0/changes/171", "db_id": "22bad4a55bc766af423a30b6bf1b99b9", "patch_ids": ["ed1ff647f1c305bd35f657351b9a7adf"], "statement_hash": "b4515add36ae14827b8bf37983849f8407d2e2de81d57662cf8c2e42fb2dc367", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-42eee16099725f8d", "cves": [], "html": "<p>文档指出<a href=\"/docs/18/spi-spi-connect.html\" title=\"SPI_connect\"><code>SPI_connect()</code></a>/<a href=\"/docs/18/spi-spi-connect.html\" title=\"SPI_connect\"><code>SPI_connect_ext()</code></a>总是返回成功（<code>SPI_OK_CONNECT</code>）（Stepan Neretin）<a href=\"https://postgr.es/c/218527d01\">§</a></p>\n<p>错误总是通过<code>ereport()</code>报告。</p>", "text": "文档指出SPI_connect()/SPI_connect_ext()总是返回成功（SPI_OK_CONNECT）（Stepan Neretin）§ 错误总是通过ereport()报告。", "title": "文档指出SPI_connect()/SPI_connect_ext()总是返回成功（SPI_OK_CONNECT）", "commits": ["218527d01"], "section": "源代码", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-SOURCE-CODE", "source_hash": "aa52b5fa421b28ab0bc7e593947371732a940dc52c961ec9185e124ddf4d35ff", "section_path": ["源代码"], "commit_groups": [["218527d01"]], "identity_text": "Document that SPI_connect()/SPI_connect_ext() always returns success (SPI_OK_CONNECT) (Stepan Neretin) Errors are always reported via ereport().", "commit_aliases": ["218527d01"], "source_commits": ["218527d01"], "source_entry_id": "18.0/changes/172", "db_id": "6c9d752ad2524932db7f67c114ea208c", "patch_ids": ["8db80b5d2f22fef141642ab40ac0c845"], "statement_hash": "67c11936fe67155db84d081f3909f3742a03731f80e2342d6e16669433687aba", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-f038496a550a3a46", "cves": [], "html": "<p>添加关于<acronym>API</acronym>和<acronym>ABI</acronym>兼容性的<a href=\"/docs/18/xfunc-c.html#XFUNC-API-ABI-STABILITY-GUIDANCE\" title=\"36.10.6. 服务器 API 和 ABI 稳定性指南\">文档章节</a>（David Wheeler, Peter Eisentraut）<a href=\"https://postgr.es/c/e54a42ac9\">§</a></p>", "text": "添加关于API和ABI兼容性的文档章节（David Wheeler, Peter Eisentraut）§", "title": "添加关于API和ABI兼容性的文档章节", "commits": ["e54a42ac9"], "section": "源代码", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-SOURCE-CODE", "source_hash": "90c971529d419760d77397cb587a82b521c16886289aebdd0a9950e6910000f9", "section_path": ["源代码"], "commit_groups": [["e54a42ac9"]], "identity_text": "Add documentation section about API and ABI compatibility (David Wheeler, Peter Eisentraut)", "commit_aliases": ["e54a42ac9"], "source_commits": ["e54a42ac9"], "source_entry_id": "18.0/changes/173", "db_id": "bce92895bdc4d2128762d0826b82afe5", "patch_ids": ["ed9bc344aa72386c8e767c718632ec82"], "statement_hash": "0295a4b203df0b9501cc58312ecd1041db9220faa5a8a3ae88d0fb981ee922f4", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-4788a1f5f1370946", "cves": [], "html": "<p>移除<span>Meson</span>上<span>Windows</span>构建的实验性标记（Aleksander Alekseev）<a href=\"https://postgr.es/c/5afaba629\">§</a></p>", "text": "移除Meson上Windows构建的实验性标记（Aleksander Alekseev）§", "title": "移除Meson上Windows构建的实验性标记", "commits": ["5afaba629"], "section": "源代码", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-SOURCE-CODE", "source_hash": "6fa8dda0e2cd9ac5555c784bf5c0ef8242c1206143e83bc3f734bc4ebaecdc2a", "section_path": ["源代码"], "commit_groups": [["5afaba629"]], "identity_text": "Remove the experimental designation of Meson builds on Windows (Aleksander Alekseev)", "commit_aliases": ["5afaba629"], "source_commits": ["5afaba629"], "source_entry_id": "18.0/changes/174", "db_id": "65f45b8de45e88579fb3a07c1fc5ca82", "patch_ids": ["7f3733853ec88ef6dcc506c3f311ca02"], "statement_hash": "4b791d0ce6d561df0dc9266dbc1c032420c8b1a17d776165cd28778ec4824762", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-6b5e40a77fbcbf1d", "cves": [], "html": "<p>移除配置选项<code>--disable-spinlocks</code>和<code>--disable-atomics</code>（Thomas Munro）<a href=\"https://postgr.es/c/e25626677\">§</a> <a href=\"https://postgr.es/c/813852613\">§</a></p>\n<p>现在需要32位原子操作。</p>", "text": "移除配置选项--disable-spinlocks和--disable-atomics（Thomas Munro）§ § 现在需要32位原子操作。", "title": "移除配置选项--disable-spinlocks和--disable-atomics", "commits": ["813852613", "e25626677"], "section": "源代码", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-SOURCE-CODE", "source_hash": "dea8d45db1e65b97fa1c42d83d77ae1a21b44ff4bf947e134c0ae0c51fec84eb", "section_path": ["源代码"], "commit_groups": [["813852613"], ["e25626677"]], "identity_text": "Remove configure options --disable-spinlocks and --disable-atomics (Thomas Munro) Thirty-two-bit atomic operations are now required.", "commit_aliases": ["813852613", "e25626677"], "source_commits": ["813852613", "e25626677"], "source_entry_id": "18.0/changes/175", "db_id": "cb76202d341bfde3157c7f5662fdca08", "patch_ids": ["1adba83a13269f9fe1796e4c938f5668", "c5a68b790cc12df3a522cd1c85e50f75"], "statement_hash": "f075e693a989fc62b94be60cc6414f54094d772e3fc9f2cc5a1a1beefdca9437", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-e7a698f98f5c42cc", "cves": [], "html": "<p>移除对<acronym>HPPA</acronym>/<acronym>PA-RISC</acronym>架构的支持（Tom Lane）<a href=\"https://postgr.es/c/edadeb071\">§</a></p>", "text": "移除对HPPA/PA-RISC架构的支持（Tom Lane）§", "title": "移除对HPPA/PA-RISC架构的支持", "commits": ["edadeb071"], "section": "源代码", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-SOURCE-CODE", "source_hash": "8f4d3cb0f0e25fcd326fb98621d0aefc3e51c019fd35d16cfdf8c01567fe96be", "section_path": ["源代码"], "commit_groups": [["edadeb071"]], "identity_text": "Remove support for the HPPA/PA-RISC architecture (Tom Lane)", "commit_aliases": ["edadeb071"], "source_commits": ["edadeb071"], "source_entry_id": "18.0/changes/176", "db_id": "a167452f08dbddf1b2de4b6f87175253", "patch_ids": ["4c7fcd694e4cfcfdf4d2b66e07bcc93b"], "statement_hash": "34e0e62ec64cf13e242497f80e1704894b16ff8d2f43db397bcdbb5fd4d87a42", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-7300ae371e3a1273", "cves": [], "html": "<p>添加扩展<a href=\"/docs/18/pglogicalinspect.html\" title=\"F.28. pg_logicalinspect — 逻辑解码组件检查\">pg_logicalinspect</a>以检查逻辑快照（Bertrand Drouvot）<a href=\"https://postgr.es/c/7cdfeee32\">§</a></p>", "text": "添加扩展pg_logicalinspect以检查逻辑快照（Bertrand Drouvot）§", "title": "添加扩展pg_logicalinspect以检查逻辑快照", "commits": ["7cdfeee32"], "section": "附加模块", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-MODULES", "source_hash": "2687560225facdefa50011e45e121f7d2ba43f8c8dbd44cf574154afa1445beb", "section_path": ["附加模块"], "commit_groups": [["7cdfeee32"]], "identity_text": "Add extension pglogicalinspect to inspect logical snapshots (Bertrand Drouvot)", "commit_aliases": ["7cdfeee32"], "source_commits": ["7cdfeee32"], "source_entry_id": "18.0/changes/177", "db_id": "67c4f0ce87d750c9d1fc47621ad4ca18", "patch_ids": ["a7b197beccb692abf2aeb8c35a0a48a1"], "statement_hash": "aacda762c76e2c1fbfdaa69e9c927a9740a1692b0b61c349e5016a3c3b699a0a", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-cd656e77492d840c", "cves": [], "html": "<p>添加扩展<a href=\"/docs/18/pgoverexplain.html\" title=\"F.29. pg_overexplain — 允许 EXPLAIN 输出更多细节\">pg_overexplain</a>，它向<a href=\"/docs/18/sql-explain.html\" title=\"EXPLAIN\"><code>EXPLAIN</code></a>输出添加调试细节（Robert Haas）<a href=\"https://postgr.es/c/8d5ceb113\">§</a></p>", "text": "添加扩展pg_overexplain，它向EXPLAIN输出添加调试细节（Robert Haas）§", "title": "添加扩展pg_overexplain，它向EXPLAIN输出添加调试细节", "commits": ["8d5ceb113"], "section": "附加模块", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-MODULES", "source_hash": "7515ce17b867bfaab97a731353d79de47d4cad8cb11c156dc88cd77a008a3e6a", "section_path": ["附加模块"], "commit_groups": [["8d5ceb113"]], "identity_text": "Add extension pgoverexplain which adds debug details to EXPLAIN output (Robert Haas)", "commit_aliases": ["8d5ceb113"], "source_commits": ["8d5ceb113"], "source_entry_id": "18.0/changes/178", "db_id": "87a2dbbbebd8175b5bf005cb3cfc67ca", "patch_ids": ["2ed4181cb477cdca663a38f91a5f217c"], "statement_hash": "d9fca54d692a23040461084ec35270936c31625992377c566a8c37899f1f0787", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-9c201efa232d7b6f", "cves": [], "html": "<p>向<a href=\"/docs/18/postgres-fdw.html#POSTGRES-FDW-FUNCTIONS\" title=\"F.38.2. 函数\"><code>postgres_fdw_get_connections()</code></a>添加输出列（Hayato Kuroda, Sagar Dilip Shedge）<a href=\"https://postgr.es/c/c297a47c5\">§</a> <a href=\"https://postgr.es/c/857df3cef\">§</a> <a href=\"https://postgr.es/c/4f08ab554\">§</a> <a href=\"https://postgr.es/c/fe186bda7\">§</a></p>\n<p>新的输出列<code>used_in_xact</code>指示外部数据包装器是否正在被当前事务使用，<code>closed</code>指示它是否已关闭，<code>user_name</code>指示用户名，<code>remote_backend_pid</code>指示远程后端进程标识符。</p>", "text": "向postgres_fdw_get_connections()添加输出列（Hayato Kuroda, Sagar Dilip Shedge）§ § § § 新的输出列used_in_xact指示外部数据包装器是否正在被当前事务使用，closed指示它是否已关闭，user_name指示用户名，remote_backend_pid指示远程后端进程标识符。", "title": "向postgres_fdw_get_connections()添加输出列", "commits": ["4f08ab554", "857df3cef", "c297a47c5", "fe186bda7"], "section": "附加模块", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-MODULES", "source_hash": "2757fb81880ea4eb26d1e4463218e9a19e266a0e629f94c057cb3aec12bcea56", "section_path": ["附加模块"], "commit_groups": [["4f08ab554"], ["857df3cef"], ["c297a47c5"], ["fe186bda7"]], "identity_text": "Add output columns to postgres_fdw_get_connections() (Hayato Kuroda, Sagar Dilip Shedge) New output column used_in_xact indicates if the foreign data wrapper is being used by a current transaction, closed indicates if it is closed, user_name indicates the user name, and remote_backend_pid indicates the remote backend process identifier.", "commit_aliases": ["4f08ab554", "857df3cef", "c297a47c5", "fe186bda7"], "source_commits": ["4f08ab554", "857df3cef", "c297a47c5", "fe186bda7"], "source_entry_id": "18.0/changes/179", "db_id": "57766a54c36633792199e697fc70e7df", "patch_ids": ["69b3dae14669bd99116e5c32e7ce74b0", "6a1a0a8505001d8b25302d12068877e7", "c0a12ec1a2d53150c1b560fb21c4539c", "d67e56f99dc5bb1eb71cebb589bee3a5"], "statement_hash": "3720900a35e82886147a69fd3730383d5206cad9f0e7aafdf9a19742425cfc42", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-fbea9dca0f9ece0e", "cves": [], "html": "<p>允许将客户端的<a href=\"/docs/18/auth-password.html\" title=\"20.5. 密码认证\"><acronym>SCRAM</acronym></a>认证传递给<a href=\"/docs/18/postgres-fdw.html\" title=\"F.38. postgres_fdw — 访问存储在外部 PostgreSQL 服务器中的数据\">postgres_fdw</a>服务器（Matheus Alcantara, Peter Eisentraut）<a href=\"https://postgr.es/c/761c79508\">§</a></p>\n<p>这避免了在数据库中存储<span>postgres_fdw</span>认证信息，并通过<span>postgres_fdw</span> <a href=\"/docs/18/postgres-fdw.html#POSTGRES-FDW-OPTION-USE-SCRAM-PASSTHROUGH\"><code>use_scram_passthrough</code></a>连接选项启用。libpq使用新的连接参数<a href=\"/docs/18/libpq-connect.html#LIBPQ-CONNECT-SCRAM-CLIENT-KEY\">scram_client_key</a>和<a href=\"/docs/18/libpq-connect.html#LIBPQ-CONNECT-SCRAM-SERVER-KEY\">scram_server_key</a>。</p>", "text": "允许将客户端的SCRAM认证传递给postgres_fdw服务器（Matheus Alcantara, Peter Eisentraut）§ 这避免了在数据库中存储postgres_fdw认证信息，并通过postgres_fdw use_scram_passthrough连接选项启用。libpq使用新的连接参数scram_client_key和scram_server_key。", "title": "允许将客户端的SCRAM认证传递给postgres_fdw服务器", "commits": ["761c79508"], "section": "附加模块", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-MODULES", "source_hash": "5acf9481abc4c3c8dc1300ade55bcee491bededaef10ba7b4c9d16ee213d4b3f", "section_path": ["附加模块"], "commit_groups": [["761c79508"]], "identity_text": "Allow SCRAM authentication from the client to be passed to postgres-fdw servers (Matheus Alcantara, Peter Eisentraut) This avoids storing postgres_fdw authentication information in the database, and is enabled with the postgres_fdw use_scram_passthrough connection option. libpq uses new connection parameters libpq-connect-scram-client-key and libpq-connect-scram-server-key .", "commit_aliases": ["761c79508"], "source_commits": ["761c79508"], "source_entry_id": "18.0/changes/180", "db_id": "e470a9bf401deab26d02f6095d0d4417", "patch_ids": ["af2270afccff9e2eee136add3ddf9516"], "statement_hash": "7752ceee84e239333dabe3abd26dcd183aad92846d5412c6919e21ed04e49920", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-b79a6af7a72eb39c", "cves": [], "html": "<p>允许将客户端的<acronym>SCRAM</acronym>认证传递给<a href=\"/docs/18/dblink.html\" title=\"F.11. dblink — 连接到其他 PostgreSQL 数据库\">dblink</a>服务器（Matheus Alcantara）<a href=\"https://postgr.es/c/3642df265\">§</a></p>", "text": "允许将客户端的SCRAM认证传递给dblink服务器（Matheus Alcantara）§", "title": "允许将客户端的SCRAM认证传递给dblink服务器", "commits": ["3642df265"], "section": "附加模块", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-MODULES", "source_hash": "d5d459964678c5f8377c3bd875649fc44172ce4cb2a1b6401f0950b80fc6ba4a", "section_path": ["附加模块"], "commit_groups": [["3642df265"]], "identity_text": "Allow SCRAM authentication from the client to be passed to dblink servers (Matheus Alcantara)", "commit_aliases": ["3642df265"], "source_commits": ["3642df265"], "source_entry_id": "18.0/changes/181", "db_id": "db82382f896f8242594f26f0e98cd318", "patch_ids": ["071743b3a560980bed101b42da01a888"], "statement_hash": "606c662a7292efbe14169ab67273e036f3695f6e116ffb4735ab23da0a7f3415", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-b232c340f3e456c9", "cves": [], "html": "<p>为<a href=\"/docs/18/file-fdw.html\" title=\"F.15. file_fdw — 访问服务器文件系统中的数据文件\">file_fdw</a>添加<code>on_error</code>和<code>log_verbosity</code>选项（Atsushi Torikoshi）<a href=\"https://postgr.es/c/a1c4c8a9e\">§</a></p>\n<p>这些控制<span>file_fdw</span>如何处理和报告无效文件行。</p>", "text": "为file_fdw添加on_error和log_verbosity选项（Atsushi Torikoshi）§ 这些控制file_fdw如何处理和报告无效文件行。", "title": "为file_fdw添加on_error和log_verbosity选项", "commits": ["a1c4c8a9e"], "section": "附加模块", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-MODULES", "source_hash": "115a0c8a418b7106acd2734d853b844db562b082c4bda8f83428f4e298314284", "section_path": ["附加模块"], "commit_groups": [["a1c4c8a9e"]], "identity_text": "Add on_error and log_verbosity options to file-fdw (Atsushi Torikoshi) These control how file_fdw handles and reports invalid file rows.", "commit_aliases": ["a1c4c8a9e"], "source_commits": ["a1c4c8a9e"], "source_entry_id": "18.0/changes/182", "db_id": "6982b0c41f58b8ad05599dd36f57aaa9", "patch_ids": ["21992e0340c7459eca57bac98530eee3"], "statement_hash": "c5180a0af1dd4fdd3162754e1b488f348273f6c2f9209b82ebf3d374fabffd98", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-270f462ffe8c1a9e", "cves": [], "html": "<p>添加<code>reject_limit</code>以控制<span>file_fdw</span>可以忽略的无效行数（Atsushi Torikoshi）<a href=\"https://postgr.es/c/6c8f67032\">§</a></p>\n<p>这在<code>ON_ERROR = 'ignore'</code>时激活。</p>", "text": "添加reject_limit以控制file_fdw可以忽略的无效行数（Atsushi Torikoshi）§ 这在ON_ERROR = 'ignore'时激活。", "title": "添加reject_limit以控制file_fdw可以忽略的无效行数", "commits": ["6c8f67032"], "section": "附加模块", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-MODULES", "source_hash": "914ef144cb149e5828a4af2d2b3498fdd849dab913c363a52d16e74e3911885f", "section_path": ["附加模块"], "commit_groups": [["6c8f67032"]], "identity_text": "Add reject_limit to control the number of invalid rows file_fdw can ignore (Atsushi Torikoshi) This is active when ON_ERROR = 'ignore'.", "commit_aliases": ["6c8f67032"], "source_commits": ["6c8f67032"], "source_entry_id": "18.0/changes/183", "db_id": "48a8faf8ec485497fca4db2bacbaeab7", "patch_ids": ["5b6c0783ca982f9138e4795b3e829d8a"], "statement_hash": "731012e4db71426106868c5367cd50ce2ef63f3770862fd07904f6a9a0245032", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-21c3262257dd838f", "cves": [], "html": "<p>向<a href=\"/docs/18/passwordcheck.html\" title=\"F.24. passwordcheck — 验证密码强度\">passwordcheck</a>添加可配置变量<code>min_password_length</code>（Emanuele Musella, Maurizio Boriani）<a href=\"https://postgr.es/c/f7e1b3828\">§</a></p>\n<p>这控制最小密码长度。</p>", "text": "向passwordcheck添加可配置变量min_password_length（Emanuele Musella, Maurizio Boriani）§ 这控制最小密码长度。", "title": "向passwordcheck添加可配置变量min_password_length", "commits": ["f7e1b3828"], "section": "附加模块", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-MODULES", "source_hash": "1b94e879146707658c8624a2cc1d0d5d51823ca6cec56d81901b4e94cb11b78c", "section_path": ["附加模块"], "commit_groups": [["f7e1b3828"]], "identity_text": "Add configurable variable min_password_length to passwordcheck (Emanuele Musella, Maurizio Boriani) This controls the minimum password length.", "commit_aliases": ["f7e1b3828"], "source_commits": ["f7e1b3828"], "source_entry_id": "18.0/changes/184", "db_id": "c2f3e4981e48c781d80d8d683bfeafdc", "patch_ids": ["8adca4662ef9e316e20e61eac39f5953"], "statement_hash": "3c96a08392c835400e1601043498429b0df9c4a3c6205b65fa827329a880c71d", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-261498b314e3db45", "cves": [], "html": "<p>让<a href=\"/docs/18/pgbench.html\" title=\"pgbench\"><span><span>pgbench</span></span></a>在每脚本报告中报告失败、重试或跳过的事务数（Yugo Nagata）<a href=\"https://postgr.es/c/cae0f3c40\">§</a></p>", "text": "让pgbench在每脚本报告中报告失败、重试或跳过的事务数（Yugo Nagata）§", "title": "让pgbench在每脚本报告中报告失败、重试或跳过的事务数", "commits": ["cae0f3c40"], "section": "附加模块", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-MODULES", "source_hash": "b6ab8471bd55acbc24e7b6d8e4dbc4490126311ba216112a2325d59926d09340", "section_path": ["附加模块"], "commit_groups": [["cae0f3c40"]], "identity_text": "Have pgbench report the number of failed, retried, or skipped transactions in per-script reports (Yugo Nagata)", "commit_aliases": ["cae0f3c40"], "source_commits": ["cae0f3c40"], "source_entry_id": "18.0/changes/185", "db_id": "7d68f2a4e71d87ab7e6b4494d5b3c176", "patch_ids": ["7ae9139da216927d66da497ea952bf95"], "statement_hash": "18f1805b3f36c44aa22e9a7c871bfc854cae06d2d1ba7d54f1c9ef8c03dabac0", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-e465d00ad3f4615d", "cves": [], "html": "<p>添加<a href=\"/docs/18/isn.html\" title=\"F.20. isn — 国际标准编号（ISBN、EAN、UPC 等）的数据类型\">isn</a>服务器变量<code>weak</code>以控制是否接受无效的校验位（Viktor Holmberg）<a href=\"https://postgr.es/c/448904423\">§</a></p>\n<p>这以前仅由函数<a href=\"/docs/18/isn.html#ISN-FUNCTIONS\" title=\"表 F.11. isn 函数\"><code>isn_weak()</code></a>控制。</p>", "text": "添加isn服务器变量weak以控制是否接受无效的校验位（Viktor Holmberg）§ 这以前仅由函数isn_weak()控制。", "title": "添加isn服务器变量weak以控制是否接受无效的校验位", "commits": ["448904423"], "section": "附加模块", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-MODULES", "source_hash": "02b17a33ef29c5ffa267140e9614fd175f35fb008501832e4e8b2738b89ccc04", "section_path": ["附加模块"], "commit_groups": [["448904423"]], "identity_text": "Add isn server variable weak to control invalid check digit acceptance (Viktor Holmberg) This was previously only controlled by function isn_weak().", "commit_aliases": ["448904423"], "source_commits": ["448904423"], "source_entry_id": "18.0/changes/186", "db_id": "5f8aee170ab63cf20094d429feccf7c0", "patch_ids": ["18f9d78d0b131468273798f1c5d15c6f"], "statement_hash": "5acf45b1736bba51038a52d3be296633c8f71d63e863e5b4fa2a8bd6b564504e", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-56cc1e29ee633d41", "cves": [], "html": "<p>允许对值进行排序以加快<a href=\"/docs/18/btree-gist.html\" title=\"F.8. btree_gist — 具有 B-树行为的 GiST 操作符类\">btree_gist</a>索引的构建（Bernd Helmle, Andrey Borodin）<a href=\"https://postgr.es/c/e4309f73f\">§</a></p>", "text": "允许对值进行排序以加快btree_gist索引的构建（Bernd Helmle, Andrey Borodin）§", "title": "允许对值进行排序以加快btree_gist索引的构建", "commits": ["e4309f73f"], "section": "附加模块", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-MODULES", "source_hash": "212669f707e1fce095f4a15af5bba9c3db22d8a44760a389af1d2d2f668d8dde", "section_path": ["附加模块"], "commit_groups": [["e4309f73f"]], "identity_text": "Allow values to be sorted to speed btree-gist index builds (Bernd Helmle, Andrey Borodin)", "commit_aliases": ["e4309f73f"], "source_commits": ["e4309f73f"], "source_entry_id": "18.0/changes/187", "db_id": "7e911d1361965be0a82fa600d4ebef9d", "patch_ids": ["cffdd969af417cd314b82e92cb6a914f"], "statement_hash": "cebec6909a36bdf2166bf54e64bff4c820d6b198d1e688f1c4007e765cf72614", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-ee8b77296d44e546", "cves": [], "html": "<p>添加<a href=\"/docs/18/amcheck.html\" title=\"F.1. amcheck — 用于验证表和索引一致性的工具\">amcheck</a>检查函数<a href=\"/docs/18/amcheck.html#AMCHECK-FUNCTIONS\" title=\"F.1.1. 函数\"><code>gin_index_check()</code></a>以验证<code>GIN</code>索引（Grigory Kryachko, Heikki Linnakangas, Andrey Borodin）<a href=\"https://postgr.es/c/14ffaece0\">§</a></p>", "text": "添加amcheck检查函数gin_index_check()以验证GIN索引（Grigory Kryachko, Heikki Linnakangas, Andrey Borodin）§", "title": "添加amcheck检查函数gin_index_check()以验证GIN索引", "commits": ["14ffaece0"], "section": "附加模块", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-MODULES", "source_hash": "e92d948d2ddc6876642e73f177289d6b41bb2fe21922122f6e1e7eeaf83fff3c", "section_path": ["附加模块"], "commit_groups": [["14ffaece0"]], "identity_text": "Add amcheck check function gin_index_check() to verify GIN indexes (Grigory Kryachko, Heikki Linnakangas, Andrey Borodin)", "commit_aliases": ["14ffaece0"], "source_commits": ["14ffaece0"], "source_entry_id": "18.0/changes/188", "db_id": "901639a50d26960109ceeaf20c9a6525", "patch_ids": ["3da01d3c7aa186dc71d957e208a485dc"], "statement_hash": "da2898009fd05a775abd078506b5f09c6e8b1e8fec26d605efd008c0d231dab0", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-9f5f7ee0cdacd69f", "cves": [], "html": "<p>添加函数<a href=\"/docs/18/pgbuffercache.html#PGBUFFERCACHE-PG-BUFFERCACHE-EVICT-RELATION\" title=\"F.25.6. pg_buffercache_evict_relation() 函数\"><code>pg_buffercache_evict_relation()</code></a>和<a href=\"/docs/18/pgbuffercache.html#PGBUFFERCACHE-PG-BUFFERCACHE-EVICT-ALL\" title=\"F.25.7. pg_buffercache_evict_all() 函数\"><code>pg_buffercache_evict_all()</code></a>以逐出未钉住的共享缓冲区（Nazir Bilal Yavuz）<a href=\"https://postgr.es/c/dcf7e1697\">§</a></p>\n<p>现有函数<a href=\"/docs/18/pgbuffercache.html#PGBUFFERCACHE-PG-BUFFERCACHE-EVICT\" title=\"F.25.5. pg_buffercache_evict() 函数\"><code>pg_buffercache_evict()</code></a>现在返回缓冲区刷新状态。</p>", "text": "添加函数pg_buffercache_evict_relation()和pg_buffercache_evict_all()以逐出未钉住的共享缓冲区（Nazir Bilal Yavuz）§ 现有函数pg_buffercache_evict()现在返回缓冲区刷新状态。", "title": "添加函数pg_buffercache_evict_relation()和pg_buffercache_evict_all()以逐出未钉住的共享缓冲区", "commits": ["dcf7e1697"], "section": "附加模块", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-MODULES", "source_hash": "ff8384fcca3171ad9ba328245edab24a7394c982bd1ee80a16272f59622034c3", "section_path": ["附加模块"], "commit_groups": [["dcf7e1697"]], "identity_text": "Add functions pg_buffercache_evict_relation() and pg_buffercache_evict_all() to evict unpinned shared buffers (Nazir Bilal Yavuz) The existing function pg_buffercache_evict() now returns the buffer flush status.", "commit_aliases": ["dcf7e1697"], "source_commits": ["dcf7e1697"], "source_entry_id": "18.0/changes/189", "db_id": "53a630578a75630174d2c269609886e6", "patch_ids": ["18bc743ec0e02f2bfdd5e711a373a351"], "statement_hash": "741214ec5c0080df2f48fe0ecb949fe4d8cc9dcffc25225e8d4f433bd4032752", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-8919235b177c8b00", "cves": [], "html": "<p>允许扩展安装自定义的<a href=\"/docs/18/sql-explain.html\" title=\"EXPLAIN\"><span>EXPLAIN</span></a>选项（Robert Haas, Sami Imseih）<a href=\"https://postgr.es/c/c65bc2e1d\">§</a> <a href=\"https://postgr.es/c/4fd02bf7c\">§</a> <a href=\"https://postgr.es/c/50ba65e73\">§</a></p>", "text": "允许扩展安装自定义的EXPLAIN选项（Robert Haas, Sami Imseih）§ § §", "title": "允许扩展安装自定义的EXPLAIN选项", "commits": ["4fd02bf7c", "50ba65e73", "c65bc2e1d"], "section": "附加模块", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-MODULES", "source_hash": "126c1e252fd401d5cbcf8667b52299d2f5510b10142a7ea6310dcbba82c8bd12", "section_path": ["附加模块"], "commit_groups": [["4fd02bf7c"], ["50ba65e73"], ["c65bc2e1d"]], "identity_text": "Allow extensions to install custom sql-explain options (Robert Haas, Sami Imseih)", "commit_aliases": ["4fd02bf7c", "50ba65e73", "c65bc2e1d"], "source_commits": ["4fd02bf7c", "50ba65e73", "c65bc2e1d"], "source_entry_id": "18.0/changes/190", "db_id": "17128679b68e62fcef0d48d266afb493", "patch_ids": ["4a90cb7809dd3268e814052cb9d568f6", "a7446b42cbf558abedd81726ef25be11", "b1d23fea200234c95397b7e93fd14848"], "statement_hash": "e8646573cbbb7286af9b4ad50cc583bc6310d49c513b0e947a6bca0270e16301", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-384d5964db6a292c", "cves": [], "html": "<p>允许扩展使用服务器的累计统计信息<acronym>API</acronym>（Michael Paquier）<a href=\"https://postgr.es/c/7949d9594\">§</a> <a href=\"https://postgr.es/c/2eff9e678\">§</a></p>", "text": "允许扩展使用服务器的累计统计信息API（Michael Paquier）§ §", "title": "允许扩展使用服务器的累计统计信息API", "commits": ["2eff9e678", "7949d9594"], "section": "附加模块", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-MODULES", "source_hash": "7611ce1609aa627ae59449ba16bf0a6a11d238cb4b3f48d277fa6399e2615ef5", "section_path": ["附加模块"], "commit_groups": [["2eff9e678"], ["7949d9594"]], "identity_text": "Allow extensions to use the server's cumulative statistics API (Michael Paquier)", "commit_aliases": ["2eff9e678", "7949d9594"], "source_commits": ["2eff9e678", "7949d9594"], "source_entry_id": "18.0/changes/191", "db_id": "51ed37dd51200e7f7a59592baf05f997", "patch_ids": ["3eb79f54769a802749d52f97f9f8c4cd", "4af802e5801cb1008a49bbd7ffb1b4c6"], "statement_hash": "a6e76441b49e4dfc8c5b6323c846f1efe63f20730e0cc0450e6f197b1eb9b2a0", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-097a6648e4c5022b", "cves": [], "html": "<p>允许<a href=\"/docs/18/sql-createtableas.html\" title=\"CREATE TABLE AS\"><span>CREATE TABLE AS</span></a>和<a href=\"/docs/18/sql-declare.html\" title=\"DECLARE\"><span>DECLARE</span></a>的查询被<span>pg_stat_statements</span>跟踪（Anthonin Bonnefoy）<a href=\"https://postgr.es/c/6b652e6ce\">§</a></p>\n<p>它们现在也被分配了查询ID。</p>", "text": "允许CREATE TABLE AS和DECLARE的查询被pg_stat_statements跟踪（Anthonin Bonnefoy）§ 它们现在也被分配了查询ID。", "title": "允许CREATE TABLE AS和DECLARE的查询被pg_stat_statements跟踪", "commits": ["6b652e6ce"], "section": "附加模块 / pg_stat_statements", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-PGSTATSTATEMENTS", "source_hash": "a71330cbf6ff1fcbcb3577f9497064f4234185cd87242388194c557aabf1ba1b", "section_path": ["附加模块", "pg_stat_statements"], "commit_groups": [["6b652e6ce"]], "identity_text": "Allow the queries of sql-createtableas and sql-declare to be tracked by pg_stat_statements (Anthonin Bonnefoy) They are also now assigned query ids.", "commit_aliases": ["6b652e6ce"], "source_commits": ["6b652e6ce"], "source_entry_id": "18.0/changes/192", "db_id": "222e3bfb3e07da2a4bb138e9b89a9ea9", "patch_ids": ["6f27bba477d5d34ec287e6d1f0cb4c01"], "statement_hash": "529743a734ea4d3d2e0ab03ec1c2bc3a516f21292fd3896db229b7e1ee80bdfd", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-1104b155543e7f0f", "cves": [], "html": "<p>允许在<span>pg_stat_statements</span>中对<a href=\"/docs/18/sql-set.html\" title=\"SET\"><span>SET</span></a>的值进行参数化（Greg Sabino Mullane, Michael Paquier）<a href=\"https://postgr.es/c/dc6851596\">§</a></p>\n<p>这减少了由于具有不同常量的<code>SET</code>语句引起的数据膨胀。</p>", "text": "允许在pg_stat_statements中对SET的值进行参数化（Greg Sabino Mullane, Michael Paquier）§ 这减少了由于具有不同常量的SET语句引起的数据膨胀。", "title": "允许在pg_stat_statements中对SET的值进行参数化", "commits": ["dc6851596"], "section": "附加模块 / pg_stat_statements", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-PGSTATSTATEMENTS", "source_hash": "1f417978794e493fec83127f28bd0ea95e8b299c427563b1296dbcb2150ca0ca", "section_path": ["附加模块", "pg_stat_statements"], "commit_groups": [["dc6851596"]], "identity_text": "Allow the parameterization of sql-set values in pg_stat_statements (Greg Sabino Mullane, Michael Paquier) This reduces the bloat caused by SET statements with differing constants.", "commit_aliases": ["dc6851596"], "source_commits": ["dc6851596"], "source_entry_id": "18.0/changes/193", "db_id": "d87ff3c638d05d56d3504f36a1d0eb9e", "patch_ids": ["3d32975392dfbf77a358e6067a48fe4d"], "statement_hash": "45589530b5dde17afb7b34a69cafc678f86039fa9b52d8c08a42e0052b5b7086", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-a6d66941dbd6c6b9", "cves": [], "html": "<p>添加<a href=\"/docs/18/pgstatstatements.html#PGSTATSTATEMENTS-PG-STAT-STATEMENTS\" title=\"F.32.1. pg_stat_statements 视图\"><code>pg_stat_statements</code></a>列以报告并行活动（Guillaume Lelarge）<a href=\"https://postgr.es/c/cf54a2c00\">§</a></p>\n<p>新列是 <code>parallel_workers_to_launch</code> 和 <code>parallel_workers_launched</code>。</p>", "text": "添加pg_stat_statements列以报告并行活动（Guillaume Lelarge）§ 新列是 parallel_workers_to_launch 和 parallel_workers_launched。", "title": "添加pg_stat_statements列以报告并行活动", "commits": ["cf54a2c00"], "section": "附加模块 / pg_stat_statements", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-PGSTATSTATEMENTS", "source_hash": "4bea78cbf69168bd47d9d84472e256b83685ff82c01f4d938e37329c48e8034d", "section_path": ["附加模块", "pg_stat_statements"], "commit_groups": [["cf54a2c00"]], "identity_text": "Add pg_stat_statements columns to report parallel activity (Guillaume Lelarge) The new columns are parallel_workers_to_launch and parallel_workers_launched.", "commit_aliases": ["cf54a2c00"], "source_commits": ["cf54a2c00"], "source_entry_id": "18.0/changes/194", "db_id": "823f8d0879e0c04f27c34b7a3b667631", "patch_ids": ["6831774269bf4d573b364772321f1d98"], "statement_hash": "9c17fad8b061e59f13e9c70ddcdc3c5fcd20b2bbfe2878b5ceac9531b5be3eca", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-865c595c21227ab0", "cves": [], "html": "<p>添加<code>pg_stat_statements</code>.<code>wal_buffers_full</code>以报告满<acronym>WAL</acronym>缓冲区（Bertrand Drouvot）<a href=\"https://postgr.es/c/ce5bcc4a9\">§</a></p>", "text": "添加pg_stat_statements.wal_buffers_full以报告满WAL缓冲区（Bertrand Drouvot）§", "title": "添加pg_stat_statements.wal_buffers_full以报告满WAL缓冲区", "commits": ["ce5bcc4a9"], "section": "附加模块 / pg_stat_statements", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-PGSTATSTATEMENTS", "source_hash": "00483f0bb6bed3dc52e750abffeaaee664740c6aa8ceda1af850420bab8fdbfa", "section_path": ["附加模块", "pg_stat_statements"], "commit_groups": [["ce5bcc4a9"]], "identity_text": "Add pg_stat_statements.wal_buffers_full to report full WAL buffers (Bertrand Drouvot)", "commit_aliases": ["ce5bcc4a9"], "source_commits": ["ce5bcc4a9"], "source_entry_id": "18.0/changes/195", "db_id": "04bb9752bb54f8a586216fc387f41183", "patch_ids": ["b596d0e68f37807e59aa316714895446"], "statement_hash": "70c55196e78f23063400ef5243fea51808dbb9887de6fb64c904a32c7882458f", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-4805018d275b9050", "cves": [], "html": "<p>添加<span>pgcrypto</span>算法<a href=\"/docs/18/pgcrypto.html#PGCRYPTO-CRYPT-ALGORITHMS\" title=\"表 F.18. crypt()支持的算法\"><code>sha256crypt</code></a>和<a href=\"/docs/18/pgcrypto.html#PGCRYPTO-CRYPT-ALGORITHMS\" title=\"表 F.18. crypt()支持的算法\"><code>sha512crypt</code></a>（Bernd Helmle）<a href=\"https://postgr.es/c/749a9e20c\">§</a></p>", "text": "添加pgcrypto算法sha256crypt和sha512crypt（Bernd Helmle）§", "title": "添加pgcrypto算法sha256crypt和sha512crypt", "commits": ["749a9e20c"], "section": "附加模块 / pgcrypto", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-PGCRYPTO", "source_hash": "80d5466488cbf40745c79ffbf3905ec0e844acdae70f987d6512d4b8d3b4f9ab", "section_path": ["附加模块", "pgcrypto"], "commit_groups": [["749a9e20c"]], "identity_text": "Add pgcrypto algorithms sha256crypt and sha512crypt (Bernd Helmle)", "commit_aliases": ["749a9e20c"], "source_commits": ["749a9e20c"], "source_entry_id": "18.0/changes/196", "db_id": "6d930bd35ba876206f5a9813beccedcf", "patch_ids": ["f5cd375f1c18937c407ef70ec720a716"], "statement_hash": "bff6b8e55820215a69430966b55770e950076a2a38845002186f696873fa2bd1", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-f2a1521602d2427c", "cves": [], "html": "<p>为<span>pgcrypto</span>的加密和解密添加<a href=\"/docs/18/pgcrypto.html#PGCRYPTO-RAW-ENC-FUNCS\" title=\"F.26.4. 原始加密函数\"><acronym>CFB</acronym></a>模式（Umar Hayat）<a href=\"https://postgr.es/c/9ad1b3d01\">§</a></p>", "text": "为pgcrypto的加密和解密添加CFB模式（Umar Hayat）§", "title": "为pgcrypto的加密和解密添加CFB模式", "commits": ["9ad1b3d01"], "section": "附加模块 / pgcrypto", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-PGCRYPTO", "source_hash": "7f5b08debbba5d1cc71560caa889a862bb5b8108f756e758ad8bc02d4921180a", "section_path": ["附加模块", "pgcrypto"], "commit_groups": [["9ad1b3d01"]], "identity_text": "Add CFB mode to pgcrypto encryption and decryption (Umar Hayat)", "commit_aliases": ["9ad1b3d01"], "source_commits": ["9ad1b3d01"], "source_entry_id": "18.0/changes/197", "db_id": "ec341ecdfcaabcd1827eb401ea40905d", "patch_ids": ["b040d33a3888055fc5edf9f0c6e56795"], "statement_hash": "7c89f9937951f96c3f497c06864857f8e8c21ba76f5ef791d1eed77d00a71e81", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-612c4479d75f9942", "cves": [], "html": "<p>添加函数<a href=\"/docs/18/pgcrypto.html#PGCRYPTO-OPENSSL-SUPPORT-FUNCS\" title=\"F.26.6. OpenSSL 支持函数\"><code>fips_mode()</code></a>以报告服务器的<acronym>FIPS</acronym>模式（Daniel Gustafsson）<a href=\"https://postgr.es/c/924d89a35\">§</a></p>", "text": "添加函数fips_mode()以报告服务器的FIPS模式（Daniel Gustafsson）§", "title": "添加函数fips_mode()以报告服务器的FIPS模式", "commits": ["924d89a35"], "section": "附加模块 / pgcrypto", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-PGCRYPTO", "source_hash": "6887df5888073525195bf750e494c1f0258185ce6b39a3b9c366aaf87bc467ea", "section_path": ["附加模块", "pgcrypto"], "commit_groups": [["924d89a35"]], "identity_text": "Add function fips_mode() to report the server's FIPS mode (Daniel Gustafsson)", "commit_aliases": ["924d89a35"], "source_commits": ["924d89a35"], "source_entry_id": "18.0/changes/198", "db_id": "861402831b46a55debf94f9e181d24e4", "patch_ids": ["f3552518869c0bbfacbd3fcc442038d8"], "statement_hash": "54d83b9015ab399dec746f14f85c5f46ae4ed4dd02972e94a5ce579ee4817f1d", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-9f4716da4a9ae5c8", "cves": [], "html": "<p>添加<span>pgcrypto</span>服务器变量<a href=\"/docs/18/pgcrypto.html#PGCRYPTO-CONFIGURATION-PARAMETERS-BUILTIN_CRYPTO_ENABLED\"><code>builtin_crypto_enabled</code></a>以允许禁用内置非<acronym>FIPS</acronym>模式密码学函数（Daniel Gustafsson, Joe Conway）<a href=\"https://postgr.es/c/035f99cbe\">§</a></p>\n<p>这对于保证<acronym>FIPS</acronym>模式行为很有用。</p>", "text": "添加pgcrypto服务器变量builtin_crypto_enabled以允许禁用内置非FIPS模式密码学函数（Daniel Gustafsson, Joe Conway）§ 这对于保证FIPS模式行为很有用。", "title": "添加pgcrypto服务器变量builtin_crypto_enabled以允许禁用内置非FIPS模式密码学函数", "commits": ["035f99cbe"], "section": "附加模块 / pgcrypto", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-PGCRYPTO", "source_hash": "7ec37d9ad093c24c937b540278b9a28ded5495aa79ee7e13b25b399ad32123f6", "section_path": ["附加模块", "pgcrypto"], "commit_groups": [["035f99cbe"]], "identity_text": "Add pgcrypto server variable builtin_crypto_enabled to allow disabling builtin non-FIPS mode cryptographic functions (Daniel Gustafsson, Joe Conway) This is useful for guaranteeing FIPS mode behavior.", "commit_aliases": ["035f99cbe"], "source_commits": ["035f99cbe"], "source_entry_id": "18.0/changes/199", "db_id": "85292659fb670a2d9202838e30370170", "patch_ids": ["c996d7a6dfbb6918d1e1c1bdc8763d5d"], "statement_hash": "9c517ea3b0ae09d9ac23588dcc459bf5530faea31bee9ef47a11255f44c8ee81", "relations": [], "version": "18.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}]}], "stats": [{"key": "all", "label": "全部变更", "count": 210}, {"key": "feature", "label": "新功能", "count": 188}, {"key": "bugfix", "label": "BUG 修复", "count": 1}, {"key": "security", "label": "安全相关", "count": 0}, {"key": "performance", "label": "性能改进", "count": 10}, {"key": "compatibility", "label": "兼容性变化", "count": 11}, {"key": "improvement", "label": "其他改进", "count": 0}], "total": 210, "release_count": 1, "cross_major": false, "cve_count": 0, "cves": [], "cve_available": true, "remaining_cves": [], "security_regressions": [], "warnings": [], "candidate_count": 210, "already_in_source_count": 0, "duplicate_count": 0, "excluded_count": 0, "exclusions": [], "source_as_of": "2026-09-26", "security_as_of": "2026-09-26"}