{"format": 1, "mode": "release", "from_release": null, "to_release": {"date": "2024-09-26", "build": "17.0", "major": "17", "minor": 0, "manual": "17", "status": "stable", "doc_git": "", "version": "17.0", "eol_date": "2029-11-08", "date_text": "2024-09-26", "supported": true, "manual_url": "/docs/17/release-17.html", "source_url": "/docs/release/17.0/", "entry_count": 182, "placeholder": false, "content_hash": "7b994321b45cd60ec1abd48e76a6e3181be4c8c23990ba3f2ca6117cbc9ca4bc", "manual_build": "17.11", "source_as_of": "", "changes_count": 165, "doc_loaded_at": "2026-09-26T02:56:35.922301", "migration_html": "<p>对于希望从任何以前的版本迁移数据的人来说，需要使用<a href=\"/docs/17/app-pg-dumpall.html\" title=\"pg_dumpall\"><span><span>pg_dumpall</span></span></a>进行转储/恢复，或者使用<a href=\"/docs/17/pgupgrade.html\" title=\"pg_upgrade\"><span><span>pg_upgrade</span></span></a>或逻辑复制。有关迁移到新主要版本的通用信息，请参阅<a href=\"/docs/17/upgrading.html\" title=\"18.6. 升级 PostgreSQL 集簇\">第 18.6 节</a>。</p>\n<p>版本 17 包含许多可能影响与以前版本兼容性的更改。请注意以下不兼容项：</p>\n<div>\n</div>", "compatibility_count": 17, "label": "17.0", "status_label": "受支持版本", "eol": "2029-11-08", "age_days": 734, "support_days": 1135}, "groups": [{"date": "2024-09-26", "build": "17.0", "major": "17", "minor": 0, "manual": "17", "status": "stable", "doc_git": "", "version": "17.0", "eol_date": "2029-11-08", "date_text": "2024-09-26", "supported": true, "manual_url": "/docs/17/release-17.html", "source_url": "/docs/release/17.0/", "entry_count": 182, "placeholder": false, "content_hash": "7b994321b45cd60ec1abd48e76a6e3181be4c8c23990ba3f2ca6117cbc9ca4bc", "manual_build": "17.11", "source_as_of": "", "changes_count": 165, "doc_loaded_at": "2026-09-26T02:56:35.922301", "migration_html": "<p>对于希望从任何以前的版本迁移数据的人来说，需要使用<a href=\"/docs/17/app-pg-dumpall.html\" title=\"pg_dumpall\"><span><span>pg_dumpall</span></span></a>进行转储/恢复，或者使用<a href=\"/docs/17/pgupgrade.html\" title=\"pg_upgrade\"><span><span>pg_upgrade</span></span></a>或逻辑复制。有关迁移到新主要版本的通用信息，请参阅<a href=\"/docs/17/upgrading.html\" title=\"18.6. 升级 PostgreSQL 集簇\">第 18.6 节</a>。</p>\n<p>版本 17 包含许多可能影响与以前版本兼容性的更改。请注意以下不兼容项：</p>\n<div>\n</div>", "compatibility_count": 17, "label": "17.0", "status_label": "受支持版本", "eol": "2029-11-08", "age_days": 734, "support_days": 1135, "entries": [{"id": "17.0-d922e984bf9c8012", "cves": [], "html": "<p>更改函数，使其在维护操作期间使用安全的<a href=\"/docs/17/runtime-config-client.html#GUC-SEARCH-PATH\">search_path</a>（Jeff Davis）<a href=\"https://postgr.es/c/2af07e2f7\">§</a> <a href=\"https://postgr.es/c/b4da732fd64\">§</a></p>\n<p>这可防止维护操作（<code>ANALYZE</code>、<code>CLUSTER</code>、<code>CREATE INDEX</code>、<code>CREATE MATERIALIZED VIEW</code>、<code>REFRESH MATERIALIZED VIEW</code>、<code>REINDEX</code> 或 <code>VACUUM</code>）执行不安全的访问。表达式索引和物化视图中使用、且需要引用非默认 schema 的函数，必须在创建函数时指定 search path。</p>", "text": "更改函数，使其在维护操作期间使用安全的search_path（Jeff Davis）§ § 这可防止维护操作（ANALYZE、CLUSTER、CREATE INDEX、CREATE MATERIALIZED VIEW、REFRESH MATERIALIZED VIEW、REINDEX 或 VACUUM）执行不安全的访问。表达式索引和物化视图中使用、且需要引用非默认 schema 的函数，必须在创建函数时指定 search path。", "title": "更改函数，使其在维护操作期间使用安全的search_path", "commits": ["2af07e2f7", "b4da732fd64"], "section": "兼容性", "category": "compatibility", "source_url": "/docs/release/17.0/#RELEASE-17-MIGRATION", "source_hash": "64dff99310ae1cfd4ee409c78454de7b69434337010c91e0c087eba9a4ababe6", "section_path": ["兼容性"], "commit_groups": [["2af07e2f7"], ["b4da732fd64"]], "identity_text": "Change functions to use a safe guc-search-path during maintenance operations (Jeff Davis) This prevents maintenance operations (ANALYZE, CLUSTER, CREATE INDEX, CREATE MATERIALIZED VIEW, REFRESH MATERIALIZED VIEW, REINDEX, or VACUUM) from performing unsafe access. Functions used by expression indexes and materialized views that need to reference non-default schemas must specify a search path during function creation.", "commit_aliases": ["2af07e2f7", "b4da732fd64"], "source_commits": ["2af07e2f7", "b4da732fd64"], "source_entry_id": "17.0/migration/001", "db_id": "cc672acc2498ddd239d6c029f970bad5", "patch_ids": ["27148e55a756fe36b1e6739f26c8b3c0", "b795341e3db72551c1e5eed3aaeee32b"], "statement_hash": "72d3a43b426e67d74c0baf2ac17235620dd45ed163a055d553de860d03e3cf13", "relations": [], "version": "17.0", "category_label": "兼容性变化", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-2ea1268a85e7d7da", "cves": [], "html": "<p>限制 <code>ago</code> 只能出现在 <code>interval</code> 值的末尾（Joseph Koshakow）<a href=\"https://postgr.es/c/165d581f1\">§</a> <a href=\"https://postgr.es/c/617f9b7d4\">§</a></p>\n<p>同时，禁止空 interval 单位出现多次。</p>", "text": "限制 ago 只能出现在 interval 值的末尾（Joseph Koshakow）§ § 同时，禁止空 interval 单位出现多次。", "title": "限制 ago 只能出现在 interval 值的末尾", "commits": ["165d581f1", "617f9b7d4"], "section": "兼容性", "category": "compatibility", "source_url": "/docs/release/17.0/#RELEASE-17-MIGRATION", "source_hash": "c7e922733164fa0a732f25838f27dc020fce3c1ec5663e40046c5cce9f7c8403", "section_path": ["兼容性"], "commit_groups": [["165d581f1"], ["617f9b7d4"]], "identity_text": "Restrict ago to only appear at the end in interval values (Joseph Koshakow) Also, prevent empty interval units from appearing multiple times.", "commit_aliases": ["165d581f1", "617f9b7d4"], "source_commits": ["165d581f1", "617f9b7d4"], "source_entry_id": "17.0/migration/002", "db_id": "6c0e19904987035c8733604999e0c848", "patch_ids": ["355ea5318d1f63a817910cdf1504f45f", "d49150cfc4dab109d6f8748b4f4f8b04"], "statement_hash": "4e053c43feb5a21ce495ca0f82a0f8473e143508210523c26fbb736ca1fdf21e", "relations": [], "version": "17.0", "category_label": "兼容性变化", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-61eed93d43a0c166", "cves": [], "html": "<p>移除服务器变量 <code>old_snapshot_threshold</code>（Thomas Munro）<a href=\"https://postgr.es/c/f691f5b80\">§</a></p>\n<p>该变量允许 vacuum 移除对正在运行事务而言理论上仍可能可见的行，从而在之后访问时引发“snapshot too old”错误。如果将来找到改进的实现方式，此功能可能会重新加入 <span>PostgreSQL</span>。</p>", "text": "移除服务器变量 old_snapshot_threshold（Thomas Munro）§ 该变量允许 vacuum 移除对正在运行事务而言理论上仍可能可见的行，从而在之后访问时引发“snapshot too old”错误。如果将来找到改进的实现方式，此功能可能会重新加入 PostgreSQL。", "title": "移除服务器变量 old_snapshot_threshold", "commits": ["f691f5b80"], "section": "兼容性", "category": "compatibility", "source_url": "/docs/release/17.0/#RELEASE-17-MIGRATION", "source_hash": "5a82b8109b6d144744746866ac972043810705dd0189c0edee4dbbdaaab190ca", "section_path": ["兼容性"], "commit_groups": [["f691f5b80"]], "identity_text": "Remove server variable old_snapshot_threshold (Thomas Munro) This variable allowed vacuum to remove rows that potentially could be still visible to running transactions, causing \"snapshot too old\" errors later if accessed. This feature might be re-added to PostgreSQL later if an improved implementation is found.", "commit_aliases": ["f691f5b80"], "source_commits": ["f691f5b80"], "source_entry_id": "17.0/migration/003", "db_id": "b34074adfb3aeb3fe6a9be8015e49712", "patch_ids": ["8c5d8020ab90ccca65a49effd8b21ce0"], "statement_hash": "eb3cde61369c330b9e66df8de8f4b1dbeae90bcd57fd1218ce3850e1efcfd027", "relations": [], "version": "17.0", "category_label": "兼容性变化", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-253d40dcc032be94", "cves": [], "html": "<p>更改 <a href=\"/docs/17/sql-set-session-authorization.html\" title=\"SET SESSION AUTHORIZATION\"><code>SET SESSION AUTHORIZATION</code></a> 对初始会话用户超级用户状态的处理方式（Joseph Koshakow）<a href=\"https://postgr.es/c/a0363ab7a\">§</a></p>\n<p>新行为基于发出 <code>SET SESSION AUTHORIZATION</code> 命令时会话用户的超级用户状态，而不是其连接建立时的超级用户状态。</p>", "text": "更改 SET SESSION AUTHORIZATION 对初始会话用户超级用户状态的处理方式（Joseph Koshakow）§ 新行为基于发出 SET SESSION AUTHORIZATION 命令时会话用户的超级用户状态，而不是其连接建立时的超级用户状态。", "title": "更改 SET SESSION AUTHORIZATION 对初始会话用户超级用户状态的处理方式", "commits": ["a0363ab7a"], "section": "兼容性", "category": "compatibility", "source_url": "/docs/release/17.0/#RELEASE-17-MIGRATION", "source_hash": "9f3d6d19c49c1ec62e4d87714e3d313b828647dd9e15902b1e8abf82f52aebb8", "section_path": ["兼容性"], "commit_groups": [["a0363ab7a"]], "identity_text": "Change SET SESSION AUTHORIZATION handling of the initial session user's superuser status (Joseph Koshakow) The new behavior is based on the session user's superuser status at the time the SET SESSION AUTHORIZATION command is issued, rather than their superuser status at connection time.", "commit_aliases": ["a0363ab7a"], "source_commits": ["a0363ab7a"], "source_entry_id": "17.0/migration/004", "db_id": "a284710c4e8e15eab0f4741705b57eac", "patch_ids": ["301cd2650bab634dc780a6ba3c515916"], "statement_hash": "dd14af4a215b4aa555a4eef2befdad1c9e39a80c16149e7dad092532b873e830", "relations": [], "version": "17.0", "category_label": "兼容性变化", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-37f1a80c68dbef53", "cves": [], "html": "<p>移除模拟每数据库用户的功能（Nathan Bossart）<a href=\"https://postgr.es/c/884eee5bf\">§</a></p>\n<p>该功能即 <code>db_user_namespace</code>，使用得很少。</p>", "text": "移除模拟每数据库用户的功能（Nathan Bossart）§ 该功能即 db_user_namespace，使用得很少。", "title": "移除模拟每数据库用户的功能", "commits": ["884eee5bf"], "section": "兼容性", "category": "compatibility", "source_url": "/docs/release/17.0/#RELEASE-17-MIGRATION", "source_hash": "88ec7853163fc34a9953d41f7a25aa6663238fbac3188a3a448c1c31b7dac492", "section_path": ["兼容性"], "commit_groups": [["884eee5bf"]], "identity_text": "Remove feature which simulated per-database users (Nathan Bossart) The feature, db_user_namespace, was rarely used.", "commit_aliases": ["884eee5bf"], "source_commits": ["884eee5bf"], "source_entry_id": "17.0/migration/005", "db_id": "5f14c9997d29f2b62a899e7940c383cf", "patch_ids": ["edfe6268e4c801676c3acf1ddceffaba"], "statement_hash": "133f8e4a4ab49ace990b8cad84fe9fe5313becfcdbd2d51a22084268735d7ec8", "relations": [], "version": "17.0", "category_label": "兼容性变化", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-710e087c1bef4846", "cves": [], "html": "<p>移除 contrib 扩展 <span>adminpack</span>（Daniel Gustafsson）<a href=\"https://postgr.es/c/cc09e6549\">§</a></p>\n<p>它曾由现已终止支持的 <span>pgAdmin III</span> 使用。</p>", "text": "移除 contrib 扩展 adminpack（Daniel Gustafsson）§ 它曾由现已终止支持的 pgAdmin III 使用。", "title": "移除 contrib 扩展 adminpack", "commits": ["cc09e6549"], "section": "兼容性", "category": "compatibility", "source_url": "/docs/release/17.0/#RELEASE-17-MIGRATION", "source_hash": "ad86e2f1db9961ad07f2a20a39ce25e940d3fe8bff8cf4fed136f0900a1b84d7", "section_path": ["兼容性"], "commit_groups": [["cc09e6549"]], "identity_text": "Remove adminpack contrib extension (Daniel Gustafsson) This was used by now end-of-life pgAdmin III.", "commit_aliases": ["cc09e6549"], "source_commits": ["cc09e6549"], "source_entry_id": "17.0/migration/006", "db_id": "166c355517818678d393b7069567ebcc", "patch_ids": ["667f69d4b75688c6317ae5d996a65e38"], "statement_hash": "b675830b641f123992566dfa75b7b707a569d5aa68d9cf8407cf6231e92f53ab", "relations": [], "version": "17.0", "category_label": "兼容性变化", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-138f57ed29e09c6d", "cves": [], "html": "<p>在 <span>Windows</span> 上移除<a href=\"/docs/17/runtime-config-wal.html#GUC-WAL-SYNC-METHOD\">wal_sync_method</a>的 <code>fsync_writethrough</code> 值（Thomas Munro）<a href=\"https://postgr.es/c/d0c28601e\">§</a></p>\n<p>该值在 <span>Windows</span> 上与 <code>fsync</code> 相同。</p>", "text": "在 Windows 上移除wal_sync_method的 fsync_writethrough 值（Thomas Munro）§ 该值在 Windows 上与 fsync 相同。", "title": "在 Windows 上移除wal_sync_method的 fsync_writethrough 值", "commits": ["d0c28601e"], "section": "兼容性", "category": "compatibility", "source_url": "/docs/release/17.0/#RELEASE-17-MIGRATION", "source_hash": "74036521b8c1d076fcbe40bcca1989f69e0278d6918f39aad6d1ae3a4e783d96", "section_path": ["兼容性"], "commit_groups": [["d0c28601e"]], "identity_text": "Remove guc-wal-sync-method value fsync_writethrough on Windows (Thomas Munro) This value was the same as fsync on Windows.", "commit_aliases": ["d0c28601e"], "source_commits": ["d0c28601e"], "source_entry_id": "17.0/migration/007", "db_id": "686b51dbf857b55e4493e96d25323fb7", "patch_ids": ["56a99d25aa1cfee9b865ec01242d5be9"], "statement_hash": "49d753c3c4b4df461d180e9b5c2fa04390d5f29a1619fb7486f3f3642a02e6c0", "relations": [], "version": "17.0", "category_label": "兼容性变化", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-3cd4e0f22454d285", "cves": [], "html": "<p>更改两个 <acronym>WAL</acronym> 文件名函数对文件边界的处理方式（Kyotaro Horiguchi, Andres Freund, Bruce Momjian）<a href=\"https://postgr.es/c/344afc776\">§</a></p>\n<p>当 <acronym>LSN</acronym> 位于文件段边界时，<a href=\"/docs/17/functions-admin.html#FUNCTIONS-ADMIN-BACKUP-TABLE\" title=\"表 9.95. 备份控制函数\"><code>pg_walfile_name()</code></a> 和 <code>pg_walfile_name_offset()</code> 过去会报告前一个 <acronym>LSN</acronym> 段号；现在则返回当前的 <acronym>LSN</acronym> 段。</p>", "text": "更改两个 WAL 文件名函数对文件边界的处理方式（Kyotaro Horiguchi, Andres Freund, Bruce Momjian）§ 当 LSN 位于文件段边界时，pg_walfile_name() 和 pg_walfile_name_offset() 过去会报告前一个 LSN 段号；现在则返回当前的 LSN 段。", "title": "更改两个 WAL 文件名函数对文件边界的处理方式", "commits": ["344afc776"], "section": "兼容性", "category": "compatibility", "source_url": "/docs/release/17.0/#RELEASE-17-MIGRATION", "source_hash": "4c017a2706ee6af77a5e1375ac9a7b1b5eb78f00b1538a868e611b47f4fe5aa4", "section_path": ["兼容性"], "commit_groups": [["344afc776"]], "identity_text": "Change file boundary handling of two WAL file name functions (Kyotaro Horiguchi, Andres Freund, Bruce Momjian) The functions pg_walfile_name() and pg_walfile_name_offset() used to report the previous LSN segment number when the LSN was on a file segment boundary; it now returns the current LSN segment.", "commit_aliases": ["344afc776"], "source_commits": ["344afc776"], "source_entry_id": "17.0/migration/008", "db_id": "74f74f51c54e1a4e800cca0d0dbad6e7", "patch_ids": ["7b5ba94e96e769d6dcb87c9b7bd4851c"], "statement_hash": "5d93d9f2dbe498ed1b19a20ae20a3f046e46ab976187bd5ca6490207fe428ffb", "relations": [], "version": "17.0", "category_label": "兼容性变化", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-a946372026bf9605", "cves": [], "html": "<p>移除已不再需要的服务器变量 <code>trace_recovery_messages</code>（Bharath Rupireddy）<a href=\"https://postgr.es/c/c7a3e6b46\">§</a></p>", "text": "移除已不再需要的服务器变量 trace_recovery_messages（Bharath Rupireddy）§", "title": "移除已不再需要的服务器变量 trace_recovery_messages", "commits": ["c7a3e6b46"], "section": "兼容性", "category": "compatibility", "source_url": "/docs/release/17.0/#RELEASE-17-MIGRATION", "source_hash": "ce9369e2d0211d0cab863f3e49076330052d7966e2ea02a934e31f7e4bf04e2a", "section_path": ["兼容性"], "commit_groups": [["c7a3e6b46"]], "identity_text": "Remove server variable trace_recovery_messages since it is no longer needed (Bharath Rupireddy)", "commit_aliases": ["c7a3e6b46"], "source_commits": ["c7a3e6b46"], "source_entry_id": "17.0/migration/009", "db_id": "d5af5dde274ef58c2321c3ffbaafb5ef", "patch_ids": ["d5ea071446bbbe2a671d84cfc0242b19"], "statement_hash": "7aade84d3e7f620e4dd4bef9576c74f25c56e4202dde83bbf2b8df11a4bd7972", "relations": [], "version": "17.0", "category_label": "兼容性变化", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-f7c38114100e1337", "cves": [], "html": "<p>移除 <a href=\"/docs/17/information-schema.html\" title=\"第 35 章 信息模式\">information schema</a> 列 <code>element_types</code>.<code>domain_default</code>（Peter Eisentraut）<a href=\"https://postgr.es/c/78806a950\">§</a></p>", "text": "移除 information schema 列 element_types.domain_default（Peter Eisentraut）§", "title": "移除 information schema 列 element_types.domain_default", "commits": ["78806a950"], "section": "兼容性", "category": "compatibility", "source_url": "/docs/release/17.0/#RELEASE-17-MIGRATION", "source_hash": "5d62346100402b6999b088d94d30476044d2c215e51414a4c8e98f55f4e3ecc2", "section_path": ["兼容性"], "commit_groups": [["78806a950"]], "identity_text": "Remove information schema column element_types.domain_default (Peter Eisentraut)", "commit_aliases": ["78806a950"], "source_commits": ["78806a950"], "source_entry_id": "17.0/migration/010", "db_id": "9c37cb22d8759b5d26153e1ea221cb69", "patch_ids": ["30cf237ba9cee48568f30ebbe683b9d0"], "statement_hash": "970aa10e9ccfcaf29ec3331161d989c81e2db7eb93ded7baa9e3248d8b60b334", "relations": [], "version": "17.0", "category_label": "兼容性变化", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-fe778327ca66f6d8", "cves": [], "html": "<p>更改 <span><a href=\"/docs/17/pgrowlocks.html\" title=\"F.29. pgrowlocks — 显示表的行锁信息\">pgrowlocks</a></span> 的锁模式输出标签（Bruce Momjian）<a href=\"https://postgr.es/c/15d5d7405\">§</a></p>", "text": "更改 pgrowlocks 的锁模式输出标签（Bruce Momjian）§", "title": "更改 pgrowlocks 的锁模式输出标签", "commits": ["15d5d7405"], "section": "兼容性", "category": "compatibility", "source_url": "/docs/release/17.0/#RELEASE-17-MIGRATION", "source_hash": "bf48956f4ebcb4404280648ff4274a48c3ddb1d6379aebcb646aeb60412ced22", "section_path": ["兼容性"], "commit_groups": [["15d5d7405"]], "identity_text": "Change pgrowlocks lock mode output labels (Bruce Momjian)", "commit_aliases": ["15d5d7405"], "source_commits": ["15d5d7405"], "source_entry_id": "17.0/migration/011", "db_id": "06ce9cce2fa546a03a191e28b7bd30ee", "patch_ids": ["e330c9f64ec04f17a9e8c6bf697de7ac"], "statement_hash": "9ba42b8852d0d181fb7574e0a5324e18eeef4be71dd49f40491f0f940508798b", "relations": [], "version": "17.0", "category_label": "兼容性变化", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-efce6c2e39fd2d94", "cves": [], "html": "<p>从 <a href=\"/docs/17/monitoring-stats.html#MONITORING-PG-STAT-BGWRITER-VIEW\" title=\"27.2.14. pg_stat_bgwriter\"><code>pg_stat_bgwriter</code></a> 中移除 <code>buffers_backend</code> 和 <code>buffers_backend_fsync</code>（Bharath Rupireddy）<a href=\"https://postgr.es/c/74604a37f\">§</a></p>\n<p>这些字段被认为与 <a href=\"/docs/17/monitoring-stats.html#MONITORING-PG-STAT-IO-VIEW\" title=\"27.2.13. pg_stat_io\"><code>pg_stat_io</code></a> 中的类似列重复。</p>", "text": "从 pg_stat_bgwriter 中移除 buffers_backend 和 buffers_backend_fsync（Bharath Rupireddy）§ 这些字段被认为与 pg_stat_io 中的类似列重复。", "title": "从 pg_stat_bgwriter 中移除 buffers_backend 和 buffers_backend_fsync", "commits": ["74604a37f"], "section": "兼容性", "category": "compatibility", "source_url": "/docs/release/17.0/#RELEASE-17-MIGRATION", "source_hash": "cc9214a923cc0764381fcdf9b2515a7e760e37a90a91916169ca50338a9c1050", "section_path": ["兼容性"], "commit_groups": [["74604a37f"]], "identity_text": "Remove buffers_backend and buffers_backend_fsync from pg_stat_bgwriter (Bharath Rupireddy) These fields are considered redundant to similar columns in pg_stat_io.", "commit_aliases": ["74604a37f"], "source_commits": ["74604a37f"], "source_entry_id": "17.0/migration/012", "db_id": "14ab5d3b90b1ea855319d818eb76eab5", "patch_ids": ["abfd4307ea94a77be4159e6d64f933b5"], "statement_hash": "17c3baca41bde637d84c1f675d6329efc1abaac3ea8d7b0059649d57205428f2", "relations": [], "version": "17.0", "category_label": "兼容性变化", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-3bc2316f8ee353e9", "cves": [], "html": "<p>重命名 <span><a href=\"/docs/17/pgstatstatements.html\" title=\"F.30. pg_stat_statements — 跟踪 SQL 计划和执行统计信息\">pg_stat_statements</a></span> 的 I/O 块读/写耗时统计列（Nazir Bilal Yavuz）<a href=\"https://postgr.es/c/13d00729d\">§</a></p>\n<p>即将 <code>blk_read_time</code> 重命名为 <code>shared_blk_read_time</code>，并将 <code>blk_write_time</code> 重命名为 <code>shared_blk_write_time</code>。</p>", "text": "重命名 pg_stat_statements 的 I/O 块读/写耗时统计列（Nazir Bilal Yavuz）§ 即将 blk_read_time 重命名为 shared_blk_read_time，并将 blk_write_time 重命名为 shared_blk_write_time。", "title": "重命名 pg_stat_statements 的 I/O 块读/写耗时统计列", "commits": ["13d00729d"], "section": "兼容性", "category": "compatibility", "source_url": "/docs/release/17.0/#RELEASE-17-MIGRATION", "source_hash": "3f6bc570146409810e5d6cb5f52cf5a0645b03ece5a11f10ab743c38ea6e2c4f", "section_path": ["兼容性"], "commit_groups": [["13d00729d"]], "identity_text": "Rename I/O block read/write timing statistics columns of pgstatstatements (Nazir Bilal Yavuz) This renames blk_read_time to shared_blk_read_time, and blk_write_time to shared_blk_write_time.", "commit_aliases": ["13d00729d"], "source_commits": ["13d00729d"], "source_entry_id": "17.0/migration/013", "db_id": "521858489a384102d9e8c61fd916177f", "patch_ids": ["ab363262e882ed9cfaced4d6c5deda53"], "statement_hash": "7a91b3290978bb385b007e52f8cd2e89093017ee02bdb6ffa835deade60c969f", "relations": [], "version": "17.0", "category_label": "兼容性变化", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-8e45fc51019a9684", "cves": [], "html": "<p>将 <a href=\"/docs/17/catalog-pg-attribute.html\" title=\"51.7. pg_attribute\"><code>pg_attribute</code>.<code>attstattarget</code></a> 和 <code>pg_statistic_ext</code>.<code>stxstattarget</code> 表示默认统计目标的方式更改为 <code>NULL</code>（Peter Eisentraut）<a href=\"https://postgr.es/c/4f622503d\">§</a> <a href=\"https://postgr.es/c/012460ee9\">§</a></p>", "text": "将 pg_attribute.attstattarget 和 pg_statistic_ext.stxstattarget 表示默认统计目标的方式更改为 NULL（Peter Eisentraut）§ §", "title": "将 pg_attribute.attstattarget 和 pg_statistic_ext.stxstattarget 表示默认统计目标的方式更改为 NULL", "commits": ["012460ee9", "4f622503d"], "section": "兼容性", "category": "compatibility", "source_url": "/docs/release/17.0/#RELEASE-17-MIGRATION", "source_hash": "ee9301abc5ba136b5310f2ba247b310e6f05a93b7eeb20e46912a9b9e1105ef2", "section_path": ["兼容性"], "commit_groups": [["012460ee9"], ["4f622503d"]], "identity_text": "Change pg_attribute.attstattarget and pg_statistic_ext.stxstattarget to represent the default statistics target as NULL (Peter Eisentraut)", "commit_aliases": ["012460ee9", "4f622503d"], "source_commits": ["012460ee9", "4f622503d"], "source_entry_id": "17.0/migration/014", "db_id": "55cac36d03b238bca53d532c65e1d15f", "patch_ids": ["4d496fe2fd867ecb3ba5df367b723dd0", "5ca9219021d08dfbe06ec44012775182"], "statement_hash": "9f8dd36740de6cc9002012a6b84508c090110858b69c66d48fe1b23559ef1ef2", "relations": [{"rule": 2, "type": "related", "target": "6092816ce66efe9e474514c27d1edf89", "evidence": {"same_day": true, "patch_ids": ["4d496fe2fd867ecb3ba5df367b723dd0"]}}], "version": "17.0", "category_label": "兼容性变化", "also_in": [], "variants": [], "related_changes": [{"db_id": "6092816ce66efe9e474514c27d1edf89", "kind": "related", "version": "17.0", "label": "17.0", "title": "为将列设置为默认统计目标添加更清晰的 ALTER TABLE 方法", "evidence": {"same_day": true, "patch_ids": ["4d496fe2fd867ecb3ba5df367b723dd0"]}, "url": "/docs/compare/?release=17.0#17.0-787ff7a0336bc432", "source_url": "/docs/release/17.0/#RELEASE-17-UTILITY"}]}, {"id": "17.0-9b65a0870aed3d75", "cves": [], "html": "<p>将 <a href=\"/docs/17/catalog-pg-collation.html\" title=\"51.12. pg_collation\"><code>pg_collation</code>.<code>colliculocale</code></a> 重命名为 <code>colllocale</code>，并将 <a href=\"/docs/17/catalog-pg-database.html\" title=\"51.15. pg_database\"><code>pg_database</code>.<code>daticulocale</code></a> 重命名为 <code>datlocale</code>（Jeff Davis）<a href=\"https://postgr.es/c/f696c0cd5\">§</a></p>", "text": "将 pg_collation.colliculocale 重命名为 colllocale，并将 pg_database.daticulocale 重命名为 datlocale（Jeff Davis）§", "title": "将 pg_collation.colliculocale 重命名为 colllocale，并将 pg_database.daticulocale 重命名为 datlocale", "commits": ["f696c0cd5"], "section": "兼容性", "category": "compatibility", "source_url": "/docs/release/17.0/#RELEASE-17-MIGRATION", "source_hash": "af8abeeb9a49d32e8211cd2706f29bb8263b9fd6192cf1c523b9f48c1970a015", "section_path": ["兼容性"], "commit_groups": [["f696c0cd5"]], "identity_text": "Rename pg_collation.colliculocale to colllocale and pg_database.daticulocale to datlocale (Jeff Davis)", "commit_aliases": ["f696c0cd5"], "source_commits": ["f696c0cd5"], "source_entry_id": "17.0/migration/015", "db_id": "2fc1ec23c0360d980ba0f5693d4723e3", "patch_ids": ["6bce4b4beb93e2fab15393aac74de9c5"], "statement_hash": "31b5beb1310fee3f35abba7fc3e4072aadf5a7c7ff9cf5d19212d6ac49d4a3e7", "relations": [], "version": "17.0", "category_label": "兼容性变化", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-83ba247a819589ec", "cves": [], "html": "<p>将 <a href=\"/docs/17/progress-reporting.html#VACUUM-PROGRESS-REPORTING\" title=\"27.4.5. VACUUM 进度报告\"><code>pg_stat_progress_vacuum</code></a> 的列 <code>max_dead_tuples</code> 重命名为 <code>max_dead_tuple_bytes</code>，将 <code>num_dead_tuples</code> 重命名为 <code>num_dead_item_ids</code>，并新增 <code>dead_tuple_bytes</code>（Masahiko Sawada）<a href=\"https://postgr.es/c/667e65aac\">§</a> <a href=\"https://postgr.es/c/f1affb670\">§</a></p>", "text": "将 pg_stat_progress_vacuum 的列 max_dead_tuples 重命名为 max_dead_tuple_bytes，将 num_dead_tuples 重命名为 num_dead_item_ids，并新增 dead_tuple_bytes（Masahiko Sawada）§ §", "title": "将 pg_stat_progress_vacuum 的列 max_dead_tuples 重命名为 max_dead_tuple_bytes，将 num_dead_tuples 重命名为 num_dead_item_ids，并新增 dead_tuple_bytes", "commits": ["667e65aac", "f1affb670"], "section": "兼容性", "category": "compatibility", "source_url": "/docs/release/17.0/#RELEASE-17-MIGRATION", "source_hash": "65af897e2a50329f28af6aae9770ed9560293da4c8654adca7c0ddad884a339b", "section_path": ["兼容性"], "commit_groups": [["667e65aac"], ["f1affb670"]], "identity_text": "Rename pg_stat_progress_vacuum column max_dead_tuples to max_dead_tuple_bytes, rename num_dead_tuples to num_dead_item_ids, and add dead_tuple_bytes (Masahiko Sawada)", "commit_aliases": ["667e65aac", "f1affb670"], "source_commits": ["667e65aac", "f1affb670"], "source_entry_id": "17.0/migration/016", "db_id": "8b815f87d891f86edf6d47ab77ead937", "patch_ids": ["19217bd878f4c23be2e5b3f9cf78a8c5", "c3bd16b8d0e781c5494b9d539a9c8ca5"], "statement_hash": "1ec0e026d2f88826348b7e2efb08134a22a0db506d06897ee4468704cc8a9a07", "relations": [{"rule": 2, "type": "related", "target": "0321eade032d4cb38972f9e735a7b2c6", "evidence": {"same_day": true, "patch_ids": ["19217bd878f4c23be2e5b3f9cf78a8c5"], "ambiguous_patch_ids": ["5d86834128896d8abb2bc88737d46417"]}}], "version": "17.0", "category_label": "兼容性变化", "also_in": [], "variants": [], "related_changes": [{"db_id": "0321eade032d4cb38972f9e735a7b2c6", "kind": "related", "version": "17.0", "label": "17.0", "title": "允许 vacuum 更高效地存储元组引用", "evidence": {"same_day": true, "patch_ids": ["19217bd878f4c23be2e5b3f9cf78a8c5"], "ambiguous_patch_ids": ["5d86834128896d8abb2bc88737d46417"]}, "url": "/docs/compare/?release=17.0#17.0-fbfbfc68d8d0c85a", "source_url": "/docs/release/17.0/#RELEASE-17-PERFORMANCE"}]}, {"id": "17.0-3340286b2ddec381", "cves": [], "html": "<p>重命名系统视图 <a href=\"/docs/17/monitoring-stats.html#MONITORING-PG-STAT-SLRU-VIEW\" title=\"27.2.25. pg_stat_slru\"><code>pg_stat_slru</code></a> 中的 <acronym>SLRU</acronym> 列（Alvaro Herrera）<a href=\"https://postgr.es/c/bcdfa5f2e\">§</a></p>\n<p><a href=\"/docs/17/monitoring-stats.html#MONITORING-STATS-FUNCS-TABLE\" title=\"表 27.36. 附加统计函数\"><code>pg_stat_reset_slru()</code></a> 接受的列名也随之更改。</p>", "text": "重命名系统视图 pg_stat_slru 中的 SLRU 列（Alvaro Herrera）§ pg_stat_reset_slru() 接受的列名也随之更改。", "title": "重命名系统视图 pg_stat_slru 中的 SLRU 列", "commits": ["bcdfa5f2e"], "section": "兼容性", "category": "compatibility", "source_url": "/docs/release/17.0/#RELEASE-17-MIGRATION", "source_hash": "a50a2fc722f62186e84169429a30b38153d552ded961651dc2e6c3f3837021d6", "section_path": ["兼容性"], "commit_groups": [["bcdfa5f2e"]], "identity_text": "Rename SLRU columns in system view pg_stat_slru (Alvaro Herrera) The column names accepted by pg_stat_reset_slru() are also changed.", "commit_aliases": ["bcdfa5f2e"], "source_commits": ["bcdfa5f2e"], "source_entry_id": "17.0/migration/017", "db_id": "e152ac4c1f5f8d987d2d4164db352c5d", "patch_ids": ["823fd6f92af518e49e4224ce249d8d5f"], "statement_hash": "f9dfa9d3d7a6e9d7b97c2431147c8763d3306f572c9616d361cfbc7d62e22366", "relations": [], "version": "17.0", "category_label": "兼容性变化", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-21f3d2b047f89aaf", "cves": [], "html": "<p>允许优化器通过考虑较早行输出子句中所引用列的统计信息和排序顺序来改进 <acronym>CTE</acronym> 计划（Jian Guo, Richard Guo, Tom Lane）<a href=\"https://postgr.es/c/f7816aec2\">§</a> <a href=\"https://postgr.es/c/a65724dfa\">§</a></p>", "text": "允许优化器通过考虑较早行输出子句中所引用列的统计信息和排序顺序来改进 CTE 计划（Jian Guo, Richard Guo, Tom Lane）§ §", "title": "允许优化器通过考虑较早行输出子句中所引用列的统计信息和排序顺序来改进 CTE 计划", "commits": ["a65724dfa", "f7816aec2"], "section": "服务器 / 优化器", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-OPTIMIZER", "source_hash": "eb7e5faf6f425197daedcb76b78cbc39f042ce8562cdef12882543b7d7b4070e", "section_path": ["服务器", "优化器"], "commit_groups": [["a65724dfa"], ["f7816aec2"]], "identity_text": "Allow the optimizer to improve CTE plans by considering the statistics and sort order of columns referenced in earlier row output clauses (Jian Guo, Richard Guo, Tom Lane)", "commit_aliases": ["a65724dfa", "f7816aec2"], "source_commits": ["a65724dfa", "f7816aec2"], "source_entry_id": "17.0/changes/001", "db_id": "1bb1a2c448bb08cbe14be346046d20fd", "patch_ids": ["dd6efb8af27f478ece630d77b62169aa", "e36c8e7bc021005d10ff030521cc9739"], "statement_hash": "4bf0f103f215559ebf931992edf6c51246aefce339d92536b4458efdd2e66ee7", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-cba148decc6176eb", "cves": [], "html": "<p>改进对 <code>IS NOT NULL</code> 和 <code>IS NULL</code> 查询限制条件的优化（David Rowley, Richard Guo, Andy Fan）<a href=\"https://postgr.es/c/b262ad440\">§</a> <a href=\"https://postgr.es/c/3af704098\">§</a></p>\n<p>从对 <code>NOT NULL</code> 列的查询中移除 <code>IS NOT NULL</code> 限制条件，并在指定 <code>IS NULL</code> 时消除对 <code>NOT NULL</code> 列的扫描。</p>", "text": "改进对 IS NOT NULL 和 IS NULL 查询限制条件的优化（David Rowley, Richard Guo, Andy Fan）§ § 从对 NOT NULL 列的查询中移除 IS NOT NULL 限制条件，并在指定 IS NULL 时消除对 NOT NULL 列的扫描。", "title": "改进对 IS NOT NULL 和 IS NULL 查询限制条件的优化", "commits": ["3af704098", "b262ad440"], "section": "服务器 / 优化器", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-OPTIMIZER", "source_hash": "7c05c9caff1d1ce0caea80d6711c0798c93c60e752dd8c7418b054db78b85639", "section_path": ["服务器", "优化器"], "commit_groups": [["3af704098"], ["b262ad440"]], "identity_text": "Improve optimization of IS NOT NULL and IS NULL query restrictions (David Rowley, Richard Guo, Andy Fan) Remove IS NOT NULL restrictions from queries on NOT NULL columns and eliminate scans on NOT NULL columns if IS NULL is specified.", "commit_aliases": ["3af704098", "b262ad440"], "source_commits": ["3af704098", "b262ad440"], "source_entry_id": "17.0/changes/002", "db_id": "6a8a68dcc3d0afa8fe41f9c0cb346cdb", "patch_ids": ["f0600bde890998500bbb618c1b685216", "ff7fbff5acc4e14db82db8a232d3033c"], "statement_hash": "5b89ca77e9383dc291180695491f866ffe59cf3f577677d5b7c4ce737ae70704", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-29e5b755857cf8f0", "cves": [], "html": "<p>允许在布尔列的 <code>IS [NOT] UNKNOWN</code> 条件下进行分区剪枝（David Rowley）<a href=\"https://postgr.es/c/07c36c133\">§</a></p>", "text": "允许在布尔列的 IS [NOT] UNKNOWN 条件下进行分区剪枝（David Rowley）§", "title": "允许在布尔列的 IS [NOT] UNKNOWN 条件下进行分区剪枝", "commits": ["07c36c133"], "section": "服务器 / 优化器", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-OPTIMIZER", "source_hash": "d331f3bd8a6586468f0229c43b2feee5a2f695567cd0e8dcdc42726c3c46211a", "section_path": ["服务器", "优化器"], "commit_groups": [["07c36c133"]], "identity_text": "Allow partition pruning on boolean columns on IS [NOT] UNKNOWN conditionals (David Rowley)", "commit_aliases": ["07c36c133"], "source_commits": ["07c36c133"], "source_entry_id": "17.0/changes/003", "db_id": "afda858770617dec4b1376034bb38216", "patch_ids": ["8ed535aa9c37315fc74364911854ff1a"], "statement_hash": "7ccc721d6d3c781fb621fd9ec123f4b31861655429858dc2d7b5fd09658778ed", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-f5b70abfde92c84e", "cves": [], "html": "<p>改进在使用包含操作符 &lt;@ 和 @&gt; 时对范围值的优化（Kim Johan Andersson, Jian He）<a href=\"https://postgr.es/c/075df6b20\">§</a></p>", "text": "改进在使用包含操作符 <@ 和 @> 时对范围值的优化（Kim Johan Andersson, Jian He）§", "title": "改进在使用包含操作符 <@ 和 @> 时对范围值的优化", "commits": ["075df6b20"], "section": "服务器 / 优化器", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-OPTIMIZER", "source_hash": "aacddfb193bc2a88d93a27a0db3c55fe9903d1488e18294d0d495a09314a6258", "section_path": ["服务器", "优化器"], "commit_groups": [["075df6b20"]], "identity_text": "Improve optimization of range values when using containment operators <@ and @> (Kim Johan Andersson, Jian He)", "commit_aliases": ["075df6b20"], "source_commits": ["075df6b20"], "source_entry_id": "17.0/changes/004", "db_id": "d1f7be8974ba06dfc203556a75d0b63e", "patch_ids": ["9da08e61b99722f0b36328e0507510c9"], "statement_hash": "377e3b1f92476ceb43181983d5d69e7003385bb96cba0986365b251bdffb3e3a", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-507120ad4033838d", "cves": [], "html": "<p>允许将相关 <code>IN</code> 子查询转换为连接（Andy Fan, Tom Lane）<a href=\"https://postgr.es/c/9f1337639\">§</a></p>", "text": "允许将相关 IN 子查询转换为连接（Andy Fan, Tom Lane）§", "title": "允许将相关 IN 子查询转换为连接", "commits": ["9f1337639"], "section": "服务器 / 优化器", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-OPTIMIZER", "source_hash": "7a79baf5daa1de4f6a03744cccacba82c5839fa158e77bb1bb1f25a654a465e7", "section_path": ["服务器", "优化器"], "commit_groups": [["9f1337639"]], "identity_text": "Allow correlated IN subqueries to be transformed into joins (Andy Fan, Tom Lane)", "commit_aliases": ["9f1337639"], "source_commits": ["9f1337639"], "source_entry_id": "17.0/changes/005", "db_id": "bd6d6519713b08c9c7cf110314e70ea2", "patch_ids": ["9ff41ac8faf0b88877f55a3102aa7ca1"], "statement_hash": "291f61f422e10fcd5437a30e9e3675618ff3f18d9cc162e4146d6283e1f82851", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-d3e2e7215929a4e8", "cves": [], "html": "<p>改进在分区表、继承父表以及 <code>UNION ALL</code> 查询上对 <code>LIMIT</code> 子句的优化（Andy Fan, David Rowley）<a href=\"https://postgr.es/c/a8a968a82\">§</a></p>", "text": "改进在分区表、继承父表以及 UNION ALL 查询上对 LIMIT 子句的优化（Andy Fan, David Rowley）§", "title": "改进在分区表、继承父表以及 UNION ALL 查询上对 LIMIT 子句的优化", "commits": ["a8a968a82"], "section": "服务器 / 优化器", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-OPTIMIZER", "source_hash": "c20d48a847b378c3bd762b7d9a14f2460fd0fe52bebfc264431dc7ee88ee8c5f", "section_path": ["服务器", "优化器"], "commit_groups": [["a8a968a82"]], "identity_text": "Improve optimization of the LIMIT clause on partitioned tables, inheritance parents, and UNION ALL queries (Andy Fan, David Rowley)", "commit_aliases": ["a8a968a82"], "source_commits": ["a8a968a82"], "source_entry_id": "17.0/changes/006", "db_id": "83282acbc3be079c637d32e6d6cebf05", "patch_ids": ["62d46325d2a848ee5e5caa049662a48e"], "statement_hash": "d1029e52b0d66482bdf975a702319bffddd519a8ef83347d01199c89fd7c09ab", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-ece45a3bbdee6c93", "cves": [], "html": "<p>允许在更多情况下并行运行查询节点（Tom Lane）<a href=\"https://postgr.es/c/e08d74ca1\">§</a></p>", "text": "允许在更多情况下并行运行查询节点（Tom Lane）§", "title": "允许在更多情况下并行运行查询节点", "commits": ["e08d74ca1"], "section": "服务器 / 优化器", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-OPTIMIZER", "source_hash": "2fc5e7bbf46cfd7d1e6bd86828ce9e60d4fd41ae29f16ceb508e584a880ca2b8", "section_path": ["服务器", "优化器"], "commit_groups": [["e08d74ca1"]], "identity_text": "Allow query nodes to be run in parallel in more cases (Tom Lane)", "commit_aliases": ["e08d74ca1"], "source_commits": ["e08d74ca1"], "source_entry_id": "17.0/changes/007", "db_id": "0fa6c000b6b77e4811956857239c9210", "patch_ids": ["8a7fca928d7277fb722987d1122d15ff"], "statement_hash": "f7b3830c016aba7f85d380badc1eb852144eb342878a16dafbc4505cc6aa5295", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-cf4ceaa1bff1d02c", "cves": [], "html": "<p>允许在内部重新排列 <code>GROUP BY</code> 列，以匹配 <code>ORDER BY</code>（Andrei Lepikhov, Teodor Sigaev）<a href=\"https://postgr.es/c/0452b461b\">§</a></p>\n<p>这可使用服务器变量<a href=\"/docs/17/runtime-config-query.html#GUC-ENABLE-GROUPBY-REORDERING\">enable_group_by_reordering</a>禁用。</p>", "text": "允许在内部重新排列 GROUP BY 列，以匹配 ORDER BY（Andrei Lepikhov, Teodor Sigaev）§ 这可使用服务器变量enable_group_by_reordering禁用。", "title": "允许在内部重新排列 GROUP BY 列，以匹配 ORDER BY", "commits": ["0452b461b"], "section": "服务器 / 优化器", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-OPTIMIZER", "source_hash": "69a7a8adce04ec7d64e11c11fa22957f06009f1ebf52db9fbe59082ecb65e7b1", "section_path": ["服务器", "优化器"], "commit_groups": [["0452b461b"]], "identity_text": "Allow GROUP BY columns to be internally ordered to match ORDER BY (Andrei Lepikhov, Teodor Sigaev) This can be disabled using server variable guc-enable-groupby-reordering .", "commit_aliases": ["0452b461b"], "source_commits": ["0452b461b"], "source_entry_id": "17.0/changes/008", "db_id": "02f929ca7ad29c477bf05b612f478447", "patch_ids": ["31d9db254e62be9c4a36570707e5f98d"], "statement_hash": "540cd1f010beb51842f38059da03d4ee92041d1eb1624736616488927742e9b9", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-22c36132e8bec1c4", "cves": [], "html": "<p>允许 <code>UNION</code>（不带 <code>ALL</code>）使用 MergeAppend（David Rowley）<a href=\"https://postgr.es/c/66c0185a3\">§</a></p>", "text": "允许 UNION（不带 ALL）使用 MergeAppend（David Rowley）§", "title": "允许 UNION（不带 ALL）使用 MergeAppend", "commits": ["66c0185a3"], "section": "服务器 / 优化器", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-OPTIMIZER", "source_hash": "e539e116a16a6c36494f626d124d5c74cd131b41507643ef1dbb92491985d324", "section_path": ["服务器", "优化器"], "commit_groups": [["66c0185a3"]], "identity_text": "Allow UNION (without ALL) to use MergeAppend (David Rowley)", "commit_aliases": ["66c0185a3"], "source_commits": ["66c0185a3"], "source_entry_id": "17.0/changes/009", "db_id": "1b4c2b726811d73067a879fe0f452060", "patch_ids": ["f7a0eee21e8cda45a208b9a2c8ab935b"], "statement_hash": "c0538bd4e938c0a4a086c5cd87a4327760cbfadc09e5fca423956ff44d44a406", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-97a630bc1449a3d3", "cves": [], "html": "<p>修复 MergeAppend 计划，使其更准确地计算需要排序的行数（Alexander Kuzmenkov）<a href=\"https://postgr.es/c/9d1a5354f\">§</a></p>", "text": "修复 MergeAppend 计划，使其更准确地计算需要排序的行数（Alexander Kuzmenkov）§", "title": "修复 MergeAppend 计划，使其更准确地计算需要排序的行数", "commits": ["9d1a5354f"], "section": "服务器 / 优化器", "category": "bugfix", "source_url": "/docs/release/17.0/#RELEASE-17-OPTIMIZER", "source_hash": "91b1492c15711f380b4f4a5023adc25acd41631c44a22e0e49bd30385524a85a", "section_path": ["服务器", "优化器"], "commit_groups": [["9d1a5354f"]], "identity_text": "Fix MergeAppend plans to more accurately compute the number of rows that need to be sorted (Alexander Kuzmenkov)", "commit_aliases": ["9d1a5354f"], "source_commits": ["9d1a5354f"], "source_entry_id": "17.0/changes/010", "db_id": "3f2526f05d7f915d14b9d71a273f8a05", "patch_ids": ["51394b47048db81db5c8ca3b8f195e0c"], "statement_hash": "1b89e926d198570600425805c23c395ea3e13a6e84af61090ed0ada7f0584d69", "relations": [], "version": "17.0", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-f89209bb66394a3b", "cves": [], "html": "<p>允许 <a href=\"/docs/17/gist.html\" title=\"64.2. GiST 索引\">GiST</a> 和 <a href=\"/docs/17/spgist.html\" title=\"64.3. SP-GiST 索引\">SP-GiST</a> 索引参与增量排序（Miroslav Bendik）<a href=\"https://postgr.es/c/625d5b3ca\">§</a></p>\n<p>这对于首列具有 GiST 或 SP-GiST 索引而其他列没有的 <code>ORDER BY</code> 子句尤其有用。</p>", "text": "允许 GiST 和 SP-GiST 索引参与增量排序（Miroslav Bendik）§ 这对于首列具有 GiST 或 SP-GiST 索引而其他列没有的 ORDER BY 子句尤其有用。", "title": "允许 GiST 和 SP-GiST 索引参与增量排序", "commits": ["625d5b3ca"], "section": "服务器 / 优化器", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-OPTIMIZER", "source_hash": "61d6f668fbc86ce8556101e58d4a9a263c5ec7c6fcf48ab1111902ca64253204", "section_path": ["服务器", "优化器"], "commit_groups": [["625d5b3ca"]], "identity_text": "Allow GiST and SP-GiST indexes to be part of incremental sorts (Miroslav Bendik) This is particularly useful for ORDER BY clauses where the first column has a GiST and SP-GiST index, and other columns do not.", "commit_aliases": ["625d5b3ca"], "source_commits": ["625d5b3ca"], "source_entry_id": "17.0/changes/011", "db_id": "1e78c474d4dc8fead2cee8adc6b881e1", "patch_ids": ["dfbbdfe017c5c71c4ef9dfa0c1c47eb9"], "statement_hash": "94587849bd7b7e481c3f6b17c98668f4483a63ce346e12aef6e0b1a243ff9858", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-5bdd18c3a0665318", "cves": [], "html": "<p>向 <a href=\"/docs/17/view-pg-stats.html\" title=\"52.27. pg_stats\"><code>pg_stats</code></a> 添加列，以报告范围类型的直方图信息（Egor Rogov, Soumyadeep Chakraborty）<a href=\"https://postgr.es/c/bc3c8db8a\">§</a></p>", "text": "向 pg_stats 添加列，以报告范围类型的直方图信息（Egor Rogov, Soumyadeep Chakraborty）§", "title": "向 pg_stats 添加列，以报告范围类型的直方图信息", "commits": ["bc3c8db8a"], "section": "服务器 / 优化器", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-OPTIMIZER", "source_hash": "2a5511c28248dc15f2f1b168c9387eec29b7ad33e15680f3c8d3d57fe1ae5fa7", "section_path": ["服务器", "优化器"], "commit_groups": [["bc3c8db8a"]], "identity_text": "Add columns to pg_stats to report range-type histogram information (Egor Rogov, Soumyadeep Chakraborty)", "commit_aliases": ["bc3c8db8a"], "source_commits": ["bc3c8db8a"], "source_entry_id": "17.0/changes/012", "db_id": "037099a7ff600d9768772dd9aa4fd36e", "patch_ids": ["a63e4162a922bb5fcc04165cdac5e2c6"], "statement_hash": "cf3c84a11f3b613b0a873d0b9a0575c0838ec84ca1864ada35f16c59866938af", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-d95aa3ed60f61d89", "cves": [], "html": "<p>允许 <a href=\"/docs/17/btree.html\" title=\"64.1. B-树索引\">B-树</a>索引更高效地查找一组值，例如使用常量的 <code>IN</code> 子句所提供的值（Peter Geoghegan, Matthias van de Meent）<a href=\"https://postgr.es/c/5bf748b86\">§</a></p>", "text": "允许 B-树索引更高效地查找一组值，例如使用常量的 IN 子句所提供的值（Peter Geoghegan, Matthias van de Meent）§", "title": "允许 B-树索引更高效地查找一组值，例如使用常量的 IN 子句所提供的值", "commits": ["5bf748b86"], "section": "服务器 / 索引", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-INDEXES", "source_hash": "b78577eba77ed7afb71b32e574365c6fc2aae6b448b0920298f0706a96cffef8", "section_path": ["服务器", "索引"], "commit_groups": [["5bf748b86"]], "identity_text": "Allow btree indexes to more efficiently find a set of values, such as those supplied by IN clauses using constants (Peter Geoghegan, Matthias van de Meent)", "commit_aliases": ["5bf748b86"], "source_commits": ["5bf748b86"], "source_entry_id": "17.0/changes/013", "db_id": "e47d7b6056c6ec1e9e008a67eb552a53", "patch_ids": ["62f02f1e9bb968e242e65dd52e8d5cc8"], "statement_hash": "3ee0ee4a8dd9858c539ca1b15a832632c8c4d1dcce33b59c7bf1fe24a90b6473", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-c837db8b17f85f1f", "cves": [], "html": "<p>允许使用并行工作进程创建 <a href=\"/docs/17/brin.html\" title=\"64.5. BRIN 索引\"><acronym>BRIN</acronym></a> 索引（Tomas Vondra, Matthias van de Meent）<a href=\"https://postgr.es/c/b43757171\">§</a></p>", "text": "允许使用并行工作进程创建 BRIN 索引（Tomas Vondra, Matthias van de Meent）§", "title": "允许使用并行工作进程创建 BRIN 索引", "commits": ["b43757171"], "section": "服务器 / 索引", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-INDEXES", "source_hash": "c770c0ed1566fb3735ece3a13dc379fd18ddafff4833a97d43abecbd1dbe6e30", "section_path": ["服务器", "索引"], "commit_groups": [["b43757171"]], "identity_text": "Allow BRIN indexes to be created using parallel workers (Tomas Vondra, Matthias van de Meent)", "commit_aliases": ["b43757171"], "source_commits": ["b43757171"], "source_entry_id": "17.0/changes/014", "db_id": "357f54e0344a35006dbfb9a0f7949ed5", "patch_ids": ["06897789dd8c7b7411b4080c6ca4173e"], "statement_hash": "92760d5d96ba8a77fdf7906cef8e52436561bf69711442768c57d6c0e0daca29", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-d9db03aa5820139c", "cves": [], "html": "<p>允许 vacuum 更高效地移除和冻结元组（Melanie Plageman, Heikki Linnakangas）<a href=\"https://postgr.es/c/6dbb49026\">§</a></p>\n<p>vacuum 产生的 <acronym>WAL</acronym> 流量也更紧凑。</p>", "text": "允许 vacuum 更高效地移除和冻结元组（Melanie Plageman, Heikki Linnakangas）§ vacuum 产生的 WAL 流量也更紧凑。", "title": "允许 vacuum 更高效地移除和冻结元组", "commits": ["6dbb49026"], "section": "服务器 / 一般性能", "category": "performance", "source_url": "/docs/release/17.0/#RELEASE-17-PERFORMANCE", "source_hash": "8b0684783c44f4a5b4a678b52f856b2edff73b477c6a1537b0ac04cd3bba07d4", "section_path": ["服务器", "一般性能"], "commit_groups": [["6dbb49026"]], "identity_text": "Allow vacuum to more efficiently remove and freeze tuples (Melanie Plageman, Heikki Linnakangas) WAL traffic caused by vacuum is also more compact.", "commit_aliases": ["6dbb49026"], "source_commits": ["6dbb49026"], "source_entry_id": "17.0/changes/015", "db_id": "89a653da6e7aa69a72c4cd8c75af4011", "patch_ids": ["5d86834128896d8abb2bc88737d46417"], "statement_hash": "863cb996bf9728565e861341970344c05db07fae1a00e77d1a4149fad751578b", "relations": [{"rule": 2, "type": "related", "target": "0321eade032d4cb38972f9e735a7b2c6", "evidence": {"same_day": true, "patch_ids": ["5d86834128896d8abb2bc88737d46417"], "ambiguous_patch_ids": ["5d86834128896d8abb2bc88737d46417"]}}], "version": "17.0", "category_label": "性能改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "0321eade032d4cb38972f9e735a7b2c6", "kind": "related", "version": "17.0", "label": "17.0", "title": "允许 vacuum 更高效地存储元组引用", "evidence": {"same_day": true, "patch_ids": ["5d86834128896d8abb2bc88737d46417"], "ambiguous_patch_ids": ["5d86834128896d8abb2bc88737d46417"]}, "url": "/docs/compare/?release=17.0#17.0-fbfbfc68d8d0c85a", "source_url": "/docs/release/17.0/#RELEASE-17-PERFORMANCE"}]}, {"id": "17.0-fbfbfc68d8d0c85a", "cves": [], "html": "<p>允许 vacuum 更高效地存储元组引用（Masahiko Sawada, John Naylor）<a href=\"https://postgr.es/c/ee1b30f12\">§</a> <a href=\"https://postgr.es/c/30e144287\">§</a> <a href=\"https://postgr.es/c/667e65aac\">§</a> <a href=\"https://postgr.es/c/6dbb49026\">§</a></p>\n<p>此外，当<a href=\"/docs/17/runtime-config-resource.html#GUC-MAINTENANCE-WORK-MEM\">maintenance_work_mem</a>或<a href=\"/docs/17/runtime-config-resource.html#GUC-AUTOVACUUM-WORK-MEM\">autovacuum_work_mem</a>更高时，vacuum 不再被静默限制为最多使用 1 GB 内存。</p>", "text": "允许 vacuum 更高效地存储元组引用（Masahiko Sawada, John Naylor）§ § § § 此外，当maintenance_work_mem或autovacuum_work_mem更高时，vacuum 不再被静默限制为最多使用 1 GB 内存。", "title": "允许 vacuum 更高效地存储元组引用", "commits": ["30e144287", "667e65aac", "6dbb49026", "ee1b30f12"], "section": "服务器 / 一般性能", "category": "performance", "source_url": "/docs/release/17.0/#RELEASE-17-PERFORMANCE", "source_hash": "88aab9801a30303866f8b26ed1f8d771db39f2e1168233d760b9634698385d1e", "section_path": ["服务器", "一般性能"], "commit_groups": [["30e144287"], ["667e65aac"], ["6dbb49026"], ["ee1b30f12"]], "identity_text": "Allow vacuum to more efficiently store tuple references (Masahiko Sawada, John Naylor) Additionally, vacuum is no longer silently limited to one gigabyte of memory when guc-maintenance-work-mem or guc-autovacuum-work-mem are higher.", "commit_aliases": ["30e144287", "667e65aac", "6dbb49026", "ee1b30f12"], "source_commits": ["30e144287", "667e65aac", "6dbb49026", "ee1b30f12"], "source_entry_id": "17.0/changes/016", "db_id": "0321eade032d4cb38972f9e735a7b2c6", "patch_ids": ["19217bd878f4c23be2e5b3f9cf78a8c5", "263f7b224629a60b546cdf35f2c8f04d", "5d86834128896d8abb2bc88737d46417", "d577808acab8c13e3546b8fdc5244b59"], "statement_hash": "3961e80042faf2476c0e265de934a1e6a51c2364064d288b1ef4b1ceac3951fd", "relations": [{"rule": 2, "type": "related", "target": "89a653da6e7aa69a72c4cd8c75af4011", "evidence": {"same_day": true, "patch_ids": ["5d86834128896d8abb2bc88737d46417"], "ambiguous_patch_ids": ["5d86834128896d8abb2bc88737d46417"]}}, {"rule": 2, "type": "related", "target": "8b815f87d891f86edf6d47ab77ead937", "evidence": {"same_day": true, "patch_ids": ["19217bd878f4c23be2e5b3f9cf78a8c5"], "ambiguous_patch_ids": ["5d86834128896d8abb2bc88737d46417"]}}], "version": "17.0", "category_label": "性能改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "8b815f87d891f86edf6d47ab77ead937", "kind": "related", "version": "17.0", "label": "17.0", "title": "将 pg_stat_progress_vacuum 的列 max_dead_tuples 重命名为 max_dead_tuple_bytes，将 num_dead_tuples 重命名为 num_dead_item_ids，并新增 dead_tuple_bytes", "evidence": {"same_day": true, "patch_ids": ["19217bd878f4c23be2e5b3f9cf78a8c5"], "ambiguous_patch_ids": ["5d86834128896d8abb2bc88737d46417"]}, "url": "/docs/compare/?release=17.0#17.0-83ba247a819589ec", "source_url": "/docs/release/17.0/#RELEASE-17-MIGRATION"}, {"db_id": "89a653da6e7aa69a72c4cd8c75af4011", "kind": "related", "version": "17.0", "label": "17.0", "title": "允许 vacuum 更高效地移除和冻结元组", "evidence": {"same_day": true, "patch_ids": ["5d86834128896d8abb2bc88737d46417"], "ambiguous_patch_ids": ["5d86834128896d8abb2bc88737d46417"]}, "url": "/docs/compare/?release=17.0#17.0-d9db03aa5820139c", "source_url": "/docs/release/17.0/#RELEASE-17-PERFORMANCE"}]}, {"id": "17.0-874b4bd54a2c1d8a", "cves": [], "html": "<p>优化对没有索引的关系执行 vacuum（Melanie Plageman）<a href=\"https://postgr.es/c/c120550ed\">§</a></p>", "text": "优化对没有索引的关系执行 vacuum（Melanie Plageman）§", "title": "优化对没有索引的关系执行 vacuum", "commits": ["c120550ed"], "section": "服务器 / 一般性能", "category": "performance", "source_url": "/docs/release/17.0/#RELEASE-17-PERFORMANCE", "source_hash": "26bdc93a519bcef710427cb4162833e37bc622f782d89cf18292a5115e90c369", "section_path": ["服务器", "一般性能"], "commit_groups": [["c120550ed"]], "identity_text": "Optimize vacuuming of relations with no indexes (Melanie Plageman)", "commit_aliases": ["c120550ed"], "source_commits": ["c120550ed"], "source_entry_id": "17.0/changes/017", "db_id": "29c98733afaed69876880f25a5bd0a3a", "patch_ids": ["ae078cc360de92d7cd946d75c30a97ec"], "statement_hash": "051182da5dd288b44aa410530ab97cf2319fcf1d040f71e6501feac20e3225c8", "relations": [], "version": "17.0", "category_label": "性能改进", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-c65ccd956d69cf60", "cves": [], "html": "<p>将<a href=\"/docs/17/runtime-config-resource.html#GUC-VACUUM-BUFFER-USAGE-LIMIT\">vacuum_buffer_usage_limit</a>的默认值提高到 2MB（Thomas Munro）<a href=\"https://postgr.es/c/98f320eb2\">§</a></p>", "text": "将vacuum_buffer_usage_limit的默认值提高到 2MB（Thomas Munro）§", "title": "将vacuum_buffer_usage_limit的默认值提高到 2MB", "commits": ["98f320eb2"], "section": "服务器 / 一般性能", "category": "performance", "source_url": "/docs/release/17.0/#RELEASE-17-PERFORMANCE", "source_hash": "1fc1936feebddb0a83369b1307de0a6397a8d2f1f0ba15bf2accac68978c5868", "section_path": ["服务器", "一般性能"], "commit_groups": [["98f320eb2"]], "identity_text": "Increase default guc-vacuum-buffer-usage-limit to 2MB (Thomas Munro)", "commit_aliases": ["98f320eb2"], "source_commits": ["98f320eb2"], "source_entry_id": "17.0/changes/018", "db_id": "429f08850a5507730819360568b7fd60", "patch_ids": ["cf3e200b56ea66a8ac20982966cc7e0a"], "statement_hash": "bff2838d1874f02abef53ccdae72774c30923efed6e73e07eab40437a98f44d2", "relations": [], "version": "17.0", "category_label": "性能改进", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-799eff850bcef54e", "cves": [], "html": "<p>改进在检查具有大量成员关系的角色时的性能（Nathan Bossart）<a href=\"https://postgr.es/c/d365ae705\">§</a></p>", "text": "改进在检查具有大量成员关系的角色时的性能（Nathan Bossart）§", "title": "改进在检查具有大量成员关系的角色时的性能", "commits": ["d365ae705"], "section": "服务器 / 一般性能", "category": "performance", "source_url": "/docs/release/17.0/#RELEASE-17-PERFORMANCE", "source_hash": "a5bab4fe4e0e2828cdb7f446e61cd01091f63865ddba851fba597fd574eff596", "section_path": ["服务器", "一般性能"], "commit_groups": [["d365ae705"]], "identity_text": "Improve performance when checking roles with many memberships (Nathan Bossart)", "commit_aliases": ["d365ae705"], "source_commits": ["d365ae705"], "source_entry_id": "17.0/changes/019", "db_id": "1f69c59a8d7500e2107f67e43c831452", "patch_ids": ["7b48237dcb0079ef5c7120e5c665926b"], "statement_hash": "2000eb2cc1ec0d03372e17fc712f5c63189f1643f6dfccc4f94ce895057a1340", "relations": [], "version": "17.0", "category_label": "性能改进", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-8ce446e784c1c780", "cves": [], "html": "<p>改进高竞争情况下 <acronym>WAL</acronym> 写入的性能（Bharath Rupireddy）<a href=\"https://postgr.es/c/71e4cc6b8\">§</a></p>", "text": "改进高竞争情况下 WAL 写入的性能（Bharath Rupireddy）§", "title": "改进高竞争情况下 WAL 写入的性能", "commits": ["71e4cc6b8"], "section": "服务器 / 一般性能", "category": "performance", "source_url": "/docs/release/17.0/#RELEASE-17-PERFORMANCE", "source_hash": "b2e271cf4149ed959aa3318289bf0140336306ce01490fb429ce6d7aeec38890", "section_path": ["服务器", "一般性能"], "commit_groups": [["71e4cc6b8"]], "identity_text": "Improve performance of heavily-contended WAL writes (Bharath Rupireddy)", "commit_aliases": ["71e4cc6b8"], "source_commits": ["71e4cc6b8"], "source_entry_id": "17.0/changes/020", "db_id": "d375c35da4155ab032e21fbcc476dd77", "patch_ids": ["b054c6c72fb3b0472bab138c84ff4fac"], "statement_hash": "bbb0111fa6745baeacf49d13736b2be398611d2221fb4e8d1f8d3d06c79130e9", "relations": [], "version": "17.0", "category_label": "性能改进", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-b7102f98a13db53a", "cves": [], "html": "<p>改进向客户端传输大块数据时的性能（Melih Mutlu）<a href=\"https://postgr.es/c/c4ab7da60\">§</a></p>", "text": "改进向客户端传输大块数据时的性能（Melih Mutlu）§", "title": "改进向客户端传输大块数据时的性能", "commits": ["c4ab7da60"], "section": "服务器 / 一般性能", "category": "performance", "source_url": "/docs/release/17.0/#RELEASE-17-PERFORMANCE", "source_hash": "a9949c4f225707e425c687c60c71aa6f226a4d17fd57a7e488fb8504b40228ff", "section_path": ["服务器", "一般性能"], "commit_groups": [["c4ab7da60"]], "identity_text": "Improve performance when transferring large blocks of data to a client (Melih Mutlu)", "commit_aliases": ["c4ab7da60"], "source_commits": ["c4ab7da60"], "source_entry_id": "17.0/changes/021", "db_id": "a8be4eab6c4155c2f1a285c8a63fbf57", "patch_ids": ["4a4db20a21552518a62918f9ed5ac8ae"], "statement_hash": "6c2257fb99e4b22d3aa1a5f070824710925a378ef24d8f53f3ffcb8d508fd612", "relations": [], "version": "17.0", "category_label": "性能改进", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-1228a167a39e7872", "cves": [], "html": "<p>允许使用新的系统变量<a href=\"/docs/17/runtime-config-resource.html#GUC-IO-COMBINE-LIMIT\">io_combine_limit</a>对文件系统读取进行分组（Thomas Munro, Andres Freund, Melanie Plageman, Nazir Bilal Yavuz）<a href=\"https://postgr.es/c/210622c60\">§</a> <a href=\"https://postgr.es/c/b7b0f3f27\">§</a> <a href=\"https://postgr.es/c/041b96802\">§</a></p>", "text": "允许使用新的系统变量io_combine_limit对文件系统读取进行分组（Thomas Munro, Andres Freund, Melanie Plageman, Nazir Bilal Yavuz）§ § §", "title": "允许使用新的系统变量io_combine_limit对文件系统读取进行分组", "commits": ["041b96802", "210622c60", "b7b0f3f27"], "section": "服务器 / 一般性能", "category": "performance", "source_url": "/docs/release/17.0/#RELEASE-17-PERFORMANCE", "source_hash": "7a996e1e8d1e0db680837628d2311fd11fd77b422463dd8a5766b3f76e04a227", "section_path": ["服务器", "一般性能"], "commit_groups": [["041b96802"], ["210622c60"], ["b7b0f3f27"]], "identity_text": "Allow the grouping of file system reads with the new system variable guc-io-combine-limit (Thomas Munro, Andres Freund, Melanie Plageman, Nazir Bilal Yavuz)", "commit_aliases": ["041b96802", "210622c60", "b7b0f3f27"], "source_commits": ["041b96802", "210622c60", "b7b0f3f27"], "source_entry_id": "17.0/changes/022", "db_id": "12c213ac3532e0b672d8cd5c054de3b6", "patch_ids": ["71aa6e0943bc5420ec25b6b9d9ae11f8", "bfe9972f87a328ed7f16052e6163b069", "c61f80906577b0b3bb271a25cce60613"], "statement_hash": "b28444131aae3fe1f2a3b05878dddf96908adb9beb611ecfc33ce2fbc1d3704f", "relations": [], "version": "17.0", "category_label": "性能改进", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-1cccee587cb0a42d", "cves": [], "html": "<p>创建系统视图 <a href=\"/docs/17/monitoring-stats.html#MONITORING-PG-STAT-CHECKPOINTER-VIEW\" title=\"27.2.15. pg_stat_checkpointer\"><code>pg_stat_checkpointer</code></a>（Bharath Rupireddy, Anton A. Melnikov, Alexander Korotkov）<a href=\"https://postgr.es/c/96f052613\">§</a> <a href=\"https://postgr.es/c/12915a58e\">§</a> <a href=\"https://postgr.es/c/e820db5b5\">§</a></p>\n<p>已将相关列从 <a href=\"/docs/17/monitoring-stats.html#PG-STAT-BGWRITER-VIEW\" title=\"表 27.24. pg_stat_bgwriter 视图\"><code>pg_stat_bgwriter</code></a> 中移除，并加入这个新系统视图。</p>", "text": "创建系统视图 pg_stat_checkpointer（Bharath Rupireddy, Anton A. Melnikov, Alexander Korotkov）§ § § 已将相关列从 pg_stat_bgwriter 中移除，并加入这个新系统视图。", "title": "创建系统视图 pg_stat_checkpointer", "commits": ["12915a58e", "96f052613", "e820db5b5"], "section": "服务器 / 监控", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-MONITORING", "source_hash": "ce6909ffeb67901e0f2084b59385aa14d039d7b745560d56de4fae9972193996", "section_path": ["服务器", "监控"], "commit_groups": [["12915a58e"], ["96f052613"], ["e820db5b5"]], "identity_text": "Create system view pg_stat_checkpointer (Bharath Rupireddy, Anton A. Melnikov, Alexander Korotkov) Relevant columns have been removed from pg_stat_bgwriter and added to this new system view.", "commit_aliases": ["12915a58e", "96f052613", "e820db5b5"], "source_commits": ["12915a58e", "96f052613", "e820db5b5"], "source_entry_id": "17.0/changes/023", "db_id": "4ff4dee639ca21ea61f8cdea1ee7877a", "patch_ids": ["087f770ccd9135f0e8e89744ec2a27a6", "742374f840e495b68971a6443adcdbc2", "cb09d0627a3b7b094f7b77724f47a27d"], "statement_hash": "bee5193ee322640d95b37ce95b101f1ab5429c4e2d2c28f0a6b8614b7a3cd6d0", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-2d825eb8d3c5ff0e", "cves": [], "html": "<p>改进对重置统计信息的控制（Atsushi Torikoshi, Bharath Rupireddy）<a href=\"https://postgr.es/c/23c8c0c8f\">§</a> <a href=\"https://postgr.es/c/2e8a0edc2\">§</a> <a href=\"https://postgr.es/c/e5cca6288\">§</a></p>\n<p>允许 <a href=\"/docs/17/monitoring-stats.html#MONITORING-STATS-FUNCS-TABLE\" title=\"表 27.36. 附加统计函数\"><code>pg_stat_reset_shared()</code></a>（无参数）和 pg_stat_reset_shared(<code>NULL</code>) 重置所有共享统计信息。允许 pg_stat_reset_shared('slru') 和 <a href=\"/docs/17/monitoring-stats.html#MONITORING-STATS-FUNCS-TABLE\" title=\"表 27.36. 附加统计函数\"><code>pg_stat_reset_slru()</code></a>（无参数）重置 <acronym>SLRU</acronym> 统计信息，而这在以前只能通过 pg_stat_reset_slru(NULL) 实现。</p>", "text": "改进对重置统计信息的控制（Atsushi Torikoshi, Bharath Rupireddy）§ § § 允许 pg_stat_reset_shared()（无参数）和 pg_stat_reset_shared(NULL) 重置所有共享统计信息。允许 pg_stat_reset_shared('slru') 和 pg_stat_reset_slru()（无参数）重置 SLRU 统计信息，而这在以前只能通过 pg_stat_reset_slru(NULL) 实现。", "title": "改进对重置统计信息的控制", "commits": ["23c8c0c8f", "2e8a0edc2", "e5cca6288"], "section": "服务器 / 监控", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-MONITORING", "source_hash": "2bd79591fd925d674f888e34fecb0fd89ffba2a3e3706b105378a61942507b7e", "section_path": ["服务器", "监控"], "commit_groups": [["23c8c0c8f"], ["2e8a0edc2"], ["e5cca6288"]], "identity_text": "Improve control over resetting statistics (Atsushi Torikoshi, Bharath Rupireddy) Allow pg_stat_reset_shared() (with no arguments) and pg_stat_reset_shared(NULL) to reset all shared statistics. Allow pg_stat_reset_shared('slru') and pg_stat_reset_slru() (with no arguments) to reset SLRU statistics, which was already possible with pg_stat_reset_slru(NULL).", "commit_aliases": ["23c8c0c8f", "2e8a0edc2", "e5cca6288"], "source_commits": ["23c8c0c8f", "2e8a0edc2", "e5cca6288"], "source_entry_id": "17.0/changes/024", "db_id": "f2b5aa80f146d0e7d1b3950b4f9af0a5", "patch_ids": ["0f89436d4abd3658e358b0083424c2db", "152cf4781cee5381f1b3c3c707b98b2a", "2a691e57c66c1c257390331e256a72b5"], "statement_hash": "ba0121413efd5b7bea0783769e5fe956746dd08cd6f5982f7e2aaed3f69424f2", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-a754f9aefb902646", "cves": [], "html": "<p>添加与从备份恢复 <acronym>WAL</acronym> 相关的日志消息（Andres Freund）<a href=\"https://postgr.es/c/1d35f705e\">§</a></p>", "text": "添加与从备份恢复 WAL 相关的日志消息（Andres Freund）§", "title": "添加与从备份恢复 WAL 相关的日志消息", "commits": ["1d35f705e"], "section": "服务器 / 监控", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-MONITORING", "source_hash": "af3649c1b838530888d2aaff89eef7b48875e6620e0b1d10f9ac0d5500e874a9", "section_path": ["服务器", "监控"], "commit_groups": [["1d35f705e", "8b34cff33", "edbd1b41a"]], "identity_text": "Add log messages related to WAL recovery from backups (Andres Freund)", "commit_aliases": ["1d35f705e", "8b34cff33", "edbd1b41a"], "source_commits": ["1d35f705e"], "source_entry_id": "17.0/changes/025", "db_id": "081db8f02dd3ff1c924983d249d21687", "patch_ids": ["a50efcd5666996dbc2b769e9fc73c42b"], "statement_hash": "78b1925536a684c59f0def51c40edf65a3f0ebed9c67f9fe2d98be549b76a0c0", "relations": [{"rule": 2, "type": "related", "target": "9cd394066681d267db871196e7aac9a5", "evidence": {"same_day": false, "patch_ids": ["a50efcd5666996dbc2b769e9fc73c42b"]}}, {"rule": 2, "type": "related", "target": "d9ceaf3109bc4845b8831721fb3487e2", "evidence": {"same_day": false, "patch_ids": ["a50efcd5666996dbc2b769e9fc73c42b"]}}], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": [{"db_id": "9cd394066681d267db871196e7aac9a5", "kind": "related", "version": "16.2", "label": "16.2", "title": "在从备份开始和结束恢复时增加更多 LOG 消息", "evidence": {"same_day": false, "patch_ids": ["a50efcd5666996dbc2b769e9fc73c42b"]}, "url": "/docs/compare/?release=16.2#16.2-d324805180111688", "source_url": "/docs/release/16.2/#RELEASE-16-2-CHANGES"}, {"db_id": "d9ceaf3109bc4845b8831721fb3487e2", "kind": "related", "version": "15.6", "label": "15.6", "title": "在从备份开始和结束恢复时增加更多 LOG 消息", "evidence": {"same_day": false, "patch_ids": ["a50efcd5666996dbc2b769e9fc73c42b"]}, "url": "/docs/compare/?release=15.6#15.6-5a8bcf4afae18890", "source_url": "/docs/release/15.6/#ZH-AUTO-RELEASE-15-SECT2-24"}]}, {"id": "17.0-566d55cf042146a5", "cves": [], "html": "<p>为 <code>trust</code> 连接添加<a href=\"/docs/17/runtime-config-logging.html#GUC-LOG-CONNECTIONS\">log_connections</a>日志行（Jacob Champion）<a href=\"https://postgr.es/c/e48b19c5d\">§</a></p>", "text": "为 trust 连接添加log_connections日志行（Jacob Champion）§", "title": "为 trust 连接添加log_connections日志行", "commits": ["e48b19c5d"], "section": "服务器 / 监控", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-MONITORING", "source_hash": "b2770477ea3879a0752b2f4622db20222820342b3484b16498ca54d5a5b029b3", "section_path": ["服务器", "监控"], "commit_groups": [["e48b19c5d"]], "identity_text": "Add guc-log-connections log line for trust connections (Jacob Champion)", "commit_aliases": ["e48b19c5d"], "source_commits": ["e48b19c5d"], "source_entry_id": "17.0/changes/026", "db_id": "02d50f684e092404a61af07389c7bccb", "patch_ids": ["367c956098d0ca49d5c002320e082720"], "statement_hash": "827565d027538fdb6b92ada1eb79111f76750202d2af887855dd09d2dc7d19d5", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-79325dc055bef580", "cves": [], "html": "<p>添加日志消息以报告 walsender 获取和释放复制槽（Bharath Rupireddy）<a href=\"https://postgr.es/c/7c3fb505b\">§</a></p>\n<p>这由服务器变量<a href=\"/docs/17/runtime-config-logging.html#GUC-LOG-REPLICATION-COMMANDS\">log_replication_commands</a>启用。</p>", "text": "添加日志消息以报告 walsender 获取和释放复制槽（Bharath Rupireddy）§ 这由服务器变量log_replication_commands启用。", "title": "添加日志消息以报告 walsender 获取和释放复制槽", "commits": ["7c3fb505b"], "section": "服务器 / 监控", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-MONITORING", "source_hash": "9699908c99c547ef170b47cee317c402c77d68df6edde33ed1a057ca77b7797f", "section_path": ["服务器", "监控"], "commit_groups": [["7c3fb505b"]], "identity_text": "Add log message to report walsender acquisition and release of replication slots (Bharath Rupireddy) This is enabled by the server variable guc-log-replication-commands .", "commit_aliases": ["7c3fb505b"], "source_commits": ["7c3fb505b"], "source_entry_id": "17.0/changes/027", "db_id": "ec20bac29969bfab10f2f2d62b191d5d", "patch_ids": ["eb924a0f2df506f5b700628a7f5f135e"], "statement_hash": "a98d6d9118479d4d4468c7e9487cc5017f02a43d3407d392d798108681b22d9e", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-b23f02f3ca5bb83b", "cves": [], "html": "<p>添加用于报告等待事件类型的系统视图 <a href=\"/docs/17/view-pg-wait-events.html\" title=\"52.36. pg_wait_events\"><code>pg_wait_events</code></a>（Bertrand Drouvot）<a href=\"https://postgr.es/c/1e68e43d3\">§</a></p>\n<p>这有助于为 <a href=\"/docs/17/monitoring-stats.html#MONITORING-PG-STAT-ACTIVITY-VIEW\" title=\"27.2.3. pg_stat_activity\"><code>pg_stat_activity</code></a> 中报告的等待事件补充描述。</p>", "text": "添加用于报告等待事件类型的系统视图 pg_wait_events（Bertrand Drouvot）§ 这有助于为 pg_stat_activity 中报告的等待事件补充描述。", "title": "添加用于报告等待事件类型的系统视图 pg_wait_events", "commits": ["1e68e43d3"], "section": "服务器 / 监控", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-MONITORING", "source_hash": "27ae26ad8cc5a2d1f7096ed1606a2483d06a7583c94f6a42df8c254dad756062", "section_path": ["服务器", "监控"], "commit_groups": [["1e68e43d3"]], "identity_text": "Add system view pg_wait_events that reports wait event types (Bertrand Drouvot) This is useful for adding descriptions to wait events reported in pg_stat_activity.", "commit_aliases": ["1e68e43d3"], "source_commits": ["1e68e43d3"], "source_entry_id": "17.0/changes/028", "db_id": "67eefbc682ee74a140bbc4e7ab7052e5", "patch_ids": ["afdfc65550d7b2d8273774dc2a6ad40e"], "statement_hash": "329e0406b985caaef112b3b714b1bd1e659323b624f805878ddabd3c1a8db9d5", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-0df4c4c5a0657442", "cves": [], "html": "<p>为检查点延迟添加<a href=\"/docs/17/view-pg-wait-events.html\" title=\"52.36. pg_wait_events\">等待事件</a>（Thomas Munro）<a href=\"https://postgr.es/c/0013ba290\">§</a></p>", "text": "为检查点延迟添加等待事件（Thomas Munro）§", "title": "为检查点延迟添加等待事件", "commits": ["0013ba290"], "section": "服务器 / 监控", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-MONITORING", "source_hash": "fb2754377ad0fca7e28ef81cd3ac93708f772f02907fc3fd4102022d576e893c", "section_path": ["服务器", "监控"], "commit_groups": [["0013ba290"]], "identity_text": "Add wait events for checkpoint delays (Thomas Munro)", "commit_aliases": ["0013ba290"], "source_commits": ["0013ba290"], "source_entry_id": "17.0/changes/029", "db_id": "7ee802098f5e08ab4d48921edb84ad78", "patch_ids": ["7c35d8c42f00048e52b9c7bf593aedc9"], "statement_hash": "b8e3d1ea661bb8a6e52340233d110d5db405b0b4f710584f8c62526cd899e27a", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-fa902bad70142407", "cves": [], "html": "<p>允许 vacuum 报告索引处理进度（Sami Imseih）<a href=\"https://postgr.es/c/46ebdfe16\">§</a></p>\n<p>这显示在系统视图 <a href=\"/docs/17/progress-reporting.html#PG-STAT-PROGRESS-VACUUM-VIEW\" title=\"表 27.45. pg_stat_progress_vacuum 视图\"><code>pg_stat_progress_vacuum</code></a> 的 <code>indexes_total</code> 和 <code>indexes_processed</code> 列中。</p>", "text": "允许 vacuum 报告索引处理进度（Sami Imseih）§ 这显示在系统视图 pg_stat_progress_vacuum 的 indexes_total 和 indexes_processed 列中。", "title": "允许 vacuum 报告索引处理进度", "commits": ["46ebdfe16"], "section": "服务器 / 监控", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-MONITORING", "source_hash": "dd8e0f3197528258609dfe0022a57bef954c7b0484009a66e8fe0080c848fb24", "section_path": ["服务器", "监控"], "commit_groups": [["46ebdfe16"]], "identity_text": "Allow vacuum to report the progress of index processing (Sami Imseih) This appears in system view pg_stat_progress_vacuum columns indexes_total and indexes_processed.", "commit_aliases": ["46ebdfe16"], "source_commits": ["46ebdfe16"], "source_entry_id": "17.0/changes/030", "db_id": "c5c7cbdb59e6deed181907c953124138", "patch_ids": ["cafdf10d5ba59268c2e85d53aee580a0"], "statement_hash": "d23ac243a7bc5d546cf7df7711bfbc19cc0cd0c8e50d156dfcfd6e2a22e51987", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-4d8398c063d79d83", "cves": [], "html": "<p>允许授予执行维护操作的权限（Nathan Bossart）<a href=\"https://postgr.es/c/ecb0fd337\">§</a></p>\n<p>该权限可以通过 <a href=\"/docs/17/ddl-priv.html#DDL-PRIV-MAINTAIN\"><code>MAINTAIN</code></a> 权限按表授予，也可以通过预定义角色 <a href=\"/docs/17/predefined-roles.html\" title=\"21.5. 预定义角色\"><code>pg_maintain</code></a> 按角色授予。允许的操作包括 <code>VACUUM</code>、<code>ANALYZE</code>、<code>REINDEX</code>、<code>REFRESH MATERIALIZED VIEW</code>、<code>CLUSTER</code> 和 <code>LOCK TABLE</code>。</p>", "text": "允许授予执行维护操作的权限（Nathan Bossart）§ 该权限可以通过 MAINTAIN 权限按表授予，也可以通过预定义角色 pg_maintain 按角色授予。允许的操作包括 VACUUM、ANALYZE、REINDEX、REFRESH MATERIALIZED VIEW、CLUSTER 和 LOCK TABLE。", "title": "允许授予执行维护操作的权限", "commits": ["ecb0fd337"], "section": "服务器 / 权限", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-PRIVILEGES", "source_hash": "1d5e47f964ed6d3c4db011ee49c95929bb92fe66f0dc0079b44508d70c910573", "section_path": ["服务器", "权限"], "commit_groups": [["ecb0fd337"]], "identity_text": "Allow granting the right to perform maintenance operations (Nathan Bossart) The permission can be granted on a per-table basis using the MAINTAIN privilege and on a per-role basis via the pg_maintain predefined role. Permitted operations are VACUUM, ANALYZE, REINDEX, REFRESH MATERIALIZED VIEW, CLUSTER, and LOCK TABLE.", "commit_aliases": ["ecb0fd337"], "source_commits": ["ecb0fd337"], "source_entry_id": "17.0/changes/031", "db_id": "3c4ad5da1b8247231d399e670b07da7b", "patch_ids": ["aa0b503bc887127b8e5d3149c16e07e0"], "statement_hash": "fbeffe8eb5d4d5b6245edb61861482563d36590033be7d0d70030a552a3060a6", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-c36635dc495463b8", "cves": [], "html": "<p>允许拥有 <a href=\"/docs/17/predefined-roles.html\" title=\"21.5. 预定义角色\"><code>pg_monitor</code></a> 成员资格的角色执行 <a href=\"/docs/17/functions-info.html#FUNCTIONS-INFO-SESSION-TABLE\" title=\"表 9.69. 会话信息函数\"><code>pg_current_logfile()</code></a>（Pavlo Golub, Nathan Bossart）<a href=\"https://postgr.es/c/8d8afd48d\">§</a></p>", "text": "允许拥有 pg_monitor 成员资格的角色执行 pg_current_logfile()（Pavlo Golub, Nathan Bossart）§", "title": "允许拥有 pg_monitor 成员资格的角色执行 pg_current_logfile()", "commits": ["8d8afd48d"], "section": "服务器 / 权限", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-PRIVILEGES", "source_hash": "2d6c7cb9d2c173633f6483c902dd8d68d8d9c2a9a31987a180db5fcce92f59d6", "section_path": ["服务器", "权限"], "commit_groups": [["8d8afd48d"]], "identity_text": "Allow roles with pg_monitor membership to execute pg_current_logfile() (Pavlo Golub, Nathan Bossart)", "commit_aliases": ["8d8afd48d"], "source_commits": ["8d8afd48d"], "source_entry_id": "17.0/changes/032", "db_id": "be8e2a4581679bfeccefddd4e31fb152", "patch_ids": ["57582ff9912b3675cea8b711467c32f9"], "statement_hash": "4b700a41fc70986c9af65fcbfa4bc4b6947ef052353d2930f51bbbd63c125f38", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-5ba1de59b0d7de2a", "cves": [], "html": "<p>添加系统变量<a href=\"/docs/17/runtime-config-compatible.html#GUC-ALLOW-ALTER-SYSTEM\">allow_alter_system</a>，以禁止 <a href=\"/docs/17/sql-altersystem.html\" title=\"ALTER SYSTEM\"><code>ALTER SYSTEM</code></a>（Jelte Fennema-Nio, Gabriele Bartolini）<a href=\"https://postgr.es/c/d3ae2a24f\">§</a></p>", "text": "添加系统变量allow_alter_system，以禁止 ALTER SYSTEM（Jelte Fennema-Nio, Gabriele Bartolini）§", "title": "添加系统变量allow_alter_system，以禁止 ALTER SYSTEM", "commits": ["d3ae2a24f"], "section": "服务器 / 服务器配置", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-SERVER-CONFIG", "source_hash": "88f6127163180e0ee409226148bb35afa26ada14b246c3a228571a4ed17c822e", "section_path": ["服务器", "服务器配置"], "commit_groups": [["d3ae2a24f"]], "identity_text": "Add system variable guc-allow-alter-system to disallow ALTER SYSTEM (Jelte Fennema-Nio, Gabriele Bartolini)", "commit_aliases": ["d3ae2a24f"], "source_commits": ["d3ae2a24f"], "source_entry_id": "17.0/changes/033", "db_id": "335f4d3b5a3daa9f992752bf2706358a", "patch_ids": ["f07abd4c68f23ba492eb27978c766e3b"], "statement_hash": "a19a91db051058837f8011545c9f3ca2adc6e84f1672ee35bbaa8ab0a4d3c9b6", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-7915ee0b2bac2b4f", "cves": [], "html": "<p>允许 <a href=\"/docs/17/sql-altersystem.html\" title=\"ALTER SYSTEM\"><code>ALTER SYSTEM</code></a> 设置未识别的自定义服务器变量（Tom Lane）<a href=\"https://postgr.es/c/2d870b4ae\">§</a></p>\n<p>这也可以通过 <a href=\"/docs/17/sql-grant.html\" title=\"GRANT\"><code>GRANT ON PARAMETER</code></a> 实现。</p>", "text": "允许 ALTER SYSTEM 设置未识别的自定义服务器变量（Tom Lane）§ 这也可以通过 GRANT ON PARAMETER 实现。", "title": "允许 ALTER SYSTEM 设置未识别的自定义服务器变量", "commits": ["2d870b4ae"], "section": "服务器 / 服务器配置", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-SERVER-CONFIG", "source_hash": "5f355187378d93868a4a735da861f0b9756a645332b772d73b1a693de5a16923", "section_path": ["服务器", "服务器配置"], "commit_groups": [["2d870b4ae"]], "identity_text": "Allow ALTER SYSTEM to set unrecognized custom server variables (Tom Lane) This is also possible with GRANT ON PARAMETER.", "commit_aliases": ["2d870b4ae"], "source_commits": ["2d870b4ae"], "source_entry_id": "17.0/changes/034", "db_id": "18f85cfff077cc490ddbf8bbe52f2412", "patch_ids": ["0814af1fa093fb0ae26328d389428103"], "statement_hash": "81b4c4a9af4b2cc85dac9d6228b2b19809d7bf4f1c7c31ea9113f4c316922600", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-0efb5f0f3651ed18", "cves": [], "html": "<p>添加服务器变量<a href=\"/docs/17/runtime-config-client.html#GUC-TRANSACTION-TIMEOUT\">transaction_timeout</a>，以限制事务持续时间（Andrey Borodin, Japin Li, Junwang Zhao, Alexander Korotkov）<a href=\"https://postgr.es/c/51efe38cb\">§</a> <a href=\"https://postgr.es/c/bf82f4379\">§</a> <a href=\"https://postgr.es/c/28e858c0f\">§</a></p>", "text": "添加服务器变量transaction_timeout，以限制事务持续时间（Andrey Borodin, Japin Li, Junwang Zhao, Alexander Korotkov）§ § §", "title": "添加服务器变量transaction_timeout，以限制事务持续时间", "commits": ["28e858c0f", "51efe38cb", "bf82f4379"], "section": "服务器 / 服务器配置", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-SERVER-CONFIG", "source_hash": "7efb34482473dc8d860ad251f06b16387566a0c5cecbacc45c4847699d4eca42", "section_path": ["服务器", "服务器配置"], "commit_groups": [["28e858c0f"], ["51efe38cb"], ["bf82f4379"]], "identity_text": "Add server variable guc-transaction-timeout to restrict the duration of transactions (Andrey Borodin, Japin Li, Junwang Zhao, Alexander Korotkov)", "commit_aliases": ["28e858c0f", "51efe38cb", "bf82f4379"], "source_commits": ["28e858c0f", "51efe38cb", "bf82f4379"], "source_entry_id": "17.0/changes/035", "db_id": "718259631ded99b83361d9b63bd7fc36", "patch_ids": ["0c1e32e9c9b95597272ee20eaf39589f", "87004e34539666104318fc5a57fe0afa", "ffd30a9d40012c5126cd91352005d8de"], "statement_hash": "72d219d30d9e9405506944e5452bf1f7437dd8c634c2e7e22989da39ad97a388", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-e062739079980155", "cves": [], "html": "<p>添加内置的平台无关排序规则提供者（Jeff Davis）<a href=\"https://postgr.es/c/2d819a08a\">§</a> <a href=\"https://postgr.es/c/846311051\">§</a> <a href=\"https://postgr.es/c/f69319f2f\">§</a> <a href=\"https://postgr.es/c/9acae56ce\">§</a></p>\n<p>这支持 <code>C</code> 和 <code>C.UTF-8</code> 排序规则。</p>", "text": "添加内置的平台无关排序规则提供者（Jeff Davis）§ § § § 这支持 C 和 C.UTF-8 排序规则。", "title": "添加内置的平台无关排序规则提供者", "commits": ["2d819a08a", "846311051", "9acae56ce", "f69319f2f"], "section": "服务器 / 服务器配置", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-SERVER-CONFIG", "source_hash": "15e2a4736d4126ffb9a59333bece9b7c6bb80c6464d093d609cead3be54ea0bc", "section_path": ["服务器", "服务器配置"], "commit_groups": [["2d819a08a"], ["846311051"], ["9acae56ce"], ["f69319f2f"]], "identity_text": "Add a builtin platform-independent collation provider (Jeff Davis) This supports C and C.UTF-8 collations.", "commit_aliases": ["2d819a08a", "846311051", "9acae56ce", "f69319f2f"], "source_commits": ["2d819a08a", "846311051", "9acae56ce", "f69319f2f"], "source_entry_id": "17.0/changes/036", "db_id": "80852fc36fa7987f1b089fc75f650204", "patch_ids": ["77be7335caaca5f9f06322d0797dda16", "81b6c4acbac9af2cc2bfef96cfd4b979", "c6ec2a1be78682d39fea62d97b958f98", "d64c324506fdd1d1f8e1dd79d3f4cfbe"], "statement_hash": "fbdf39f367ad8a7a21b34d7dc4dc5678b7f15eb4badce77f508c44b61e86d345", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-21b14577a5530135", "cves": [], "html": "<p>添加服务器变量<a href=\"/docs/17/runtime-config-preset.html#GUC-HUGE-PAGES-STATUS\">huge_pages_status</a>，用于报告 Postgres 对 huge pages 的使用情况（Justin Pryzby）<a href=\"https://postgr.es/c/a14354cac\">§</a></p>\n<p>当<a href=\"/docs/17/runtime-config-resource.html#GUC-HUGE-PAGES\">huge_pages</a>设置为 <code>try</code> 时，这很有用。</p>", "text": "添加服务器变量huge_pages_status，用于报告 Postgres 对 huge pages 的使用情况（Justin Pryzby）§ 当huge_pages设置为 try 时，这很有用。", "title": "添加服务器变量huge_pages_status，用于报告 Postgres 对 huge pages 的使用情况", "commits": ["a14354cac"], "section": "服务器 / 服务器配置", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-SERVER-CONFIG", "source_hash": "122def5713c23eca2319d4626106646ed060bb64889d75fb851f397cb0ca7aff", "section_path": ["服务器", "服务器配置"], "commit_groups": [["a14354cac"]], "identity_text": "Add server variable guc-huge-pages-status to report the use of huge pages by Postgres (Justin Pryzby) This is useful when guc-huge-pages is set to try.", "commit_aliases": ["a14354cac"], "source_commits": ["a14354cac"], "source_entry_id": "17.0/changes/037", "db_id": "586987595a4170d7f74933b5f5dd5a46", "patch_ids": ["89c68b0b4082f533e10998c466dd35b6"], "statement_hash": "9a20765c86381cbf363b707e1acc20d471444cfb30caed24a1ba11b2246d2dd7", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-731c9e8a5142f36d", "cves": [], "html": "<p>添加用于禁用事件触发器的服务器变量（Daniel Gustafsson）<a href=\"https://postgr.es/c/7750fefdb\">§</a></p>\n<p>该设置<a href=\"/docs/17/runtime-config-client.html#GUC-EVENT-TRIGGERS\">event_triggers</a>允许为调试目的临时禁用事件触发器。</p>", "text": "添加用于禁用事件触发器的服务器变量（Daniel Gustafsson）§ 该设置event_triggers允许为调试目的临时禁用事件触发器。", "title": "添加用于禁用事件触发器的服务器变量", "commits": ["7750fefdb"], "section": "服务器 / 服务器配置", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-SERVER-CONFIG", "source_hash": "ce85c487050389af10d7375dba26b6b3636e76b8910d87d57f2ee1733b61b1e3", "section_path": ["服务器", "服务器配置"], "commit_groups": [["7750fefdb"]], "identity_text": "Add server variable to disable event triggers (Daniel Gustafsson) The setting, guc-event-triggers , allows for the temporary disabling of event triggers for debugging.", "commit_aliases": ["7750fefdb"], "source_commits": ["7750fefdb"], "source_entry_id": "17.0/changes/038", "db_id": "4b72618efd9956e3f676b7b80a796d3f", "patch_ids": ["8a7e47813e342e8c2228ebfe7fb76262"], "statement_hash": "a78fa35cf15a5c3a4d0f75d835c41c9257e8b5eff0454787a9a089070f104ae2", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-f4a8d2364b8c4112", "cves": [], "html": "<p>允许配置 <a href=\"/docs/17/monitoring-stats.html#MONITORING-PG-STAT-SLRU-VIEW\" title=\"27.2.25. pg_stat_slru\"><acronym>SLRU</acronym></a> 缓存大小（Andrey Borodin, Dilip Kumar, Alvaro Herrera）<a href=\"https://postgr.es/c/53c2a97a9\">§</a></p>\n<p>新的服务器变量包括<a href=\"/docs/17/runtime-config-resource.html#GUC-COMMIT-TIMESTAMP-BUFFERS\">commit_timestamp_buffers</a>、<a href=\"/docs/17/runtime-config-resource.html#GUC-MULTIXACT-MEMBER-BUFFERS\">multixact_member_buffers</a>、<a href=\"/docs/17/runtime-config-resource.html#GUC-MULTIXACT-OFFSET-BUFFERS\">multixact_offset_buffers</a>、<a href=\"/docs/17/runtime-config-resource.html#GUC-NOTIFY-BUFFERS\">notify_buffers</a>、<a href=\"/docs/17/runtime-config-resource.html#GUC-SERIALIZABLE-BUFFERS\">serializable_buffers</a>、<a href=\"/docs/17/runtime-config-resource.html#GUC-SUBTRANSACTION-BUFFERS\">subtransaction_buffers</a>和<a href=\"/docs/17/runtime-config-resource.html#GUC-TRANSACTION-BUFFERS\">transaction_buffers</a>。<a href=\"/docs/17/runtime-config-resource.html#GUC-COMMIT-TIMESTAMP-BUFFERS\">commit_timestamp_buffers</a>、<a href=\"/docs/17/runtime-config-resource.html#GUC-TRANSACTION-BUFFERS\">transaction_buffers</a>以及<a href=\"/docs/17/runtime-config-resource.html#GUC-SUBTRANSACTION-BUFFERS\">subtransaction_buffers</a>会随着<a href=\"/docs/17/runtime-config-resource.html#GUC-SHARED-BUFFERS\">shared_buffers</a>自动扩展。</p>", "text": "允许配置 SLRU 缓存大小（Andrey Borodin, Dilip Kumar, Alvaro Herrera）§ 新的服务器变量包括commit_timestamp_buffers、multixact_member_buffers、multixact_offset_buffers、notify_buffers、serializable_buffers、subtransaction_buffers和transaction_buffers。commit_timestamp_buffers、transaction_buffers以及subtransaction_buffers会随着shared_buffers自动扩展。", "title": "允许配置 SLRU 缓存大小", "commits": ["53c2a97a9"], "section": "服务器 / 服务器配置", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-SERVER-CONFIG", "source_hash": "6882b1afc0cfb0edf0a305155b1bfeee49505c75e159d2908fe7dded3370087d", "section_path": ["服务器", "服务器配置"], "commit_groups": [["53c2a97a9"]], "identity_text": "Allow the SLRU cache sizes to be configured (Andrey Borodin, Dilip Kumar, Alvaro Herrera) The new server variables are guc-commit-timestamp-buffers , guc-multixact-member-buffers , guc-multixact-offset-buffers , guc-notify-buffers , guc-serializable-buffers , guc-subtransaction-buffers , and guc-transaction-buffers . guc-commit-timestamp-buffers , guc-transaction-buffers , and guc-subtransaction-buffers scale up automatically with guc-shared-buffers .", "commit_aliases": ["53c2a97a9"], "source_commits": ["53c2a97a9"], "source_entry_id": "17.0/changes/039", "db_id": "054128c86cceaeccedc6fb785d67772f", "patch_ids": ["d22fe7881bafeca870baef76553a72ff"], "statement_hash": "7b33810afb851570f8c712e0489c6284bff4903bfc6947e2ceae3d857387e453", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-9e98f7b93fb6d8ea", "cves": [], "html": "<p>添加对增量文件系统备份的支持（Robert Haas, Jakub Wartak, Tomas Vondra）<a href=\"https://postgr.es/c/dc2123400\">§</a> <a href=\"https://postgr.es/c/f8ce4ed78\">§</a></p>\n<p>可使用<a href=\"/docs/17/app-pgbasebackup.html\" title=\"pg_basebackup\"><span>pg_basebackup</span></a>的新 <code>--incremental</code> 选项创建增量备份。新的应用程序<a href=\"/docs/17/app-pgcombinebackup.html\" title=\"pg_combinebackup\"><span>pg_combinebackup</span></a>允许处理基础和增量文件系统备份。</p>", "text": "添加对增量文件系统备份的支持（Robert Haas, Jakub Wartak, Tomas Vondra）§ § 可使用pg_basebackup的新 --incremental 选项创建增量备份。新的应用程序pg_combinebackup允许处理基础和增量文件系统备份。", "title": "添加对增量文件系统备份的支持", "commits": ["dc2123400", "f8ce4ed78"], "section": "服务器 / 流复制与恢复", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-REPLICATION", "source_hash": "53d4d6706e095584dad9b5a2c18559f1d8203b3a29895b8f3731da02db40d59c", "section_path": ["服务器", "流复制与恢复"], "commit_groups": [["dc2123400"], ["f8ce4ed78"]], "identity_text": "Add support for incremental file system backup (Robert Haas, Jakub Wartak, Tomas Vondra) Incremental backups can be created using pg_basebackup's new --incremental option. The new application pg_combinebackup allows manipulation of base and incremental file system backups.", "commit_aliases": ["dc2123400", "f8ce4ed78"], "source_commits": ["dc2123400", "f8ce4ed78"], "source_entry_id": "17.0/changes/040", "db_id": "908cc33787f32c9dcd434c9726b2a90a", "patch_ids": ["141a067a67701032cf5092dd3dabd2d3", "3a11cab0d645672e4c0425fc530066ea"], "statement_hash": "76b76f7c699fb0ae8c99f721ad1e57cd1f5f3d11b1b1dc8d260d95046b38e08a", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-d8db67c4766dcbd2", "cves": [], "html": "<p>允许创建 <acronym>WAL</acronym> 摘要文件（Robert Haas, Nathan Bossart, Hubert Depesz Lubaczewski）<a href=\"https://postgr.es/c/174c48050\">§</a> <a href=\"https://postgr.es/c/d97ef756a\">§</a> <a href=\"https://postgr.es/c/f896057e4\">§</a> <a href=\"https://postgr.es/c/d9ef650fc\">§</a></p>\n<p>这些文件记录某个 <a href=\"/docs/17/datatype-pg-lsn.html\" title=\"8.20. pg_lsn 类型\"><acronym>LSN</acronym></a> 范围内发生变化的块号，对增量文件系统备份很有用。这由服务器变量<a href=\"/docs/17/runtime-config-wal.html#GUC-SUMMARIZE-WAL\">summarize_wal</a>和<a href=\"/docs/17/runtime-config-wal.html#GUC-WAL-SUMMARY-KEEP-TIME\">wal_summary_keep_time</a>控制，并可通过 <a href=\"/docs/17/functions-info.html#FUNCTIONS-WAL-SUMMARY\" title=\"表 9.92. WAL 汇总信息函数\"><code>pg_available_wal_summaries()</code></a>、<code>pg_wal_summary_contents()</code> 和 <code>pg_get_wal_summarizer_state()</code> 进行查看。</p>", "text": "允许创建 WAL 摘要文件（Robert Haas, Nathan Bossart, Hubert Depesz Lubaczewski）§ § § § 这些文件记录某个 LSN 范围内发生变化的块号，对增量文件系统备份很有用。这由服务器变量summarize_wal和wal_summary_keep_time控制，并可通过 pg_available_wal_summaries()、pg_wal_summary_contents() 和 pg_get_wal_summarizer_state() 进行查看。", "title": "允许创建 WAL 摘要文件", "commits": ["174c48050", "d97ef756a", "d9ef650fc", "f896057e4"], "section": "服务器 / 流复制与恢复", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-REPLICATION", "source_hash": "e957080e4a8ff4a994bf36bded8570d4e66a1f39225fc5ab1c66c981d9fa3797", "section_path": ["服务器", "流复制与恢复"], "commit_groups": [["174c48050"], ["d97ef756a"], ["d9ef650fc"], ["f896057e4"]], "identity_text": "Allow the creation of WAL summarization files (Robert Haas, Nathan Bossart, Hubert Depesz Lubaczewski) These files record the block numbers that have changed within an LSN range and are useful for incremental file system backups. This is controlled by the server variables guc-summarize-wal and guc-wal-summary-keep-time , and introspected with pg_available_wal_summaries(), pg_wal_summary_contents(), and pg_get_wal_summarizer_state().", "commit_aliases": ["174c48050", "d97ef756a", "d9ef650fc", "f896057e4"], "source_commits": ["174c48050", "d97ef756a", "d9ef650fc", "f896057e4"], "source_entry_id": "17.0/changes/041", "db_id": "3cfae481b9dc3952fd1d2d10c2226677", "patch_ids": ["0af30f6d76f12ddff15d80cbf3011abd", "33f4516b6fa2cf93517d67160d2141ba", "4872bf1a258073370c7c0f5e333d405b", "8e2191b43c1299f8168150eaebfcc93f"], "statement_hash": "36d2ae84e4b827b48279c35dd15f6e680f1ee0571436c70ceca91d3823845a52", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-c087b4f1d9cedbdb", "cves": [], "html": "<p>将系统标识符添加到文件系统 <a href=\"/docs/17/backup-manifest-format.html\" title=\"第 69 章 备份清单格式\">backup manifest</a> 文件中（Amul Sul）<a href=\"https://postgr.es/c/2041bc427\">§</a></p>\n<p>这有助于检测无效的 <acronym>WAL</acronym> 使用。</p>", "text": "将系统标识符添加到文件系统 backup manifest 文件中（Amul Sul）§ 这有助于检测无效的 WAL 使用。", "title": "将系统标识符添加到文件系统 backup manifest 文件中", "commits": ["2041bc427"], "section": "服务器 / 流复制与恢复", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-REPLICATION", "source_hash": "39983d93905cbdf2473bf697e5107733e558dee8ca0ba47c7ab7360dd505aa78", "section_path": ["服务器", "流复制与恢复"], "commit_groups": [["2041bc427"]], "identity_text": "Add the system identifier to file system backup manifest files (Amul Sul) This helps detect invalid WAL usage.", "commit_aliases": ["2041bc427"], "source_commits": ["2041bc427"], "source_entry_id": "17.0/changes/042", "db_id": "6e2a2dd91621a281b6443f6be9448cdf", "patch_ids": ["52e80dff2dc717149b68413fccf953b2"], "statement_hash": "2e6e5badf7c93a9f7c90153ea649e08320978b670481f36c4cdc885137c0f6dd", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-153d175118664d9f", "cves": [], "html": "<p>允许在<a href=\"/docs/17/app-pgbasebackup.html\" title=\"pg_basebackup\"><span>pg_basebackup</span></a>将连接信息写入 <code>postgresql.auto.conf</code> 时写入连接字符串值 <code>dbname</code>（Vignesh C, Hayato Kuroda）<a href=\"https://postgr.es/c/a145f424d\">§</a></p>", "text": "允许在pg_basebackup将连接信息写入 postgresql.auto.conf 时写入连接字符串值 dbname（Vignesh C, Hayato Kuroda）§", "title": "允许在pg_basebackup将连接信息写入 postgresql.auto.conf 时写入连接字符串值 dbname", "commits": ["a145f424d"], "section": "服务器 / 流复制与恢复", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-REPLICATION", "source_hash": "f5a4189f6ac58a70012aeb1c9a3ae0f4f7b551fa57b3ad15025326d9d6fd83e2", "section_path": ["服务器", "流复制与恢复"], "commit_groups": [["a145f424d"]], "identity_text": "Allow connection string value dbname to be written when pg_basebackup writes connection information to postgresql.auto.conf (Vignesh C, Hayato Kuroda)", "commit_aliases": ["a145f424d"], "source_commits": ["a145f424d"], "source_entry_id": "17.0/changes/043", "db_id": "df5b4c592c2663c6b6b2966294706337", "patch_ids": ["8a96c256ee8468512b69f6e4ee3bcbdd"], "statement_hash": "64810eaaeb8732246523d4b5acee711061833d0ccf9fdd227710930a3cdaaff0", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-636aaa579a0d8881", "cves": [], "html": "<p>添加列 <a href=\"/docs/17/view-pg-replication-slots.html\" title=\"52.19. pg_replication_slots\"><code>pg_replication_slots</code>.<code>invalidation_reason</code></a>，用于报告复制槽失效的原因（Shveta Malik, Bharath Rupireddy）<a href=\"https://postgr.es/c/007693f2a\">§</a> <a href=\"https://postgr.es/c/6ae701b43\">§</a></p>", "text": "添加列 pg_replication_slots.invalidation_reason，用于报告复制槽失效的原因（Shveta Malik, Bharath Rupireddy）§ §", "title": "添加列 pg_replication_slots.invalidation_reason，用于报告复制槽失效的原因", "commits": ["007693f2a", "6ae701b43"], "section": "服务器 / 流复制与恢复", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-REPLICATION", "source_hash": "b4d50c607aa978eeb579c940d2b9a4202a4f79fce246f9395d39eb3c77613e30", "section_path": ["服务器", "流复制与恢复"], "commit_groups": [["007693f2a"], ["6ae701b43"]], "identity_text": "Add column pg_replication_slots.invalidation_reason to report the reason for invalid slots (Shveta Malik, Bharath Rupireddy)", "commit_aliases": ["007693f2a", "6ae701b43"], "source_commits": ["007693f2a", "6ae701b43"], "source_entry_id": "17.0/changes/044", "db_id": "bd3061007fc673bf70970dfbfeb55d08", "patch_ids": ["14f1da7973359b39660fcfe59ff48cc3", "9d580829a5809c9b9aefa1a05bfa78db"], "statement_hash": "aa758625648221fad436441c83da92b6802fa94fe1303ac6dd667c9398f11d3c", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-b088c75f386ad793", "cves": [], "html": "<p>添加列 <a href=\"/docs/17/view-pg-replication-slots.html\" title=\"52.19. pg_replication_slots\"><code>pg_replication_slots</code>.<code>inactive_since</code></a>，用于报告复制槽的不活动持续时间（Bharath Rupireddy）<a href=\"https://postgr.es/c/a11f330b5\">§</a> <a href=\"https://postgr.es/c/6d49c8d4b\">§</a> <a href=\"https://postgr.es/c/6f132ed69\">§</a></p>", "text": "添加列 pg_replication_slots.inactive_since，用于报告复制槽的不活动持续时间（Bharath Rupireddy）§ § §", "title": "添加列 pg_replication_slots.inactive_since，用于报告复制槽的不活动持续时间", "commits": ["6d49c8d4b", "6f132ed69", "a11f330b5"], "section": "服务器 / 流复制与恢复", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-REPLICATION", "source_hash": "fb1f343a4366739955feb77a80da72ed28de6d0979ac730dcb05d7746ebc9136", "section_path": ["服务器", "流复制与恢复"], "commit_groups": [["6d49c8d4b"], ["6f132ed69"], ["a11f330b5"]], "identity_text": "Add column pg_replication_slots.inactive_since to report slot inactivity duration (Bharath Rupireddy)", "commit_aliases": ["6d49c8d4b", "6f132ed69", "a11f330b5"], "source_commits": ["6d49c8d4b", "6f132ed69", "a11f330b5"], "source_entry_id": "17.0/changes/045", "db_id": "126a2f45e2604951effe4cbcfe0a23b7", "patch_ids": ["2f2378cce9a4797a2821d495a96f9801", "6fcb3b366bb79fbb49a97982b1a2fc2b", "73c9f29784a3a938138ec4941147cfcf"], "statement_hash": "8c48bbb47f1e02c7dc5505daf8f2c291f211ce76a8c9e6ae6e8e7fde8a5c69ae", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-2cb5d647382b4800", "cves": [], "html": "<p>添加函数 <a href=\"/docs/17/functions-admin.html#FUNCTIONS-REPLICATION-TABLE\" title=\"表 9.99. 复制管理函数\"><code>pg_sync_replication_slots()</code></a>，用于同步逻辑复制槽（Hou Zhijie, Shveta Malik, Ajin Cherian, Peter Eisentraut）<a href=\"https://postgr.es/c/ddd5f4f54\">§</a> <a href=\"https://postgr.es/c/7a424ece4\">§</a></p>", "text": "添加函数 pg_sync_replication_slots()，用于同步逻辑复制槽（Hou Zhijie, Shveta Malik, Ajin Cherian, Peter Eisentraut）§ §", "title": "添加函数 pg_sync_replication_slots()，用于同步逻辑复制槽", "commits": ["7a424ece4", "ddd5f4f54"], "section": "服务器 / 流复制与恢复", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-REPLICATION", "source_hash": "b5fed7c2c4c64ce67b18c6f50300e9f3b7f9aa301d650bfd4939c1e7ba82c9ce", "section_path": ["服务器", "流复制与恢复"], "commit_groups": [["7a424ece4"], ["ddd5f4f54"]], "identity_text": "Add function pg_sync_replication_slots() to synchronize logical replication slots (Hou Zhijie, Shveta Malik, Ajin Cherian, Peter Eisentraut)", "commit_aliases": ["7a424ece4", "ddd5f4f54"], "source_commits": ["7a424ece4", "ddd5f4f54"], "source_entry_id": "17.0/changes/046", "db_id": "c8c655e14dfb4508100100546aec9853", "patch_ids": ["022fd912ba37827f2bcb9d18044894e2", "4c4b9c78e0e2b2d68645e7cbcc7f4481"], "statement_hash": "2d60afa777919cda9a60602da42951ed7b67aa6c9c464e127ff1e1c6c6b344b4", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-68d1331960696226", "cves": [], "html": "<p>为<a href=\"/docs/17/protocol-replication.html\" title=\"53.4. 流复制协议\">复制协议</a>添加 <code>failover</code> 属性（Hou Zhijie, Shveta Malik）<a href=\"https://postgr.es/c/732924043\">§</a></p>", "text": "为复制协议添加 failover 属性（Hou Zhijie, Shveta Malik）§", "title": "为复制协议添加 failover 属性", "commits": ["732924043"], "section": "服务器 / 流复制与恢复", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-REPLICATION", "source_hash": "829081c25bfc7a772b12a699f3842754e7d9fd439216f5f3fd71c5e06a225f39", "section_path": ["服务器", "流复制与恢复"], "commit_groups": [["732924043"]], "identity_text": "Add the failover property to the replication protocol (Hou Zhijie, Shveta Malik)", "commit_aliases": ["732924043"], "source_commits": ["732924043"], "source_entry_id": "17.0/changes/047", "db_id": "317f0c30f6256158bebb45c7506802f7", "patch_ids": ["1051164f270319e76a0f1b5c258ff8ad"], "statement_hash": "a8f3ae3b1baea1a639b8ad1a9b0a8e51a9ee7511bf96da1149f50ce8d74c74ea", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-a8e9fc312b39a889", "cves": [], "html": "<p>添加应用程序<a href=\"/docs/17/app-pgcreatesubscriber.html\" title=\"pg_createsubscriber\"><span>pg_createsubscriber</span></a>，用于从物理备库创建逻辑副本（Euler Taveira）<a href=\"https://postgr.es/c/d44032d01\">§</a></p>", "text": "添加应用程序pg_createsubscriber，用于从物理备库创建逻辑副本（Euler Taveira）§", "title": "添加应用程序pg_createsubscriber，用于从物理备库创建逻辑副本", "commits": ["d44032d01"], "section": "服务器 / 逻辑复制", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-LOGICAL", "source_hash": "466936f38be5f58de7511dcc6b9a38a2fa7ce4b6f585b83aeb6d6174060b0bee", "section_path": ["服务器", "逻辑复制"], "commit_groups": [["d44032d01"]], "identity_text": "Add application pg_createsubscriber to create a logical replica from a physical standby server (Euler Taveira)", "commit_aliases": ["d44032d01"], "source_commits": ["d44032d01"], "source_entry_id": "17.0/changes/048", "db_id": "25c38f5599c3ec62c0eeea763de804ba", "patch_ids": ["47f654ff6a5b0bbd918666de657a7f51"], "statement_hash": "81c9adee62ba1074dc6668d92855ea2f6c0131be9bd0c7162eacdc94aaebb777", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-676ce7ec9d3c36a0", "cves": [], "html": "<p>让<a href=\"/docs/17/pgupgrade.html\" title=\"pg_upgrade\"><span>pg_upgrade</span></a>迁移有效的逻辑槽和订阅（Hayato Kuroda, Hou Zhijie, Vignesh C, Julien Rouhaud, Shlok Kyal）<a href=\"https://postgr.es/c/29d0a77fa\">§</a> <a href=\"https://postgr.es/c/9a17be1e2\">§</a></p>\n<p>这使逻辑复制能够在升级后快速继续。此功能仅适用于版本为 17 或更高的旧 <span>PostgreSQL</span> 集簇。</p>", "text": "让pg_upgrade迁移有效的逻辑槽和订阅（Hayato Kuroda, Hou Zhijie, Vignesh C, Julien Rouhaud, Shlok Kyal）§ § 这使逻辑复制能够在升级后快速继续。此功能仅适用于版本为 17 或更高的旧 PostgreSQL 集簇。", "title": "让pg_upgrade迁移有效的逻辑槽和订阅", "commits": ["29d0a77fa", "9a17be1e2"], "section": "服务器 / 逻辑复制", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-LOGICAL", "source_hash": "54eeccdb18fb7fd67a8f61d23a838b094fd46401996f83cb044a29d7eaf1a0ee", "section_path": ["服务器", "逻辑复制"], "commit_groups": [["29d0a77fa"], ["9a17be1e2"]], "identity_text": "Have pg_upgrade migrate valid logical slots and subscriptions (Hayato Kuroda, Hou Zhijie, Vignesh C, Julien Rouhaud, Shlok Kyal) This allows logical replication to continue quickly after the upgrade. This only works for old PostgreSQL clusters that are version 17 or later.", "commit_aliases": ["29d0a77fa", "9a17be1e2"], "source_commits": ["29d0a77fa", "9a17be1e2"], "source_entry_id": "17.0/changes/049", "db_id": "e7e439b9160cab86c5bf72fcd5dc5ffd", "patch_ids": ["46c515d821dc69b7fb156f5163a38761", "79d297e1202815a7d2282b5617914920"], "statement_hash": "46e644aff19fc32497f2502ae839da451b4b9e32e84dbac888aa1709a3b79c77", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-392db410b758d878", "cves": [], "html": "<p>启用<a href=\"/docs/17/logical-replication-subscription.html#LOGICAL-REPLICATION-SUBSCRIPTION-SLOT\" title=\"29.2.1. 复制槽管理\">逻辑槽</a>的故障切换（Hou Zhijie, Shveta Malik, Ajin Cherian）<a href=\"https://postgr.es/c/c393308b6\">§</a></p>\n<p>这由 <a href=\"/docs/17/functions-admin.html#FUNCTIONS-REPLICATION-TABLE\" title=\"表 9.99. 复制管理函数\"><code>pg_create_logical_replication_slot()</code></a> 的可选第五个参数控制。</p>", "text": "启用逻辑槽的故障切换（Hou Zhijie, Shveta Malik, Ajin Cherian）§ 这由 pg_create_logical_replication_slot() 的可选第五个参数控制。", "title": "启用逻辑槽的故障切换", "commits": ["c393308b6"], "section": "服务器 / 逻辑复制", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-LOGICAL", "source_hash": "6c09d40ce378d69cf1f5bda41d75d34a0ca025cff0ed4c9ff925c761c0a5e4a0", "section_path": ["服务器", "逻辑复制"], "commit_groups": [["c393308b6"]], "identity_text": "Enable the failover of logical slots (Hou Zhijie, Shveta Malik, Ajin Cherian) This is controlled by an optional fifth argument to pg_create_logical_replication_slot().", "commit_aliases": ["c393308b6"], "source_commits": ["c393308b6"], "source_entry_id": "17.0/changes/050", "db_id": "c4939635a2188cada37a365eaa1e2af1", "patch_ids": ["1d32c3e59369bcbe8de6d58ee2057c83"], "statement_hash": "22c84998971757d8e8e83c67a5d40bf26af401f87faf85fd76fde6184431a93b", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-a62654c344e7d77e", "cves": [], "html": "<p>添加服务器变量<a href=\"/docs/17/runtime-config-replication.html#GUC-SYNC-REPLICATION-SLOTS\">sync_replication_slots</a>，以启用故障切换逻辑槽同步（Shveta Malik, Hou Zhijie, Peter Smith）<a href=\"https://postgr.es/c/93db6cbda\">§</a> <a href=\"https://postgr.es/c/60c07820d\">§</a></p>", "text": "添加服务器变量sync_replication_slots，以启用故障切换逻辑槽同步（Shveta Malik, Hou Zhijie, Peter Smith）§ §", "title": "添加服务器变量sync_replication_slots，以启用故障切换逻辑槽同步", "commits": ["60c07820d", "93db6cbda"], "section": "服务器 / 逻辑复制", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-LOGICAL", "source_hash": "3b6b45c237569e305b5434b96d85bb7e0a91f8b2bc4067bf571e88ea587db648", "section_path": ["服务器", "逻辑复制"], "commit_groups": [["60c07820d"], ["93db6cbda"]], "identity_text": "Add server variable guc-sync-replication-slots to enable failover logical slot synchronization (Shveta Malik, Hou Zhijie, Peter Smith)", "commit_aliases": ["60c07820d", "93db6cbda"], "source_commits": ["60c07820d", "93db6cbda"], "source_entry_id": "17.0/changes/051", "db_id": "8c343eb28e4f2f35de4c934ed2d348dd", "patch_ids": ["b4ecc525dca1d03b2e5b4a1d18beee57", "fba3bec073133d9593881abc45607059"], "statement_hash": "7b1e99545e49529033cf741fef92e78b2ae8dec03c1ed72c0043d42df9329e2b", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-1ba2eafc920bdbc5", "cves": [], "html": "<p>为 <a href=\"/docs/17/sql-createsubscription.html\" title=\"CREATE SUBSCRIPTION\"><code>CREATE/ALTER SUBSCRIPTION</code></a> 添加逻辑复制故障切换控制（Shveta Malik, Hou Zhijie, Ajin Cherian）<a href=\"https://postgr.es/c/776621a5e\">§</a> <a href=\"https://postgr.es/c/22f7e61a6\">§</a></p>", "text": "为 CREATE/ALTER SUBSCRIPTION 添加逻辑复制故障切换控制（Shveta Malik, Hou Zhijie, Ajin Cherian）§ §", "title": "为 CREATE/ALTER SUBSCRIPTION 添加逻辑复制故障切换控制", "commits": ["22f7e61a6", "776621a5e"], "section": "服务器 / 逻辑复制", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-LOGICAL", "source_hash": "fba0b70d11bac81e64da7d9adec10f23720705b03184510436eeccdc310280f9", "section_path": ["服务器", "逻辑复制"], "commit_groups": [["22f7e61a6"], ["776621a5e"]], "identity_text": "Add logical replication failover control to CREATE/ALTER SUBSCRIPTION (Shveta Malik, Hou Zhijie, Ajin Cherian)", "commit_aliases": ["22f7e61a6", "776621a5e"], "source_commits": ["22f7e61a6", "776621a5e"], "source_entry_id": "17.0/changes/052", "db_id": "b57b9d35ac49f1dad946caf43d44dccb", "patch_ids": ["1c86d4f80cf36b4ce2a250316d3ebbbb", "ec1cbeb637f1dbbdbee28255309d0095"], "statement_hash": "63f4112091a51dcc31b95c347053bafb3bf1cf99ffe39167b06483b874e87637", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-1dc2d47442902d7d", "cves": [], "html": "<p>允许逻辑复制变更的应用在订阅端使用 <a href=\"/docs/17/hash-index.html\" title=\"64.6. Hash 索引\">hash</a> 索引（Hayato Kuroda）<a href=\"https://postgr.es/c/edca34243\">§</a></p>\n<p>以前只有 <a href=\"/docs/17/btree.html\" title=\"64.1. B-树索引\">B-树</a>索引可用于此目的。</p>", "text": "允许逻辑复制变更的应用在订阅端使用 hash 索引（Hayato Kuroda）§ 以前只有 B-树索引可用于此目的。", "title": "允许逻辑复制变更的应用在订阅端使用 hash 索引", "commits": ["edca34243"], "section": "服务器 / 逻辑复制", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-LOGICAL", "source_hash": "52806172c8b6b609ed02f1b2331d1102a79c1f1a6a976e074e106a8f623b4840", "section_path": ["服务器", "逻辑复制"], "commit_groups": [["edca34243"]], "identity_text": "Allow the application of logical replication changes to use hash indexes on the subscriber (Hayato Kuroda) Previously only btree indexes could be used for this purpose.", "commit_aliases": ["edca34243"], "source_commits": ["edca34243"], "source_entry_id": "17.0/changes/053", "db_id": "76c2b77af322eb64cca203b894ae4987", "patch_ids": ["351f3ecff1d2ec06824ce82da89bc8e7"], "statement_hash": "643d4371972dca0ee68c4fbe7f82ef7dfa333aa939596a5e3f11c623ad9724a0", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-01dbae7271ee7b5d", "cves": [], "html": "<p>改进在存在大量子事务时<a href=\"/docs/17/logicaldecoding.html\" title=\"第 47 章 逻辑解码\">逻辑解码</a>的性能（Masahiko Sawada）<a href=\"https://postgr.es/c/5bec1d6bc\">§</a></p>", "text": "改进在存在大量子事务时逻辑解码的性能（Masahiko Sawada）§", "title": "改进在存在大量子事务时逻辑解码的性能", "commits": ["5bec1d6bc"], "section": "服务器 / 逻辑复制", "category": "performance", "source_url": "/docs/release/17.0/#RELEASE-17-LOGICAL", "source_hash": "907b0bb80ba99cfe8b07a8ecdc8cac23e9cd50d50d62860fbc58de910fd10091", "section_path": ["服务器", "逻辑复制"], "commit_groups": [["5bec1d6bc"]], "identity_text": "Improve logical decoding performance in cases where there are many subtransactions (Masahiko Sawada)", "commit_aliases": ["5bec1d6bc"], "source_commits": ["5bec1d6bc"], "source_entry_id": "17.0/changes/054", "db_id": "13e9e56d75399c0a3d2a68e52c334106", "patch_ids": ["3790ad2bce6b204989db4719e2fe2d72"], "statement_hash": "72c2381cddbfa5a317e6d3bbf449f9d9c82a35ed6b428c4b5f6d7a262eb800ec", "relations": [], "version": "17.0", "category_label": "性能改进", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-7d8a57f2a06fe4c7", "cves": [], "html": "<p>如果撤销订阅所有者的超级用户权限，则重启应用工作进程（Vignesh C）<a href=\"https://postgr.es/c/79243de13\">§</a></p>\n<p>这会强制重新认证。</p>", "text": "如果撤销订阅所有者的超级用户权限，则重启应用工作进程（Vignesh C）§ 这会强制重新认证。", "title": "如果撤销订阅所有者的超级用户权限，则重启应用工作进程", "commits": ["79243de13"], "section": "服务器 / 逻辑复制", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-LOGICAL", "source_hash": "f8f586d461a36e84ccd0c5fb60653e1130c50a1b5022a7f721796654600851cb", "section_path": ["服务器", "逻辑复制"], "commit_groups": [["79243de13"]], "identity_text": "Restart apply workers if subscription owner's superuser privileges are revoked (Vignesh C) This forces reauthentication.", "commit_aliases": ["79243de13"], "source_commits": ["79243de13"], "source_entry_id": "17.0/changes/055", "db_id": "4545b17ab8113547542da114c77d5573", "patch_ids": ["64d8f5d679a4beaf4606e9c3ef1d7e5a"], "statement_hash": "b2198c55fb50f158b72cadb4b806fc3ca139464035a44556ba7aa7f47684a3f3", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-b66a05a4072c8a24", "cves": [], "html": "<p>为 <a href=\"/docs/17/functions-admin.html#FUNCTIONS-REPLICATION-TABLE\" title=\"表 9.99. 复制管理函数\"><code>pg_logical_emit_message()</code></a> 添加 <code>flush</code> 选项（Michael Paquier）<a href=\"https://postgr.es/c/173b56f1e\">§</a></p>\n<p>这会使该消息具有持久性。</p>", "text": "为 pg_logical_emit_message() 添加 flush 选项（Michael Paquier）§ 这会使该消息具有持久性。", "title": "为 pg_logical_emit_message() 添加 flush 选项", "commits": ["173b56f1e"], "section": "服务器 / 逻辑复制", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-LOGICAL", "source_hash": "7d9eb5bcd667d310d84bd4d4bdb365d37eaba933d0549184f7f8c8cbf6756991", "section_path": ["服务器", "逻辑复制"], "commit_groups": [["173b56f1e"]], "identity_text": "Add flush option to pg_logical_emit_message() (Michael Paquier) This makes the message durable.", "commit_aliases": ["173b56f1e"], "source_commits": ["173b56f1e"], "source_entry_id": "17.0/changes/056", "db_id": "d85be09c70a59028ea78df7318a28627", "patch_ids": ["d5627808d42f38ca807d7013e994b1ab"], "statement_hash": "dd1b3a50f262acdfeeacf766d8d2e1f81b58a5231666d1eb453b6183a1864e25", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-b2fec9bbe6071300", "cves": [], "html": "<p>允许指定在对订阅者可见之前必须先完成同步的物理备库（Hou Zhijie, Shveta Malik）<a href=\"https://postgr.es/c/bf279ddd1\">§</a> <a href=\"https://postgr.es/c/0f934b073\">§</a></p>\n<p>新的服务器变量是<a href=\"/docs/17/runtime-config-replication.html#GUC-SYNCHRONIZED-STANDBY-SLOTS\">synchronized_standby_slots</a>。</p>", "text": "允许指定在对订阅者可见之前必须先完成同步的物理备库（Hou Zhijie, Shveta Malik）§ § 新的服务器变量是synchronized_standby_slots。", "title": "允许指定在对订阅者可见之前必须先完成同步的物理备库", "commits": ["0f934b073", "bf279ddd1"], "section": "服务器 / 逻辑复制", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-LOGICAL", "source_hash": "7bd3441fcd067f84b47d6bc29c7425094a0590e6a7ef421e0c3529aa20ee405d", "section_path": ["服务器", "逻辑复制"], "commit_groups": [["0f934b073"], ["bf279ddd1"]], "identity_text": "Allow specification of physical standbys that must be synchronized before they are visible to subscribers (Hou Zhijie, Shveta Malik) The new server variable is guc-synchronized-standby-slots .", "commit_aliases": ["0f934b073", "bf279ddd1"], "source_commits": ["0f934b073", "bf279ddd1"], "source_entry_id": "17.0/changes/057", "db_id": "402fd0f262a268f27c9aeff2183e2b1a", "patch_ids": ["cab42c75bbb23030aff44fe28f8e1061", "e4760edb9a3eb2b2cf4a7e394e971890"], "statement_hash": "8c320dd8759eeefe5c2d2126ca9614de88a131911aff182ecd7ff84a1e5f8de5", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-88a693b64faf728c", "cves": [], "html": "<p>为 <a href=\"/docs/17/monitoring-stats.html#MONITORING-PG-STAT-SUBSCRIPTION\" title=\"27.2.8. pg_stat_subscription\"><code>pg_stat_subscription</code></a> 添加工作进程类型列（Peter Smith）<a href=\"https://postgr.es/c/13aeaf079\">§</a></p>", "text": "为 pg_stat_subscription 添加工作进程类型列（Peter Smith）§", "title": "为 pg_stat_subscription 添加工作进程类型列", "commits": ["13aeaf079"], "section": "服务器 / 逻辑复制", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-LOGICAL", "source_hash": "ef53508d9036941925e4ac87c43c0e354ec1f40b043bf70d3e34cca564e4fe88", "section_path": ["服务器", "逻辑复制"], "commit_groups": [["13aeaf079"]], "identity_text": "Add worker type column to pg_stat_subscription (Peter Smith)", "commit_aliases": ["13aeaf079"], "source_commits": ["13aeaf079"], "source_entry_id": "17.0/changes/058", "db_id": "c96da6b6d0807ab405a7877449d5df44", "patch_ids": ["b137ed957df07f42c12c231224879bfc"], "statement_hash": "d3ed7f8916271e01e9a6d5ab15de3383836a50a244709a8381d8cd2901e5d50f", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-0b465e28b7772a91", "cves": [], "html": "<p>添加新的 <a href=\"/docs/17/sql-copy.html\" title=\"COPY\"><code>COPY</code></a> 选项 <code>ON_ERROR ignore</code>，用于丢弃错误行（Damir Belyalov, Atsushi Torikoshi, Alex Shulgin, Jian He, Yugo Nagata）<a href=\"https://postgr.es/c/9e2d87011\">§</a> <a href=\"https://postgr.es/c/b725b7eec\">§</a> <a href=\"https://postgr.es/c/40bbc8cf0\">§</a> <a href=\"https://postgr.es/c/a6d0fa5ef\">§</a></p>\n<p>默认行为是 <code>ON_ERROR stop</code>。</p>", "text": "添加新的 COPY 选项 ON_ERROR ignore，用于丢弃错误行（Damir Belyalov, Atsushi Torikoshi, Alex Shulgin, Jian He, Yugo Nagata）§ § § § 默认行为是 ON_ERROR stop。", "title": "添加新的 COPY 选项 ON_ERROR ignore，用于丢弃错误行", "commits": ["40bbc8cf0", "9e2d87011", "a6d0fa5ef", "b725b7eec"], "section": "工具命令", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-UTILITY", "source_hash": "4173f286dab7721379678db6b89f9e4dd7efdb2bd28ab37da9c190ba8e5de82d", "section_path": ["工具命令"], "commit_groups": [["40bbc8cf0"], ["9e2d87011"], ["a6d0fa5ef"], ["b725b7eec"]], "identity_text": "Add new COPY option ON_ERROR ignore to discard error rows (Damir Belyalov, Atsushi Torikoshi, Alex Shulgin, Jian He, Yugo Nagata) The default behavior is ON_ERROR stop.", "commit_aliases": ["40bbc8cf0", "9e2d87011", "a6d0fa5ef", "b725b7eec"], "source_commits": ["40bbc8cf0", "9e2d87011", "a6d0fa5ef", "b725b7eec"], "source_entry_id": "17.0/changes/059", "db_id": "365709962f047e6f729f62ea0f2866a1", "patch_ids": ["5c73418a2456682094c6ccabeca20104", "a6abd373ab86aa7d6b820b6866590914", "b9446bd4b0350ff0915cb348599fc516", "c33ab49aa06c6ed448604bd209dbf660"], "statement_hash": "cf2016041c04a6ad7e46adaca307bfdcb3b9661648c9a993b89be6af96e3a0be", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-9cd9df2cea85ffd0", "cves": [], "html": "<p>添加新的 <code>COPY</code> 选项 <code>LOG_VERBOSITY</code>，用于报告 <code>COPY FROM</code> 忽略的错误行（Bharath Rupireddy）<a href=\"https://postgr.es/c/f5a227895\">§</a></p>", "text": "添加新的 COPY 选项 LOG_VERBOSITY，用于报告 COPY FROM 忽略的错误行（Bharath Rupireddy）§", "title": "添加新的 COPY 选项 LOG_VERBOSITY，用于报告 COPY FROM 忽略的错误行", "commits": ["f5a227895"], "section": "工具命令", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-UTILITY", "source_hash": "1bd4a48d8505938fe39646bdc806f5ddebf0f4045cc37d48c9a7b53212d1266e", "section_path": ["工具命令"], "commit_groups": [["f5a227895"]], "identity_text": "Add new COPY option LOG_VERBOSITY which reports COPY FROM ignored error rows (Bharath Rupireddy)", "commit_aliases": ["f5a227895"], "source_commits": ["f5a227895"], "source_entry_id": "17.0/changes/060", "db_id": "8f4240a426fab219d05af381844421c5", "patch_ids": ["7a12c77d052db950b856e11512ade308"], "statement_hash": "74d16a0eee3425bd37b740054702560b393ffe40b0238c59371faca7a8b53447", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-8b7664f25d04be5c", "cves": [], "html": "<p>允许 <code>COPY FROM</code> 在处理期间报告被跳过的行数（Atsushi Torikoshi）<a href=\"https://postgr.es/c/729439607\">§</a></p>\n<p>这显示在系统视图列 <a href=\"/docs/17/progress-reporting.html#COPY-PROGRESS-REPORTING\" title=\"27.4.3. COPY 进度报告\"><code>pg_stat_progress_copy</code>.<code>tuples_skipped</code></a> 中。</p>", "text": "允许 COPY FROM 在处理期间报告被跳过的行数（Atsushi Torikoshi）§ 这显示在系统视图列 pg_stat_progress_copy.tuples_skipped 中。", "title": "允许 COPY FROM 在处理期间报告被跳过的行数", "commits": ["729439607"], "section": "工具命令", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-UTILITY", "source_hash": "7d4933ce512bec16cb37b9929e1c88b8f0545988d1749e3607e708eb39da256d", "section_path": ["工具命令"], "commit_groups": [["729439607"]], "identity_text": "Allow COPY FROM to report the number of skipped rows during processing (Atsushi Torikoshi) This appears in system view column pg_stat_progress_copy.tuples_skipped.", "commit_aliases": ["729439607"], "source_commits": ["729439607"], "source_entry_id": "17.0/changes/061", "db_id": "d5cb9bc41572f0e8d078f64daf384557", "patch_ids": ["0afc944187e2b98a0c4a4ef02ac871e6"], "statement_hash": "959f6a9f3d8f9f5b976eaf5c9a2aae915b1859e65354db8dd2a786312e33a3ee", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-fed8ea398f2597e2", "cves": [], "html": "<p>在 <code>COPY FROM</code> 中，允许方便地指定所有列都应被强制设为 null 或 not null（Zhang Mingli）<a href=\"https://postgr.es/c/f6d4c9cf1\">§</a></p>", "text": "在 COPY FROM 中，允许方便地指定所有列都应被强制设为 null 或 not null（Zhang Mingli）§", "title": "在 COPY FROM 中，允许方便地指定所有列都应被强制设为 null 或 not null", "commits": ["f6d4c9cf1"], "section": "工具命令", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-UTILITY", "source_hash": "e1ea6d6d63d884aae7ed748ba25f75f44970323bbd153b7d9ba78f8ba6e80d88", "section_path": ["工具命令"], "commit_groups": [["f6d4c9cf1"]], "identity_text": "In COPY FROM, allow easy specification that all columns should be forced null or not null (Zhang Mingli)", "commit_aliases": ["f6d4c9cf1"], "source_commits": ["f6d4c9cf1"], "source_entry_id": "17.0/changes/062", "db_id": "263d1d0cc371d97f055522d42beb04a7", "patch_ids": ["0f2ac90c75aba410d511036497a989ce"], "statement_hash": "9849b1a30dd7f31662322117df5348b5e8e969812ede23c4edb861b3daeafeee", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-f894aedbe8966c4b", "cves": [], "html": "<p>允许分区表拥有标识列（Ashutosh Bapat）<a href=\"https://postgr.es/c/699586315\">§</a></p>", "text": "允许分区表拥有标识列（Ashutosh Bapat）§", "title": "允许分区表拥有标识列", "commits": ["699586315"], "section": "工具命令", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-UTILITY", "source_hash": "d6773ffc45256b40173b8f32f1599e692da3f22be3112807add72e473449cee7", "section_path": ["工具命令"], "commit_groups": [["699586315"]], "identity_text": "Allow partitioned tables to have identity columns (Ashutosh Bapat)", "commit_aliases": ["699586315"], "source_commits": ["699586315"], "source_entry_id": "17.0/changes/063", "db_id": "d68483b69562373262a0bcbf0eb8f379", "patch_ids": ["e223295279c5c1549441d329e725f1f5"], "statement_hash": "0c352aff4194ec7d6aa8b23e700fce9724023fec4040a6c696163d485698550f", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-ffa1a9847a50964b", "cves": [], "html": "<p>允许在分区表上使用<a href=\"/docs/17/ddl-constraints.html#DDL-CONSTRAINTS-EXCLUSION\" title=\"5.5.6. 排他约束\">排他约束</a>（Paul A. Jungwirth）<a href=\"https://postgr.es/c/8c852ba9a\">§</a></p>\n<p>只要排他约束以相等比较分区键列，其他列就可以使用排他约束特有的比较方式。</p>", "text": "允许在分区表上使用排他约束（Paul A. Jungwirth）§ 只要排他约束以相等比较分区键列，其他列就可以使用排他约束特有的比较方式。", "title": "允许在分区表上使用排他约束", "commits": ["8c852ba9a"], "section": "工具命令", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-UTILITY", "source_hash": "fb4777f26494f716ed6568697ee6d8cc5caf427022357d99cbc2e62281103506", "section_path": ["工具命令"], "commit_groups": [["8c852ba9a"]], "identity_text": "Allow exclusion constraints on partitioned tables (Paul A. Jungwirth) As long as exclusion constraints compare partition key columns for equality, other columns can use exclusion constraint-specific comparisons.", "commit_aliases": ["8c852ba9a"], "source_commits": ["8c852ba9a"], "source_entry_id": "17.0/changes/064", "db_id": "a6d414dedb1f3a32209a6d5c975f9fd3", "patch_ids": ["171e5b635a45df92bbdf17f0e9771da3"], "statement_hash": "92d39333322480eb6c7266bf2a0426abeab386bd0a7140a07b2bbd2962fddbed", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-787ff7a0336bc432", "cves": [], "html": "<p>为将列设置为默认统计目标添加更清晰的 <a href=\"/docs/17/sql-altertable.html\" title=\"ALTER TABLE\"><code>ALTER TABLE</code></a> 方法（Peter Eisentraut）<a href=\"https://postgr.es/c/4f622503d\">§</a></p>\n<p>新语法是 <code>ALTER TABLE ... SET STATISTICS DEFAULT</code>；仍然支持使用 <code>SET STATISTICS -1</code>。</p>", "text": "为将列设置为默认统计目标添加更清晰的 ALTER TABLE 方法（Peter Eisentraut）§ 新语法是 ALTER TABLE ... SET STATISTICS DEFAULT；仍然支持使用 SET STATISTICS -1。", "title": "为将列设置为默认统计目标添加更清晰的 ALTER TABLE 方法", "commits": ["4f622503d"], "section": "工具命令", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-UTILITY", "source_hash": "26e5380d56453682cf806c80cd75bd54d638455642421958df6009f56e40281a", "section_path": ["工具命令"], "commit_groups": [["4f622503d"]], "identity_text": "Add clearer ALTER TABLE method to set a column to the default statistics target (Peter Eisentraut) The new syntax is ALTER TABLE ... SET STATISTICS DEFAULT; using SET STATISTICS -1 is still supported.", "commit_aliases": ["4f622503d"], "source_commits": ["4f622503d"], "source_entry_id": "17.0/changes/065", "db_id": "6092816ce66efe9e474514c27d1edf89", "patch_ids": ["4d496fe2fd867ecb3ba5df367b723dd0"], "statement_hash": "acfec4a190118ae3ba311a502fe0bacf4bfec8bc1bab7e70582acd98ecd0426d", "relations": [{"rule": 2, "type": "related", "target": "55cac36d03b238bca53d532c65e1d15f", "evidence": {"same_day": true, "patch_ids": ["4d496fe2fd867ecb3ba5df367b723dd0"]}}], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": [{"db_id": "55cac36d03b238bca53d532c65e1d15f", "kind": "related", "version": "17.0", "label": "17.0", "title": "将 pg_attribute.attstattarget 和 pg_statistic_ext.stxstattarget 表示默认统计目标的方式更改为 NULL", "evidence": {"same_day": true, "patch_ids": ["4d496fe2fd867ecb3ba5df367b723dd0"]}, "url": "/docs/compare/?release=17.0#17.0-8e45fc51019a9684", "source_url": "/docs/release/17.0/#RELEASE-17-MIGRATION"}]}, {"id": "17.0-cf3bb6016951814b", "cves": [], "html": "<p>允许 <code>ALTER TABLE</code> 更改列的生成表达式（Amul Sul）<a href=\"https://postgr.es/c/5d06e99a3\">§</a></p>\n<p>语法为 <code>ALTER TABLE ... ALTER COLUMN ... SET EXPRESSION</code>。</p>", "text": "允许 ALTER TABLE 更改列的生成表达式（Amul Sul）§ 语法为 ALTER TABLE ... ALTER COLUMN ... SET EXPRESSION。", "title": "允许 ALTER TABLE 更改列的生成表达式", "commits": ["5d06e99a3"], "section": "工具命令", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-UTILITY", "source_hash": "d68eb3005be15dfca37b86149a1eab65687f34d8deb3912d886afe377b47865d", "section_path": ["工具命令"], "commit_groups": [["5d06e99a3"]], "identity_text": "Allow ALTER TABLE to change a column's generation expression (Amul Sul) The syntax is ALTER TABLE ... ALTER COLUMN ... SET EXPRESSION.", "commit_aliases": ["5d06e99a3"], "source_commits": ["5d06e99a3"], "source_entry_id": "17.0/changes/066", "db_id": "7526fd7c1aab47310de7f8871d5df6aa", "patch_ids": ["c3b9ff98023ddcbc946dbb3937a67397"], "statement_hash": "d03bfa91d58f2c27c3d434cf4174ee7f149d63c3e3516c09f5bc77617f8b45a2", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-049cb251128661c0", "cves": [], "html": "<p>允许在分区表上指定<a href=\"/docs/17/tableam.html\" title=\"第 61 章 表访问方法接口定义\">表访问方法</a>（Justin Pryzby, Soumyadeep Chakraborty, Michael Paquier）<a href=\"https://postgr.es/c/374c7a229\">§</a> <a href=\"https://postgr.es/c/e2395cdbe\">§</a></p>", "text": "允许在分区表上指定表访问方法（Justin Pryzby, Soumyadeep Chakraborty, Michael Paquier）§ §", "title": "允许在分区表上指定表访问方法", "commits": ["374c7a229", "e2395cdbe"], "section": "工具命令", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-UTILITY", "source_hash": "58ed2b89b695cb6bf19b0e65b5b8685c2c18e39550cbd5917765d539c98e57f3", "section_path": ["工具命令"], "commit_groups": [["374c7a229"], ["e2395cdbe"]], "identity_text": "Allow specification of table access methods on partitioned tables (Justin Pryzby, Soumyadeep Chakraborty, Michael Paquier)", "commit_aliases": ["374c7a229", "e2395cdbe"], "source_commits": ["374c7a229", "e2395cdbe"], "source_entry_id": "17.0/changes/067", "db_id": "62582f5907336949f9efd19673964ecc", "patch_ids": ["d8c678c4367013caa41719514512deaa", "e5b02f4aca72c82315ce2a39bff0c870"], "statement_hash": "a705a4cebfc30dc70c9ce00a90e9adaf7fa9a90303224410fe646bf4e61547a8", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-494d942b4e2523b3", "cves": [], "html": "<p>为 <code>ALTER TABLE .. SET ACCESS METHOD</code> 添加 <code>DEFAULT</code> 设置（Michael Paquier）<a href=\"https://postgr.es/c/d61a6cad6\">§</a></p>", "text": "为 ALTER TABLE .. SET ACCESS METHOD 添加 DEFAULT 设置（Michael Paquier）§", "title": "为 ALTER TABLE .. SET ACCESS METHOD 添加 DEFAULT 设置", "commits": ["d61a6cad6"], "section": "工具命令", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-UTILITY", "source_hash": "416f5f66d5ba4650150fc3007b0218d18c91ff7ae7cd6fe5dd613bbc9ad1d23f", "section_path": ["工具命令"], "commit_groups": [["d61a6cad6"]], "identity_text": "Add DEFAULT setting for ALTER TABLE .. SET ACCESS METHOD (Michael Paquier)", "commit_aliases": ["d61a6cad6"], "source_commits": ["d61a6cad6"], "source_entry_id": "17.0/changes/068", "db_id": "02aaff9e81f82f1da8e8990a0a588b4f", "patch_ids": ["8bb0d47105275c28fc445857675584fa"], "statement_hash": "cab1533c7828d51817a48001dc366370824716f564de2a8490608f32577dc178", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-7d3688ffdf807e4e", "cves": [], "html": "<p>添加对在连接时触发的<a href=\"/docs/17/sql-createeventtrigger.html\" title=\"CREATE EVENT TRIGGER\">事件触发器</a>的支持（Konstantin Knizhnik, Mikhail Gribkov）<a href=\"https://postgr.es/c/e83d1b0c4\">§</a></p>", "text": "添加对在连接时触发的事件触发器的支持（Konstantin Knizhnik, Mikhail Gribkov）§", "title": "添加对在连接时触发的事件触发器的支持", "commits": ["e83d1b0c4"], "section": "工具命令", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-UTILITY", "source_hash": "28030046e1a700e7b3da9438cdfa90ddef97bafb92193632fd6df01c3077c616", "section_path": ["工具命令"], "commit_groups": [["e83d1b0c4"]], "identity_text": "Add support for event triggers that fire at connection time (Konstantin Knizhnik, Mikhail Gribkov)", "commit_aliases": ["e83d1b0c4"], "source_commits": ["e83d1b0c4"], "source_entry_id": "17.0/changes/069", "db_id": "6a0b049ca5010efe61d38bf6dd3266f5", "patch_ids": ["81d2b85442f53f5aae778ed487591a0e"], "statement_hash": "f2526b5708edc82c47132a1620cc8b0e64a3699d8c1efeba55fe964960cce461", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-43f3afd9c441cc91", "cves": [], "html": "<p>为 <a href=\"/docs/17/sql-reindex.html\" title=\"REINDEX\"><code>REINDEX</code></a> 添加事件触发器支持（Garrett Thornburg, Jian He）<a href=\"https://postgr.es/c/f21848de2\">§</a></p>", "text": "为 REINDEX 添加事件触发器支持（Garrett Thornburg, Jian He）§", "title": "为 REINDEX 添加事件触发器支持", "commits": ["f21848de2"], "section": "工具命令", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-UTILITY", "source_hash": "17455ef14238956f534688dc513015d05d1a9a0e221d27b67d021b2a4eafcff7", "section_path": ["工具命令"], "commit_groups": [["f21848de2"]], "identity_text": "Add event trigger support for REINDEX (Garrett Thornburg, Jian He)", "commit_aliases": ["f21848de2"], "source_commits": ["f21848de2"], "source_entry_id": "17.0/changes/070", "db_id": "fcd308f571631c763de01309c3cb4c09", "patch_ids": ["8302e0e533a7421fbae210668443c136"], "statement_hash": "45418b1481cebd92285301651d9ee095012d2bfd7749baa103981dccad07ee0e", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-161eda21ac95b359", "cves": [], "html": "<p>如果未指定表名，则允许 <a href=\"/docs/17/sql-cluster.html\" title=\"CLUSTER\"><code>CLUSTER</code></a> 选项使用带括号的语法（Nathan Bossart）<a href=\"https://postgr.es/c/cdaedfc96\">§</a></p>", "text": "如果未指定表名，则允许 CLUSTER 选项使用带括号的语法（Nathan Bossart）§", "title": "如果未指定表名，则允许 CLUSTER 选项使用带括号的语法", "commits": ["cdaedfc96"], "section": "工具命令", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-UTILITY", "source_hash": "99d61ca022448a0a5a5c450ba9edd277dd8f7e8b0c8754c586effa312b63a778", "section_path": ["工具命令"], "commit_groups": [["cdaedfc96"]], "identity_text": "Allow parenthesized syntax for CLUSTER options if a table name is not specified (Nathan Bossart)", "commit_aliases": ["cdaedfc96"], "source_commits": ["cdaedfc96"], "source_entry_id": "17.0/changes/071", "db_id": "c98666cbc1ccf226e8383a8e54298655", "patch_ids": ["d93decf7641cabc5deb7a2fc6e85a2b7"], "statement_hash": "00eaff8d7fa0509a53d7cd5a746bd90ea2f5b6e4f4e459e8bdf12b8b7f408c6d", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-4834f8b764dc204a", "cves": [], "html": "<p>允许 <code>EXPLAIN</code> 报告优化器内存使用情况（Ashutosh Bapat）<a href=\"https://postgr.es/c/5de890e36\">§</a></p>\n<p>该选项名为 <code>MEMORY</code>。</p>", "text": "允许 EXPLAIN 报告优化器内存使用情况（Ashutosh Bapat）§ 该选项名为 MEMORY。", "title": "允许 EXPLAIN 报告优化器内存使用情况", "commits": ["5de890e36"], "section": "工具命令 / EXPLAIN", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-EXPLAIN", "source_hash": "df62ec5e427baba9f1a68c67a0fc4b0a1771853730714e2f0fec766a680eeb5e", "section_path": ["工具命令", "EXPLAIN"], "commit_groups": [["5de890e36"]], "identity_text": "Allow EXPLAIN to report optimizer memory usage (Ashutosh Bapat) The option is called MEMORY.", "commit_aliases": ["5de890e36"], "source_commits": ["5de890e36"], "source_entry_id": "17.0/changes/072", "db_id": "71bed92339c3f3de0a86b6d3a9e0402e", "patch_ids": ["15c76db82c589c26fa4aff3ded39fd2a"], "statement_hash": "c00457662f0e50af98fecdda7c5860246233624cfa685f472f01f8847be3523d", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-59564320f7abfbbf", "cves": [], "html": "<p>添加 <code>EXPLAIN</code> 选项 <code>SERIALIZE</code>，用于报告为网络传输转换数据的代价（Stepan Rutz, Matthias van de Meent）<a href=\"https://postgr.es/c/06286709e\">§</a></p>", "text": "添加 EXPLAIN 选项 SERIALIZE，用于报告为网络传输转换数据的代价（Stepan Rutz, Matthias van de Meent）§", "title": "添加 EXPLAIN 选项 SERIALIZE，用于报告为网络传输转换数据的代价", "commits": ["06286709e"], "section": "工具命令 / EXPLAIN", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-EXPLAIN", "source_hash": "e8b472e48caac5191de15ffbf6600fd4fbf694fa6082f21315b77399225d2af2", "section_path": ["工具命令", "EXPLAIN"], "commit_groups": [["06286709e"]], "identity_text": "Add EXPLAIN option SERIALIZE to report the cost of converting data for network transmission (Stepan Rutz, Matthias van de Meent)", "commit_aliases": ["06286709e"], "source_commits": ["06286709e"], "source_entry_id": "17.0/changes/073", "db_id": "97daae7ca392b85d0b1d17e931861cd8", "patch_ids": ["bdfaec7d62abe43f514139e272c051cc"], "statement_hash": "1d9bd86e2a9f38de5d25e356e2382a057efe88eff00bf1142389566ea7ae5a51", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-70a7093e20ba6cd2", "cves": [], "html": "<p>为 <code>EXPLAIN</code> 的 <code>BUFFERS</code> 输出添加本地 I/O 块读/写耗时统计信息（Nazir Bilal Yavuz）<a href=\"https://postgr.es/c/295c36c0c\">§</a></p>", "text": "为 EXPLAIN 的 BUFFERS 输出添加本地 I/O 块读/写耗时统计信息（Nazir Bilal Yavuz）§", "title": "为 EXPLAIN 的 BUFFERS 输出添加本地 I/O 块读/写耗时统计信息", "commits": ["295c36c0c"], "section": "工具命令 / EXPLAIN", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-EXPLAIN", "source_hash": "de34753602be6a6963efeae2cc431f7e76b6c3da2246b4e1baf66443089fe100", "section_path": ["工具命令", "EXPLAIN"], "commit_groups": [["295c36c0c"]], "identity_text": "Add local I/O block read/write timing statistics to EXPLAIN's BUFFERS output (Nazir Bilal Yavuz)", "commit_aliases": ["295c36c0c"], "source_commits": ["295c36c0c"], "source_entry_id": "17.0/changes/074", "db_id": "3a8f2092e95f906fe2ba774157ee86a4", "patch_ids": ["5bbfcb7876ccc999e0bc578d10ccf3d1"], "statement_hash": "14a0f420e6fdce8e907b562e8b737826172d9e6da9085f5efe07db0de1a13e0a", "relations": [{"rule": 2, "type": "related", "target": "a487787ae801d826d7c42eb4f15dd2e9", "evidence": {"same_day": true, "patch_ids": ["5bbfcb7876ccc999e0bc578d10ccf3d1"], "ambiguous_patch_ids": ["5bbfcb7876ccc999e0bc578d10ccf3d1"]}}], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": [{"db_id": "a487787ae801d826d7c42eb4f15dd2e9", "kind": "related", "version": "17.0", "label": "17.0", "title": "为 pg_stat_statements 添加本地 I/O 块读/写耗时统计列", "evidence": {"same_day": true, "patch_ids": ["5bbfcb7876ccc999e0bc578d10ccf3d1"], "ambiguous_patch_ids": ["5bbfcb7876ccc999e0bc578d10ccf3d1"]}, "url": "/docs/compare/?release=17.0#17.0-843394b54569c073", "source_url": "/docs/release/17.0/#RELEASE-17-PGSTATSTATEMENTS"}]}, {"id": "17.0-73bb5a163fd3f295", "cves": [], "html": "<p>改进 <code>EXPLAIN</code> 对 SubPlan 节点和输出参数的显示（Tom Lane, Dean Rasheed）<a href=\"https://postgr.es/c/fd0398fcb\">§</a></p>", "text": "改进 EXPLAIN 对 SubPlan 节点和输出参数的显示（Tom Lane, Dean Rasheed）§", "title": "改进 EXPLAIN 对 SubPlan 节点和输出参数的显示", "commits": ["fd0398fcb"], "section": "工具命令 / EXPLAIN", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-EXPLAIN", "source_hash": "8de10e075d3a3a3f910aa6e30549cddd065a9648a70fd829574a4da7ec5b3a4e", "section_path": ["工具命令", "EXPLAIN"], "commit_groups": [["fd0398fcb"]], "identity_text": "Improve EXPLAIN's display of SubPlan nodes and output parameters (Tom Lane, Dean Rasheed)", "commit_aliases": ["fd0398fcb"], "source_commits": ["fd0398fcb"], "source_entry_id": "17.0/changes/075", "db_id": "c47f831b9c89bc80c9d9bed926c01e11", "patch_ids": ["bd71d58ddd079130d8bcb6140dca138a"], "statement_hash": "ef2b0f1b56499d7ea432798a077b5f335c1c1a385cde35670b8dcda2eef45d21", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-b17cc37285e213a8", "cves": [], "html": "<p>为 <code>EXPLAIN</code> 添加 <acronym>JIT</acronym> <code>deform_counter</code> 细节（Dmitry Dolgov）<a href=\"https://postgr.es/c/5a3423ad8\">§</a></p>", "text": "为 EXPLAIN 添加 JIT deform_counter 细节（Dmitry Dolgov）§", "title": "为 EXPLAIN 添加 JIT deform_counter 细节", "commits": ["5a3423ad8"], "section": "工具命令 / EXPLAIN", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-EXPLAIN", "source_hash": "eaf00283591cbcad72f2ed135a5c0cf1140c22b3584f62f60be1d4f8f585482a", "section_path": ["工具命令", "EXPLAIN"], "commit_groups": [["5a3423ad8"]], "identity_text": "Add JIT deform_counter details to EXPLAIN (Dmitry Dolgov)", "commit_aliases": ["5a3423ad8"], "source_commits": ["5a3423ad8"], "source_entry_id": "17.0/changes/076", "db_id": "14f807d67bbb33e16136e47a0d977573", "patch_ids": ["69b5f4ac2075731de6ade1ebfae6e6c3"], "statement_hash": "3bc4030554843738c8a6339ba9875ea48730c6393f452b7c2474543a48de9ec5", "relations": [{"rule": 2, "type": "related", "target": "cfc33f9d4d45dd958c4e7f050c7845a6", "evidence": {"same_day": true, "patch_ids": ["69b5f4ac2075731de6ade1ebfae6e6c3"], "ambiguous_patch_ids": ["69b5f4ac2075731de6ade1ebfae6e6c3"]}}], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": [{"db_id": "cfc33f9d4d45dd958c4e7f050c7845a6", "kind": "related", "version": "17.0", "label": "17.0", "title": "为 pg_stat_statements 添加 JIT deform_counter 细节", "evidence": {"same_day": true, "patch_ids": ["69b5f4ac2075731de6ade1ebfae6e6c3"], "ambiguous_patch_ids": ["69b5f4ac2075731de6ade1ebfae6e6c3"]}, "url": "/docs/compare/?release=17.0#17.0-0a15ab0156dc13fd", "source_url": "/docs/release/17.0/#RELEASE-17-PGSTATSTATEMENTS"}]}, {"id": "17.0-5dddac4281e029d5", "cves": [], "html": "<p>允许 <code>interval</code> 数据类型支持 <code>+/-infinity</code> 值（Joseph Koshakow, Jian He, Ashutosh Bapat）<a href=\"https://postgr.es/c/519fc1bd9\">§</a></p>", "text": "允许 interval 数据类型支持 +/-infinity 值（Joseph Koshakow, Jian He, Ashutosh Bapat）§", "title": "允许 interval 数据类型支持 +/-infinity 值", "commits": ["519fc1bd9"], "section": "数据类型", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-DATATYPES", "source_hash": "57d8671681af0916c481def50a42c7c50a641c1d43a0cdbd5b989e6c0690210a", "section_path": ["数据类型"], "commit_groups": [["519fc1bd9"]], "identity_text": "Allow the interval data type to support +/-infinity values (Joseph Koshakow, Jian He, Ashutosh Bapat)", "commit_aliases": ["519fc1bd9"], "source_commits": ["519fc1bd9"], "source_entry_id": "17.0/changes/077", "db_id": "21e19c5c09084391af043fdfb894e330", "patch_ids": ["b91938e8420c533dc224e7b125b6abb3"], "statement_hash": "d15ddf43fef7d9894b24b27706b8cb8b690ac81aed3b281e59237148f0f47f68", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-5764d88da88cc2f7", "cves": [], "html": "<p>如果该类型是在同一事务中创建的，则允许使用通过 <a href=\"/docs/17/sql-altertype.html\" title=\"ALTER TYPE\"><code>ALTER TYPE</code></a> 新增的 <a href=\"/docs/17/datatype-enum.html\" title=\"8.7. 枚举类型\"><code>ENUM</code></a> 值（Tom Lane）<a href=\"https://postgr.es/c/af1d39584\">§</a></p>\n<p>这在以前是不允许的。</p>", "text": "如果该类型是在同一事务中创建的，则允许使用通过 ALTER TYPE 新增的 ENUM 值（Tom Lane）§ 这在以前是不允许的。", "title": "如果该类型是在同一事务中创建的，则允许使用通过 ALTER TYPE 新增的 ENUM 值", "commits": ["af1d39584"], "section": "数据类型", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-DATATYPES", "source_hash": "1b54e6f54d9debea581b57bd116ccdd1ca2f74bab99289355269d7fc57624785", "section_path": ["数据类型"], "commit_groups": [["af1d39584"]], "identity_text": "Allow the use of an ENUM added via ALTER TYPE if the type was created in the same transaction (Tom Lane) This was previously disallowed.", "commit_aliases": ["af1d39584"], "source_commits": ["af1d39584"], "source_entry_id": "17.0/changes/078", "db_id": "bb4b92fac7d7bf27bbf2a3c676960bb1", "patch_ids": ["4a8aa96d2b3f72c17cca83bb033799f9"], "statement_hash": "df9e6a22a08482e477e5d5f873e5f54b9cd9b8aa522560fdc6cac13d9137c604", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-f678dfc6392caa4d", "cves": [], "html": "<p>允许 <code>MERGE</code> 修改可更新视图（Dean Rasheed）<a href=\"https://postgr.es/c/5f2e179bd\">§</a></p>", "text": "允许 MERGE 修改可更新视图（Dean Rasheed）§", "title": "允许 MERGE 修改可更新视图", "commits": ["5f2e179bd"], "section": "MERGE", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-MERGE", "source_hash": "2f73e95958319080e5040b3e1271ce2c829be7874fe2ce0c80aff15b4009699d", "section_path": ["MERGE"], "commit_groups": [["5f2e179bd"]], "identity_text": "Allow MERGE to modify updatable views (Dean Rasheed)", "commit_aliases": ["5f2e179bd"], "source_commits": ["5f2e179bd"], "source_entry_id": "17.0/changes/079", "db_id": "d6ae6c853adaf39f35ba6ae35112094c", "patch_ids": ["ae64a98f80ec7bf32d31aabe70bb3a8c"], "statement_hash": "76e8a3a1ee7a4639111f47ff871c659e6aa5893a7a84fc3a17173c1eacdaea38", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-562401d3e7ee1c60", "cves": [], "html": "<p>为 <code>MERGE</code> 添加 <code>WHEN NOT MATCHED BY SOURCE</code>（Dean Rasheed）<a href=\"https://postgr.es/c/0294df2f1\">§</a></p>\n<p>以前已经支持在目标行上使用 <code>WHEN NOT MATCHED</code>。</p>", "text": "为 MERGE 添加 WHEN NOT MATCHED BY SOURCE（Dean Rasheed）§ 以前已经支持在目标行上使用 WHEN NOT MATCHED。", "title": "为 MERGE 添加 WHEN NOT MATCHED BY SOURCE", "commits": ["0294df2f1"], "section": "MERGE", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-MERGE", "source_hash": "8ef1e26d38e863b544f0e125e1251ceaa64e9e5c824c4915f85724da77dcead4", "section_path": ["MERGE"], "commit_groups": [["0294df2f1"]], "identity_text": "Add WHEN NOT MATCHED BY SOURCE to MERGE (Dean Rasheed) WHEN NOT MATCHED on target rows was already supported.", "commit_aliases": ["0294df2f1"], "source_commits": ["0294df2f1"], "source_entry_id": "17.0/changes/080", "db_id": "68ca5745ae12c64f23b5edcc507fbd7d", "patch_ids": ["de2d02cea48c4be3dd7df067cd971800"], "statement_hash": "cada5f1d9f0edc113c09a36c592fba8e5ef5d012b10b6271f1c6af7f11f327ed", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-970b310040a2c152", "cves": [], "html": "<p>允许 <code>MERGE</code> 使用 <code>RETURNING</code> 子句（Dean Rasheed）<a href=\"https://postgr.es/c/c649fa24a\">§</a></p>\n<p>新的 <code>RETURNING</code> 函数 <code>merge_action()</code> 会报告生成该行的 <acronym>DML</acronym> 操作。</p>", "text": "允许 MERGE 使用 RETURNING 子句（Dean Rasheed）§ 新的 RETURNING 函数 merge_action() 会报告生成该行的 DML 操作。", "title": "允许 MERGE 使用 RETURNING 子句", "commits": ["c649fa24a"], "section": "MERGE", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-MERGE", "source_hash": "0ed35771443ac01bb89c6249564ad4e3cdfe7a5d39b142e751055c63c83a78a4", "section_path": ["MERGE"], "commit_groups": [["c649fa24a"]], "identity_text": "Allow MERGE to use the RETURNING clause (Dean Rasheed) The new RETURNING function merge_action() reports on the DML that generated the row.", "commit_aliases": ["c649fa24a"], "source_commits": ["c649fa24a"], "source_entry_id": "17.0/changes/081", "db_id": "126f05e11609c4529c0e084a8fa399eb", "patch_ids": ["9b6645a437b79d8fa2c57824a45c59e3"], "statement_hash": "613d6ca6525351d206e387de3bbbbd36934a63b88a05a516969d9c7b3f07e9f2", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-50934f8be2eb3c55", "cves": [], "html": "<p>添加函数 <a href=\"/docs/17/functions-json.html#FUNCTIONS-SQLJSON-TABLE\" title=\"9.16.4. JSON_TABLE\"><code>JSON_TABLE()</code></a>，用于将 <code>JSON</code> 数据转换为表表示形式（Nikita Glukhov, Teodor Sigaev, Oleg Bartunov, Alexander Korotkov, Andrew Dunstan, Amit Langote, Jian He）<a href=\"https://postgr.es/c/de3600452\">§</a> <a href=\"https://postgr.es/c/bb766cde6\">§</a></p>\n<p>该函数可在 <code>SELECT</code> 查询的 <code>FROM</code> 子句中用作元组源。</p>", "text": "添加函数 JSON_TABLE()，用于将 JSON 数据转换为表表示形式（Nikita Glukhov, Teodor Sigaev, Oleg Bartunov, Alexander Korotkov, Andrew Dunstan, Amit Langote, Jian He）§ § 该函数可在 SELECT 查询的 FROM 子句中用作元组源。", "title": "添加函数 JSON_TABLE()，用于将 JSON 数据转换为表表示形式", "commits": ["bb766cde6", "de3600452"], "section": "函数", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-FUNCTIONS", "source_hash": "5298e1149453b597f22af3d1a2139f1682be6ebb692bd53bb15f0ea26b9191b9", "section_path": ["函数"], "commit_groups": [["bb766cde6"], ["de3600452"]], "identity_text": "Add function JSON_TABLE() to convert JSON data to a table representation (Nikita Glukhov, Teodor Sigaev, Oleg Bartunov, Alexander Korotkov, Andrew Dunstan, Amit Langote, Jian He) This function can be used in the FROM clause of SELECT queries as a tuple source.", "commit_aliases": ["bb766cde6", "de3600452"], "source_commits": ["bb766cde6", "de3600452"], "source_entry_id": "17.0/changes/082", "db_id": "f81a9564db2ca7fd0b33004b18e5f87b", "patch_ids": ["827c683d8288891738cf31a5945db549", "a88ddc4b39ea92b620999c2ad59eb410"], "statement_hash": "c9ae5e14a1f857cc5ffad59dc3b48e6c0fa04a887bae8a96f1c48d9a6724b755", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-a2bfdd62593cd133", "cves": [], "html": "<p>添加 <acronym>SQL/JSON</acronym> 构造函数 <a href=\"/docs/17/functions-json.html#FUNCTIONS-JSON-CREATION-TABLE\" title=\"表 9.47. JSON 创建函数\"><code>JSON()</code></a>、<code>JSON_SCALAR()</code> 和 <code>JSON_SERIALIZE()</code>（Nikita Glukhov, Teodor Sigaev, Oleg Bartunov, Alexander Korotkov, Andrew Dunstan, Amit Langote）<a href=\"https://postgr.es/c/03734a7fe\">§</a></p>", "text": "添加 SQL/JSON 构造函数 JSON()、JSON_SCALAR() 和 JSON_SERIALIZE()（Nikita Glukhov, Teodor Sigaev, Oleg Bartunov, Alexander Korotkov, Andrew Dunstan, Amit Langote）§", "title": "添加 SQL/JSON 构造函数 JSON()、JSON_SCALAR() 和 JSON_SERIALIZE()", "commits": ["03734a7fe"], "section": "函数", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-FUNCTIONS", "source_hash": "f26755de813f4c7388a75ef86c3be47ee7d376876625d89373573ded1c7ff9b4", "section_path": ["函数"], "commit_groups": [["03734a7fe"]], "identity_text": "Add SQL/JSON constructor functions JSON(), JSON_SCALAR(), and JSON_SERIALIZE() (Nikita Glukhov, Teodor Sigaev, Oleg Bartunov, Alexander Korotkov, Andrew Dunstan, Amit Langote)", "commit_aliases": ["03734a7fe"], "source_commits": ["03734a7fe"], "source_entry_id": "17.0/changes/083", "db_id": "cd6bbeaf341c7a0bc5aa8e262b47fceb", "patch_ids": ["9e77c2d2411f443655e00ae4c5699084"], "statement_hash": "aef51a5c4c10b92624cda2ada0393face18bdf494faeeb3acff0bd965617147f", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-63c921731ac73ee3", "cves": [], "html": "<p>添加 <acronym>SQL/JSON</acronym> 查询函数 <a href=\"/docs/17/functions-json.html#FUNCTIONS-SQLJSON-QUERYING\" title=\"表 9.52. SQL/JSON 查询函数\"><code>JSON_EXISTS()</code></a>、<code>JSON_QUERY()</code> 和 <code>JSON_VALUE()</code>（Nikita Glukhov, Teodor Sigaev, Oleg Bartunov, Alexander Korotkov, Andrew Dunstan, Amit Langote, Peter Eisentraut, Jian He）<a href=\"https://postgr.es/c/aaaf9449e\">§</a> <a href=\"https://postgr.es/c/1edb3b491\">§</a> <a href=\"https://postgr.es/c/6185c9737\">§</a> <a href=\"https://postgr.es/c/c0fc07518\">§</a> <a href=\"https://postgr.es/c/ef744ebb7\">§</a></p>", "text": "添加 SQL/JSON 查询函数 JSON_EXISTS()、JSON_QUERY() 和 JSON_VALUE()（Nikita Glukhov, Teodor Sigaev, Oleg Bartunov, Alexander Korotkov, Andrew Dunstan, Amit Langote, Peter Eisentraut, Jian He）§ § § § §", "title": "添加 SQL/JSON 查询函数 JSON_EXISTS()、JSON_QUERY() 和 JSON_VALUE()", "commits": ["1edb3b491", "6185c9737", "aaaf9449e", "c0fc07518", "ef744ebb7"], "section": "函数", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-FUNCTIONS", "source_hash": "194e21e26f79c8b2e08789e69a959c7a5a069fff7917ca57b19069d1ae273b3b", "section_path": ["函数"], "commit_groups": [["1edb3b491"], ["6185c9737"], ["aaaf9449e"], ["c0fc07518"], ["ef744ebb7"]], "identity_text": "Add SQL/JSON query functions JSON_EXISTS(), JSON_QUERY(), and JSON_VALUE() (Nikita Glukhov, Teodor Sigaev, Oleg Bartunov, Alexander Korotkov, Andrew Dunstan, Amit Langote, Peter Eisentraut, Jian He)", "commit_aliases": ["1edb3b491", "6185c9737", "aaaf9449e", "c0fc07518", "ef744ebb7"], "source_commits": ["1edb3b491", "6185c9737", "aaaf9449e", "c0fc07518", "ef744ebb7"], "source_entry_id": "17.0/changes/084", "db_id": "703cebe523925aa6ca4d8351ad6135ce", "patch_ids": ["742f62635fd9242ed92e4993e85e3573", "8beac13a47ca2ea95e530d5caddcda1f", "ced2d75f90b885737e9967460711c76a", "e26ce5b9ac68c76ff6a5e663948f4a05", "e4419c99647e51878f7770e80deb37be"], "statement_hash": "6c40c1de4c211c42bec095edfbc37479f4c11aac565dff6a9a69df03d3720734", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-671eb1d0eabe7589", "cves": [], "html": "<p>添加 <a href=\"/docs/17/functions-json.html#FUNCTIONS-SQLJSON-PATH-OPERATORS\" title=\"9.16.2.3. SQL/JSON 路径操作符和方法\">jsonpath</a> 方法，用于将 <code>JSON</code> 值转换为其他数据类型（Jeevan Chalke）<a href=\"https://postgr.es/c/66ea94e8e\">§</a></p>\n<p>这些 jsonpath 方法包括 <code>.bigint()</code>、<code>.boolean()</code>、<code>.date()</code>、<code>.decimal([precision [, scale]])</code>、<code>.integer()</code>、<code>.number()</code>、<code>.string()</code>、<code>.time()</code>、<code>.time_tz()</code>、<code>.timestamp()</code>、以及 <code>.timestamp_tz()</code>。</p>", "text": "添加 jsonpath 方法，用于将 JSON 值转换为其他数据类型（Jeevan Chalke）§ 这些 jsonpath 方法包括 .bigint()、.boolean()、.date()、.decimal([precision [, scale]])、.integer()、.number()、.string()、.time()、.time_tz()、.timestamp()、以及 .timestamp_tz()。", "title": "添加 jsonpath 方法，用于将 JSON 值转换为其他数据类型", "commits": ["66ea94e8e"], "section": "函数", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-FUNCTIONS", "source_hash": "6299725100304538ac11191f4687474c5aa2badab23efb9be0d0541d1518d170", "section_path": ["函数"], "commit_groups": [["66ea94e8e"]], "identity_text": "Add jsonpath methods to convert JSON values to other JSON data types (Jeevan Chalke) The jsonpath methods are .bigint(), .boolean(), .date(), .decimal([precision [, scale]]), .integer(), .number(), .string(), .time(), .time_tz(), .timestamp(), and .timestamp_tz().", "commit_aliases": ["66ea94e8e"], "source_commits": ["66ea94e8e"], "source_entry_id": "17.0/changes/085", "db_id": "cf230e53eba840d6dc4a5db3dc7855b6", "patch_ids": ["508b378763d6201a25a6d3f302d6aef0"], "statement_hash": "170c8a60fe7819d38cf5ec8af4189a18358a1ee9f890bedf1c3ebcaeb13203da", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-a989828fde2e2ef1", "cves": [], "html": "<p>为 <a href=\"/docs/17/functions-formatting.html#FUNCTIONS-FORMATTING-TABLE\" title=\"表 9.26. 格式化函数\"><code>to_timestamp()</code></a> 添加时区格式说明符（Tom Lane）<a href=\"https://postgr.es/c/8ba6fdf90\">§</a></p>\n<p><code>TZ</code> 接受时区缩写或数字偏移，而 <code>OF</code> 只接受数字偏移。</p>", "text": "为 to_timestamp() 添加时区格式说明符（Tom Lane）§ TZ 接受时区缩写或数字偏移，而 OF 只接受数字偏移。", "title": "为 to_timestamp() 添加时区格式说明符", "commits": ["8ba6fdf90"], "section": "函数", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-FUNCTIONS", "source_hash": "e743a5205bfa8c7f118647b56e6089f98a0a9e76edc400726ce600298e2cc55e", "section_path": ["函数"], "commit_groups": [["8ba6fdf90"]], "identity_text": "Add to_timestamp() time zone format specifiers (Tom Lane) TZ accepts time zone abbreviations or numeric offsets, while OF accepts only numeric offsets.", "commit_aliases": ["8ba6fdf90"], "source_commits": ["8ba6fdf90"], "source_entry_id": "17.0/changes/086", "db_id": "6560f09c8fbe53b0bd652ce7c2b89173", "patch_ids": ["91055d3ffb63717414d185dd38bde979"], "statement_hash": "1b688041d44b8fad2d2ae8b2d513b6dbb609cc76f6c5238a13b4e3320799b229", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-d08795a05f3e6f6b", "cves": [], "html": "<p>允许通过 <code>AT LOCAL</code> 指定会话<a href=\"/docs/17/runtime-config-client.html#GUC-TIMEZONE\">时区</a>（Vik Fearing）<a href=\"https://postgr.es/c/97957fdba\">§</a></p>\n<p>这在为时间戳值添加或移除时区，而不是显式指定会话时区字面量时很有用。</p>", "text": "允许通过 AT LOCAL 指定会话时区（Vik Fearing）§ 这在为时间戳值添加或移除时区，而不是显式指定会话时区字面量时很有用。", "title": "允许通过 AT LOCAL 指定会话时区", "commits": ["97957fdba"], "section": "函数", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-FUNCTIONS", "source_hash": "381a3df7224cf58bbb21d1adca418e4ef00dff29d87b5bdbb03ad0919c9c029e", "section_path": ["函数"], "commit_groups": [["97957fdba"]], "identity_text": "Allow the session time zone to be specified by AT LOCAL (Vik Fearing) This is useful when converting adding and removing time zones from time stamps values, rather than specifying the literal session time zone.", "commit_aliases": ["97957fdba"], "source_commits": ["97957fdba"], "source_entry_id": "17.0/changes/087", "db_id": "dd05696b9334a5a4f66ae3607a1502db", "patch_ids": ["56e48bbda9ba4c5f8386bfd60b2f6b1e"], "statement_hash": "b3b1850bd0c882795cbf14fc12e51334556d3072863022b12a9fff41690e6465", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-1252be3d097bc82d", "cves": [], "html": "<p>添加函数 <a href=\"/docs/17/functions-uuid.html\" title=\"9.14. UUID 函数\"><code>uuid_extract_timestamp()</code></a> 和 <code>uuid_extract_version()</code>，用于返回 <acronym>UUID</acronym> 信息（Andrey Borodin）<a href=\"https://postgr.es/c/794f10f6b\">§</a></p>", "text": "添加函数 uuid_extract_timestamp() 和 uuid_extract_version()，用于返回 UUID 信息（Andrey Borodin）§", "title": "添加函数 uuid_extract_timestamp() 和 uuid_extract_version()，用于返回 UUID 信息", "commits": ["794f10f6b"], "section": "函数", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-FUNCTIONS", "source_hash": "18a9b883b77bc3d08cfdee373283b004d00fb66024d59b250ae45b665720c390", "section_path": ["函数"], "commit_groups": [["794f10f6b"]], "identity_text": "Add functions uuid_extract_timestamp() and uuid_extract_version() to return UUID information (Andrey Borodin)", "commit_aliases": ["794f10f6b"], "source_commits": ["794f10f6b"], "source_entry_id": "17.0/changes/088", "db_id": "1ca69f05ab160e002d694711d3fcfe01", "patch_ids": ["800ea20d57723701a28e3a149aab3fbc"], "statement_hash": "fc3077e1c87f31ed7c24a5e77c2e9587acc9adce7f767fa6cabf6d0a37b843dd", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-4f3b9df121a021ed", "cves": [], "html": "<p>添加用于在指定范围内生成随机数的函数（Dean Rasheed）<a href=\"https://postgr.es/c/e6341323a\">§</a></p>\n<p>这些函数是 <a href=\"/docs/17/functions-math.html#FUNCTIONS-MATH-RANDOM-TABLE\" title=\"表 9.6. 随机函数\"><code>random(min, max)</code></a>，其参数可为 <code>integer</code>、<code>bigint</code> 和 <code>numeric</code> 类型的值。</p>", "text": "添加用于在指定范围内生成随机数的函数（Dean Rasheed）§ 这些函数是 random(min, max)，其参数可为 integer、bigint 和 numeric 类型的值。", "title": "添加用于在指定范围内生成随机数的函数", "commits": ["e6341323a"], "section": "函数", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-FUNCTIONS", "source_hash": "8a7e21c27820b56f351bdf30c437288bcf7182efc4557b3a2c44d744c09ec7c8", "section_path": ["函数"], "commit_groups": [["e6341323a"]], "identity_text": "Add functions to generate random numbers in a specified range (Dean Rasheed) The functions are random(min, max) and they take values of type integer, bigint, and numeric.", "commit_aliases": ["e6341323a"], "source_commits": ["e6341323a"], "source_entry_id": "17.0/changes/089", "db_id": "15f76b84a9cf872bac04242c665d6baf", "patch_ids": ["487fe43ea5826fdd1bd827f2dbfa3d8c"], "statement_hash": "2d790131c07f98882ff147f13c1ed85b4e631a47de66a6bb25cd12e9e13239d9", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-70100a8ca562fb61", "cves": [], "html": "<p>添加将整数转换为二进制和八进制字符串的函数（Eric Radman, Nathan Bossart）<a href=\"https://postgr.es/c/260a1f18d\">§</a></p>\n<p>这些函数是 <a href=\"/docs/17/functions-string.html#FUNCTIONS-STRING-OTHER\" title=\"表 9.10. 其他字符串函数和操作符\"><code>to_bin()</code></a> 和 <code>to_oct()</code>。</p>", "text": "添加将整数转换为二进制和八进制字符串的函数（Eric Radman, Nathan Bossart）§ 这些函数是 to_bin() 和 to_oct()。", "title": "添加将整数转换为二进制和八进制字符串的函数", "commits": ["260a1f18d"], "section": "函数", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-FUNCTIONS", "source_hash": "9b9d0f78bc2165c7d009f505c7b680d3abccc24486339914c69037cc042b40d2", "section_path": ["函数"], "commit_groups": [["260a1f18d"]], "identity_text": "Add functions to convert integers to binary and octal strings (Eric Radman, Nathan Bossart) The functions are to_bin() and to_oct().", "commit_aliases": ["260a1f18d"], "source_commits": ["260a1f18d"], "source_entry_id": "17.0/changes/090", "db_id": "e7ea8e9b047e9df45b8e052b1fe861b8", "patch_ids": ["b85ba41fc9ae02aae058e57694a4e20e"], "statement_hash": "cb8199f4455dc9385eea98bbbd277b341b818b5fc4509f10e332ebd9c7b0f8f5", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-4c0677f8341cdc5f", "cves": [], "html": "<p>添加 Unicode 信息函数（Jeff Davis）<a href=\"https://postgr.es/c/a02b37fc0\">§</a></p>\n<p>函数 <a href=\"/docs/17/functions-info.html#FUNCTIONS-INFO-VERSION\" title=\"9.27.11. 版本信息函数\"><code>unicode_version()</code></a> 返回 Unicode 版本，<code>icu_unicode_version()</code> 返回 <acronym>ICU</acronym> 版本，而 <code>unicode_assigned()</code> 返回字符是否已分配 Unicode 代码点。</p>", "text": "添加 Unicode 信息函数（Jeff Davis）§ 函数 unicode_version() 返回 Unicode 版本，icu_unicode_version() 返回 ICU 版本，而 unicode_assigned() 返回字符是否已分配 Unicode 代码点。", "title": "添加 Unicode 信息函数", "commits": ["a02b37fc0"], "section": "函数", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-FUNCTIONS", "source_hash": "cc44735a328c5003cc930a3cd22d093eb987f9f35465efa045b11f64f247c3b1", "section_path": ["函数"], "commit_groups": [["a02b37fc0"]], "identity_text": "Add Unicode informational functions (Jeff Davis) Function unicode_version() returns the Unicode version, icu_unicode_version() returns the ICU version, and unicode_assigned() returns if the characters are assigned Unicode codepoints.", "commit_aliases": ["a02b37fc0"], "source_commits": ["a02b37fc0"], "source_entry_id": "17.0/changes/091", "db_id": "d461ed69798162833d67b79760bc6525", "patch_ids": ["79931fb543631c90cf16f622153dcdc3"], "statement_hash": "a1d1655351883763ed2a864b4deec2ce5e85fccaea293c517129d5e0c9702f96", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-f1a812077d590a07", "cves": [], "html": "<p>添加函数 <a href=\"/docs/17/functions-xml.html#FUNCTIONS-PRODUCING-XML-XMLTEXT\" title=\"9.15.1.1. xmltext\"><code>xmltext()</code></a>，用于将文本转换为单个 <code>XML</code> 文本节点（Jim Jones）<a href=\"https://postgr.es/c/526fe0d79\">§</a></p>", "text": "添加函数 xmltext()，用于将文本转换为单个 XML 文本节点（Jim Jones）§", "title": "添加函数 xmltext()，用于将文本转换为单个 XML 文本节点", "commits": ["526fe0d79"], "section": "函数", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-FUNCTIONS", "source_hash": "a8547f5cf6e52679045cac92e08ad98b7c6ed7bd7e428b1d7933b00151b10475", "section_path": ["函数"], "commit_groups": [["526fe0d79"]], "identity_text": "Add function xmltext() to convert text to a single XML text node (Jim Jones)", "commit_aliases": ["526fe0d79"], "source_commits": ["526fe0d79"], "source_entry_id": "17.0/changes/092", "db_id": "1877441fdff0113af5f67821ab127f39", "patch_ids": ["9c6951624d11cf3d980c925a55d8604b"], "statement_hash": "603c2a1c52b94398ad4435b66a1a0c7ea097cc75143f6817eadf051c5692a51d", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-c1bb2831f5dc6038", "cves": [], "html": "<p>添加函数 <a href=\"/docs/17/functions-info.html#FUNCTIONS-INFO-CATALOG-TABLE\" title=\"表 9.74. 系统目录信息函数\"><code>to_regtypemod()</code></a>，用于返回类型说明的类型修饰符（David Wheeler, Erik Wienhold）<a href=\"https://postgr.es/c/1218ca995\">§</a></p>", "text": "添加函数 to_regtypemod()，用于返回类型说明的类型修饰符（David Wheeler, Erik Wienhold）§", "title": "添加函数 to_regtypemod()，用于返回类型说明的类型修饰符", "commits": ["1218ca995"], "section": "函数", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-FUNCTIONS", "source_hash": "31b0aef9ac9e882d085f454104b14628907596f21025d6090bf9be74e6fa58e4", "section_path": ["函数"], "commit_groups": [["1218ca995"]], "identity_text": "Add function to_regtypemod() to return the type modifier of a type specification (David Wheeler, Erik Wienhold)", "commit_aliases": ["1218ca995"], "source_commits": ["1218ca995"], "source_entry_id": "17.0/changes/093", "db_id": "243583233ea3761d5c32bc0a323576bb", "patch_ids": ["eee42d82f43164744d81f88a590991e5"], "statement_hash": "88fe82e132fbfb440b0373e765d49d5eff84d502cbf9ed87c8f952702df07468", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-559f5e1ec1cfec05", "cves": [], "html": "<p>添加函数 <a href=\"/docs/17/functions-info.html#FUNCTIONS-INFO-CATALOG-TABLE\" title=\"表 9.74. 系统目录信息函数\"><code>pg_basetype()</code></a>，用于返回域的基础类型（Steve Chavez）<a href=\"https://postgr.es/c/b154d8a6d\">§</a></p>", "text": "添加函数 pg_basetype()，用于返回域的基础类型（Steve Chavez）§", "title": "添加函数 pg_basetype()，用于返回域的基础类型", "commits": ["b154d8a6d"], "section": "函数", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-FUNCTIONS", "source_hash": "159230e4dc9d755ccc2796fcb674ef0c6b101fcaea5c451a972ef93023aa68fc", "section_path": ["函数"], "commit_groups": [["b154d8a6d"]], "identity_text": "Add pg_basetype() function to return a domain's base type (Steve Chavez)", "commit_aliases": ["b154d8a6d"], "source_commits": ["b154d8a6d"], "source_entry_id": "17.0/changes/094", "db_id": "1ac6aae931b6885a5a1689d1feca85be", "patch_ids": ["041c481b6638d7c950ec3b00379b1cda"], "statement_hash": "e0870c59d10b8c2c382a4f599f5b3e18b71c988021e88534d3592f4e89f1db87", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-db4f7869884326c5", "cves": [], "html": "<p>添加函数 <a href=\"/docs/17/functions-admin.html#FUNCTIONS-ADMIN-DBSIZE\" title=\"表 9.100. 数据库对象尺寸函数\"><code>pg_column_toast_chunk_id()</code></a>，用于返回某个值的 <a href=\"/docs/17/storage-toast.html\" title=\"65.2. TOAST\"><acronym>TOAST</acronym></a> 标识符（Yugo Nagata）<a href=\"https://postgr.es/c/d1162cfda\">§</a></p>\n<p>如果该值未存储在 <acronym>TOAST</acronym> 中，则返回 <code>NULL</code>。</p>", "text": "添加函数 pg_column_toast_chunk_id()，用于返回某个值的 TOAST 标识符（Yugo Nagata）§ 如果该值未存储在 TOAST 中，则返回 NULL。", "title": "添加函数 pg_column_toast_chunk_id()，用于返回某个值的 TOAST 标识符", "commits": ["d1162cfda"], "section": "函数", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-FUNCTIONS", "source_hash": "89b555b5746d659d0b70ee1ae06db67f62b70fa77a20a2a75ef5bcee32bdad4c", "section_path": ["函数"], "commit_groups": [["d1162cfda"]], "identity_text": "Add function pg_column_toast_chunk_id() to return a value's TOAST identifier (Yugo Nagata) This returns NULL if the value is not stored in TOAST.", "commit_aliases": ["d1162cfda"], "source_commits": ["d1162cfda"], "source_entry_id": "17.0/changes/095", "db_id": "63d8497e4d9efcd3afe8781f8345c5a2", "patch_ids": ["a55e787266d1dd8899bfb8744ace2c9e"], "statement_hash": "aeb0aaf8e1c69a242a8a4eccd846a7c4ae99ec503f7418091059cd8d67a0228b", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-82dca12de35b6b18", "cves": [], "html": "<p>允许 plpgsql 的 <a href=\"/docs/17/plpgsql-declarations.html#PLPGSQL-DECLARATION-TYPE\" title=\"41.3.3. 复制类型\"><code>%TYPE</code></a> 和 <code>%ROWTYPE</code> 说明表示非数组类型的数组（Quan Zongliang, Pavel Stehule）<a href=\"https://postgr.es/c/5e8674dc8\">§</a></p>", "text": "允许 plpgsql 的 %TYPE 和 %ROWTYPE 说明表示非数组类型的数组（Quan Zongliang, Pavel Stehule）§", "title": "允许 plpgsql 的 %TYPE 和 %ROWTYPE 说明表示非数组类型的数组", "commits": ["5e8674dc8"], "section": "PL/pgSQL", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-PLPGSQL", "source_hash": "d2d82be0430588de611f07e64029399a56514fd2ccf8e80fb469c30f20202b2c", "section_path": ["PL/pgSQL"], "commit_groups": [["5e8674dc8"]], "identity_text": "Allow plpgsql %TYPE and %ROWTYPE specifications to represent arrays of non-array types (Quan Zongliang, Pavel Stehule)", "commit_aliases": ["5e8674dc8"], "source_commits": ["5e8674dc8"], "source_entry_id": "17.0/changes/096", "db_id": "27417eec43c1f8b072777de9836477dd", "patch_ids": ["991a7837ed74853ade1ccbe83142e661"], "statement_hash": "d7f7c1a225fbb8c7456af5a794b6bf2e168476b0fa702e72a124cc016c4f5f5b", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-a8e1488e653aa8bd", "cves": [], "html": "<p>允许 plpgsql 的 <code>%TYPE</code> 说明引用复合列（Tom Lane）<a href=\"https://postgr.es/c/43b46aae1\">§</a></p>", "text": "允许 plpgsql 的 %TYPE 说明引用复合列（Tom Lane）§", "title": "允许 plpgsql 的 %TYPE 说明引用复合列", "commits": ["43b46aae1"], "section": "PL/pgSQL", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-PLPGSQL", "source_hash": "8fb53a2c86d97e1743dbbae9deedea2ff680d532e4f352320f737685f43c6d78", "section_path": ["PL/pgSQL"], "commit_groups": [["43b46aae1"]], "identity_text": "Allow plpgsql %TYPE specification to reference composite column (Tom Lane)", "commit_aliases": ["43b46aae1"], "source_commits": ["43b46aae1"], "source_entry_id": "17.0/changes/097", "db_id": "9219928ca5c3c63ead4103ee4da5e78e", "patch_ids": ["3cf692449e6e9aff99468579d31d1c7b"], "statement_hash": "23c35f3cfba2e9ae18301738baf9d3427a025672ca765e43b2d92f71ad17bb47", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-8f1363ef60c2ee48", "cves": [], "html": "<p>添加用于更改角色密码的 libpq 函数（Joe Conway）<a href=\"https://postgr.es/c/a7be2a6c2\">§</a></p>\n<p>新函数 <a href=\"/docs/17/libpq-misc.html#LIBPQ-PQCHANGEPASSWORD\"><code>PQchangePassword()</code></a> 会在将新密码发送到服务器之前先对其进行 hash 运算。</p>", "text": "添加用于更改角色密码的 libpq 函数（Joe Conway）§ 新函数 PQchangePassword() 会在将新密码发送到服务器之前先对其进行 hash 运算。", "title": "添加用于更改角色密码的 libpq 函数", "commits": ["a7be2a6c2"], "section": "libpq", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-LIBPQ", "source_hash": "9fc576c104bc59f8fbf48e1e63483098eb99a4c5d90785bc6b0d201c892484cf", "section_path": ["libpq"], "commit_groups": [["a7be2a6c2"]], "identity_text": "Add libpq function to change role passwords (Joe Conway) The new function, PQchangePassword(), hashes the new password before sending it to the server.", "commit_aliases": ["a7be2a6c2"], "source_commits": ["a7be2a6c2"], "source_entry_id": "17.0/changes/098", "db_id": "15829665cb6976b143b7486cff36a909", "patch_ids": ["7464bef8a4865a6f9545e62e22109345"], "statement_hash": "5133f17d17db2d9bdf071e8102e6f07998fd2a0144edc54550b05dcdb95a96d2", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-c80a0f021b695098", "cves": [], "html": "<p>添加用于关闭 portal 和预备语句的 libpq 函数（Jelte Fennema-Nio）<a href=\"https://postgr.es/c/28b572656\">§</a></p>\n<p>这些函数是 <a href=\"/docs/17/libpq-exec.html#LIBPQ-PQCLOSEPREPARED\"><code>PQclosePrepared()</code></a>、<a href=\"/docs/17/libpq-exec.html#LIBPQ-PQCLOSEPORTAL\"><code>PQclosePortal()</code></a>、<a href=\"/docs/17/libpq-async.html#LIBPQ-PQSENDCLOSEPREPARED\"><code>PQsendClosePrepared()</code></a> 以及 <a href=\"/docs/17/libpq-async.html#LIBPQ-PQSENDCLOSEPORTAL\"><code>PQsendClosePortal()</code></a>。</p>", "text": "添加用于关闭 portal 和预备语句的 libpq 函数（Jelte Fennema-Nio）§ 这些函数是 PQclosePrepared()、PQclosePortal()、PQsendClosePrepared() 以及 PQsendClosePortal()。", "title": "添加用于关闭 portal 和预备语句的 libpq 函数", "commits": ["28b572656"], "section": "libpq", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-LIBPQ", "source_hash": "ab56a143b585bdba8c62b390dc65d84b22d44fb878c5b2daa1d68049be1ee8b6", "section_path": ["libpq"], "commit_groups": [["28b572656"]], "identity_text": "Add libpq functions to close portals and prepared statements (Jelte Fennema-Nio) The functions are PQclosePrepared(), PQclosePortal(), PQsendClosePrepared(), and PQsendClosePortal().", "commit_aliases": ["28b572656"], "source_commits": ["28b572656"], "source_entry_id": "17.0/changes/099", "db_id": "bc87b74f9a0f17afe1a8ebc55c34a059", "patch_ids": ["0889393c3a80d3b2375dc7514ff6ce53"], "statement_hash": "5b993bad378b1ae709505bb74f286b257857b424ad8c211f48e92006b5919bc8", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-d7d9937299d79c81", "cves": [], "html": "<p>添加 libpq <acronym>API</acronym>，允许发起阻塞和非阻塞的<a href=\"/docs/17/libpq-cancel.html\" title=\"32.7. 取消进行中的查询\">取消请求</a>，并在已启用加密时使用加密（Jelte Fennema-Nio）<a href=\"https://postgr.es/c/61461a300\">§</a></p>\n<p>先前只支持阻塞且未加密的取消请求。</p>", "text": "添加 libpq API，允许发起阻塞和非阻塞的取消请求，并在已启用加密时使用加密（Jelte Fennema-Nio）§ 先前只支持阻塞且未加密的取消请求。", "title": "添加 libpq API，允许发起阻塞和非阻塞的取消请求，并在已启用加密时使用加密", "commits": ["61461a300"], "section": "libpq", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-LIBPQ", "source_hash": "d54e119a239b7eb1cae8c3130cd0674ae27b7ef92186f73d91ffc7bf6852ad29", "section_path": ["libpq"], "commit_groups": [["61461a300"]], "identity_text": "Add libpq API which allows for blocking and non-blocking cancel requests, with encryption if already in use (Jelte Fennema-Nio) Previously only blocking, unencrypted cancel requests were supported.", "commit_aliases": ["61461a300"], "source_commits": ["61461a300"], "source_entry_id": "17.0/changes/100", "db_id": "c41ab395c090156bd1e99f1f0bcb60ee", "patch_ids": ["895b811a613eec2d6f1b1e045c75002d"], "statement_hash": "dc23fb5befb8e28cecd4ba96534d7c822571aae4d3edc69402ad77c648851df8", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-70a8f09f04e91acb", "cves": [], "html": "<p>添加 libpq 函数 <a href=\"/docs/17/libpq-connect.html#LIBPQ-PQSOCKETPOLL\"><code>PQsocketPoll()</code></a>，以允许对网络套接字进行轮询（Tristan Partin, Tom Lane）<a href=\"https://postgr.es/c/f5e4dedfa\">§</a> <a href=\"https://postgr.es/c/105024a47\">§</a></p>", "text": "添加 libpq 函数 PQsocketPoll()，以允许对网络套接字进行轮询（Tristan Partin, Tom Lane）§ §", "title": "添加 libpq 函数 PQsocketPoll()，以允许对网络套接字进行轮询", "commits": ["105024a47", "f5e4dedfa"], "section": "libpq", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-LIBPQ", "source_hash": "48303b5fe0787d7cd3241263413ef7e33b22fedf5103c236ffab2bcab83e5853", "section_path": ["libpq"], "commit_groups": [["105024a47"], ["f5e4dedfa"]], "identity_text": "Add libpq function PQsocketPoll() to allow polling of network sockets (Tristan Partin, Tom Lane)", "commit_aliases": ["105024a47", "f5e4dedfa"], "source_commits": ["105024a47", "f5e4dedfa"], "source_entry_id": "17.0/changes/101", "db_id": "cbaf3bd64377062f45eb643434a082da", "patch_ids": ["1d6b53edfe0dfa07054804b7886c5f0f", "5dc602181eb1c14c50c7859db0730c15"], "statement_hash": "c22c6425617054d93f26eb1659d3959ffeff78ab6808c2b85d4884450d064a1d", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-6c38a752a789111c", "cves": [], "html": "<p>添加 libpq 函数 <a href=\"/docs/17/libpq-pipeline-mode.html#LIBPQ-PQSENDPIPELINESYNC\"><code>PQsendPipelineSync()</code></a>，用于发送管道同步点（Anton Kirilov）<a href=\"https://postgr.es/c/4794c2d31\">§</a></p>\n<p>这与 <a href=\"/docs/17/libpq-pipeline-mode.html#LIBPQ-PQPIPELINESYNC\"><code>PQpipelineSync()</code></a> 类似，但除非达到输出缓冲区的大小阈值，否则不会将数据刷新到服务器。</p>", "text": "添加 libpq 函数 PQsendPipelineSync()，用于发送管道同步点（Anton Kirilov）§ 这与 PQpipelineSync() 类似，但除非达到输出缓冲区的大小阈值，否则不会将数据刷新到服务器。", "title": "添加 libpq 函数 PQsendPipelineSync()，用于发送管道同步点", "commits": ["4794c2d31"], "section": "libpq", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-LIBPQ", "source_hash": "8189d6207100374bd35e8290afa5e52e847ee3e93677bccbfa70981e5e50a7af", "section_path": ["libpq"], "commit_groups": [["4794c2d31"]], "identity_text": "Add libpq function PQsendPipelineSync() to send a pipeline synchronization point (Anton Kirilov) This is similar to PQpipelineSync() but it does not flush to the server unless the size threshold of the output buffer is reached.", "commit_aliases": ["4794c2d31"], "source_commits": ["4794c2d31"], "source_entry_id": "17.0/changes/102", "db_id": "fec589edef84133148b8e4f4604a3e3b", "patch_ids": ["3d5d00ece3bd96007583518d3b3e0e60"], "statement_hash": "f24a3ad0b4080f9dcdaae066bff38f70a2920434f9e3854a6b1890794b058986", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-3b4a443271748749", "cves": [], "html": "<p>添加 libpq 函数 <a href=\"/docs/17/libpq-single-row-mode.html#LIBPQ-PQSETCHUNKEDROWSMODE\"><code>PQsetChunkedRowsMode()</code></a>，以允许分块获取结果（Daniel Vérité）<a href=\"https://postgr.es/c/4643a2b26\">§</a></p>", "text": "添加 libpq 函数 PQsetChunkedRowsMode()，以允许分块获取结果（Daniel Vérité）§", "title": "添加 libpq 函数 PQsetChunkedRowsMode()，以允许分块获取结果", "commits": ["4643a2b26"], "section": "libpq", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-LIBPQ", "source_hash": "8aa8cff2a847cbac68b2ae2a469967a4cf97cc0874f466b050a47300adc8f9df", "section_path": ["libpq"], "commit_groups": [["4643a2b26"]], "identity_text": "Add libpq function PQsetChunkedRowsMode() to allow retrieval of results in chunks (Daniel Vérité)", "commit_aliases": ["4643a2b26"], "source_commits": ["4643a2b26"], "source_entry_id": "17.0/changes/103", "db_id": "165ca2b770af42738a526033a6a7fa80", "patch_ids": ["ab07549493f029cf0fa1f28f879b6f5f"], "statement_hash": "3927bb31374c19f76299bfb5efb43c7cd17dbc30022d8220b2040405cd597014", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-f7ebd67eecc76635", "cves": [], "html": "<p>允许 <acronym>TLS</acronym> 连接无需网络往返协商（Greg Stark, Heikki Linnakangas, Peter Eisentraut, Michael Paquier, Daniel Gustafsson）<a href=\"https://postgr.es/c/d39a49c1e\">§</a> <a href=\"https://postgr.es/c/91044ae4b\">§</a> <a href=\"https://postgr.es/c/44e27f0a6\">§</a> <a href=\"https://postgr.es/c/d80f2ce29\">§</a> <a href=\"https://postgr.es/c/03a0e0d4b\">§</a> <a href=\"https://postgr.es/c/17a834a04\">§</a> <a href=\"https://postgr.es/c/407e0b023\">§</a> <a href=\"https://postgr.es/c/fb5718f35\">§</a></p>\n<p>这通过客户端选项 <a href=\"/docs/17/libpq-connect.html#LIBPQ-CONNECT-SSLNEGOTIATION\"><code>sslnegotiation=direct</code></a>，启用，需要 <acronym>ALPN</acronym>，并且仅适用于 <span>PostgreSQL</span> 17 及更高版本的服务器。</p>", "text": "允许 TLS 连接无需网络往返协商（Greg Stark, Heikki Linnakangas, Peter Eisentraut, Michael Paquier, Daniel Gustafsson）§ § § § § § § § 这通过客户端选项 sslnegotiation=direct，启用，需要 ALPN，并且仅适用于 PostgreSQL 17 及更高版本的服务器。", "title": "允许 TLS 连接无需网络往返协商", "commits": ["03a0e0d4b", "17a834a04", "407e0b023", "44e27f0a6", "91044ae4b", "d39a49c1e", "d80f2ce29", "fb5718f35"], "section": "libpq", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-LIBPQ", "source_hash": "f68bb7d963740e1fac33c19d5831fce83b430b07aad2b1e8c08df801f63fe84f", "section_path": ["libpq"], "commit_groups": [["03a0e0d4b"], ["17a834a04"], ["407e0b023"], ["44e27f0a6"], ["91044ae4b"], ["d39a49c1e"], ["d80f2ce29"], ["fb5718f35"]], "identity_text": "Allow TLS connections without requiring a network round-trip negotiation (Greg Stark, Heikki Linnakangas, Peter Eisentraut, Michael Paquier, Daniel Gustafsson) This is enabled with the client-side option sslnegotiation=direct, requires ALPN, and only works on PostgreSQL 17 and later servers.", "commit_aliases": ["03a0e0d4b", "17a834a04", "407e0b023", "44e27f0a6", "91044ae4b", "d39a49c1e", "d80f2ce29", "fb5718f35"], "source_commits": ["03a0e0d4b", "17a834a04", "407e0b023", "44e27f0a6", "91044ae4b", "d39a49c1e", "d80f2ce29", "fb5718f35"], "source_entry_id": "17.0/changes/104", "db_id": "fb19ddd358bfbe1c1292f9b00df8a32f", "patch_ids": ["0859fade916556a425d8d800b9b339e3", "3977f3fad04ce8a2b910b61e555db125", "51564b11e695ac56a10791153869fe5e", "6251866539f346c6cb889d2fa2d25f55", "682c4e3071cd582a50bb0e71fda920b3", "88ec9faec3acf974fc1e2b60029bc059", "916ece1653632e038584ec18ff29655e", "aa89e4b3b0a69caec96cfd02910b6cfe"], "statement_hash": "749c6dad575a6af589dc46a8832a99dd52f11e5f0daf4d29c7c76d203ff294b0", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-25d32605e982883f-1", "cves": [], "html": "<p>改进 <span>psql</span> 对默认权限和空权限的显示（Erik Wienhold, Laurenz Albe）<a href=\"https://postgr.es/c/d1379ebf4\">§</a></p>\n<p><code>\\dp</code> 命令现在对空权限显示 <code>(none)</code>；默认权限仍显示为空。</p>", "text": "改进 psql 对默认权限和空权限的显示（Erik Wienhold, Laurenz Albe）§ \\dp 命令现在对空权限显示 (none)；默认权限仍显示为空。", "title": "改进 psql 对默认权限和空权限的显示", "commits": ["d1379ebf4"], "section": "psql", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-PSQL", "source_hash": "d4afbedc055942c8a9811944814c172c0d0ba38bfc5a8232093abd9e0db38e13", "section_path": ["psql"], "commit_groups": [["d1379ebf4"]], "identity_text": "Improve psql display of default and empty privileges (Erik Wienhold, Laurenz Albe) Command \\dp now displays (none) for empty privileges; default still displays as empty.", "commit_aliases": ["d1379ebf4"], "source_commits": ["d1379ebf4"], "source_entry_id": "17.0/changes/105", "db_id": "a3feb7cbb6e76e80ed09f7b28383c023", "patch_ids": ["842b2ae80cd9f3d47a7a7e791f8289a8"], "statement_hash": "55a4a8f4f1450e89b21e7fe47bcac030b79e7db736f92f904303eb06839cba7c", "relations": [{"rule": 2, "type": "related", "target": "d8a972240c18977c1d8140fe0ed0dce3", "evidence": {"same_day": true, "patch_ids": ["842b2ae80cd9f3d47a7a7e791f8289a8"], "ambiguous_patch_ids": ["842b2ae80cd9f3d47a7a7e791f8289a8"]}}], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": [{"db_id": "d8a972240c18977c1d8140fe0ed0dce3", "kind": "related", "version": "17.0", "label": "17.0", "title": "使反斜杠命令遵循 \\pset null", "evidence": {"same_day": true, "patch_ids": ["842b2ae80cd9f3d47a7a7e791f8289a8"], "ambiguous_patch_ids": ["842b2ae80cd9f3d47a7a7e791f8289a8"]}, "url": "/docs/compare/?release=17.0#17.0-25d32605e982883f-2", "source_url": "/docs/release/17.0/#RELEASE-17-PSQL"}]}, {"id": "17.0-25d32605e982883f-2", "cves": [], "html": "<p>使反斜杠命令遵循 <code>\\pset null</code>（Erik Wienhold, Laurenz Albe）<a href=\"https://postgr.es/c/d1379ebf4\">§</a></p>\n<p>先前 <code>\\pset null</code> 会被忽略。</p>", "text": "使反斜杠命令遵循 \\pset null（Erik Wienhold, Laurenz Albe）§ 先前 \\pset null 会被忽略。", "title": "使反斜杠命令遵循 \\pset null", "commits": ["d1379ebf4"], "section": "psql", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-PSQL", "source_hash": "5689d9179a0d774614c82a48d411ff08f745291a58b25bbdff92ea18d479bd74", "section_path": ["psql"], "commit_groups": [["d1379ebf4"]], "identity_text": "Have backslash commands honor \\pset null (Erik Wienhold, Laurenz Albe) Previously \\pset null was ignored.", "commit_aliases": ["d1379ebf4"], "source_commits": ["d1379ebf4"], "source_entry_id": "17.0/changes/106", "db_id": "d8a972240c18977c1d8140fe0ed0dce3", "patch_ids": ["842b2ae80cd9f3d47a7a7e791f8289a8"], "statement_hash": "f692c90220e75dc03007d5e5881cea74d5ea774be7f28b89b2d90f17facccfe9", "relations": [{"rule": 2, "type": "related", "target": "a3feb7cbb6e76e80ed09f7b28383c023", "evidence": {"same_day": true, "patch_ids": ["842b2ae80cd9f3d47a7a7e791f8289a8"], "ambiguous_patch_ids": ["842b2ae80cd9f3d47a7a7e791f8289a8"]}}], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": [{"db_id": "a3feb7cbb6e76e80ed09f7b28383c023", "kind": "related", "version": "17.0", "label": "17.0", "title": "改进 psql 对默认权限和空权限的显示", "evidence": {"same_day": true, "patch_ids": ["842b2ae80cd9f3d47a7a7e791f8289a8"], "ambiguous_patch_ids": ["842b2ae80cd9f3d47a7a7e791f8289a8"]}, "url": "/docs/compare/?release=17.0#17.0-25d32605e982883f-1", "source_url": "/docs/release/17.0/#RELEASE-17-PSQL"}]}, {"id": "17.0-3334181adffd92fa", "cves": [], "html": "<p>允许 <span>psql</span> 的 <code>\\watch</code> 在返回行数达到最小值后停止（Greg Sabino Mullane）<a href=\"https://postgr.es/c/f347ec76e\">§</a></p>\n<p>该参数是 <code>min_rows</code>。</p>", "text": "允许 psql 的 \\watch 在返回行数达到最小值后停止（Greg Sabino Mullane）§ 该参数是 min_rows。", "title": "允许 psql 的 \\watch 在返回行数达到最小值后停止", "commits": ["f347ec76e"], "section": "psql", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-PSQL", "source_hash": "7107b65aadf1179e0ea1259bb1b753457a6a68c9b73cee13845f7e5b6618a0d6", "section_path": ["psql"], "commit_groups": [["f347ec76e"]], "identity_text": "Allow psql's \\watch to stop after a minimum number of rows returned (Greg Sabino Mullane) The parameter is min_rows.", "commit_aliases": ["f347ec76e"], "source_commits": ["f347ec76e"], "source_entry_id": "17.0/changes/107", "db_id": "45ff7c8c03d6e4103c9e41abb47b1842", "patch_ids": ["8fed80202eb4723f794e4f8125adef5c"], "statement_hash": "dfa38800684886dcdb5c7fe6179c692535d6511a0ae88ffa932b5c3c42306105", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-cfdb9648451933ed", "cves": [], "html": "<p>允许使用 control-C 取消 <span>psql</span> 的连接尝试（Tristan Partin）<a href=\"https://postgr.es/c/cafe10565\">§</a></p>", "text": "允许使用 control-C 取消 psql 的连接尝试（Tristan Partin）§", "title": "允许使用 control-C 取消 psql 的连接尝试", "commits": ["cafe10565"], "section": "psql", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-PSQL", "source_hash": "a229fbb00722a40bf043a201d2213121b68758f1fc7a9696ec6f512a332219de", "section_path": ["psql"], "commit_groups": [["cafe10565"]], "identity_text": "Allow psql connection attempts to be canceled with control-C (Tristan Partin)", "commit_aliases": ["cafe10565"], "source_commits": ["cafe10565"], "source_entry_id": "17.0/changes/108", "db_id": "49dd3ce0aded54b35e4242824e547154", "patch_ids": ["3ad09a5ea75ff8abcb322c7fb9ec1ea8"], "statement_hash": "32418ca3ad990c96973186460ab2da2a7d3a31af0f39d15632c0ec4506068398", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-977aedb721071846", "cves": [], "html": "<p>允许 <span>psql</span> 在非 <code>SELECT</code> 查询中遵循 <code>FETCH_COUNT</code>（Daniel Vérité）<a href=\"https://postgr.es/c/90f517821\">§</a></p>", "text": "允许 psql 在非 SELECT 查询中遵循 FETCH_COUNT（Daniel Vérité）§", "title": "允许 psql 在非 SELECT 查询中遵循 FETCH_COUNT", "commits": ["90f517821"], "section": "psql", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-PSQL", "source_hash": "5b873d1cc1fefc393c34e069c2986b611c283c347cc6c996df3412f2cb25de75", "section_path": ["psql"], "commit_groups": [["90f517821"]], "identity_text": "Allow psql to honor FETCH_COUNT for non-SELECT queries (Daniel Vérité)", "commit_aliases": ["90f517821"], "source_commits": ["90f517821"], "source_entry_id": "17.0/changes/109", "db_id": "39a7fad6f3d8673b8fb6a1a7dc7d81be", "patch_ids": ["f9a1e3c0862a9d53dd1a1ad0eab6ecc7"], "statement_hash": "83d091a0e7acbf30315e09e51164b1345c97a8a59b2b9ed1517b7ce088a9797d", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-93a6ad1bd3c065d9", "cves": [], "html": "<p>改进 <span>psql</span> 的 Tab 补全（Dagfinn Ilmari Mannsåker, Gilles Darold, Christoph Heiss, Steve Chavez, Vignesh C, Pavel Borisov, Jian He）<a href=\"https://postgr.es/c/c951e9042\">§</a> <a href=\"https://postgr.es/c/d16eb83ab\">§</a> <a href=\"https://postgr.es/c/cd3424748\">§</a> <a href=\"https://postgr.es/c/816f10564\">§</a> <a href=\"https://postgr.es/c/927332b95\">§</a> <a href=\"https://postgr.es/c/f1bb9284f\">§</a> <a href=\"https://postgr.es/c/304b6b1a6\">§</a> <a href=\"https://postgr.es/c/2800fbb2b\">§</a></p>", "text": "改进 psql 的 Tab 补全（Dagfinn Ilmari Mannsåker, Gilles Darold, Christoph Heiss, Steve Chavez, Vignesh C, Pavel Borisov, Jian He）§ § § § § § § §", "title": "改进 psql 的 Tab 补全", "commits": ["2800fbb2b", "304b6b1a6", "816f10564", "927332b95", "c951e9042", "cd3424748", "d16eb83ab", "f1bb9284f"], "section": "psql", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-PSQL", "source_hash": "5ec74edd9164024c9c6f26a998c983938ae467504edf3382816a070717dd2cb9", "section_path": ["psql"], "commit_groups": [["2800fbb2b"], ["304b6b1a6"], ["816f10564"], ["927332b95"], ["c951e9042"], ["cd3424748"], ["d16eb83ab"], ["f1bb9284f"]], "identity_text": "Improve psql tab completion (Dagfinn Ilmari Mannsåker, Gilles Darold, Christoph Heiss, Steve Chavez, Vignesh C, Pavel Borisov, Jian He)", "commit_aliases": ["2800fbb2b", "304b6b1a6", "816f10564", "927332b95", "c951e9042", "cd3424748", "d16eb83ab", "f1bb9284f"], "source_commits": ["2800fbb2b", "304b6b1a6", "816f10564", "927332b95", "c951e9042", "cd3424748", "d16eb83ab", "f1bb9284f"], "source_entry_id": "17.0/changes/110", "db_id": "8a83a68cf9c642d6f0d81dd5c4538939", "patch_ids": ["30b0e0d67c96e1af3a5dcb5764554836", "322a658f6fe8acba4737659a5aa67064", "47b0c548f88b8732b47e85c8d15f6508", "4c89f0d9a6a6f19c5e8f969fa03dc795", "89e3073da799734a59c68448468364a2", "8f0cd536103759c943a4a1f4310b1a31", "9913c02b11bf9cd854643f389b9fbb2f", "9fbd7907ba6c4447e8fcd062aed96976"], "statement_hash": "0e0c30574ccccd247ef0267b9022929d97ae219ca405903d917fa8b9c007e2fd", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-3289f2c3702b97c1", "cves": [], "html": "<p>添加应用程序<a href=\"/docs/17/app-pgwalsummary.html\" title=\"pg_walsummary\"><span>pg_walsummary</span></a>，用于转储 <acronym>WAL</acronym> 摘要文件（Robert Haas）<a href=\"https://postgr.es/c/ee1bfd168\">§</a></p>", "text": "添加应用程序pg_walsummary，用于转储 WAL 摘要文件（Robert Haas）§", "title": "添加应用程序pg_walsummary，用于转储 WAL 摘要文件", "commits": ["ee1bfd168"], "section": "服务器应用", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-SERVER-APPS", "source_hash": "be92d8f8d514c31de3e7864da8bc02d1082f90ce243b5ac0122a1f15ca057984", "section_path": ["服务器应用"], "commit_groups": [["ee1bfd168"]], "identity_text": "Add application pg_walsummary to dump WAL summary files (Robert Haas)", "commit_aliases": ["ee1bfd168"], "source_commits": ["ee1bfd168"], "source_entry_id": "17.0/changes/111", "db_id": "d3dc6ba36a8f40a3270798a39dc903da", "patch_ids": ["17673204e54def221f01494b2d75083a"], "statement_hash": "4e29b800a84b12f2c104da5f4dede1f0b3f3c8b23e25b94008bff0587ef561d2", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-383c090b1fcc8262", "cves": [], "html": "<p>允许<a href=\"/docs/17/app-pgdump.html\" title=\"pg_dump\"><span>pg_dump</span></a>的大型对象分批恢复（Tom Lane）<a href=\"https://postgr.es/c/a45c78e32\">§</a></p>\n<p>这使大量大型对象的恢复能够避开事务限制，并支持并行恢复。</p>", "text": "允许pg_dump的大型对象分批恢复（Tom Lane）§ 这使大量大型对象的恢复能够避开事务限制，并支持并行恢复。", "title": "允许pg_dump的大型对象分批恢复", "commits": ["a45c78e32"], "section": "服务器应用", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-SERVER-APPS", "source_hash": "e19c0d4e8698607c86d131f57ccec046853a089f8dbd7ba4f7ec1e2a0f642799", "section_path": ["服务器应用"], "commit_groups": [["a45c78e32"]], "identity_text": "Allow pg_dump's large objects to be restorable in batches (Tom Lane) This allows the restoration of many large objects to avoid transaction limits and to be restored in parallel.", "commit_aliases": ["a45c78e32"], "source_commits": ["a45c78e32"], "source_entry_id": "17.0/changes/112", "db_id": "062c082924121dc8b43d7d09e1fa17d4", "patch_ids": ["01587d1147cb509a46ece174e411b501"], "statement_hash": "d574aaffe562e11a8f628d13c56040f9dbe7164043c409abcf6ab7703802d162", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-58a8f8f586d29467", "cves": [], "html": "<p>添加 <span>pg_dump</span> 选项 <code>--exclude-extension</code>（Ayush Vatsa）<a href=\"https://postgr.es/c/522ed12f7\">§</a></p>", "text": "添加 pg_dump 选项 --exclude-extension（Ayush Vatsa）§", "title": "添加 pg_dump 选项 --exclude-extension", "commits": ["522ed12f7"], "section": "服务器应用", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-SERVER-APPS", "source_hash": "09f31e6990e10c24ef444387656c434b2c3127d0f34794bc1853569e1a269e09", "section_path": ["服务器应用"], "commit_groups": [["522ed12f7"]], "identity_text": "Add pg_dump option --exclude-extension (Ayush Vatsa)", "commit_aliases": ["522ed12f7"], "source_commits": ["522ed12f7"], "source_entry_id": "17.0/changes/113", "db_id": "c720c385368aecd31b17498de49a0e31", "patch_ids": ["955aad17a791ac5c652f14bb03633841"], "statement_hash": "4b3a5ac8af8590ad6d797832622ecb139520115a75a5d57e67d899f1f2fdd40a", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-1c019602b8c4664f", "cves": [], "html": "<p>允许<a href=\"/docs/17/app-pgdump.html\" title=\"pg_dump\"><span>pg_dump</span></a>、<a href=\"/docs/17/app-pg-dumpall.html\" title=\"pg_dumpall\"><span>pg_dumpall</span></a>和<a href=\"/docs/17/app-pgrestore.html\" title=\"pg_restore\"><span>pg_restore</span></a>在文件中指定要包含或排除的对象（Pavel Stehule, Daniel Gustafsson）<a href=\"https://postgr.es/c/a5cf808be\">§</a></p>\n<p>该选项名为 <code>--filter</code>。</p>", "text": "允许pg_dump、pg_dumpall和pg_restore在文件中指定要包含或排除的对象（Pavel Stehule, Daniel Gustafsson）§ 该选项名为 --filter。", "title": "允许pg_dump、pg_dumpall和pg_restore在文件中指定要包含或排除的对象", "commits": ["a5cf808be"], "section": "服务器应用", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-SERVER-APPS", "source_hash": "01c1d7619eb94b800b69c839e53f60adf6ec57e8bdedb78c92cbac9d9d11c233", "section_path": ["服务器应用"], "commit_groups": [["a5cf808be"]], "identity_text": "Allow pg_dump, pg_dumpall, and pg_restore to specify include/exclude objects in a file (Pavel Stehule, Daniel Gustafsson) The option is called --filter.", "commit_aliases": ["a5cf808be"], "source_commits": ["a5cf808be"], "source_entry_id": "17.0/changes/114", "db_id": "6e921a29d96eba39cb9a12aca845c19d", "patch_ids": ["0ed3de9da8db79e916dcff314dc14916"], "statement_hash": "e985ba10a8d813ffd4dcb78315ec3677ea1c684b78d9b1a616df0199244e0733", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-3f028c249c82a4c8", "cves": [], "html": "<p>为多个客户端应用程序添加 <code>--sync-method</code> 参数（Justin Pryzby, Nathan Bossart）<a href=\"https://postgr.es/c/8c16ad3b4\">§</a></p>\n<p>这些应用程序是<a href=\"/docs/17/app-initdb.html\" title=\"initdb\"><span>initdb</span></a>、<a href=\"/docs/17/app-pgbasebackup.html\" title=\"pg_basebackup\"><span>pg_basebackup</span></a>、<a href=\"/docs/17/app-pgchecksums.html\" title=\"pg_checksums\"><span>pg_checksums</span></a>、<a href=\"/docs/17/app-pgdump.html\" title=\"pg_dump\"><span>pg_dump</span></a>、<a href=\"/docs/17/app-pgrewind.html\" title=\"pg_rewind\"><span>pg_rewind</span></a>和<a href=\"/docs/17/pgupgrade.html\" title=\"pg_upgrade\"><span>pg_upgrade</span></a>。</p>", "text": "为多个客户端应用程序添加 --sync-method 参数（Justin Pryzby, Nathan Bossart）§ 这些应用程序是initdb、pg_basebackup、pg_checksums、pg_dump、pg_rewind和pg_upgrade。", "title": "为多个客户端应用程序添加 --sync-method 参数", "commits": ["8c16ad3b4"], "section": "服务器应用", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-SERVER-APPS", "source_hash": "1303e5e826a2bb3868d866cad3c1ae1ac22fa9613a4c4ea2e013b36b2ac1bdc8", "section_path": ["服务器应用"], "commit_groups": [["8c16ad3b4"]], "identity_text": "Add the --sync-method parameter to several client applications (Justin Pryzby, Nathan Bossart) The applications are initdb, pg_basebackup, pg_checksums, pg_dump, pg_rewind, and pg_upgrade.", "commit_aliases": ["8c16ad3b4"], "source_commits": ["8c16ad3b4"], "source_entry_id": "17.0/changes/115", "db_id": "5be03430ce72863326f86554786d4856", "patch_ids": ["a77cb2d9cdf142e159627eaeacab0702"], "statement_hash": "e682acccfcf90a57d337b76922612b805d21091f20bf6c6623dff3be080bcb8a", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-62b0b2dae08594f2", "cves": [], "html": "<p>为<a href=\"/docs/17/app-pgrestore.html\" title=\"pg_restore\"><span>pg_restore</span></a>添加 <code>--transaction-size</code> 选项，允许按事务批次恢复对象（Tom Lane）<a href=\"https://postgr.es/c/959b38d77\">§</a></p>\n<p>这既能获得事务批处理的性能收益，又能避免事务块过大的问题。</p>", "text": "为pg_restore添加 --transaction-size 选项，允许按事务批次恢复对象（Tom Lane）§ 这既能获得事务批处理的性能收益，又能避免事务块过大的问题。", "title": "为pg_restore添加 --transaction-size 选项，允许按事务批次恢复对象", "commits": ["959b38d77"], "section": "服务器应用", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-SERVER-APPS", "source_hash": "17267ef422c757038cdb1494e4f7f2868de188fab8e78a8f8b25421498561393", "section_path": ["服务器应用"], "commit_groups": [["959b38d77"]], "identity_text": "Add pg_restore option --transaction-size to allow object restores in transaction batches (Tom Lane) This allows the performance benefits of transaction batches without the problems of excessively large transaction blocks.", "commit_aliases": ["959b38d77"], "source_commits": ["959b38d77"], "source_entry_id": "17.0/changes/116", "db_id": "d3fce2adcba58fc12b1abe09c1296c03", "patch_ids": ["5e34e60bd114dee6d27de4ef07db683e"], "statement_hash": "a3f29534cc391a88f5718d81056174323b7b0ffdf74ce97b2ca813e2124e10fe", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-4dabdcd85c321b44", "cves": [], "html": "<p>将<a href=\"/docs/17/pgbench.html\" title=\"pgbench\"><span>pgbench</span></a>的调试模式选项从 <code>-d</code> 改为 <code>--debug</code>（Greg Sabino Mullane）<a href=\"https://postgr.es/c/3ff01b2b6\">§</a></p>\n<p><code>-d</code> 现在用于数据库名，同时也可以使用新的 <code>--dbname</code> 选项。</p>", "text": "将pgbench的调试模式选项从 -d 改为 --debug（Greg Sabino Mullane）§ -d 现在用于数据库名，同时也可以使用新的 --dbname 选项。", "title": "将pgbench的调试模式选项从 -d 改为 --debug", "commits": ["3ff01b2b6"], "section": "服务器应用", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-SERVER-APPS", "source_hash": "8f8c127f9354a296b7177dce7556a770360b2d079c7a04e96681ee7b782983c6", "section_path": ["服务器应用"], "commit_groups": [["3ff01b2b6"]], "identity_text": "Change pgbench debug mode option from -d to --debug (Greg Sabino Mullane) Option -d is now used for the database name, and the new --dbname option can be used as well.", "commit_aliases": ["3ff01b2b6"], "source_commits": ["3ff01b2b6"], "source_entry_id": "17.0/changes/117", "db_id": "814b6163607242f0a5325bfdd8d812c7", "patch_ids": ["199b1468636df5e00d3df58106afc14f"], "statement_hash": "261df8ddab2c41253badc617f040f9c03111599a5c7a54bdb1efd5c9e963aa17", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-b0d9d8ecac0ad499", "cves": [], "html": "<p>添加 pgbench 选项 <code>--exit-on-abort</code>，以便在任一客户端中止后退出（Yugo Nagata）<a href=\"https://postgr.es/c/3c662643c\">§</a></p>", "text": "添加 pgbench 选项 --exit-on-abort，以便在任一客户端中止后退出（Yugo Nagata）§", "title": "添加 pgbench 选项 --exit-on-abort，以便在任一客户端中止后退出", "commits": ["3c662643c"], "section": "服务器应用", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-SERVER-APPS", "source_hash": "40657065824bc654fec133d919f02654aa046a2f83ebe8bbda2f58f5cf5bcf31", "section_path": ["服务器应用"], "commit_groups": [["3c662643c"]], "identity_text": "Add pgbench option --exit-on-abort to exit after any client aborts (Yugo Nagata)", "commit_aliases": ["3c662643c"], "source_commits": ["3c662643c"], "source_entry_id": "17.0/changes/118", "db_id": "a25ce17e6f8114f0d076f7a1742f9dfe", "patch_ids": ["fc15b08e3c71549c3ca32d04f9daa421"], "statement_hash": "3c07aae40b3a8ad1e44701b70006b4cbe2fb1e03274bcb81df11c4a5bcf24e33", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-3c9e49a6a6f47409", "cves": [], "html": "<p>添加 pgbench 命令 <code>\\syncpipeline</code>，用于发送同步消息（Anthonin Bonnefoy）<a href=\"https://postgr.es/c/94edfe250\">§</a></p>", "text": "添加 pgbench 命令 \\syncpipeline，用于发送同步消息（Anthonin Bonnefoy）§", "title": "添加 pgbench 命令 \\syncpipeline，用于发送同步消息", "commits": ["94edfe250"], "section": "服务器应用", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-SERVER-APPS", "source_hash": "03a82448689e24e5d029010ce0b7e47a3ec65ba2e3eb0045cda192d4463f6de8", "section_path": ["服务器应用"], "commit_groups": [["94edfe250"]], "identity_text": "Add pgbench command \\syncpipeline to allow sending of sync messages (Anthonin Bonnefoy)", "commit_aliases": ["94edfe250"], "source_commits": ["94edfe250"], "source_entry_id": "17.0/changes/119", "db_id": "ee70b5491bf8a49ce7c18314a2ab3e7c", "patch_ids": ["5ca1e32d081de48ad74233cbb08afb22"], "statement_hash": "46a5465945c7e7b3ba2391bb4c7f284171defd7bbec08ff89ff0b01f417ea2c3", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-8fceea9da078d961", "cves": [], "html": "<p>允许<a href=\"/docs/17/pgarchivecleanup.html\" title=\"pg_archivecleanup\"><span>pg_archivecleanup</span></a>删除备份历史文件（Atsushi Torikoshi）<a href=\"https://postgr.es/c/3f8c98d0b\">§</a></p>\n<p>该选项是 <code>--clean-backup-history</code>。</p>", "text": "允许pg_archivecleanup删除备份历史文件（Atsushi Torikoshi）§ 该选项是 --clean-backup-history。", "title": "允许pg_archivecleanup删除备份历史文件", "commits": ["3f8c98d0b"], "section": "服务器应用", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-SERVER-APPS", "source_hash": "fa178bd435d168b9d0925d1bc986681c590b0c0fea8917a798a931aab42d2621", "section_path": ["服务器应用"], "commit_groups": [["3f8c98d0b"]], "identity_text": "Allow pg_archivecleanup to remove backup history files (Atsushi Torikoshi) The option is --clean-backup-history.", "commit_aliases": ["3f8c98d0b"], "source_commits": ["3f8c98d0b"], "source_entry_id": "17.0/changes/120", "db_id": "43de9c53a3b095b00a1c2d972cc4cd14", "patch_ids": ["880da8d0f1844f2cffcfb62d7caa2733"], "statement_hash": "18444fb728c062492ca13445b872237928821d56bd050da684f8558cbb5266fe", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-6f038d76fa8c5ad7", "cves": [], "html": "<p>为 <span>pg_archivecleanup</span> 添加一些长选项（Atsushi Torikoshi）<a href=\"https://postgr.es/c/dd7c60f19\">§</a></p>\n<p>这些长选项是 <code>--debug</code>、<code>--dry-run</code> 和 <code>--strip-extension</code>。</p>", "text": "为 pg_archivecleanup 添加一些长选项（Atsushi Torikoshi）§ 这些长选项是 --debug、--dry-run 和 --strip-extension。", "title": "为 pg_archivecleanup 添加一些长选项", "commits": ["dd7c60f19"], "section": "服务器应用", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-SERVER-APPS", "source_hash": "c64dda46baf6ccf879bf963b03618238b918615147472ab58bf96e8ddc400ea7", "section_path": ["服务器应用"], "commit_groups": [["dd7c60f19"]], "identity_text": "Add some long options to pg_archivecleanup (Atsushi Torikoshi) The long options are --debug, --dry-run, and --strip-extension.", "commit_aliases": ["dd7c60f19"], "source_commits": ["dd7c60f19"], "source_entry_id": "17.0/changes/121", "db_id": "01de18fe9f80c42de97f1e13ebb9087a", "patch_ids": ["d92935efb7fbe57a9923613e2a39db2f"], "statement_hash": "04eec46d490d77a1fadbc0a2f019b90e37fb6bdf271b81857633c422c897562f", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-1c7cefd452c4088a", "cves": [], "html": "<p>允许<a href=\"/docs/17/app-pgbasebackup.html\" title=\"pg_basebackup\"><span>pg_basebackup</span></a>和<a href=\"/docs/17/app-pgreceivewal.html\" title=\"pg_receivewal\"><span>pg_receivewal</span></a>在其连接字符串中使用 dbname（Jelte Fennema-Nio）<a href=\"https://postgr.es/c/cca97ce6a\">§</a></p>\n<p>这对那些对数据库名敏感的连接池很有用。</p>", "text": "允许pg_basebackup和pg_receivewal在其连接字符串中使用 dbname（Jelte Fennema-Nio）§ 这对那些对数据库名敏感的连接池很有用。", "title": "允许pg_basebackup和pg_receivewal在其连接字符串中使用 dbname", "commits": ["cca97ce6a"], "section": "服务器应用", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-SERVER-APPS", "source_hash": "4e6811fae28628c05efb289637958ce018fc9a8114cff89b29d602d888f740b1", "section_path": ["服务器应用"], "commit_groups": [["cca97ce6a"]], "identity_text": "Allow pg_basebackup and pg_receivewal to use dbname in their connection specification (Jelte Fennema-Nio) This is useful for connection poolers that are sensitive to the database name.", "commit_aliases": ["cca97ce6a"], "source_commits": ["cca97ce6a"], "source_entry_id": "17.0/changes/122", "db_id": "268281a16c5db7f57f2c0b6d9d6807d8", "patch_ids": ["b7c713bf4459c507781f24392f77d777"], "statement_hash": "0fb3f8d72c23fb88b1aa1b1207fff42015397df8eee0d64415e7c9d903b73234", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-4c719d2b3e168ee2", "cves": [], "html": "<p>添加<a href=\"/docs/17/pgupgrade.html\" title=\"pg_upgrade\"><span>pg_upgrade</span></a>选项 <code>--copy-file-range</code>（Thomas Munro）<a href=\"https://postgr.es/c/d93627bcb\">§</a></p>\n<p>这在 <span>Linux</span> 和 <span>FreeBSD</span> 上受支持。</p>", "text": "添加pg_upgrade选项 --copy-file-range（Thomas Munro）§ 这在 Linux 和 FreeBSD 上受支持。", "title": "添加pg_upgrade选项 --copy-file-range", "commits": ["d93627bcb"], "section": "服务器应用", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-SERVER-APPS", "source_hash": "962dcd4ff0150d4d31960c278d8555a1487cd81282a4d228efeaebd361448276", "section_path": ["服务器应用"], "commit_groups": [["d93627bcb"]], "identity_text": "Add pg_upgrade option --copy-file-range (Thomas Munro) This is supported on Linux and FreeBSD.", "commit_aliases": ["d93627bcb"], "source_commits": ["d93627bcb"], "source_entry_id": "17.0/changes/123", "db_id": "d9eb158bf4232ae62487876af438c06d", "patch_ids": ["e3b451bd7f1062b048f221eb095d7fbe"], "statement_hash": "c36ff478955582e7fe6ea357a4490710a32eadf2bc24a85a1303eaf4756f4024", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-3b1333e81de46fc0", "cves": [], "html": "<p>允许<a href=\"/docs/17/app-reindexdb.html\" title=\"reindexdb\"><span>reindexdb</span></a>的 <code>--index</code> 并行处理来自不同表的索引（Maxim Orlov, Svetlana Derevyanko, Alexander Korotkov）<a href=\"https://postgr.es/c/47f99a407\">§</a></p>", "text": "允许reindexdb的 --index 并行处理来自不同表的索引（Maxim Orlov, Svetlana Derevyanko, Alexander Korotkov）§", "title": "允许reindexdb的 --index 并行处理来自不同表的索引", "commits": ["47f99a407"], "section": "服务器应用", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-SERVER-APPS", "source_hash": "19efd2508ff8388f3d7d9c9845a189c6ccb76da3e48d6daab301e4d1285bce2f", "section_path": ["服务器应用"], "commit_groups": [["47f99a407"]], "identity_text": "Allow reindexdb --index to process indexes from different tables in parallel (Maxim Orlov, Svetlana Derevyanko, Alexander Korotkov)", "commit_aliases": ["47f99a407"], "source_commits": ["47f99a407"], "source_entry_id": "17.0/changes/124", "db_id": "0776c9ea52ffd9c02157b2f0809ba028", "patch_ids": ["28bfcb20ba62300331e0a36f918cae7e"], "statement_hash": "c66494bd2e04274838c5afdcd3573e9a45de801c0aa76670112c73e8bb956653", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-9af7f64df979bee6", "cves": [], "html": "<p>允许 <a href=\"/docs/17/app-reindexdb.html\" title=\"reindexdb\">reindexdb</a>、<a href=\"/docs/17/app-vacuumdb.html\" title=\"vacuumdb\">vacuumdb</a> 和 <a href=\"/docs/17/app-clusterdb.html\" title=\"clusterdb\">clusterdb</a> 在所有匹配模式的数据库中处理对象（Nathan Bossart）<a href=\"https://postgr.es/c/24c928ad9\">§</a> <a href=\"https://postgr.es/c/648928c79\">§</a> <a href=\"https://postgr.es/c/1b49d56d3\">§</a></p>\n<p>新选项 <code>--all</code> 控制此行为。</p>", "text": "允许 reindexdb、vacuumdb 和 clusterdb 在所有匹配模式的数据库中处理对象（Nathan Bossart）§ § § 新选项 --all 控制此行为。", "title": "允许 reindexdb、vacuumdb 和 clusterdb 在所有匹配模式的数据库中处理对象", "commits": ["1b49d56d3", "24c928ad9", "648928c79"], "section": "服务器应用", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-SERVER-APPS", "source_hash": "5ea98d742f69f17e58536b1bfc7681fad738dba7a69c98c496b46f83a7250514", "section_path": ["服务器应用"], "commit_groups": [["1b49d56d3"], ["24c928ad9"], ["648928c79"]], "identity_text": "Allow reindexdb, vacuumdb, and clusterdb to process objects in all databases matching a pattern (Nathan Bossart) The new option --all controls this behavior.", "commit_aliases": ["1b49d56d3", "24c928ad9", "648928c79"], "source_commits": ["1b49d56d3", "24c928ad9", "648928c79"], "source_entry_id": "17.0/changes/125", "db_id": "d7c4b4af13cad8fc21fb707416814193", "patch_ids": ["749a7b012112b5be8b3472d52b0e5295", "7f350c546f239bf502c3caa964d420d2", "c09c04601275da0c67baf88657973e40"], "statement_hash": "5748536b79b3c28a70f0e46452935a4506292db1f62a618b48318f8725ae3f13", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-5f04cbc23b8851f9", "cves": [], "html": "<p>移除对 <span>OpenSSL</span> 1.0.1 的支持（Michael Paquier）<a href=\"https://postgr.es/c/8e278b657\">§</a></p>", "text": "移除对 OpenSSL 1.0.1 的支持（Michael Paquier）§", "title": "移除对 OpenSSL 1.0.1 的支持", "commits": ["8e278b657"], "section": "源代码", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-SOURCE-CODE", "source_hash": "7e44f1fe34b165c7ebe8923f46994be66dd2b06293fa2dd9c4665be35958c0d9", "section_path": ["源代码"], "commit_groups": [["8e278b657"]], "identity_text": "Remove support for OpenSSL 1.0.1 (Michael Paquier)", "commit_aliases": ["8e278b657"], "source_commits": ["8e278b657"], "source_entry_id": "17.0/changes/126", "db_id": "15880c76c3e7729f30f021b7f43fcc9a", "patch_ids": ["a5ad3055fd5c20cd11fdafa89115d124"], "statement_hash": "7e67783296f70fe16e14d5afa052aa466a00e45ac0785f565c674fdbb98cb79a", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-7a9b019b505f601e", "cves": [], "html": "<p>允许测试在 <span>OpenSSL</span> <acronym>FIPS</acronym> 模式下通过（Peter Eisentraut）<a href=\"https://postgr.es/c/284cbaea7\">§</a> <a href=\"https://postgr.es/c/3c44e7d8d\">§</a></p>", "text": "允许测试在 OpenSSL FIPS 模式下通过（Peter Eisentraut）§ §", "title": "允许测试在 OpenSSL FIPS 模式下通过", "commits": ["284cbaea7", "3c44e7d8d"], "section": "源代码", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-SOURCE-CODE", "source_hash": "959f6399dda44f54bec76f7817e641068c40725031f832b87b6fa7e8504a0128", "section_path": ["源代码"], "commit_groups": [["284cbaea7"], ["3c44e7d8d"]], "identity_text": "Allow tests to pass in OpenSSL FIPS mode (Peter Eisentraut)", "commit_aliases": ["284cbaea7", "3c44e7d8d"], "source_commits": ["284cbaea7", "3c44e7d8d"], "source_entry_id": "17.0/changes/127", "db_id": "a135f4fb35c7906e97c207b90bb26ab9", "patch_ids": ["27a23a56070ade180b93c4102d39aa9b", "789709d46dfe5351bc11694318517651"], "statement_hash": "c3cbba5e48f72814686215398317fdc78d97e033a969893d623bc5ec615958aa", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-15b3e73a9cacd640", "cves": [], "html": "<p>使用 <acronym>CPU AVX</acronym>-512 指令进行位计数（Paul Amonson, Nathan Bossart, Ants Aasma）<a href=\"https://postgr.es/c/792752af4\">§</a> <a href=\"https://postgr.es/c/41c51f0c6\">§</a></p>", "text": "使用 CPU AVX-512 指令进行位计数（Paul Amonson, Nathan Bossart, Ants Aasma）§ §", "title": "使用 CPU AVX-512 指令进行位计数", "commits": ["41c51f0c6", "792752af4"], "section": "源代码", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-SOURCE-CODE", "source_hash": "45cda86246e42712a462a54e5a683e75d514d046e2f6010a20d9ec242a413216", "section_path": ["源代码"], "commit_groups": [["41c51f0c6"], ["792752af4"]], "identity_text": "Use CPU AVX-512 instructions for bit counting (Paul Amonson, Nathan Bossart, Ants Aasma)", "commit_aliases": ["41c51f0c6", "792752af4"], "source_commits": ["41c51f0c6", "792752af4"], "source_entry_id": "17.0/changes/128", "db_id": "326ef8392ee61620a3d0ab1e397c477b", "patch_ids": ["797825bf52ab1ddd6d748e9df6e04632", "de087c782c5665286971401f760dcb6f"], "statement_hash": "2a9647601d42364819fca9d36293b39dd2ddf93995d9e2b4d68b42b379124bdf", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-21c3d14115014c02", "cves": [], "html": "<p>要求 <span><acronym>LLVM</acronym></span> 版本为 10 或更高（Thomas Munro）<a href=\"https://postgr.es/c/820b5af73\">§</a></p>", "text": "要求 LLVM 版本为 10 或更高（Thomas Munro）§", "title": "要求 LLVM 版本为 10 或更高", "commits": ["820b5af73"], "section": "源代码", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-SOURCE-CODE", "source_hash": "fabeefc089e24f4a3c12c459dab4138165912759268b17a27c98575b1b7952b1", "section_path": ["源代码"], "commit_groups": [["820b5af73"]], "identity_text": "Require LLVM version 10 or later (Thomas Munro)", "commit_aliases": ["820b5af73"], "source_commits": ["820b5af73"], "source_entry_id": "17.0/changes/129", "db_id": "72eee7416e63a4bcb16849b9e21c657e", "patch_ids": ["baa483078b0978ee35a1076715b8bab0"], "statement_hash": "bc510a4a245912e1390d02ffb70b8a64616e38b63a8092f3ce6c78293ceac58c", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-3ed1b2b031ea0bc6", "cves": [], "html": "<p>在 64 位 <span>LoongArch</span> CPU 上使用原生 <acronym>CRC</acronym> 指令（Xudong Yang）<a href=\"https://postgr.es/c/4d14ccd6a\">§</a></p>", "text": "在 64 位 LoongArch CPU 上使用原生 CRC 指令（Xudong Yang）§", "title": "在 64 位 LoongArch CPU 上使用原生 CRC 指令", "commits": ["4d14ccd6a"], "section": "源代码", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-SOURCE-CODE", "source_hash": "b24d213afc567210c77934ede0a5ef95aaf687bce473cf1813bd9c9c9b1a2a5f", "section_path": ["源代码"], "commit_groups": [["4d14ccd6a"]], "identity_text": "Use native CRC instructions on 64-bit LoongArch CPUs (Xudong Yang)", "commit_aliases": ["4d14ccd6a"], "source_commits": ["4d14ccd6a"], "source_entry_id": "17.0/changes/130", "db_id": "7ea245e9c033fe8b075904f92a913e12", "patch_ids": ["aed8d765ef17f0d03df77dab0ec16518"], "statement_hash": "ff8157f877083a7f8679d72b455b383d8cb83ecb25761d068c3fc97919ca6eda", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-d0d32394c87a028c", "cves": [], "html": "<p>移除对 <span><acronym>AIX</acronym></span> 的支持（Heikki Linnakangas）<a href=\"https://postgr.es/c/0b16bb877\">§</a></p>", "text": "移除对 AIX 的支持（Heikki Linnakangas）§", "title": "移除对 AIX 的支持", "commits": ["0b16bb877"], "section": "源代码", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-SOURCE-CODE", "source_hash": "5841f180a5041cf50a274e1f9fd698322aafb08ae8fa8da1e59d66844ea73305", "section_path": ["源代码"], "commit_groups": [["0b16bb877"]], "identity_text": "Remove AIX support (Heikki Linnakangas)", "commit_aliases": ["0b16bb877"], "source_commits": ["0b16bb877"], "source_entry_id": "17.0/changes/131", "db_id": "f4840b20dc32c3b9f047dd82de33efb9", "patch_ids": ["de2c7811e07614defe533d1bf93a3090"], "statement_hash": "0e3d50f0888d20c3ac42aba16cf6e299c1b83550abd1fa2f6110c4367a8eb7ac", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-5f376f1cb263f72c", "cves": [], "html": "<p>移除 <span>Microsoft Visual Studio</span> 专用的 <span>PostgreSQL</span> 构建选项（Michael Paquier）<a href=\"https://postgr.es/c/1301c80b2\">§</a></p>\n<p><span>Meson</span> 现在是 <span>Visual Studio</span> 构建的唯一可用方法。</p>", "text": "移除 Microsoft Visual Studio 专用的 PostgreSQL 构建选项（Michael Paquier）§ Meson 现在是 Visual Studio 构建的唯一可用方法。", "title": "移除 Microsoft Visual Studio 专用的 PostgreSQL 构建选项", "commits": ["1301c80b2"], "section": "源代码", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-SOURCE-CODE", "source_hash": "987f3c37a3e15e3e1b2cb19b584c749b0a70b49ac562e91f45a7c7298f7ae16b", "section_path": ["源代码"], "commit_groups": [["1301c80b2"]], "identity_text": "Remove the Microsoft Visual Studio-specific PostgreSQL build option (Michael Paquier) Meson is now the only available method for Visual Studio builds.", "commit_aliases": ["1301c80b2"], "source_commits": ["1301c80b2"], "source_entry_id": "17.0/changes/132", "db_id": "913c5fefc2c5e537af5898076b56e56d", "patch_ids": ["6e75731134cc82e8f61c2df316928cf7"], "statement_hash": "a2c8190c49c3b8cb801ae88e65a9613c2c1609d3a9a58ae454c3dd9193be9367", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-22b1094344f0b77e", "cves": [], "html": "<p>移除 configure 选项 <code>--disable-thread-safety</code>（Thomas Munro, Heikki Linnakangas）<a href=\"https://postgr.es/c/68a4b58ec\">§</a> <a href=\"https://postgr.es/c/ce0b0fa3e\">§</a></p>\n<p>我们现在假定所有受支持的平台都具有足够的线程支持。</p>", "text": "移除 configure 选项 --disable-thread-safety（Thomas Munro, Heikki Linnakangas）§ § 我们现在假定所有受支持的平台都具有足够的线程支持。", "title": "移除 configure 选项 --disable-thread-safety", "commits": ["68a4b58ec", "ce0b0fa3e"], "section": "源代码", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-SOURCE-CODE", "source_hash": "2c40ba40d696bf2ee743f2efa7d58b56cc5a38cff1611a62d4cfedfa7163904f", "section_path": ["源代码"], "commit_groups": [["68a4b58ec"], ["ce0b0fa3e"]], "identity_text": "Remove configure option --disable-thread-safety (Thomas Munro, Heikki Linnakangas) We now assume all supported platforms have sufficient thread support.", "commit_aliases": ["68a4b58ec", "ce0b0fa3e"], "source_commits": ["68a4b58ec", "ce0b0fa3e"], "source_entry_id": "17.0/changes/133", "db_id": "42e9fb2f361ae69f03f41e8114726ed6", "patch_ids": ["36537238f32d9a7bb09808780a5910de", "50964d12e5d1abbad098eb65bd55c133"], "statement_hash": "a7d2a76c0b3c298d869b8d9dbecc0cff3c0985357e98da13117747645d02575a", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-a51fb3f19f4d14f4", "cves": [], "html": "<p>移除 <span>configure</span> 选项 <code>--with-CC</code>（Heikki Linnakangas）<a href=\"https://postgr.es/c/1c1eec0f2\">§</a></p>\n<p>现在指定编译器的唯一受支持方法是设置 <code>CC</code> 环境变量。</p>", "text": "移除 configure 选项 --with-CC（Heikki Linnakangas）§ 现在指定编译器的唯一受支持方法是设置 CC 环境变量。", "title": "移除 configure 选项 --with-CC", "commits": ["1c1eec0f2"], "section": "源代码", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-SOURCE-CODE", "source_hash": "d95dbe422cc4b30443e33ef408727f4dac473726b6a3a6230eb2620223f29622", "section_path": ["源代码"], "commit_groups": [["1c1eec0f2"]], "identity_text": "Remove configure option --with-CC (Heikki Linnakangas) Setting the CC environment variable is now the only supported method for specifying the compiler.", "commit_aliases": ["1c1eec0f2"], "source_commits": ["1c1eec0f2"], "source_entry_id": "17.0/changes/134", "db_id": "143ea66288ccbf63707e044df80c9ad6", "patch_ids": ["7e98f7d00edb150581c9e82e62d11be0"], "statement_hash": "2cb754acc6c28932f79d5bc3d331a21391776e24922e5dacd5d5960d95a1cb33", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-19b8e105b95e4947", "cves": [], "html": "<p>用户定义的数据类型接收函数将不再接收到以空字符终止的数据（David Rowley）<a href=\"https://postgr.es/c/f0efa5aec\">§</a></p>", "text": "用户定义的数据类型接收函数将不再接收到以空字符终止的数据（David Rowley）§", "title": "用户定义的数据类型接收函数将不再接收到以空字符终止的数据", "commits": ["f0efa5aec"], "section": "源代码", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-SOURCE-CODE", "source_hash": "83baab6057f34f99e4db488768cb432760dba78c093f4d1620e620abd2683c28", "section_path": ["源代码"], "commit_groups": [["f0efa5aec"]], "identity_text": "User-defined data type receive functions will no longer receive their data null-terminated (David Rowley)", "commit_aliases": ["f0efa5aec"], "source_commits": ["f0efa5aec"], "source_entry_id": "17.0/changes/135", "db_id": "19d0f5adfeea701c31b8e22525e6fad2", "patch_ids": ["6b82f3e7159caf6a3bfa7b3269e4a5d8"], "statement_hash": "24812cf4b627a7a7f317c84d2e00b69d5d0fd88d2fda6b1a6181d0390567ab8b", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-e23526721ccb2109", "cves": [], "html": "<p>添加增量式 <code>JSON</code> 解析器，以用于超大的 <code>JSON</code> 文档（Andrew Dunstan）<a href=\"https://postgr.es/c/3311ea86e\">§</a></p>", "text": "添加增量式 JSON 解析器，以用于超大的 JSON 文档（Andrew Dunstan）§", "title": "添加增量式 JSON 解析器，以用于超大的 JSON 文档", "commits": ["3311ea86e"], "section": "源代码", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-SOURCE-CODE", "source_hash": "5873b1f249baebe7b7426d1b9ee4cb0e4c3bf69aca662d372c98a79072c9131e", "section_path": ["源代码"], "commit_groups": [["3311ea86e"]], "identity_text": "Add incremental JSON parser for use with huge JSON documents (Andrew Dunstan)", "commit_aliases": ["3311ea86e"], "source_commits": ["3311ea86e"], "source_entry_id": "17.0/changes/136", "db_id": "019541f2e3f2021f9da6a24500d7182b", "patch_ids": ["2cbbd6ee4e3a4c628d75f3c25057b54f"], "statement_hash": "ddddb8565374e9a832c7ea9a2dc932e14bf0da6c2914474639e77911dd4e7523", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-e372a638516fe0ef", "cves": [], "html": "<p>将顶层 <code>README</code> 文件转换为 <span>Markdown</span>（Nathan Bossart）<a href=\"https://postgr.es/c/363eb0599\">§</a></p>", "text": "将顶层 README 文件转换为 Markdown（Nathan Bossart）§", "title": "将顶层 README 文件转换为 Markdown", "commits": ["363eb0599"], "section": "源代码", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-SOURCE-CODE", "source_hash": "097e0892fe4a698341b7504a391033efd56aef053f3e70f9997902cb071eb1d5", "section_path": ["源代码"], "commit_groups": [["363eb0599"]], "identity_text": "Convert top-level README file to Markdown (Nathan Bossart)", "commit_aliases": ["363eb0599"], "source_commits": ["363eb0599"], "source_entry_id": "17.0/changes/137", "db_id": "16fe37ee9bc09439954284db0c23d26c", "patch_ids": ["78c6b6fc4a88360bc43a03406176a1f1"], "statement_hash": "94273fdf864232478f3e27128fad502df5e5acab604b948733ad710110dae971", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-ac5282e34853d381", "cves": [], "html": "<p>移除不再需要的顶层 <code>INSTALL</code> 文件（Tom Lane）<a href=\"https://postgr.es/c/e2b73f4a4\">§</a></p>", "text": "移除不再需要的顶层 INSTALL 文件（Tom Lane）§", "title": "移除不再需要的顶层 INSTALL 文件", "commits": ["e2b73f4a4"], "section": "源代码", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-SOURCE-CODE", "source_hash": "6166d3146ccb98d090223b85adff0250ef2e889ef1e3b69f19f79119da452725", "section_path": ["源代码"], "commit_groups": [["e2b73f4a4"]], "identity_text": "Remove no longer needed top-level INSTALL file (Tom Lane)", "commit_aliases": ["e2b73f4a4"], "source_commits": ["e2b73f4a4"], "source_entry_id": "17.0/changes/138", "db_id": "fd4c39a1596258c7e0dd1558e77e4391", "patch_ids": ["b1e4e1b6cf4abd002cee1318af0191b0"], "statement_hash": "a43e44e9c5e60b1187431df61de5c9dfae8e42b272e82cf7e0ac3786de2ec5e3", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-f9497f0aa345abfe", "cves": [], "html": "<p>移除 <span>make</span> 的 <code>distprep</code> 选项（Peter Eisentraut）<a href=\"https://postgr.es/c/721856ff2\">§</a></p>", "text": "移除 make 的 distprep 选项（Peter Eisentraut）§", "title": "移除 make 的 distprep 选项", "commits": ["721856ff2"], "section": "源代码", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-SOURCE-CODE", "source_hash": "e279dd987a80bb20f15a3e6f3c37a0ff8fc1a65148153b85ae5303def96a1663", "section_path": ["源代码"], "commit_groups": [["721856ff2"]], "identity_text": "Remove make's distprep option (Peter Eisentraut)", "commit_aliases": ["721856ff2"], "source_commits": ["721856ff2"], "source_entry_id": "17.0/changes/139", "db_id": "044abf4589a4c75e032d01967bfeb006", "patch_ids": ["a2127535e57564bc451f6f84f53c5799"], "statement_hash": "b660c155b2c6b26c23d07d60f5eab3d2829df09314527cb5f6509312fa611c96", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-7852b5eb45e0f709", "cves": [], "html": "<p>为 <span>make</span> 添加对 <span>Android</span> 共享库的支持（Peter Eisentraut）<a href=\"https://postgr.es/c/79b03dbb3\">§</a></p>", "text": "为 make 添加对 Android 共享库的支持（Peter Eisentraut）§", "title": "为 make 添加对 Android 共享库的支持", "commits": ["79b03dbb3"], "section": "源代码", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-SOURCE-CODE", "source_hash": "c3cdbab64bcba9765ee387b35484548fd70f7dde0b8554a2c772ff1a542f4c93", "section_path": ["源代码"], "commit_groups": [["79b03dbb3"]], "identity_text": "Add make support for Android shared libraries (Peter Eisentraut)", "commit_aliases": ["79b03dbb3"], "source_commits": ["79b03dbb3"], "source_entry_id": "17.0/changes/140", "db_id": "b13e641ad6d53b97d02e6d3d3b07c68f", "patch_ids": ["fa62aee2e0aab2024628c6430f6233f8"], "statement_hash": "b608dc60bda89d6268229b9def92c090148bdbeb107de5d8b0b702e03115530c", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-abace7ae3098409d", "cves": [], "html": "<p>添加后端对注入点的支持（Michael Paquier）<a href=\"https://postgr.es/c/d86d20f0b\">§</a> <a href=\"https://postgr.es/c/37b369dc6\">§</a> <a href=\"https://postgr.es/c/f587338de\">§</a> <a href=\"https://postgr.es/c/bb93640a6\">§</a></p>\n<p>这用于服务器调试，并且必须在服务器编译时启用。</p>", "text": "添加后端对注入点的支持（Michael Paquier）§ § § § 这用于服务器调试，并且必须在服务器编译时启用。", "title": "添加后端对注入点的支持", "commits": ["37b369dc6", "bb93640a6", "d86d20f0b", "f587338de"], "section": "源代码", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-SOURCE-CODE", "source_hash": "d73fb629fc7f4b2ed93b13e455a0433f40e2386e2790224bfa3043abec807ac4", "section_path": ["源代码"], "commit_groups": [["37b369dc6"], ["bb93640a6"], ["d86d20f0b"], ["f587338de"]], "identity_text": "Add backend support for injection points (Michael Paquier) This is used for server debugging and they must be enabled at server compile time.", "commit_aliases": ["37b369dc6", "bb93640a6", "d86d20f0b", "f587338de"], "source_commits": ["37b369dc6", "bb93640a6", "d86d20f0b", "f587338de"], "source_entry_id": "17.0/changes/141", "db_id": "e75a9a23e2348482eff198030b472f0e", "patch_ids": ["0873e7b8344960a2aee60a48bee2194e", "4796ea611cbe705f67adb3528e0f5b11", "caa959fbfcefd2de2cb9e4dcf8981841", "f55703cb1ff5c35f0cd1165772407317"], "statement_hash": "d5d0072341b44815f49a413e883adc199119d202250d83568629a792d6b2e24e", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-464339e819ae6a08", "cves": [], "html": "<p>添加动态共享内存注册表（Nathan Bossart）<a href=\"https://postgr.es/c/8b2bcf3f2\">§</a></p>\n<p>这使得那些未在启动时初始化的共享库也能够协调对动态共享内存的访问。</p>", "text": "添加动态共享内存注册表（Nathan Bossart）§ 这使得那些未在启动时初始化的共享库也能够协调对动态共享内存的访问。", "title": "添加动态共享内存注册表", "commits": ["8b2bcf3f2"], "section": "源代码", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-SOURCE-CODE", "source_hash": "7973e9c417d977667928cc28fdc2120634a2839d8f60c586af619727b1a67281", "section_path": ["源代码"], "commit_groups": [["8b2bcf3f2"]], "identity_text": "Add dynamic shared memory registry (Nathan Bossart) This allows shared libraries which are not initialized at startup to coordinate dynamic shared memory access.", "commit_aliases": ["8b2bcf3f2"], "source_commits": ["8b2bcf3f2"], "source_entry_id": "17.0/changes/142", "db_id": "c5316f39fd5729475b6bb8ac9bcb82cd", "patch_ids": ["e00bd8d7f257fd3730d3a711e4315f46"], "statement_hash": "5fa223044d973d2145d53255450dcc74827b5e1c458ad518195e0a6a328090c5", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-52c7a0c027abfc95", "cves": [], "html": "<p>修复 <code>emit_log_hook</code>，使其对同一查询使用与其他日志记录相同的时间值（Kambam Vinay, Michael Paquier）<a href=\"https://postgr.es/c/2a217c371\">§</a></p>", "text": "修复 emit_log_hook，使其对同一查询使用与其他日志记录相同的时间值（Kambam Vinay, Michael Paquier）§", "title": "修复 emit_log_hook，使其对同一查询使用与其他日志记录相同的时间值", "commits": ["2a217c371"], "section": "源代码", "category": "bugfix", "source_url": "/docs/release/17.0/#RELEASE-17-SOURCE-CODE", "source_hash": "f42bef9789ddc4e7eb837c73c4b61fa5b8f1841fad1f52ece9b6fc74944327ad", "section_path": ["源代码"], "commit_groups": [["2a217c371"]], "identity_text": "Fix emit_log_hook to use the same time value as other log records for the same query (Kambam Vinay, Michael Paquier)", "commit_aliases": ["2a217c371"], "source_commits": ["2a217c371"], "source_entry_id": "17.0/changes/143", "db_id": "96896e827fdb47d395edc2e3b8c4a934", "patch_ids": ["82c0b254fcf4409e51d539c22a6b8cf2"], "statement_hash": "882e8a0f6fac1a739aea9a40ccee25d6d89c28cf47b64f68de68183a8bfe3fbd", "relations": [], "version": "17.0", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-2216de92719f80f3", "cves": [], "html": "<p>改进关于使用 <code>jsonpath</code> 进行谓词检查的文档（David Wheeler）<a href=\"https://postgr.es/c/7014c9a4b\">§</a></p>", "text": "改进关于使用 jsonpath 进行谓词检查的文档（David Wheeler）§", "title": "改进关于使用 jsonpath 进行谓词检查的文档", "commits": ["7014c9a4b"], "section": "源代码", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-SOURCE-CODE", "source_hash": "917d48df4a3e2aaa0eb690c94f5195f2c5c35b9d75b35f56bf63522433584aa4", "section_path": ["源代码"], "commit_groups": [["7014c9a4b"]], "identity_text": "Improve documentation for using jsonpath for predicate checks (David Wheeler)", "commit_aliases": ["7014c9a4b"], "source_commits": ["7014c9a4b"], "source_entry_id": "17.0/changes/144", "db_id": "671cfd4d77d6dc423a470d85daeb1533", "patch_ids": ["378142bba840712753071ce7149f892c"], "statement_hash": "bd74d3f3a12cdf95c6426e5e24eceb582d94b3ab8e7d610f388b821b476efb1c", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-1d07545fbc415c94", "cves": [], "html": "<p>允许将带有非连接限制条件的连接下推到外部服务器和自定义扫描中（Richard Guo, Etsuro Fujita）<a href=\"https://postgr.es/c/9e9931d2b\">§</a></p>\n<p>外部数据包装器和自定义扫描需要修改才能处理这些情况。</p>", "text": "允许将带有非连接限制条件的连接下推到外部服务器和自定义扫描中（Richard Guo, Etsuro Fujita）§ 外部数据包装器和自定义扫描需要修改才能处理这些情况。", "title": "允许将带有非连接限制条件的连接下推到外部服务器和自定义扫描中", "commits": ["9e9931d2b"], "section": "附加模块", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-MODULES", "source_hash": "90b0331f7787b3811b14cca6d244c14bf435769131dd5f970a146404d370defa", "section_path": ["附加模块"], "commit_groups": [["9e9931d2b"]], "identity_text": "Allow joins with non-join qualifications to be pushed down to foreign servers and custom scans (Richard Guo, Etsuro Fujita) Foreign data wrappers and custom scans will need to be modified to handle these cases.", "commit_aliases": ["9e9931d2b"], "source_commits": ["9e9931d2b"], "source_entry_id": "17.0/changes/145", "db_id": "602370a8e6f22b00d8b169c31ac92c51", "patch_ids": ["fa2badd8ad71f4912f69362e47f47050"], "statement_hash": "532e397bc4b9ae95eb4b1cac0ae38f563f22359b43b0ed380e7d93423bfc8f47", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-35dea19dd423d972", "cves": [], "html": "<p>允许将 <code>EXISTS</code> 和 <code>IN</code> 子查询下推到<a href=\"/docs/17/postgres-fdw.html\" title=\"F.36. postgres_fdw — 访问存储在外部 PostgreSQL 服务器中的数据\">postgres_fdw</a>外部服务器（Alexander Pyhalov）<a href=\"https://postgr.es/c/824dbea3e\">§</a></p>", "text": "允许将 EXISTS 和 IN 子查询下推到postgres_fdw外部服务器（Alexander Pyhalov）§", "title": "允许将 EXISTS 和 IN 子查询下推到postgres_fdw外部服务器", "commits": ["824dbea3e"], "section": "附加模块", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-MODULES", "source_hash": "5ec6b1f8e99d7958930bbbae13f623d3b269b51c64e026a231117b812f4104df", "section_path": ["附加模块"], "commit_groups": [["824dbea3e"]], "identity_text": "Allow pushdown of EXISTS and IN subqueries to postgres-fdw foreign servers (Alexander Pyhalov)", "commit_aliases": ["824dbea3e"], "source_commits": ["824dbea3e"], "source_entry_id": "17.0/changes/146", "db_id": "7a3f28e9806d19d8460db56a25188a6b", "patch_ids": ["4c6c6dbde603026434419ffb07dff549"], "statement_hash": "fd127259ef3624c6e64b5ed145e3b39227521cd4cfcdaf0d5a755959571bb809", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-34b1727d98ec1f24", "cves": [], "html": "<p>提高默认的外部数据包装器元组代价（David Rowley, Umair Shahid）<a href=\"https://postgr.es/c/cac169d68\">§</a> <a href=\"https://postgr.es/c/f7f694b21\">§</a></p>\n<p>该值由优化器使用。</p>", "text": "提高默认的外部数据包装器元组代价（David Rowley, Umair Shahid）§ § 该值由优化器使用。", "title": "提高默认的外部数据包装器元组代价", "commits": ["cac169d68", "f7f694b21"], "section": "附加模块", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-MODULES", "source_hash": "b72bdd8aa977a12b63e5763b222efdebb7baabb4f926a57d2e94ff919456bda8", "section_path": ["附加模块"], "commit_groups": [["cac169d68"], ["f7f694b21"]], "identity_text": "Increase the default foreign data wrapper tuple cost (David Rowley, Umair Shahid) This value is used by the optimizer.", "commit_aliases": ["cac169d68", "f7f694b21"], "source_commits": ["cac169d68", "f7f694b21"], "source_entry_id": "17.0/changes/147", "db_id": "76f362f84f6f7f42131c7dc3660710f3", "patch_ids": ["11934dd9267f219b5187d05144d80710", "e0d966edc0bfb9957736dd9b41557265"], "statement_hash": "924c645b841c23c66da984f6da1bc2438b270e1c903201191ef9958088fe599d", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-c135726fca211e84", "cves": [], "html": "<p>允许中断<a href=\"/docs/17/dblink.html\" title=\"F.11. dblink — 连接到其他 PostgreSQL 数据库\"><span>dblink</span></a>的数据库操作（Noah Misch）<a href=\"https://postgr.es/c/d3c5f37dd\">§</a></p>", "text": "允许中断dblink的数据库操作（Noah Misch）§", "title": "允许中断dblink的数据库操作", "commits": ["d3c5f37dd"], "section": "附加模块", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-MODULES", "source_hash": "14050614fc744646952c5710d1d85b92f8421c7c466422b8fa867ba67cfeabbc", "section_path": ["附加模块"], "commit_groups": [["d3c5f37dd"]], "identity_text": "Allow dblink database operations to be interrupted (Noah Misch)", "commit_aliases": ["d3c5f37dd"], "source_commits": ["d3c5f37dd"], "source_entry_id": "17.0/changes/148", "db_id": "0e31dead73a9f8e498071f9525ac49a6", "patch_ids": ["2f9e7d71050455b05ec5e7c18af39bcc"], "statement_hash": "13ea52e38638c9d65409e2d059873b618bfad8b134d7c35409391c6eed91fb0e", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-b42a568f683128e5", "cves": [], "html": "<p>允许在 <span><a href=\"/docs/17/ltree.html\" title=\"F.22. ltree — 层次树状数据类型\">ltree</a></span> 列上创建 hash 索引（Tommy Pavlicek）<a href=\"https://postgr.es/c/485f0aa85\">§</a></p>\n<p>这也使得能够在 <span>ltree</span> 列上进行哈希连接和 hash 聚合。</p>", "text": "允许在 ltree 列上创建 hash 索引（Tommy Pavlicek）§ 这也使得能够在 ltree 列上进行哈希连接和 hash 聚合。", "title": "允许在 ltree 列上创建 hash 索引", "commits": ["485f0aa85"], "section": "附加模块", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-MODULES", "source_hash": "90fb4a30d48d077a56d56afbc21845e659a494f255b6f74487cd4ec9a5f648ed", "section_path": ["附加模块"], "commit_groups": [["485f0aa85"]], "identity_text": "Allow the creation of hash indexes on ltree columns (Tommy Pavlicek) This also enables hash join and hash aggregation on ltree columns.", "commit_aliases": ["485f0aa85"], "source_commits": ["485f0aa85"], "source_entry_id": "17.0/changes/149", "db_id": "0fcd097972303bafdda7763698cf849d", "patch_ids": ["9a2b84416f651f19ea2147bbbe22ed42"], "statement_hash": "2ff06487c7f977a34b9e12883d8baa57125e4609fab6ad7cecd0d93fde55cb3b", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-daa430d9f1f9f4c9", "cves": [], "html": "<p>允许 <span><a href=\"/docs/17/unaccent.html\" title=\"F.46. unaccent — 去除变音符号的文本检索词典\">unaccent</a></span> 的字符转换规则包含空白字符和引号（Michael Paquier）<a href=\"https://postgr.es/c/59f47fb98\">§</a></p>\n<p><code>unaccent.rules</code> 文件的语法已更改。</p>", "text": "允许 unaccent 的字符转换规则包含空白字符和引号（Michael Paquier）§ unaccent.rules 文件的语法已更改。", "title": "允许 unaccent 的字符转换规则包含空白字符和引号", "commits": ["59f47fb98"], "section": "附加模块", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-MODULES", "source_hash": "43e706578a3b5a9be257ce12defe01320b816965750a56a6766aaa962c2e4377", "section_path": ["附加模块"], "commit_groups": [["59f47fb98"]], "identity_text": "Allow unaccent character translation rules to contain whitespace and quotes (Michael Paquier) The syntax for the unaccent.rules file has changed.", "commit_aliases": ["59f47fb98"], "source_commits": ["59f47fb98"], "source_entry_id": "17.0/changes/150", "db_id": "931e088d46958c6478eb7d2f30c51887", "patch_ids": ["bd31157f2a7afdf08a60d3946fd8d008"], "statement_hash": "c3082f051a4a8eeb36497acdbe5ba3a49fe0701fd780b4f9fccba48025a091af", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-8920b48ede92f031", "cves": [], "html": "<p>允许 <span><a href=\"/docs/17/amcheck.html\" title=\"F.1. amcheck — 用于验证表和索引一致性的工具\">amcheck</a></span> 使用新选项 <code>--checkunique</code> 检查唯一约束违反（Anastasia Lubennikova, Pavel Borisov, Maxim Orlov）<a href=\"https://postgr.es/c/5ae208720\">§</a></p>", "text": "允许 amcheck 使用新选项 --checkunique 检查唯一约束违反（Anastasia Lubennikova, Pavel Borisov, Maxim Orlov）§", "title": "允许 amcheck 使用新选项 --checkunique 检查唯一约束违反", "commits": ["5ae208720"], "section": "附加模块", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-MODULES", "source_hash": "cdfbcd3008f1d07349161bbaf954fe0e6bfec5792669bee987b15382321f3744", "section_path": ["附加模块"], "commit_groups": [["5ae208720"]], "identity_text": "Allow amcheck to check for unique constraint violations using new option --checkunique (Anastasia Lubennikova, Pavel Borisov, Maxim Orlov)", "commit_aliases": ["5ae208720"], "source_commits": ["5ae208720"], "source_entry_id": "17.0/changes/151", "db_id": "2eddc8ab5f67ad39560cadf774fa268a", "patch_ids": ["5050adf66866d77bc15d0a59087af2f3"], "statement_hash": "c86fe5631c56eb258fd536f2567f63d1ecd4b20c8865fd419789aba61f6f66c1", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-f2405aff84dc3798", "cves": [], "html": "<p>允许 <span><a href=\"/docs/17/citext.html\" title=\"F.9. citext — 大小写不敏感的字符串类型\">citext</a></span> 的测试在 OpenSSL <acronym>FIPS</acronym> 模式下通过（Peter Eisentraut）<a href=\"https://postgr.es/c/3c551ebed\">§</a></p>", "text": "允许 citext 的测试在 OpenSSL FIPS 模式下通过（Peter Eisentraut）§", "title": "允许 citext 的测试在 OpenSSL FIPS 模式下通过", "commits": ["3c551ebed"], "section": "附加模块", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-MODULES", "source_hash": "ae7e08b05987732a2bfeccd8963683628531014ec419a7d0016723c8b800edad", "section_path": ["附加模块"], "commit_groups": [["3c551ebed"]], "identity_text": "Allow citext tests to pass in OpenSSL FIPS mode (Peter Eisentraut)", "commit_aliases": ["3c551ebed"], "source_commits": ["3c551ebed"], "source_entry_id": "17.0/changes/152", "db_id": "d4df432082891f8eedc5722ec92c4cf3", "patch_ids": ["e7858ef4fe4eec42ceaeb0d73e09397b"], "statement_hash": "633b209b121df3f7a1b3866423fe949c44297e36eaa76eb7a421268ee00950bf", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-9a07120b177f57e1", "cves": [], "html": "<p>允许 <span><a href=\"/docs/17/pgcrypto.html\" title=\"F.26. pgcrypto — 密码学函数\">pgcrypto</a></span> 的测试在 OpenSSL <acronym>FIPS</acronym> 模式下通过（Peter Eisentraut）<a href=\"https://postgr.es/c/795592865\">§</a></p>", "text": "允许 pgcrypto 的测试在 OpenSSL FIPS 模式下通过（Peter Eisentraut）§", "title": "允许 pgcrypto 的测试在 OpenSSL FIPS 模式下通过", "commits": ["795592865"], "section": "附加模块", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-MODULES", "source_hash": "bfa7242196ca8f07fddc2d907ac32183f7e1924f168cea723e5030b91bf0cb01", "section_path": ["附加模块"], "commit_groups": [["795592865"]], "identity_text": "Allow pgcrypto tests to pass in OpenSSL FIPS mode (Peter Eisentraut)", "commit_aliases": ["795592865"], "source_commits": ["795592865"], "source_entry_id": "17.0/changes/153", "db_id": "76a6f403888ab03b534bce8c3f9d7249", "patch_ids": ["08761b8e5c59750f736a18305612fd1c"], "statement_hash": "f531e471fa3af9c32a7d13871ca045c429ac9b29a2b80f11eebee0c789094d00", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-400b3d20a9f78618", "cves": [], "html": "<p>移除一些未使用的 <a href=\"/docs/17/spi.html\" title=\"第 45 章 服务器编程接口\"><acronym>SPI</acronym></a> 宏（Bharath Rupireddy）<a href=\"https://postgr.es/c/75680c3d8\">§</a></p>", "text": "移除一些未使用的 SPI 宏（Bharath Rupireddy）§", "title": "移除一些未使用的 SPI 宏", "commits": ["75680c3d8"], "section": "附加模块", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-MODULES", "source_hash": "32667365507ac2e744afee032cf8e3036c1d483ae7d3da7b1b9b9d4c2c0f8083", "section_path": ["附加模块"], "commit_groups": [["75680c3d8"]], "identity_text": "Remove some unused SPI macros (Bharath Rupireddy)", "commit_aliases": ["75680c3d8"], "source_commits": ["75680c3d8"], "source_entry_id": "17.0/changes/154", "db_id": "85f03f7e098e7244c189f0de6da4683f", "patch_ids": ["8eb02210c953013409d5689d896ae0e9"], "statement_hash": "f3d1a646d47946f1e78824bc03ada29979b7403151fa61c3ea5272d498053d75", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-17bbfb671e78c3ef", "cves": [], "html": "<p>允许 <a href=\"/docs/17/sql-alteroperator.html\" title=\"ALTER OPERATOR\"><code>ALTER OPERATOR</code></a> 设置更多优化属性（Tommy Pavlicek）<a href=\"https://postgr.es/c/2b5154bea\">§</a></p>\n<p>这对扩展很有用。</p>", "text": "允许 ALTER OPERATOR 设置更多优化属性（Tommy Pavlicek）§ 这对扩展很有用。", "title": "允许 ALTER OPERATOR 设置更多优化属性", "commits": ["2b5154bea"], "section": "附加模块", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-MODULES", "source_hash": "147eff46f4e56400f3e7013a5fcd6170a1e254db439cb2e6040367f7767d5105", "section_path": ["附加模块"], "commit_groups": [["2b5154bea"]], "identity_text": "Allow ALTER OPERATOR to set more optimization attributes (Tommy Pavlicek) This is useful for extensions.", "commit_aliases": ["2b5154bea"], "source_commits": ["2b5154bea"], "source_entry_id": "17.0/changes/155", "db_id": "f77fab23da18005f8e03d14d7c6c5b7a", "patch_ids": ["83b25dff27e72215ff6388400399430e"], "statement_hash": "5369619e8fafe7aab9c1a1d35d794b1c2d2f6e8a6f88922a3229d202113d0c5f", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-7c44dc6fa66788c5", "cves": [], "html": "<p>允许扩展定义<a href=\"/docs/17/xfunc-c.html#XFUNC-ADDIN-WAIT-EVENTS\" title=\"36.10.12. 自定义等待事件\">自定义等待事件</a>（Masahiro Ikeda）<a href=\"https://postgr.es/c/c9af05465\">§</a> <a href=\"https://postgr.es/c/c8e318b1b\">§</a> <a href=\"https://postgr.es/c/d61f2538a\">§</a> <a href=\"https://postgr.es/c/c789f0f6c\">§</a></p>\n<p>已为 <span><a href=\"/docs/17/postgres-fdw.html\" title=\"F.36. postgres_fdw — 访问存储在外部 PostgreSQL 服务器中的数据\">postgres_fdw</a></span> 和 <span><a href=\"/docs/17/dblink.html\" title=\"F.11. dblink — 连接到其他 PostgreSQL 数据库\">dblink</a></span> 添加自定义等待事件。</p>", "text": "允许扩展定义自定义等待事件（Masahiro Ikeda）§ § § § 已为 postgres_fdw 和 dblink 添加自定义等待事件。", "title": "允许扩展定义自定义等待事件", "commits": ["c789f0f6c", "c8e318b1b", "c9af05465", "d61f2538a"], "section": "附加模块", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-MODULES", "source_hash": "3e18bb054099b012337f229bfd16abbbe7cd8ac7aa3e1f71d01fd0b4a9369325", "section_path": ["附加模块"], "commit_groups": [["c789f0f6c"], ["c8e318b1b"], ["c9af05465"], ["d61f2538a"]], "identity_text": "Allow extensions to define custom wait events (Masahiro Ikeda) Custom wait events have been added to postgres-fdw and dblink .", "commit_aliases": ["c789f0f6c", "c8e318b1b", "c9af05465", "d61f2538a"], "source_commits": ["c789f0f6c", "c8e318b1b", "c9af05465", "d61f2538a"], "source_entry_id": "17.0/changes/156", "db_id": "d63e44947b60988f27614175b5661fa5", "patch_ids": ["551282438ee8bf65b5ce0ff14356c112", "685609f4c41ca3f1d73cec33965d58de", "c3c2943815691b7f043da5e16bf4734b", "e8405f8c4ac1936e911a805cbc0c70d9"], "statement_hash": "a8ce5486d4288a9668f620699027d38aab125e45c30eef32f07c3765898aaf7e", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-00fe19218934a128", "cves": [], "html": "<p>添加 <span><a href=\"/docs/17/pgbuffercache.html\" title=\"F.25. pg_buffercache — 检查 PostgreSQL 缓冲区缓存状态\">pg_buffercache</a></span> 函数 <code>pg_buffercache_evict()</code>，以允许逐出共享缓冲区（Palak Chaturvedi, Thomas Munro）<a href=\"https://postgr.es/c/13453eedd\">§</a></p>\n<p>这对测试很有用。</p>", "text": "添加 pg_buffercache 函数 pg_buffercache_evict()，以允许逐出共享缓冲区（Palak Chaturvedi, Thomas Munro）§ 这对测试很有用。", "title": "添加 pg_buffercache 函数 pg_buffercache_evict()，以允许逐出共享缓冲区", "commits": ["13453eedd"], "section": "附加模块", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-MODULES", "source_hash": "25fb5ba59857633a6ef736bcfdd9e285cb3152201b9b8d65bf8306e2092aad24", "section_path": ["附加模块"], "commit_groups": [["13453eedd"]], "identity_text": "Add pgbuffercache function pg_buffercache_evict() to allow shared buffer eviction (Palak Chaturvedi, Thomas Munro) This is useful for testing.", "commit_aliases": ["13453eedd"], "source_commits": ["13453eedd"], "source_entry_id": "17.0/changes/157", "db_id": "61ff3b352b52e9e18577a69aead34ffe", "patch_ids": ["843c758478199eec5fc56a1397918d2f"], "statement_hash": "5e43907c0ac2702df89595e19c2322444d4bf17b01e71c309f06b9aaf0ae3785", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-429b01a8f50d3937", "cves": [], "html": "<p>将 <span>pg_stat_statements</span> 中 <a href=\"/docs/17/sql-call.html\" title=\"CALL\"><code>CALL</code></a> 的参数替换为占位符（Sami Imseih）<a href=\"https://postgr.es/c/11c34b342\">§</a></p>", "text": "将 pg_stat_statements 中 CALL 的参数替换为占位符（Sami Imseih）§", "title": "将 pg_stat_statements 中 CALL 的参数替换为占位符", "commits": ["11c34b342"], "section": "附加模块 / pg_stat_statements", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-PGSTATSTATEMENTS", "source_hash": "90c50c720ef38c7ba0b62ef3aedb2e049a0351d05cee703b97d5942d5f84fb82", "section_path": ["附加模块", "pg_stat_statements"], "commit_groups": [["11c34b342"]], "identity_text": "Replace CALL parameters in pg_stat_statements with placeholders (Sami Imseih)", "commit_aliases": ["11c34b342"], "source_commits": ["11c34b342"], "source_entry_id": "17.0/changes/158", "db_id": "829435fcd9a5204bcfac577c982e3469", "patch_ids": ["87f5e7d8ff2e863ba43e78ee25116ca8"], "statement_hash": "cc9275113678c3de5e0d531bb7a7a3e8bd0eb99035fef99019d8ced640b7bbc1", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-7b19fbc72a1eca37", "cves": [], "html": "<p>将存储在 <code>pg_stat_statements</code> 中的保存点名称替换为占位符（Greg Sabino Mullane）<a href=\"https://postgr.es/c/31de7e60d\">§</a></p>\n<p>这会大幅减少记录 <a href=\"/docs/17/sql-savepoint.html\" title=\"SAVEPOINT\"><code>SAVEPOINT</code></a>、<a href=\"/docs/17/sql-release-savepoint.html\" title=\"RELEASE SAVEPOINT\"><code>RELEASE SAVEPOINT</code></a> 和 <a href=\"/docs/17/sql-rollback-to.html\" title=\"ROLLBACK TO SAVEPOINT\"><code>ROLLBACK TO SAVEPOINT</code></a> 命令所需的条目数量。</p>", "text": "将存储在 pg_stat_statements 中的保存点名称替换为占位符（Greg Sabino Mullane）§ 这会大幅减少记录 SAVEPOINT、RELEASE SAVEPOINT 和 ROLLBACK TO SAVEPOINT 命令所需的条目数量。", "title": "将存储在 pg_stat_statements 中的保存点名称替换为占位符", "commits": ["31de7e60d"], "section": "附加模块 / pg_stat_statements", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-PGSTATSTATEMENTS", "source_hash": "c50057061161192a2379d4bfbff725627b34cd605c895a85c386ec953ee4420f", "section_path": ["附加模块", "pg_stat_statements"], "commit_groups": [["31de7e60d"]], "identity_text": "Replace savepoint names stored in pg_stat_statements with placeholders (Greg Sabino Mullane) This greatly reduces the number of entries needed to record SAVEPOINT, RELEASE SAVEPOINT, and ROLLBACK TO SAVEPOINT commands.", "commit_aliases": ["31de7e60d"], "source_commits": ["31de7e60d"], "source_entry_id": "17.0/changes/159", "db_id": "2a21b91a16c60f8e844182a824561a87", "patch_ids": ["e60205f9422d47db4fe5f9b3f589b3f2"], "statement_hash": "bd64485b74b9e153addf621c9eba9c447fbc0b45f5bbe26fab1e255398ea8edd", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-d2115aec8d497c4a", "cves": [], "html": "<p>将存储在 <code>pg_stat_statements</code> 中的两阶段提交 <acronym>GID</acronym> 替换为占位符（Michael Paquier）<a href=\"https://postgr.es/c/638d42a3c\">§</a></p>\n<p>这会大幅减少记录 <a href=\"/docs/17/sql-prepare-transaction.html\" title=\"PREPARE TRANSACTION\"><code>PREPARE TRANSACTION</code></a>、<a href=\"/docs/17/sql-commit-prepared.html\" title=\"COMMIT PREPARED\"><code>COMMIT PREPARED</code></a> 和 <a href=\"/docs/17/sql-rollback-prepared.html\" title=\"ROLLBACK PREPARED\"><code>ROLLBACK PREPARED</code></a> 所需的条目数量。</p>", "text": "将存储在 pg_stat_statements 中的两阶段提交 GID 替换为占位符（Michael Paquier）§ 这会大幅减少记录 PREPARE TRANSACTION、COMMIT PREPARED 和 ROLLBACK PREPARED 所需的条目数量。", "title": "将存储在 pg_stat_statements 中的两阶段提交 GID 替换为占位符", "commits": ["638d42a3c"], "section": "附加模块 / pg_stat_statements", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-PGSTATSTATEMENTS", "source_hash": "6678359f9464015d398365b004a42f49431b6266264ad35b6ed6fc67b612a7e1", "section_path": ["附加模块", "pg_stat_statements"], "commit_groups": [["638d42a3c"]], "identity_text": "Replace the two-phase commit GIDs stored in pg_stat_statements with placeholders (Michael Paquier) This greatly reduces the number of entries needed to record PREPARE TRANSACTION, COMMIT PREPARED, and ROLLBACK PREPARED.", "commit_aliases": ["638d42a3c"], "source_commits": ["638d42a3c"], "source_entry_id": "17.0/changes/160", "db_id": "b33f56a77ff25930b3040bfc942613b5", "patch_ids": ["57b4c7be3c57b33edc95595f13341b10"], "statement_hash": "9fa3b83bd74b30a68b6780fde124f414b7aee39d0beb27daa6a9bde01041969f", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-4bb3e59515088f2f", "cves": [], "html": "<p>在 <code>pg_stat_statements</code> 中跟踪 <a href=\"/docs/17/sql-deallocate.html\" title=\"DEALLOCATE\"><code>DEALLOCATE</code></a>（Dagfinn Ilmari Mannsåker, Michael Paquier）<a href=\"https://postgr.es/c/bb45156f3\">§</a></p>\n<p><code>DEALLOCATE</code> 名称在 <code>pg_stat_statements</code> 中存储为占位符。</p>", "text": "在 pg_stat_statements 中跟踪 DEALLOCATE（Dagfinn Ilmari Mannsåker, Michael Paquier）§ DEALLOCATE 名称在 pg_stat_statements 中存储为占位符。", "title": "在 pg_stat_statements 中跟踪 DEALLOCATE", "commits": ["bb45156f3"], "section": "附加模块 / pg_stat_statements", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-PGSTATSTATEMENTS", "source_hash": "a592f4b812f8966cda97db262c24f01e7c1c6a4e472ff15446e81e012657ee1b", "section_path": ["附加模块", "pg_stat_statements"], "commit_groups": [["bb45156f3"]], "identity_text": "Track DEALLOCATE in pg_stat_statements (Dagfinn Ilmari Mannsåker, Michael Paquier) DEALLOCATE names are stored in pg_stat_statements as placeholders.", "commit_aliases": ["bb45156f3"], "source_commits": ["bb45156f3"], "source_entry_id": "17.0/changes/161", "db_id": "5951b4d43885e4df40c6caf1c30a6ea4", "patch_ids": ["056d4a0cbce0e0223cbd0767af1dda9e"], "statement_hash": "f2259aba30c6564e7836765ac064b24dc77c1d6b0cfd71f91b1c1e8b16971140", "relations": [], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "17.0-843394b54569c073", "cves": [], "html": "<p>为 <code>pg_stat_statements</code> 添加本地 I/O 块读/写耗时统计列（Nazir Bilal Yavuz）<a href=\"https://postgr.es/c/295c36c0c\">§</a> <a href=\"https://postgr.es/c/5147ab1dd\">§</a></p>\n<p>新列是 <code>local_blk_read_time</code> 和 <code>local_blk_write_time</code>。</p>", "text": "为 pg_stat_statements 添加本地 I/O 块读/写耗时统计列（Nazir Bilal Yavuz）§ § 新列是 local_blk_read_time 和 local_blk_write_time。", "title": "为 pg_stat_statements 添加本地 I/O 块读/写耗时统计列", "commits": ["295c36c0c", "5147ab1dd"], "section": "附加模块 / pg_stat_statements", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-PGSTATSTATEMENTS", "source_hash": "b6c1e6dfc39523b1bbc567f56280f7d73996ef76d15743118b7affb6a69bf8e3", "section_path": ["附加模块", "pg_stat_statements"], "commit_groups": [["295c36c0c"], ["5147ab1dd"]], "identity_text": "Add local I/O block read/write timing statistics columns of pg_stat_statements (Nazir Bilal Yavuz) The new columns are local_blk_read_time and local_blk_write_time.", "commit_aliases": ["295c36c0c", "5147ab1dd"], "source_commits": ["295c36c0c", "5147ab1dd"], "source_entry_id": "17.0/changes/162", "db_id": "a487787ae801d826d7c42eb4f15dd2e9", "patch_ids": ["5bbfcb7876ccc999e0bc578d10ccf3d1", "fed9aec98df0f1a466087cc808bd62be"], "statement_hash": "278c2b09b36f008be4c98de8c051e5fe1acff3e3f2e90db73286bc0b444f7454", "relations": [{"rule": 2, "type": "related", "target": "3a8f2092e95f906fe2ba774157ee86a4", "evidence": {"same_day": true, "patch_ids": ["5bbfcb7876ccc999e0bc578d10ccf3d1"], "ambiguous_patch_ids": ["5bbfcb7876ccc999e0bc578d10ccf3d1"]}}], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": [{"db_id": "3a8f2092e95f906fe2ba774157ee86a4", "kind": "related", "version": "17.0", "label": "17.0", "title": "为 EXPLAIN 的 BUFFERS 输出添加本地 I/O 块读/写耗时统计信息", "evidence": {"same_day": true, "patch_ids": ["5bbfcb7876ccc999e0bc578d10ccf3d1"], "ambiguous_patch_ids": ["5bbfcb7876ccc999e0bc578d10ccf3d1"]}, "url": "/docs/compare/?release=17.0#17.0-70a7093e20ba6cd2", "source_url": "/docs/release/17.0/#RELEASE-17-EXPLAIN"}]}, {"id": "17.0-0a15ab0156dc13fd", "cves": [], "html": "<p>为 <code>pg_stat_statements</code> 添加 <acronym>JIT</acronym> <code>deform_counter</code> 细节（Dmitry Dolgov）<a href=\"https://postgr.es/c/5a3423ad8\">§</a></p>", "text": "为 pg_stat_statements 添加 JIT deform_counter 细节（Dmitry Dolgov）§", "title": "为 pg_stat_statements 添加 JIT deform_counter 细节", "commits": ["5a3423ad8"], "section": "附加模块 / pg_stat_statements", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-PGSTATSTATEMENTS", "source_hash": "aa717c9cf9462f74ba98dab59847f2045b8215f349a843cb548b29b2a845da97", "section_path": ["附加模块", "pg_stat_statements"], "commit_groups": [["5a3423ad8"]], "identity_text": "Add JIT deform_counter details to pg_stat_statements (Dmitry Dolgov)", "commit_aliases": ["5a3423ad8"], "source_commits": ["5a3423ad8"], "source_entry_id": "17.0/changes/163", "db_id": "cfc33f9d4d45dd958c4e7f050c7845a6", "patch_ids": ["69b5f4ac2075731de6ade1ebfae6e6c3"], "statement_hash": "e9e315333b7c76b331b16fb18be5f5185d899d1ff9058a43131cfdb7073d9ccf", "relations": [{"rule": 2, "type": "related", "target": "14f807d67bbb33e16136e47a0d977573", "evidence": {"same_day": true, "patch_ids": ["69b5f4ac2075731de6ade1ebfae6e6c3"], "ambiguous_patch_ids": ["69b5f4ac2075731de6ade1ebfae6e6c3"]}}], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": [{"db_id": "14f807d67bbb33e16136e47a0d977573", "kind": "related", "version": "17.0", "label": "17.0", "title": "为 EXPLAIN 添加 JIT deform_counter 细节", "evidence": {"same_day": true, "patch_ids": ["69b5f4ac2075731de6ade1ebfae6e6c3"], "ambiguous_patch_ids": ["69b5f4ac2075731de6ade1ebfae6e6c3"]}, "url": "/docs/compare/?release=17.0#17.0-b17cc37285e213a8", "source_url": "/docs/release/17.0/#RELEASE-17-EXPLAIN"}]}, {"id": "17.0-e35b1e500c1f3cd8-1", "cves": [], "html": "<p>为 <code>pg_stat_statements_reset()</code> 添加可选的第四个参数（<code>minmax_only</code>），以允许仅重置最小/最大统计信息（Andrei Zubkov）<a href=\"https://postgr.es/c/dc9f8a798\">§</a></p>\n<p>该参数默认为 <code>false</code>。</p>", "text": "为 pg_stat_statements_reset() 添加可选的第四个参数（minmax_only），以允许仅重置最小/最大统计信息（Andrei Zubkov）§ 该参数默认为 false。", "title": "为 pg_stat_statements_reset() 添加可选的第四个参数（minmax_only），以允许仅重置最小/最大统计信息", "commits": ["dc9f8a798"], "section": "附加模块 / pg_stat_statements", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-PGSTATSTATEMENTS", "source_hash": "aa11a76de656b08b40e0985b99fe88255608b5a625ea489eb21fc718bfbd828f", "section_path": ["附加模块", "pg_stat_statements"], "commit_groups": [["dc9f8a798"]], "identity_text": "Add optional fourth argument (minmax_only) to pg_stat_statements_reset() to allow for the resetting of only min/max statistics (Andrei Zubkov) This argument defaults to false.", "commit_aliases": ["dc9f8a798"], "source_commits": ["dc9f8a798"], "source_entry_id": "17.0/changes/164", "db_id": "bc79670356131e39aad8d56b8b59d119", "patch_ids": ["db7ed1ad22868410847bd9e5deaf33a5"], "statement_hash": "1e200afd7116407e1b97f88b968e3951d1029d4f7f611df985043c99d4d4df8b", "relations": [{"rule": 2, "type": "related", "target": "93ab538cead5b7f1878a5a35ff9096e8", "evidence": {"same_day": true, "patch_ids": ["db7ed1ad22868410847bd9e5deaf33a5"], "ambiguous_patch_ids": ["db7ed1ad22868410847bd9e5deaf33a5"]}}], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": [{"db_id": "93ab538cead5b7f1878a5a35ff9096e8", "kind": "related", "version": "17.0", "label": "17.0", "title": "为 pg_stat_statements 添加列 stats_since 和 minmax_stats_since，用于跟踪条目创建时间以及上次最小/最大值重置时间", "evidence": {"same_day": true, "patch_ids": ["db7ed1ad22868410847bd9e5deaf33a5"], "ambiguous_patch_ids": ["db7ed1ad22868410847bd9e5deaf33a5"]}, "url": "/docs/compare/?release=17.0#17.0-e35b1e500c1f3cd8-2", "source_url": "/docs/release/17.0/#RELEASE-17-PGSTATSTATEMENTS"}]}, {"id": "17.0-e35b1e500c1f3cd8-2", "cves": [], "html": "<p>为 <code>pg_stat_statements</code> 添加列 <code>stats_since</code> 和 <code>minmax_stats_since</code>，用于跟踪条目创建时间以及上次最小/最大值重置时间（Andrei Zubkov）<a href=\"https://postgr.es/c/dc9f8a798\">§</a></p>", "text": "为 pg_stat_statements 添加列 stats_since 和 minmax_stats_since，用于跟踪条目创建时间以及上次最小/最大值重置时间（Andrei Zubkov）§", "title": "为 pg_stat_statements 添加列 stats_since 和 minmax_stats_since，用于跟踪条目创建时间以及上次最小/最大值重置时间", "commits": ["dc9f8a798"], "section": "附加模块 / pg_stat_statements", "category": "feature", "source_url": "/docs/release/17.0/#RELEASE-17-PGSTATSTATEMENTS", "source_hash": "78310acbc382ecef0bd777a01f5ac39f0d3565334f68fb387ff6a0e10c7dfeaf", "section_path": ["附加模块", "pg_stat_statements"], "commit_groups": [["dc9f8a798"]], "identity_text": "Add pg_stat_statements columns stats_since and minmax_stats_since to track entry creation time and last min/max reset time (Andrei Zubkov)", "commit_aliases": ["dc9f8a798"], "source_commits": ["dc9f8a798"], "source_entry_id": "17.0/changes/165", "db_id": "93ab538cead5b7f1878a5a35ff9096e8", "patch_ids": ["db7ed1ad22868410847bd9e5deaf33a5"], "statement_hash": "a1116325aeacc525e218e293d407fa884f808e5cadf4ef8a70b574a33284f053", "relations": [{"rule": 2, "type": "related", "target": "bc79670356131e39aad8d56b8b59d119", "evidence": {"same_day": true, "patch_ids": ["db7ed1ad22868410847bd9e5deaf33a5"], "ambiguous_patch_ids": ["db7ed1ad22868410847bd9e5deaf33a5"]}}], "version": "17.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": [{"db_id": "bc79670356131e39aad8d56b8b59d119", "kind": "related", "version": "17.0", "label": "17.0", "title": "为 pg_stat_statements_reset() 添加可选的第四个参数（minmax_only），以允许仅重置最小/最大统计信息", "evidence": {"same_day": true, "patch_ids": ["db7ed1ad22868410847bd9e5deaf33a5"], "ambiguous_patch_ids": ["db7ed1ad22868410847bd9e5deaf33a5"]}, "url": "/docs/compare/?release=17.0#17.0-e35b1e500c1f3cd8-1", "source_url": "/docs/release/17.0/#RELEASE-17-PGSTATSTATEMENTS"}]}]}], "stats": [{"key": "all", "label": "全部变更", "count": 182}, {"key": "feature", "label": "新功能", "count": 154}, {"key": "bugfix", "label": "BUG 修复", "count": 2}, {"key": "security", "label": "安全相关", "count": 0}, {"key": "performance", "label": "性能改进", "count": 9}, {"key": "compatibility", "label": "兼容性变化", "count": 17}, {"key": "improvement", "label": "其他改进", "count": 0}], "total": 182, "release_count": 1, "cross_major": false, "cve_count": 0, "cves": [], "cve_available": true, "remaining_cves": [], "security_regressions": [], "warnings": [], "candidate_count": 182, "already_in_source_count": 0, "duplicate_count": 0, "excluded_count": 0, "exclusions": [], "source_as_of": "2026-09-26", "security_as_of": "2026-09-26"}