{"already_in_source_count":0,"candidate_count":42,"cross_major":false,"cve_available":true,"cve_count":0,"cves":[],"duplicate_count":0,"excluded_count":0,"exclusions":[],"from_release":null,"groups":[{"age_days":5778,"build":"9.0.2","changes_count":42,"compatibility_count":0,"content_hash":"74d2219c591db7824c1cdf20cea79a39f64bbc2735e18896281b8550deaf7ea0","date":"2010-12-16","date_text":"2010-12-16","doc_git":"","doc_loaded_at":"2026-09-26T02:56:48.570247","entries":[{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":[],"commit_groups":[],"commits":[],"cves":[],"db_id":"93d301488fb125ac7a34020db3ce88ef","html":"\u003cp\u003e强制 Linux 上的默认 \u003ca href=\"/docs/9.0/runtime-config-wal.html#GUC-WAL-SYNC-METHOD\"\u003e\u003ccode\u003ewal_sync_method\u003c/code\u003e\u003c/a\u003e 为 \u003ccode\u003efdatasync\u003c/code\u003e（Tom Lane、Marti Raudsepp）\u003c/p\u003e\n\u003cp\u003eLinux 上的默认值实际上多年来一直是 \u003ccode\u003efdatasync\u003c/code\u003e，但最近的内核变更导致 \u003cspan\u003ePostgreSQL\u003c/span\u003e 改选 \u003ccode\u003eopen_datasync\u003c/code\u003e。这一选择没有带来任何性能改进，反而在某些文件系统（特别是使用 \u003ccode\u003edata=journal\u003c/code\u003e 挂载选项的 \u003ccode\u003eext4\u003c/code\u003e）上导致彻底失败。\u003c/p\u003e","id":"9.0.2-8d507d44af5ad2de","identity_text":"Force the default wal_sync_method to be fdatasync on Linux (Tom Lane, Marti Raudsepp) The default on Linux has actually been fdatasync for many years, but recent kernel changes caused PostgreSQL to choose open_datasync instead. This choice did not result in any performance improvement, and caused outright failures on certain filesystems, notably ext4 with the data=journal mount option.","part":"changes","patch_ids":[],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":[],"source_entry_id":"9.0.2/changes/001","source_hash":"ee2b55ff589022ba8af9416f4c80719b1829f941c1b7ea8ce26cbfa5f9765431","source_url":"/docs/release/9.0.2/#id-1.11.6.26.5","statement_hash":"608b4ef667312ab6b50f4f61b11cc5a13d04f1dd299e885f754ae809486f04de","text":"强制 Linux 上的默认 wal_sync_method 为 fdatasync（Tom Lane、Marti Raudsepp） Linux 上的默认值实际上多年来一直是 fdatasync，但最近的内核变更导致 PostgreSQL 改选 open_datasync。这一选择没有带来任何性能改进，反而在某些文件系统（特别是使用 data=journal 挂载选项的 ext4）上导致彻底失败。","title":"强制 Linux 上的默认 wal_sync_method 为 fdatasync","variants":[],"version":"9.0.2"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":[],"commit_groups":[],"commits":[],"cves":[],"db_id":"f1697701e87c0b4c41c0abc14a1bda44","html":"\u003cp\u003e修复热备重放期间的 \u003cspan\u003e“\u003cspan\u003etoo many KnownAssignedXids\u003c/span\u003e”\u003c/span\u003e 错误（Heikki Linnakangas）\u003c/p\u003e","id":"9.0.2-ee341b9eaa6a2f36","identity_text":"Fix too many KnownAssignedXids error during Hot Standby replay (Heikki Linnakangas)","part":"changes","patch_ids":[],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":[],"source_entry_id":"9.0.2/changes/002","source_hash":"341611f99a3b78a339dd8c64bf7a9c8f3222342dc421f741a3d98f8c095b2eda","source_url":"/docs/release/9.0.2/#id-1.11.6.26.5","statement_hash":"bc0dc120091e35d011498e5af3419ec29fda2d51f375e704a8f773c0d97e39c5","text":"修复热备重放期间的 “too many KnownAssignedXids” 错误（Heikki Linnakangas）","title":"修复热备重放期间的 “too many KnownAssignedXids” 错误","variants":[],"version":"9.0.2"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":[],"commit_groups":[],"commits":[],"cves":[],"db_id":"5fdb06cb9620d7f0e13e888df230f619","html":"\u003cp\u003e修复热备期间锁获取中的竞态条件（Simon Riggs）\u003c/p\u003e","id":"9.0.2-3979ca633a4a1844","identity_text":"Fix race condition in lock acquisition during Hot Standby (Simon Riggs)","part":"changes","patch_ids":[],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":[],"source_entry_id":"9.0.2/changes/003","source_hash":"07dcea70770d22d29cf47c90965a7342490f600b41072a5203e923e66537f914","source_url":"/docs/release/9.0.2/#id-1.11.6.26.5","statement_hash":"6ec2c9f8db734a5e0d1aae4a42a77e421ab757f85d1ec6deec513b166505148d","text":"修复热备期间锁获取中的竞态条件（Simon Riggs）","title":"修复热备期间锁获取中的竞态条件","variants":[],"version":"9.0.2"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":[],"commit_groups":[],"commits":[],"cves":[],"db_id":"d9811dd344bfcca6c0fb7cf3e4680308","html":"\u003cp\u003e避免热备期间不必要的冲突（Simon Riggs）\u003c/p\u003e\n\u003cp\u003e这修复了一些重放被认为与备库查询冲突（导致重放延迟或可能取消查询）但实际上并不存在真正冲突的情况。\u003c/p\u003e","id":"9.0.2-8ae46a5ddae45b74","identity_text":"Avoid unnecessary conflicts during Hot Standby (Simon Riggs) This fixes some cases where replay was considered to conflict with standby queries (causing delay of replay or possibly cancellation of the queries), but there was no real conflict.","part":"changes","patch_ids":[],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":[],"source_entry_id":"9.0.2/changes/004","source_hash":"ebf3aa392a32b83b337a979681bb0528bccc6246593ff3ca66cccad6c4a8fe49","source_url":"/docs/release/9.0.2/#id-1.11.6.26.5","statement_hash":"cd2ce58b30dbbbbb00f7df5e13d43a323acb8616a859bd458cc2821ba17f4b8e","text":"避免热备期间不必要的冲突（Simon Riggs） 这修复了一些重放被认为与备库查询冲突（导致重放延迟或可能取消查询）但实际上并不存在真正冲突的情况。","title":"避免热备期间不必要的冲突","variants":[],"version":"9.0.2"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":[],"commit_groups":[],"commits":[],"cves":[],"db_id":"edd6115c947e48657925129caeab1881","html":"\u003cp\u003e修复 GIN 索引 WAL 重放逻辑中的若干缺陷（Tom Lane）\u003c/p\u003e\n\u003cp\u003e这可能导致复制期间的 \u003cspan\u003e“\u003cspan\u003ebad buffer id: 0\u003c/span\u003e”\u003c/span\u003e 失败或索引内容损坏。\u003c/p\u003e","id":"9.0.2-e5fa1d98be7f75dd","identity_text":"Fix assorted bugs in WAL replay logic for GIN indexes (Tom Lane) This could result in bad buffer id: 0 failures or corruption of index contents during replication.","part":"changes","patch_ids":[],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":[],"source_entry_id":"9.0.2/changes/005","source_hash":"2b9e57fbedcab283c28b6526bfd65355616a6f7c87365caebc8634c937df7306","source_url":"/docs/release/9.0.2/#id-1.11.6.26.5","statement_hash":"b786728336e1aa8b4322f52df47a737eee9d644353a60b8ae31db8902b43b267","text":"修复 GIN 索引 WAL 重放逻辑中的若干缺陷（Tom Lane） 这可能导致复制期间的 “bad buffer id: 0” 失败或索引内容损坏。","title":"修复 GIN 索引 WAL 重放逻辑中的若干缺陷","variants":[],"version":"9.0.2"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":[],"commit_groups":[],"commits":[],"cves":[],"db_id":"82cb95a0139d2515253f2b4ea69ea50f","html":"\u003cp\u003e修复当起始检查点 WAL 记录与其重做点不在同一 WAL 段时从基础备份恢复的问题（Jeff Davis）\u003c/p\u003e","id":"9.0.2-5dfc21756f679dce","identity_text":"Fix recovery from base backup when the starting checkpoint WAL record is not in the same WAL segment as its redo point (Jeff Davis)","part":"changes","patch_ids":[],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":[],"source_entry_id":"9.0.2/changes/006","source_hash":"17030fa918d971b036e7fb9150ec046c6541f9bfa7a0755772c0f0521f825b78","source_url":"/docs/release/9.0.2/#id-1.11.6.26.5","statement_hash":"bb3643dfb08e25e4f7da74a044e0489c7d14555385f4b17a6668756a56dfef0f","text":"修复当起始检查点 WAL 记录与其重做点不在同一 WAL 段时从基础备份恢复的问题（Jeff Davis）","title":"修复当起始检查点 WAL 记录与其重做点不在同一 WAL 段时从基础备份恢复的问题","variants":[],"version":"9.0.2"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":[],"commit_groups":[],"commits":[],"cves":[],"db_id":"e5f512540ad951d21a24dba301686857","html":"\u003cp\u003e修复在创建主数据库集簇后立即启用流复制时的极端情况缺陷（Heikki Linnakangas）\u003c/p\u003e","id":"9.0.2-ee020f928b55b63d","identity_text":"Fix corner-case bug when streaming replication is enabled immediately after creating the master database cluster (Heikki Linnakangas)","part":"changes","patch_ids":[],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":[],"source_entry_id":"9.0.2/changes/007","source_hash":"837d44284d2a117039dcf1576943aafc7eab7039f8abb02da9737b4804c29124","source_url":"/docs/release/9.0.2/#id-1.11.6.26.5","statement_hash":"6e7778f8df3a3d722fad102811f27c784abd32c26f311e3235f066c0be644c2c","text":"修复在创建主数据库集簇后立即启用流复制时的极端情况缺陷（Heikki Linnakangas）","title":"修复在创建主数据库集簇后立即启用流复制时的极端情况缺陷","variants":[],"version":"9.0.2"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":[],"commit_groups":[],"commits":[],"cves":[],"db_id":"753d1138c5b8e46255b4bdad6d8ba546","html":"\u003cp\u003e修复多个工作进程长期保持活动时自动清理工作进程的持续变慢（Tom Lane）\u003c/p\u003e\n\u003cp\u003e如果自动清理工作进程处理了足够多的表，其有效 \u003ccode\u003evacuum_cost_limit\u003c/code\u003e 可能降到接近零，导致其运行极慢。\u003c/p\u003e","id":"9.0.2-d72ee9420915ad35","identity_text":"Fix persistent slowdown of autovacuum workers when multiple workers remain active for a long time (Tom Lane) The effective vacuum_cost_limit for an autovacuum worker could drop to nearly zero if it processed enough tables, causing it to run extremely slowly.","part":"changes","patch_ids":[],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":[],"source_entry_id":"9.0.2/changes/008","source_hash":"4fb8a8c67170308ba979030d7618ca079fa8d55759d68a661392505368933793","source_url":"/docs/release/9.0.2/#id-1.11.6.26.5","statement_hash":"285618da7240131acadd496b1df387a960b12f7bf5c90e6dd0012d2c49e2aac4","text":"修复多个工作进程长期保持活动时自动清理工作进程的持续变慢（Tom Lane） 如果自动清理工作进程处理了足够多的表，其有效 vacuum_cost_limit 可能降到接近零，导致其运行极慢。","title":"修复多个工作进程长期保持活动时自动清理工作进程的持续变慢","variants":[],"version":"9.0.2"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":[],"commit_groups":[],"commits":[],"cves":[],"db_id":"c9831dcd37fe25019d286bb76f90643c","html":"\u003cp\u003e修复自动清理启动器中的长期内存泄漏（Alvaro Herrera）\u003c/p\u003e","id":"9.0.2-a4589bdd11838fd8","identity_text":"Fix long-term memory leak in autovacuum launcher (Alvaro Herrera)","part":"changes","patch_ids":[],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":[],"source_entry_id":"9.0.2/changes/009","source_hash":"3c72b69c2d7b6a6318cdda2246062fa514892cff1b54e12d7f1969d3c432d3c7","source_url":"/docs/release/9.0.2/#id-1.11.6.26.5","statement_hash":"b994018836cc84e5d5f67e58ad2f82318e123bc05275171db55ddf1271d517d7","text":"修复自动清理启动器中的长期内存泄漏（Alvaro Herrera）","title":"修复自动清理启动器中的长期内存泄漏","variants":[],"version":"9.0.2"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":[],"commit_groups":[],"commits":[],"cves":[],"db_id":"dfebd202963a9ce011fae5e5f1d6833f","html":"\u003cp\u003e避免在事务之外尝试报告即将发生的事务回卷情况时失败（Tom Lane）\u003c/p\u003e\n\u003cp\u003e这一疏忽阻碍了事务回卷过于接近后的恢复，因为数据库启动处理会失败。\u003c/p\u003e","id":"9.0.2-86de0401e758d15d","identity_text":"Avoid failure when trying to report an impending transaction wraparound condition from outside a transaction (Tom Lane) This oversight prevented recovery after transaction wraparound got too close, because database startup processing would fail.","part":"changes","patch_ids":[],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":[],"source_entry_id":"9.0.2/changes/010","source_hash":"a636c5d0b59cd2de1f201796f40c0fb25b985cbfc9c00bccf2db99aef3f1666f","source_url":"/docs/release/9.0.2/#id-1.11.6.26.5","statement_hash":"d7ae3b75ead5df98916a650937287bf390c47f0ba3bc75adab94dbebc0427184","text":"避免在事务之外尝试报告即将发生的事务回卷情况时失败（Tom Lane） 这一疏忽阻碍了事务回卷过于接近后的恢复，因为数据库启动处理会失败。","title":"避免在事务之外尝试报告即将发生的事务回卷情况时失败","variants":[],"version":"9.0.2"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":[],"commit_groups":[],"commits":[],"cves":[],"db_id":"2dc8159d5221a2cd44ad4f0816040dbf","html":"\u003cp\u003e新增在 \u003ccode\u003eIA64\u003c/code\u003e 上检测寄存器栈溢出的支持（Tom Lane）\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eIA64\u003c/code\u003e 架构有两个硬件栈。要完全防止栈溢出失败需要同时检查两者。\u003c/p\u003e","id":"9.0.2-6ecfc4b1e05231e6","identity_text":"Add support for detecting register-stack overrun on IA64 (Tom Lane) The IA64 architecture has two hardware stacks. Full prevention of stack-overrun failures requires checking both.","part":"changes","patch_ids":[],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":[],"source_entry_id":"9.0.2/changes/011","source_hash":"2d3d0548d2230220dcf8f675ed2a02a7550770f9d0966ec8290ffb504d4a5622","source_url":"/docs/release/9.0.2/#id-1.11.6.26.5","statement_hash":"8fba9ae3fc03d31bf3b3ea6bc438e6ca28b0b0afcd3c0bc9a3c60a7082ed23bc","text":"新增在 IA64 上检测寄存器栈溢出的支持（Tom Lane） IA64 架构有两个硬件栈。要完全防止栈溢出失败需要同时检查两者。","title":"新增在 IA64 上检测寄存器栈溢出的支持","variants":[],"version":"9.0.2"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":[],"commit_groups":[],"commits":[],"cves":[],"db_id":"fab3556994f348a8bde09dbac5023e3d","html":"\u003cp\u003e在 \u003ccode\u003ecopyObject()\u003c/code\u003e 中添加栈溢出检查（Tom Lane）\u003c/p\u003e\n\u003cp\u003e给定足够复杂的查询，某些代码路径可能因栈溢出而崩溃。\u003c/p\u003e","id":"9.0.2-1996248393e19710","identity_text":"Add a check for stack overflow in copyObject() (Tom Lane) Certain code paths could crash due to stack overflow given a sufficiently complex query.","part":"changes","patch_ids":[],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":[],"source_entry_id":"9.0.2/changes/012","source_hash":"57c52797bf15087c584f5a1856593654c5b96239605c639d7d610a5487d58669","source_url":"/docs/release/9.0.2/#id-1.11.6.26.5","statement_hash":"62598be390dbf15864e5ac4d9c300f0563b57ff0fa0b291f11b320c61ed1e111","text":"在 copyObject() 中添加栈溢出检查（Tom Lane） 给定足够复杂的查询，某些代码路径可能因栈溢出而崩溃。","title":"在 copyObject() 中添加栈溢出检查","variants":[],"version":"9.0.2"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":[],"commit_groups":[],"commits":[],"cves":[],"db_id":"5631626feed6c5f4f206cb0327b6250e","html":"\u003cp\u003e修复临时 GiST 索引中页面分裂的检测（Heikki Linnakangas）\u003c/p\u003e\n\u003cp\u003e在临时索引中可能出现\u003cspan\u003e“\u003cspan\u003e并发\u003c/span\u003e”\u003c/span\u003e页面分裂，例如当插入时有打开的游标正在扫描该索引。GiST 未能检测到这种情况，因此当游标继续执行时可能给出错误结果。\u003c/p\u003e","id":"9.0.2-b1e07dd3cbb9d09b","identity_text":"Fix detection of page splits in temporary GiST indexes (Heikki Linnakangas) It is possible to have a concurrent page split in a temporary index, if for example there is an open cursor scanning the index when an insertion is done. GiST failed to detect this case and hence could deliver wrong results when execution of the cursor continued.","part":"changes","patch_ids":[],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":[],"source_entry_id":"9.0.2/changes/013","source_hash":"677f5871fb0178d12de5359da4017f18efd05d6743a03e1504d493c2402a7979","source_url":"/docs/release/9.0.2/#id-1.11.6.26.5","statement_hash":"f353fa08e38e5defbbf7064341a3b648ffa03547cde3cc12d936282127212f3b","text":"修复临时 GiST 索引中页面分裂的检测（Heikki Linnakangas） 在临时索引中可能出现“并发”页面分裂，例如当插入时有打开的游标正在扫描该索引。GiST 未能检测到这种情况，因此当游标继续执行时可能给出错误结果。","title":"修复临时 GiST 索引中页面分裂的检测","variants":[],"version":"9.0.2"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":[],"commit_groups":[],"commits":[],"cves":[],"db_id":"2c8d8613775f30a53c411ca19fb94386","html":"\u003cp\u003e修复早期连接处理期间的错误检查（Tom Lane）\u003c/p\u003e\n\u003cp\u003e某些情况下对子进程过多的检查被跳过，可能在尝试把新子进程添加到固定大小数组时导致 postmaster 崩溃。\u003c/p\u003e","id":"9.0.2-d2d674855db376f4","identity_text":"Fix error checking during early connection processing (Tom Lane) The check for too many child processes was skipped in some cases, possibly leading to postmaster crash when attempting to add the new child process to fixed-size arrays.","part":"changes","patch_ids":[],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":[],"source_entry_id":"9.0.2/changes/014","source_hash":"76fa2df108b17410b274655f8dc4a4a700dca4a0f7f1016cf5f46a2c62bc660f","source_url":"/docs/release/9.0.2/#id-1.11.6.26.5","statement_hash":"3ee7f433e68384fd176acbc3d6b6ed34a68dae759bc9479656ca998f7d2099b0","text":"修复早期连接处理期间的错误检查（Tom Lane） 某些情况下对子进程过多的检查被跳过，可能在尝试把新子进程添加到固定大小数组时导致 postmaster 崩溃。","title":"修复早期连接处理期间的错误检查","variants":[],"version":"9.0.2"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":[],"commit_groups":[],"commits":[],"cves":[],"db_id":"ad0dacf2ae16680eea7b7313842bfd6f","html":"\u003cp\u003e改进窗口函数的效率（Tom Lane）\u003c/p\u003e\n\u003cp\u003e某些需要提前读取大量元组、但 \u003ccode\u003ework_mem\u003c/code\u003e 足够大可以全部保存在内存中的情况意外地慢。\u003ccode\u003epercent_rank()\u003c/code\u003e、\u003ccode\u003ecume_dist()\u003c/code\u003e 和 \u003ccode\u003entile()\u003c/code\u003e 尤其受此问题影响。\u003c/p\u003e","id":"9.0.2-74464b009f93e99c","identity_text":"Improve efficiency of window functions (Tom Lane) Certain cases where a large number of tuples needed to be read in advance, but work_mem was large enough to allow them all to be held in memory, were unexpectedly slow. percent_rank(), cume_dist() and ntile() in particular were subject to this problem.","part":"changes","patch_ids":[],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":[],"source_entry_id":"9.0.2/changes/015","source_hash":"2a3e1cbbb5ac1701ac6d028fe0e4e7f9349e4398508987998f994c8986fa86af","source_url":"/docs/release/9.0.2/#id-1.11.6.26.5","statement_hash":"e51f9e5fef9181abeda8fdc4ad9d27c30e1907b11b50ead24532b347e1e2aed4","text":"改进窗口函数的效率（Tom Lane） 某些需要提前读取大量元组、但 work_mem 足够大可以全部保存在内存中的情况意外地慢。percent_rank()、cume_dist() 和 ntile() 尤其受此问题影响。","title":"改进窗口函数的效率","variants":[],"version":"9.0.2"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":[],"commit_groups":[],"commits":[],"cves":[],"db_id":"51f8ccca1a31b925ac22e367ea7c7938","html":"\u003cp\u003e避免在 \u003ccode\u003eANALYZE\u003c/code\u003e 复杂索引表达式时内存泄漏（Tom Lane）\u003c/p\u003e","id":"9.0.2-7aa243d20ba316fc","identity_text":"Avoid memory leakage while ANALYZE'ing complex index expressions (Tom Lane)","part":"changes","patch_ids":[],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":[],"source_entry_id":"9.0.2/changes/016","source_hash":"b0052f474bd8a2e449fd0364b4728056ebbbac20374e8de7552412cbd2f0d29a","source_url":"/docs/release/9.0.2/#id-1.11.6.26.5","statement_hash":"16f9df371942fa8d6ea6e287ffdcbef3f50d30f1c9760cca49adea47cc823095","text":"避免在 ANALYZE 复杂索引表达式时内存泄漏（Tom Lane）","title":"避免在 ANALYZE 复杂索引表达式时内存泄漏","variants":[],"version":"9.0.2"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":[],"commit_groups":[],"commits":[],"cves":[],"db_id":"a671cb3e3383f7e46c1c745183a9152f","html":"\u003cp\u003e确保使用整行 Var 的索引仍依赖于其表（Tom Lane）\u003c/p\u003e\n\u003cp\u003e像 \u003ccode\u003ecreate index i on t (foo(t.*))\u003c/code\u003e 这样声明的索引在删除其表时不会自动被删除。\u003c/p\u003e","id":"9.0.2-51df90790773d742","identity_text":"Ensure an index that uses a whole-row Var still depends on its table (Tom Lane) An index declared like create index i on t (foo(t.*)) would not automatically get dropped when its table was dropped.","part":"changes","patch_ids":[],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":[],"source_entry_id":"9.0.2/changes/017","source_hash":"ee123dad93cb693b02e02039e0300d816f6ec5b16f7c04fad9f3992d165798c1","source_url":"/docs/release/9.0.2/#id-1.11.6.26.5","statement_hash":"c844d95a27e7000c4d1b9241a17dcc81ecd59589be2a7ecda80d1fb201b1799e","text":"确保使用整行 Var 的索引仍依赖于其表（Tom Lane） 像 create index i on t (foo(t.*)) 这样声明的索引在删除其表时不会自动被删除。","title":"确保使用整行 Var 的索引仍依赖于其表","variants":[],"version":"9.0.2"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":[],"commit_groups":[],"commits":[],"cves":[],"db_id":"bd220dd392692308f91569ba370806cc","html":"\u003cp\u003e补齐 \u003ccode\u003eDROP OWNED BY\u003c/code\u003e 中缺失的移除用户所拥有的外部数据包装器/服务器权限的支持（Heikki Linnakangas）\u003c/p\u003e","id":"9.0.2-c8dd4970cc2c67b5","identity_text":"Add missing support in DROP OWNED BY for removing foreign data wrapper/server privileges belonging to a user (Heikki Linnakangas)","part":"changes","patch_ids":[],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":[],"source_entry_id":"9.0.2/changes/018","source_hash":"56cc1551c55bece45fe619dc83892fee5d8f71c87f4e8e79be2631e386ea2779","source_url":"/docs/release/9.0.2/#id-1.11.6.26.5","statement_hash":"208734b6e17de973e30925b2c74a1e7a45c96c368268825b505d41ff9fe0baeb","text":"补齐 DROP OWNED BY 中缺失的移除用户所拥有的外部数据包装器/服务器权限的支持（Heikki Linnakangas）","title":"补齐 DROP OWNED BY 中缺失的移除用户所拥有的外部数据包装器/服务器权限的支持","variants":[],"version":"9.0.2"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":[],"commit_groups":[],"commits":[],"cves":[],"db_id":"29d1c0c80db664df87358d57c0c753e1","html":"\u003cp\u003e不要\u003cspan\u003e“\u003cspan\u003e内联\u003c/span\u003e”\u003c/span\u003e带多个 \u003ccode\u003eOUT\u003c/code\u003e 参数的 SQL 函数（Tom Lane）\u003c/p\u003e\n\u003cp\u003e这避免了因丢失预期结果行类型信息而可能出现的崩溃。\u003c/p\u003e","id":"9.0.2-574ed569227c5b22","identity_text":"Do not inline a SQL function with multiple OUT parameters (Tom Lane) This avoids a possible crash due to loss of information about the expected result rowtype.","part":"changes","patch_ids":[],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":[],"source_entry_id":"9.0.2/changes/019","source_hash":"7a1df660a071de5c07e46ffd4501de08f7cc69d75d309c073e2512ec9b50e2f2","source_url":"/docs/release/9.0.2/#id-1.11.6.26.5","statement_hash":"8107f7046b4add0aa1d745b767c84eec84043050816d8c26e19abcee818edf4d","text":"不要“内联”带多个 OUT 参数的 SQL 函数（Tom Lane） 这避免了因丢失预期结果行类型信息而可能出现的崩溃。","title":"不要“内联”带多个 OUT 参数的 SQL 函数","variants":[],"version":"9.0.2"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":[],"commit_groups":[],"commits":[],"cves":[],"db_id":"cdf261c7539717bd796221b71b021577","html":"\u003cp\u003e修复内联参数列表包含对可内联用户函数引用的集合返回函数时的崩溃（Tom Lane）\u003c/p\u003e","id":"9.0.2-4cd3c45d53ee6587","identity_text":"Fix crash when inline-ing a set-returning function whose argument list contains a reference to an inline-able user function (Tom Lane)","part":"changes","patch_ids":[],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":[],"source_entry_id":"9.0.2/changes/020","source_hash":"14148e0cbba2f2866eeee2f07c88e11c182b3d81a583223417417ddcf82234a9","source_url":"/docs/release/9.0.2/#id-1.11.6.26.5","statement_hash":"6b75dc2712841c495a1fa669a52f11d749103a14ce6355a6ebb5e0e8e870e3bd","text":"修复内联参数列表包含对可内联用户函数引用的集合返回函数时的崩溃（Tom Lane）","title":"修复内联参数列表包含对可内联用户函数引用的集合返回函数时的崩溃","variants":[],"version":"9.0.2"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":[],"commit_groups":[],"commits":[],"cves":[],"db_id":"ded8d85be9ab103a764ffd254cabb3eb","html":"\u003cp\u003e修复当 \u003ccode\u003eORDER BY\u003c/code\u003e、\u003ccode\u003eLIMIT\u003c/code\u003e、\u003ccode\u003eFOR UPDATE\u003c/code\u003e 或 \u003ccode\u003eWITH\u003c/code\u003e 附加到 \u003ccode\u003eINSERT ... VALUES\u003c/code\u003e 的 \u003ccode\u003eVALUES\u003c/code\u003e 部分时的正确行为（Tom Lane）\u003c/p\u003e","id":"9.0.2-18512023d83fe0d8","identity_text":"Behave correctly if ORDER BY, LIMIT, FOR UPDATE, or WITH is attached to the VALUES part of INSERT ... VALUES (Tom Lane)","part":"changes","patch_ids":[],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":[],"source_entry_id":"9.0.2/changes/021","source_hash":"4bc629a71477852a3612ddb85f0fe46001ef20730d0b0ef017deef417ba01f6b","source_url":"/docs/release/9.0.2/#id-1.11.6.26.5","statement_hash":"4c3bc408ee16215545d3890c485cbe8469db8b9097a3c299aaa3ac57a324fe29","text":"修复当 ORDER BY、LIMIT、FOR UPDATE 或 WITH 附加到 INSERT ... VALUES 的 VALUES 部分时的正确行为（Tom Lane）","title":"修复当 ORDER BY、LIMIT、FOR UPDATE 或 WITH 附加到 INSERT ... VALUES 的 VALUES 部分时的正确行为","variants":[],"version":"9.0.2"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":[],"commit_groups":[],"commits":[],"cves":[],"db_id":"bf01afcc484380b917817819eb8b2ef2","html":"\u003cp\u003e把 \u003ccode\u003eOFF\u003c/code\u003e 关键字改为非保留（Heikki Linnakangas）\u003c/p\u003e\n\u003cp\u003e这避免了在 \u003cspan\u003ePL/pgSQL\u003c/span\u003e 中使用 \u003ccode\u003eoff\u003c/code\u003e 作为变量名的问题。这在 9.0 之前可行，但现在被破坏了，因为 \u003cspan\u003ePL/pgSQL\u003c/span\u003e 现在把所有核心保留字视为保留。\u003c/p\u003e","id":"9.0.2-3ec5210cdaa9d1a5","identity_text":"Make the OFF keyword unreserved (Heikki Linnakangas) This prevents problems with using off as a variable name in PL/pgSQL. That worked before 9.0, but was now broken because PL/pgSQL now treats all core reserved words as reserved.","part":"changes","patch_ids":[],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":[],"source_entry_id":"9.0.2/changes/022","source_hash":"fb638afa08d51adad2d4522a8f04cb174f25475e1f3ffe400e9b77d3c9593e03","source_url":"/docs/release/9.0.2/#id-1.11.6.26.5","statement_hash":"8da15ab2780abbc524fba973e610b8c68865bdc33848ceb9ef570304f4a9bea8","text":"把 OFF 关键字改为非保留（Heikki Linnakangas） 这避免了在 PL/pgSQL 中使用 off 作为变量名的问题。这在 9.0 之前可行，但现在被破坏了，因为 PL/pgSQL 现在把所有核心保留字视为保留。","title":"把 OFF 关键字改为非保留","variants":[],"version":"9.0.2"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":[],"commit_groups":[],"commits":[],"cves":[],"db_id":"19a5f59c0b2d17df84f464af7c510ce0","html":"\u003cp\u003e修复 \u003ccode\u003eCOALESCE()\u003c/code\u003e 表达式的常量折叠（Tom Lane）\u003c/p\u003e\n\u003cp\u003e规划器有时会尝试求值实际上永远不可达的子表达式，可能导致意外错误。\u003c/p\u003e","id":"9.0.2-55c2ab9a4d310ccc","identity_text":"Fix constant-folding of COALESCE() expressions (Tom Lane) The planner would sometimes attempt to evaluate sub-expressions that in fact could never be reached, possibly leading to unexpected errors.","part":"changes","patch_ids":[],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":[],"source_entry_id":"9.0.2/changes/023","source_hash":"b7b3f9ab327088c648c447b7eaf7c53cdba0d54842c3934ff9fae2fb467d1f0d","source_url":"/docs/release/9.0.2/#id-1.11.6.26.5","statement_hash":"f7172c949ec2b612d429e994c53c6e5028c0749aab510cda9f94054d98d8a93b","text":"修复 COALESCE() 表达式的常量折叠（Tom Lane） 规划器有时会尝试求值实际上永远不可达的子表达式，可能导致意外错误。","title":"修复 COALESCE() 表达式的常量折叠","variants":[],"version":"9.0.2"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":[],"commit_groups":[],"commits":[],"cves":[],"db_id":"9d3ca780657b9c9fff78d87ea8cd24e0","html":"\u003cp\u003e修复比较整行 Var 时的 \u003cspan\u003e“\u003cspan\u003ecould not find pathkey item to sort\u003c/span\u003e”\u003c/span\u003e 规划器失败（Tom Lane）\u003c/p\u003e","id":"9.0.2-13a15ca79836824f","identity_text":"Fix could not find pathkey item to sort planner failure with comparison of whole-row Vars (Tom Lane)","part":"changes","patch_ids":[],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":[],"source_entry_id":"9.0.2/changes/024","source_hash":"762cf72a79cf8d0aad9877234301b7d3471cc9dcf33c06ff3e1f921acd29173f","source_url":"/docs/release/9.0.2/#id-1.11.6.26.5","statement_hash":"144266208c1e167a4127aa37fd6ae5f9c659780dd0140810513c0690bd6a8cb9","text":"修复比较整行 Var 时的 “could not find pathkey item to sort” 规划器失败（Tom Lane）","title":"修复比较整行 Var 时的 “could not find pathkey item to sort” 规划器失败","variants":[],"version":"9.0.2"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":[],"commit_groups":[],"commits":[],"cves":[],"db_id":"5fe4d9d833ba9d3ac0de7e6abde2f12b","html":"\u003cp\u003e修复当连接接受（\u003ccode\u003eaccept()\u003c/code\u003e 或紧随其后的调用之一）失败且 postmaster 编译时带 GSSAPI 支持时的 postmaster 崩溃（Alexander Chernikov）\u003c/p\u003e","id":"9.0.2-02995bc42a6a1d0b","identity_text":"Fix postmaster crash when connection acceptance (accept() or one of the calls made immediately after it) fails, and the postmaster was compiled with GSSAPI support (Alexander Chernikov)","part":"changes","patch_ids":[],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":[],"source_entry_id":"9.0.2/changes/025","source_hash":"9f31f4f32665a0d0eb7d51f1f1b62954a3dcad9ebd49fb8bf3698e421eab670f","source_url":"/docs/release/9.0.2/#id-1.11.6.26.5","statement_hash":"f38fd4f7ae5b97110d0f608af6368d139babcb01b0ccbbe393645bb1f78536ab","text":"修复当连接接受（accept() 或紧随其后的调用之一）失败且 postmaster 编译时带 GSSAPI 支持时的 postmaster 崩溃（Alexander Chernikov）","title":"修复当连接接受（accept() 或紧随其后的调用之一）失败且 postmaster 编译时带 GSSAPI 支持时的 postmaster 崩溃","variants":[],"version":"9.0.2"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":[],"commit_groups":[],"commits":[],"cves":[],"db_id":"167906d50539c48e1496028d4054d9bc","html":"\u003cp\u003e在收到来自 RADIUS 认证服务器的无效响应包之后重试（Magnus Hagander）\u003c/p\u003e\n\u003cp\u003e这修复了一个低风险的潜在拒绝服务条件。\u003c/p\u003e","id":"9.0.2-d08deffba426e11f","identity_text":"Retry after receiving an invalid response packet from a RADIUS authentication server (Magnus Hagander) This fixes a low-risk potential denial of service condition.","part":"changes","patch_ids":[],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":[],"source_entry_id":"9.0.2/changes/026","source_hash":"8f7208c13216568797a725c3ff1f94249763bcf61aea03061fc2029a7e6d2c48","source_url":"/docs/release/9.0.2/#id-1.11.6.26.5","statement_hash":"697947151a236aab0e3b710355edee679075a9116d9cbec9cb1e023626c51f67","text":"在收到来自 RADIUS 认证服务器的无效响应包之后重试（Magnus Hagander） 这修复了一个低风险的潜在拒绝服务条件。","title":"在收到来自 RADIUS 认证服务器的无效响应包之后重试","variants":[],"version":"9.0.2"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":[],"commit_groups":[],"commits":[],"cves":[],"db_id":"c1a79ae092b042c6006f2ed4f31f74f2","html":"\u003cp\u003e修复 \u003ccode\u003elog_temp_files\u003c/code\u003e 处于活动状态时临时文件漏删的问题（Tom Lane）\u003c/p\u003e\n\u003cp\u003e如果尝试发出日志消息时出错，就不会执行删除，导致临时文件累积。\u003c/p\u003e","id":"9.0.2-1bd8ff2c7c075177","identity_text":"Fix missed unlink of temporary files when log_temp_files is active (Tom Lane) If an error occurred while attempting to emit the log message, the unlink was not done, resulting in accumulation of temp files.","part":"changes","patch_ids":[],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":[],"source_entry_id":"9.0.2/changes/027","source_hash":"5f0e9ed711085444061d9adc92e32cfd846d2e74c2d3f90130ec550fd2895c99","source_url":"/docs/release/9.0.2/#id-1.11.6.26.5","statement_hash":"a0ba8683c1146ac50a1cb28715dd053b91a62f2d248b07b50d2f6bca52e0059f","text":"修复 log_temp_files 处于活动状态时临时文件漏删的问题（Tom Lane） 如果尝试发出日志消息时出错，就不会执行删除，导致临时文件累积。","title":"修复 log_temp_files 处于活动状态时临时文件漏删的问题","variants":[],"version":"9.0.2"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":[],"commit_groups":[],"commits":[],"cves":[],"db_id":"47a3a6344571ec63d32c684724fc6f94","html":"\u003cp\u003e为 \u003ccode\u003eInhRelation\u003c/code\u003e 节点添加打印功能（Tom Lane）\u003c/p\u003e\n\u003cp\u003e这避免了启用 \u003ccode\u003edebug_print_parse\u003c/code\u003e 且执行某些类型的查询时的失败。\u003c/p\u003e","id":"9.0.2-9c9eabdfb3058fd6","identity_text":"Add print functionality for InhRelation nodes (Tom Lane) This avoids a failure when debug_print_parse is enabled and certain types of query are executed.","part":"changes","patch_ids":[],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":[],"source_entry_id":"9.0.2/changes/028","source_hash":"c572d9774429f11db1b9e107d62d7e18e9560a8fa7914ed8d95f971c7d66fdac","source_url":"/docs/release/9.0.2/#id-1.11.6.26.5","statement_hash":"e790c1ae48cba2d77dbd787d32406230b8b48bb1befd795244ba94af19b71c35","text":"为 InhRelation 节点添加打印功能（Tom Lane） 这避免了启用 debug_print_parse 且执行某些类型的查询时的失败。","title":"为 InhRelation 节点添加打印功能","variants":[],"version":"9.0.2"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":[],"commit_groups":[],"commits":[],"cves":[],"db_id":"3ac449d8aa6f520e348000321722cb3a","html":"\u003cp\u003e修复点到水平线段距离的错误计算（Tom Lane）\u003c/p\u003e\n\u003cp\u003e该缺陷影响多个不同的几何距离测量操作符。\u003c/p\u003e","id":"9.0.2-b2be3357526c36c1","identity_text":"Fix incorrect calculation of distance from a point to a horizontal line segment (Tom Lane) This bug affected several different geometric distance-measurement operators.","part":"changes","patch_ids":[],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":[],"source_entry_id":"9.0.2/changes/029","source_hash":"2a6b6adbbc610c976788e63e7d7f83d207d1ab722e54c5472eb38f4cd577b726","source_url":"/docs/release/9.0.2/#id-1.11.6.26.5","statement_hash":"6f6ceebfa5cd978ecb6b1bf7a0e8f3ca69b425c2ff7708ad0f92fe17c531fbc8","text":"修复点到水平线段距离的错误计算（Tom Lane） 该缺陷影响多个不同的几何距离测量操作符。","title":"修复点到水平线段距离的错误计算","variants":[],"version":"9.0.2"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":[],"commit_groups":[],"commits":[],"cves":[],"db_id":"c748c5fce4507f46d3f760c4d50403de","html":"\u003cp\u003e修复 \u003cspan\u003eecpg\u003c/span\u003e 中事务状态的错误计算（Itagaki Takahiro）\u003c/p\u003e","id":"9.0.2-674f3a68cfa28c5d","identity_text":"Fix incorrect calculation of transaction status in ecpg (Itagaki Takahiro)","part":"changes","patch_ids":[],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":[],"source_entry_id":"9.0.2/changes/030","source_hash":"0942d2349bc93eb33b2210493aa4f68f22b6f42f54e7dd06fe9bfea0587a2354","source_url":"/docs/release/9.0.2/#id-1.11.6.26.5","statement_hash":"996b9c335473a394cc0a0f3034a6fdf20ed871f1734fc7d53edb4e5dd6db5d1f","text":"修复 ecpg 中事务状态的错误计算（Itagaki Takahiro）","title":"修复 ecpg 中事务状态的错误计算","variants":[],"version":"9.0.2"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":[],"commit_groups":[],"commits":[],"cves":[],"db_id":"22833c7d82a87371676c3f18f300cce4","html":"\u003cp\u003e修复 \u003cspan\u003epsql\u003c/span\u003e Unicode 转义支持的错误（Tom Lane）\u003c/p\u003e","id":"9.0.2-9c046108556a592c","identity_text":"Fix errors in psql's Unicode-escape support (Tom Lane)","part":"changes","patch_ids":[],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":[],"source_entry_id":"9.0.2/changes/031","source_hash":"5dbc701efac7abc7febd3293e377ee8bd574ce0a0630d89b608936dce61d01a5","source_url":"/docs/release/9.0.2/#id-1.11.6.26.5","statement_hash":"84e2ceb7a31f7dd39c00e5e095234a16c627d64001ba60797a271d2659bb5e31","text":"修复 psql Unicode 转义支持的错误（Tom Lane）","title":"修复 psql Unicode 转义支持的错误","variants":[],"version":"9.0.2"},{"also_in":[],"category":"performance","category_label":"Performance","commit_aliases":[],"commit_groups":[],"commits":[],"cves":[],"db_id":"024db4086d99949dd4642c42f90786ce","html":"\u003cp\u003e加快归档包含许多大对象（blob）时并行 \u003cspan\u003epg_restore\u003c/span\u003e 的速度（Tom Lane）\u003c/p\u003e","id":"9.0.2-624f0a44eedef4ef","identity_text":"Speed up parallel pg_restore when the archive contains many large objects (blobs) (Tom Lane)","part":"changes","patch_ids":[],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":[],"source_entry_id":"9.0.2/changes/032","source_hash":"0fe589f8a8d00efc87bb368c4b5eb07f1bd4d3a7dd4c1004f95c8ed6cc1d67e6","source_url":"/docs/release/9.0.2/#id-1.11.6.26.5","statement_hash":"044e09c0111839f283d0382cd79c6ee7876738a90414d543197bdbe4053bfe4f","text":"加快归档包含许多大对象（blob）时并行 pg_restore 的速度（Tom Lane）","title":"加快归档包含许多大对象（blob）时并行 pg_restore 的速度","variants":[],"version":"9.0.2"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":[],"commit_groups":[],"commits":[],"cves":[],"db_id":"b70645bb5df4e09eb300b43e99a0cf20","html":"\u003cp\u003e修复 \u003cspan\u003ePL/pgSQL\u003c/span\u003e 对\u003cspan\u003e“\u003cspan\u003e简单\u003c/span\u003e”\u003c/span\u003e表达式的处理，使其在递归或错误恢复情况下不失败（Tom Lane）\u003c/p\u003e","id":"9.0.2-246617500a79099a","identity_text":"Fix PL/pgSQL's handling of simple expressions to not fail in recursion or error-recovery cases (Tom Lane)","part":"changes","patch_ids":[],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":[],"source_entry_id":"9.0.2/changes/033","source_hash":"de400eca835cb0b7640b31c4f6ef9267b63c47a82e1260dedf783846f672f327","source_url":"/docs/release/9.0.2/#id-1.11.6.26.5","statement_hash":"b0948e3dd097842d2d563c65ad803bb994ee7265c8d86a31ea0a4d83a9858725","text":"修复 PL/pgSQL 对“简单”表达式的处理，使其在递归或错误恢复情况下不失败（Tom Lane）","title":"修复 PL/pgSQL 对“简单”表达式的处理，使其在递归或错误恢复情况下不失败","variants":[],"version":"9.0.2"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":[],"commit_groups":[],"commits":[],"cves":[],"db_id":"79dfe91911f7cc04b3d1df7817f0b82f","html":"\u003cp\u003e修复 \u003cspan\u003ePL/pgSQL\u003c/span\u003e 对不存在列情况的错误报告（Tom Lane）\u003c/p\u003e\n\u003cp\u003e从 9.0 起，它有时会报 \u003cspan\u003e“\u003cspan\u003emissing FROM-clause entry for table foo\u003c/span\u003e”\u003c/span\u003e，而更合适的消息应是 \u003cspan\u003e“\u003cspan\u003erecord foo has no field bar\u003c/span\u003e”\u003c/span\u003e。\u003c/p\u003e","id":"9.0.2-127b666450c3440b","identity_text":"Fix PL/pgSQL's error reporting for no-such-column cases (Tom Lane) As of 9.0, it would sometimes report missing FROM-clause entry for table foo when record foo has no field bar would be more appropriate.","part":"changes","patch_ids":[],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":[],"source_entry_id":"9.0.2/changes/034","source_hash":"b8f80c027db2a188a663a22b0d66eed3465b2727081b529db1f8054b52b44a3f","source_url":"/docs/release/9.0.2/#id-1.11.6.26.5","statement_hash":"4f0a70b6cba8dd0717cffcf96c9756edbb0883b6600e2d1d8e9481c6d5aa31e8","text":"修复 PL/pgSQL 对不存在列情况的错误报告（Tom Lane） 从 9.0 起，它有时会报 “missing FROM-clause entry for table foo”，而更合适的消息应是 “record foo has no field bar”。","title":"修复 PL/pgSQL 对不存在列情况的错误报告","variants":[],"version":"9.0.2"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":[],"commit_groups":[],"commits":[],"cves":[],"db_id":"940c7285b0b58b6eafc3890580fd9cde","html":"\u003cp\u003e修复 \u003cspan\u003ePL/Python\u003c/span\u003e，使其在给元组字段赋值时遵循 typmod（即长度或精度限制）（Tom Lane）\u003c/p\u003e\n\u003cp\u003e这修复了一个自 8.4 以来的退化。\u003c/p\u003e","id":"9.0.2-4e10906f1bce6dce","identity_text":"Fix PL/Python to honor typmod (i.e., length or precision restrictions) when assigning to tuple fields (Tom Lane) This fixes a regression from 8.4.","part":"changes","patch_ids":[],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":[],"source_entry_id":"9.0.2/changes/035","source_hash":"6acd54442e82b4396126ac38c2ddb0b0ba68bb2a91fc415355c21d98a1e8aec4","source_url":"/docs/release/9.0.2/#id-1.11.6.26.5","statement_hash":"44df1780f3e5434d8890162babeb2682dbe10b3f126f9b63078d415e28876832","text":"修复 PL/Python，使其在给元组字段赋值时遵循 typmod（即长度或精度限制）（Tom Lane） 这修复了一个自 8.4 以来的退化。","title":"修复 PL/Python，使其在给元组字段赋值时遵循 typmod（即长度或精度限制）","variants":[],"version":"9.0.2"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":[],"commit_groups":[],"commits":[],"cves":[],"db_id":"4f4534bf92e555ac9ee7c1cdb1261efe","html":"\u003cp\u003e修复 \u003cspan\u003ePL/Python\u003c/span\u003e 对集合返回函数的处理（Jan Urbanski）\u003c/p\u003e\n\u003cp\u003e在生成集合结果的迭代器内尝试调用 SPI 函数会失败。\u003c/p\u003e","id":"9.0.2-9bc074afa1f4698d","identity_text":"Fix PL/Python's handling of set-returning functions (Jan Urbanski) Attempts to call SPI functions within the iterator generating a set result would fail.","part":"changes","patch_ids":[],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":[],"source_entry_id":"9.0.2/changes/036","source_hash":"8a0d765b2892c1185f7b0b46548b5dcac13f5d42353a251a0a6537f0a8a4c7d3","source_url":"/docs/release/9.0.2/#id-1.11.6.26.5","statement_hash":"67af5f54a4a8faf966937886f1538b427d222d0e8cd459b13b641e84eb3cc563","text":"修复 PL/Python 对集合返回函数的处理（Jan Urbanski） 在生成集合结果的迭代器内尝试调用 SPI 函数会失败。","title":"修复 PL/Python 对集合返回函数的处理","variants":[],"version":"9.0.2"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":[],"commit_groups":[],"commits":[],"cves":[],"db_id":"5ef5d921fd7f55e1b51791daf02bf4f2","html":"\u003cp\u003e修复 \u003ccode\u003econtrib/cube\u003c/code\u003e 的 GiST picksplit 算法中的缺陷（Alexander Korotkov）\u003c/p\u003e\n\u003cp\u003e这可能导致 \u003ccode\u003ecube\u003c/code\u003e 列上的 GiST 索引相当低效，尽管答案并非真正错误。如果你有这样的索引，考虑在安装此更新后对其执行 \u003ccode\u003eREINDEX\u003c/code\u003e。\u003c/p\u003e","id":"9.0.2-e432fd45b5091786","identity_text":"Fix bug in contrib/cube's GiST picksplit algorithm (Alexander Korotkov) This could result in considerable inefficiency, though not actually incorrect answers, in a GiST index on a cube column. If you have such an index, consider REINDEXing it after installing this update.","part":"changes","patch_ids":[],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":[],"source_entry_id":"9.0.2/changes/037","source_hash":"01277a31046f3a23a754d96f08364e38b29cbfaff289274416200b49973659a7","source_url":"/docs/release/9.0.2/#id-1.11.6.26.5","statement_hash":"bc660fb86f4fa0965811535dc1569bd34b312f346b97a4d8333e1c365ee2ebbc","text":"修复 contrib/cube 的 GiST picksplit 算法中的缺陷（Alexander Korotkov） 这可能导致 cube 列上的 GiST 索引相当低效，尽管答案并非真正错误。如果你有这样的索引，考虑在安装此更新后对其执行 REINDEX。","title":"修复 contrib/cube 的 GiST picksplit 算法中的缺陷","variants":[],"version":"9.0.2"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":[],"commit_groups":[],"commits":[],"cves":[],"db_id":"7272117f59305991d189bd3609cc1d53","html":"\u003cp\u003e\u003ccode\u003econtrib/dblink\u003c/code\u003e 除了在创建新连接时外不再发出\u003cspan\u003e“\u003cspan\u003eidentifier will be truncated\u003c/span\u003e”\u003c/span\u003e通知（Itagaki Takahiro）\u003c/p\u003e","id":"9.0.2-3c83c8b60190c6bc","identity_text":"Don't emit identifier will be truncated notices in contrib/dblink except when creating new connections (Itagaki Takahiro)","part":"changes","patch_ids":[],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":[],"source_entry_id":"9.0.2/changes/038","source_hash":"bfabd79526b7d88fb543b8cd34ffa72431061314bf13a934269e487716bdedcb","source_url":"/docs/release/9.0.2/#id-1.11.6.26.5","statement_hash":"445edda4fa2828b449729369718a83ccb0350593ea59aacd603064300c5e37d8","text":"contrib/dblink 除了在创建新连接时外不再发出“identifier will be truncated”通知（Itagaki Takahiro）","title":"contrib/dblink 除了在创建新连接时外不再发出“identifier will be truncated”通知","variants":[],"version":"9.0.2"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":[],"commit_groups":[],"commits":[],"cves":[],"db_id":"07bdf6aeba248ef570f398f917c15b28","html":"\u003cp\u003e修复 \u003ccode\u003econtrib/pgcrypto\u003c/code\u003e 在缺少公钥时可能的核心转储（Marti Raudsepp）\u003c/p\u003e","id":"9.0.2-d51b6dc5b0fe723d","identity_text":"Fix potential coredump on missing public key in contrib/pgcrypto (Marti Raudsepp)","part":"changes","patch_ids":[],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":[],"source_entry_id":"9.0.2/changes/039","source_hash":"863e785f49f59beebe788b0322b0d2650c7096127f53304ddebb0a592af4659d","source_url":"/docs/release/9.0.2/#id-1.11.6.26.5","statement_hash":"756882c7fbe5916c039abe5f114690a8324a01735db904549f5d5196011d068c","text":"修复 contrib/pgcrypto 在缺少公钥时可能的核心转储（Marti Raudsepp）","title":"修复 contrib/pgcrypto 在缺少公钥时可能的核心转储","variants":[],"version":"9.0.2"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":[],"commit_groups":[],"commits":[],"cves":[],"db_id":"063dbf6e0bb82cac5ab705d1619ebabf","html":"\u003cp\u003e修复 \u003ccode\u003econtrib/pg_upgrade\u003c/code\u003e 中的缓冲区越界（Hernan Gonzalez）\u003c/p\u003e","id":"9.0.2-7e0ba513c68e7ddb","identity_text":"Fix buffer overrun in contrib/pg_upgrade (Hernan Gonzalez)","part":"changes","patch_ids":[],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":[],"source_entry_id":"9.0.2/changes/040","source_hash":"ec245e370820500e2382725c72b871c9c69ca2335a8cadc958956f4564e8ab2e","source_url":"/docs/release/9.0.2/#id-1.11.6.26.5","statement_hash":"75beccdbe8cf30e0dfa39e7dded0f6e7ebee3bba23482e411d8ef4862449b9e2","text":"修复 contrib/pg_upgrade 中的缓冲区越界（Hernan Gonzalez）","title":"修复 contrib/pg_upgrade 中的缓冲区越界","variants":[],"version":"9.0.2"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":[],"commit_groups":[],"commits":[],"cves":[],"db_id":"f7eb8b87b1e19515d24067c5f3d090c7","html":"\u003cp\u003e修复 \u003ccode\u003econtrib/xml2\u003c/code\u003e 的 XPath 查询函数中的内存泄漏（Tom Lane）\u003c/p\u003e","id":"9.0.2-4b54bd9f578fc555","identity_text":"Fix memory leak in contrib/xml2's XPath query functions (Tom Lane)","part":"changes","patch_ids":[],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":[],"source_entry_id":"9.0.2/changes/041","source_hash":"8bbe01c6ad65cd69648fabc6e0fae5110ffebe658608d5d204a933ff4aa681ed","source_url":"/docs/release/9.0.2/#id-1.11.6.26.5","statement_hash":"3a50b6f57453ede69ae1bc731811f73c30c63e2098d0b6836ec911359e065e0f","text":"修复 contrib/xml2 的 XPath 查询函数中的内存泄漏（Tom Lane）","title":"修复 contrib/xml2 的 XPath 查询函数中的内存泄漏","variants":[],"version":"9.0.2"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":[],"commit_groups":[],"commits":[],"cves":[],"db_id":"41aa83ca226f8eefde4a127758ce058a","html":"\u003cp\u003e把时区数据文件更新为 \u003cspan\u003etzdata\u003c/span\u003e 版本 2010o for DST law changes in Fiji and Samoa; also historical corrections for Hong Kong。\u003c/p\u003e","id":"9.0.2-c27bc3568d715f75","identity_text":"Update time zone data files to tzdata release 2010o for DST law changes in Fiji and Samoa; also historical corrections for Hong Kong.","part":"changes","patch_ids":[],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":[],"source_entry_id":"9.0.2/changes/042","source_hash":"b1e03f97ec8ed473d05ad665d6af9a8947f991b96af5ae51c46c0bf04981f81f","source_url":"/docs/release/9.0.2/#id-1.11.6.26.5","statement_hash":"dfb844426c100dee6f520e1152dced660047a990a18732167a24e731cc8bfa9c","text":"把时区数据文件更新为 tzdata 版本 2010o for DST law changes in Fiji and Samoa; also historical corrections for Hong Kong。","title":"把时区数据文件更新为 tzdata 版本 2010o for DST law changes in Fiji and Samoa; also historical corrections for Hong Kong。","variants":[],"version":"9.0.2"}],"entry_count":42,"eol":"2015-10-08","eol_date":"2015-10-08","label":"9.0.2","major":"9.0","manual":"9.0","manual_build":"9.0.23","manual_url":"/docs/9.0/release-9-0-2.html","migration_html":"\u003cp\u003e对于运行 9.0.X 的用户，不需要进行转储/恢复。\u003c/p\u003e","minor":2,"placeholder":false,"source_as_of":"","source_url":"/docs/release/9.0.2/","status":"stable","status_label":"Historical","support_days":-4021,"supported":false,"version":"9.0.2"}],"mode":"release","release_count":1,"remaining_cves":[],"security_as_of":"2026-09-26","security_regressions":[],"source_as_of":"2026-09-26","stats":[{"count":42,"key":"all","label":"All changes"},{"count":0,"key":"feature","label":"Features"},{"count":26,"key":"bugfix","label":"Bug fixes"},{"count":0,"key":"security","label":"Security"},{"count":1,"key":"performance","label":"Performance"},{"count":0,"key":"compatibility","label":"Compatibility"},{"count":15,"key":"improvement","label":"Improvements"}],"to_release":{"age_days":5778,"build":"9.0.2","changes_count":42,"compatibility_count":0,"content_hash":"74d2219c591db7824c1cdf20cea79a39f64bbc2735e18896281b8550deaf7ea0","date":"2010-12-16","date_text":"2010-12-16","doc_git":"","doc_loaded_at":"2026-09-26T02:56:48.570247","entry_count":42,"eol":"2015-10-08","eol_date":"2015-10-08","label":"9.0.2","major":"9.0","manual":"9.0","manual_build":"9.0.23","manual_url":"/docs/9.0/release-9-0-2.html","migration_html":"\u003cp\u003e对于运行 9.0.X 的用户，不需要进行转储/恢复。\u003c/p\u003e","minor":2,"placeholder":false,"source_as_of":"","source_url":"/docs/release/9.0.2/","status":"stable","status_label":"Historical","support_days":-4021,"supported":false,"version":"9.0.2"},"total":42,"warnings":[]}
