{"format": 1, "mode": "release", "from_release": null, "to_release": {"date": "2013-09-09", "build": "9.3.0", "major": "9.3", "minor": 0, "manual": "9.3", "status": "stable", "doc_git": "", "version": "9.3.0", "eol_date": "2018-11-08", "date_text": "2013-09-09", "supported": false, "manual_url": "/docs/9.3/release-9-3.html", "source_url": "/docs/release/9.3.0/", "entry_count": 177, "placeholder": false, "content_hash": "95b6206e2ff7fcc6ba007e3dffb15f8a3ac1044b457ef040226059e35e28d59b", "manual_build": "9.3.25", "source_as_of": "", "changes_count": 167, "doc_loaded_at": "2026-09-26T02:56:46.133805", "migration_html": "<p>对于希望从任何早期版本迁移数据的用户，需要使用<a href=\"/docs/9.3/app-pg-dumpall.html\" title=\"pg_dumpall\"><span>pg_dumpall</span></a>进行转储/恢复，或者使用<a href=\"/docs/9.3/pgupgrade.html\" title=\"pg_upgrade\"><span>pg_upgrade</span></a>。</p>\n<p>版本 9.3 包含许多可能影响与以前版本兼容性的变更。请注意以下不兼容之处：</p>\n<div>\n<div>\n</div>\n</div>\n<div>\n<div>\n</div>\n</div>", "compatibility_count": 10, "label": "9.3", "status_label": "历史版本", "eol": "2018-11-08", "age_days": 4769, "support_days": -2883}, "groups": [{"date": "2013-09-09", "build": "9.3.0", "major": "9.3", "minor": 0, "manual": "9.3", "status": "stable", "doc_git": "", "version": "9.3.0", "eol_date": "2018-11-08", "date_text": "2013-09-09", "supported": false, "manual_url": "/docs/9.3/release-9-3.html", "source_url": "/docs/release/9.3.0/", "entry_count": 177, "placeholder": false, "content_hash": "95b6206e2ff7fcc6ba007e3dffb15f8a3ac1044b457ef040226059e35e28d59b", "manual_build": "9.3.25", "source_as_of": "", "changes_count": 167, "doc_loaded_at": "2026-09-26T02:56:46.133805", "migration_html": "<p>对于希望从任何早期版本迁移数据的用户，需要使用<a href=\"/docs/9.3/app-pg-dumpall.html\" title=\"pg_dumpall\"><span>pg_dumpall</span></a>进行转储/恢复，或者使用<a href=\"/docs/9.3/pgupgrade.html\" title=\"pg_upgrade\"><span>pg_upgrade</span></a>。</p>\n<p>版本 9.3 包含许多可能影响与以前版本兼容性的变更。请注意以下不兼容之处：</p>\n<div>\n<div>\n</div>\n</div>\n<div>\n<div>\n</div>\n</div>", "compatibility_count": 10, "label": "9.3", "status_label": "历史版本", "eol": "2018-11-08", "age_days": 4769, "support_days": -2883, "entries": [{"id": "9.3.0-6832d31eba59cf5e", "cves": [], "html": "<p>把 <code>replication_timeout</code> 重命名为 <a href=\"/docs/9.3/runtime-config-replication.html#GUC-WAL-SENDER-TIMEOUT\"><code>wal_sender_timeout</code></a>（Amit Kapila）</p>\n<p>这个设置控制 <a href=\"/docs/9.3/wal.html\" title=\"第 29 章 可靠性与预写式日志\"><acronym>WAL</acronym></a> 发送端的超时。</p>", "text": "把 replication_timeout 重命名为 wal_sender_timeout（Amit Kapila） 这个设置控制 WAL 发送端的超时。", "title": "把 replication_timeout 重命名为 wal_sender_timeout", "commits": [], "section": "服务器设置", "category": "compatibility", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.4.4", "source_hash": "7d3a5111f5998c54522a9b5d5d3b1c5bb9ff9a5675e99a3681d958ac5cea2720", "section_path": ["服务器设置"], "commit_groups": [], "identity_text": "Rename replication_timeout to wal_sender_timeout (Amit Kapila) This setting controls the WAL sender timeout.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/migration/001", "db_id": "777c38872b71678d3a54bcb0a09285eb", "patch_ids": [], "statement_hash": "6cc3ce1243bc11ed9e6b46ad30c2586106189c659d24a4ecc20ca3da37638112", "relations": [], "version": "9.3.0", "category_label": "兼容性变化", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-981bb43a03a77b93", "cves": [], "html": "<p>设置 <a href=\"/docs/9.3/runtime-config-wal.html#GUC-COMMIT-DELAY\"><code>commit_delay</code></a> 现在需要超级用户权限，因为它如今有可能延迟其他会话（Simon Riggs）</p>", "text": "设置 commit_delay 现在需要超级用户权限，因为它如今有可能延迟其他会话（Simon Riggs）", "title": "设置 commit_delay 现在需要超级用户权限，因为它如今有可能延迟其他会话", "commits": [], "section": "服务器设置", "category": "compatibility", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.4.4", "source_hash": "c6282703484b1687855ee95e61a0151cc229f09bc7f06b02c8eb5627e4d30461", "section_path": ["服务器设置"], "commit_groups": [], "identity_text": "Require superuser privileges to set commit_delay because it can now potentially delay other sessions (Simon Riggs)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/migration/002", "db_id": "2b6e74ac5ec9281a05eda02ededd813d", "patch_ids": [], "statement_hash": "7b03f46095c788f77e92048bd306fdbb0f084bca149ed233995576ad66f79eca", "relations": [], "version": "9.3.0", "category_label": "兼容性变化", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-0c9f8a915cae1ea7", "cves": [], "html": "<p>允许内存中排序使用其完整的内存分配（Jeff Janes）</p>\n<p>基于旧行为设置了 <a href=\"/docs/9.3/runtime-config-resource.html#GUC-WORK-MEM\"><code>work_mem</code></a> 的用户可能需要重新审视该设置。</p>", "text": "允许内存中排序使用其完整的内存分配（Jeff Janes） 基于旧行为设置了 work_mem 的用户可能需要重新审视该设置。", "title": "允许内存中排序使用其完整的内存分配", "commits": [], "section": "服务器设置", "category": "compatibility", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.4.4", "source_hash": "e32e36d7b7b1b72efbfc099a55747863955b4b3a084e9cfe387e142cf3aa588e", "section_path": ["服务器设置"], "commit_groups": [], "identity_text": "Allow in-memory sorts to use their full memory allocation (Jeff Janes) Users who have set work_mem based on the previous behavior may need to revisit that setting.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/migration/003", "db_id": "6245043f14052870314e2ba5565d4358", "patch_ids": [], "statement_hash": "741080d12f08813ebb89f640366d082587ca9490da6eb287c8562adf9af979b7", "relations": [], "version": "9.3.0", "category_label": "兼容性变化", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-32b93c18419c3ede", "cves": [], "html": "<p>如果要更新或删除的元组已被 <code>BEFORE</code> 触发器更新或删除，则抛出错误（Kevin Grittner）</p>\n<p>此前，原本打算执行的更新会被静默跳过，造成逻辑不一致，因为触发器可能已经基于预期的更新把数据传播到了其他地方。现在会抛出错误，以防止不一致的结果被提交。如果此变更影响你的应用，最好的解决办法通常是把数据传播动作移到 <code>AFTER</code> 触发器。</p>\n<p>如果查询调用的易变函数修改了稍后又被查询本身修改的行，也会抛出此错误。这类情况此前同样会导致静默跳过更新。</p>", "text": "如果要更新或删除的元组已被 BEFORE 触发器更新或删除，则抛出错误（Kevin Grittner） 此前，原本打算执行的更新会被静默跳过，造成逻辑不一致，因为触发器可能已经基于预期的更新把数据传播到了其他地方。现在会抛出错误，以防止不一致的结果被提交。如果此变更影响你的应用，最好的解决办法通常是把数据传播动作移到 AFTER 触发器。 如果查询调用的易变函数修改了稍后又被查询本身修改的行，也会抛出此错误。这类情况此前同样会导致静默跳过更新。", "title": "如果要更新或删除的元组已被 BEFORE 触发器更新或删除，则抛出错误", "commits": [], "section": "其他", "category": "compatibility", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.4.5", "source_hash": "846a38d188b88a9328f2c107d17f37ec7bc8c3bae1fed31e0625d87e9dda1dcd", "section_path": ["其他"], "commit_groups": [], "identity_text": "Throw an error if a tuple to be updated or deleted has already been updated or deleted by a BEFORE trigger (Kevin Grittner) Formerly, the originally-intended update was silently skipped, resulting in logical inconsistency since the trigger might have propagated data to other places based on the intended update. Now an error is thrown to prevent the inconsistent results from being committed. If this change affects your application, the best solution is usually to move the data-propagation actions to an AFTER trigger. This error will also be thrown if a query invokes a volatile function that modifies rows that are later modified by the query itself. Such cases likewise previously resulted in silently skipping updates.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/migration/004", "db_id": "55e64fba7ece2ed63167bad5bf54bfe7", "patch_ids": [], "statement_hash": "77be53654d0b21d5eea320e46652350e7b2deb021b9cae0095281c46578fe901", "relations": [], "version": "9.3.0", "category_label": "兼容性变化", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-6e00cc427db74653", "cves": [], "html": "<p>修改多列 <a href=\"/docs/9.3/sql-createtable.html\" title=\"CREATE TABLE\"><code>ON UPDATE SET NULL/SET DEFAULT</code></a> 外键操作的行为，使其影响约束的所有列，而不只是 <code>UPDATE</code> 中被更改的那些列（Tom Lane）</p>\n<p>此前，我们只会设置那些与被 <code>UPDATE</code> 更改的被引用列相对应的引用列。这是 SQL-92 的要求，但 SQL 标准的较新版本规定了新的行为。</p>", "text": "修改多列 ON UPDATE SET NULL/SET DEFAULT 外键操作的行为，使其影响约束的所有列，而不只是 UPDATE 中被更改的那些列（Tom Lane） 此前，我们只会设置那些与被 UPDATE 更改的被引用列相对应的引用列。这是 SQL-92 的要求，但 SQL 标准的较新版本规定了新的行为。", "title": "修改多列 ON UPDATE SET NULL/SET DEFAULT 外键操作的行为，使其影响约束的所有列，而不只是 UPDATE 中被更改的那些列", "commits": [], "section": "其他", "category": "compatibility", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.4.5", "source_hash": "6d1eaa1e419abefce841b641739b32298fb6c3301c0da39714ddfb8c397a5d54", "section_path": ["其他"], "commit_groups": [], "identity_text": "Change multicolumn ON UPDATE SET NULL/SET DEFAULT foreign key actions to affect all columns of the constraint, not just those changed in the UPDATE (Tom Lane) Previously, we would set only those referencing columns that correspond to referenced columns that were changed by the UPDATE. This was what was required by SQL-92, but more recent editions of the SQL standard specify the new behavior.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/migration/005", "db_id": "ef8e0b035e97e06f5160c17f130840a2", "patch_ids": [], "statement_hash": "9f2b004c6abc3aa5ccdd6859fa7fac3855edcc1770dce3a7d5cdcb948afdf22b", "relations": [], "version": "9.3.0", "category_label": "兼容性变化", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-90c5996569ac8637", "cves": [], "html": "<p>当 <a href=\"/docs/9.3/runtime-config-client.html#GUC-SEARCH-PATH\"><code>search_path</code></a> 发生变化时，强制对缓存的计划重新规划（Tom Lane）</p>\n<p>此前，如果查询以新的 <code>search_path</code> 设置重新执行，当前会话中已生成的缓存计划不会重做，导致令人惊讶的行为。</p>", "text": "当 search_path 发生变化时，强制对缓存的计划重新规划（Tom Lane） 此前，如果查询以新的 search_path 设置重新执行，当前会话中已生成的缓存计划不会重做，导致令人惊讶的行为。", "title": "当 search_path 发生变化时，强制对缓存的计划重新规划", "commits": [], "section": "其他", "category": "compatibility", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.4.5", "source_hash": "cb493e57aeb821bfd1152a5a99d8e723c0a475b9ab295ad075a5abc12266a236", "section_path": ["其他"], "commit_groups": [], "identity_text": "Force cached plans to be replanned if the search_path changes (Tom Lane) Previously, cached plans already generated in the current session were not redone if the query was re-executed with a new search_path setting, resulting in surprising behavior.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/migration/006", "db_id": "65188fc87f3b7c326ea0cfb72d117d9a", "patch_ids": [], "statement_hash": "2f26882a450e32a79665b3171a9660ee7b8cd8bf9c0e0ac4520a953ccc905bc6", "relations": [], "version": "9.3.0", "category_label": "兼容性变化", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-8f04c28d94e69aec", "cves": [], "html": "<p>修复 <a href=\"/docs/9.3/functions-formatting.html#FUNCTIONS-FORMATTING-TABLE\" title=\"表 9.21. 格式化函数\"><code>to_number()</code></a>，使其正确处理用作千位分隔符的句点（Tom Lane）</p>\n<p>此前，即使区域设置表明句点不是小数点、并且使用了 <code>D</code> 格式代码指定使用区域特定的小数点，句点仍被视为小数点。如果同时使用 <code>FM</code> 格式，这会导致错误答案。</p>", "text": "修复 to_number()，使其正确处理用作千位分隔符的句点（Tom Lane） 此前，即使区域设置表明句点不是小数点、并且使用了 D 格式代码指定使用区域特定的小数点，句点仍被视为小数点。如果同时使用 FM 格式，这会导致错误答案。", "title": "修复 to_number()，使其正确处理用作千位分隔符的句点", "commits": [], "section": "其他", "category": "compatibility", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.4.5", "source_hash": "113fb4a7606e734176af27d447d7dee7d3de3b27e540f8b85f4414a32316c376", "section_path": ["其他"], "commit_groups": [], "identity_text": "Fix to_number() to properly handle a period used as a thousands separator (Tom Lane) Previously, a period was considered to be a decimal point even when the locale says it isn't and the D format code is used to specify use of the locale-specific decimal point. This resulted in wrong answers if FM format was also used.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/migration/007", "db_id": "1e4974095835e7b46ea6fc5c6b755aba", "patch_ids": [], "statement_hash": "fd33581be7d0f26b3dc0f1336009ef49d4338b40ff4d44e4bde2062c6c016768", "relations": [], "version": "9.3.0", "category_label": "兼容性变化", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-1f669d6fea137555", "cves": [], "html": "<p>修复带集合返回函数参数的 <code>STRICT</code> 非集合返回函数，使其正确返回空行（Tom Lane）</p>\n<p>传递给严格函数的空值本应产生空输出，但该输出行却被完全抑制了。</p>", "text": "修复带集合返回函数参数的 STRICT 非集合返回函数，使其正确返回空行（Tom Lane） 传递给严格函数的空值本应产生空输出，但该输出行却被完全抑制了。", "title": "修复带集合返回函数参数的 STRICT 非集合返回函数，使其正确返回空行", "commits": [], "section": "其他", "category": "compatibility", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.4.5", "source_hash": "acb27fd1f97e331d075bf1acbaad8a957717d4374846542b062517e30357109c", "section_path": ["其他"], "commit_groups": [], "identity_text": "Fix STRICT non-set-returning functions that have set-returning functions in their arguments to properly return null rows (Tom Lane) A null value passed to the strict function should result in a null output, but instead, that output row was suppressed entirely.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/migration/008", "db_id": "63a2863d7bc6cf75ae87a01afb364ed7", "patch_ids": [], "statement_hash": "f79adf80b607e1c5bf9ab3f1aba9bb221b87b03cd0aa36e449b4d91e2455473a", "relations": [], "version": "9.3.0", "category_label": "兼容性变化", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-7bd4a1048ac9cc2b", "cves": [], "html": "<p>把 <a href=\"/docs/9.3/wal.html\" title=\"第 29 章 可靠性与预写式日志\"><acronym>WAL</acronym></a> 存储为连续流，而不是每 4GB 跳过最后 16MB 的段（Heikki Linnakangas）</p>\n<p>此前，由于这种跳过，名称以 <code>FF</code> 结尾的 <acronym>WAL</acronym> 文件不会被使用。如果你的 <acronym>WAL</acronym> 备份或恢复脚本考虑了这一行为，则需要调整。</p>", "text": "把 WAL 存储为连续流，而不是每 4GB 跳过最后 16MB 的段（Heikki Linnakangas） 此前，由于这种跳过，名称以 FF 结尾的 WAL 文件不会被使用。如果你的 WAL 备份或恢复脚本考虑了这一行为，则需要调整。", "title": "把 WAL 存储为连续流，而不是每 4GB 跳过最后 16MB 的段", "commits": [], "section": "其他", "category": "compatibility", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.4.5", "source_hash": "c98e9f83498de614368daf6b5726a38c3247dfdd79e1c2e40332dd47e8686840", "section_path": ["其他"], "commit_groups": [], "identity_text": "Store WAL in a continuous stream, rather than skipping the last 16MB segment every 4GB (Heikki Linnakangas) Previously, WAL files with names ending in FF were not used because of this skipping. If you have WAL backup or restore scripts that took this behavior into account, they will need to be adjusted.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/migration/009", "db_id": "0a39dac684ea2f362a61bdcbe7e55a4a", "patch_ids": [], "statement_hash": "c3cd5f51e45a42066d2ae5b5cee8eef03533fa98f00b9151fe30ee2e3d9977fd", "relations": [], "version": "9.3.0", "category_label": "兼容性变化", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-d21614ecebdbd136", "cves": [], "html": "<p>在 <a href=\"/docs/9.3/catalog-pg-constraint.html\" title=\"47.13. pg_constraint\"><code>pg_constraint.confmatchtype</code></a> 中，把默认外键匹配类型（非 <code>FULL</code>、非 <code>PARTIAL</code>）存储为表示<span>“<span>simple</span>”</span>的 <code>s</code>（Tom Lane）</p>\n<p>此前这种情况用表示<span>“<span>unspecified</span>”</span>的 <code>u</code> 表示。</p>", "text": "在 pg_constraint.confmatchtype 中，把默认外键匹配类型（非 FULL、非 PARTIAL）存储为表示“simple”的 s（Tom Lane） 此前这种情况用表示“unspecified”的 u 表示。", "title": "在 pg_constraint.confmatchtype 中，把默认外键匹配类型（非 FULL、非 PARTIAL）存储为表示“simple”的 s", "commits": [], "section": "其他", "category": "compatibility", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.4.5", "source_hash": "e0e58713659aad01f658e3a5ac0dc542fbcd3399916da5245255b5434ef1abcf", "section_path": ["其他"], "commit_groups": [], "identity_text": "In pg_constraint.confmatchtype, store the default foreign key match type (non-FULL, non-PARTIAL) as s for simple (Tom Lane) Previously this case was represented by u for unspecified.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/migration/010", "db_id": "3557d5db1bd582f5b1cf0d38a6088381", "patch_ids": [], "statement_hash": "f6af09b8b0002efed733b3a05d925697e8435f09477abc7c44bbab64e324c75e", "relations": [], "version": "9.3.0", "category_label": "兼容性变化", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-a13171698b666002", "cves": [], "html": "<p>防止非键字段的行更新阻塞外键检查（Álvaro Herrera、Noah Misch、Andres Freund、Alexander Shulgin、Marti Raudsepp、Alexander Shulgin）</p>\n<p>此变更提高了并发性，并降低了更新外键约束相关表时发生死锁的概率。不更改外键所引用列的 <code>UPDATE</code> 现在对行采用新的 <code>NO KEY UPDATE</code> 锁模式，而外键检查使用新的 <code>KEY SHARE</code> 锁模式，它与 <code>NO KEY UPDATE</code> 不冲突。因此，除非外键列被更改，否则不会发生阻塞。</p>", "text": "防止非键字段的行更新阻塞外键检查（Álvaro Herrera、Noah Misch、Andres Freund、Alexander Shulgin、Marti Raudsepp、Alexander Shulgin） 此变更提高了并发性，并降低了更新外键约束相关表时发生死锁的概率。不更改外键所引用列的 UPDATE 现在对行采用新的 NO KEY UPDATE 锁模式，而外键检查使用新的 KEY SHARE 锁模式，它与 NO KEY UPDATE 不冲突。因此，除非外键列被更改，否则不会发生阻塞。", "title": "防止非键字段的行更新阻塞外键检查", "commits": [], "section": "服务器 / 锁定", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.3.2", "source_hash": "ee23323d802d4fb1dd56196e31c273e260d27c9703880ad8dd265de2d67affb9", "section_path": ["服务器", "锁定"], "commit_groups": [], "identity_text": "Prevent non-key-field row updates from blocking foreign key checks (Álvaro Herrera, Noah Misch, Andres Freund, Alexander Shulgin, Marti Raudsepp, Alexander Shulgin) This change improves concurrency and reduces the probability of deadlocks when updating tables involved in a foreign-key constraint. UPDATEs that do not change any columns referenced in a foreign key now take the new NO KEY UPDATE lock mode on the row, while foreign key checks use the new KEY SHARE lock mode, which does not conflict with NO KEY UPDATE. So there is no blocking unless a foreign-key column is changed.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/001", "db_id": "2d2a614cf51c52db5b34307d4779f381", "patch_ids": [], "statement_hash": "58c2059a5b368b5e658d91c49df8b44e9efdd97be4f02dab8ba0a767d86a75d3", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-3060a7b2c511996c", "cves": [], "html": "<p>新增配置变量 <a href=\"/docs/9.3/runtime-config-client.html#GUC-LOCK-TIMEOUT\"><code>lock_timeout</code></a>，用于限制会话等待获取任一锁的最长时间（Zoltán Böszörményi）</p>", "text": "新增配置变量 lock_timeout，用于限制会话等待获取任一锁的最长时间（Zoltán Böszörményi）", "title": "新增配置变量 lock_timeout，用于限制会话等待获取任一锁的最长时间", "commits": [], "section": "服务器 / 锁定", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.3.2", "source_hash": "188b43d8229d68bf1bfc956270f6f4e64f46fc613c6d6509b7f8a57f5f7691c4", "section_path": ["服务器", "锁定"], "commit_groups": [], "identity_text": "Add configuration variable lock_timeout to allow limiting how long a session will wait to acquire any one lock (Zoltán Böszörményi)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/002", "db_id": "63d924caed16654968c09ade3e4409b4", "patch_ids": [], "statement_hash": "f41090eee02f1152003c36c74241f7c9ee5e9aa27b478151394b349276d3f29c", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-cec39fdd0d40b3e9", "cves": [], "html": "<p>为范围数据类型新增 <a href=\"/docs/9.3/rangetypes.html#RANGETYPES-INDEXING\" title=\"8.16.9. 索引\"><acronym>SP-GiST</acronym></a> 支持（Alexander Korotkov）</p>", "text": "为范围数据类型新增 SP-GiST 支持（Alexander Korotkov）", "title": "为范围数据类型新增 SP-GiST 支持", "commits": [], "section": "服务器 / 索引", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.3.3", "source_hash": "601be84b258abe182b1fe739dcb6a970b71585cd91a1c7b1dde70a3c1ab0ccc2", "section_path": ["服务器", "索引"], "commit_groups": [], "identity_text": "Add SP-GiST support for range data types (Alexander Korotkov)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/003", "db_id": "b392646bf016083ecd42961d6717105b", "patch_ids": [], "statement_hash": "f8b3f1c1323bdcde8efad24e66412ec0820b800fe32432578c9fd1202d8b3ffe", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-f688c8c972e583c7", "cves": [], "html": "<p>允许 <a href=\"/docs/9.3/gist.html\" title=\"第 55 章 GiST 索引\"><acronym>GiST</acronym></a> 索引不记录日志（Jeevan Chalke）</p>", "text": "允许 GiST 索引不记录日志（Jeevan Chalke）", "title": "允许 GiST 索引不记录日志", "commits": [], "section": "服务器 / 索引", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.3.3", "source_hash": "1ca4580e36af63f0a5b7cfd315cd0a61e933008f222b5f190e86b38e6e8d8de3", "section_path": ["服务器", "索引"], "commit_groups": [], "identity_text": "Allow GiST indexes to be unlogged (Jeevan Chalke)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/004", "db_id": "4ac09cb88dc87b8469c137936e0c5ed9", "patch_ids": [], "statement_hash": "f96353572ed8524ae50fbf5214ec6857b6ef9bfdcd292064504f51945ae14fb3", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-b14dc23b394a8773", "cves": [], "html": "<p>当存在多个同等良好的候选时，通过随机选择下探页面来改进 <acronym>GiST</acronym> 索引插入的性能（Heikki Linnakangas）</p>", "text": "当存在多个同等良好的候选时，通过随机选择下探页面来改进 GiST 索引插入的性能（Heikki Linnakangas）", "title": "当存在多个同等良好的候选时，通过随机选择下探页面来改进 GiST 索引插入的性能", "commits": [], "section": "服务器 / 索引", "category": "performance", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.3.3", "source_hash": "83490d75dbfcddffe7018a7511b5036f94ae94fe3e76e0ec5ce500d00533be45", "section_path": ["服务器", "索引"], "commit_groups": [], "identity_text": "Improve performance of GiST index insertion by randomizing the choice of which page to descend to when there are multiple equally good alternatives (Heikki Linnakangas)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/005", "db_id": "b459f7caf5cedd9b7c8a7d03fd49f4ff", "patch_ids": [], "statement_hash": "f12264f2ea92fa22fed32b3d4c26a73de949ba2910b373d83fdb2d2f25484522", "relations": [], "version": "9.3.0", "category_label": "性能改进", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-e45a407c0d7443cb", "cves": [], "html": "<p>改进哈希索引操作的并发性（Robert Haas）</p>", "text": "改进哈希索引操作的并发性（Robert Haas）", "title": "改进哈希索引操作的并发性", "commits": [], "section": "服务器 / 索引", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.3.3", "source_hash": "59e6a341222f61f4a37070720d8b67fcb1f8b5ee8109b04174c8fec83caba3e4", "section_path": ["服务器", "索引"], "commit_groups": [], "identity_text": "Improve concurrency of hash index operations (Robert Haas)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/006", "db_id": "32ba77b6fd77233256282b8ce5a21c8d", "patch_ids": [], "statement_hash": "77f8bcc4d9d4ebcde0a9ffd021ec3a685ed85134acc211119e57dae0bb34c0f1", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-7ea77d15ecd31f10", "cves": [], "html": "<p>为<a href=\"/docs/9.3/rangetypes.html\" title=\"8.16. 范围类型\">范围类型</a>收集并使用上下界以及范围长度的直方图（Alexander Korotkov）</p>", "text": "为范围类型收集并使用上下界以及范围长度的直方图（Alexander Korotkov）", "title": "为范围类型收集并使用上下界以及范围长度的直方图", "commits": [], "section": "服务器 / 优化器", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.3.4", "source_hash": "1b63c7a142fbf6e257fb2f1592d972f6803c5b883d8260982e19a7c7a3cbfc19", "section_path": ["服务器", "优化器"], "commit_groups": [], "identity_text": "Collect and use histograms of upper and lower bounds, as well as range lengths, for range types (Alexander Korotkov)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/007", "db_id": "4ad3472263d3c2f3cb83c18c8c295ff1", "patch_ids": [], "statement_hash": "9d788da3027855223fbb2e02d97aec82b7eae7606d773f76f29d74512cd73728", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-c5667998bbcfef87", "cves": [], "html": "<p>改进优化器对索引访问的代价估计（Tom Lane）</p>", "text": "改进优化器对索引访问的代价估计（Tom Lane）", "title": "改进优化器对索引访问的代价估计", "commits": [], "section": "服务器 / 优化器", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.3.4", "source_hash": "c201d69d46404fa0d12f8074269df31a74a4362ba389e23199fef6f9249b3954", "section_path": ["服务器", "优化器"], "commit_groups": [], "identity_text": "Improve optimizer's cost estimation for index access (Tom Lane)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/008", "db_id": "1890122515cf3a4f3742db95c6dd6c1c", "patch_ids": [], "statement_hash": "23fa2df5cb074f3b0ae81dc936f881580b106e09127ccb3e5ec77e7de6276967", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-abaabb248a2fa5a8", "cves": [], "html": "<p>改进优化器对通过哈希聚合实现 <code>DISTINCT</code> 的哈希表大小估计（Tom Lane）</p>", "text": "改进优化器对通过哈希聚合实现 DISTINCT 的哈希表大小估计（Tom Lane）", "title": "改进优化器对通过哈希聚合实现 DISTINCT 的哈希表大小估计", "commits": [], "section": "服务器 / 优化器", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.3.4", "source_hash": "c5c6b9820d00451454d421de9263ceae31d35e277a2877dfc779427ee0701ef6", "section_path": ["服务器", "优化器"], "commit_groups": [], "identity_text": "Improve optimizer's hash table size estimate for doing DISTINCT via hash aggregation (Tom Lane)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/009", "db_id": "35326212aa1267f5232e7f93890e6fe2", "patch_ids": [], "statement_hash": "39ac9a1fbac5f00073c52288ef3df58d9649078d7841a685df19cd2c93a20f9a", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-e6aa0885a6ec5e94", "cves": [], "html": "<p>抑制无操作的 Result 和 Limit 计划节点（Kyotaro Horiguchi、Amit Kapila、Tom Lane）</p>", "text": "抑制无操作的 Result 和 Limit 计划节点（Kyotaro Horiguchi、Amit Kapila、Tom Lane）", "title": "抑制无操作的 Result 和 Limit 计划节点", "commits": [], "section": "服务器 / 优化器", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.3.4", "source_hash": "724d57bf1df75a48963a547f90a9a90e197f4fcd6ebeea874cfc10c8a456b5ea", "section_path": ["服务器", "优化器"], "commit_groups": [], "identity_text": "Suppress no-op Result and Limit plan nodes (Kyotaro Horiguchi, Amit Kapila, Tom Lane)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/010", "db_id": "83496f034c16e09c5416cffc0d35521b", "patch_ids": [], "statement_hash": "fba389f32834d8a99d182e23cbc2468114f5e10e96e3ef2c16ed09493bfa6f3e", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-9fed89ca7192c3f0", "cves": [], "html": "<p>当优化器只关心总代价时，不再以启动代价低为由保留计划，从而降低优化器开销（Tom Lane）</p>", "text": "当优化器只关心总代价时，不再以启动代价低为由保留计划，从而降低优化器开销（Tom Lane）", "title": "当优化器只关心总代价时，不再以启动代价低为由保留计划，从而降低优化器开销", "commits": [], "section": "服务器 / 优化器", "category": "performance", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.3.4", "source_hash": "b4c30027f31bbaa02937c71016a1f71ac33ae18a62b37c6b734f6f0112ed3996", "section_path": ["服务器", "优化器"], "commit_groups": [], "identity_text": "Reduce optimizer overhead by not keeping plans on the basis of cheap startup cost when the optimizer only cares about total cost overall (Tom Lane)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/011", "db_id": "35291572af4ca38e8cbf427436e68ce6", "patch_ids": [], "statement_hash": "bbb8fc0524c9a667b3b5c214c97c68fd970fc4839a71aa3e7679b155414869d0", "relations": [], "version": "9.3.0", "category_label": "性能改进", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-198a417d98590c7f", "cves": [], "html": "<p>新增 <a href=\"/docs/9.3/sql-copy.html\" title=\"COPY\"><code>COPY FREEZE</code></a> 选项，以避免稍后把元组标记为冻结的开销（Simon Riggs、Jeff Davis）</p>", "text": "新增 COPY FREEZE 选项，以避免稍后把元组标记为冻结的开销（Simon Riggs、Jeff Davis）", "title": "新增 COPY FREEZE 选项，以避免稍后把元组标记为冻结的开销", "commits": [], "section": "服务器 / 常规性能", "category": "performance", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.3.5", "source_hash": "8df18fb2d255e33c994ee9c4fa3a4d585d7412afdfc8448ca7eab7caf7982bb8", "section_path": ["服务器", "常规性能"], "commit_groups": [], "identity_text": "Add COPY FREEZE option to avoid the overhead of marking tuples as frozen later (Simon Riggs, Jeff Davis)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/012", "db_id": "af9808f8c0ddcf432fd52903fda6dc1d", "patch_ids": [], "statement_hash": "72be1c614853f4fd172c1fa19e42404cdee60c8f7bacc16cbb9328d30a8df2d8", "relations": [], "version": "9.3.0", "category_label": "性能改进", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-c8c4a0267dd44493", "cves": [], "html": "<p>改进 <a href=\"/docs/9.3/datatype.html#DATATYPE-NUMERIC\" title=\"8.1. 数字类型\"><code>NUMERIC</code></a> 计算的性能（Kyotaro Horiguchi）</p>", "text": "改进 NUMERIC 计算的性能（Kyotaro Horiguchi）", "title": "改进 NUMERIC 计算的性能", "commits": [], "section": "服务器 / 常规性能", "category": "performance", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.3.5", "source_hash": "3435e615e100d171522585846b9fc8e80bfbf0197b412ad57f0a54b4394adeba", "section_path": ["服务器", "常规性能"], "commit_groups": [], "identity_text": "Improve performance of NUMERIC calculations (Kyotaro Horiguchi)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/013", "db_id": "8a48940eeefc861b5ac95e05d9fa4bcb", "patch_ids": [], "statement_hash": "86e9be225ba5ba774db6a6b7681892ab57e0a55c7a4966a0d16f5d4aedb47b59", "relations": [], "version": "9.3.0", "category_label": "性能改进", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-428d5e4a9501d4e2", "cves": [], "html": "<p>改进等待 <a href=\"/docs/9.3/runtime-config-wal.html#GUC-COMMIT-DELAY\"><code>commit_delay</code></a> 的会话间的同步（Peter Geoghegan）</p>\n<p>这大大提升了 <code>commit_delay</code> 的实用性。</p>", "text": "改进等待 commit_delay 的会话间的同步（Peter Geoghegan） 这大大提升了 commit_delay 的实用性。", "title": "改进等待 commit_delay 的会话间的同步", "commits": [], "section": "服务器 / 常规性能", "category": "performance", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.3.5", "source_hash": "426a18738b0db9437739bdc8e8fea16451dcd3b3d7c36e8a83402263e86472d5", "section_path": ["服务器", "常规性能"], "commit_groups": [], "identity_text": "Improve synchronization of sessions waiting for commit_delay (Peter Geoghegan) This greatly improves the usefulness of commit_delay.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/014", "db_id": "e62107f6573b104afb9360803668b761", "patch_ids": [], "statement_hash": "a4e59ffb8a21d0b8d06f0f3f69889a71db102488542141ee49342909c3d41ba8", "relations": [], "version": "9.3.0", "category_label": "性能改进", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-5bc0f3df5709c4c8", "cves": [], "html": "<p>改进 <a href=\"/docs/9.3/sql-createtable.html\" title=\"CREATE TABLE\"><code>CREATE TEMPORARY TABLE ... ON COMMIT DELETE ROWS</code></a> 选项的性能：在未触及任何临时表的事务中不再截断这类临时表（Heikki Linnakangas）</p>", "text": "改进 CREATE TEMPORARY TABLE ... ON COMMIT DELETE ROWS 选项的性能：在未触及任何临时表的事务中不再截断这类临时表（Heikki Linnakangas）", "title": "改进 CREATE TEMPORARY TABLE ... ON COMMIT DELETE ROWS 选项的性能：在未触及任何临时表的事务中不再截断这类临时表", "commits": [], "section": "服务器 / 常规性能", "category": "performance", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.3.5", "source_hash": "1a422d816ca9bd42e9b95e131e881cbcf88ec3865b1030766da8e5b556bbd73a", "section_path": ["服务器", "常规性能"], "commit_groups": [], "identity_text": "Improve performance of the CREATE TEMPORARY TABLE ... ON COMMIT DELETE ROWS option by not truncating such temporary tables in transactions that haven't touched any temporary tables (Heikki Linnakangas)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/015", "db_id": "e16d1ca466ea3435cd93c10133df7717", "patch_ids": [], "statement_hash": "dcee926ba37998773e00e55bfcd80318379c60e8ca66c9392bf81d5be8963fdb", "relations": [], "version": "9.3.0", "category_label": "性能改进", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-2ea649bbe01f07a1", "cves": [], "html": "<p>让清理在移除过期元组后重新检查可见性（Pavan Deolasee）</p>\n<p>这提高了页面被标记为全可见的机会。</p>", "text": "让清理在移除过期元组后重新检查可见性（Pavan Deolasee） 这提高了页面被标记为全可见的机会。", "title": "让清理在移除过期元组后重新检查可见性", "commits": [], "section": "服务器 / 常规性能", "category": "performance", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.3.5", "source_hash": "4b0ba2f7f9d5419df31a0adc2b4c002349fa4261a7d9a5ca095c899c6adbd1d3", "section_path": ["服务器", "常规性能"], "commit_groups": [], "identity_text": "Make vacuum recheck visibility after it has removed expired tuples (Pavan Deolasee) This increases the chance of a page being marked as all-visible.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/016", "db_id": "bf5376301d4af3baa2feed771f2a9dd9", "patch_ids": [], "statement_hash": "0afa2f4f7a582dcd6eb58401d4e78f61500944d6cd7d5f6b8ab26609cecb1245", "relations": [], "version": "9.3.0", "category_label": "性能改进", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-768fca7541f32d90", "cves": [], "html": "<p>新增逐资源所有者的锁缓存（Jeff Janes）</p>\n<p>这加快了持有大量锁的多语句事务在语句完成时的锁簿记速度；它对 <span>pg_dump</span> 尤其有用。</p>", "text": "新增逐资源所有者的锁缓存（Jeff Janes） 这加快了持有大量锁的多语句事务在语句完成时的锁簿记速度；它对 pg_dump 尤其有用。", "title": "新增逐资源所有者的锁缓存", "commits": [], "section": "服务器 / 常规性能", "category": "performance", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.3.5", "source_hash": "d243e4115d713ebb06ea8b033532fcb03130e5bfdac67d7cffe1f2b8f3012f57", "section_path": ["服务器", "常规性能"], "commit_groups": [], "identity_text": "Add per-resource-owner lock caches (Jeff Janes) This speeds up lock bookkeeping at statement completion in multi-statement transactions that hold many locks; it is particularly useful for pg_dump.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/017", "db_id": "f1217498a8bc4928e5b7adade86443b4", "patch_ids": [], "statement_hash": "0c67bfb4c03ed8d1f5015303257f6f6b5515e7ffba8acbf38b63ab92d1af7f46", "relations": [], "version": "9.3.0", "category_label": "性能改进", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-9ea1c214fc6a348b", "cves": [], "html": "<p>避免在创建新关系的事务提交时扫描整个关系缓存（Jeff Janes）</p>\n<p>这加快了在连续的小事务中创建大量表的会话的速度，例如 <span>pg_restore</span> 运行。</p>", "text": "避免在创建新关系的事务提交时扫描整个关系缓存（Jeff Janes） 这加快了在连续的小事务中创建大量表的会话的速度，例如 pg_restore 运行。", "title": "避免在创建新关系的事务提交时扫描整个关系缓存", "commits": [], "section": "服务器 / 常规性能", "category": "performance", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.3.5", "source_hash": "5e7c8eeaf4d133dfa185e18ff3cc228a87924de5b670d3630eeccfc31fbbee63", "section_path": ["服务器", "常规性能"], "commit_groups": [], "identity_text": "Avoid scanning the entire relation cache at commit of a transaction that creates a new relation (Jeff Janes) This speeds up sessions that create many tables in successive small transactions, such as a pg_restore run.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/018", "db_id": "dfe2b2d500877e6f75a3b5b10c127a95", "patch_ids": [], "statement_hash": "c21bd37e434829801a74842e8eb7a069a80831e87c3feafc35a2afd504a6fcfb", "relations": [], "version": "9.3.0", "category_label": "性能改进", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-017e91bf70d43dd7", "cves": [], "html": "<p>改进删除大量关系的事务的性能（Tomas Vondra）</p>", "text": "改进删除大量关系的事务的性能（Tomas Vondra）", "title": "改进删除大量关系的事务的性能", "commits": [], "section": "服务器 / 常规性能", "category": "performance", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.3.5", "source_hash": "1c51964d412f4f062b0ae237b0bff4118a3361e358ae0874100f316a7e7a73af", "section_path": ["服务器", "常规性能"], "commit_groups": [], "identity_text": "Improve performance of transactions that drop many relations (Tomas Vondra)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/019", "db_id": "3d6f9d39b157dfdd1a39413a172bc8db", "patch_ids": [], "statement_hash": "0a66132fff8060636c01885608a01f1080115d259496b8e87844b44878163daa", "relations": [], "version": "9.3.0", "category_label": "性能改进", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-5d481c3638c19abe", "cves": [], "html": "<p>新增可选能力：为数据页计算<a href=\"/docs/9.3/app-initdb.html#APP-INITDB-DATA-CHECKSUMS\">校验和</a>并报告损坏（Simon Riggs、Jeff Davis、Greg Smith、Ants Aasma）</p>\n<p>校验和选项可以在 <a href=\"/docs/9.3/app-initdb.html\" title=\"initdb\">initdb</a> 期间设置。</p>", "text": "新增可选能力：为数据页计算校验和并报告损坏（Simon Riggs、Jeff Davis、Greg Smith、Ants Aasma） 校验和选项可以在 initdb 期间设置。", "title": "新增可选能力：为数据页计算校验和并报告损坏", "commits": [], "section": "服务器 / 监控", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.3.6", "source_hash": "23f98385aeef664b0fc5865d2c042cdc7cbd4235a56bfabc719b9634400d3185", "section_path": ["服务器", "监控"], "commit_groups": [], "identity_text": "Add optional ability to checksum data pages and report corruption (Simon Riggs, Jeff Davis, Greg Smith, Ants Aasma) The checksum option can be set during initdb.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/020", "db_id": "ecd83bc3bd3ca65b7dfd8cf0d7f1efc4", "patch_ids": [], "statement_hash": "1e55c25dd20b6db4f6ff3997ca6dd1e988561a6dba8b5c0f44a6ffe9b54564b7", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-9fe2a5b8cb75c800", "cves": [], "html": "<p>把<a href=\"/docs/9.3/monitoring-stats.html\" title=\"27.2. 统计收集器\">统计收集器</a>的数据文件拆分为独立的全局文件和逐数据库文件（Tomas Vondra）</p>\n<p>这减少了统计跟踪所需的 I/O。</p>", "text": "把统计收集器的数据文件拆分为独立的全局文件和逐数据库文件（Tomas Vondra） 这减少了统计跟踪所需的 I/O。", "title": "把统计收集器的数据文件拆分为独立的全局文件和逐数据库文件", "commits": [], "section": "服务器 / 监控", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.3.6", "source_hash": "64d8fb8a3221134b93662c9e7d8073d91807c1efa2fd3856c9433048bb8ac1f6", "section_path": ["服务器", "监控"], "commit_groups": [], "identity_text": "Split the statistics collector's data file into separate global and per-database files (Tomas Vondra) This reduces the I/O required for statistics tracking.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/021", "db_id": "c7167cf36993840d96ef122cc95b8cfb", "patch_ids": [], "statement_hash": "e00fc433b1a2e32495c8f37ec1c631a3432da220c77369c1ca6905899ce230bd", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-0098247e2ba3dca7", "cves": [], "html": "<p>修复统计收集器在系统时钟回拨情况下无法正常工作的问题（Tom Lane）</p>\n<p>此前，统计收集会停止，直到时间再次达到先前记录的最晚时间。</p>", "text": "修复统计收集器在系统时钟回拨情况下无法正常工作的问题（Tom Lane） 此前，统计收集会停止，直到时间再次达到先前记录的最晚时间。", "title": "修复统计收集器在系统时钟回拨情况下无法正常工作的问题", "commits": [], "section": "服务器 / 监控", "category": "bugfix", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.3.6", "source_hash": "586254a9a4dd71b4c6347765302b1ed28a5f6ef015e5d3bb42e67c3e2d50eaa9", "section_path": ["服务器", "监控"], "commit_groups": [], "identity_text": "Fix the statistics collector to operate properly in cases where the system clock goes backwards (Tom Lane) Previously, statistics collection would stop until the time again reached the latest time previously recorded.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/022", "db_id": "46d7fd411dcca710382d1e065051afb4", "patch_ids": [], "statement_hash": "906ac7fcfa38eba10d25d02f4441130bf79734a666965d68eba79db4f652e493", "relations": [], "version": "9.3.0", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-e410114553f40579", "cves": [], "html": "<p>在即将停止向 postmaster 标准错误输出日志时，向其发出一条提示性消息（Tom Lane）</p>\n<p>在仅在 postmaster 启动期间向标准错误记录日志的常见配置中，这应有助于减少用户对到哪里查找日志输出的困惑。</p>", "text": "在即将停止向 postmaster 标准错误输出日志时，向其发出一条提示性消息（Tom Lane） 在仅在 postmaster 启动期间向标准错误记录日志的常见配置中，这应有助于减少用户对到哪里查找日志输出的困惑。", "title": "在即将停止向 postmaster 标准错误输出日志时，向其发出一条提示性消息", "commits": [], "section": "服务器 / 监控", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.3.6", "source_hash": "1211d0de634fa434c83804d4c7054980c024ce08f1a4895187340fb702d5b653", "section_path": ["服务器", "监控"], "commit_groups": [], "identity_text": "Emit an informative message to postmaster standard error when we are about to stop logging there (Tom Lane) This should help reduce user confusion about where to look for log output in common configurations that log to standard error only during postmaster startup.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/023", "db_id": "3a732ba920643bc67fc84aa173dcfc62", "patch_ids": [], "statement_hash": "5678420bfb572c72679c628e04553c28965bd7504d281fba21787ebf9f8299c9", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-459ce7dae0125549", "cves": [], "html": "<p>当认证失败时，记录相关的 <a href=\"/docs/9.3/client-authentication.html#AUTH-PG-HBA-CONF\" title=\"19.1. pg_hba.conf 文件\"><code>pg_hba.conf</code></a> 行，以便于调试意外失败（Magnus Hagander）</p>", "text": "当认证失败时，记录相关的 pg_hba.conf 行，以便于调试意外失败（Magnus Hagander）", "title": "当认证失败时，记录相关的 pg_hba.conf 行，以便于调试意外失败", "commits": [], "section": "服务器 / 认证", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.3.7", "source_hash": "313bccd0e2f120910c42aa41da7b223ca222c78b2fa705e08c7ad59076f4e30d", "section_path": ["服务器", "认证"], "commit_groups": [], "identity_text": "When an authentication failure occurs, log the relevant pg_hba.conf line, to ease debugging of unintended failures (Magnus Hagander)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/024", "db_id": "8d08ae3cfaa94b976e49a9ecfd7be681", "patch_ids": [], "statement_hash": "0e298295fa814bf87ff71bbc22c6d83467a0b94c9cf2a1af13cb11527c96a137", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-2119801fc80f3854", "cves": [], "html": "<p>改进 <a href=\"/docs/9.3/auth-methods.html#AUTH-LDAP\" title=\"19.3.8. LDAP 认证\"><acronym>LDAP</acronym></a> 的错误报告和文档（Peter Eisentraut）</p>", "text": "改进 LDAP 的错误报告和文档（Peter Eisentraut）", "title": "改进 LDAP 的错误报告和文档", "commits": [], "section": "服务器 / 认证", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.3.7", "source_hash": "eb346d8eb68390925d3383710e9e64b717a9e66ca5def6a66fde7597bdef3667", "section_path": ["服务器", "认证"], "commit_groups": [], "identity_text": "Improve LDAP error reporting and documentation (Peter Eisentraut)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/025", "db_id": "817988d3f6995071edf060c74bd421f5", "patch_ids": [], "statement_hash": "ad38c2cd89c519fb3c1dbd60d6a387852ab0ec4d314d55dfc0aa7bfe00aa0462", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-23162ec7291b6701", "cves": [], "html": "<p>新增对以 <acronym>URL</acronym> 格式（按 RFC 4516）指定 <acronym>LDAP</acronym> 认证参数的支持（Peter Eisentraut）</p>", "text": "新增对以 URL 格式（按 RFC 4516）指定 LDAP 认证参数的支持（Peter Eisentraut）", "title": "新增对以 URL 格式（按 RFC 4516）指定 LDAP 认证参数的支持", "commits": [], "section": "服务器 / 认证", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.3.7", "source_hash": "220c33de1af771075f342369f1919a98403deadc85693c1582352f53195eb6a0", "section_path": ["服务器", "认证"], "commit_groups": [], "identity_text": "Add support for specifying LDAP authentication parameters in URL format, per RFC 4516 (Peter Eisentraut)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/026", "db_id": "6ab3d01a60dbfcbd681d5fd5154c33de", "patch_ids": [], "statement_hash": "8e9117974a8bc55558babe5c7f54899a7c0b67d8fcf0eceab5bea37d1b3937bd", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-1ebb964afdaa7a23", "cves": [], "html": "<p>把 <a href=\"/docs/9.3/runtime-config-connection.html#GUC-SSL-CIPHERS\"><code>ssl_ciphers</code></a> 参数改为以 <code>DEFAULT</code> 而不是 <code>ALL</code> 开头，然后移除不安全的密码套件（Magnus Hagander）</p>\n<p>这应能产生更合适的 SSL 密码套件集。</p>", "text": "把 ssl_ciphers 参数改为以 DEFAULT 而不是 ALL 开头，然后移除不安全的密码套件（Magnus Hagander） 这应能产生更合适的 SSL 密码套件集。", "title": "把 ssl_ciphers 参数改为以 DEFAULT 而不是 ALL 开头，然后移除不安全的密码套件", "commits": [], "section": "服务器 / 认证", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.3.7", "source_hash": "312ec140eb874d6bb0c47810c663cbe4db5e814410b7d8106795a3637d477a77", "section_path": ["服务器", "认证"], "commit_groups": [], "identity_text": "Change the ssl_ciphers parameter to start with DEFAULT, rather than ALL, then remove insecure ciphers (Magnus Hagander) This should yield a more appropriate SSL cipher set.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/027", "db_id": "35724f936530e46d9607361fb5ea3d23", "patch_ids": [], "statement_hash": "7fa7bf8c3271f8771b8b0f6b8b44940b7c1e382c27ca33275457cded91b16826", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-ae998bacf283444d", "cves": [], "html": "<p>只解析和加载一次 <a href=\"/docs/9.3/auth-username-maps.html\" title=\"19.2. 用户名映射\"><code>pg_ident.conf</code></a>，而不是在每次连接期间进行（Amit Kapila）</p>\n<p>这与 <code>pg_hba.conf</code> 的处理方式类似。</p>", "text": "只解析和加载一次 pg_ident.conf，而不是在每次连接期间进行（Amit Kapila） 这与 pg_hba.conf 的处理方式类似。", "title": "只解析和加载一次 pg_ident.conf，而不是在每次连接期间进行", "commits": [], "section": "服务器 / 认证", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.3.7", "source_hash": "69580fff9989761ac9f1e01ad58b32422c962e3d5d7e2252ffb94362d2d9c3f3", "section_path": ["服务器", "认证"], "commit_groups": [], "identity_text": "Parse and load pg_ident.conf once, not during each connection (Amit Kapila) This is similar to how pg_hba.conf is processed.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/028", "db_id": "b2f55909ef6e8eb166ea7c448439ba4b", "patch_ids": [], "statement_hash": "97a79305435e698802035815d4ab2089631d99393653019e0c79231b2d4e0fa8", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-07bd9b78cffde698", "cves": [], "html": "<p>大幅降低对 System V <a href=\"/docs/9.3/kernel-resources.html#SYSVIPC\" title=\"17.4.1. 共享内存和信号量\">共享内存</a>的需求（Robert Haas）</p>\n<p>在类 Unix 系统上，<span>PostgreSQL</span> 的大部分共享内存现在使用 <code>mmap()</code>。对大多数用户而言，这将消除为共享内存调整内核参数的需要。</p>", "text": "大幅降低对 System V 共享内存的需求（Robert Haas） 在类 Unix 系统上，PostgreSQL 的大部分共享内存现在使用 mmap()。对大多数用户而言，这将消除为共享内存调整内核参数的需要。", "title": "大幅降低对 System V 共享内存的需求", "commits": [], "section": "服务器 / 服务器设置", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.3.8", "source_hash": "4f27d791e0c2c24c4b1e714d439865252a7ceec60ee47ef596a3389053813796", "section_path": ["服务器", "服务器设置"], "commit_groups": [], "identity_text": "Greatly reduce System V shared memory requirements (Robert Haas) On Unix-like systems, mmap() is now used for most of PostgreSQL's shared memory. For most users, this will eliminate any need to adjust kernel parameters for shared memory.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/029", "db_id": "a0a4dfb420faf87b090a9b54bbcd040f", "patch_ids": [], "statement_hash": "24db61239ba6ebc2389457c4220c0739108f8cdf04d674e623e12fb89c4f3d2f", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-ddad7c3968a48619", "cves": [], "html": "<p>允许 postmaster 监听多个 Unix 域套接字（Honza Horák）</p>\n<p>配置参数 <code>unix_socket_directory</code> 被 <a href=\"/docs/9.3/runtime-config-connection.html#GUC-UNIX-SOCKET-DIRECTORIES\"><code>unix_socket_directories</code></a> 取代，后者接受目录列表。</p>", "text": "允许 postmaster 监听多个 Unix 域套接字（Honza Horák） 配置参数 unix_socket_directory 被 unix_socket_directories 取代，后者接受目录列表。", "title": "允许 postmaster 监听多个 Unix 域套接字", "commits": [], "section": "服务器 / 服务器设置", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.3.8", "source_hash": "e9c2726d33286715070fb8c2017565917bf061a705845eab082f84b3d5f777e5", "section_path": ["服务器", "服务器设置"], "commit_groups": [], "identity_text": "Allow the postmaster to listen on multiple Unix-domain sockets (Honza Horák) The configuration parameter unix_socket_directory is replaced by unix_socket_directories, which accepts a list of directories.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/030", "db_id": "bb2c8204e469a794bd00d9f3c4e53575", "patch_ids": [], "statement_hash": "719867222dc7c896d99c5ce924e51f171f53fb9bd878b606a9e73d124149dfc6", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-ce07cfbdffa659de", "cves": [], "html": "<p>允许处理包含配置文件的目录（Magnus Hagander、Greg Smith、Selena Deckelmann）</p>\n<p>这样的目录通过服务器配置文件中的 <a href=\"/docs/9.3/runtime-config.html#CONFIG-INCLUDES\" title=\"18.1.5. 管理配置文件内容\"><code>include_dir</code></a> 指定。</p>", "text": "允许处理包含配置文件的目录（Magnus Hagander、Greg Smith、Selena Deckelmann） 这样的目录通过服务器配置文件中的 include_dir 指定。", "title": "允许处理包含配置文件的目录", "commits": [], "section": "服务器 / 服务器设置", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.3.8", "source_hash": "737ecf3c63b490706b0cfcc39cfbdeb417b17f202e2b37d038850e0b87354e14", "section_path": ["服务器", "服务器设置"], "commit_groups": [], "identity_text": "Allow a directory of configuration files to be processed (Magnus Hagander, Greg Smith, Selena Deckelmann) Such a directory is specified with include_dir in the server configuration file.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/031", "db_id": "46d594c543f46c342cdc21d448d1a00e", "patch_ids": [], "statement_hash": "8d2fe37f3fdf22259c6a10c22aa171211871fbdf6902f0acbe324ee3797dfc33", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-881af255f28063ab", "cves": [], "html": "<p>把 <a href=\"/docs/9.3/app-initdb.html\" title=\"initdb\">initdb</a> 配置的 <a href=\"/docs/9.3/runtime-config-resource.html#GUC-SHARED-BUFFERS\"><code>shared_buffers</code></a> 最大值提高到 128MB（Robert Haas）</p>\n<p>这是 initdb 尝试在 <a href=\"/docs/9.3/runtime-config.html#CONFIG-SETTING-CONFIGURATION-FILE\" title=\"18.1.2. 通过配置文件影响参数\"><code>postgresql.conf</code></a> 中设置的最大值；此前的最大值是 32MB。</p>", "text": "把 initdb 配置的 shared_buffers 最大值提高到 128MB（Robert Haas） 这是 initdb 尝试在 postgresql.conf 中设置的最大值；此前的最大值是 32MB。", "title": "把 initdb 配置的 shared_buffers 最大值提高到 128MB", "commits": [], "section": "服务器 / 服务器设置", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.3.8", "source_hash": "c91806cf7dda8b795dfbf36b3174c7e158cff07abc1efecabeade95b3d45f9e1", "section_path": ["服务器", "服务器设置"], "commit_groups": [], "identity_text": "Increase the maximum initdb-configured value for shared_buffers to 128MB (Robert Haas) This is the maximum value that initdb will attempt to set in postgresql.conf; the previous maximum was 32MB.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/032", "db_id": "3655232058d66fb6ff1812d97f6cd814", "patch_ids": [], "statement_hash": "6b3cdcd4c096ec12042c7abef10a68d7eaf43779116d6063a87ff0f8cc0ba132", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-cdb3aad1c0ed8af7", "cves": [], "html": "<p>postmaster 退出时移除<a href=\"/docs/9.3/runtime-config-file-locations.html#GUC-EXTERNAL-PID-FILE\">外部 <acronym>PID</acronym> 文件</a>（如果存在）（Peter Eisentraut）</p>", "text": "postmaster 退出时移除外部 PID 文件（如果存在）（Peter Eisentraut）", "title": "postmaster 退出时移除外部 PID 文件（如果存在）", "commits": [], "section": "服务器 / 服务器设置", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.3.8", "source_hash": "feedbd294fbf10be8d36457b23fd3e64fd231fd0e147447312fc7070d81078ec", "section_path": ["服务器", "服务器设置"], "commit_groups": [], "identity_text": "Remove the external PID file, if any, on postmaster exit (Peter Eisentraut)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/033", "db_id": "45ff702cefe500ac83700aad651328b6", "patch_ids": [], "statement_hash": "6cf4f06d2f1a5df6403ac500e1d83ec6677b37bc6bd3ba51320541fe97fa752f", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-2d7d15b5fd118675", "cves": [], "html": "<p>允许流复制备库<a href=\"/docs/9.3/protocol-replication.html\" title=\"48.3. 流复制协议\">跟随时间线切换</a>（Heikki Linnakangas）</p>\n<p>这允许流式备库从新提升为主库的从库接收 WAL 数据。此前，其他备库需要重新同步才能开始跟随新的主库。</p>", "text": "允许流复制备库跟随时间线切换（Heikki Linnakangas） 这允许流式备库从新提升为主库的从库接收 WAL 数据。此前，其他备库需要重新同步才能开始跟随新的主库。", "title": "允许流复制备库跟随时间线切换", "commits": [], "section": "复制和恢复", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.4", "source_hash": "689bbc57cc34d9433b2104d0ab38f9c6e94c82a4958a74428b7a939bd40f26cd", "section_path": ["复制和恢复"], "commit_groups": [], "identity_text": "Allow a streaming replication standby to follow a timeline switch (Heikki Linnakangas) This allows streaming standby servers to receive WAL data from a slave newly promoted to master status. Previously, other standbys would require a resync to begin following the new master.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/034", "db_id": "e88de651c646e2ffae5b8c360d85c52c", "patch_ids": [], "statement_hash": "b7fa3a263b18b12b7b7da79e9a62aa49a92307ebf4be16dec7ff6865851985b3", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-18e97b487481b7b6", "cves": [], "html": "<p>新增 <acronym>SQL</acronym> 函数 <a href=\"/docs/9.3/functions-admin.html#FUNCTIONS-ADMIN-BACKUP\" title=\"9.26.3. 备份控制函数\"><code>pg_is_in_backup()</code></a> 和 <a href=\"/docs/9.3/functions-admin.html#FUNCTIONS-ADMIN-BACKUP\" title=\"9.26.3. 备份控制函数\"><code>pg_backup_start_time()</code></a>（Gilles Darold）</p>\n<p>这些函数报告基础备份的状态。</p>", "text": "新增 SQL 函数 pg_is_in_backup() 和 pg_backup_start_time()（Gilles Darold） 这些函数报告基础备份的状态。", "title": "新增 SQL 函数 pg_is_in_backup() 和 pg_backup_start_time()", "commits": [], "section": "复制和恢复", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.4", "source_hash": "47913e8619a3da1195bc032bdf98bac4f2e2c94dcdeed391c06c647bfa03d5a6", "section_path": ["复制和恢复"], "commit_groups": [], "identity_text": "Add SQL functions pg_is_in_backup() and pg_backup_start_time() (Gilles Darold) These functions report the status of base backups.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/035", "db_id": "c79741e8887d5130b54b039edad9ffcc", "patch_ids": [], "statement_hash": "4e4abfa7fcfb2f48b012c229eeee39faaf8c09609da429fd84956e8b121859c0", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-a754a50913eb8356", "cves": [], "html": "<p>改进禁用 <a href=\"/docs/9.3/runtime-config-wal.html#GUC-SYNCHRONOUS-COMMIT\"><code>synchronous_commit</code></a> 时流式日志传送的性能（Andres Freund）</p>", "text": "改进禁用 synchronous_commit 时流式日志传送的性能（Andres Freund）", "title": "改进禁用 synchronous_commit 时流式日志传送的性能", "commits": [], "section": "复制和恢复", "category": "performance", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.4", "source_hash": "1d6516fcaab0e075e829eb552d5e587a300db9c82bffed3e9ab4eaf8989da300", "section_path": ["复制和恢复"], "commit_groups": [], "identity_text": "Improve performance of streaming log shipping with synchronous_commit disabled (Andres Freund)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/036", "db_id": "a02bf999ead322bcb3640d67f8eae9b5", "patch_ids": [], "statement_hash": "804156b915b7acccff1a5cd51159fed9e0b6850018b6d96017503ad663b64220", "relations": [], "version": "9.3.0", "category_label": "性能改进", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-0c5f770f9fb35554", "cves": [], "html": "<p>允许把流式备库提升为主库的速度大大加快（Simon Riggs、Kyotaro Horiguchi）</p>", "text": "允许把流式备库提升为主库的速度大大加快（Simon Riggs、Kyotaro Horiguchi）", "title": "允许把流式备库提升为主库的速度大大加快", "commits": [], "section": "复制和恢复", "category": "performance", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.4", "source_hash": "a855832eac09b5971b4b590091a48ce3ae1d5e283e50b6bcc4609f3e0e968ddf", "section_path": ["复制和恢复"], "commit_groups": [], "identity_text": "Allow much faster promotion of a streaming standby to primary (Simon Riggs, Kyotaro Horiguchi)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/037", "db_id": "50f288af198d64505c556040d4132466", "patch_ids": [], "statement_hash": "d75c9aa06cca5db1d5ea4b3619968e0e9e49f2b3fc29a81bbe1b3d26524a93e9", "relations": [], "version": "9.3.0", "category_label": "性能改进", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-97615a805f737e11", "cves": [], "html": "<p>把最后一个检查点的重做位置加入<a href=\"/docs/9.3/app-pgcontroldata.html\" title=\"pg_controldata\"><span>pg_controldata</span></a>的输出（Fujii Masao）</p>\n<p>这一信息有助于确定恢复需要哪些 <acronym>WAL</acronym> 文件。</p>", "text": "把最后一个检查点的重做位置加入pg_controldata的输出（Fujii Masao） 这一信息有助于确定恢复需要哪些 WAL 文件。", "title": "把最后一个检查点的重做位置加入pg_controldata的输出", "commits": [], "section": "复制和恢复", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.4", "source_hash": "b2ba39bc59858e099354ff0f37448f06090fb8b6d2245ef62206faabdda637df", "section_path": ["复制和恢复"], "commit_groups": [], "identity_text": "Add the last checkpoint's redo location to pg_controldata's output (Fujii Masao) This information is useful for determining which WAL files are needed for restore.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/038", "db_id": "68ea514e58a7278417ceaecc4d8941a4", "patch_ids": [], "statement_hash": "366e91bc53ea8a3be0634a8ab76a0bf4caed577cef7744dc09bc89a393c04ca5", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-5347225fa7a1a9a1", "cves": [], "html": "<p>允许<a href=\"/docs/9.3/app-pgreceivexlog.html\" title=\"pg_receivexlog\"><span>pg_receivexlog</span></a>等工具在体系结构不同的计算机上运行（Heikki Linnakangas）</p>\n<p>WAL 文件仍然只能在与会与主库相同体系结构的服务器上重放；但由于流复制协议现在与机器无关，它们可以被传输并存储在任何体系结构的机器上。</p>", "text": "允许pg_receivexlog等工具在体系结构不同的计算机上运行（Heikki Linnakangas） WAL 文件仍然只能在与会与主库相同体系结构的服务器上重放；但由于流复制协议现在与机器无关，它们可以被传输并存储在任何体系结构的机器上。", "title": "允许pg_receivexlog等工具在体系结构不同的计算机上运行", "commits": [], "section": "复制和恢复", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.4", "source_hash": "bce63399f007768ed27caa9616577c256fe5018a295e8b4c7aa9d9fbcfa8a9b0", "section_path": ["复制和恢复"], "commit_groups": [], "identity_text": "Allow tools like pg_receivexlog to run on computers with different architectures (Heikki Linnakangas) WAL files can still only be replayed on servers with the same architecture as the primary; but they can now be transmitted to and stored on machines of any architecture, since the streaming replication protocol is now machine-independent.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/039", "db_id": "3a5d9a73901f3de18b0d9ce577d06041", "patch_ids": [], "statement_hash": "c1942247f2e02d10fb5904d79a1c8f0a1650f6d16b696e33cef42394fca4f327", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-3e383198bb584f70", "cves": [], "html": "<p>让<a href=\"/docs/9.3/app-pgbasebackup.html\" title=\"pg_basebackup\"><span>pg_basebackup</span></a>的 <code>--write-recovery-conf</code> 输出最小化的 <code>recovery.conf</code> 文件（Zoltán Böszörményi、Magnus Hagander）</p>\n<p>这简化了备库服务器的搭建。</p>", "text": "让pg_basebackup的 --write-recovery-conf 输出最小化的 recovery.conf 文件（Zoltán Böszörményi、Magnus Hagander） 这简化了备库服务器的搭建。", "title": "让pg_basebackup的 --write-recovery-conf 输出最小化的 recovery.conf 文件", "commits": [], "section": "复制和恢复", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.4", "source_hash": "d6ea6b3405eca6038630deafda076342bd0c9908496d83af60cf765c497a7c70", "section_path": ["复制和恢复"], "commit_groups": [], "identity_text": "Make pg_basebackup --write-recovery-conf output a minimal recovery.conf file (Zoltán Böszörményi, Magnus Hagander) This simplifies setting up a standby server.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/040", "db_id": "858cf86f2245b5ab5403c6667fe212ce", "patch_ids": [], "statement_hash": "1b464be08e5c98862180011abbef6f3c2d8393f14ebdb923a647074c1b4ef7b9", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-379e9aebbc4d7e03", "cves": [], "html": "<p>允许<a href=\"/docs/9.3/app-pgreceivexlog.html\" title=\"pg_receivexlog\"><span>pg_receivexlog</span></a>和<a href=\"/docs/9.3/app-pgbasebackup.html\" title=\"pg_basebackup\"><span>pg_basebackup</span></a>的 <code>--xlog-method</code> 处理流式时间线切换（Heikki Linnakangas）</p>", "text": "允许pg_receivexlog和pg_basebackup的 --xlog-method 处理流式时间线切换（Heikki Linnakangas）", "title": "允许pg_receivexlog和pg_basebackup的 --xlog-method 处理流式时间线切换", "commits": [], "section": "复制和恢复", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.4", "source_hash": "0bfb46d4acbf294a921c74fe9dd50d4648c2a4ebf1e7ecb9c26c335a65272cad", "section_path": ["复制和恢复"], "commit_groups": [], "identity_text": "Allow pg_receivexlog and pg_basebackup --xlog-method to handle streaming timeline switches (Heikki Linnakangas)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/041", "db_id": "936069856cefe1fbc499d2983eb8bfd7", "patch_ids": [], "statement_hash": "062164bd2e1b785acdbb358639b97842092cfb08031a080bac51cf1d6103801c", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-5e78349eb184c9d9", "cves": [], "html": "<p>新增 <a href=\"/docs/9.3/runtime-config-replication.html#GUC-WAL-RECEIVER-TIMEOUT\"><code>wal_receiver_timeout</code></a> 参数，用于控制 <acronym>WAL</acronym> 接收端的超时（Amit Kapila）</p>\n<p>这可以更快地检测到连接失败。</p>", "text": "新增 wal_receiver_timeout 参数，用于控制 WAL 接收端的超时（Amit Kapila） 这可以更快地检测到连接失败。", "title": "新增 wal_receiver_timeout 参数，用于控制 WAL 接收端的超时", "commits": [], "section": "复制和恢复", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.4", "source_hash": "4d5969c17e353e16e65eb381bc4ee570a3641e35499d8f15226719c32706d480", "section_path": ["复制和恢复"], "commit_groups": [], "identity_text": "Add wal_receiver_timeout parameter to control the WAL receiver's timeout (Amit Kapila) This allows more rapid detection of connection failure.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/042", "db_id": "71ffd7cf4455adf14b143bf2789927a8", "patch_ids": [], "statement_hash": "45470d874be1d59473b93e81e7526cfbcccdcef834d1e82313d5fedbf9c4cec0", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-38d3528900b5d5fa", "cves": [], "html": "<p>更改 <a href=\"/docs/9.3/wal.html\" title=\"第 29 章 可靠性与预写式日志\"><acronym>WAL</acronym></a> 记录格式，允许把记录头拆分到多个页面（Heikki Linnakangas）</p>\n<p>新格式略微更紧凑，写入效率更高。</p>", "text": "更改 WAL 记录格式，允许把记录头拆分到多个页面（Heikki Linnakangas） 新格式略微更紧凑，写入效率更高。", "title": "更改 WAL 记录格式，允许把记录头拆分到多个页面", "commits": [], "section": "复制和恢复", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.4", "source_hash": "89fc029ded27849c4484fb0ca984ef8fab8f000fb76f69ee49bfd54b8ab1fd32", "section_path": ["复制和恢复"], "commit_groups": [], "identity_text": "Change the WAL record format to allow splitting the record header across pages (Heikki Linnakangas) The new format is slightly more compact, and is more efficient to write.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/043", "db_id": "355030fdc343065b52e1db05b43075de", "patch_ids": [], "statement_hash": "36c49488b8fd68e60a38f0c4246c2407eabea77824374d9cb9c4248edfd21355", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-d2e200ae40f5faab", "cves": [], "html": "<p>为 <code>FROM</code> 子句中的子查询和函数调用实现 <acronym>SQL</acronym> 标准的 <a href=\"/docs/9.3/queries-table-expressions.html#QUERIES-LATERAL\" title=\"7.2.1.5. LATERAL子查询\"><code>LATERAL</code></a> 选项（Tom Lane）</p>\n<p>此特性允许 <code>FROM</code> 中的子查询和函数引用 <code>FROM</code> 子句中其他表的列。对函数而言 <code>LATERAL</code> 关键字是可选的。</p>", "text": "为 FROM 子句中的子查询和函数调用实现 SQL 标准的 LATERAL 选项（Tom Lane） 此特性允许 FROM 中的子查询和函数引用 FROM 子句中其他表的列。对函数而言 LATERAL 关键字是可选的。", "title": "为 FROM 子句中的子查询和函数调用实现 SQL 标准的 LATERAL 选项", "commits": [], "section": "查询", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.5", "source_hash": "ef9fca2cda4b1547be2d2d488855a543f768ea22ea8bdfc034fafdbd1e10eb6e", "section_path": ["查询"], "commit_groups": [], "identity_text": "Implement SQL-standard LATERAL option for FROM-clause subqueries and function calls (Tom Lane) This feature allows subqueries and functions in FROM to reference columns from other tables in the FROM clause. The LATERAL keyword is optional for functions.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/044", "db_id": "49bd98dbff41b6fd6c29972ad4f9dc97", "patch_ids": [], "statement_hash": "e3dbe1d7ee55188a7235b7ab7bb1f5078da911be318dd8d134ac2b6f66955214", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-94cfbd1bd4792006", "cves": [], "html": "<p>新增对把 <a href=\"/docs/9.3/sql-copy.html\" title=\"COPY\"><code>COPY</code></a> 和 <a href=\"/docs/9.3/app-psql.html\" title=\"psql\"><span>psql</span></a> <code>\\copy</code> 的数据通过管道传送到/自外部程序的支持（Etsuro Fujita）</p>", "text": "新增对把 COPY 和 psql \\copy 的数据通过管道传送到/自外部程序的支持（Etsuro Fujita）", "title": "新增对把 COPY 和 psql \\copy 的数据通过管道传送到/自外部程序的支持", "commits": [], "section": "查询", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.5", "source_hash": "65406727f8f2d005528246db1d5333c1973b45799936b9ab3d12c8e9d327cfa1", "section_path": ["查询"], "commit_groups": [], "identity_text": "Add support for piping COPY and psql \\copy data to/from an external program (Etsuro Fujita)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/045", "db_id": "7f502a4dce05b9adfc8df1ac0166966b", "patch_ids": [], "statement_hash": "6f914f7d10ebe9f3544bda44074e89e778cf6fb25a2a585e057cb5e2db7d2c86", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-0595b9b480d997ba", "cves": [], "html": "<p>允许规则中的多行 <a href=\"/docs/9.3/sql-values.html\" title=\"VALUES\"><code>VALUES</code></a> 子句引用 <code>OLD</code>/<code>NEW</code>（Tom Lane）</p>", "text": "允许规则中的多行 VALUES 子句引用 OLD/NEW（Tom Lane）", "title": "允许规则中的多行 VALUES 子句引用 OLD/NEW", "commits": [], "section": "查询", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.5", "source_hash": "3ef1d70b7fb08de773e202d8f68b3381f669ae4a1a303ec6429058d00f0420ab", "section_path": ["查询"], "commit_groups": [], "identity_text": "Allow a multirow VALUES clause in a rule to reference OLD/NEW (Tom Lane)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/046", "db_id": "99ca017a92d8cc849a5855cbbded30df", "patch_ids": [], "statement_hash": "b463330670567c6efae782367ca06559c75007680cf44d408455def39064983c", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-3f41f1836c5aa823", "cves": [], "html": "<p>新增对<a href=\"/docs/9.3/event-triggers.html\" title=\"第 37 章 事件触发器\">事件触发器</a>的支持（Dimitri Fontaine、Robert Haas、Álvaro Herrera）</p>\n<p>这允许在运行 DDL 命令时调用以事件启用语言编写的服务器端函数。</p>", "text": "新增对事件触发器的支持（Dimitri Fontaine、Robert Haas、Álvaro Herrera） 这允许在运行 DDL 命令时调用以事件启用语言编写的服务器端函数。", "title": "新增对事件触发器的支持", "commits": [], "section": "对象操作", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.6", "source_hash": "de9fc765b5d9d1da608da685aacec20d38fcbd284abaa8443d171790734280ea", "section_path": ["对象操作"], "commit_groups": [], "identity_text": "Add support for event triggers (Dimitri Fontaine, Robert Haas, Álvaro Herrera) This allows server-side functions written in event-enabled languages to be called when DDL commands are run.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/047", "db_id": "4b8974af2479bd542cfd5714f26dcdf8", "patch_ids": [], "statement_hash": "15f1115423d5d789f7961d899b071a93d5fef56282592a74fb52d96135caa8e8", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-ed67d1789e050661", "cves": [], "html": "<p>允许<a href=\"/docs/9.3/sql-createforeigndatawrapper.html\" title=\"CREATE FOREIGN DATA WRAPPER\">外部数据包装器</a>支持对外部表的写入（插入/更新/删除）（KaiGai Kohei）</p>", "text": "允许外部数据包装器支持对外部表的写入（插入/更新/删除）（KaiGai Kohei）", "title": "允许外部数据包装器支持对外部表的写入（插入/更新/删除）", "commits": [], "section": "对象操作", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.6", "source_hash": "2c7dbdf51455562208b8418466c1bdd2b43fac3f82cfd708752a02ad6140e120", "section_path": ["对象操作"], "commit_groups": [], "identity_text": "Allow foreign data wrappers to support writes (inserts/updates/deletes) on foreign tables (KaiGai Kohei)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/048", "db_id": "2f2dca91b57532d0be7ce2d652b02981", "patch_ids": [], "statement_hash": "21c159bda64a1d643b701443cd0d7f6d178801373653bb3199a96c54a72276d7", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-a9d883a55a3c09a8", "cves": [], "html": "<p>新增 <a href=\"/docs/9.3/sql-createschema.html\" title=\"CREATE SCHEMA\"><code>CREATE SCHEMA ... IF NOT EXISTS</code></a> 子句（Fabrízio de Royes Mello）</p>", "text": "新增 CREATE SCHEMA ... IF NOT EXISTS 子句（Fabrízio de Royes Mello）", "title": "新增 CREATE SCHEMA ... IF NOT EXISTS 子句", "commits": [], "section": "对象操作", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.6", "source_hash": "424625f55cae56d13ee1c75b2bbb33a864151bb61cb7b5e4fead676d9c5ef6b7", "section_path": ["对象操作"], "commit_groups": [], "identity_text": "Add CREATE SCHEMA ... IF NOT EXISTS clause (Fabrízio de Royes Mello)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/049", "db_id": "5e7b01eeab3cf7edb09b988e745cd5c2", "patch_ids": [], "statement_hash": "f7a133be1bbc7c414dcb69684b1eb7d838b6109b7075f9788ce10ddfa09b68d2", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-d2120084e1198a03", "cves": [], "html": "<p>让 <a href=\"/docs/9.3/sql-reassign-owned.html\" title=\"REASSIGN OWNED\"><code>REASSIGN OWNED</code></a> 也更改共享对象的所有权（Álvaro Herrera）</p>", "text": "让 REASSIGN OWNED 也更改共享对象的所有权（Álvaro Herrera）", "title": "让 REASSIGN OWNED 也更改共享对象的所有权", "commits": [], "section": "对象操作", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.6", "source_hash": "47d3d51bb57e20e7b0171e9d103af48b95c724797fe7da284e1daa994ec58b68", "section_path": ["对象操作"], "commit_groups": [], "identity_text": "Make REASSIGN OWNED also change ownership of shared objects (Álvaro Herrera)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/050", "db_id": "5805b7eeaec9d68ca6162d467b5bbd21", "patch_ids": [], "statement_hash": "4c360381b8a441f6f33993d3a15d89b98c99db1bbf836bc9cde9d9cf7db805b7", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-6bbcdc996b34a903", "cves": [], "html": "<p>让 <a href=\"/docs/9.3/sql-createaggregate.html\" title=\"CREATE AGGREGATE\"><code>CREATE AGGREGATE</code></a> 在给定的初始值字符串不是转换数据类型的有效输入时报错（Tom Lane）</p>", "text": "让 CREATE AGGREGATE 在给定的初始值字符串不是转换数据类型的有效输入时报错（Tom Lane）", "title": "让 CREATE AGGREGATE 在给定的初始值字符串不是转换数据类型的有效输入时报错", "commits": [], "section": "对象操作", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.6", "source_hash": "a0d15f33d197c1b0a30d58edd0e45fa1deac8456c076a76f5d648fcc34086b7e", "section_path": ["对象操作"], "commit_groups": [], "identity_text": "Make CREATE AGGREGATE complain if the given initial value string is not valid input for the transition datatype (Tom Lane)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/051", "db_id": "10a0ce4e8eb13f80036faaee922e71bb", "patch_ids": [], "statement_hash": "1d748bd24d56643f209000fa5061a2946fee9e627c4addfada47ebe88e2fc686", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-5b88d66d75a57669", "cves": [], "html": "<p>抑制 <a href=\"/docs/9.3/sql-createtable.html\" title=\"CREATE TABLE\"><code>CREATE TABLE</code></a> 关于隐式创建索引和序列的消息（Robert Haas）</p>\n<p>这些消息现在以 <code>DEBUG1</code> 详细级别出现，因此默认不会显示。</p>", "text": "抑制 CREATE TABLE 关于隐式创建索引和序列的消息（Robert Haas） 这些消息现在以 DEBUG1 详细级别出现，因此默认不会显示。", "title": "抑制 CREATE TABLE 关于隐式创建索引和序列的消息", "commits": [], "section": "对象操作", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.6", "source_hash": "daec8f7e2496479bcd2890e19650c11e4f7a41b483b5c9fb4005704fa54e6d34", "section_path": ["对象操作"], "commit_groups": [], "identity_text": "Suppress CREATE TABLE's messages about implicit index and sequence creation (Robert Haas) These messages now appear at DEBUG1 verbosity, so that they will not be shown by default.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/052", "db_id": "546c548e73356d5047d1bd0910629c70", "patch_ids": [], "statement_hash": "0b66b27db4cd60e2289cb3a9ef0ef475e9231b08f54dc436c2d3e47883f06704", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-27ee6b8250aa37c6", "cves": [], "html": "<p>当表名中指定了不存在的模式时，允许 <a href=\"/docs/9.3/sql-droptable.html\" title=\"DROP TABLE\"><code>DROP TABLE IF EXISTS</code></a> 成功执行（Bruce Momjian）</p>\n<p>此前，如果模式不存在，它会抛出错误。</p>", "text": "当表名中指定了不存在的模式时，允许 DROP TABLE IF EXISTS 成功执行（Bruce Momjian） 此前，如果模式不存在，它会抛出错误。", "title": "当表名中指定了不存在的模式时，允许 DROP TABLE IF EXISTS 成功执行", "commits": [], "section": "对象操作", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.6", "source_hash": "0fad3dea892335e45512966946406c47569c6684d1635581599e0082da8c3e12", "section_path": ["对象操作"], "commit_groups": [], "identity_text": "Allow DROP TABLE IF EXISTS to succeed when a non-existent schema is specified in the table name (Bruce Momjian) Previously, it threw an error if the schema did not exist.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/053", "db_id": "6d1cf8499e8168222a134a5232c5e545", "patch_ids": [], "statement_hash": "fd2bc1334f58c7cae6e824a6d92939d4d5d68e1e470871023f63e21e815cdb25", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-f7a14e0e3d690a92", "cves": [], "html": "<p>以独立字段的形式向客户端提供<a href=\"/docs/9.3/libpq-exec.html#LIBPQ-PQRESULTERRORFIELD\">约束违规细节</a>（Pavel Stehule）</p>\n<p>这允许客户端获取表、列、数据类型或约束名的错误细节。此前这类信息必须从错误字符串中提取。访问这些字段需要客户端库的支持。</p>", "text": "以独立字段的形式向客户端提供约束违规细节（Pavel Stehule） 这允许客户端获取表、列、数据类型或约束名的错误细节。此前这类信息必须从错误字符串中提取。访问这些字段需要客户端库的支持。", "title": "以独立字段的形式向客户端提供约束违规细节", "commits": [], "section": "对象操作", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.6", "source_hash": "64e96841513dcd4beb816183b6f964371c128582d60c628f16f8b8ccc6f7a277", "section_path": ["对象操作"], "commit_groups": [], "identity_text": "Provide clients with constraint violation details as separate fields (Pavel Stehule) This allows clients to retrieve table, column, data type, or constraint name error details. Previously such information had to be extracted from error strings. Client library support is required to access these fields.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/054", "db_id": "35ef4cec60906274080460ca0a130658", "patch_ids": [], "statement_hash": "c2e4d5b06f511fccc9b583751d4a3a636e51982f8010206d87422c4a05160422", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-dd3132fd13e3132f", "cves": [], "html": "<p>支持 <a href=\"/docs/9.3/sql-altertype.html\" title=\"ALTER TYPE\"><code>ALTER TYPE ... ADD VALUE</code></a> 中的 <code>IF NOT EXISTS</code> 选项（Andrew Dunstan）</p>\n<p>这对有条件地向枚举类型添加值很有用。</p>", "text": "支持 ALTER TYPE ... ADD VALUE 中的 IF NOT EXISTS 选项（Andrew Dunstan） 这对有条件地向枚举类型添加值很有用。", "title": "支持 ALTER TYPE ... ADD VALUE 中的 IF NOT EXISTS 选项", "commits": [], "section": "对象操作 / ALTER", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.6.3", "source_hash": "cf62630c8a9cfb0b80c25af8206066d23f5687bcc55aadc5d84b590e1f4fc9c6", "section_path": ["对象操作", "ALTER"], "commit_groups": [], "identity_text": "Support IF NOT EXISTS option in ALTER TYPE ... ADD VALUE (Andrew Dunstan) This is useful for conditionally adding values to enumerated types.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/055", "db_id": "5e54eea8d23ea2311b24d0f77acce7b6", "patch_ids": [], "statement_hash": "9fde160e34e6d2e56b4c2183c346634a598aa6a3d87b4aa70c6261e963447bc6", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-963f750e678fe15e", "cves": [], "html": "<p>新增 <a href=\"/docs/9.3/sql-alterrole.html\" title=\"ALTER ROLE\"><code>ALTER ROLE ALL SET</code></a>，用于为所有用户建立设置（Peter Eisentraut）</p>\n<p>这允许设置应用于所有数据库中的所有用户。<a href=\"/docs/9.3/sql-alterdatabase.html\" title=\"ALTER DATABASE\"><code>ALTER DATABASE SET</code></a> 此前已允许为单个数据库中的所有用户添加设置。<code>postgresql.conf</code> 有类似效果。</p>", "text": "新增 ALTER ROLE ALL SET，用于为所有用户建立设置（Peter Eisentraut） 这允许设置应用于所有数据库中的所有用户。ALTER DATABASE SET 此前已允许为单个数据库中的所有用户添加设置。postgresql.conf 有类似效果。", "title": "新增 ALTER ROLE ALL SET，用于为所有用户建立设置", "commits": [], "section": "对象操作 / ALTER", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.6.3", "source_hash": "5efa3eaf7baf4d1cf8d64dcde1c80a3d63b050a5978672489e7d1381b097b225", "section_path": ["对象操作", "ALTER"], "commit_groups": [], "identity_text": "Add ALTER ROLE ALL SET to establish settings for all users (Peter Eisentraut) This allows settings to apply to all users in all databases. ALTER DATABASE SET already allowed addition of settings for all users in a single database. postgresql.conf has a similar effect.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/056", "db_id": "6cc9368f35d8d42c69b4077a8fcee94a", "patch_ids": [], "statement_hash": "79b03ec65091ad3b360a2c8e944f0604a2e155eee414bcac084ec34c80625cd0", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-25d2916500577cd4", "cves": [], "html": "<p>新增对 <a href=\"/docs/9.3/sql-alterrule.html\" title=\"ALTER RULE\"><code>ALTER RULE ... RENAME</code></a> 的支持（Ali Dar）</p>", "text": "新增对 ALTER RULE ... RENAME 的支持（Ali Dar）", "title": "新增对 ALTER RULE ... RENAME 的支持", "commits": [], "section": "对象操作 / ALTER", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.6.3", "source_hash": "96a5adad7ec1122c0e2d0e906e1691407f4632a97e9c6f422b84181b352a91e3", "section_path": ["对象操作", "ALTER"], "commit_groups": [], "identity_text": "Add support for ALTER RULE ... RENAME (Ali Dar)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/057", "db_id": "d2334a91907c74726f5dc67a331780b1", "patch_ids": [], "statement_hash": "39f75dae40f27082f2fda1ed690d84bbf2d6131e87a6a5b2699cffaee371fe79", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-dcf86d9c0d42bab7", "cves": [], "html": "<p>新增<a href=\"/docs/9.3/sql-creatematerializedview.html\" title=\"CREATE MATERIALIZED VIEW\">物化视图</a>（Kevin Grittner）</p>\n<p>与每次访问都读取基础表的普通视图不同，物化视图在创建或刷新时创建物理表。对物化视图的访问随后从其物理表读取。目前还没有增量刷新物化视图或通过基础表访问自动访问它们的机制。</p>", "text": "新增物化视图（Kevin Grittner） 与每次访问都读取基础表的普通视图不同，物化视图在创建或刷新时创建物理表。对物化视图的访问随后从其物理表读取。目前还没有增量刷新物化视图或通过基础表访问自动访问它们的机制。", "title": "新增物化视图", "commits": [], "section": "对象操作 / VIEWs", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.6.4", "source_hash": "17479cf06d5c0d66bea14a4f1f19651e2fb70136e35dfacce7e026650c7cbf84", "section_path": ["对象操作", "VIEWs"], "commit_groups": [], "identity_text": "Add materialized views (Kevin Grittner) Unlike ordinary views, where the base tables are read on every access, materialized views create physical tables at creation or refresh time. Access to the materialized view then reads from its physical table. There is not yet any facility for incrementally refreshing materialized views or auto-accessing them via base table access.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/058", "db_id": "4b09e9c1cec1909f60d8df6980db8f74", "patch_ids": [], "statement_hash": "640a22a8fcc0f9ae13944549b529a58028f34a056e0d6fee824bdb4f888bb24b", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-7a45a0501a5ac593", "cves": [], "html": "<p>使简单视图<a href=\"/docs/9.3/sql-createview.html#SQL-CREATEVIEW-UPDATABLE-VIEWS\" title=\"可更新视图\">自动可更新</a>（Dean Rasheed）</p>\n<p>引用单个基础表部分或全部列的简单视图现在默认可更新。更复杂的视图可以通过 <a href=\"/docs/9.3/sql-createtrigger.html\" title=\"CREATE TRIGGER\"><code>INSTEAD OF</code></a> 触发器或 <a href=\"/docs/9.3/sql-createrule.html\" title=\"CREATE RULE\"><code>INSTEAD</code></a> 规则使其可更新。</p>", "text": "使简单视图自动可更新（Dean Rasheed） 引用单个基础表部分或全部列的简单视图现在默认可更新。更复杂的视图可以通过 INSTEAD OF 触发器或 INSTEAD 规则使其可更新。", "title": "使简单视图自动可更新", "commits": [], "section": "对象操作 / VIEWs", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.6.4", "source_hash": "f9e341dd9302ccdce2de7da06aee7817a02721907083f2da0cf993de79f40072", "section_path": ["对象操作", "VIEWs"], "commit_groups": [], "identity_text": "Make simple views auto-updatable (Dean Rasheed) Simple views that reference some or all columns from a single base table are now updatable by default. More complex views can be made updatable using INSTEAD OF triggers or INSTEAD rules.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/059", "db_id": "23257c0c64acd2d818ca839b4e2e90f6", "patch_ids": [], "statement_hash": "2c5b7f5059a50c2925cf27666b20ae624b32f7082e367e77b3eada2e8f9f80fe", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-40b5cef3e645d396", "cves": [], "html": "<p>新增 <a href=\"/docs/9.3/sql-createview.html\" title=\"CREATE VIEW\"><code>CREATE RECURSIVE VIEW</code></a> 语法（Peter Eisentraut）</p>\n<p>在内部，这会被转换为 <code>CREATE VIEW ... WITH RECURSIVE ...</code>。</p>", "text": "新增 CREATE RECURSIVE VIEW 语法（Peter Eisentraut） 在内部，这会被转换为 CREATE VIEW ... WITH RECURSIVE ...。", "title": "新增 CREATE RECURSIVE VIEW 语法", "commits": [], "section": "对象操作 / VIEWs", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.6.4", "source_hash": "33043511786c016942dfd1e6d85e5344947b4ac2a2fb470c19996e0285dc48d3", "section_path": ["对象操作", "VIEWs"], "commit_groups": [], "identity_text": "Add CREATE RECURSIVE VIEW syntax (Peter Eisentraut) Internally this is translated into CREATE VIEW ... WITH RECURSIVE ....", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/060", "db_id": "eb3aff6cf17810d8c6937cbf951e78c0", "patch_ids": [], "statement_hash": "88ac4bd64b7b4c48fd0f67f63f23c5b7b70812592d6e2e0f109c308547e79941", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-59fa6008828c486e", "cves": [], "html": "<p>改进视图/规则打印代码，以处理被引用表被重命名、或列被重命名、添加或删除的情况（Tom Lane）</p>\n<p>表和列的重命名可能造成这样的情况：如果只是把新名称替换进规则或视图的原始文本，结果就会有歧义。此变更修复了规则转储代码，使其在需要时插入构造的表和列别名以保持原始语义。</p>", "text": "改进视图/规则打印代码，以处理被引用表被重命名、或列被重命名、添加或删除的情况（Tom Lane） 表和列的重命名可能造成这样的情况：如果只是把新名称替换进规则或视图的原始文本，结果就会有歧义。此变更修复了规则转储代码，使其在需要时插入构造的表和列别名以保持原始语义。", "title": "改进视图/规则打印代码，以处理被引用表被重命名、或列被重命名、添加或删除的情况", "commits": [], "section": "对象操作 / VIEWs", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.6.4", "source_hash": "33e67afcb4976ce82ad2fb361b3bd273968a3e7c6bf8527b97184b84a71aa6e1", "section_path": ["对象操作", "VIEWs"], "commit_groups": [], "identity_text": "Improve view/rule printing code to handle cases where referenced tables are renamed, or columns are renamed, added, or dropped (Tom Lane) Table and column renamings can produce cases where, if we merely substitute the new name into the original text of a rule or view, the result is ambiguous. This change fixes the rule-dumping code to insert manufactured table and column aliases when needed to preserve the original semantics.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/061", "db_id": "8663efad86a567467f638870969d6371", "patch_ids": [], "statement_hash": "83849c999584d906121a590fc0d2287fc770149f1d83d0a8e487817dff08b33c", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-6b942d9c01150190", "cves": [], "html": "<p>把<a href=\"/docs/9.3/largeobjects.html\" title=\"第 32 章 大对象\">大对象</a>的最大大小从 2GB 提高到 4TB（Nozomi Anzai、Yugo Nagata）</p>\n<p>此变更包括在服务器和 libpq 中新增支持 64 位的大对象访问函数。</p>", "text": "把大对象的最大大小从 2GB 提高到 4TB（Nozomi Anzai、Yugo Nagata） 此变更包括在服务器和 libpq 中新增支持 64 位的大对象访问函数。", "title": "把大对象的最大大小从 2GB 提高到 4TB", "commits": [], "section": "数据类型", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.7", "source_hash": "6e8dfc3df952c0494264b73ff10d05e4b3b580a50aaa5439d2d44d9b15928f7a", "section_path": ["数据类型"], "commit_groups": [], "identity_text": "Increase the maximum size of large objects from 2GB to 4TB (Nozomi Anzai, Yugo Nagata) This change includes adding 64-bit-capable large object access functions, both in the server and in libpq.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/062", "db_id": "e391d7c1a3ee25c4b357f883ef3e6f86", "patch_ids": [], "statement_hash": "9967e0fe855cab6ac2845910c9619fa9612136e85c84cfb565b42efafddeac55", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-1fea84ab6ff61a0e", "cves": [], "html": "<p>允许在 <acronym>ISO</acronym> 格式 <code>timestamptz</code> 输入的 <span>“<span>T</span>”</span> 字段中使用文本<a href=\"/docs/9.3/datatype-datetime.html#DATATYPE-TIMEZONES\" title=\"8.5.3. 时区\">时区名称</a>，例如 <span>“<span>America/Chicago</span>”</span>（Bruce Momjian）</p>", "text": "允许在 ISO 格式 timestamptz 输入的 “T” 字段中使用文本时区名称，例如 “America/Chicago”（Bruce Momjian）", "title": "允许在 ISO 格式 timestamptz 输入的 “T” 字段中使用文本时区名称，例如 “America/Chicago”", "commits": [], "section": "数据类型", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.7", "source_hash": "ee0eaba874b277a4e304535664c7a2928836ed06e8eea036c8a078bab741106d", "section_path": ["数据类型"], "commit_groups": [], "identity_text": "Allow text timezone designations, e.g. America/Chicago, in the T field of ISO-format timestamptz input (Bruce Momjian)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/063", "db_id": "10a95bccb4a8110bf5098d2f2a8e11f3", "patch_ids": [], "statement_hash": "2974905cbc442826ee1b3a00434dab3dad57c099a2d5c0183101d781dd862e80", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-81cf21fada7b1d39", "cves": [], "html": "<p>新增用于从 <code>JSON</code> 值中提取元素的<a href=\"/docs/9.3/functions-json.html\" title=\"9.15. JSON 函数和操作符\">操作符和函数</a>（Andrew Dunstan）</p>", "text": "新增用于从 JSON 值中提取元素的操作符和函数（Andrew Dunstan）", "title": "新增用于从 JSON 值中提取元素的操作符和函数", "commits": [], "section": "数据类型 / JSON", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.7.3", "source_hash": "e157e91bf1bcc3b7d77bdb4c128bea4dd6ff0118e4cbf816aa520364f8fffab3", "section_path": ["数据类型", "JSON"], "commit_groups": [], "identity_text": "Add operators and functions to extract elements from JSON values (Andrew Dunstan)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/064", "db_id": "371651fe9e417e3b6135c55b566cca2d", "patch_ids": [], "statement_hash": "f4f69ca127fd649cae9a780b24fda89e0284a9a55d456139e0da4c5cc39e3355", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-b2690957fe10be0c", "cves": [], "html": "<p>允许把 <code>JSON</code> 值<a href=\"/docs/9.3/functions-json.html\" title=\"9.15. JSON 函数和操作符\">转换为记录</a>（Andrew Dunstan）</p>", "text": "允许把 JSON 值转换为记录（Andrew Dunstan）", "title": "允许把 JSON 值转换为记录", "commits": [], "section": "数据类型 / JSON", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.7.3", "source_hash": "8e2e0000985f17b0c0ba34ac32bfeeed1fa99027c1144e58b000f5ad0198b61f", "section_path": ["数据类型", "JSON"], "commit_groups": [], "identity_text": "Allow JSON values to be converted into records (Andrew Dunstan)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/065", "db_id": "1715c11d45895929118f8d5cd50ce995", "patch_ids": [], "statement_hash": "12f7c235503d12a3c50259b8aaa29d278b7b4d348206caa6af1bca0ab17d624d", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-c53abca11f406a23", "cves": [], "html": "<p>新增用于把标量、记录和 <code>hstore</code> 值转换为 <code>JSON</code> 的<a href=\"/docs/9.3/functions-json.html\" title=\"9.15. JSON 函数和操作符\">函数</a>（Andrew Dunstan）</p>", "text": "新增用于把标量、记录和 hstore 值转换为 JSON 的函数（Andrew Dunstan）", "title": "新增用于把标量、记录和 hstore 值转换为 JSON 的函数", "commits": [], "section": "数据类型 / JSON", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.7.3", "source_hash": "e7eb4cbf70f52025c5448af7b8eb3d41486df30e9132ef386f359ec877ebee2a", "section_path": ["数据类型", "JSON"], "commit_groups": [], "identity_text": "Add functions to convert scalars, records, and hstore values to JSON (Andrew Dunstan)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/066", "db_id": "1df8dc8f65b2ca63d915d5ea68a24eaa", "patch_ids": [], "statement_hash": "42095cdc395dbd5351c84207df778be8e5ebcc6b8934ade333cc3b43ee9d18de", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-d667eb78daa1ea6d", "cves": [], "html": "<p>新增 <a href=\"/docs/9.3/functions-array.html#ARRAY-FUNCTIONS-TABLE\" title=\"表 9.44. 数组函数\"><code>array_remove()</code></a> 和 <a href=\"/docs/9.3/functions-array.html#ARRAY-FUNCTIONS-TABLE\" title=\"表 9.44. 数组函数\"><code>array_replace()</code></a> 函数（Marco Nenciarini、Gabriele Bartolini）</p>", "text": "新增 array_remove() 和 array_replace() 函数（Marco Nenciarini、Gabriele Bartolini）", "title": "新增 array_remove() 和 array_replace() 函数", "commits": [], "section": "函数", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.8", "source_hash": "e69b9a5a57b38e2b2f0fd769386344e27cb3afa8112a498a0dc9c59394e77d9e", "section_path": ["函数"], "commit_groups": [], "identity_text": "Add array_remove() and array_replace() functions (Marco Nenciarini, Gabriele Bartolini)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/067", "db_id": "ba05671a0b1540e1aeb794f5b10b1137", "patch_ids": [], "statement_hash": "ac43089b4322ee526337722effa4eec704e0655929d9cb5dd69604044864314e", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-6511356dd0ccfbaf", "cves": [], "html": "<p>允许 <a href=\"/docs/9.3/functions-string.html#FUNCTIONS-STRING-OTHER\" title=\"表 9.7. 其他字符串函数\"><code>concat()</code></a> 和 <a href=\"/docs/9.3/functions-string.html#FUNCTIONS-STRING-FORMAT\" title=\"9.4.1. format\"><code>format()</code></a> 正确展开标记为 <code>VARIADIC</code> 的参数（Pavel Stehule）</p>", "text": "允许 concat() 和 format() 正确展开标记为 VARIADIC 的参数（Pavel Stehule）", "title": "允许 concat() 和 format() 正确展开标记为 VARIADIC 的参数", "commits": [], "section": "函数", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.8", "source_hash": "89b7f6902249a2e9f9d6b281ba539cbec731a738851574786fdbb087c481f70a", "section_path": ["函数"], "commit_groups": [], "identity_text": "Allow concat() and format() to properly expand VARIADIC-labeled arguments (Pavel Stehule)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/068", "db_id": "b499c25a7263bbee38f8a95e9b773628", "patch_ids": [], "statement_hash": "cc502efdffdcc3eacc63271c51ebc6672dcf0caea16fd5221880bf695711682f", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-76aa4f179d2862c7", "cves": [], "html": "<p>改进 <a href=\"/docs/9.3/functions-string.html#FUNCTIONS-STRING-FORMAT\" title=\"9.4.1. format\"><code>format()</code></a>，提供字段宽度和左/右对齐选项（Pavel Stehule）</p>", "text": "改进 format()，提供字段宽度和左/右对齐选项（Pavel Stehule）", "title": "改进 format()，提供字段宽度和左/右对齐选项", "commits": [], "section": "函数", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.8", "source_hash": "739c55d9d877051634b92d1e3ca0c775bfacecf7e62b0c30cd481892febe9121", "section_path": ["函数"], "commit_groups": [], "identity_text": "Improve format() to provide field width and left/right alignment options (Pavel Stehule)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/069", "db_id": "f8c88c7dd88a29221f7c723a0c7200ac", "patch_ids": [], "statement_hash": "4ab7ab079310d631ba99ffb6aca28a6e654c8e5da166bbf368b5be81de2b7cad", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-ded49f5f0e3b8751", "cves": [], "html": "<p>让 <a href=\"/docs/9.3/functions-formatting.html#FUNCTIONS-FORMATTING-TABLE\" title=\"表 9.21. 格式化函数\"><code>to_char()</code></a>、<a href=\"/docs/9.3/functions-formatting.html#FUNCTIONS-FORMATTING-TABLE\" title=\"表 9.21. 格式化函数\"><code>to_date()</code></a> 和 <a href=\"/docs/9.3/functions-formatting.html#FUNCTIONS-FORMATTING-TABLE\" title=\"表 9.21. 格式化函数\"><code>to_timestamp()</code></a> 正确处理负的（公元前）世纪值（Bruce Momjian）</p>\n<p>此前的行为要么错误，要么与正数/<acronym>AD</acronym>（公元）的处理不一致，例如在使用格式掩码 <span>“<span>IYYY-IW-DY</span>”</span> 时。</p>", "text": "让 to_char()、to_date() 和 to_timestamp() 正确处理负的（公元前）世纪值（Bruce Momjian） 此前的行为要么错误，要么与正数/AD（公元）的处理不一致，例如在使用格式掩码 “IYYY-IW-DY” 时。", "title": "让 to_char()、to_date() 和 to_timestamp() 正确处理负的（公元前）世纪值", "commits": [], "section": "函数", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.8", "source_hash": "61066378b449688481e6d4759c0747aa85c467ef005407797ac59747af194415", "section_path": ["函数"], "commit_groups": [], "identity_text": "Make to_char(), to_date(), and to_timestamp() handle negative (BC) century values properly (Bruce Momjian) Previously the behavior was either wrong or inconsistent with positive/AD handling, e.g. with the format mask IYYY-IW-DY.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/070", "db_id": "976b783cf4da04b5f2b322a29d0e88df", "patch_ids": [], "statement_hash": "cf9be287a54f17366ac246040588c54df35f2acb618d017fb4cf232e1f7440bb", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-4f416cbb30857add", "cves": [], "html": "<p>让 <a href=\"/docs/9.3/functions-formatting.html#FUNCTIONS-FORMATTING-TABLE\" title=\"表 9.21. 格式化函数\"><code>to_date()</code></a> 和 <a href=\"/docs/9.3/functions-formatting.html#FUNCTIONS-FORMATTING-TABLE\" title=\"表 9.21. 格式化函数\"><code>to_timestamp()</code></a> 在混用 <acronym>ISO</acronym> 与公历周/日标记时返回正确结果（Bruce Momjian）</p>", "text": "让 to_date() 和 to_timestamp() 在混用 ISO 与公历周/日标记时返回正确结果（Bruce Momjian）", "title": "让 to_date() 和 to_timestamp() 在混用 ISO 与公历周/日标记时返回正确结果", "commits": [], "section": "函数", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.8", "source_hash": "e5f5ba9d6de41d3a71abe29426c296db31fba1ade4c8815811d70db9e937d276", "section_path": ["函数"], "commit_groups": [], "identity_text": "Make to_date() and to_timestamp() return proper results when mixing ISO and Gregorian week/day designations (Bruce Momjian)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/071", "db_id": "19c54f3f998df773635af851bd4fd434", "patch_ids": [], "statement_hash": "e8cd03964b834cc7597da04b5a362738bab3dc8b10662d42545c64c868fd17d6", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-0889b6d270f2bf16", "cves": [], "html": "<p>让 <a href=\"/docs/9.3/functions-info.html#FUNCTIONS-INFO-CATALOG-TABLE\" title=\"表 9.55. 系统目录信息函数\"><code>pg_get_viewdef()</code></a> 默认在每个 <code>SELECT</code> 目标列表项和 <code>FROM</code> 项之后换行（Marko Tiikkaja）</p>\n<p>这缩短了视图打印时的行长度，例如在<a href=\"/docs/9.3/app-pgdump.html\" title=\"pg_dump\"><span>pg_dump</span></a>输出中。</p>", "text": "让 pg_get_viewdef() 默认在每个 SELECT 目标列表项和 FROM 项之后换行（Marko Tiikkaja） 这缩短了视图打印时的行长度，例如在pg_dump输出中。", "title": "让 pg_get_viewdef() 默认在每个 SELECT 目标列表项和 FROM 项之后换行", "commits": [], "section": "函数", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.8", "source_hash": "b625d54e2269f65b5b513adba4dcd869d020e434c0a1fd0bef56f35bd49ed46f", "section_path": ["函数"], "commit_groups": [], "identity_text": "Cause pg_get_viewdef() to start a new line by default after each SELECT target list entry and FROM entry (Marko Tiikkaja) This reduces line length in view printing, for instance in pg_dump output.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/072", "db_id": "9c4d35594b62636266335a32d37a08d3", "patch_ids": [], "statement_hash": "51e9f2ea0b4cc1ce4b9a345de21897cf3eb11abb9a64b5ee16f8f4b36fcadaf3", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-99f38321e560aa5d", "cves": [], "html": "<p>修复 <code>map_sql_value_to_xml_value()</code>，使域类型值的打印方式与其基础类型的打印方式一致（Pavel Stehule）</p>\n<p>某些内建类型（如 <code>boolean</code>）有特殊的格式化规则；这些规则现在也适用于基于这些类型的域。</p>", "text": "修复 map_sql_value_to_xml_value()，使域类型值的打印方式与其基础类型的打印方式一致（Pavel Stehule） 某些内建类型（如 boolean）有特殊的格式化规则；这些规则现在也适用于基于这些类型的域。", "title": "修复 map_sql_value_to_xml_value()，使域类型值的打印方式与其基础类型的打印方式一致", "commits": [], "section": "函数", "category": "bugfix", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.8", "source_hash": "7cc150fa3062a1e7d7e232111007ae33a0c7c97c05fd7f9ed177927d0d8d59ef", "section_path": ["函数"], "commit_groups": [], "identity_text": "Fix map_sql_value_to_xml_value() to print values of domain types the same way their base type would be printed (Pavel Stehule) There are special formatting rules for certain built-in types such as boolean; these rules now also apply to domains over these types.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/073", "db_id": "91ad75eb3ec78c9b4e91dcc1ff1d8df5", "patch_ids": [], "statement_hash": "2e03765ba3641d8a86e85af4cd08c12649bb0ed41aa5e2f6804d0eaaf4cc4f7e", "relations": [], "version": "9.3.0", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-19a9bd1a5ea847ed", "cves": [], "html": "<p>允许 PL/pgSQL 在 <code>RETURN</code> 中使用组合类型表达式（Asif Rehman）</p>\n<p>此前，在返回组合类型的函数中，<code>RETURN</code> 只能引用该类型的变量。</p>", "text": "允许 PL/pgSQL 在 RETURN 中使用组合类型表达式（Asif Rehman） 此前，在返回组合类型的函数中，RETURN 只能引用该类型的变量。", "title": "允许 PL/pgSQL 在 RETURN 中使用组合类型表达式", "commits": [], "section": "服务器端语言 / PL/pgSQL Server-Side Language", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.9.2", "source_hash": "2a7efef6b0ae5c01d60bc8389d9018d7903fa2b07d187f5ce602beb7e6c8f728", "section_path": ["服务器端语言", "PL/pgSQL Server-Side Language"], "commit_groups": [], "identity_text": "Allow PL/pgSQL to use RETURN with a composite-type expression (Asif Rehman) Previously, in a function returning a composite type, RETURN could only reference a variable of that type.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/074", "db_id": "46d9728f1961702b218f926c02532b8c", "patch_ids": [], "statement_hash": "2a6bac16948a009293da81af82126ad1a61e877070c886845d9409186149e2dd", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-ec8b160de65b9a56", "cves": [], "html": "<p>允许 PL/pgSQL 以独立字段的形式访问<a href=\"/docs/9.3/plpgsql-control-structures.html#PLPGSQL-EXCEPTION-DIAGNOSTICS\" title=\"40.6.6.1. 获取错误信息\">约束违规细节</a>（Pavel Stehule）</p>", "text": "允许 PL/pgSQL 以独立字段的形式访问约束违规细节（Pavel Stehule）", "title": "允许 PL/pgSQL 以独立字段的形式访问约束违规细节", "commits": [], "section": "服务器端语言 / PL/pgSQL Server-Side Language", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.9.2", "source_hash": "266c1d8a604ca555d999b268f12cd7d09a99194d84459133fc55ffe67b065bd4", "section_path": ["服务器端语言", "PL/pgSQL Server-Side Language"], "commit_groups": [], "identity_text": "Allow PL/pgSQL to access constraint violation details as separate fields (Pavel Stehule)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/075", "db_id": "22e885cae698d174c8f842744f97bcf9", "patch_ids": [], "statement_hash": "d706c248996c301350afcc7539acbbb5d41621561f4bd1c48c2db06d26300cf5", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-a9256d0a562427e1", "cves": [], "html": "<p>允许 PL/pgSQL 访问 <a href=\"/docs/9.3/sql-copy.html\" title=\"COPY\"><code>COPY</code></a> 处理的行数（Pavel Stehule）</p>\n<p>在 PL/pgSQL 函数中执行的 <code>COPY</code> 现在会更新 <a href=\"/docs/9.3/plpgsql-statements.html#PLPGSQL-STATEMENTS-DIAGNOSTICS\" title=\"40.5.5. 获取结果状态\"><code>GET DIAGNOSTICS x = ROW_COUNT</code></a> 获取的值。</p>", "text": "允许 PL/pgSQL 访问 COPY 处理的行数（Pavel Stehule） 在 PL/pgSQL 函数中执行的 COPY 现在会更新 GET DIAGNOSTICS x = ROW_COUNT 获取的值。", "title": "允许 PL/pgSQL 访问 COPY 处理的行数", "commits": [], "section": "服务器端语言 / PL/pgSQL Server-Side Language", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.9.2", "source_hash": "a58905d7dab8701d0a4500b921d20cefa63a5982148b42a5d8b288bf0d59e00f", "section_path": ["服务器端语言", "PL/pgSQL Server-Side Language"], "commit_groups": [], "identity_text": "Allow PL/pgSQL to access the number of rows processed by COPY (Pavel Stehule) A COPY executed in a PL/pgSQL function now updates the value retrieved by GET DIAGNOSTICS x = ROW_COUNT.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/076", "db_id": "2ca40ca3d3ea2af191bdb9972d2f1905", "patch_ids": [], "statement_hash": "bb7993378f3a10bbdfc3e7eb392de348f86bc76a0c812b9d32124cb1e2c5d435", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-ea325952817c941d", "cves": [], "html": "<p>允许非保留关键字在 PL/pgSQL 的所有位置用作标识符（Tom Lane）</p>\n<p>在 PL/pgSQL 语法的某些位置，关键字必须加引号才能用作标识符，即使它们名义上是非保留的。</p>", "text": "允许非保留关键字在 PL/pgSQL 的所有位置用作标识符（Tom Lane） 在 PL/pgSQL 语法的某些位置，关键字必须加引号才能用作标识符，即使它们名义上是非保留的。", "title": "允许非保留关键字在 PL/pgSQL 的所有位置用作标识符", "commits": [], "section": "服务器端语言 / PL/pgSQL Server-Side Language", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.9.2", "source_hash": "73dd87451def36e20cf6125ab8db433fbf6c5225db17974a3ff1a14415cdce8d", "section_path": ["服务器端语言", "PL/pgSQL Server-Side Language"], "commit_groups": [], "identity_text": "Allow unreserved keywords to be used as identifiers everywhere in PL/pgSQL (Tom Lane) In certain places in the PL/pgSQL grammar, keywords had to be quoted to be used as identifiers, even if they were nominally unreserved.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/077", "db_id": "752feefb6ee7fe81b4f9f295dead0656", "patch_ids": [], "statement_hash": "6d8b16c7f9bbbfa0ec6fd079c0d7359e5112e6a37fcfc0981412305ade2f0f21", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-5bddc42f41bfd189", "cves": [], "html": "<p>新增 PL/Python 结果对象的字符串处理器（Peter Eisentraut）</p>\n<p>这使得 <code>plpy.debug(rv)</code> 能够输出合理的内容。</p>", "text": "新增 PL/Python 结果对象的字符串处理器（Peter Eisentraut） 这使得 plpy.debug(rv) 能够输出合理的内容。", "title": "新增 PL/Python 结果对象的字符串处理器", "commits": [], "section": "服务器端语言 / PL/Python Server-Side Language", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.9.3", "source_hash": "aab0c1653c0b815e3cadeff14eee1bb0081aad5805082aea6ff17685c7927ac7", "section_path": ["服务器端语言", "PL/Python Server-Side Language"], "commit_groups": [], "identity_text": "Add PL/Python result object string handler (Peter Eisentraut) This allows plpy.debug(rv) to output something reasonable.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/078", "db_id": "22821db25015b14593f57a6eb15b6ca9", "patch_ids": [], "statement_hash": "0facfdae13221763cc075da58e83ee1560034ecb7a396b47b992aba3b70cbff1", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-242e2ae97c2620e5", "cves": [], "html": "<p>让 PL/Python 把 OID 值转换为合适的 Python 数值类型（Peter Eisentraut）</p>", "text": "让 PL/Python 把 OID 值转换为合适的 Python 数值类型（Peter Eisentraut）", "title": "让 PL/Python 把 OID 值转换为合适的 Python 数值类型", "commits": [], "section": "服务器端语言 / PL/Python Server-Side Language", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.9.3", "source_hash": "e9fc4941d7c64fbfc9001692f09fd98318ac61aa999aced165cde6d2c7a2512e", "section_path": ["服务器端语言", "PL/Python Server-Side Language"], "commit_groups": [], "identity_text": "Make PL/Python convert OID values to a proper Python numeric type (Peter Eisentraut)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/079", "db_id": "88b4b8afe7279bd20edaa52baed9f60c", "patch_ids": [], "statement_hash": "08de7411404a54ad775824109e2319164b49ad286dd32d94ae8847cabf260549", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-9c585ae33da46bcf", "cves": [], "html": "<p>把显式抛出（用 PL/Python 的 <code>RAISE</code>）的<a href=\"/docs/9.3/spi.html\" title=\"第 44 章 服务器编程接口\"><acronym>SPI</acronym></a> 错误与内部 <acronym>SPI</acronym> 错误同等处理（Oskari Saarenmaa、Jan Urbanski）</p>", "text": "把显式抛出（用 PL/Python 的 RAISE）的SPI 错误与内部 SPI 错误同等处理（Oskari Saarenmaa、Jan Urbanski）", "title": "把显式抛出（用 PL/Python 的 RAISE）的SPI 错误与内部 SPI 错误同等处理", "commits": [], "section": "服务器端语言 / PL/Python Server-Side Language", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.9.3", "source_hash": "b5e3d6be5008cd7093508414faee1e690593e4b7d98ccb126cc44bb159eeac66", "section_path": ["服务器端语言", "PL/Python Server-Side Language"], "commit_groups": [], "identity_text": "Handle SPI errors raised explicitly (with PL/Python's RAISE) the same as internal SPI errors (Oskari Saarenmaa and Jan Urbanski)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/080", "db_id": "0fd2357619cb79c3f1e38e5da9527475", "patch_ids": [], "statement_hash": "46f6db81e00d9f3d0c8ec124b47c3d2c6f19fc57d202c75361dc039959027fd6", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-79fb13b1a6ea567c", "cves": [], "html": "<p>防止子事务中止时 <acronym>SPI</acronym> 元组表的泄漏（Tom Lane）</p>\n<p>现在，任何失败的子事务结束时，SPI 核心代码会释放该子事务期间创建的所有 SPI 元组表。这免除了使用 SPI 的代码跟踪此类元组表并在错误恢复代码中手工释放它们的需要。此前未做到这一点曾导致 PL/pgSQL 或许还有其他 SPI 客户端中的若干事务级内存泄漏问题。<a href=\"/docs/9.3/spi-spi-freetupletable.html\" title=\"SPI_freetuptable\"><code>SPI_freetuptable()</code></a> 现在可以防止多次释放请求，因此现有的确做了清理的代码不会因这一变更而破坏。</p>", "text": "防止子事务中止时 SPI 元组表的泄漏（Tom Lane） 现在，任何失败的子事务结束时，SPI 核心代码会释放该子事务期间创建的所有 SPI 元组表。这免除了使用 SPI 的代码跟踪此类元组表并在错误恢复代码中手工释放它们的需要。此前未做到这一点曾导致 PL/pgSQL 或许还有其他 SPI 客户端中的若干事务级内存泄漏问题。SPI_freetuptable() 现在可以防止多次释放请求，因此现有的确做了清理的代码不会因这一变更而破坏。", "title": "防止子事务中止时 SPI 元组表的泄漏", "commits": [], "section": "Server Programming Interface (SPI)", "category": "bugfix", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.10", "source_hash": "ec1f4dc4b5bb0304276386b1601ea3940417f70faa36cbbca96c555d1e597b82", "section_path": ["Server Programming Interface (SPI)"], "commit_groups": [], "identity_text": "Prevent leakage of SPI tuple tables during subtransaction abort (Tom Lane) At the end of any failed subtransaction, the core SPI code now releases any SPI tuple tables that were created during that subtransaction. This avoids the need for SPI-using code to keep track of such tuple tables and release them manually in error-recovery code. Failure to do so caused a number of transaction-lifespan memory leakage issues in PL/pgSQL and perhaps other SPI clients. SPI_freetuptable() now protects itself against multiple freeing requests, so any existing code that did take care to clean up shouldn't be broken by this change.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/081", "db_id": "9a7fb89ddc23d5215b7d8e00d13f337f", "patch_ids": [], "statement_hash": "8dbad2d884ded94652e9da9dd03e5a9f54908e5044e2af381d2ef4566fd382c0", "relations": [], "version": "9.3.0", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-fe575b6084b42837", "cves": [], "html": "<p>允许 <acronym>SPI</acronym> 函数访问 <a href=\"/docs/9.3/sql-copy.html\" title=\"COPY\"><code>COPY</code></a> 处理的行数（Pavel Stehule）</p>", "text": "允许 SPI 函数访问 COPY 处理的行数（Pavel Stehule）", "title": "允许 SPI 函数访问 COPY 处理的行数", "commits": [], "section": "Server Programming Interface (SPI)", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.10", "source_hash": "a3c20d0d492f619f7e3cd0f357b1ee1d3eb1e29a8c24462af16f0509f9d59799", "section_path": ["Server Programming Interface (SPI)"], "commit_groups": [], "identity_text": "Allow SPI functions to access the number of rows processed by COPY (Pavel Stehule)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/082", "db_id": "ee5a8b812d355d132b6d03ee02c46896", "patch_ids": [], "statement_hash": "0cc3e84330d2f4fabc98830c303b949e8fd4d4a75e2d4fc124632b781a7eab00", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-4f561cd09ed422d8", "cves": [], "html": "<p>新增命令行工具<a href=\"/docs/9.3/app-pg-isready.html\" title=\"pg_isready\"><span>pg_isready</span></a>，用于检查服务器是否准备好接受连接（Phil Sorber）</p>", "text": "新增命令行工具pg_isready，用于检查服务器是否准备好接受连接（Phil Sorber）", "title": "新增命令行工具pg_isready，用于检查服务器是否准备好接受连接", "commits": [], "section": "客户端应用程序", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.11", "source_hash": "665cb88c66e3a9fc491a6708920fb7633c312d96ddb821abc1572909219371ff", "section_path": ["客户端应用程序"], "commit_groups": [], "identity_text": "Add command-line utility pg_isready to check if the server is ready to accept connections (Phil Sorber)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/083", "db_id": "0eaf4c0c000afd7bc6fbf74f53c07eec", "patch_ids": [], "statement_hash": "d32b5cacd924e81e06628af61d9bf825d0fec4e41f86e978c18c129cc134a2b8", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-f101e308108a554b", "cves": [], "html": "<p>支持为<a href=\"/docs/9.3/app-pgrestore.html\" title=\"pg_restore\"><span>pg_restore</span></a>、<a href=\"/docs/9.3/app-clusterdb.html\" title=\"clusterdb\"><span>clusterdb</span></a>、<a href=\"/docs/9.3/app-reindexdb.html\" title=\"reindexdb\"><span>reindexdb</span></a>和<a href=\"/docs/9.3/app-vacuumdb.html\" title=\"vacuumdb\"><span>vacuumdb</span></a>指定多个 <code>--table</code> 参数（Josh Kupershmidt）</p>\n<p>这与<a href=\"/docs/9.3/app-pgdump.html\" title=\"pg_dump\"><span>pg_dump</span></a>的 <code>--table</code> 选项的工作方式类似。</p>", "text": "支持为pg_restore、clusterdb、reindexdb和vacuumdb指定多个 --table 参数（Josh Kupershmidt） 这与pg_dump的 --table 选项的工作方式类似。", "title": "支持为pg_restore、clusterdb、reindexdb和vacuumdb指定多个 --table 参数", "commits": [], "section": "客户端应用程序", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.11", "source_hash": "2fa5f98804084b9866d50550379de52a049c262717fd48c264ac2f01715b6afb", "section_path": ["客户端应用程序"], "commit_groups": [], "identity_text": "Support multiple --table arguments for pg_restore, clusterdb, reindexdb, and vacuumdb (Josh Kupershmidt) This is similar to the way pg_dump's --table option works.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/084", "db_id": "f67e5b8d705de4fe7e6618ee9b5debba", "patch_ids": [], "statement_hash": "90488e5f2e0a6d89ed13e8155905a813feada26f0d4967c1cf6d6c073a200406", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-6de9572294fc0ff3", "cves": [], "html": "<p>为<a href=\"/docs/9.3/app-pg-dumpall.html\" title=\"pg_dumpall\"><span>pg_dumpall</span></a>、<a href=\"/docs/9.3/app-pgbasebackup.html\" title=\"pg_basebackup\"><span>pg_basebackup</span></a>和<a href=\"/docs/9.3/app-pgreceivexlog.html\" title=\"pg_receivexlog\"><span>pg_receivexlog</span></a>新增 <code>--dbname</code> 选项，用于指定连接串（Amit Kapila）</p>", "text": "为pg_dumpall、pg_basebackup和pg_receivexlog新增 --dbname 选项，用于指定连接串（Amit Kapila）", "title": "为pg_dumpall、pg_basebackup和pg_receivexlog新增 --dbname 选项，用于指定连接串", "commits": [], "section": "客户端应用程序", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.11", "source_hash": "b878402ba1058c50c6c34c3378a2579bd19d581bf7a8b772d07cdfd7d5a5015c", "section_path": ["客户端应用程序"], "commit_groups": [], "identity_text": "Add --dbname option to pg_dumpall, pg_basebackup, and pg_receivexlog to allow specifying a connection string (Amit Kapila)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/085", "db_id": "3bdfe55366322449751f85d2f9ceb4df", "patch_ids": [], "statement_hash": "2a46a8a7cc9be24699dc1e1a251c1a88611695ea27d47434b6ac79f523124d70", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-b588b511e9664094", "cves": [], "html": "<p>新增 libpq 函数 <a href=\"/docs/9.3/libpq.html#LIBPQ-PQCONNINFO\"><code>PQconninfo()</code></a>，用于返回连接信息（Zoltán Böszörményi、Magnus Hagander）</p>", "text": "新增 libpq 函数 PQconninfo()，用于返回连接信息（Zoltán Böszörményi、Magnus Hagander）", "title": "新增 libpq 函数 PQconninfo()，用于返回连接信息", "commits": [], "section": "客户端应用程序", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.11", "source_hash": "0c108a122b96603fae56e5a45d79dbabbe1c1a4b3910fa23a46ab7d5d3894cff", "section_path": ["客户端应用程序"], "commit_groups": [], "identity_text": "Add libpq function PQconninfo() to return connection information (Zoltán Böszörményi, Magnus Hagander)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/086", "db_id": "c6644cc65162f6a5a57a45d815982b5c", "patch_ids": [], "statement_hash": "27cf160e7a4b885bb46a1b30b8cd042f2083ee03b5c63bb85feb427e7c2e7789", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-c9a65576a177a73e", "cves": [], "html": "<p>调整函数代价设置，使 <span>psql</span> 的 Tab 补全和模式搜索更高效（Tom Lane）</p>", "text": "调整函数代价设置，使 psql 的 Tab 补全和模式搜索更高效（Tom Lane）", "title": "调整函数代价设置，使 psql 的 Tab 补全和模式搜索更高效", "commits": [], "section": "客户端应用程序 / psql", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.11.3", "source_hash": "0b657245ee3ff195e8c11dd69930a33040b7788dc2b70c50365d79fec254bdbf", "section_path": ["客户端应用程序", "psql"], "commit_groups": [], "identity_text": "Adjust function cost settings so psql tab completion and pattern searching are more efficient (Tom Lane)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/087", "db_id": "7f1d6d10439cba73a339bc9724284b7a", "patch_ids": [], "statement_hash": "adbf15a8614dad476bc94edae7d5e4a9120ec65c28d26cf3325ca7a66041ae4c", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-f472a60626f37ab1", "cves": [], "html": "<p>扩大 <span>psql</span> Tab 补全的覆盖范围（Jeff Janes、Dean Rasheed、Peter Eisentraut、Magnus Hagander）</p>", "text": "扩大 psql Tab 补全的覆盖范围（Jeff Janes、Dean Rasheed、Peter Eisentraut、Magnus Hagander）", "title": "扩大 psql Tab 补全的覆盖范围", "commits": [], "section": "客户端应用程序 / psql", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.11.3", "source_hash": "698c98e9b2496778817310f71ba082ad4cc0a1acde7da5b1509ed1cd4500ce59", "section_path": ["客户端应用程序", "psql"], "commit_groups": [], "identity_text": "Improve psql's tab completion coverage (Jeff Janes, Dean Rasheed, Peter Eisentraut, Magnus Hagander)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/088", "db_id": "c4498ee92931005eb23c899f5840be14", "patch_ids": [], "statement_hash": "efc5b8eec417d2d8c9905969160193614174a02bcc1968da90f7531c79e379e6", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-178f84e8c4f4e17d", "cves": [], "html": "<p>允许 <span>psql</span> 的 <code>--single-transaction</code> 模式在从标准输入读取时工作（Fabien Coelho、Robert Haas）</p>\n<p>此前此选项只在从文件读取时有效。</p>", "text": "允许 psql 的 --single-transaction 模式在从标准输入读取时工作（Fabien Coelho、Robert Haas） 此前此选项只在从文件读取时有效。", "title": "允许 psql 的 --single-transaction 模式在从标准输入读取时工作", "commits": [], "section": "客户端应用程序 / psql", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.11.3", "source_hash": "de07fe5e430f76ba53fff1c1fba60619b6599f375835f11f469827a5fc5b744c", "section_path": ["客户端应用程序", "psql"], "commit_groups": [], "identity_text": "Allow the psql --single-transaction mode to work when reading from standard input (Fabien Coelho, Robert Haas) Previously this option only worked when reading from a file.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/089", "db_id": "bceff64103aaa64e2fa46dab44c7cea1", "patch_ids": [], "statement_hash": "55fb8d132ea5fa6ac2aad469c51d279fa8a42151b8fcc159b1bbb9be20c17e28", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-c77d04abe4b5add1", "cves": [], "html": "<p>移除 <span>psql</span> 连接较旧服务器时的警告（Peter Eisentraut）</p>\n<p>当连接比 <span>psql</span> 更新的大版本的服务器时仍会发出警告。</p>", "text": "移除 psql 连接较旧服务器时的警告（Peter Eisentraut） 当连接比 psql 更新的大版本的服务器时仍会发出警告。", "title": "移除 psql 连接较旧服务器时的警告", "commits": [], "section": "客户端应用程序 / psql", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.11.3", "source_hash": "724f2765afb2b19e10291133bee66eb203549dc5107880268d019aada2dc213c", "section_path": ["客户端应用程序", "psql"], "commit_groups": [], "identity_text": "Remove psql warning when connecting to an older server (Peter Eisentraut) A warning is still issued when connecting to a server of a newer major version than psql's.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/090", "db_id": "b972e9183a669174fc49de85ede6e6a4", "patch_ids": [], "statement_hash": "090d2effcfa78b0992985317d340d9699f3411aa0f73476eccbaf76a54952419", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-211ebfd6831c714d", "cves": [], "html": "<p>新增 <span>psql</span> 命令 <code>\\watch</code>，用于重复执行 SQL 命令（Will Leinweber）</p>", "text": "新增 psql 命令 \\watch，用于重复执行 SQL 命令（Will Leinweber）", "title": "新增 psql 命令 \\watch，用于重复执行 SQL 命令", "commits": [], "section": "客户端应用程序 / psql / Backslash Commands", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.11.3.3", "source_hash": "b0cdcc73b0cd6ad65de0f9ba97b46c27a1c7c65bae5098d04d2a5d7426968391", "section_path": ["客户端应用程序", "psql", "Backslash Commands"], "commit_groups": [], "identity_text": "Add psql command \\watch to repeatedly execute a SQL command (Will Leinweber)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/091", "db_id": "05a9604f0b27cce96ed9f0fc6dc195f6", "patch_ids": [], "statement_hash": "7b6a8b2b2194864b5dc909029d1ed436067d6ce879cd4448bb568faa34db88a1", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-9b28969be0771c82", "cves": [], "html": "<p>新增 <span>psql</span> 命令 <code>\\gset</code>，用于把查询结果存入 <span>psql</span> 变量（Pavel Stehule）</p>", "text": "新增 psql 命令 \\gset，用于把查询结果存入 psql 变量（Pavel Stehule）", "title": "新增 psql 命令 \\gset，用于把查询结果存入 psql 变量", "commits": [], "section": "客户端应用程序 / psql / Backslash Commands", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.11.3.3", "source_hash": "2c94f1f2c722733aa42685df520ef8e59411728f3ee2f46bc23a3abee7c5872c", "section_path": ["客户端应用程序", "psql", "Backslash Commands"], "commit_groups": [], "identity_text": "Add psql command \\gset to store query results in psql variables (Pavel Stehule)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/092", "db_id": "ce765d07e973c77a95484d5e051218a8", "patch_ids": [], "statement_hash": "e491a2ded259c4044dffbaa657a3e0fc6fb35e31dcc8bacee10fd21773f1ee03", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-204e169841d0bc10", "cves": [], "html": "<p>在 <span>psql</span> 的 <code>\\conninfo</code> 命令中新增 <acronym>SSL</acronym> 信息（Alastair Turner）</p>", "text": "在 psql 的 \\conninfo 命令中新增 SSL 信息（Alastair Turner）", "title": "在 psql 的 \\conninfo 命令中新增 SSL 信息", "commits": [], "section": "客户端应用程序 / psql / Backslash Commands", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.11.3.3", "source_hash": "9c9cc9fac614a768fc0fddbf9722326f1fd689a376d39bbe9e34399d09dfc90e", "section_path": ["客户端应用程序", "psql", "Backslash Commands"], "commit_groups": [], "identity_text": "Add SSL information to psql's \\conninfo command (Alastair Turner)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/093", "db_id": "89f04e136879c538107e75b78646bed9", "patch_ids": [], "statement_hash": "ac02205911c14f30babb08981d3e6e8d8f00eb71bcefa1f221867d0aaf955944", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-0f28563e75220d4e", "cves": [], "html": "<p>在 <span>psql</span> 的 <code>\\df+</code> 输出中新增<span>“<span>Security</span>”</span>列（Jon Erdman）</p>", "text": "在 psql 的 \\df+ 输出中新增“Security”列（Jon Erdman）", "title": "在 psql 的 \\df+ 输出中新增“Security”列", "commits": [], "section": "客户端应用程序 / psql / Backslash Commands", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.11.3.3", "source_hash": "5da3457bcb1da040dc355911d6273b406bc13c5058950efdc4f8e407f5783bfb", "section_path": ["客户端应用程序", "psql", "Backslash Commands"], "commit_groups": [], "identity_text": "Add Security column to psql's \\df+ output (Jon Erdman)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/094", "db_id": "09e61eb9966718f6d77a596d7e2569d5", "patch_ids": [], "statement_hash": "bcb4063e086b9589c1eb0aef6c76b11eacb3ec1fd0f22a8f579d3073252dc490", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-82854e2fb808e762", "cves": [], "html": "<p>允许 <span>psql</span> 命令 <code>\\l</code> 接受数据库名模式（Peter Eisentraut）</p>", "text": "允许 psql 命令 \\l 接受数据库名模式（Peter Eisentraut）", "title": "允许 psql 命令 \\l 接受数据库名模式", "commits": [], "section": "客户端应用程序 / psql / Backslash Commands", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.11.3.3", "source_hash": "362928c74bc154f1b1a25f56d66000f94a4a0b963d81f5ee4635e7bb440ef240", "section_path": ["客户端应用程序", "psql", "Backslash Commands"], "commit_groups": [], "identity_text": "Allow psql command \\l to accept a database name pattern (Peter Eisentraut)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/095", "db_id": "3544a4b572c4576e74172ffff0a9fd56", "patch_ids": [], "statement_hash": "4589ffef1804d48fdef2cf96d24292463d357931fe28a9ca8098fe9e2b3daa50", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-68d5364bfa262997", "cves": [], "html": "<p>在 <span>psql</span> 中，如果没有活动连接，不允许 <code>\\connect</code> 使用默认值（Bruce Momjian）</p>\n<p>如果服务器曾崩溃，就可能出现这种情况。</p>", "text": "在 psql 中，如果没有活动连接，不允许 \\connect 使用默认值（Bruce Momjian） 如果服务器曾崩溃，就可能出现这种情况。", "title": "在 psql 中，如果没有活动连接，不允许 \\connect 使用默认值", "commits": [], "section": "客户端应用程序 / psql / Backslash Commands", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.11.3.3", "source_hash": "3235c140bd51cb9de896d46da6372ca1ec3d8ee91666757a684332e11a447785", "section_path": ["客户端应用程序", "psql", "Backslash Commands"], "commit_groups": [], "identity_text": "In psql, do not allow \\connect to use defaults if there is no active connection (Bruce Momjian) This might be the case if the server had crashed.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/096", "db_id": "ee99997bcdfc89860bef46dc2e284751", "patch_ids": [], "statement_hash": "f513f90cd17a83dd78e3d749273e34ca2f871755a6efb31f01b881e2721362e1", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-aac0d2f5292641a0", "cves": [], "html": "<p>修复用 <span>psql</span> 的 <code>\\g</code> <em><code>file</code></em> 执行的 SQL 命令失败后状态未正确重置的问题（Tom Lane）</p>\n<p>此前，后续 SQL 命令的输出会意外地继续写入同一文件。</p>", "text": "修复用 psql 的 \\g file 执行的 SQL 命令失败后状态未正确重置的问题（Tom Lane） 此前，后续 SQL 命令的输出会意外地继续写入同一文件。", "title": "修复用 psql 的 \\g file 执行的 SQL 命令失败后状态未正确重置的问题", "commits": [], "section": "客户端应用程序 / psql / Backslash Commands", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.11.3.3", "source_hash": "cae76b8f89273ed809590ccf12a8781a901b8f26e132fd446419e8ccda96c6af", "section_path": ["客户端应用程序", "psql", "Backslash Commands"], "commit_groups": [], "identity_text": "Properly reset state after failure of a SQL command executed with psql's \\g file (Tom Lane) Previously, the output from subsequent SQL commands would unexpectedly continue to go to the same file.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/097", "db_id": "254b9634511e5feffa03053dcbac2355", "patch_ids": [], "statement_hash": "be6bada342ad42aab684791ee5d149017d89ddd95b84799303c5fcdd7e818eda", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-629e9b0cba62a3fc", "cves": [], "html": "<p>为 <span>psql</span> 新增 <code>latex-longtable</code> 输出格式（Bruce Momjian）</p>\n<p>这种格式允许表格跨越多页。</p>", "text": "为 psql 新增 latex-longtable 输出格式（Bruce Momjian） 这种格式允许表格跨越多页。", "title": "为 psql 新增 latex-longtable 输出格式", "commits": [], "section": "客户端应用程序 / psql / 输出", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.11.3.4", "source_hash": "1650d6de7309ddb400c0ab3533c73ef834f40f794a165ac1ff99dc29c563d261", "section_path": ["客户端应用程序", "psql", "输出"], "commit_groups": [], "identity_text": "Add a latex-longtable output format to psql (Bruce Momjian) This format allows tables to span multiple pages.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/098", "db_id": "54a23d53126a7e7d289d25595e1d44d3", "patch_ids": [], "statement_hash": "7b7318ddc99c61345c0f769a585b4672259bf0dc4e2e4d05800d6e14ecc820a0", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-39266a3b592851ee", "cves": [], "html": "<p>为 <span>psql</span> 的 <code>latex</code> 格式新增 <code>border=3</code> 输出模式（Bruce Momjian）</p>", "text": "为 psql 的 latex 格式新增 border=3 输出模式（Bruce Momjian）", "title": "为 psql 的 latex 格式新增 border=3 输出模式", "commits": [], "section": "客户端应用程序 / psql / 输出", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.11.3.4", "source_hash": "525d331d057921f547367f74ebc8f599bac11d4e30a70cfb9ea550965d43f118", "section_path": ["客户端应用程序", "psql", "输出"], "commit_groups": [], "identity_text": "Add a border=3 output mode to the psql latex format (Bruce Momjian)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/099", "db_id": "a2dd3f8a953f76d39382c584f53a3a9b", "patch_ids": [], "statement_hash": "30ef9c882df19cf209c28352642a879858ca2abb56984facb5765bb068c7e293", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-b55ad120138d31f6", "cves": [], "html": "<p>在 <span>psql</span> 的只显示元组和扩展输出模式下，零行时不再输出<span>“<span>(No rows)</span>”</span>（Peter Eisentraut）</p>", "text": "在 psql 的只显示元组和扩展输出模式下，零行时不再输出“(No rows)”（Peter Eisentraut）", "title": "在 psql 的只显示元组和扩展输出模式下，零行时不再输出“(No rows)”", "commits": [], "section": "客户端应用程序 / psql / 输出", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.11.3.4", "source_hash": "3e0294ec03dc68974672f0d5327ff757168f6ec1a5a5920fa1f715de1816e7bd", "section_path": ["客户端应用程序", "psql", "输出"], "commit_groups": [], "identity_text": "In psql's tuples-only and expanded output modes, no longer emit (No rows) for zero rows (Peter Eisentraut)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/100", "db_id": "78634e5e7a1c2722854aa973984f508b", "patch_ids": [], "statement_hash": "182e569802367693572ee8543a5834e18f65a6d113db030ca45f217534b4cd10", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-ba29596eeaf529f1", "cves": [], "html": "<p>在 <span>psql</span> 的非对齐扩展输出模式下，零行时不再打印空行（Peter Eisentraut）</p>", "text": "在 psql 的非对齐扩展输出模式下，零行时不再打印空行（Peter Eisentraut）", "title": "在 psql 的非对齐扩展输出模式下，零行时不再打印空行", "commits": [], "section": "客户端应用程序 / psql / 输出", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.11.3.4", "source_hash": "b0e3387d0131f114c9727a2259736b1d297f5ce27eb0d1e48ebf7b154dae8df9", "section_path": ["客户端应用程序", "psql", "输出"], "commit_groups": [], "identity_text": "In psql's unaligned, expanded output mode, no longer print an empty line for zero rows (Peter Eisentraut)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/101", "db_id": "38044f06b26ae79bb7f9ed2e100c9661", "patch_ids": [], "statement_hash": "ceea91ace73810989f6d925c620287f3168dd481db429edda13ec7ae89425617", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-4a165203873d4ffa", "cves": [], "html": "<p>为 <span>pg_dump</span> 新增 <code>--jobs</code> 选项，用于并行转储表（Joachim Wieland）</p>", "text": "为 pg_dump 新增 --jobs 选项，用于并行转储表（Joachim Wieland）", "title": "为 pg_dump 新增 --jobs 选项，用于并行转储表", "commits": [], "section": "客户端应用程序 / pg_dump", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.11.4", "source_hash": "579d09df295f9e29c176e2f7ad96a31cc7d4a45472eb153cb354e3d1318bacbb", "section_path": ["客户端应用程序", "pg_dump"], "commit_groups": [], "identity_text": "Add pg_dump --jobs option to dump tables in parallel (Joachim Wieland)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/102", "db_id": "a42399785ad107b14b049ee68a17d997", "patch_ids": [], "statement_hash": "aedde0d030ccb030a1120a308cb8a722403759f6b58110a8d0e8d4ba7e3320f7", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-7e528bc7bc9fc932", "cves": [], "html": "<p>让 <span>pg_dump</span> 以更可预测的顺序输出函数（Joel Jacobson）</p>", "text": "让 pg_dump 以更可预测的顺序输出函数（Joel Jacobson）", "title": "让 pg_dump 以更可预测的顺序输出函数", "commits": [], "section": "客户端应用程序 / pg_dump", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.11.4", "source_hash": "adc5c37d661ac88fdfa0e12db290a48be327e8f7494fa517037566311273f56c", "section_path": ["客户端应用程序", "pg_dump"], "commit_groups": [], "identity_text": "Make pg_dump output functions in a more predictable order (Joel Jacobson)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/103", "db_id": "daba41edd9c698b068616e7115f1031b", "patch_ids": [], "statement_hash": "09ef02eb364e01c43c614be59bcb6956175d53c97dbe3cc9980f01aedb996acd", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-ffb32903e909cd82", "cves": [], "html": "<p>修复 <span>pg_dump</span> 生成的 tar 文件，使其符合 <acronym>POSIX</acronym>（Brian Weaver、Tom Lane）</p>", "text": "修复 pg_dump 生成的 tar 文件，使其符合 POSIX（Brian Weaver、Tom Lane）", "title": "修复 pg_dump 生成的 tar 文件，使其符合 POSIX", "commits": [], "section": "客户端应用程序 / pg_dump", "category": "bugfix", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.11.4", "source_hash": "c15ff84ad85b4a3864062fbda4ad20c47dcf3fec15e8c45d1ad23574dca37cd4", "section_path": ["客户端应用程序", "pg_dump"], "commit_groups": [], "identity_text": "Fix tar files emitted by pg_dump to be POSIX conformant (Brian Weaver, Tom Lane)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/104", "db_id": "55a73edba422d9342c50ae63c4cbcf2c", "patch_ids": [], "statement_hash": "e5dd8beb187c8ecbbf269546833024f5e52436b905da4631bff86db9330a71e9", "relations": [], "version": "9.3.0", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-38e6bd4e1a3e316b", "cves": [], "html": "<p>为 <span>pg_dump</span> 新增 <code>--dbname</code> 选项，以与其他客户端命令保持一致（Heikki Linnakangas）</p>\n<p>数据库名此前已可以不带标志放在最后提供。</p>", "text": "为 pg_dump 新增 --dbname 选项，以与其他客户端命令保持一致（Heikki Linnakangas） 数据库名此前已可以不带标志放在最后提供。", "title": "为 pg_dump 新增 --dbname 选项，以与其他客户端命令保持一致", "commits": [], "section": "客户端应用程序 / pg_dump", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.11.4", "source_hash": "8e9def7ed4b1dab8bb15ec05c5fcafe50f7dcbc3f61f5909bf17035c8bea67f9", "section_path": ["客户端应用程序", "pg_dump"], "commit_groups": [], "identity_text": "Add --dbname option to pg_dump, for consistency with other client commands (Heikki Linnakangas) The database name could already be supplied last without a flag.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/105", "db_id": "52b50aeb95881efa2a30e15b08ba6e36", "patch_ids": [], "statement_hash": "26ec1b4495793205c561dce62f001c7996ec8ec15bb3a64d1f9ff73cc3389293", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-20707b37aa488f30", "cves": [], "html": "<p>让 initdb 对新创建的数据目录执行 fsync（Jeff Davis）</p>\n<p>这确保 initdb 之后不久发生系统崩溃时的数据完整性。可以使用 <code>--nosync</code> 禁用。</p>", "text": "让 initdb 对新创建的数据目录执行 fsync（Jeff Davis） 这确保 initdb 之后不久发生系统崩溃时的数据完整性。可以使用 --nosync 禁用。", "title": "让 initdb 对新创建的数据目录执行 fsync", "commits": [], "section": "客户端应用程序 / initdb", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.11.5", "source_hash": "e996854e4d22dd595c3a1ab1dbaf1fc8e67a44d6555110fa18908e05012a0d4c", "section_path": ["客户端应用程序", "initdb"], "commit_groups": [], "identity_text": "Make initdb fsync the newly created data directory (Jeff Davis) This insures data integrity in event of a system crash shortly after initdb. This can be disabled by using --nosync.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/106", "db_id": "5b6f0be291d107470cbb28f6fe2392f2", "patch_ids": [], "statement_hash": "7103d05619b31582be6ec4ed7e4cf3bf72e9a461f31ec7c27a75ab1be4727af8", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-da003cb7aaecd622", "cves": [], "html": "<p>新增 initdb 的 <code>--sync-only</code> 选项，用于把数据目录同步到持久存储（Bruce Momjian）</p>\n<p>它被<a href=\"/docs/9.3/pgupgrade.html\" title=\"pg_upgrade\"><span>pg_upgrade</span></a>使用。</p>", "text": "新增 initdb 的 --sync-only 选项，用于把数据目录同步到持久存储（Bruce Momjian） 它被pg_upgrade使用。", "title": "新增 initdb 的 --sync-only 选项，用于把数据目录同步到持久存储", "commits": [], "section": "客户端应用程序 / initdb", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.11.5", "source_hash": "25715ca0a3fe403f25c1a9eaa404e6f81a7c14e6bfe79be68d3feabcbb80c711", "section_path": ["客户端应用程序", "initdb"], "commit_groups": [], "identity_text": "Add initdb --sync-only option to sync the data directory to durable storage (Bruce Momjian) This is used by pg_upgrade.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/107", "db_id": "88e76dc9a125c741143e45723336dfbb", "patch_ids": [], "statement_hash": "dac6ac87e0ea032633344839cdf4175571960c56288f0fd389f7def7b326ac48", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-bcd2163d729b86d0", "cves": [], "html": "<p>让 initdb 在数据目录被放在文件系统挂载点顶层时发出警告（Bruce Momjian）</p>", "text": "让 initdb 在数据目录被放在文件系统挂载点顶层时发出警告（Bruce Momjian）", "title": "让 initdb 在数据目录被放在文件系统挂载点顶层时发出警告", "commits": [], "section": "客户端应用程序 / initdb", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.11.5", "source_hash": "9abe7e2ef184408443c8271e7a3aa3382081b6a7b86f13d90e31c669304253d0", "section_path": ["客户端应用程序", "initdb"], "commit_groups": [], "identity_text": "Make initdb issue a warning about placing the data directory at the top of a file system mount point (Bruce Momjian)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/108", "db_id": "bfc213b4174f68d8aed9e6cd9f32e3c0", "patch_ids": [], "statement_hash": "5a11e9251ccb3c031aa57b21751e3aa6dc9225c6955f79df1f64a942accc1e16", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-47ea9b70165ce736", "cves": [], "html": "<p>新增允许插件式<a href=\"/docs/9.3/bgworker.html\" title=\"第 45 章 后台工作进程\">后台工作进程</a>的基础设施（Álvaro Herrera）</p>", "text": "新增允许插件式后台工作进程的基础设施（Álvaro Herrera）", "title": "新增允许插件式后台工作进程的基础设施", "commits": [], "section": "源代码", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.12", "source_hash": "20b471e3f869109f75f9d784669fcccd79d3fcf82c171c0098a6f916fdbb1236", "section_path": ["源代码"], "commit_groups": [], "identity_text": "Add infrastructure to allow plug-in background worker processes (Álvaro Herrera)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/109", "db_id": "15792967c5078a24793716531fc12bb6", "patch_ids": [], "statement_hash": "87d27110e2c6765f2a520238a07ef7576f4bc1184be886e99022a85cfe28918f", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-aa67a7ec5177509f", "cves": [], "html": "<p>创建集中化的超时 <acronym>API</acronym>（Zoltán Böszörményi）</p>", "text": "创建集中化的超时 API（Zoltán Böszörményi）", "title": "创建集中化的超时 API", "commits": [], "section": "源代码", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.12", "source_hash": "885ef14b356fdfb6ba85d33a16e341f8483aed894cdd0229dcd4d6bf3e6e79cb", "section_path": ["源代码"], "commit_groups": [], "identity_text": "Create a centralized timeout API (Zoltán Böszörményi)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/110", "db_id": "c17e13477600629c5f66bfb06f99f237", "patch_ids": [], "statement_hash": "daeb23df7aff5bd24998904a124a8907155b3fca444aa0e3fc750e0cfa92a815", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-9fb1d2d397803f91", "cves": [], "html": "<p>创建 libpgcommon，并把 <code>pg_malloc()</code> 等函数移到那里（Álvaro Herrera、Andres Freund）</p>\n<p>这使得 libpgport 可以只用于可移植性相关代码。</p>", "text": "创建 libpgcommon，并把 pg_malloc() 等函数移到那里（Álvaro Herrera、Andres Freund） 这使得 libpgport 可以只用于可移植性相关代码。", "title": "创建 libpgcommon，并把 pg_malloc() 等函数移到那里", "commits": [], "section": "源代码", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.12", "source_hash": "53dc57649b12f710c72fd5f9d0f6351573c03cbf9f2a3b86118a6d5f6128d14c", "section_path": ["源代码"], "commit_groups": [], "identity_text": "Create libpgcommon and move pg_malloc() and other functions there (Álvaro Herrera, Andres Freund) This allows libpgport to be used solely for portability-related code.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/111", "db_id": "ad35de3ae5106e53b546dcf673180acb", "patch_ids": [], "statement_hash": "5807f942987a38b4cadd80ff0198b2cd4de17b9ad60aed56db2394aff91c47dc", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-db2a00ec9de2ec8e", "cves": [], "html": "<p>新增对嵌入在更大结构体中的列表链接的支持（Andres Freund）</p>", "text": "新增对嵌入在更大结构体中的列表链接的支持（Andres Freund）", "title": "新增对嵌入在更大结构体中的列表链接的支持", "commits": [], "section": "源代码", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.12", "source_hash": "9abf6fda0503a7aff9733c496181aefe2ba06cca0cbde65bb97f7e692966c041", "section_path": ["源代码"], "commit_groups": [], "identity_text": "Add support for list links embedded in larger structs (Andres Freund)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/112", "db_id": "f905ae0518032770b2f16c035aba5e19", "patch_ids": [], "statement_hash": "732ead2b59b3a818c44cd95910866ac18955dbba80d2c3c9fd438426f3bbfd94", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-0c017cd6d9eacf78", "cves": [], "html": "<p>对所有信号（包括 <code>SIGALRM</code>）使用 <code>SA_RESTART</code>（Tom Lane）</p>", "text": "对所有信号（包括 SIGALRM）使用 SA_RESTART（Tom Lane）", "title": "对所有信号（包括 SIGALRM）使用 SA_RESTART", "commits": [], "section": "源代码", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.12", "source_hash": "3769bdef27d1fe6368d8764ee1ea5285e59429bad38b29f1fb07d5a3fc0106d0", "section_path": ["源代码"], "commit_groups": [], "identity_text": "Use SA_RESTART for all signals, including SIGALRM (Tom Lane)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/113", "db_id": "f89ee143ac169e4b28ddef18746b0c0a", "patch_ids": [], "statement_hash": "b0a4f8bb3843181fd601f3ff7d05d8682908f9d81b43ff1de01d4dd1b40ba029", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-dbc184572088d889", "cves": [], "html": "<p>确保翻译 <code>errcontext()</code> 消息时使用正确的文本域（Heikki Linnakangas）</p>", "text": "确保翻译 errcontext() 消息时使用正确的文本域（Heikki Linnakangas）", "title": "确保翻译 errcontext() 消息时使用正确的文本域", "commits": [], "section": "源代码", "category": "bugfix", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.12", "source_hash": "54b4c1f717355b79c450b779a3052f28b93dfe17dba70ed44fefe4afe4ca865e", "section_path": ["源代码"], "commit_groups": [], "identity_text": "Ensure that the correct text domain is used when translating errcontext() messages (Heikki Linnakangas)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/114", "db_id": "13b906ebff7de7730ebbf97d9b1d6ad9", "patch_ids": [], "statement_hash": "2f3a16574420b7ab316d8c515b5a0e33163214acdb60ef6eed49d91686947115", "relations": [], "version": "9.3.0", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-dc5cd8fee9edbfa8", "cves": [], "html": "<p>统一客户端内存分配函数的命名（Tom Lane）</p>", "text": "统一客户端内存分配函数的命名（Tom Lane）", "title": "统一客户端内存分配函数的命名", "commits": [], "section": "源代码", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.12", "source_hash": "105e64847ee61b8ee0a9f127cfa8b20652fe9edcd3a6133cd3d6ad37c94f5e60", "section_path": ["源代码"], "commit_groups": [], "identity_text": "Standardize naming of client-side memory allocation functions (Tom Lane)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/115", "db_id": "b83cec2970c4ce93292fa3c26f8a2140", "patch_ids": [], "statement_hash": "83d5f54f0f499697a51388c3a36f79cdfd54e32a1a8282b4ada26802f6e1f11c", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-b8cf8b30dcdee9b8", "cves": [], "html": "<p>新增对<span>“<span>静态断言</span>”</span>的支持：如果某个编译期常量条件不满足，将在编译时失败（Andres Freund、Tom Lane）</p>", "text": "新增对“静态断言”的支持：如果某个编译期常量条件不满足，将在编译时失败（Andres Freund、Tom Lane）", "title": "新增对“静态断言”的支持：如果某个编译期常量条件不满足，将在编译时失败", "commits": [], "section": "源代码", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.12", "source_hash": "90b36f1b4d5eca6d1ac3b7c5da2afdb2553449057e6da3392f1e8c59554219ec", "section_path": ["源代码"], "commit_groups": [], "identity_text": "Provide support for static assertions that will fail at compile time if some compile-time-constant condition is not met (Andres Freund, Tom Lane)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/116", "db_id": "df55323df9de65cd6cc31903f93ca45b", "patch_ids": [], "statement_hash": "8dfafedcfed4e840bfe9eb2f267d957df5c1d7d30519d2dd539d6019a60fe58a", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-17659d3867a037f3", "cves": [], "html": "<p>在客户端代码中支持 <code>Assert()</code>（Andrew Dunstan）</p>", "text": "在客户端代码中支持 Assert()（Andrew Dunstan）", "title": "在客户端代码中支持 Assert()", "commits": [], "section": "源代码", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.12", "source_hash": "2198ad8c5343584619ff5d62a20be3562772f31e2b93ee7acaa2da9a4124b034", "section_path": ["源代码"], "commit_groups": [], "identity_text": "Support Assert() in client-side code (Andrew Dunstan)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/117", "db_id": "1bab273ca0e20b7032a15c92b59460f2", "patch_ids": [], "statement_hash": "94f29fb86d9c94bfb6206a59340b4735313c238c79a84340f69b43b87212b2f9", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-f0875209e35cc00c", "cves": [], "html": "<p>新增修饰，告知 C 编译器某些 <code>ereport()</code> 和 <code>elog()</code> 调用不会返回（Peter Eisentraut、Andres Freund、Tom Lane、Heikki Linnakangas）</p>", "text": "新增修饰，告知 C 编译器某些 ereport() 和 elog() 调用不会返回（Peter Eisentraut、Andres Freund、Tom Lane、Heikki Linnakangas）", "title": "新增修饰，告知 C 编译器某些 ereport() 和 elog() 调用不会返回", "commits": [], "section": "源代码", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.12", "source_hash": "aaf3febddd3dfda39fd82013cbbb9524aaf749ebc22c1f2d1fc5d9591133bc92", "section_path": ["源代码"], "commit_groups": [], "identity_text": "Add decoration to inform the C compiler that some ereport() and elog() calls do not return (Peter Eisentraut, Andres Freund, Tom Lane, Heikki Linnakangas)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/118", "db_id": "9172d27963b5313f4230ea39c4542a6c", "patch_ids": [], "statement_hash": "c7c798697568f4f07848c315cfd76acf057fcfd3dc89baa0f622872a3fdb92d1", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-c15fda0bcc63af92", "cves": [], "html": "<p>允许通过 <a href=\"/docs/9.3/regress-evaluation.html\" title=\"30.2. 测试结果评估\"><code>PG_REGRESS_DIFF_OPTS</code></a> 向回归测试输出比较工具传递选项（Peter Eisentraut）</p>", "text": "允许通过 PG_REGRESS_DIFF_OPTS 向回归测试输出比较工具传递选项（Peter Eisentraut）", "title": "允许通过 PG_REGRESS_DIFF_OPTS 向回归测试输出比较工具传递选项", "commits": [], "section": "源代码", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.12", "source_hash": "2edec5e5fa990c87e76d167e6e754f08fca72ff9e5bcbfaacab28ad82e9acbba", "section_path": ["源代码"], "commit_groups": [], "identity_text": "Allow options to be passed to the regression test output comparison utility via PG_REGRESS_DIFF_OPTS (Peter Eisentraut)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/119", "db_id": "83f381c938f45fe34d83de449b833080", "patch_ids": [], "statement_hash": "2fd1c726818f0429e9e6a02b37f163c32e28fb9fb2088d7f8f6f07c51e172063", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-4f3419764693dc21", "cves": [], "html": "<p>为 <a href=\"/docs/9.3/sql-createindex.html\" title=\"CREATE INDEX\"><code>CREATE INDEX CONCURRENTLY</code></a> 新增隔离测试（Abhijit Menon-Sen）</p>", "text": "为 CREATE INDEX CONCURRENTLY 新增隔离测试（Abhijit Menon-Sen）", "title": "为 CREATE INDEX CONCURRENTLY 新增隔离测试", "commits": [], "section": "源代码", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.12", "source_hash": "5aa66147163fbadad1b3bf6c167285ce3661fc83a6ffac1fa4766ffebbfce80b", "section_path": ["源代码"], "commit_groups": [], "identity_text": "Add isolation tests for CREATE INDEX CONCURRENTLY (Abhijit Menon-Sen)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/120", "db_id": "4e33870b96b1bd3e3dfae844ca1ed791", "patch_ids": [], "statement_hash": "18932eb4efaaad6987efcbd73aa8ba1639d91534cabd5151e357767c097363e0", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-d5284f053dccb5ae", "cves": [], "html": "<p>移除 <code>int2</code>/<code>int4</code> 的 typedef，因为用 <code>int16</code>/<code>int32</code> 表示更好（Peter Eisentraut）</p>", "text": "移除 int2/int4 的 typedef，因为用 int16/int32 表示更好（Peter Eisentraut）", "title": "移除 int2/int4 的 typedef，因为用 int16/int32 表示更好", "commits": [], "section": "源代码", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.12", "source_hash": "df51ca94541a47cb733a2290d35549b4e432a2bc58d94afa157b35b632a700ef", "section_path": ["源代码"], "commit_groups": [], "identity_text": "Remove typedefs for int2/int4 as they are better represented as int16/int32 (Peter Eisentraut)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/121", "db_id": "b653629271714bc2e48bf8184efddf0d", "patch_ids": [], "statement_hash": "92afbd7309e8cf287aeecc56083918266329fc5c0f6a7b316d61feb3f196891c", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-de919be90f1e538b", "cves": [], "html": "<p>修复 Mac <span>OS X</span> 上的 <a href=\"/docs/9.3/install-procedure.html#INSTALL\" title=\"安装文件\">install-strip</a>（Peter Eisentraut）</p>", "text": "修复 Mac OS X 上的 install-strip（Peter Eisentraut）", "title": "修复 Mac OS X 上的 install-strip", "commits": [], "section": "源代码", "category": "bugfix", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.12", "source_hash": "4e3c9097253c895c222f0cea537751bb7e50a16fbe64e530f85f25892a8d584f", "section_path": ["源代码"], "commit_groups": [], "identity_text": "Fix install-strip on Mac OS X (Peter Eisentraut)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/122", "db_id": "8ca4f1d35bcb2f1e6cf018083deb2a23", "patch_ids": [], "statement_hash": "c0ebb4c836a7ce2ce5bf5484a01f14c968516bd9b340c2594a6b1577383a90ec", "relations": [], "version": "9.3.0", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-e95ae5e8b6788033", "cves": [], "html": "<p>移除 <a href=\"/docs/9.3/install-procedure.html#CONFIGURE\" title=\"配置\">configure</a> 标志 <code>--disable-shared</code>，因为它不再受支持（Bruce Momjian）</p>", "text": "移除 configure 标志 --disable-shared，因为它不再受支持（Bruce Momjian）", "title": "移除 configure 标志 --disable-shared，因为它不再受支持", "commits": [], "section": "源代码", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.12", "source_hash": "6ca0cde37308617cd03017281f241ccceb353a70ece627ae28a8c97a86a82c7d", "section_path": ["源代码"], "commit_groups": [], "identity_text": "Remove configure flag --disable-shared, as it is no longer supported (Bruce Momjian)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/123", "db_id": "9e560523b95f6aee57a31e492cf36548", "patch_ids": [], "statement_hash": "179353bf32dc936b6ee73776108f807f747ba13633e566da1b2543bcfd3970ab", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-4efc38723e723b9d", "cves": [], "html": "<p>用 <span>Perl</span> 重写 pgindent（Andrew Dunstan）</p>", "text": "用 Perl 重写 pgindent（Andrew Dunstan）", "title": "用 Perl 重写 pgindent", "commits": [], "section": "源代码", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.12", "source_hash": "3e7794dc3f5932df7d5317dd0b6147f83a7f4dd75c35e414c61684ad58dd01db", "section_path": ["源代码"], "commit_groups": [], "identity_text": "Rewrite pgindent in Perl (Andrew Dunstan)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/124", "db_id": "92141a325995012bb6b2c89866a0447a", "patch_ids": [], "statement_hash": "5981058d788ae756ec5a907e4eff637426d9a60f8934e9c81df201bb6285483f", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-16b6b7c60c23bd96", "cves": [], "html": "<p>提供 Emacs 宏，把 Perl 格式设置为与 <span>PostgreSQL</span> 的 perltidy 设置一致（Peter Eisentraut）</p>", "text": "提供 Emacs 宏，把 Perl 格式设置为与 PostgreSQL 的 perltidy 设置一致（Peter Eisentraut）", "title": "提供 Emacs 宏，把 Perl 格式设置为与 PostgreSQL 的 perltidy 设置一致", "commits": [], "section": "源代码", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.12", "source_hash": "2850c5ca24e032601b0da59f9d0c28f89f0a142833d91a191933b281e6451023", "section_path": ["源代码"], "commit_groups": [], "identity_text": "Provide Emacs macro to set Perl formatting to match PostgreSQL's perltidy settings (Peter Eisentraut)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/125", "db_id": "e677e52fc1a7e908506f79ac7e10d6f6", "patch_ids": [], "statement_hash": "3bd36a8af0b4c7bea80379fbf80ec56fcddca33acb2c796c4c442419dccbfeae", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-9d65a6e207dc7015", "cves": [], "html": "<p>每当后端文法被更改时，运行工具检查关键字列表（Tom Lane）</p>", "text": "每当后端文法被更改时，运行工具检查关键字列表（Tom Lane）", "title": "每当后端文法被更改时，运行工具检查关键字列表", "commits": [], "section": "源代码", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.12", "source_hash": "ae87af70a9c53ecc678c43c64218cbd37f658d2582d9b2db4c3c5f341ba201a5", "section_path": ["源代码"], "commit_groups": [], "identity_text": "Run tool to check the keyword list whenever the backend grammar is changed (Tom Lane)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/126", "db_id": "c4a4b9351a1c5eaf5adc516c16fd63c8", "patch_ids": [], "statement_hash": "9f795cb87394c92cf37ce7c6ce9c1a7cbc26dd69abc4e3500ebcb63347c27ae9", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-04693ef1ee15391c", "cves": [], "html": "<p>更改 <code>UESCAPE</code> 的词法分析方式，以大幅减小词法分析器表的大小（Heikki Linnakangas）</p>", "text": "更改 UESCAPE 的词法分析方式，以大幅减小词法分析器表的大小（Heikki Linnakangas）", "title": "更改 UESCAPE 的词法分析方式，以大幅减小词法分析器表的大小", "commits": [], "section": "源代码", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.12", "source_hash": "1c481ffbd2168d096067730a3e276946f951bdeef60b1dcf72ad27bca2a816ce", "section_path": ["源代码"], "commit_groups": [], "identity_text": "Change the way UESCAPE is lexed, to significantly reduce the size of the lexer tables (Heikki Linnakangas)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/127", "db_id": "02054b00b070e027d7f556b59fd85dc1", "patch_ids": [], "statement_hash": "d254d6c7d209fe6ee731a6748d9094dcdadfcfc3387fcf6b69231b89e6a546d9", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-16b4c6a0f509abbb", "cves": [], "html": "<p>集中化 <span>flex</span> 和 <span>bison</span> 的 <span>make</span> 规则（Peter Eisentraut）</p>\n<p>这对 <span>pgxs</span> 作者很有用。</p>", "text": "集中化 flex 和 bison 的 make 规则（Peter Eisentraut） 这对 pgxs 作者很有用。", "title": "集中化 flex 和 bison 的 make 规则", "commits": [], "section": "源代码", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.12", "source_hash": "d1359414a31888776cf9efa89f60ac0e9486e455b79dfc13d713e423d16cb75d", "section_path": ["源代码"], "commit_groups": [], "identity_text": "Centralize flex and bison make rules (Peter Eisentraut) This is useful for pgxs authors.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/128", "db_id": "f81e1b3f1aab4e28d47dfcd56896e1d0", "patch_ids": [], "statement_hash": "d8a16c20e974ccf6734096782f108259fe64b1e16196b79cf90b7ada139c6854", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-c75a931d4746334d", "cves": [], "html": "<p>把许多内部后端函数改为返回对象 <code>OID</code> 而不是 void（Dimitri Fontaine）</p>\n<p>这对事件触发器很有用。</p>", "text": "把许多内部后端函数改为返回对象 OID 而不是 void（Dimitri Fontaine） 这对事件触发器很有用。", "title": "把许多内部后端函数改为返回对象 OID 而不是 void", "commits": [], "section": "源代码", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.12", "source_hash": "ea01f022047f5859ee0229d815b1aba776938d40c8b06aaca207dd59e7585373", "section_path": ["源代码"], "commit_groups": [], "identity_text": "Change many internal backend functions to return object OIDs rather than void (Dimitri Fontaine) This is useful for event triggers.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/129", "db_id": "5def974891c3e1982c34ce528fcda9e3", "patch_ids": [], "statement_hash": "61c83ad93205088d960630e670aec2f6bfe037656be079ca4d1fe2d191ff5ca7", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-dac24826863d3b3c", "cves": [], "html": "<p>为事务回调新创 pre-commit/pre-prepare/pre-subcommit 事件（Tom Lane）</p>\n<p>使用事务回调的可加载模块可能需要修改以处理这些新的事件类型。</p>", "text": "为事务回调新创 pre-commit/pre-prepare/pre-subcommit 事件（Tom Lane） 使用事务回调的可加载模块可能需要修改以处理这些新的事件类型。", "title": "为事务回调新创 pre-commit/pre-prepare/pre-subcommit 事件", "commits": [], "section": "源代码", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.12", "source_hash": "4441bc1f30e19e9f79730ca342d3965c9625af8abe655842812b5508819c55bf", "section_path": ["源代码"], "commit_groups": [], "identity_text": "Invent pre-commit/pre-prepare/pre-subcommit events for transaction callbacks (Tom Lane) Loadable modules that use transaction callbacks might need modification to handle these new event types.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/130", "db_id": "6777a1a397ca02def1ccbe554dd2a8ac", "patch_ids": [], "statement_hash": "678c392511b74a3e2f3b8e126c95675972c749439eb365ac65a73cc84fbb0c4e", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-2a8bc2d6c035e3ff", "cves": [], "html": "<p>新增函数 <a href=\"/docs/9.3/functions-info.html#FUNCTIONS-INFO-CATALOG-TABLE\" title=\"表 9.55. 系统目录信息函数\"><code>pg_identify_object()</code></a>，用于生成数据库对象的机器可读描述（Álvaro Herrera）</p>", "text": "新增函数 pg_identify_object()，用于生成数据库对象的机器可读描述（Álvaro Herrera）", "title": "新增函数 pg_identify_object()，用于生成数据库对象的机器可读描述", "commits": [], "section": "源代码", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.12", "source_hash": "7f108e6be5d26adf0c316d64609efb51506269d94ee1c33e78fbdd83f7d96008", "section_path": ["源代码"], "commit_groups": [], "identity_text": "Add function pg_identify_object() to produce a machine-readable description of a database object (Álvaro Herrera)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/131", "db_id": "efd93fd34ee9dffda6184ec7827e59ac", "patch_ids": [], "statement_hash": "cfc2664fc199c42b70f6520a9e8a85570bb4ac1bfb2c9f7406a175e5e490ebd2", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-c0461fd5b11ae3c6", "cves": [], "html": "<p>新增对象 <code>ALTER</code> 之后的服务器钩子（KaiGai Kohei）</p>", "text": "新增对象 ALTER 之后的服务器钩子（KaiGai Kohei）", "title": "新增对象 ALTER 之后的服务器钩子", "commits": [], "section": "源代码", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.12", "source_hash": "8513ea0de91ad58aa831f33821f438aef99ee83204a13e550604a4422719a52b", "section_path": ["源代码"], "commit_groups": [], "identity_text": "Add post-ALTER-object server hooks (KaiGai Kohei)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/132", "db_id": "dc0aa4482c0c4659bd882978d034d328", "patch_ids": [], "statement_hash": "37856b64390a1532711dc2f563bf3380b5e93e2b669616754178c061c6e7b91c", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-de210a87a99c9643", "cves": [], "html": "<p>实现通用二叉堆，并将其用于 Merge-Append 操作（Abhijit Menon-Sen）</p>", "text": "实现通用二叉堆，并将其用于 Merge-Append 操作（Abhijit Menon-Sen）", "title": "实现通用二叉堆，并将其用于 Merge-Append 操作", "commits": [], "section": "源代码", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.12", "source_hash": "1d6d03a30513e32e63e2de8193edbb4a4ed419422fe11f3f064211e6b6a71d0d", "section_path": ["源代码"], "commit_groups": [], "identity_text": "Implement a generic binary heap and use it for Merge-Append operations (Abhijit Menon-Sen)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/133", "db_id": "06df031509a06126c04d24b868c70da0", "patch_ids": [], "statement_hash": "4ca603884d2e33833ff64d35a15cc4aa7a845f63703f953d2fd70b7c806ba748", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-f154696e059dc0bc", "cves": [], "html": "<p>提供工具，帮助在更新 <code>src/timezone/data</code> 文件时检测时区缩写变更（Tom Lane）</p>", "text": "提供工具，帮助在更新 src/timezone/data 文件时检测时区缩写变更（Tom Lane）", "title": "提供工具，帮助在更新 src/timezone/data 文件时检测时区缩写变更", "commits": [], "section": "源代码", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.12", "source_hash": "e0cfbcde2912ed466d7a44236308e9cf8eb46632c0f56956ae047799c569543b", "section_path": ["源代码"], "commit_groups": [], "identity_text": "Provide a tool to help detect timezone abbreviation changes when updating the src/timezone/data files (Tom Lane)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/134", "db_id": "f954c03e7d8f4dafecf255114afa2482", "patch_ids": [], "statement_hash": "cf24b46fccbbf8b0b543bd313dd9502696dab35d2e94e5037fedf41fcc74e953", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-c245002748bef552", "cves": [], "html": "<p>为 <span>libpq</span> 和 <span>ecpg</span> 库新增 <span>pkg-config</span> 支持（Peter Eisentraut）</p>", "text": "为 libpq 和 ecpg 库新增 pkg-config 支持（Peter Eisentraut）", "title": "为 libpq 和 ecpg 库新增 pkg-config 支持", "commits": [], "section": "源代码", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.12", "source_hash": "07e02090813b6273234325cc387d7d6fc419c4adf890d3792b494139c1173fb5", "section_path": ["源代码"], "commit_groups": [], "identity_text": "Add pkg-config support for libpq and ecpg libraries (Peter Eisentraut)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/135", "db_id": "673e2f6b9adef239dbac41052c94427a", "patch_ids": [], "statement_hash": "3f8db7fdd96efdf86c20b3f53d4457a733b557ae7a92e2e7ecb5b0f5c12c3538", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-b7474ba8fcb3a5f7", "cves": [], "html": "<p>移除 <code>src/tools/backend</code>，因为其内容已移至 <span>PostgreSQL</span> wiki（Bruce Momjian）</p>", "text": "移除 src/tools/backend，因为其内容已移至 PostgreSQL wiki（Bruce Momjian）", "title": "移除 src/tools/backend，因为其内容已移至 PostgreSQL wiki", "commits": [], "section": "源代码", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.12", "source_hash": "189f9645495d7fb0b9f592f2d1ea387dd59f08d0c399d3d79e0f87deb85c39c3", "section_path": ["源代码"], "commit_groups": [], "identity_text": "Remove src/tools/backend, now that the content is on the PostgreSQL wiki (Bruce Momjian)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/136", "db_id": "2b6b2ee7b339653ab18c4441840b2636", "patch_ids": [], "statement_hash": "583c694386f630201fd92475c558dacd5982f77968cf7e6d0e74930d0c41f833", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-f2702d7efe07cf89", "cves": [], "html": "<p>把 <a href=\"/docs/9.3/wal.html\" title=\"第 29 章 可靠性与预写式日志\"><acronym>WAL</acronym></a> 读取拆分为独立设施（Heikki Linnakangas、Andres Freund）</p>", "text": "把 WAL 读取拆分为独立设施（Heikki Linnakangas、Andres Freund）", "title": "把 WAL 读取拆分为独立设施", "commits": [], "section": "源代码", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.12", "source_hash": "68361866a465ea70a347ded4858871dc33d527e4ad4066a76496a8153ea849e5", "section_path": ["源代码"], "commit_groups": [], "identity_text": "Split out WAL reading as an independent facility (Heikki Linnakangas, Andres Freund)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/137", "db_id": "4c1a290968c5bb9dc7ffe021d6af71eb", "patch_ids": [], "statement_hash": "a194bf6952e457db6ad96fe33beb219edf3a4a74748aaeaa104a8d136b092a24", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-b5d7e08ff4484e1e", "cves": [], "html": "<p>用 64 位整数（<code>XLogRecPtr</code>）而不是两个 32 位整数表示 <a href=\"/docs/9.3/wal.html\" title=\"第 29 章 可靠性与预写式日志\"><acronym>WAL</acronym></a> 位置（Heikki Linnakangas）</p>\n<p>一般来说，需要读取 <acronym>WAL</acronym> 格式的工具都需要调整。</p>", "text": "用 64 位整数（XLogRecPtr）而不是两个 32 位整数表示 WAL 位置（Heikki Linnakangas） 一般来说，需要读取 WAL 格式的工具都需要调整。", "title": "用 64 位整数（XLogRecPtr）而不是两个 32 位整数表示 WAL 位置", "commits": [], "section": "源代码", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.12", "source_hash": "f00835ef9de9258d970dcedb6b4dceffe45bcd71a4ab1a436881e7e8daceb3d2", "section_path": ["源代码"], "commit_groups": [], "identity_text": "Use a 64-bit integer to represent WAL positions (XLogRecPtr) instead of two 32-bit integers (Heikki Linnakangas) Generally, tools that need to read the WAL format will need to be adjusted.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/138", "db_id": "78f2fe55283d235965df7cd32822c2ae", "patch_ids": [], "statement_hash": "db8725a77388b2ef197261c9c7327f0ffdc7d66e871f3bf4fe5634e88f9e0b9c", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-b477ceb7559baeb9", "cves": [], "html": "<p>允许 <a href=\"/docs/9.3/plpython.html\" title=\"第 43 章 PL/Python - Python 过程语言\">PL/Python</a> 支持平台特定的头文件目录（Peter Eisentraut）</p>", "text": "允许 PL/Python 支持平台特定的头文件目录（Peter Eisentraut）", "title": "允许 PL/Python 支持平台特定的头文件目录", "commits": [], "section": "源代码", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.12", "source_hash": "6ea85385766da3bade3b844e5f1dba869f71d187eafc410309239f01645dd3b9", "section_path": ["源代码"], "commit_groups": [], "identity_text": "Allow PL/Python to support platform-specific include directories (Peter Eisentraut)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/139", "db_id": "b50af788b353207fed0675bcdf73334b", "patch_ids": [], "statement_hash": "03490685044308dde55518c5c727fb5841970b40ae38c1d1e3396fa37051b5ad", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-f538ed6289c2c826", "cves": [], "html": "<p>允许 <span>OS X</span> 上的 <a href=\"/docs/9.3/plpython.html\" title=\"第 43 章 PL/Python - Python 过程语言\">PL/Python</a> 针对自定义版本的 <span>Python</span> 构建（Peter Eisentraut）</p>", "text": "允许 OS X 上的 PL/Python 针对自定义版本的 Python 构建（Peter Eisentraut）", "title": "允许 OS X 上的 PL/Python 针对自定义版本的 Python 构建", "commits": [], "section": "源代码", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.12", "source_hash": "a8e4bb10123d388b79b530726fc3385e75ba94ebf0eb7f4a4b361d2ea8f1a9e8", "section_path": ["源代码"], "commit_groups": [], "identity_text": "Allow PL/Python on OS X to build against custom versions of Python (Peter Eisentraut)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/140", "db_id": "c6d17fea9073c5b731fa8a75d34071a5", "patch_ids": [], "statement_hash": "cdb150840ffaf6a4b433b84f07328ecc314f30c1b191dc3157a26090a071ca82", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-3ce5af1340630ee3", "cves": [], "html": "<p>新增 <a href=\"/docs/9.3/postgres-fdw.html\" title=\"F.31. postgres_fdw\"><span>Postgres</span> 外部数据包装器</a> contrib 模块，用于访问其他 <span>Postgres</span> 服务器（Shigeru Hanada）</p>\n<p>这个外部数据包装器支持写入。</p>", "text": "新增 Postgres 外部数据包装器 contrib 模块，用于访问其他 Postgres 服务器（Shigeru Hanada） 这个外部数据包装器支持写入。", "title": "新增 Postgres 外部数据包装器 contrib 模块，用于访问其他 Postgres 服务器", "commits": [], "section": "附加模块", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.13", "source_hash": "7b43638668bccc75ce6255028928da3442853bcb370d174c6cd91c3fee396834", "section_path": ["附加模块"], "commit_groups": [], "identity_text": "Add a Postgres foreign data wrapper contrib module to allow access to other Postgres servers (Shigeru Hanada) This foreign data wrapper supports writes.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/141", "db_id": "d312256857869efb141d2330bd374286", "patch_ids": [], "statement_hash": "7b42e61a3f2c50076ce7672b2d50cf94ac34a9a801953e8f9c09ad6de4b713b6", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-e3e9232fae05bdf2", "cves": [], "html": "<p>新增 <a href=\"/docs/9.3/pgxlogdump.html\" title=\"pg_xlogdump\"><span>pg_xlogdump</span></a> contrib 程序（Andres Freund）</p>", "text": "新增 pg_xlogdump contrib 程序（Andres Freund）", "title": "新增 pg_xlogdump contrib 程序", "commits": [], "section": "附加模块", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.13", "source_hash": "791a0521eaf7b6bd51d17cdb305a4597e10264cce880cb7170ede5d2a9e45618", "section_path": ["附加模块"], "commit_groups": [], "identity_text": "Add pg_xlogdump contrib program (Andres Freund)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/142", "db_id": "a979f45ac99db5c7775e0be888cf413f", "patch_ids": [], "statement_hash": "084d718ed5e85851f2ed97b92e7ef1f73bb43f1dfd0461760670f9b8704e6f52", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-12ecd37533606a2c", "cves": [], "html": "<p>在 <a href=\"/docs/9.3/pgtrgm.html\" title=\"F.30. pg_trgm\"><span>pg_trgm</span></a> 中新增对正则表达式搜索索引的支持（Alexander Korotkov）</p>", "text": "在 pg_trgm 中新增对正则表达式搜索索引的支持（Alexander Korotkov）", "title": "在 pg_trgm 中新增对正则表达式搜索索引的支持", "commits": [], "section": "附加模块", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.13", "source_hash": "5536e014bd5922b478019a5bdaf75909f08d3aa20750d6d2850828a8fd1c6808", "section_path": ["附加模块"], "commit_groups": [], "identity_text": "Add support for indexing of regular-expression searches in pg_trgm (Alexander Korotkov)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/143", "db_id": "b9c9c11643622f69d15131c42c81d3eb", "patch_ids": [], "statement_hash": "716b876db48ad6a5cd185874c35204d32c30c5b3558587386eb21a5b77d25e50", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-ba7bbb23afe00d20", "cves": [], "html": "<p>改进 <a href=\"/docs/9.3/pgtrgm.html\" title=\"F.30. pg_trgm\"><span>pg_trgm</span></a> 对多字节字符的处理（Tom Lane）</p>\n<p>在没有 wcstombs() 或 towlower() 库函数的平台上，这可能导致 <span>pg_trgm</span> 索引中非 ASCII 数据的内容发生不兼容变更。在这种情况下，应对这些索引执行 <code>REINDEX</code> 以确保正确的搜索结果。</p>", "text": "改进 pg_trgm 对多字节字符的处理（Tom Lane） 在没有 wcstombs() 或 towlower() 库函数的平台上，这可能导致 pg_trgm 索引中非 ASCII 数据的内容发生不兼容变更。在这种情况下，应对这些索引执行 REINDEX 以确保正确的搜索结果。", "title": "改进 pg_trgm 对多字节字符的处理", "commits": [], "section": "附加模块", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.13", "source_hash": "1173d118e07f255d04c45fac8b1d0bbd012fa1c43b01b375501a2007f0e41133", "section_path": ["附加模块"], "commit_groups": [], "identity_text": "Improve pg_trgm's handling of multibyte characters (Tom Lane) On a platform that does not have the wcstombs() or towlower() library functions, this could result in an incompatible change in the contents of pg_trgm indexes for non-ASCII data. In such cases, REINDEX those indexes to ensure correct search results.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/144", "db_id": "34fdf76b40d696a5f65b6a4c7503cd5f", "patch_ids": [], "statement_hash": "5301427bd5dbb4cb9594afec751e14c2f439f17a92504696ee0c9eaac43716ef", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-888c90e6485df8c7", "cves": [], "html": "<p>为 <a href=\"/docs/9.3/pgstattuple.html\" title=\"F.29. pgstattuple — 获取元组级统计信息\">pgstattuple</a> 新增函数，用于报告 <acronym>GIN</acronym> 索引待处理插入列表的大小（Fujii Masao）</p>", "text": "为 pgstattuple 新增函数，用于报告 GIN 索引待处理插入列表的大小（Fujii Masao）", "title": "为 pgstattuple 新增函数，用于报告 GIN 索引待处理插入列表的大小", "commits": [], "section": "附加模块", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.13", "source_hash": "80bedde307d47c4893ff1782bdc7560604de4aa8ac429868f80a89f96d423ff1", "section_path": ["附加模块"], "commit_groups": [], "identity_text": "Add a pgstattuple function to report the size of the pending-insertions list of a GIN index (Fujii Masao)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/145", "db_id": "40b4b40424fd448bba8756299a8b0327", "patch_ids": [], "statement_hash": "f1c519c40d01c4b7688e576927c5df17d9544363c8d0c52187284a2b3ab91cb6", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-a89eb0ac9eaa7066", "cves": [], "html": "<p>让<a href=\"/docs/9.3/oid2name.html\" title=\"oid2name\"><span>oid2name</span></a>、<a href=\"/docs/9.3/pgbench.html\" title=\"pgbench\"><span>pgbench</span></a>和<a href=\"/docs/9.3/vacuumlo.html\" title=\"vacuumlo\"><span>vacuumlo</span></a>设置 <code>fallback_application_name</code>（Amit Kapila）</p>", "text": "让oid2name、pgbench和vacuumlo设置 fallback_application_name（Amit Kapila）", "title": "让oid2name、pgbench和vacuumlo设置 fallback_application_name", "commits": [], "section": "附加模块", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.13", "source_hash": "aa5c05368e71727da72c4f238e66f03c310b35dbabf79204d0a13db32bc25cfd", "section_path": ["附加模块"], "commit_groups": [], "identity_text": "Make oid2name, pgbench, and vacuumlo set fallback_application_name (Amit Kapila)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/146", "db_id": "7c769fc135f2116fcd75a9a88137c433", "patch_ids": [], "statement_hash": "f6ed314f8953671bcb8e2f444f710c23a8af0013ff2be10eaf0231849cf34b8c", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-c5088334fb3f07af", "cves": [], "html": "<p>改进<a href=\"/docs/9.3/pgtesttiming.html\" title=\"pg_test_timing\"><span>pg_test_timing</span></a>的输出（Bruce Momjian）</p>", "text": "改进pg_test_timing的输出（Bruce Momjian）", "title": "改进pg_test_timing的输出", "commits": [], "section": "附加模块", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.13", "source_hash": "b5705cd332998045581ba185a98e978c5c5905d4761adc9f139aeb24bb73b7d9", "section_path": ["附加模块"], "commit_groups": [], "identity_text": "Improve output of pg_test_timing (Bruce Momjian)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/147", "db_id": "e484f4070c766958e894219d8d23cffb", "patch_ids": [], "statement_hash": "60f4a13d321c75a9aa94aa768704d7c69a9a59c0cc31dba24bb33c84919accee", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-efe2360e497504de", "cves": [], "html": "<p>改进<a href=\"/docs/9.3/pgtestfsync.html\" title=\"pg_test_fsync\"><span>pg_test_fsync</span></a>的输出（Peter Geoghegan）</p>", "text": "改进pg_test_fsync的输出（Peter Geoghegan）", "title": "改进pg_test_fsync的输出", "commits": [], "section": "附加模块", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.13", "source_hash": "dfcf68c25d079488b155aa32ca603a2417833b3fc59cb9396da8c6b6a4aaa7c7", "section_path": ["附加模块"], "commit_groups": [], "identity_text": "Improve output of pg_test_fsync (Peter Geoghegan)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/148", "db_id": "f435c1ac359ab18a6ec6d17938f606f2", "patch_ids": [], "statement_hash": "feaf45c6e78c8c6e2121f15a8edc975a41209d8e14a0d6d13af5b1ae47c0a55c", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-f5c755ecf6e9a2f9", "cves": [], "html": "<p>为 <a href=\"/docs/9.3/dblink.html\" title=\"F.9. dblink\">dblink</a> 创建专用外部数据包装器，并带自己的选项验证函数（Shigeru Hanada）</p>\n<p>使用这个 FDW 定义 <span>dblink</span> 连接的目标时，不再使用硬编码的连接选项列表，而是查询底层 <span>libpq</span> 库以了解它支持哪些连接选项。</p>", "text": "为 dblink 创建专用外部数据包装器，并带自己的选项验证函数（Shigeru Hanada） 使用这个 FDW 定义 dblink 连接的目标时，不再使用硬编码的连接选项列表，而是查询底层 libpq 库以了解它支持哪些连接选项。", "title": "为 dblink 创建专用外部数据包装器，并带自己的选项验证函数", "commits": [], "section": "附加模块", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.13", "source_hash": "41fc346502519859c7e6cb4f1910bdcfcdebbefa49c1f3b9d0391c3c4c7c1346", "section_path": ["附加模块"], "commit_groups": [], "identity_text": "Create a dedicated foreign data wrapper, with its own option validator function, for dblink (Shigeru Hanada) When using this FDW to define the target of a dblink connection, instead of using a hard-wired list of connection options, the underlying libpq library is consulted to see what connection options it supports.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/149", "db_id": "f569eef6a2530d263b8969af199d0e2b", "patch_ids": [], "statement_hash": "303050be2a70640c7651477858d88ceb6b1bce7516a306b3d32851cfd20ad03e", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-c79ee29496fb9ffe", "cves": [], "html": "<p>允许 <span>pg_upgrade</span> 并行执行转储和恢复（Bruce Momjian、Andrew Dunstan）</p>\n<p>这允许并行转储/恢复数据库的模式，以及按表空间并行复制/链接数据文件。使用 <code>--jobs</code> 选项指定并行度。</p>", "text": "允许 pg_upgrade 并行执行转储和恢复（Bruce Momjian、Andrew Dunstan） 这允许并行转储/恢复数据库的模式，以及按表空间并行复制/链接数据文件。使用 --jobs 选项指定并行度。", "title": "允许 pg_upgrade 并行执行转储和恢复", "commits": [], "section": "附加模块 / pg_upgrade", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.13.3", "source_hash": "8ff6859d4dfbbe4df330cd3c75a2550dae750039223d20a4af78502bf6851ae2", "section_path": ["附加模块", "pg_upgrade"], "commit_groups": [], "identity_text": "Allow pg_upgrade to do dumps and restores in parallel (Bruce Momjian, Andrew Dunstan) This allows parallel schema dump/restore of databases, as well as parallel copy/link of data files per tablespace. Use the --jobs option to specify the level of parallelism.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/150", "db_id": "05ce6c2cc221595aa7ccbec95887a96d", "patch_ids": [], "statement_hash": "a545f2c915b3a26b2460ba4c7e5eed11f172e39367aa6e22b25c0ca74a2bf870", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-a9e7d194889ad366", "cves": [], "html": "<p>让 <span>pg_upgrade</span> 在当前目录中创建 Unix 域套接字（Bruce Momjian、Tom Lane）</p>\n<p>这降低了有人在升级期间意外连接的可能性。</p>", "text": "让 pg_upgrade 在当前目录中创建 Unix 域套接字（Bruce Momjian、Tom Lane） 这降低了有人在升级期间意外连接的可能性。", "title": "让 pg_upgrade 在当前目录中创建 Unix 域套接字", "commits": [], "section": "附加模块 / pg_upgrade", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.13.3", "source_hash": "7bae12c2e58d0556dec8b31ace54635617f781b9e2716b41a51d9809446941b1", "section_path": ["附加模块", "pg_upgrade"], "commit_groups": [], "identity_text": "Make pg_upgrade create Unix-domain sockets in the current directory (Bruce Momjian, Tom Lane) This reduces the possibility that someone will accidentally connect during the upgrade.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/151", "db_id": "c14a9295efc6b6922fcfb0285e167fbc", "patch_ids": [], "statement_hash": "f15acce93d62027b33931c1237e851df306e461316ac809eab30a820e7a59dcb", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-f4d27abc1e7de632", "cves": [], "html": "<p>让 <span>pg_upgrade</span> 的 <code>--check</code> 模式正确检测非默认套接字目录的位置（Bruce Momjian、Tom Lane）</p>", "text": "让 pg_upgrade 的 --check 模式正确检测非默认套接字目录的位置（Bruce Momjian、Tom Lane）", "title": "让 pg_upgrade 的 --check 模式正确检测非默认套接字目录的位置", "commits": [], "section": "附加模块 / pg_upgrade", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.13.3", "source_hash": "c5384b505ecd177f623d6a1af3f6b6bc3a167a9b0827267aeb1dd21b30028176", "section_path": ["附加模块", "pg_upgrade"], "commit_groups": [], "identity_text": "Make pg_upgrade --check mode properly detect the location of non-default socket directories (Bruce Momjian, Tom Lane)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/152", "db_id": "cd1b22c7005107f567d196689b4fd660", "patch_ids": [], "statement_hash": "b0d55fd68d41a4938e5d8c5f1a5cb26c279751f531cae4a897f06ebe400fe119", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-c2b86e4b4a1ecdba", "cves": [], "html": "<p>改进 <span>pg_upgrade</span> 在多表数据库下的性能（Bruce Momjian）</p>", "text": "改进 pg_upgrade 在多表数据库下的性能（Bruce Momjian）", "title": "改进 pg_upgrade 在多表数据库下的性能", "commits": [], "section": "附加模块 / pg_upgrade", "category": "performance", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.13.3", "source_hash": "684d8ab817036d78fdb2c423cd68d29669c106eda732459d200abd9c434ab557", "section_path": ["附加模块", "pg_upgrade"], "commit_groups": [], "identity_text": "Improve performance of pg_upgrade for databases with many tables (Bruce Momjian)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/153", "db_id": "0c17be42d4421d315a361b13fbc92bf3", "patch_ids": [], "statement_hash": "af767b90adf46210f750caf9c336ab929ed242c055d5a98fc81a48e75706fe84", "relations": [], "version": "9.3.0", "category_label": "性能改进", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-4c8ded2577bc676f", "cves": [], "html": "<p>通过显示已执行的命令来改进 <span>pg_upgrade</span> 的日志（Álvaro Herrera）</p>", "text": "通过显示已执行的命令来改进 pg_upgrade 的日志（Álvaro Herrera）", "title": "通过显示已执行的命令来改进 pg_upgrade 的日志", "commits": [], "section": "附加模块 / pg_upgrade", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.13.3", "source_hash": "0d66959d50ecb6e6e9a12a345880bb2af00060cfc61e832aaf15512dfddba4ad", "section_path": ["附加模块", "pg_upgrade"], "commit_groups": [], "identity_text": "Improve pg_upgrade's logs by showing executed commands (Álvaro Herrera)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/154", "db_id": "a46282274140c5264dccac324de87442", "patch_ids": [], "statement_hash": "5ec5cbb1fc87ffe00b86a59f558af5bea8af0ed3e79cfe752e109f274758a437", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-2bb5d3797c7849b5", "cves": [], "html": "<p>改进 <span>pg_upgrade</span> 复制/链接期间的状态显示（Bruce Momjian）</p>", "text": "改进 pg_upgrade 复制/链接期间的状态显示（Bruce Momjian）", "title": "改进 pg_upgrade 复制/链接期间的状态显示", "commits": [], "section": "附加模块 / pg_upgrade", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.13.3", "source_hash": "f045d2f1065f0af44424a8e3887515fe61044988527f0a39e37bc0decbbd674e", "section_path": ["附加模块", "pg_upgrade"], "commit_groups": [], "identity_text": "Improve pg_upgrade's status display during copy/link (Bruce Momjian)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/155", "db_id": "7e80fd8793179485d2f8acf0c598b48e", "patch_ids": [], "statement_hash": "d85ed56b84e346661441c7f571ea71eed12b9f3e65f1b5e515aaaa9c52f49b7d", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-6bc922235119380b", "cves": [], "html": "<p>为 <span>pgbench</span> 新增 <code>--foreign-keys</code> 选项（Jeff Janes）</p>\n<p>这会为 <span>pgbench</span> 创建的标准表添加外键约束，用于外键性能测试。</p>", "text": "为 pgbench 新增 --foreign-keys 选项（Jeff Janes） 这会为 pgbench 创建的标准表添加外键约束，用于外键性能测试。", "title": "为 pgbench 新增 --foreign-keys 选项", "commits": [], "section": "附加模块 / pgbench", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.13.4", "source_hash": "9fcee64c46f809c13ead14dda18f3c1911aa42a1f1102bf24c0d17f03b40a985", "section_path": ["附加模块", "pgbench"], "commit_groups": [], "identity_text": "Add --foreign-keys option to pgbench (Jeff Janes) This adds foreign key constraints to the standard tables created by pgbench, for use in foreign key performance testing.", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/156", "db_id": "b46927cd0a867cba138cb5c5c8dce6ef", "patch_ids": [], "statement_hash": "97d386f1c4f7a960d4b660998075c751a6e09893817a977408fc79e134247ba1", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-e07a0eab745f62f9", "cves": [], "html": "<p>允许 <span>pgbench</span> 聚合性能统计，并每 <code>--aggregate-interval</code> 秒生成一次输出（Tomas Vondra）</p>", "text": "允许 pgbench 聚合性能统计，并每 --aggregate-interval 秒生成一次输出（Tomas Vondra）", "title": "允许 pgbench 聚合性能统计，并每 --aggregate-interval 秒生成一次输出", "commits": [], "section": "附加模块 / pgbench", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.13.4", "source_hash": "7159544d7f17a7516c7120b7705d86d17afb754a61e6789649a78426bd3b3015", "section_path": ["附加模块", "pgbench"], "commit_groups": [], "identity_text": "Allow pgbench to aggregate performance statistics and produce output every --aggregate-interval seconds (Tomas Vondra)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/157", "db_id": "2833a0aabd6261b7fe58d9de6d2d062b", "patch_ids": [], "statement_hash": "e3aa537957207090683efaea6a1d30bbf74231cfea0f0a991e300077577f7c06", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-b13708bec5c19bb0", "cves": [], "html": "<p>为 <span>pgbench</span> 新增 <code>--sampling-rate</code> 选项，用于控制记录日志的事务百分比（Tomas Vondra）</p>", "text": "为 pgbench 新增 --sampling-rate 选项，用于控制记录日志的事务百分比（Tomas Vondra）", "title": "为 pgbench 新增 --sampling-rate 选项，用于控制记录日志的事务百分比", "commits": [], "section": "附加模块 / pgbench", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.13.4", "source_hash": "91ca44ec0845857150e4e3d752d806fbf545057dbe25079aa100291204fb4571", "section_path": ["附加模块", "pgbench"], "commit_groups": [], "identity_text": "Add pgbench --sampling-rate option to control the percentage of transactions logged (Tomas Vondra)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/158", "db_id": "0f0073245cdfe7713794e22bd10fb32f", "patch_ids": [], "statement_hash": "113c08b7595302724bd4a8f4b986e8c71f7be7125e046714bfde8247cf3475ff", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-8fa65add87d7c1b7", "cves": [], "html": "<p>精简并改进 <span>pgbench</span> 初始化模式的状态消息输出（Robert Haas、Peter Eisentraut）</p>", "text": "精简并改进 pgbench 初始化模式的状态消息输出（Robert Haas、Peter Eisentraut）", "title": "精简并改进 pgbench 初始化模式的状态消息输出", "commits": [], "section": "附加模块 / pgbench", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.13.4", "source_hash": "33cbdc87dbce964ff97f722a63cd6911e7d7e31a9d3f3fa68de98c5065ae822d", "section_path": ["附加模块", "pgbench"], "commit_groups": [], "identity_text": "Reduce and improve the status message output of pgbench's initialization mode (Robert Haas, Peter Eisentraut)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/159", "db_id": "3af45419d318dd2a97d85532dd0a9cf0", "patch_ids": [], "statement_hash": "1e9493a5de723e1dd79d98c43cca74f1097091411c690fa925294c7b84ce392b", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-e697c1d4229eefe0", "cves": [], "html": "<p>为 <span>pgbench</span> 新增 <code>-q</code> 模式，每五秒打印一行输出（Tomas Vondra）</p>", "text": "为 pgbench 新增 -q 模式，每五秒打印一行输出（Tomas Vondra）", "title": "为 pgbench 新增 -q 模式，每五秒打印一行输出", "commits": [], "section": "附加模块 / pgbench", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.13.4", "source_hash": "12eeaa286a8fba837088cc0a91ad1a856d042fdc80793859236ecbd9d1094438", "section_path": ["附加模块", "pgbench"], "commit_groups": [], "identity_text": "Add pgbench -q mode to print one output line every five seconds (Tomas Vondra)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/160", "db_id": "e97e90f0c87a8900e2bae546bfc2044a", "patch_ids": [], "statement_hash": "5bd6a3d09cf35ff10b8e10ec76c65ad577b607eb3b5010229242e9e4027fda73", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-ddbf0bdd7bc4550b", "cves": [], "html": "<p>在初始化期间输出 <span>pgbench</span> 的已用时间和预计剩余时间（Tomas Vondra）</p>", "text": "在初始化期间输出 pgbench 的已用时间和预计剩余时间（Tomas Vondra）", "title": "在初始化期间输出 pgbench 的已用时间和预计剩余时间", "commits": [], "section": "附加模块 / pgbench", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.13.4", "source_hash": "a6dfe17914d93362f2384c184af157ab3315e63ee1e4bd388c96ddb3f0a61958", "section_path": ["附加模块", "pgbench"], "commit_groups": [], "identity_text": "Output pgbench elapsed and estimated remaining time during initialization (Tomas Vondra)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/161", "db_id": "93812c53fe958ab21ca1702c996e6a78", "patch_ids": [], "statement_hash": "8375170c1073b538b375e69f876c056f68cb62239aa5a4ee020a9994615338a3", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-501a3cf4f8cb697f", "cves": [], "html": "<p>允许 <span>pgbench</span> 使用大得多的缩放因子：当请求的缩放因子超过 20000 时，把相关列从 <code>integer</code> 改为 <code>bigint</code>（Greg Smith）</p>", "text": "允许 pgbench 使用大得多的缩放因子：当请求的缩放因子超过 20000 时，把相关列从 integer 改为 bigint（Greg Smith）", "title": "允许 pgbench 使用大得多的缩放因子：当请求的缩放因子超过 20000 时，把相关列从 integer 改为 bigint", "commits": [], "section": "附加模块 / pgbench", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.13.4", "source_hash": "e8423a7b94482015bc49899abaafd1d2224bb8225bc90407fe21ecb778692cc8", "section_path": ["附加模块", "pgbench"], "commit_groups": [], "identity_text": "Allow pgbench to use much larger scale factors, by changing relevant columns from integer to bigint when the requested scale factor exceeds 20000 (Greg Smith)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/162", "db_id": "45bc1202cbd463509c498cd27f81f3da", "patch_ids": [], "statement_hash": "c30f55ab8ba362937e8ff4c14ac051c25d370c0000ccec70081bcb830d0a9677", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-290a84dc28e5be0c", "cves": [], "html": "<p>允许创建 <span>EPUB</span> 格式的文档（Peter Eisentraut）</p>", "text": "允许创建 EPUB 格式的文档（Peter Eisentraut）", "title": "允许创建 EPUB 格式的文档", "commits": [], "section": "文档", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.14", "source_hash": "cfd031bfccaa687456f2d281f02c96d28a2fcb60eafea820f8a1036b2f8a9d3f", "section_path": ["文档"], "commit_groups": [], "identity_text": "Allow EPUB-format documentation to be created (Peter Eisentraut)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/163", "db_id": "1ba9c824dcca5f707eb9a3e636466bd2", "patch_ids": [], "statement_hash": "1b0ea18d1870b7c039358c5b01ce6fbe8b0f9a33f959c4c3026e5309078ace4b", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-0b8dce632446b1c4", "cves": [], "html": "<p>更新 <span>FreeBSD</span> 内核配置文档（Brad Davis）</p>", "text": "更新 FreeBSD 内核配置文档（Brad Davis）", "title": "更新 FreeBSD 内核配置文档", "commits": [], "section": "文档", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.14", "source_hash": "22aa6381937d44d2427ae73f6c2dec2fd38e36a85acb0c0db35d112223c4469c", "section_path": ["文档"], "commit_groups": [], "identity_text": "Update FreeBSD kernel configuration documentation (Brad Davis)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/164", "db_id": "2e2e5b8bb10986fcfd9569ef98b49dac", "patch_ids": [], "statement_hash": "0f9f13dcf6b0ca56efcf13bef10c81cef0985a0d0b1532a1932976a1b17f8537", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-89c16e04611ff31f", "cves": [], "html": "<p>改进<a href=\"/docs/9.3/tutorial-window.html\" title=\"3.5. 窗口函数\"><code>WINDOW</code> 函数</a>的文档（Bruce Momjian、Florian Pflug）</p>", "text": "改进WINDOW 函数的文档（Bruce Momjian、Florian Pflug）", "title": "改进WINDOW 函数的文档", "commits": [], "section": "文档", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.14", "source_hash": "e0d28a24102c0641ff891537045a8b6470bbe8d20340609dcce972ff1aa2b7f2", "section_path": ["文档"], "commit_groups": [], "identity_text": "Improve WINDOW function documentation (Bruce Momjian, Florian Pflug)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/165", "db_id": "a1ce2a69a3078711c5fb744d739142ef", "patch_ids": [], "statement_hash": "310ff2eb89516e2876f00d58852629531523da829168bf48f9c22a640507c50a", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-1b347e7b5eee9afe", "cves": [], "html": "<p>新增在 <span>macOS</span> 上搭建文档工具链的<a href=\"/docs/9.3/docguide-toolsets.html\" title=\"J.2. 工具集\">说明</a>（Peter Eisentraut）</p>", "text": "新增在 macOS 上搭建文档工具链的说明（Peter Eisentraut）", "title": "新增在 macOS 上搭建文档工具链的说明", "commits": [], "section": "文档", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.14", "source_hash": "da663b07d2a23f9ad44d248c48b01b09ae9e5bd74a19afb975775b96e3e2dfb3", "section_path": ["文档"], "commit_groups": [], "identity_text": "Add instructions for setting up the documentation tool chain on macOS (Peter Eisentraut)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/166", "db_id": "8becde451eca6edfb202359e7449adb6", "patch_ids": [], "statement_hash": "ab365dee6c2e020ab5f557ab99e92fd1e120104b2e20501ca493540cea392696", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.3.0-79025f3f8dac2d69", "cves": [], "html": "<p>改进 <a href=\"/docs/9.3/runtime-config-wal.html#GUC-COMMIT-DELAY\"><code>commit_delay</code></a> 的文档（Peter Geoghegan）</p>", "text": "改进 commit_delay 的文档（Peter Geoghegan）", "title": "改进 commit_delay 的文档", "commits": [], "section": "文档", "category": "feature", "source_url": "/docs/release/9.3.0/#id-1.11.6.30.5.14", "source_hash": "cfac7ce6358fe1dcf227a47e80cfe7908b3e1d522c917b8c0f4cb3bd8a8cb22f", "section_path": ["文档"], "commit_groups": [], "identity_text": "Improve commit_delay documentation (Peter Geoghegan)", "commit_aliases": [], "source_commits": [], "source_entry_id": "9.3.0/changes/167", "db_id": "fb71d25ea2b2204ca496171ff4d82cd6", "patch_ids": [], "statement_hash": "a9645b36b9235e80733991d722bf00f5e64aff5afe6180439bff0af8365684bc", "relations": [], "version": "9.3.0", "category_label": "新功能", "also_in": [], "variants": [], "related_changes": []}]}], "stats": [{"key": "all", "label": "全部变更", "count": 177}, {"key": "feature", "label": "新功能", "count": 148}, {"key": "bugfix", "label": "BUG 修复", "count": 6}, {"key": "security", "label": "安全相关", "count": 0}, {"key": "performance", "label": "性能改进", "count": 13}, {"key": "compatibility", "label": "兼容性变化", "count": 10}, {"key": "improvement", "label": "其他改进", "count": 0}], "total": 177, "release_count": 1, "cross_major": false, "cve_count": 0, "cves": [], "cve_available": true, "remaining_cves": [], "security_regressions": [], "warnings": [], "candidate_count": 177, "already_in_source_count": 0, "duplicate_count": 0, "excluded_count": 0, "exclusions": [], "source_as_of": "2026-09-26", "security_as_of": "2026-09-26"}