{"already_in_source_count":0,"candidate_count":64,"cross_major":false,"cve_available":true,"cve_count":1,"cves":[{"fixed_version":"","id":"CVE-2011-2483","title":"应用上游对 blowfish 有符号字符缺陷的修复（CVE-2011-2483）","url":"https://www.postgresql.org/support/security/CVE-2011-2483/"}],"duplicate_count":0,"excluded_count":0,"exclusions":[],"from_release":null,"groups":[{"age_days":5495,"build":"9.0.5","changes_count":64,"compatibility_count":0,"content_hash":"4ca6c20d4ad0ad956fb670627785928c87054b869d76ec2d5d3ac1e7c4b2fbc3","date":"2011-09-26","date_text":"2011-09-26","doc_git":"","doc_loaded_at":"2026-09-26T02:56:48.570247","entries":[{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":[],"commit_groups":[],"commits":[],"cves":[],"db_id":"856e9d5d223d74d568f0e17f5afbbfc2","html":"\u003cp\u003e修复对系统目录执行 \u003ccode\u003eVACUUM FULL\u003c/code\u003e 或 \u003ccode\u003eCLUSTER\u003c/code\u003e 之后的目录缓存失效（Tom Lane）\u003c/p\u003e\n\u003cp\u003e某些情况下，系统目录行被重定位到别处不会被并发服务器进程识别，如果它们随后尝试更新该行，就可能发生目录损坏。最坏的结果可能是一张表完全丢失。\u003c/p\u003e","id":"9.0.5-6e5aa8d1e3b37b32","identity_text":"Fix catalog cache invalidation after a VACUUM FULL or CLUSTER on a system catalog (Tom Lane) In some cases the relocation of a system catalog row to another place would not be recognized by concurrent server processes, allowing catalog corruption to occur if they then tried to update that row. The worst-case outcome could be as bad as complete loss of a table.","part":"changes","patch_ids":[],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":[],"source_entry_id":"9.0.5/changes/001","source_hash":"c20d4c45cfff3c07585a526b32023088f505a102feb830d631270e2edf9a77f5","source_url":"/docs/release/9.0.5/#id-1.11.6.23.5","statement_hash":"63863d095ef33e79cedb032eb30c9fd047099049cc60f677b5ea37d6dcdbc862","text":"修复对系统目录执行 VACUUM FULL 或 CLUSTER 之后的目录缓存失效（Tom Lane） 某些情况下，系统目录行被重定位到别处不会被并发服务器进程识别，如果它们随后尝试更新该行，就可能发生目录损坏。最坏的结果可能是一张表完全丢失。","title":"修复对系统目录执行 VACUUM FULL 或 CLUSTER 之后的目录缓存失效","variants":[],"version":"9.0.5"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":[],"commit_groups":[],"commits":[],"cves":[],"db_id":"447cf27aad36ec45d993fc170834c613","html":"\u003cp\u003e修复 sinval 重置处理期间错误的操作顺序，并确保 TOAST OID 在系统目录中被保留（Tom Lane）\u003c/p\u003e\n\u003cp\u003e这些失误可能导致对系统目录执行 \u003ccode\u003eVACUUM FULL\u003c/code\u003e 或 \u003ccode\u003eCLUSTER\u003c/code\u003e 之后出现瞬时失败。\u003c/p\u003e","id":"9.0.5-16f4b3739ae4d4a4","identity_text":"Fix incorrect order of operations during sinval reset processing, and ensure that TOAST OIDs are preserved in system catalogs (Tom Lane) These mistakes could lead to transient failures after a VACUUM FULL or CLUSTER on a system catalog.","part":"changes","patch_ids":[],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":[],"source_entry_id":"9.0.5/changes/002","source_hash":"ae0c040c454f08084d3396d97155b7d30fe30ab8a9ec9f04659020d85452c94a","source_url":"/docs/release/9.0.5/#id-1.11.6.23.5","statement_hash":"248ec099036427aabc2b9fbf033f2d1c6e0755a0238ff85d8c48d3bc76caa360","text":"修复 sinval 重置处理期间错误的操作顺序，并确保 TOAST OID 在系统目录中被保留（Tom Lane） 这些失误可能导致对系统目录执行 VACUUM FULL 或 CLUSTER 之后出现瞬时失败。","title":"修复 sinval 重置处理期间错误的操作顺序，并确保 TOAST OID 在系统目录中被保留","variants":[],"version":"9.0.5"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":[],"commit_groups":[],"commits":[],"cves":[],"db_id":"694bb6b55270e077158b51ac03a7c398","html":"\u003cp\u003e修复对不确定的 HOT 更新元组建立索引的缺陷（Tom Lane）\u003c/p\u003e\n\u003cp\u003e这些缺陷可能导致重建系统目录索引之后索引损坏。据信它们不影响用户索引。\u003c/p\u003e","id":"9.0.5-953f67140d08de96","identity_text":"Fix bugs in indexing of in-doubt HOT-updated tuples (Tom Lane) These bugs could result in index corruption after reindexing a system catalog. They are not believed to affect user indexes.","part":"changes","patch_ids":[],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":[],"source_entry_id":"9.0.5/changes/003","source_hash":"5d6ca5c3d96472de04f7cbbf2e1ba620e95401a447468540fd0f09081dd34b0f","source_url":"/docs/release/9.0.5/#id-1.11.6.23.5","statement_hash":"7e3f920bad95df37786f12de0335c438fc09b2ba045ec55436c2d0aef18cf501","text":"修复对不确定的 HOT 更新元组建立索引的缺陷（Tom Lane） 这些缺陷可能导致重建系统目录索引之后索引损坏。据信它们不影响用户索引。","title":"修复对不确定的 HOT 更新元组建立索引的缺陷","variants":[],"version":"9.0.5"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":[],"commit_groups":[],"commits":[],"cves":[],"db_id":"65356b0cef0cbd777ceeb26e78dfdc18","html":"\u003cp\u003e修复 GiST 索引页面分裂处理中的多个缺陷（Heikki Linnakangas）\u003c/p\u003e\n\u003cp\u003e发生概率很低，但它们可能导致索引损坏。\u003c/p\u003e","id":"9.0.5-7689b77b5dafd2be","identity_text":"Fix multiple bugs in GiST index page split processing (Heikki Linnakangas) The probability of occurrence was low, but these could lead to index corruption.","part":"changes","patch_ids":[],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":[],"source_entry_id":"9.0.5/changes/004","source_hash":"26ed948fc24a56125611747ae40ab4dd55d9d4e6a016d3fc9ec89200b4ed7483","source_url":"/docs/release/9.0.5/#id-1.11.6.23.5","statement_hash":"85c5527676fcc8624e3aec3fa758cf8407520bac6bc88d650ebfce4a1dd000b5","text":"修复 GiST 索引页面分裂处理中的多个缺陷（Heikki Linnakangas） 发生概率很低，但它们可能导致索引损坏。","title":"修复 GiST 索引页面分裂处理中的多个缺陷","variants":[],"version":"9.0.5"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":[],"commit_groups":[],"commits":[],"cves":[],"db_id":"f7c63b89903fb3a8c2a478abff3496f6","html":"\u003cp\u003e修复 \u003ccode\u003etsvector_concat()\u003c/code\u003e 中可能的缓冲区越界（Tom Lane）\u003c/p\u003e\n\u003cp\u003e该函数可能低估其结果所需的内存量，导致服务器崩溃。\u003c/p\u003e","id":"9.0.5-1883aeb6b79d57cf","identity_text":"Fix possible buffer overrun in tsvector_concat() (Tom Lane) The function could underestimate the amount of memory needed for its result, leading to server crashes.","part":"changes","patch_ids":[],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":[],"source_entry_id":"9.0.5/changes/005","source_hash":"9781609519add05cb38c06b912c4d52fc129b3438a75273b9501b923ab4588e8","source_url":"/docs/release/9.0.5/#id-1.11.6.23.5","statement_hash":"6fe54e948134cccddc2f0168daa3aaa99e0a7412033d1e2c070e5fa0a0c1f7b4","text":"修复 tsvector_concat() 中可能的缓冲区越界（Tom Lane） 该函数可能低估其结果所需的内存量，导致服务器崩溃。","title":"修复 tsvector_concat() 中可能的缓冲区越界","variants":[],"version":"9.0.5"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":[],"commit_groups":[],"commits":[],"cves":[],"db_id":"bdb40905288e997b73496b3707534be8","html":"\u003cp\u003e修复 \u003ccode\u003exml_recv\u003c/code\u003e 处理\u003cspan\u003e“\u003cspan\u003estandalone\u003c/span\u003e”\u003c/span\u003e参数时的崩溃（Tom Lane）\u003c/p\u003e","id":"9.0.5-5b4de0da7aa17ffe","identity_text":"Fix crash in xml_recv when processing a standalone parameter (Tom Lane)","part":"changes","patch_ids":[],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":[],"source_entry_id":"9.0.5/changes/006","source_hash":"5f79643d4f266063538b7aec69df7bd0af7b32410041a4500383124f92c75877","source_url":"/docs/release/9.0.5/#id-1.11.6.23.5","statement_hash":"7438702c1d29fb63f0129c847a3d38fadbc81a8aa117380e15bce4ecd3fcf9be","text":"修复 xml_recv 处理“standalone”参数时的崩溃（Tom Lane）","title":"修复 xml_recv 处理“standalone”参数时的崩溃","variants":[],"version":"9.0.5"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":[],"commit_groups":[],"commits":[],"cves":[],"db_id":"3275f538db4250626cf3e2aa565b86e3","html":"\u003cp\u003e让 \u003ccode\u003epg_options_to_table\u003c/code\u003e 对没有值的选项返回 NULL（Tom Lane）\u003c/p\u003e\n\u003cp\u003e此前这类情况会导致服务器崩溃。\u003c/p\u003e","id":"9.0.5-0a8f5042148adac6","identity_text":"Make pg_options_to_table return NULL for an option with no value (Tom Lane) Previously such cases would result in a server crash.","part":"changes","patch_ids":[],"related_changes":[{"db_id":"5b6cb6d2b65558c733595876dca7678e","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"c5a91c96a58e17d12b264f8f1d6c5d86d29e514b4299ea3b821b642e03ac9f0b"},"kind":"equivalent","label":"9.1.1","source_url":"/docs/release/9.1.1/#id-1.11.6.28.5","title":"让 pg_options_to_table 对没有值的选项返回 NULL","url":"/docs/compare/?release=9.1.1#9.1.1-0a8f5042148adac6","version":"9.1.1"}],"relations":[{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"c5a91c96a58e17d12b264f8f1d6c5d86d29e514b4299ea3b821b642e03ac9f0b"},"rule":2,"target":"5b6cb6d2b65558c733595876dca7678e","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":[],"source_entry_id":"9.0.5/changes/007","source_hash":"ef2c4fc70b5bfc80d699a96673e3d789c23325a49e97565fcfedf20919eca37b","source_url":"/docs/release/9.0.5/#id-1.11.6.23.5","statement_hash":"c5a91c96a58e17d12b264f8f1d6c5d86d29e514b4299ea3b821b642e03ac9f0b","text":"让 pg_options_to_table 对没有值的选项返回 NULL（Tom Lane） 此前这类情况会导致服务器崩溃。","title":"让 pg_options_to_table 对没有值的选项返回 NULL","variants":[],"version":"9.0.5"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":[],"commit_groups":[],"commits":[],"cves":[],"db_id":"b15ac05af66b011a2bbfd3e21b7bff04","html":"\u003cp\u003e避免在 \u003ccode\u003eANALYZE\u003c/code\u003e 和 SJIS-2004 编码转换中可能越过内存末尾的访问（Noah Misch）\u003c/p\u003e\n\u003cp\u003e这修复了一些概率极低的服务器崩溃场景。\u003c/p\u003e","id":"9.0.5-dee81aff4f59d857","identity_text":"Avoid possibly accessing off the end of memory in ANALYZE and in SJIS-2004 encoding conversion (Noah Misch) This fixes some very-low-probability server crash scenarios.","part":"changes","patch_ids":[],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":[],"source_entry_id":"9.0.5/changes/008","source_hash":"c3d1d102b63f6310954b6049ee7f546c4e39e1615eb7925670c13da9039b04a4","source_url":"/docs/release/9.0.5/#id-1.11.6.23.5","statement_hash":"4186b29ee691ee044380791f0b587ea72dae6f25e0c1ebb3c15a3ccea612782f","text":"避免在 ANALYZE 和 SJIS-2004 编码转换中可能越过内存末尾的访问（Noah Misch） 这修复了一些概率极低的服务器崩溃场景。","title":"避免在 ANALYZE 和 SJIS-2004 编码转换中可能越过内存末尾的访问","variants":[],"version":"9.0.5"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":[],"commit_groups":[],"commits":[],"cves":[],"db_id":"8f0d49ce229762abcbf44a4fe2f3c47d","html":"\u003cp\u003e保护 \u003ccode\u003epg_stat_reset_shared()\u003c/code\u003e 免受 NULL 输入（Magnus Hagander）\u003c/p\u003e","id":"9.0.5-549e27ea26c2a72a","identity_text":"Protect pg_stat_reset_shared() against NULL input (Magnus Hagander)","part":"changes","patch_ids":[],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":[],"source_entry_id":"9.0.5/changes/009","source_hash":"690a7b4ded12d3cbf2626c5dbff44f57d6d1cdb73256da7387d67a3f5e0af5f4","source_url":"/docs/release/9.0.5/#id-1.11.6.23.5","statement_hash":"8cc60c35ec3dceb774b86e4a043ec7d3a37ca8db4ed4b960b113097e1ad18fc0","text":"保护 pg_stat_reset_shared() 免受 NULL 输入（Magnus Hagander）","title":"保护 pg_stat_reset_shared() 免受 NULL 输入","variants":[],"version":"9.0.5"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":[],"commit_groups":[],"commits":[],"cves":[],"db_id":"dcf64558c3fa1974ae2244457843775c","html":"\u003cp\u003e修复在子事务内检测到恢复冲突死锁时可能的失败（Tom Lane）\u003c/p\u003e","id":"9.0.5-7486c5e6e0c9e241","identity_text":"Fix possible failure when a recovery conflict deadlock is detected within a sub-transaction (Tom Lane)","part":"changes","patch_ids":[],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":[],"source_entry_id":"9.0.5/changes/010","source_hash":"5ed8c395829e609e26f953ee7565d2852a46e0ef0a1247555e852bad67e2c092","source_url":"/docs/release/9.0.5/#id-1.11.6.23.5","statement_hash":"0973d9b455346e91c4d83873a3f16a9e881e840f15a590276e1413b0d8ba17fe","text":"修复在子事务内检测到恢复冲突死锁时可能的失败（Tom Lane）","title":"修复在子事务内检测到恢复冲突死锁时可能的失败","variants":[],"version":"9.0.5"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":[],"commit_groups":[],"commits":[],"cves":[],"db_id":"f53165e2b121acf845fc00e43a6b09b5","html":"\u003cp\u003e避免热备期间回收 btree 索引页时的虚假冲突（Noah Misch、Simon Riggs）\u003c/p\u003e","id":"9.0.5-0bfcc8b17f4790bd","identity_text":"Avoid spurious conflicts while recycling btree index pages during hot standby (Noah Misch, Simon Riggs)","part":"changes","patch_ids":[],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":[],"source_entry_id":"9.0.5/changes/011","source_hash":"f9cf2cbc69caa94d1a9069f82b7dc522c1e0e9572755ce63d6d3de5ac7a4d6ec","source_url":"/docs/release/9.0.5/#id-1.11.6.23.5","statement_hash":"b04ee02920bbdb0c84980fe57fb033d60eaebf11f2d1964b86752c70c65d0228","text":"避免热备期间回收 btree 索引页时的虚假冲突（Noah Misch、Simon Riggs）","title":"避免热备期间回收 btree 索引页时的虚假冲突","variants":[],"version":"9.0.5"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":[],"commit_groups":[],"commits":[],"cves":[],"db_id":"ac7799aef9cb07e00ee702eb95c994f1","html":"\u003cp\u003e如果恢复结束时 WAL 接收端仍在运行则将其关闭（Heikki Linnakangas）\u003c/p\u003e\n\u003cp\u003epostmaster 此前在这种情况下会 panic，但这实际上是合法的情况。\u003c/p\u003e","id":"9.0.5-3f81d1a963c876b1","identity_text":"Shut down WAL receiver if it's still running at end of recovery (Heikki Linnakangas) The postmaster formerly panicked in this situation, but it's actually a legitimate case.","part":"changes","patch_ids":[],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":[],"source_entry_id":"9.0.5/changes/012","source_hash":"307065e1847fa3e9c61b9adeb9423f1874a8df604e2d17ebe14f4ba3bd418fbb","source_url":"/docs/release/9.0.5/#id-1.11.6.23.5","statement_hash":"95c7c6fdc183c0038ec2b7d655734aa9e8669b9026940631ee2b5beba7ca4147","text":"如果恢复结束时 WAL 接收端仍在运行则将其关闭（Heikki Linnakangas） postmaster 此前在这种情况下会 panic，但这实际上是合法的情况。","title":"如果恢复结束时 WAL 接收端仍在运行则将其关闭","variants":[],"version":"9.0.5"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":[],"commit_groups":[],"commits":[],"cves":[],"db_id":"6551ce20b6d12f5ac4a62be33f11a9a5","html":"\u003cp\u003e修复 relcache init 文件失效中的竞态条件（Tom Lane）\u003c/p\u003e\n\u003cp\u003e存在一个时间窗口，新的后端进程可能读到过期的 init 文件，却错过本应告知它数据已过期的失效消息。结果是目录访问中的离奇失败，通常在启动稍后阶段报 \u003cspan\u003e“\u003cspan\u003ecould not read block 0 in file ...\u003c/span\u003e”\u003c/span\u003e。\u003c/p\u003e","id":"9.0.5-53d306ce436e59f1","identity_text":"Fix race condition in relcache init file invalidation (Tom Lane) There was a window wherein a new backend process could read a stale init file but miss the inval messages that would tell it the data is stale. The result would be bizarre failures in catalog accesses, typically could not read block 0 in file ... later during startup.","part":"changes","patch_ids":[],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":[],"source_entry_id":"9.0.5/changes/013","source_hash":"8848e6ed14a8bf17ef585d48f0788fc5916b2f69403abef8090da7b8ce2c0fc5","source_url":"/docs/release/9.0.5/#id-1.11.6.23.5","statement_hash":"9568f308fc0b02167a5a672baeecbf160a6f018e18bad2a4e2836c468ff21fe7","text":"修复 relcache init 文件失效中的竞态条件（Tom Lane） 存在一个时间窗口，新的后端进程可能读到过期的 init 文件，却错过本应告知它数据已过期的失效消息。结果是目录访问中的离奇失败，通常在启动稍后阶段报 “could not read block 0 in file ...”。","title":"修复 relcache init 文件失效中的竞态条件","variants":[],"version":"9.0.5"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":[],"commit_groups":[],"commits":[],"cves":[],"db_id":"5663370bfa82647a3e2d0d54fa53390d","html":"\u003cp\u003e修复 GiST 索引扫描结束时的内存泄漏（Tom Lane）\u003c/p\u003e\n\u003cp\u003e执行许多独立 GiST 索引扫描的命令（例如对已包含许多行的表验证新的基于 GiST 的排他约束）会因此泄漏瞬时需要大量内存。\u003c/p\u003e","id":"9.0.5-361cf834b74f649c","identity_text":"Fix memory leak at end of a GiST index scan (Tom Lane) Commands that perform many separate GiST index scans, such as verification of a new GiST-based exclusion constraint on a table already containing many rows, could transiently require large amounts of memory due to this leak.","part":"changes","patch_ids":[],"related_changes":[{"db_id":"fa34ca25147b2f0661795577525fb45e","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"8874e4cbab18a89732c29a6ac6e39590040bb8903e77ecc7207f67ff9d1b8d9c"},"kind":"equivalent","label":"9.1.1","source_url":"/docs/release/9.1.1/#id-1.11.6.28.5","title":"修复 GiST 索引扫描结束时的内存泄漏","url":"/docs/compare/?release=9.1.1#9.1.1-361cf834b74f649c","version":"9.1.1"}],"relations":[{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"8874e4cbab18a89732c29a6ac6e39590040bb8903e77ecc7207f67ff9d1b8d9c"},"rule":2,"target":"fa34ca25147b2f0661795577525fb45e","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":[],"source_entry_id":"9.0.5/changes/014","source_hash":"fdb92f56027c9ddb6a06f1a7c1a8d3eabbd8f28e1f0a26aa2ddb28460dbbe33f","source_url":"/docs/release/9.0.5/#id-1.11.6.23.5","statement_hash":"8874e4cbab18a89732c29a6ac6e39590040bb8903e77ecc7207f67ff9d1b8d9c","text":"修复 GiST 索引扫描结束时的内存泄漏（Tom Lane） 执行许多独立 GiST 索引扫描的命令（例如对已包含许多行的表验证新的基于 GiST 的排他约束）会因此泄漏瞬时需要大量内存。","title":"修复 GiST 索引扫描结束时的内存泄漏","variants":[],"version":"9.0.5"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":[],"commit_groups":[],"commits":[],"cves":[],"db_id":"af59f65f61654b847c7788988c94361a","html":"\u003cp\u003e修复当必须对传入的命令串做编码转换且 \u003ccode\u003eLISTEN\u003c/code\u003e 处于活动状态时的内存泄漏（Tom Lane）\u003c/p\u003e","id":"9.0.5-3c8c9cf483b691a6","identity_text":"Fix memory leak when encoding conversion has to be done on incoming command strings and LISTEN is active (Tom Lane)","part":"changes","patch_ids":[],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":[],"source_entry_id":"9.0.5/changes/015","source_hash":"8293189a75d056e27f46d9750bc15fabf686c0989b03125310efeecd6945ba10","source_url":"/docs/release/9.0.5/#id-1.11.6.23.5","statement_hash":"cdd5cb03934c910ad7f52513ddf61274529989dc4cd535f1b1117b96b22d9b4a","text":"修复当必须对传入的命令串做编码转换且 LISTEN 处于活动状态时的内存泄漏（Tom Lane）","title":"修复当必须对传入的命令串做编码转换且 LISTEN 处于活动状态时的内存泄漏","variants":[],"version":"9.0.5"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":[],"commit_groups":[],"commits":[],"cves":[],"db_id":"22568f3287258d608e50fe915c6d001c","html":"\u003cp\u003e修复支持可持有游标和 plpgsql 的 \u003ccode\u003eRETURN NEXT\u003c/code\u003e 命令的 tuplestore 中不正确的内存核算（可能导致内存膨胀）（Tom Lane）\u003c/p\u003e","id":"9.0.5-e41a42fdb63e20c7","identity_text":"Fix incorrect memory accounting (leading to possible memory bloat) in tuplestores supporting holdable cursors and plpgsql's RETURN NEXT command (Tom Lane)","part":"changes","patch_ids":[],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":[],"source_entry_id":"9.0.5/changes/016","source_hash":"6b8d88e22ef10075039edc4436f829c8e3a2d585a1b326a720b5ff49ee94670d","source_url":"/docs/release/9.0.5/#id-1.11.6.23.5","statement_hash":"b0e38a1946570ed2dc6271b314ae7cedc2861ec9f69ae4ccb0c1beda5016dd1f","text":"修复支持可持有游标和 plpgsql 的 RETURN NEXT 命令的 tuplestore 中不正确的内存核算（可能导致内存膨胀）（Tom Lane）","title":"修复支持可持有游标和 plpgsql 的 RETURN NEXT 命令的 tuplestore 中不正确的内存核算（可能导致内存膨胀）","variants":[],"version":"9.0.5"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":[],"commit_groups":[],"commits":[],"cves":[],"db_id":"8812d18aa06489526250e6c6492a37ee","html":"\u003cp\u003e修复同时存在 \u003ccode\u003eBEFORE\u003c/code\u003e 和 \u003ccode\u003eAFTER\u003c/code\u003e 触发器时的触发器 \u003ccode\u003eWHEN\u003c/code\u003e 条件（Tom Lane）\u003c/p\u003e\n\u003cp\u003e如果同一更新曾触发过 \u003ccode\u003eBEFORE ROW\u003c/code\u003e 触发器，\u003ccode\u003eAFTER ROW UPDATE\u003c/code\u003e 触发器的 \u003ccode\u003eWHEN\u003c/code\u003e 条件求值可能崩溃。\u003c/p\u003e","id":"9.0.5-76e08001a2d87682","identity_text":"Fix trigger WHEN conditions when both BEFORE and AFTER triggers exist (Tom Lane) Evaluation of WHEN conditions for AFTER ROW UPDATE triggers could crash if there had been a BEFORE ROW trigger fired for the same update.","part":"changes","patch_ids":[],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":[],"source_entry_id":"9.0.5/changes/017","source_hash":"bc070d7d0309506446a2f74c037a95dbc388e4114aa327c57b9966eb1e9587cc","source_url":"/docs/release/9.0.5/#id-1.11.6.23.5","statement_hash":"d0efaefc1fe59fca219af6ae6af3585d49e137a731f08f8b0299062cfee6780a","text":"修复同时存在 BEFORE 和 AFTER 触发器时的触发器 WHEN 条件（Tom Lane） 如果同一更新曾触发过 BEFORE ROW 触发器，AFTER ROW UPDATE 触发器的 WHEN 条件求值可能崩溃。","title":"修复同时存在 BEFORE 和 AFTER 触发器时的触发器 WHEN 条件","variants":[],"version":"9.0.5"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":[],"commit_groups":[],"commits":[],"cves":[],"db_id":"55cc6f55cba55ffa93ef57961be2ac95","html":"\u003cp\u003e修复构造大型有损位图时的性能问题（Tom Lane）\u003c/p\u003e","id":"9.0.5-948aaf28ba2649ce","identity_text":"Fix performance problem when constructing a large, lossy bitmap (Tom Lane)","part":"changes","patch_ids":[],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":[],"source_entry_id":"9.0.5/changes/018","source_hash":"b85224e0f6a8b93e2351815fb20a2503c37e04e35e70fc2f5d62e63f6d9556d8","source_url":"/docs/release/9.0.5/#id-1.11.6.23.5","statement_hash":"e44ebdbcbb59cf95f8c20bc38cd4e83e633de9440fdefc182753b42951bc8531","text":"修复构造大型有损位图时的性能问题（Tom Lane）","title":"修复构造大型有损位图时的性能问题","variants":[],"version":"9.0.5"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":[],"commit_groups":[],"commits":[],"cves":[],"db_id":"7dad43c8353783a77a650810dae8791b","html":"\u003cp\u003e修复唯一列的连接选择率估计（Tom Lane）\u003c/p\u003e\n\u003cp\u003e这修复了一个可能错误估计连接结果大小的规划器启发式规则。\u003c/p\u003e","id":"9.0.5-8b0415156c792b22","identity_text":"Fix join selectivity estimation for unique columns (Tom Lane) This fixes an erroneous planner heuristic that could lead to poor estimates of the result size of a join.","part":"changes","patch_ids":[],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":[],"source_entry_id":"9.0.5/changes/019","source_hash":"905ec20ae679c45d08d02bc727e9826ea1433ccdb194e3f1b6480afe38379014","source_url":"/docs/release/9.0.5/#id-1.11.6.23.5","statement_hash":"a87da81d67ddab08c882787371b18e36ad654341a685b5aee4e0c2a345945018","text":"修复唯一列的连接选择率估计（Tom Lane） 这修复了一个可能错误估计连接结果大小的规划器启发式规则。","title":"修复唯一列的连接选择率估计","variants":[],"version":"9.0.5"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":[],"commit_groups":[],"commits":[],"cves":[],"db_id":"1ec15e5aa85689c10c679e5644ecdbb3","html":"\u003cp\u003e修复只出现在子 SELECT 目标列表中的嵌套 PlaceHolderVar 表达式（Tom Lane）\u003c/p\u003e\n\u003cp\u003e这一失误可能导致外连接的输出错误地显示为 NULL。\u003c/p\u003e","id":"9.0.5-81466eafb8c57f7f","identity_text":"Fix nested PlaceHolderVar expressions that appear only in sub-select target lists (Tom Lane) This mistake could result in outputs of an outer join incorrectly appearing as NULL.","part":"changes","patch_ids":[],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":[],"source_entry_id":"9.0.5/changes/020","source_hash":"6d4fac7e348a57bcd2e2ff08b929b0ec01aed237b9e90042764c7b39fde76b7a","source_url":"/docs/release/9.0.5/#id-1.11.6.23.5","statement_hash":"a1ebaf9d60cf87245f05e4ca30d1c9519a35b410ad3bfa5187a254be8277046e","text":"修复只出现在子 SELECT 目标列表中的嵌套 PlaceHolderVar 表达式（Tom Lane） 这一失误可能导致外连接的输出错误地显示为 NULL。","title":"修复只出现在子 SELECT 目标列表中的嵌套 PlaceHolderVar 表达式","variants":[],"version":"9.0.5"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":[],"commit_groups":[],"commits":[],"cves":[],"db_id":"c8f7aab04e542ab8eef63ad57ad69a58","html":"\u003cp\u003e允许规划器假定空的父表真的是空的（Tom Lane）\u003c/p\u003e\n\u003cp\u003e通常为了规划目的，空表被假定具有某个最小大小；但对继承层次的父表而言，这一启发式规则似乎弊大于利，因为父表往往永久为空。\u003c/p\u003e","id":"9.0.5-8ce828eab01765b8","identity_text":"Allow the planner to assume that empty parent tables really are empty (Tom Lane) Normally an empty table is assumed to have a certain minimum size for planning purposes; but this heuristic seems to do more harm than good for the parent table of an inheritance hierarchy, which often is permanently empty.","part":"changes","patch_ids":[],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":[],"source_entry_id":"9.0.5/changes/021","source_hash":"b795a1b013ccaebf53d936042a5f25065dc105d45f5137249635bae3af007ade","source_url":"/docs/release/9.0.5/#id-1.11.6.23.5","statement_hash":"59b6c8414da6433822282d9a7285d01cd2bb6c6c848bc70bcaf78952d5f3869c","text":"允许规划器假定空的父表真的是空的（Tom Lane） 通常为了规划目的，空表被假定具有某个最小大小；但对继承层次的父表而言，这一启发式规则似乎弊大于利，因为父表往往永久为空。","title":"允许规划器假定空的父表真的是空的","variants":[],"version":"9.0.5"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":[],"commit_groups":[],"commits":[],"cves":[],"db_id":"f6a8d525781f247b1a0254e2b4a48382","html":"\u003cp\u003e允许嵌套的 \u003ccode\u003eEXISTS\u003c/code\u003e 查询被正确优化（Tom Lane）\u003c/p\u003e","id":"9.0.5-5a8d36db3efb478e","identity_text":"Allow nested EXISTS queries to be optimized properly (Tom Lane)","part":"changes","patch_ids":[],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":[],"source_entry_id":"9.0.5/changes/022","source_hash":"abbe7021646a675c5a3674a1fbde6ecfaeed34272aea284bc5c2f5c1acd35986","source_url":"/docs/release/9.0.5/#id-1.11.6.23.5","statement_hash":"dcef8b96e4b546e00bc6c7cd1bc4374b0e11912df74c689eeb6cf36160edf55f","text":"允许嵌套的 EXISTS 查询被正确优化（Tom Lane）","title":"允许嵌套的 EXISTS 查询被正确优化","variants":[],"version":"9.0.5"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":[],"commit_groups":[],"commits":[],"cves":[],"db_id":"9497e669ed72fd24145b3791e61de4b8","html":"\u003cp\u003e修复数组和路径创建函数，确保填充字节为零（Tom Lane）\u003c/p\u003e\n\u003cp\u003e这避免了一些规划器认为语义相等的常量不相等的情况，这种情况会导致糟糕的优化。\u003c/p\u003e","id":"9.0.5-7dae5edaca921b05","identity_text":"Fix array- and path-creating functions to ensure padding bytes are zeroes (Tom Lane) This avoids some situations where the planner will think that semantically-equal constants are not equal, resulting in poor optimization.","part":"changes","patch_ids":[],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":[],"source_entry_id":"9.0.5/changes/023","source_hash":"26c7a7b1c06241926ad8f93b103d50d184e3da400ade9e90fd3392994afe7ec2","source_url":"/docs/release/9.0.5/#id-1.11.6.23.5","statement_hash":"2e65199111f2b15f6deee34a853bdf0cc3826ec7ad190f3699234311b56fd59d","text":"修复数组和路径创建函数，确保填充字节为零（Tom Lane） 这避免了一些规划器认为语义相等的常量不相等的情况，这种情况会导致糟糕的优化。","title":"修复数组和路径创建函数，确保填充字节为零","variants":[],"version":"9.0.5"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":[],"commit_groups":[],"commits":[],"cves":[],"db_id":"3c1a8717a3e2be7ba66ba978a99be412","html":"\u003cp\u003e修复 \u003ccode\u003eEXPLAIN\u003c/code\u003e，使其处理内层索引扫描子计划中的门控 Result 节点（Tom Lane）\u003c/p\u003e\n\u003cp\u003e这一疏忽的常见症状是 \u003cspan\u003e“\u003cspan\u003ebogus varno\u003c/span\u003e”\u003c/span\u003e 错误。\u003c/p\u003e","id":"9.0.5-0229aa3a07327796","identity_text":"Fix EXPLAIN to handle gating Result nodes within inner-indexscan subplans (Tom Lane) The usual symptom of this oversight was bogus varno errors.","part":"changes","patch_ids":[],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":[],"source_entry_id":"9.0.5/changes/024","source_hash":"6d311a694997f8629e88d29471d8fc0a1eb12f400d1fee677d825f6fa0fa46fc","source_url":"/docs/release/9.0.5/#id-1.11.6.23.5","statement_hash":"e2e76fd9f19e74a4e3aea822bd1a9996bc1e63c2c5498f3059347a930f80877a","text":"修复 EXPLAIN，使其处理内层索引扫描子计划中的门控 Result 节点（Tom Lane） 这一疏忽的常见症状是 “bogus varno” 错误。","title":"修复 EXPLAIN，使其处理内层索引扫描子计划中的门控 Result 节点","variants":[],"version":"9.0.5"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":[],"commit_groups":[],"commits":[],"cves":[],"db_id":"52c1de0a09fc66d1715dd4b67ad7cd0e","html":"\u003cp\u003e修复 btree 对 \u003cem\u003e\u003ccode\u003eindexedcol\u003c/code\u003e\u003c/em\u003e \u003ccode\u003eIS NULL\u003c/code\u003e 条件的预处理（Dean Rasheed）\u003c/p\u003e\n\u003cp\u003e如果与同一索引列上任何其他类型的 btree 可索引条件组合，该条件是不可满足的。这种情况在 9.0.0 及更高版本中处理不正确，导致本应没有输出的查询产生输出。\u003c/p\u003e","id":"9.0.5-e20a487909d91a39","identity_text":"Fix btree preprocessing of indexedcol IS NULL conditions (Dean Rasheed) Such a condition is unsatisfiable if combined with any other type of btree-indexable condition on the same index column. The case was handled incorrectly in 9.0.0 and later, leading to query output where there should be none.","part":"changes","patch_ids":[],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":[],"source_entry_id":"9.0.5/changes/025","source_hash":"95b1cfec18daf2c89f04a9ec59d110a6a116b02bab52b69ab507354ba2a1f8ac","source_url":"/docs/release/9.0.5/#id-1.11.6.23.5","statement_hash":"f2ebf8238a47175eaf86883f453b54351b830b826350d910f5d0e1d38514d92c","text":"修复 btree 对 indexedcol IS NULL 条件的预处理（Dean Rasheed） 如果与同一索引列上任何其他类型的 btree 可索引条件组合，该条件是不可满足的。这种情况在 9.0.0 及更高版本中处理不正确，导致本应没有输出的查询产生输出。","title":"修复 btree 对 indexedcol IS NULL 条件的预处理","variants":[],"version":"9.0.5"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":[],"commit_groups":[],"commits":[],"cves":[],"db_id":"e88cfc316fc676ded841ba7a66217586","html":"\u003cp\u003e规避破坏 WAL 重放的 gcc 4.6.0 缺陷（Tom Lane）\u003c/p\u003e\n\u003cp\u003e这可能导致服务器崩溃后已提交事务的丢失。\u003c/p\u003e","id":"9.0.5-3b2b9f2077f1bf2d","identity_text":"Work around gcc 4.6.0 bug that breaks WAL replay (Tom Lane) This could lead to loss of committed transactions after a server crash.","part":"changes","patch_ids":[],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":[],"source_entry_id":"9.0.5/changes/026","source_hash":"c2ffe9cd686a8a73ab92ae7834f46833a99e673d0ac32e066621f69329faf181","source_url":"/docs/release/9.0.5/#id-1.11.6.23.5","statement_hash":"8bb8b96335a07e88bac007bf3bfde12d46e8a1671f066097ad5f7dbc430c5428","text":"规避破坏 WAL 重放的 gcc 4.6.0 缺陷（Tom Lane） 这可能导致服务器崩溃后已提交事务的丢失。","title":"规避破坏 WAL 重放的 gcc 4.6.0 缺陷","variants":[],"version":"9.0.5"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":[],"commit_groups":[],"commits":[],"cves":[],"db_id":"a9bfd38da546eed615afbd3d607a6a23","html":"\u003cp\u003e修复视图中 \u003ccode\u003eVALUES\u003c/code\u003e 的转储缺陷（Tom Lane）\u003c/p\u003e","id":"9.0.5-b34ce89c14574d8e","identity_text":"Fix dump bug for VALUES in a view (Tom Lane)","part":"changes","patch_ids":[],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":[],"source_entry_id":"9.0.5/changes/027","source_hash":"629f994d1adf5ea7f4954ac800a4f3c28291043f40cbb4f0e35cd2c40bc738f3","source_url":"/docs/release/9.0.5/#id-1.11.6.23.5","statement_hash":"9f960f1184908c5db3b4f5ba0263fa71977bfa10b91a8217e65307aa443aba61","text":"修复视图中 VALUES 的转储缺陷（Tom Lane）","title":"修复视图中 VALUES 的转储缺陷","variants":[],"version":"9.0.5"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":[],"commit_groups":[],"commits":[],"cves":[],"db_id":"e4e9bff2da207c3597b9846ce5f98556","html":"\u003cp\u003e禁止对序列执行 \u003ccode\u003eSELECT FOR UPDATE/SHARE\u003c/code\u003e（Tom Lane）\u003c/p\u003e\n\u003cp\u003e这种操作不像预期那样工作，可能导致失败。\u003c/p\u003e","id":"9.0.5-f221e6f1d54c79a5","identity_text":"Disallow SELECT FOR UPDATE/SHARE on sequences (Tom Lane) This operation doesn't work as expected and can lead to failures.","part":"changes","patch_ids":[],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":[],"source_entry_id":"9.0.5/changes/028","source_hash":"70fdc4e13c14e4621f265195984a05d3d15a43f5c2e65b2c5cd437e30dac4975","source_url":"/docs/release/9.0.5/#id-1.11.6.23.5","statement_hash":"e340a2209a2573f31d2d74657e9db8987726a88b80640dd6450ba3bef8872335","text":"禁止对序列执行 SELECT FOR UPDATE/SHARE（Tom Lane） 这种操作不像预期那样工作，可能导致失败。","title":"禁止对序列执行 SELECT FOR UPDATE/SHARE","variants":[],"version":"9.0.5"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":[],"commit_groups":[],"commits":[],"cves":[],"db_id":"17150a9b8c992338101b85c58ad82304","html":"\u003cp\u003e修复 \u003ccode\u003eVACUUM\u003c/code\u003e，使其总是更新 \u003ccode\u003epg_class\u003c/code\u003e.\u003ccode\u003ereltuples\u003c/code\u003e/\u003ccode\u003erelpages\u003c/code\u003e（Tom Lane）\u003c/p\u003e\n\u003cp\u003e这修复了一些自动清理可能对何时清理表做出越来越差决策的场景。\u003c/p\u003e","id":"9.0.5-229741120fe65dcf","identity_text":"Fix VACUUM so that it always updates pg_class.reltuples/relpages (Tom Lane) This fixes some scenarios where autovacuum could make increasingly poor decisions about when to vacuum tables.","part":"changes","patch_ids":[],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":[],"source_entry_id":"9.0.5/changes/029","source_hash":"4a0f450a9436ec3c5f1de00d3ad3d15309321ab56d2d83e7e77559608854fcb3","source_url":"/docs/release/9.0.5/#id-1.11.6.23.5","statement_hash":"0f5790194aaaee7128f9e6ac233fba2540e29afdc136c3c5756badf884a5fc05","text":"修复 VACUUM，使其总是更新 pg_class.reltuples/relpages（Tom Lane） 这修复了一些自动清理可能对何时清理表做出越来越差决策的场景。","title":"修复 VACUUM，使其总是更新 pg_class.reltuples/relpages","variants":[],"version":"9.0.5"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":[],"commit_groups":[],"commits":[],"cves":[],"db_id":"2579443088e1eea68df44d485fb4a18c","html":"\u003cp\u003e防御计算哈希表大小时的整数溢出（Tom Lane）\u003c/p\u003e","id":"9.0.5-3af44e85ca3eabc8","identity_text":"Defend against integer overflow when computing size of a hash table (Tom Lane)","part":"changes","patch_ids":[],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":[],"source_entry_id":"9.0.5/changes/030","source_hash":"098fd8c0a20624203516b865f8fd7c310ac29b1d093f9070030a4d4f1f8fb632","source_url":"/docs/release/9.0.5/#id-1.11.6.23.5","statement_hash":"11bdc5c76fc2b17a837929748392dd3c8e1628814149c9860b744512c540df6d","text":"防御计算哈希表大小时的整数溢出（Tom Lane）","title":"防御计算哈希表大小时的整数溢出","variants":[],"version":"9.0.5"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":[],"commit_groups":[],"commits":[],"cves":[],"db_id":"c72ef84acc516077dd9cd60b715b9d60","html":"\u003cp\u003e修复 \u003ccode\u003eCLUSTER\u003c/code\u003e 可能尝试访问已移除的 TOAST 数据的情况（Tom Lane）\u003c/p\u003e","id":"9.0.5-76d1c335be3bc54c","identity_text":"Fix cases where CLUSTER might attempt to access already-removed TOAST data (Tom Lane)","part":"changes","patch_ids":[],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":[],"source_entry_id":"9.0.5/changes/031","source_hash":"6827e20bbc7efc3ffc7f479ff5a862d7cd6856607d543770770f187d7ba3eefa","source_url":"/docs/release/9.0.5/#id-1.11.6.23.5","statement_hash":"580e9de0e176ab5203c6f021892377c1bc8b7ba56fd66a693a704f754e51ccd7","text":"修复 CLUSTER 可能尝试访问已移除的 TOAST 数据的情况（Tom Lane）","title":"修复 CLUSTER 可能尝试访问已移除的 TOAST 数据的情况","variants":[],"version":"9.0.5"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":[],"commit_groups":[],"commits":[],"cves":[],"db_id":"15a9237fa68fae4b0d10cbfc65641d21","html":"\u003cp\u003e修复初始认证事务期间的过早超时失败（Tom Lane）\u003c/p\u003e","id":"9.0.5-1b3ca72fa4a33d33","identity_text":"Fix premature timeout failures during initial authentication transaction (Tom Lane)","part":"changes","patch_ids":[],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":[],"source_entry_id":"9.0.5/changes/032","source_hash":"730a4bcc23571e31d929c47196fe9ac3e788133bfb4b35885261d1be9624122e","source_url":"/docs/release/9.0.5/#id-1.11.6.23.5","statement_hash":"732936b06c1497e801443b1408493c8dd6bd35cf4dc94249cdc36682895e6934","text":"修复初始认证事务期间的过早超时失败（Tom Lane）","title":"修复初始认证事务期间的过早超时失败","variants":[],"version":"9.0.5"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":[],"commit_groups":[],"commits":[],"cves":[],"db_id":"6f6808ceee482a9ed9d8b55a2085d442","html":"\u003cp\u003e修复 \u003cspan\u003e“\u003cspan\u003epeer\u003c/span\u003e”\u003c/span\u003e 认证使用凭据控制消息时的可移植性缺陷（Tom Lane）\u003c/p\u003e","id":"9.0.5-21a34a76836837b0","identity_text":"Fix portability bugs in use of credentials control messages for peer authentication (Tom Lane)","part":"changes","patch_ids":[],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":[],"source_entry_id":"9.0.5/changes/033","source_hash":"707e792a951a2481edd7e5198168c90e0248908585623a95eaa798f6d1ff482c","source_url":"/docs/release/9.0.5/#id-1.11.6.23.5","statement_hash":"cb6fbd738a87b296793cc48ca50f75cc9bd6f8097aa344261656ac5898e950e5","text":"修复 “peer” 认证使用凭据控制消息时的可移植性缺陷（Tom Lane）","title":"修复 “peer” 认证使用凭据控制消息时的可移植性缺陷","variants":[],"version":"9.0.5"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":[],"commit_groups":[],"commits":[],"cves":[],"db_id":"de930a64439fe15c6fb5927b1a514612","html":"\u003cp\u003e修复需要多次往返时的 SSPI 登录（Ahmed Shinwari、Magnus Hagander）\u003c/p\u003e\n\u003cp\u003e该问题的典型症状是 SSPI 登录期间的 \u003cspan\u003e“\u003cspan\u003eThe function requested is not supported\u003c/span\u003e”\u003c/span\u003e 错误。\u003c/p\u003e","id":"9.0.5-a1b4379a7835d9d9","identity_text":"Fix SSPI login when multiple roundtrips are required (Ahmed Shinwari, Magnus Hagander) The typical symptom of this problem was The function requested is not supported errors during SSPI login.","part":"changes","patch_ids":[],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":[],"source_entry_id":"9.0.5/changes/034","source_hash":"f1f3975518d8eff680f5c29ae7d80eeb58b8fe6e3eda5868fe2dc4b0ccb40b3b","source_url":"/docs/release/9.0.5/#id-1.11.6.23.5","statement_hash":"ab01a1b223d43d2a06696c29615f44109d67e8e53fd9e73b29f96228b99bf650","text":"修复需要多次往返时的 SSPI 登录（Ahmed Shinwari、Magnus Hagander） 该问题的典型症状是 SSPI 登录期间的 “The function requested is not supported” 错误。","title":"修复需要多次往返时的 SSPI 登录","variants":[],"version":"9.0.5"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":[],"commit_groups":[],"commits":[],"cves":[],"db_id":"2429c675b934971d682aca5c5a2a51a0","html":"\u003cp\u003e修复向 \u003ccode\u003epostgresql.conf\u003c/code\u003e 添加自定义变量类的新变量时的失败（Tom Lane）\u003c/p\u003e","id":"9.0.5-35f12da9cc71db20","identity_text":"Fix failure when adding a new variable of a custom variable class to postgresql.conf (Tom Lane)","part":"changes","patch_ids":[],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":[],"source_entry_id":"9.0.5/changes/035","source_hash":"4a730688e140cf7576fd0467a689781d2a0c2b65795b5e873cf42c98a9f56d91","source_url":"/docs/release/9.0.5/#id-1.11.6.23.5","statement_hash":"860673118bbda9f103f29c41b94491705df2bc27d885e8c3a28677f65aef1481","text":"修复向 postgresql.conf 添加自定义变量类的新变量时的失败（Tom Lane）","title":"修复向 postgresql.conf 添加自定义变量类的新变量时的失败","variants":[],"version":"9.0.5"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":[],"commit_groups":[],"commits":[],"cves":[],"db_id":"3bc5bad025281e1d8dfd4cd091d37411","html":"\u003cp\u003e如果 \u003ccode\u003epg_hba.conf\u003c/code\u003e 包含 \u003ccode\u003ehostssl\u003c/code\u003e 但 SSL 被禁用则抛出错误（Tom Lane）\u003c/p\u003e\n\u003cp\u003e这被认定比此前静默忽略这类行的行为更用户友好。\u003c/p\u003e","id":"9.0.5-620d44ee967cd550","identity_text":"Throw an error if pg_hba.conf contains hostssl but SSL is disabled (Tom Lane) This was concluded to be more user-friendly than the previous behavior of silently ignoring such lines.","part":"changes","patch_ids":[],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":[],"source_entry_id":"9.0.5/changes/036","source_hash":"8982feb6f172ac9516467958ba21f5fd0bba63b25632751c7c33d647d7c070ff","source_url":"/docs/release/9.0.5/#id-1.11.6.23.5","statement_hash":"c2f35d109c4dc81195dd7b963c6e4252915f05aea85b001d78188bf8ff764393","text":"如果 pg_hba.conf 包含 hostssl 但 SSL 被禁用则抛出错误（Tom Lane） 这被认定比此前静默忽略这类行的行为更用户友好。","title":"如果 pg_hba.conf 包含 hostssl 但 SSL 被禁用则抛出错误","variants":[],"version":"9.0.5"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":[],"commit_groups":[],"commits":[],"cves":[],"db_id":"a0dc2b3a31aa65c92e80428f8ebed71e","html":"\u003cp\u003e修复 \u003ccode\u003eDROP OWNED BY\u003c/code\u003e 试图移除序列上的默认权限时的失败（Shigeru Hanada）\u003c/p\u003e","id":"9.0.5-b99b09c935aaab5b","identity_text":"Fix failure when DROP OWNED BY attempts to remove default privileges on sequences (Shigeru Hanada)","part":"changes","patch_ids":[],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":[],"source_entry_id":"9.0.5/changes/037","source_hash":"5df2b0b8bda503738445a525582394d4ab8bab53fe97b3dd2a4f9e1f32ae0c3c","source_url":"/docs/release/9.0.5/#id-1.11.6.23.5","statement_hash":"8adfc2fc84bd5880acee351fdc7b516cd689cf78c485ed8e1f02c9c2f4145d31","text":"修复 DROP OWNED BY 试图移除序列上的默认权限时的失败（Shigeru Hanada）","title":"修复 DROP OWNED BY 试图移除序列上的默认权限时的失败","variants":[],"version":"9.0.5"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":[],"commit_groups":[],"commits":[],"cves":[],"db_id":"5962a5136a459cfe61cba33ad9608591","html":"\u003cp\u003e修复 \u003ccode\u003epg_srand48\u003c/code\u003e 种子初始化中的笔误（Andres Freund）\u003c/p\u003e\n\u003cp\u003e这导致未能使用所提供种子的所有位。该函数在大多数平台上不使用（只在没有 \u003ccode\u003esrandom\u003c/code\u003e 的平台上使用），而且无论如何看待，随机性低于预期的种子带来的潜在安全暴露似乎都很小。\u003c/p\u003e","id":"9.0.5-373ff2d9038657d6","identity_text":"Fix typo in pg_srand48 seed initialization (Andres Freund) This led to failure to use all bits of the provided seed. This function is not used on most platforms (only those without srandom), and the potential security exposure from a less-random-than-expected seed seems minimal in any case.","part":"changes","patch_ids":[],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":[],"source_entry_id":"9.0.5/changes/038","source_hash":"60a918ee384b378d199f8929cf7cf76bda9a26ee67a2a8f668f5664ae138553e","source_url":"/docs/release/9.0.5/#id-1.11.6.23.5","statement_hash":"bcd870012d3ceab35bcf7cfe6827d0a05c4cb6873e17b285cfa584364183123b","text":"修复 pg_srand48 种子初始化中的笔误（Andres Freund） 这导致未能使用所提供种子的所有位。该函数在大多数平台上不使用（只在没有 srandom 的平台上使用），而且无论如何看待，随机性低于预期的种子带来的潜在安全暴露似乎都很小。","title":"修复 pg_srand48 种子初始化中的笔误","variants":[],"version":"9.0.5"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":[],"commit_groups":[],"commits":[],"cves":[],"db_id":"3290d9413373e594e9f3d16c22b95063","html":"\u003cp\u003e避免 \u003ccode\u003eLIMIT\u003c/code\u003e 与 \u003ccode\u003eOFFSET\u003c/code\u003e 值之和超过 2^63 时的整数溢出（Heikki Linnakangas）\u003c/p\u003e","id":"9.0.5-b2e9aa965a56523a","identity_text":"Avoid integer overflow when the sum of LIMIT and OFFSET values exceeds 2^63 (Heikki Linnakangas)","part":"changes","patch_ids":[],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":[],"source_entry_id":"9.0.5/changes/039","source_hash":"cbff0cd5e458765535aafff1b67fb705e452f4d7a543a564039dfe7669c38297","source_url":"/docs/release/9.0.5/#id-1.11.6.23.5","statement_hash":"df1103b9b1d8136ab89450a9726f7d52ff2b187e15d20c2f99ad5bc0cc081c8a","text":"避免 LIMIT 与 OFFSET 值之和超过 2^63 时的整数溢出（Heikki Linnakangas）","title":"避免 LIMIT 与 OFFSET 值之和超过 2^63 时的整数溢出","variants":[],"version":"9.0.5"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":[],"commit_groups":[],"commits":[],"cves":[],"db_id":"7bd0bd68be3423196286d7df132d3ce5","html":"\u003cp\u003e为 \u003ccode\u003egenerate_series()\u003c/code\u003e 的 \u003ccode\u003eint4\u003c/code\u003e 和 \u003ccode\u003eint8\u003c/code\u003e 版本添加溢出检查（Robert Haas）\u003c/p\u003e","id":"9.0.5-df66ecf58509fb9f","identity_text":"Add overflow checks to int4 and int8 versions of generate_series() (Robert Haas)","part":"changes","patch_ids":[],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":[],"source_entry_id":"9.0.5/changes/040","source_hash":"861cd787a619f30ef483a608e1a235c5d5e47feda526742794177624b679faa9","source_url":"/docs/release/9.0.5/#id-1.11.6.23.5","statement_hash":"215cad62583c2586e6931a68fc9ba4882dc260258f16c8cbcd0bd908a9f51195","text":"为 generate_series() 的 int4 和 int8 版本添加溢出检查（Robert Haas）","title":"为 generate_series() 的 int4 和 int8 版本添加溢出检查","variants":[],"version":"9.0.5"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":[],"commit_groups":[],"commits":[],"cves":[],"db_id":"29fee015b85b064dbe56a39bd2d43f89","html":"\u003cp\u003e修复 \u003ccode\u003eto_char()\u003c/code\u003e 中移除尾随零的问题（Marti Raudsepp）\u003c/p\u003e\n\u003cp\u003e在使用 \u003ccode\u003eFM\u003c/code\u003e 且小数点后没有数字位的格式中，小数点左侧的零可能被错误移除。\u003c/p\u003e","id":"9.0.5-66d9f7e566186b07","identity_text":"Fix trailing-zero removal in to_char() (Marti Raudsepp) In a format with FM and no digit positions after the decimal point, zeroes to the left of the decimal point could be removed incorrectly.","part":"changes","patch_ids":[],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":[],"source_entry_id":"9.0.5/changes/041","source_hash":"77f445402e0bba2b6c603b84d6588e215599762946cfbd630eed0efac13ae4e0","source_url":"/docs/release/9.0.5/#id-1.11.6.23.5","statement_hash":"74a1cb9a6c71025cc94e282f923c5fd5efd2eb5d38d77873e690ba73f2dcd453","text":"修复 to_char() 中移除尾随零的问题（Marti Raudsepp） 在使用 FM 且小数点后没有数字位的格式中，小数点左侧的零可能被错误移除。","title":"修复 to_char() 中移除尾随零的问题","variants":[],"version":"9.0.5"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":[],"commit_groups":[],"commits":[],"cves":[],"db_id":"0949a94d1689920f980cc74e0bb2334a","html":"\u003cp\u003e修复 \u003ccode\u003epg_size_pretty()\u003c/code\u003e，避免接近 2^63 的输入溢出（Tom Lane）\u003c/p\u003e","id":"9.0.5-c921c6ce97351436","identity_text":"Fix pg_size_pretty() to avoid overflow for inputs close to 2^63 (Tom Lane)","part":"changes","patch_ids":[],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":[],"source_entry_id":"9.0.5/changes/042","source_hash":"1e682cfab495656deeb16686c72ee7587d86f63b17d31293981f9cad77061e8a","source_url":"/docs/release/9.0.5/#id-1.11.6.23.5","statement_hash":"f312e0450f959ec585908dd60e566d7bfd321ce8ddadb2fa2a96d1a9a807d14b","text":"修复 pg_size_pretty()，避免接近 2^63 的输入溢出（Tom Lane）","title":"修复 pg_size_pretty()，避免接近 2^63 的输入溢出","variants":[],"version":"9.0.5"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":[],"commit_groups":[],"commits":[],"cves":[],"db_id":"aa5c1fc267ab4160fca5c4b2d84f5083","html":"\u003cp\u003e放宽 plpgsql 对记录值中 typmod 匹配的检查（Tom Lane）\u003c/p\u003e\n\u003cp\u003e过于严格的检查可能导致丢弃本应保留的长度修饰符。\u003c/p\u003e","id":"9.0.5-79fa954be0c93585","identity_text":"Weaken plpgsql's check for typmod matching in record values (Tom Lane) An overly enthusiastic check could lead to discarding length modifiers that should have been kept.","part":"changes","patch_ids":[],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":[],"source_entry_id":"9.0.5/changes/043","source_hash":"08b79c31cb927f9fe618aceef340960d24be3847cb653738b99f11b820993446","source_url":"/docs/release/9.0.5/#id-1.11.6.23.5","statement_hash":"cad4edd036a183354d872eec2c4c84858fb28b0c988301e582c1b18543fcb0a1","text":"放宽 plpgsql 对记录值中 typmod 匹配的检查（Tom Lane） 过于严格的检查可能导致丢弃本应保留的长度修饰符。","title":"放宽 plpgsql 对记录值中 typmod 匹配的检查","variants":[],"version":"9.0.5"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":[],"commit_groups":[],"commits":[],"cves":[],"db_id":"5a38c8c5ca59255222e5985f0a9bdf0c","html":"\u003cp\u003e在 \u003cspan\u003einitdb\u003c/span\u003e 期间正确处理区域名中的引号（Heikki Linnakangas）\u003c/p\u003e\n\u003cp\u003e这种情况可能出现在某些 Windows 区域设置下，例如\u003cspan\u003e“\u003cspan\u003ePeople's Republic of China\u003c/span\u003e”\u003c/span\u003e。\u003c/p\u003e","id":"9.0.5-1d0f582e6ca971f5","identity_text":"Correctly handle quotes in locale names during initdb (Heikki Linnakangas) The case can arise with some Windows locales, such as People's Republic of China.","part":"changes","patch_ids":[],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":[],"source_entry_id":"9.0.5/changes/044","source_hash":"cd44d96038b8d61704ab9f6996a310da211855039d0c85b76a1c9fa8bcacf7a5","source_url":"/docs/release/9.0.5/#id-1.11.6.23.5","statement_hash":"4d0a997eb7763684cee9e01ea136e39c98657c75d954f3f9c65b6baa4944248b","text":"在 initdb 期间正确处理区域名中的引号（Heikki Linnakangas） 这种情况可能出现在某些 Windows 区域设置下，例如“People's Republic of China”。","title":"在 initdb 期间正确处理区域名中的引号","variants":[],"version":"9.0.5"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":[],"commit_groups":[],"commits":[],"cves":[],"db_id":"765c8c68aa3b0490a3144b5de0374973","html":"\u003cp\u003e在 \u003cspan\u003epg_upgrade\u003c/span\u003e 中，避免转储孤儿临时表（Bruce Momjian）\u003c/p\u003e\n\u003cp\u003e这防止了表 OID 分配在新旧安装之间失去同步的情况。\u003c/p\u003e","id":"9.0.5-f02aa99a218ec1aa","identity_text":"In pg_upgrade, avoid dumping orphaned temporary tables (Bruce Momjian) This prevents situations wherein table OID assignments could get out of sync between old and new installations.","part":"changes","patch_ids":[],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":[],"source_entry_id":"9.0.5/changes/045","source_hash":"833100418cbcbcafcf60497ce8292624bfc8c69a0de75bdef107584197b1484c","source_url":"/docs/release/9.0.5/#id-1.11.6.23.5","statement_hash":"c33616aeadca6719d71e7f27485695b8da8c2070c734f3f96ba51c7887464d95","text":"在 pg_upgrade 中，避免转储孤儿临时表（Bruce Momjian） 这防止了表 OID 分配在新旧安装之间失去同步的情况。","title":"在 pg_upgrade 中，避免转储孤儿临时表","variants":[],"version":"9.0.5"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":[],"commit_groups":[],"commits":[],"cves":[],"db_id":"8415c1c3dc08f38f1d45d652f862a1bd","html":"\u003cp\u003e修复 \u003cspan\u003epg_upgrade\u003c/span\u003e，使其在从 8.3 升级期间保留 toast 表的 relfrozenxid（Bruce Momjian）\u003c/p\u003e\n\u003cp\u003e不这样做可能导致升级后 \u003ccode\u003epg_clog\u003c/code\u003e 文件被过早删除。\u003c/p\u003e","id":"9.0.5-199ca631561f96b9","identity_text":"Fix pg_upgrade to preserve toast tables' relfrozenxids during an upgrade from 8.3 (Bruce Momjian) Failure to do this could lead to pg_clog files being removed too soon after the upgrade.","part":"changes","patch_ids":[],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":[],"source_entry_id":"9.0.5/changes/046","source_hash":"55b103784c1a48d9797ebde9cd3be98d5f818fb214c1c62e32fdb72f7012ff4e","source_url":"/docs/release/9.0.5/#id-1.11.6.23.5","statement_hash":"ddc1c6526624820884e9f9bc0e99ac5f553bc01deb160b27459d3be5b7c959d4","text":"修复 pg_upgrade，使其在从 8.3 升级期间保留 toast 表的 relfrozenxid（Bruce Momjian） 不这样做可能导致升级后 pg_clog 文件被过早删除。","title":"修复 pg_upgrade，使其在从 8.3 升级期间保留 toast 表的 relfrozenxid","variants":[],"version":"9.0.5"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":[],"commit_groups":[],"commits":[],"cves":[],"db_id":"a9824c0aa58301fc7d30e458e944f408","html":"\u003cp\u003e修复 \u003cspan\u003epg_upgrade\u003c/span\u003e 的 \u003ccode\u003e-l\u003c/code\u003e（日志）选项在 Windows 上工作的问题（Bruce Momjian）\u003c/p\u003e","id":"9.0.5-d0e63265a941ae1f","identity_text":"In pg_upgrade, fix the -l (log) option to work on Windows (Bruce Momjian)","part":"changes","patch_ids":[],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":[],"source_entry_id":"9.0.5/changes/047","source_hash":"b767a553ac2357ab2e5840bd1ebf4708de28b1612708f74349c83e3992337f96","source_url":"/docs/release/9.0.5/#id-1.11.6.23.5","statement_hash":"99bd558234664f9b2640a6181cc522c38b44ee08c0f165e6db4aa77147d08e2c","text":"修复 pg_upgrade 的 -l（日志）选项在 Windows 上工作的问题（Bruce Momjian）","title":"修复 pg_upgrade 的 -l（日志）选项在 Windows 上工作的问题","variants":[],"version":"9.0.5"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":[],"commit_groups":[],"commits":[],"cves":[],"db_id":"7ccef7a9a042c981506ef45de83bb0af","html":"\u003cp\u003e在 \u003cspan\u003epg_ctl\u003c/span\u003e 中，支持 Windows 上服务注册的静默模式（MauMau）\u003c/p\u003e","id":"9.0.5-7a71612309b0978a","identity_text":"In pg_ctl, support silent mode for service registrations on Windows (MauMau)","part":"changes","patch_ids":[],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":[],"source_entry_id":"9.0.5/changes/048","source_hash":"33f01ca79eb91e9b23c37a613e543ab8df36c5365b047c5c567dfe96eadc1b8f","source_url":"/docs/release/9.0.5/#id-1.11.6.23.5","statement_hash":"960e1bccb5b0eaa28fb129275454cc70f79491ecd9d16481356db89e8af55cfa","text":"在 pg_ctl 中，支持 Windows 上服务注册的静默模式（MauMau）","title":"在 pg_ctl 中，支持 Windows 上服务注册的静默模式","variants":[],"version":"9.0.5"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":[],"commit_groups":[],"commits":[],"cves":[],"db_id":"f54baf1859489d2b302ddeeb303fd1af","html":"\u003cp\u003e修复 \u003cspan\u003epsql\u003c/span\u003e 在从其他文件执行 \u003ccode\u003eCOPY\u003c/code\u003e 期间脚本文件行号计数的问题（Tom Lane）\u003c/p\u003e","id":"9.0.5-500ffa84ee5376ae","identity_text":"Fix psql's counting of script file line numbers during COPY from a different file (Tom Lane)","part":"changes","patch_ids":[],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":[],"source_entry_id":"9.0.5/changes/049","source_hash":"c0fab1c24befa47d9816567b268ab22ad0af69bdfc879edc62a1d5fbe29a2aa0","source_url":"/docs/release/9.0.5/#id-1.11.6.23.5","statement_hash":"519db0e5cadc52e87f6c27e43c26d5d968d11c033c846fc027aa2540184df5b0","text":"修复 psql 在从其他文件执行 COPY 期间脚本文件行号计数的问题（Tom Lane）","title":"修复 psql 在从其他文件执行 COPY 期间脚本文件行号计数的问题","variants":[],"version":"9.0.5"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":[],"commit_groups":[],"commits":[],"cves":[],"db_id":"cc8678655d5aa3b16b31676a4f667d50","html":"\u003cp\u003e修复 \u003cspan\u003epg_restore\u003c/span\u003e 直接写数据库模式对 \u003ccode\u003estandard_conforming_strings\u003c/code\u003e 的处理（Tom Lane）\u003c/p\u003e\n\u003cp\u003e当从以 \u003ccode\u003estandard_conforming_strings\u003c/code\u003e 设为 \u003ccode\u003eon\u003c/code\u003e 制作的归档文件直接恢复到数据库服务器时，\u003cspan\u003epg_restore\u003c/span\u003e 可能发出不正确的命令。\u003c/p\u003e","id":"9.0.5-206ed6f2c1afeb16","identity_text":"Fix pg_restore's direct-to-database mode for standard_conforming_strings (Tom Lane) pg_restore could emit incorrect commands when restoring directly to a database server from an archive file that had been made with standard_conforming_strings set to on.","part":"changes","patch_ids":[],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":[],"source_entry_id":"9.0.5/changes/050","source_hash":"b7882366a9c1a43ddbbcdf17484cbcc9a7468440c8ba51369729aab9e7948f85","source_url":"/docs/release/9.0.5/#id-1.11.6.23.5","statement_hash":"d467006aeaf351bfe5f4a918f505d5e3ae36913a993ebc5cf938382f245115ac","text":"修复 pg_restore 直接写数据库模式对 standard_conforming_strings 的处理（Tom Lane） 当从以 standard_conforming_strings 设为 on 制作的归档文件直接恢复到数据库服务器时，pg_restore 可能发出不正确的命令。","title":"修复 pg_restore 直接写数据库模式对 standard_conforming_strings 的处理","variants":[],"version":"9.0.5"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":[],"commit_groups":[],"commits":[],"cves":[],"db_id":"9ae3e4f65ca6d29df28d7d88ef3f706b","html":"\u003cp\u003e对并行 \u003cspan\u003epg_restore\u003c/span\u003e 不支持的情况更加用户友好（Tom Lane）\u003c/p\u003e\n\u003cp\u003e此变更确保这类情况在任何恢复动作发生之前就被检测并报告。\u003c/p\u003e","id":"9.0.5-fa1b620295f0059e","identity_text":"Be more user-friendly about unsupported cases for parallel pg_restore (Tom Lane) This change ensures that such cases are detected and reported before any restore actions have been taken.","part":"changes","patch_ids":[],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":[],"source_entry_id":"9.0.5/changes/051","source_hash":"e01c339f5f08e217a5548656802a1a546c2e8357e78f1069ae0242c3ab33255d","source_url":"/docs/release/9.0.5/#id-1.11.6.23.5","statement_hash":"e00782bcc74c2bc8778ccbc4a6bea49945060044e6340863f689fa2febcf9519","text":"对并行 pg_restore 不支持的情况更加用户友好（Tom Lane） 此变更确保这类情况在任何恢复动作发生之前就被检测并报告。","title":"对并行 pg_restore 不支持的情况更加用户友好","variants":[],"version":"9.0.5"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":[],"commit_groups":[],"commits":[],"cves":[],"db_id":"917cf5d250528bd3875516340bb75fd2","html":"\u003cp\u003e修复 \u003cspan\u003elibpq\u003c/span\u003e 的 LDAP 服务查找代码中的越界写入和内存泄漏（Albe Laurenz）\u003c/p\u003e","id":"9.0.5-6dab054de8c595b1","identity_text":"Fix write-past-buffer-end and memory leak in libpq's LDAP service lookup code (Albe Laurenz)","part":"changes","patch_ids":[],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":[],"source_entry_id":"9.0.5/changes/052","source_hash":"42b1fc497673eb77704d769c83fdfd6a169505a73120eac6a3b17f7ccfcdf4d6","source_url":"/docs/release/9.0.5/#id-1.11.6.23.5","statement_hash":"bd4dcb56ef61729730f9dbf2a2cd5a60227019c86baf545975db44829284ee49","text":"修复 libpq 的 LDAP 服务查找代码中的越界写入和内存泄漏（Albe Laurenz）","title":"修复 libpq 的 LDAP 服务查找代码中的越界写入和内存泄漏","variants":[],"version":"9.0.5"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":[],"commit_groups":[],"commits":[],"cves":[],"db_id":"6784e623de94a233a03e77ec426a68d5","html":"\u003cp\u003e在 \u003cspan\u003elibpq\u003c/span\u003e 中，避免使用非阻塞 I/O 和 SSL 连接时的失败（Martin Pihlak、Tom Lane）\u003c/p\u003e","id":"9.0.5-7701c79f717a3b2e","identity_text":"In libpq, avoid failures when using nonblocking I/O and an SSL connection (Martin Pihlak, Tom Lane)","part":"changes","patch_ids":[],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":[],"source_entry_id":"9.0.5/changes/053","source_hash":"a32e2369b8348097d32661a445d02d079dc08724da1d8a945d9f705326effa42","source_url":"/docs/release/9.0.5/#id-1.11.6.23.5","statement_hash":"53b787c5b6935585b58d4337feb835dadfbb96b49f5bb783930d8dc2d4037da6","text":"在 libpq 中，避免使用非阻塞 I/O 和 SSL 连接时的失败（Martin Pihlak、Tom Lane）","title":"在 libpq 中，避免使用非阻塞 I/O 和 SSL 连接时的失败","variants":[],"version":"9.0.5"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":[],"commit_groups":[],"commits":[],"cves":[],"db_id":"a8d60624652f066c216c8e69963f65b1","html":"\u003cp\u003e改进 libpq 对连接启动期间失败的处理（Tom Lane）\u003c/p\u003e\n\u003cp\u003e特别是，对 SSL 连接启动期间服务器报告 \u003ccode\u003efork()\u003c/code\u003e 失败的响应现在更合理。\u003c/p\u003e","id":"9.0.5-a101b5cab308ee6f","identity_text":"Improve libpq's handling of failures during connection startup (Tom Lane) In particular, the response to a server report of fork() failure during SSL connection startup is now saner.","part":"changes","patch_ids":[],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":[],"source_entry_id":"9.0.5/changes/054","source_hash":"4e981a97581dff259214e5ae67001fa610ca4351774c678178aa07e4bde0a366","source_url":"/docs/release/9.0.5/#id-1.11.6.23.5","statement_hash":"70c3548483e98f4e5a077408e60f4cb337e29468a95f103972a27f7f42692ba4","text":"改进 libpq 对连接启动期间失败的处理（Tom Lane） 特别是，对 SSL 连接启动期间服务器报告 fork() 失败的响应现在更合理。","title":"改进 libpq 对连接启动期间失败的处理","variants":[],"version":"9.0.5"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":[],"commit_groups":[],"commits":[],"cves":[],"db_id":"2da6cd33cd6257df7bd32170cbc8cbee","html":"\u003cp\u003e改进 \u003cspan\u003elibpq\u003c/span\u003e 对 SSL 失败的错误报告（Tom Lane）\u003c/p\u003e","id":"9.0.5-0972c9710f08dd0e","identity_text":"Improve libpq's error reporting for SSL failures (Tom Lane)","part":"changes","patch_ids":[],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":[],"source_entry_id":"9.0.5/changes/055","source_hash":"dcb9d57f3052090ee17199fe01b19fe37badbb965406f2992e40d12ae129f803","source_url":"/docs/release/9.0.5/#id-1.11.6.23.5","statement_hash":"804f0119bbe102ff21ef4975ee11f69540630023e00cc072e1b8a1e49b5da912","text":"改进 libpq 对 SSL 失败的错误报告（Tom Lane）","title":"改进 libpq 对 SSL 失败的错误报告","variants":[],"version":"9.0.5"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":[],"commit_groups":[],"commits":[],"cves":[],"db_id":"52b8cb8ac298dc4913395ca23fb98988","html":"\u003cp\u003e修复 \u003ccode\u003ePQsetvalue()\u003c/code\u003e，避免向最初来自服务器查询的 \u003ccode\u003ePGresult\u003c/code\u003e 添加新元组时可能崩溃（Andrew Chernow）\u003c/p\u003e","id":"9.0.5-16f52d1ed3025c0f","identity_text":"Fix PQsetvalue() to avoid possible crash when adding a new tuple to a PGresult originally obtained from a server query (Andrew Chernow)","part":"changes","patch_ids":[],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":[],"source_entry_id":"9.0.5/changes/056","source_hash":"4ded92db027fc053fae3ee81bf7aabc3a4b23ecc7d98da7daec51124c400ec9b","source_url":"/docs/release/9.0.5/#id-1.11.6.23.5","statement_hash":"6974b93cba3c7b9889b7720f95285c3e35c9cdd8eff0e5109cbfbd27889b830e","text":"修复 PQsetvalue()，避免向最初来自服务器查询的 PGresult 添加新元组时可能崩溃（Andrew Chernow）","title":"修复 PQsetvalue()，避免向最初来自服务器查询的 PGresult 添加新元组时可能崩溃","variants":[],"version":"9.0.5"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":[],"commit_groups":[],"commits":[],"cves":[],"db_id":"32cce2f386b93225e8c1512983a0775e","html":"\u003cp\u003e让 \u003cspan\u003eecpglib\u003c/span\u003e 以 15 位精度写 \u003ccode\u003edouble\u003c/code\u003e 值（Akira Kurosawa）\u003c/p\u003e","id":"9.0.5-30de52633c6b1378","identity_text":"Make ecpglib write double values with 15 digits precision (Akira Kurosawa)","part":"changes","patch_ids":[],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":[],"source_entry_id":"9.0.5/changes/057","source_hash":"8cf58ed2e410ab492228bb8281ae2c441ea2d2e906bb26242aee059ee6956c20","source_url":"/docs/release/9.0.5/#id-1.11.6.23.5","statement_hash":"ab2cb34b99e58c77332ebe45246e9ce93b901e3b8144d6cb26c5ee1c0058f1db","text":"让 ecpglib 以 15 位精度写 double 值（Akira Kurosawa）","title":"让 ecpglib 以 15 位精度写 double 值","variants":[],"version":"9.0.5"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":[],"commit_groups":[],"commits":[],"cves":[],"db_id":"c4c61e913a9b8376eeb4c1539cba75c5","html":"\u003cp\u003e在 \u003cspan\u003eecpglib\u003c/span\u003e 中，确保出错后恢复 \u003ccode\u003eLC_NUMERIC\u003c/code\u003e 设置（Michael Meskes）\u003c/p\u003e","id":"9.0.5-39a05104fe03bf9c","identity_text":"In ecpglib, be sure LC_NUMERIC setting is restored after an error (Michael Meskes)","part":"changes","patch_ids":[],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":[],"source_entry_id":"9.0.5/changes/058","source_hash":"69d0e25a293adf973ae955741d715d93880ef67fda7109646672864cd27f0271","source_url":"/docs/release/9.0.5/#id-1.11.6.23.5","statement_hash":"d50580bab4e2e322065c472ab7b671751d5213921e5d84a0b3e9b4d7cad668da","text":"在 ecpglib 中，确保出错后恢复 LC_NUMERIC 设置（Michael Meskes）","title":"在 ecpglib 中，确保出错后恢复 LC_NUMERIC 设置","variants":[],"version":"9.0.5"},{"also_in":[],"category":"security","category_label":"Security","commit_aliases":[],"commit_groups":[],"commits":[],"cves":["CVE-2011-2483"],"db_id":"651ec42de4f2d053dfaeed3d9006d138","html":"\u003cp\u003e应用上游对 blowfish 有符号字符缺陷的修复（CVE-2011-2483）（Tom Lane）\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003econtrib/pg_crypto\u003c/code\u003e 的 blowfish 加密代码在 char 为有符号的平台（大多数平台如此）上可能给出错误结果，导致加密口令比应有的强度更弱。\u003c/p\u003e","id":"9.0.5-45abca80e0ebbc1f","identity_text":"Apply upstream fix for blowfish signed-character bug (CVE-2011-2483) (Tom Lane) contrib/pg_crypto's blowfish encryption code could give wrong results on platforms where char is signed (which is most), leading to encrypted passwords being weaker than they should be.","part":"changes","patch_ids":[],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":[],"source_entry_id":"9.0.5/changes/059","source_hash":"8cc298dd27eea7530b7c835b7a588b7cf712ae5ba17aa774fc4f4aefed85e2e6","source_url":"/docs/release/9.0.5/#id-1.11.6.23.5","statement_hash":"e7599445eba73f2a0ab35becc6321fa0a10ab6d4b609fedfa286dcaf49e12e83","text":"应用上游对 blowfish 有符号字符缺陷的修复（CVE-2011-2483）（Tom Lane） contrib/pg_crypto 的 blowfish 加密代码在 char 为有符号的平台（大多数平台如此）上可能给出错误结果，导致加密口令比应有的强度更弱。","title":"应用上游对 blowfish 有符号字符缺陷的修复（CVE-2011-2483）","variants":[],"version":"9.0.5"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":[],"commit_groups":[],"commits":[],"cves":[],"db_id":"d6557f7f6c6aa560e0dafb9bfc9a2cda","html":"\u003cp\u003e修复 \u003ccode\u003econtrib/seg\u003c/code\u003e 中的内存泄漏（Heikki Linnakangas）\u003c/p\u003e","id":"9.0.5-042e95eb2ba19e9d","identity_text":"Fix memory leak in contrib/seg (Heikki Linnakangas)","part":"changes","patch_ids":[],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":[],"source_entry_id":"9.0.5/changes/060","source_hash":"451095d637b2d4150954c168a1251e134f9fa9339e1433dcf0cbc9508c354eec","source_url":"/docs/release/9.0.5/#id-1.11.6.23.5","statement_hash":"67a306816788ac7314daec3934f3e2c9615399c265e7dbe47ebf796fd0a7c9e8","text":"修复 contrib/seg 中的内存泄漏（Heikki Linnakangas）","title":"修复 contrib/seg 中的内存泄漏","variants":[],"version":"9.0.5"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":[],"commit_groups":[],"commits":[],"cves":[],"db_id":"a9be25b986c562b01ea3aa8fab6f89d7","html":"\u003cp\u003e修复 \u003ccode\u003epgstatindex()\u003c/code\u003e，使其对空索引给出一致结果（Tom Lane）\u003c/p\u003e","id":"9.0.5-1dec28c0fe0c349f","identity_text":"Fix pgstatindex() to give consistent results for empty indexes (Tom Lane)","part":"changes","patch_ids":[],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":[],"source_entry_id":"9.0.5/changes/061","source_hash":"1e77f485d31fb68099230295cf33b84cb1694ffbbb84b1ea7dc219cd10cc3cbe","source_url":"/docs/release/9.0.5/#id-1.11.6.23.5","statement_hash":"70c8f9f25f514560603d0e618696509aa14ecd5c9bcd138035816a854f4b8af1","text":"修复 pgstatindex()，使其对空索引给出一致结果（Tom Lane）","title":"修复 pgstatindex()，使其对空索引给出一致结果","variants":[],"version":"9.0.5"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":[],"commit_groups":[],"commits":[],"cves":[],"db_id":"12181919e797977fd6a8eb4604be0f38","html":"\u003cp\u003e允许使用 perl 5.14 构建（Alex Hunsaker）\u003c/p\u003e","id":"9.0.5-d04db3a4e5896a7b","identity_text":"Allow building with perl 5.14 (Alex Hunsaker)","part":"changes","patch_ids":[],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":[],"source_entry_id":"9.0.5/changes/062","source_hash":"2e13d277be584a5c9cb5a19aa4ea51096f05ed3dff3a702a6c31c71824f5e5fa","source_url":"/docs/release/9.0.5/#id-1.11.6.23.5","statement_hash":"8da45459c0723dc9f9270d845d7831a2a1fba49fe2b0715f16416dccef7db06c","text":"允许使用 perl 5.14 构建（Alex Hunsaker）","title":"允许使用 perl 5.14 构建","variants":[],"version":"9.0.5"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":[],"commit_groups":[],"commits":[],"cves":[],"db_id":"70c32ab657796b82a95e1f86f2b0c16a","html":"\u003cp\u003e修复构建和安装文件路径包含空格的各种问题（Tom Lane）\u003c/p\u003e","id":"9.0.5-0681077ecca05c06","identity_text":"Fix assorted issues with build and install file paths containing spaces (Tom Lane)","part":"changes","patch_ids":[],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":[],"source_entry_id":"9.0.5/changes/063","source_hash":"a03ec91891f0c6438a8f27d211d85bd89cb583495c43a797fed4402818979c9c","source_url":"/docs/release/9.0.5/#id-1.11.6.23.5","statement_hash":"611b0c2aa93036b38510e3236a6a739f9631a0cd714fcda610b2f520496d31f8","text":"修复构建和安装文件路径包含空格的各种问题（Tom Lane）","title":"修复构建和安装文件路径包含空格的各种问题","variants":[],"version":"9.0.5"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":[],"commit_groups":[],"commits":[],"cves":[],"db_id":"96a19602f4b237484f0fb352155f3ed8","html":"\u003cp\u003e把时区数据文件更新为 \u003cspan\u003etzdata\u003c/span\u003e 版本 2011i for DST law changes in Canada, Egypt, Russia, Samoa, and South Sudan。\u003c/p\u003e","id":"9.0.5-390fc5430fa56c16","identity_text":"Update time zone data files to tzdata release 2011i for DST law changes in Canada, Egypt, Russia, Samoa, and South Sudan.","part":"changes","patch_ids":[],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":[],"source_entry_id":"9.0.5/changes/064","source_hash":"c7b1e5361546c15140f3f2c0461e5cf344d7a1929675dcfbfda0a219bd647810","source_url":"/docs/release/9.0.5/#id-1.11.6.23.5","statement_hash":"5a1b869d950438d25a1f8a65efc5256ff3b6ed06abf97a28ac8cc6b34237c8a2","text":"把时区数据文件更新为 tzdata 版本 2011i for DST law changes in Canada, Egypt, Russia, Samoa, and South Sudan。","title":"把时区数据文件更新为 tzdata 版本 2011i for DST law changes in Canada, Egypt, Russia, Samoa, and South Sudan。","variants":[],"version":"9.0.5"}],"entry_count":64,"eol":"2015-10-08","eol_date":"2015-10-08","label":"9.0.5","major":"9.0","manual":"9.0","manual_build":"9.0.23","manual_url":"/docs/9.0/release-9-0-5.html","migration_html":"\u003cp\u003e对于运行 9.0.X 的用户，不需要进行转储/恢复。\u003c/p\u003e\n\u003cp\u003e不过，如果你是从早于 9.0.4 的版本升级，请参见\u003ca href=\"/docs/9.0/release-9-0-4.html\" title=\"E.20. 版本 9.0.4\"\u003e第 E.20 节\u003c/a\u003e。\u003c/p\u003e","minor":5,"placeholder":false,"source_as_of":"","source_url":"/docs/release/9.0.5/","status":"stable","status_label":"Historical","support_days":-4022,"supported":false,"version":"9.0.5"}],"mode":"release","release_count":1,"remaining_cves":[],"security_as_of":"2026-09-26","security_regressions":[],"source_as_of":"2026-09-26","stats":[{"count":64,"key":"all","label":"All changes"},{"count":0,"key":"feature","label":"Features"},{"count":39,"key":"bugfix","label":"Bug fixes"},{"count":1,"key":"security","label":"Security"},{"count":0,"key":"performance","label":"Performance"},{"count":0,"key":"compatibility","label":"Compatibility"},{"count":24,"key":"improvement","label":"Improvements"}],"to_release":{"age_days":5495,"build":"9.0.5","changes_count":64,"compatibility_count":0,"content_hash":"4ca6c20d4ad0ad956fb670627785928c87054b869d76ec2d5d3ac1e7c4b2fbc3","date":"2011-09-26","date_text":"2011-09-26","doc_git":"","doc_loaded_at":"2026-09-26T02:56:48.570247","entry_count":64,"eol":"2015-10-08","eol_date":"2015-10-08","label":"9.0.5","major":"9.0","manual":"9.0","manual_build":"9.0.23","manual_url":"/docs/9.0/release-9-0-5.html","migration_html":"\u003cp\u003e对于运行 9.0.X 的用户，不需要进行转储/恢复。\u003c/p\u003e\n\u003cp\u003e不过，如果你是从早于 9.0.4 的版本升级，请参见\u003ca href=\"/docs/9.0/release-9-0-4.html\" title=\"E.20. 版本 9.0.4\"\u003e第 E.20 节\u003c/a\u003e。\u003c/p\u003e","minor":5,"placeholder":false,"source_as_of":"","source_url":"/docs/release/9.0.5/","status":"stable","status_label":"Historical","support_days":-4022,"supported":false,"version":"9.0.5"},"total":64,"warnings":[]}
