{"format": 1, "mode": "release", "from_release": null, "to_release": {"date": "2019-06-20", "build": "9.5.18", "major": "9.5", "minor": 18, "manual": "9.5", "status": "stable", "doc_git": "", "version": "9.5.18", "eol_date": "2021-02-11", "date_text": "2019-06-20", "supported": false, "manual_url": "/docs/9.5/release-9-5-18.html", "source_url": "/docs/release/9.5.18/", "entry_count": 14, "placeholder": false, "content_hash": "f3ae6a5389a4135b8eb82c65ce7f5695f6a5475c264a45620ceaa4acfb95f06c", "manual_build": "9.5.25", "source_as_of": "", "changes_count": 14, "doc_loaded_at": "2026-09-26T02:56:44.718140", "migration_html": "<p>对于运行 9.5.X 的用户，不需要转储/恢复。</p>\n<p>不过，如果你是从 9.5.13 之前的版本升级，参见<a href=\"/docs/9.5/release-9-5-13.html\" title=\"E.13. 版本 9.5.13\">第 E.13 节</a>。</p>", "compatibility_count": 0, "label": "9.5.18", "status_label": "历史版本", "eol": "2021-02-11", "age_days": 2659, "support_days": -2057}, "groups": [{"date": "2019-06-20", "build": "9.5.18", "major": "9.5", "minor": 18, "manual": "9.5", "status": "stable", "doc_git": "", "version": "9.5.18", "eol_date": "2021-02-11", "date_text": "2019-06-20", "supported": false, "manual_url": "/docs/9.5/release-9-5-18.html", "source_url": "/docs/release/9.5.18/", "entry_count": 14, "placeholder": false, "content_hash": "f3ae6a5389a4135b8eb82c65ce7f5695f6a5475c264a45620ceaa4acfb95f06c", "manual_build": "9.5.25", "source_as_of": "", "changes_count": 14, "doc_loaded_at": "2026-09-26T02:56:44.718140", "migration_html": "<p>对于运行 9.5.X 的用户，不需要转储/恢复。</p>\n<p>不过，如果你是从 9.5.13 之前的版本升级，参见<a href=\"/docs/9.5/release-9-5-13.html\" title=\"E.13. 版本 9.5.13\">第 E.13 节</a>。</p>", "compatibility_count": 0, "label": "9.5.18", "status_label": "历史版本", "eol": "2021-02-11", "age_days": 2659, "support_days": -2057, "entries": [{"id": "9.5.18-5cf79602a6b27f1b", "cves": [], "html": "<p>修复表带有部分排他约束时 <code>ALTER TABLE ... ALTER COLUMN TYPE</code> 的失败（Tom Lane）</p>", "text": "修复表带有部分排他约束时 ALTER TABLE ... ALTER COLUMN TYPE 的失败（Tom Lane）", "title": "修复表带有部分排他约束时 ALTER TABLE ... ALTER COLUMN TYPE 的失败", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.5.18/#id-1.11.6.12.5", "source_hash": "dd78f5c3da031fb7de4219cc56e03160053a03e93a28807fed0b1aed84bc501f", "section_path": ["变更"], "commit_groups": [["0b6edb9fb", "2981e5a61", "77d45b790", "9695ecf36", "e76de8861", "f7e99de95"]], "identity_text": "Fix failure of ALTER TABLE ... ALTER COLUMN TYPE when the table has a partial exclusion constraint (Tom Lane)", "commit_aliases": ["0b6edb9fb", "2981e5a61", "77d45b790", "9695ecf36", "e76de8861", "f7e99de95"], "source_commits": ["f7e99de95"], "source_entry_id": "9.5.18/changes/001", "db_id": "419daf02f3a6d744d20dc80723fff2eb", "patch_ids": ["0e3bf0fa29dc56c919833424b8035491"], "statement_hash": "4f5a1cb1f01b73c9908be379bcccd6339796aaaf2fa7c86619f298a20d421a2d", "relations": [{"rule": 2, "type": "equivalent", "target": "18897c934331d00b6064b3b740544c2f", "evidence": {"same_day": true, "patch_ids": ["0e3bf0fa29dc56c919833424b8035491"], "statement_hash": "4f5a1cb1f01b73c9908be379bcccd6339796aaaf2fa7c86619f298a20d421a2d"}}, {"rule": 2, "type": "equivalent", "target": "1b3fbedb7ce3b15faea5f177e5baf868", "evidence": {"same_day": true, "patch_ids": ["0e3bf0fa29dc56c919833424b8035491"], "statement_hash": "4f5a1cb1f01b73c9908be379bcccd6339796aaaf2fa7c86619f298a20d421a2d"}}, {"rule": 2, "type": "equivalent", "target": "85f75aeb03f367134a4e7d7856d2df24", "evidence": {"same_day": true, "patch_ids": ["0e3bf0fa29dc56c919833424b8035491"], "statement_hash": "4f5a1cb1f01b73c9908be379bcccd6339796aaaf2fa7c86619f298a20d421a2d"}}, {"rule": 2, "type": "equivalent", "target": "c48bc4f5d4f181dca0cb27b2d1bed2fe", "evidence": {"same_day": true, "patch_ids": ["0e3bf0fa29dc56c919833424b8035491"], "statement_hash": "4f5a1cb1f01b73c9908be379bcccd6339796aaaf2fa7c86619f298a20d421a2d"}}], "version": "9.5.18", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "18897c934331d00b6064b3b740544c2f", "kind": "equivalent", "version": "11.4", "label": "11.4", "title": "修复表具有部分排除约束时 ALTER TABLE ... ALTER COLUMN TYPE 发生的失败", "evidence": {"same_day": true, "patch_ids": ["0e3bf0fa29dc56c919833424b8035491"], "statement_hash": "4f5a1cb1f01b73c9908be379bcccd6339796aaaf2fa7c86619f298a20d421a2d"}, "url": "/docs/compare/?release=11.4#11.4-3c529015978dbea0", "source_url": "/docs/release/11.4/#id-1.11.6.23.5"}, {"db_id": "c48bc4f5d4f181dca0cb27b2d1bed2fe", "kind": "equivalent", "version": "10.9", "label": "10.9", "title": "修复表具有部分排除约束时 ALTER TABLE ... ALTER COLUMN TYPE 发生的失败", "evidence": {"same_day": true, "patch_ids": ["0e3bf0fa29dc56c919833424b8035491"], "statement_hash": "4f5a1cb1f01b73c9908be379bcccd6339796aaaf2fa7c86619f298a20d421a2d"}, "url": "/docs/compare/?release=10.9#10.9-3c529015978dbea0", "source_url": "/docs/release/10.9/#id-1.11.6.19.5"}, {"db_id": "85f75aeb03f367134a4e7d7856d2df24", "kind": "equivalent", "version": "9.6.14", "label": "9.6.14", "title": "修复表带有部分排他约束时 ALTER TABLE ... ALTER COLUMN TYPE 的失败", "evidence": {"same_day": true, "patch_ids": ["0e3bf0fa29dc56c919833424b8035491"], "statement_hash": "4f5a1cb1f01b73c9908be379bcccd6339796aaaf2fa7c86619f298a20d421a2d"}, "url": "/docs/compare/?release=9.6.14#9.6.14-5cf79602a6b27f1b", "source_url": "/docs/release/9.6.14/#id-1.11.6.15.5"}, {"db_id": "1b3fbedb7ce3b15faea5f177e5baf868", "kind": "equivalent", "version": "9.4.23", "label": "9.4.23", "title": "修复表带有部分排他约束时 ALTER TABLE ... ALTER COLUMN TYPE 的失败", "evidence": {"same_day": true, "patch_ids": ["0e3bf0fa29dc56c919833424b8035491"], "statement_hash": "4f5a1cb1f01b73c9908be379bcccd6339796aaaf2fa7c86619f298a20d421a2d"}, "url": "/docs/compare/?release=9.4.23#9.4.23-5cf79602a6b27f1b", "source_url": "/docs/release/9.4.23/#id-1.11.6.8.6"}]}, {"id": "9.5.18-52ae89e3d8d9d34e", "cves": [], "html": "<p>修复对域约束的注释执行 <code>COMMENT</code> 命令的失败（Daniel Gustafsson、Michael Paquier）</p>", "text": "修复对域约束的注释执行 COMMENT 命令的失败（Daniel Gustafsson、Michael Paquier）", "title": "修复对域约束的注释执行 COMMENT 命令的失败", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.5.18/#id-1.11.6.12.5", "source_hash": "daea23416499ddc5020ab071839ca70d116367a0418554c88b9e053cbc431b82", "section_path": ["变更"], "commit_groups": [["13f4b462d", "56a932533", "ceac4505d", "fa5f3a4bc", "ff1a25601"]], "identity_text": "Fix failure of COMMENT command for comments on domain constraints (Daniel Gustafsson, Michael Paquier)", "commit_aliases": ["13f4b462d", "56a932533", "ceac4505d", "fa5f3a4bc", "ff1a25601"], "source_commits": ["13f4b462d"], "source_entry_id": "9.5.18/changes/002", "db_id": "3a66c80262abd3c1e5dd6dd62c58ff1d", "patch_ids": ["936628d057adde522ee7f95a04c65be1"], "statement_hash": "2e0bf2804f397de360996c3647e4189cf37cb23b2c22eb1a9f4025ac87792959", "relations": [{"rule": 2, "type": "equivalent", "target": "79a41d1452c9d46df4bec0272f1d4838", "evidence": {"same_day": true, "patch_ids": ["936628d057adde522ee7f95a04c65be1"], "statement_hash": "2e0bf2804f397de360996c3647e4189cf37cb23b2c22eb1a9f4025ac87792959"}}, {"rule": 2, "type": "equivalent", "target": "c5f7cdf209f60043884dc3da739e8029", "evidence": {"same_day": true, "patch_ids": ["936628d057adde522ee7f95a04c65be1"], "statement_hash": "2e0bf2804f397de360996c3647e4189cf37cb23b2c22eb1a9f4025ac87792959"}}, {"rule": 2, "type": "equivalent", "target": "ee498eacefe406ea41e1f63a6327d0e1", "evidence": {"same_day": true, "patch_ids": ["936628d057adde522ee7f95a04c65be1"], "statement_hash": "2e0bf2804f397de360996c3647e4189cf37cb23b2c22eb1a9f4025ac87792959"}}], "version": "9.5.18", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "c5f7cdf209f60043884dc3da739e8029", "kind": "equivalent", "version": "11.4", "label": "11.4", "title": "修复为域约束添加注释时 COMMENT 命令发生的失败", "evidence": {"same_day": true, "patch_ids": ["936628d057adde522ee7f95a04c65be1"], "statement_hash": "2e0bf2804f397de360996c3647e4189cf37cb23b2c22eb1a9f4025ac87792959"}, "url": "/docs/compare/?release=11.4#11.4-df7e7ef88eea914c", "source_url": "/docs/release/11.4/#id-1.11.6.23.5"}, {"db_id": "79a41d1452c9d46df4bec0272f1d4838", "kind": "equivalent", "version": "10.9", "label": "10.9", "title": "修复为域约束添加注释时 COMMENT 命令发生的失败", "evidence": {"same_day": true, "patch_ids": ["936628d057adde522ee7f95a04c65be1"], "statement_hash": "2e0bf2804f397de360996c3647e4189cf37cb23b2c22eb1a9f4025ac87792959"}, "url": "/docs/compare/?release=10.9#10.9-df7e7ef88eea914c", "source_url": "/docs/release/10.9/#id-1.11.6.19.5"}, {"db_id": "ee498eacefe406ea41e1f63a6327d0e1", "kind": "equivalent", "version": "9.6.14", "label": "9.6.14", "title": "修复对域约束的注释执行 COMMENT 命令的失败", "evidence": {"same_day": true, "patch_ids": ["936628d057adde522ee7f95a04c65be1"], "statement_hash": "2e0bf2804f397de360996c3647e4189cf37cb23b2c22eb1a9f4025ac87792959"}, "url": "/docs/compare/?release=9.6.14#9.6.14-52ae89e3d8d9d34e", "source_url": "/docs/release/9.6.14/#id-1.11.6.15.5"}]}, {"id": "9.5.18-7b4f811fceeb4bff", "cves": [], "html": "<p>修复带重复连接名的查询的错误打印（Philip Dubé）</p>\n<p>这一疏漏导致包含此类查询的视图在转储/恢复时失败。</p>", "text": "修复带重复连接名的查询的错误打印（Philip Dubé） 这一疏漏导致包含此类查询的视图在转储/恢复时失败。", "title": "修复带重复连接名的查询的错误打印", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.5.18/#id-1.11.6.12.5", "source_hash": "9ee159ed3109c4b0f0bf1c1ffffedca601b89fb052b78ff94e7c67f0079c35ab", "section_path": ["变更"], "commit_groups": [["30d3df0a7", "3d99a8139", "8ace51a6b", "ad3e61b28", "bf612fd3a", "f95d8f810"]], "identity_text": "Fix incorrect printing of queries with duplicate join names (Philip Dubé) This oversight caused a dump/restore failure for views containing such queries.", "commit_aliases": ["30d3df0a7", "3d99a8139", "8ace51a6b", "ad3e61b28", "bf612fd3a", "f95d8f810"], "source_commits": ["bf612fd3a"], "source_entry_id": "9.5.18/changes/003", "db_id": "7a23f8ee65e5b7bcee65cd28cfc4b10c", "patch_ids": ["58dc2880d650759c2ee405bf3a9b2fdd"], "statement_hash": "9330ff3ed22edad6c481ad437d7f285101418275e0baf7a9dd075e2620dca9a1", "relations": [{"rule": 2, "type": "equivalent", "target": "2656cbfb941f38df372fc01f0006353b", "evidence": {"same_day": true, "patch_ids": ["58dc2880d650759c2ee405bf3a9b2fdd"], "statement_hash": "9330ff3ed22edad6c481ad437d7f285101418275e0baf7a9dd075e2620dca9a1"}}, {"rule": 2, "type": "equivalent", "target": "b99a1ae1d7541f85fbc0194f8c662e0d", "evidence": {"same_day": true, "patch_ids": ["58dc2880d650759c2ee405bf3a9b2fdd"], "statement_hash": "9330ff3ed22edad6c481ad437d7f285101418275e0baf7a9dd075e2620dca9a1"}}, {"rule": 2, "type": "equivalent", "target": "ce621bfa11fdf4057e33a07171485043", "evidence": {"same_day": true, "patch_ids": ["58dc2880d650759c2ee405bf3a9b2fdd"], "statement_hash": "9330ff3ed22edad6c481ad437d7f285101418275e0baf7a9dd075e2620dca9a1"}}, {"rule": 2, "type": "equivalent", "target": "da9f7a3369239a5bbd2afff9bc43dcf1", "evidence": {"same_day": true, "patch_ids": ["58dc2880d650759c2ee405bf3a9b2fdd"], "statement_hash": "9330ff3ed22edad6c481ad437d7f285101418275e0baf7a9dd075e2620dca9a1"}}], "version": "9.5.18", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "2656cbfb941f38df372fc01f0006353b", "kind": "equivalent", "version": "11.4", "label": "11.4", "title": "修复带有重复连接名称的查询的不正确输出", "evidence": {"same_day": true, "patch_ids": ["58dc2880d650759c2ee405bf3a9b2fdd"], "statement_hash": "9330ff3ed22edad6c481ad437d7f285101418275e0baf7a9dd075e2620dca9a1"}, "url": "/docs/compare/?release=11.4#11.4-67f47b7727df0059", "source_url": "/docs/release/11.4/#id-1.11.6.23.5"}, {"db_id": "ce621bfa11fdf4057e33a07171485043", "kind": "equivalent", "version": "10.9", "label": "10.9", "title": "修复带有重复连接名称的查询的不正确输出", "evidence": {"same_day": true, "patch_ids": ["58dc2880d650759c2ee405bf3a9b2fdd"], "statement_hash": "9330ff3ed22edad6c481ad437d7f285101418275e0baf7a9dd075e2620dca9a1"}, "url": "/docs/compare/?release=10.9#10.9-67f47b7727df0059", "source_url": "/docs/release/10.9/#id-1.11.6.19.5"}, {"db_id": "da9f7a3369239a5bbd2afff9bc43dcf1", "kind": "equivalent", "version": "9.6.14", "label": "9.6.14", "title": "修复带重复连接名的查询的错误打印", "evidence": {"same_day": true, "patch_ids": ["58dc2880d650759c2ee405bf3a9b2fdd"], "statement_hash": "9330ff3ed22edad6c481ad437d7f285101418275e0baf7a9dd075e2620dca9a1"}, "url": "/docs/compare/?release=9.6.14#9.6.14-7b4f811fceeb4bff", "source_url": "/docs/release/9.6.14/#id-1.11.6.15.5"}, {"db_id": "b99a1ae1d7541f85fbc0194f8c662e0d", "kind": "equivalent", "version": "9.4.23", "label": "9.4.23", "title": "修复带重复连接名的查询的错误打印", "evidence": {"same_day": true, "patch_ids": ["58dc2880d650759c2ee405bf3a9b2fdd"], "statement_hash": "9330ff3ed22edad6c481ad437d7f285101418275e0baf7a9dd075e2620dca9a1"}, "url": "/docs/compare/?release=9.4.23#9.4.23-7b4f811fceeb4bff", "source_url": "/docs/release/9.4.23/#id-1.11.6.8.6"}]}, {"id": "9.5.18-bbac378f1b5576b4", "cves": [], "html": "<p>修复正则表达式中 <code>{1,1}</code> 量词的错误优化（Tom Lane）</p>\n<p>此类量词被当作无操作而被优化掉；但文档规定它们会给所附加的子表达式施加贪婪性，或者对于非贪婪变体 <code>{1,1}?</code> 施加非贪婪性，而这没有发生。只有当子表达式包含捕获圆括号或反向引用时才会出现错误行为。</p>", "text": "修复正则表达式中 {1,1} 量词的错误优化（Tom Lane） 此类量词被当作无操作而被优化掉；但文档规定它们会给所附加的子表达式施加贪婪性，或者对于非贪婪变体 {1,1}? 施加非贪婪性，而这没有发生。只有当子表达式包含捕获圆括号或反向引用时才会出现错误行为。", "title": "修复正则表达式中 {1,1} 量词的错误优化", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.5.18/#id-1.11.6.12.5", "source_hash": "d81285e2a6306328b7c7897fbe58a4cf22c84c87d06d87f42e658d55b790921f", "section_path": ["变更"], "commit_groups": [["2a3dbc151", "72ce7acaf", "8a29ed053", "940f64792", "b1ca28e57", "d6de52636"]], "identity_text": "Fix misoptimization of {1,1} quantifiers in regular expressions (Tom Lane) Such quantifiers were treated as no-ops and optimized away; but the documentation specifies that they impose greediness, or non-greediness in the case of the non-greedy variant {1,1}?, on the subexpression they're attached to, and this did not happen. The misbehavior occurred only if the subexpression contained capturing parentheses or a back-reference.", "commit_aliases": ["2a3dbc151", "72ce7acaf", "8a29ed053", "940f64792", "b1ca28e57", "d6de52636"], "source_commits": ["d6de52636"], "source_entry_id": "9.5.18/changes/004", "db_id": "73174114b265ccd1c2f268378a985efd", "patch_ids": ["2b2b512f4caed9ee4828dfded7a7c4e2"], "statement_hash": "a6ff7faab782fac8567b0242386fd8b7832cf4c10ab1541c8b994d495869c94e", "relations": [{"rule": 2, "type": "equivalent", "target": "5e71394b1e33172a8be827640e5a6a78", "evidence": {"same_day": true, "patch_ids": ["2b2b512f4caed9ee4828dfded7a7c4e2"], "statement_hash": "a6ff7faab782fac8567b0242386fd8b7832cf4c10ab1541c8b994d495869c94e"}}, {"rule": 2, "type": "equivalent", "target": "b4eb6bb752d8331ff2cfbda5d1e99af5", "evidence": {"same_day": true, "patch_ids": ["2b2b512f4caed9ee4828dfded7a7c4e2"], "statement_hash": "a6ff7faab782fac8567b0242386fd8b7832cf4c10ab1541c8b994d495869c94e"}}, {"rule": 2, "type": "equivalent", "target": "e7491dfd0c36ebf8bbd54223bb1aa144", "evidence": {"same_day": true, "patch_ids": ["2b2b512f4caed9ee4828dfded7a7c4e2"], "statement_hash": "a6ff7faab782fac8567b0242386fd8b7832cf4c10ab1541c8b994d495869c94e"}}, {"rule": 2, "type": "equivalent", "target": "eefeca727b65b78b84cd66b05dece669", "evidence": {"same_day": true, "patch_ids": ["2b2b512f4caed9ee4828dfded7a7c4e2"], "statement_hash": "a6ff7faab782fac8567b0242386fd8b7832cf4c10ab1541c8b994d495869c94e"}}], "version": "9.5.18", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "5e71394b1e33172a8be827640e5a6a78", "kind": "equivalent", "version": "11.4", "label": "11.4", "title": "修复对正则表达式中 {1,1} 量词的不正确优化", "evidence": {"same_day": true, "patch_ids": ["2b2b512f4caed9ee4828dfded7a7c4e2"], "statement_hash": "a6ff7faab782fac8567b0242386fd8b7832cf4c10ab1541c8b994d495869c94e"}, "url": "/docs/compare/?release=11.4#11.4-11cc1d08b880a592", "source_url": "/docs/release/11.4/#id-1.11.6.23.5"}, {"db_id": "e7491dfd0c36ebf8bbd54223bb1aa144", "kind": "equivalent", "version": "10.9", "label": "10.9", "title": "修复对正则表达式中 {1,1} 量词的不正确优化", "evidence": {"same_day": true, "patch_ids": ["2b2b512f4caed9ee4828dfded7a7c4e2"], "statement_hash": "a6ff7faab782fac8567b0242386fd8b7832cf4c10ab1541c8b994d495869c94e"}, "url": "/docs/compare/?release=10.9#10.9-11cc1d08b880a592", "source_url": "/docs/release/10.9/#id-1.11.6.19.5"}, {"db_id": "eefeca727b65b78b84cd66b05dece669", "kind": "equivalent", "version": "9.6.14", "label": "9.6.14", "title": "修复正则表达式中 {1,1} 量词的错误优化", "evidence": {"same_day": true, "patch_ids": ["2b2b512f4caed9ee4828dfded7a7c4e2"], "statement_hash": "a6ff7faab782fac8567b0242386fd8b7832cf4c10ab1541c8b994d495869c94e"}, "url": "/docs/compare/?release=9.6.14#9.6.14-bbac378f1b5576b4", "source_url": "/docs/release/9.6.14/#id-1.11.6.15.5"}, {"db_id": "b4eb6bb752d8331ff2cfbda5d1e99af5", "kind": "equivalent", "version": "9.4.23", "label": "9.4.23", "title": "修复正则表达式中 {1,1} 量词的错误优化", "evidence": {"same_day": true, "patch_ids": ["2b2b512f4caed9ee4828dfded7a7c4e2"], "statement_hash": "a6ff7faab782fac8567b0242386fd8b7832cf4c10ab1541c8b994d495869c94e"}, "url": "/docs/compare/?release=9.4.23#9.4.23-bbac378f1b5576b4", "source_url": "/docs/release/9.4.23/#id-1.11.6.8.6"}]}, {"id": "9.5.18-a04ff3c749a3df8c", "cves": [], "html": "<p>避免初始化新进程的 <code>pg_stat_activity</code> 数据时可能的失败（Tom Lane）</p>\n<p>某些可能失败的操作（如把从 SSL 证书提取的字符串转换为数据库编码）在关键节内执行。那里的失败会因违反共享 <code>pg_stat_activity</code> 数据的访问协议而导致数据库范围的锁死。</p>", "text": "避免初始化新进程的 pg_stat_activity 数据时可能的失败（Tom Lane） 某些可能失败的操作（如把从 SSL 证书提取的字符串转换为数据库编码）在关键节内执行。那里的失败会因违反共享 pg_stat_activity 数据的访问协议而导致数据库范围的锁死。", "title": "避免初始化新进程的 pg_stat_activity 数据时可能的失败", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.5.18/#id-1.11.6.12.5", "source_hash": "29634793872d0eb4e9b98fcd6dc8c6784a0775f5265fd6d17854857226f28767", "section_path": ["变更"], "commit_groups": [["27d3394b0", "85ccb6899", "899f943ca", "c3d113136", "eb97242c2"]], "identity_text": "Avoid possible failures while initializing a new process's pg_stat_activity data (Tom Lane) Certain operations that could fail, such as converting strings extracted from an SSL certificate into the database encoding, were being performed inside a critical section. Failure there would result in database-wide lockup due to violating the access protocol for shared pg_stat_activity data.", "commit_aliases": ["27d3394b0", "85ccb6899", "899f943ca", "c3d113136", "eb97242c2"], "source_commits": ["899f943ca"], "source_entry_id": "9.5.18/changes/005", "db_id": "9136839290a792e7abadf4853fa80afc", "patch_ids": ["d8f43e3cfee247f6edbf4cb359c63fa9"], "statement_hash": "437f5a5cebeee4a0dc7c04664750c2672893e6eaafc7f6c2d486394ff529b2e2", "relations": [{"rule": 2, "type": "equivalent", "target": "43e222b888f6d339b2194a80c5baae97", "evidence": {"same_day": true, "patch_ids": ["d8f43e3cfee247f6edbf4cb359c63fa9"], "statement_hash": "437f5a5cebeee4a0dc7c04664750c2672893e6eaafc7f6c2d486394ff529b2e2"}}, {"rule": 2, "type": "equivalent", "target": "46e0c783bccee3bc419a5a80c387d23d", "evidence": {"same_day": true, "patch_ids": ["d8f43e3cfee247f6edbf4cb359c63fa9"], "statement_hash": "437f5a5cebeee4a0dc7c04664750c2672893e6eaafc7f6c2d486394ff529b2e2"}}, {"rule": 2, "type": "equivalent", "target": "492bd8985c7481282eea942553923e5f", "evidence": {"same_day": true, "patch_ids": ["d8f43e3cfee247f6edbf4cb359c63fa9"], "statement_hash": "437f5a5cebeee4a0dc7c04664750c2672893e6eaafc7f6c2d486394ff529b2e2"}}], "version": "9.5.18", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "43e222b888f6d339b2194a80c5baae97", "kind": "equivalent", "version": "11.4", "label": "11.4", "title": "避免初始化新进程的 pg_stat_activity 数据时可能发生的失败", "evidence": {"same_day": true, "patch_ids": ["d8f43e3cfee247f6edbf4cb359c63fa9"], "statement_hash": "437f5a5cebeee4a0dc7c04664750c2672893e6eaafc7f6c2d486394ff529b2e2"}, "url": "/docs/compare/?release=11.4#11.4-d74f32f0a1227844", "source_url": "/docs/release/11.4/#id-1.11.6.23.5"}, {"db_id": "46e0c783bccee3bc419a5a80c387d23d", "kind": "equivalent", "version": "10.9", "label": "10.9", "title": "避免初始化新进程的 pg_stat_activity 数据时可能发生的失败", "evidence": {"same_day": true, "patch_ids": ["d8f43e3cfee247f6edbf4cb359c63fa9"], "statement_hash": "437f5a5cebeee4a0dc7c04664750c2672893e6eaafc7f6c2d486394ff529b2e2"}, "url": "/docs/compare/?release=10.9#10.9-d74f32f0a1227844", "source_url": "/docs/release/10.9/#id-1.11.6.19.5"}, {"db_id": "492bd8985c7481282eea942553923e5f", "kind": "equivalent", "version": "9.6.14", "label": "9.6.14", "title": "避免初始化新进程的 pg_stat_activity 数据时可能的失败", "evidence": {"same_day": true, "patch_ids": ["d8f43e3cfee247f6edbf4cb359c63fa9"], "statement_hash": "437f5a5cebeee4a0dc7c04664750c2672893e6eaafc7f6c2d486394ff529b2e2"}, "url": "/docs/compare/?release=9.6.14#9.6.14-a04ff3c749a3df8c", "source_url": "/docs/release/9.6.14/#id-1.11.6.15.5"}]}, {"id": "9.5.18-bf0209ff63e0472d", "cves": [], "html": "<p>修复检查冲突 postmaster 是否仍在使用既有共享内存段的竞态条件（Tom Lane）</p>", "text": "修复检查冲突 postmaster 是否仍在使用既有共享内存段的竞态条件（Tom Lane）", "title": "修复检查冲突 postmaster 是否仍在使用既有共享内存段的竞态条件", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.5.18/#id-1.11.6.12.5", "source_hash": "6b410dc547bb255e33e18eaf615e83fe2390eb910f81b8796832a72dcf253fb8", "section_path": ["变更"], "commit_groups": [["3dcf45af5", "610747d86", "803f90ab7", "91a05390c", "a73c8caea", "b1cde67a4"]], "identity_text": "Fix race condition in check to see whether a pre-existing shared memory segment is still in use by a conflicting postmaster (Tom Lane)", "commit_aliases": ["3dcf45af5", "610747d86", "803f90ab7", "91a05390c", "a73c8caea", "b1cde67a4"], "source_commits": ["91a05390c"], "source_entry_id": "9.5.18/changes/006", "db_id": "ebcf9d6b59071557e6ee1fbdc63e94b6", "patch_ids": ["7bd7781fee3550eb7607c07befef081a"], "statement_hash": "dd879be66b00ecee021da17e7068e63e61bdac9b9606c0740bb936aaf5bd26da", "relations": [{"rule": 2, "type": "equivalent", "target": "2b65208026195e9279c5a53ceba66228", "evidence": {"same_day": true, "patch_ids": ["7bd7781fee3550eb7607c07befef081a"], "statement_hash": "dd879be66b00ecee021da17e7068e63e61bdac9b9606c0740bb936aaf5bd26da"}}, {"rule": 2, "type": "equivalent", "target": "78c86fc36a8a5f6abd288250eaf289f1", "evidence": {"same_day": true, "patch_ids": ["7bd7781fee3550eb7607c07befef081a"], "statement_hash": "dd879be66b00ecee021da17e7068e63e61bdac9b9606c0740bb936aaf5bd26da"}}, {"rule": 2, "type": "equivalent", "target": "9fdc1030c6b13b64ab065e3b76c5248f", "evidence": {"same_day": true, "patch_ids": ["7bd7781fee3550eb7607c07befef081a"], "statement_hash": "dd879be66b00ecee021da17e7068e63e61bdac9b9606c0740bb936aaf5bd26da"}}, {"rule": 2, "type": "equivalent", "target": "d7fe2a0ebf38ee8098fe1d6d28299d08", "evidence": {"same_day": true, "patch_ids": ["7bd7781fee3550eb7607c07befef081a"], "statement_hash": "dd879be66b00ecee021da17e7068e63e61bdac9b9606c0740bb936aaf5bd26da"}}], "version": "9.5.18", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "9fdc1030c6b13b64ab065e3b76c5248f", "kind": "equivalent", "version": "11.4", "label": "11.4", "title": "修复检查预先存在的共享内存段是否仍被冲突的 postmaster 使用时的竞争条件", "evidence": {"same_day": true, "patch_ids": ["7bd7781fee3550eb7607c07befef081a"], "statement_hash": "dd879be66b00ecee021da17e7068e63e61bdac9b9606c0740bb936aaf5bd26da"}, "url": "/docs/compare/?release=11.4#11.4-145ae36803661d4b", "source_url": "/docs/release/11.4/#id-1.11.6.23.5"}, {"db_id": "2b65208026195e9279c5a53ceba66228", "kind": "equivalent", "version": "10.9", "label": "10.9", "title": "修复检查预先存在的共享内存段是否仍被冲突的 postmaster 使用时的竞争条件", "evidence": {"same_day": true, "patch_ids": ["7bd7781fee3550eb7607c07befef081a"], "statement_hash": "dd879be66b00ecee021da17e7068e63e61bdac9b9606c0740bb936aaf5bd26da"}, "url": "/docs/compare/?release=10.9#10.9-145ae36803661d4b", "source_url": "/docs/release/10.9/#id-1.11.6.19.5"}, {"db_id": "78c86fc36a8a5f6abd288250eaf289f1", "kind": "equivalent", "version": "9.6.14", "label": "9.6.14", "title": "修复检查冲突 postmaster 是否仍在使用既有共享内存段的竞态条件", "evidence": {"same_day": true, "patch_ids": ["7bd7781fee3550eb7607c07befef081a"], "statement_hash": "dd879be66b00ecee021da17e7068e63e61bdac9b9606c0740bb936aaf5bd26da"}, "url": "/docs/compare/?release=9.6.14#9.6.14-bf0209ff63e0472d", "source_url": "/docs/release/9.6.14/#id-1.11.6.15.5"}, {"db_id": "d7fe2a0ebf38ee8098fe1d6d28299d08", "kind": "equivalent", "version": "9.4.23", "label": "9.4.23", "title": "修复检查冲突 postmaster 是否仍在使用既有共享内存段的竞态条件", "evidence": {"same_day": true, "patch_ids": ["7bd7781fee3550eb7607c07befef081a"], "statement_hash": "dd879be66b00ecee021da17e7068e63e61bdac9b9606c0740bb936aaf5bd26da"}, "url": "/docs/compare/?release=9.4.23#9.4.23-bf0209ff63e0472d", "source_url": "/docs/release/9.4.23/#id-1.11.6.8.6"}]}, {"id": "9.5.18-6d1c297754a0d746", "cves": [], "html": "<p>避免在未连接到特定数据库的进程中尝试为参数检查做数据库访问（Vignesh C、Andres Freund）</p>\n<p>这个错误可能导致诸如 <span>“<span>cannot read pg_class without having selected a database</span>”</span> 之类的失败。</p>", "text": "避免在未连接到特定数据库的进程中尝试为参数检查做数据库访问（Vignesh C、Andres Freund） 这个错误可能导致诸如 “cannot read pg_class without having selected a database” 之类的失败。", "title": "避免在未连接到特定数据库的进程中尝试为参数检查做数据库访问", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.5.18/#id-1.11.6.12.5", "source_hash": "cc03b84e150e13131d76dd41ba5f9cffacd7c6a63ab680f2e8b0b2d2bc3bcb77", "section_path": ["变更"], "commit_groups": [["483b2d7ae", "52ad5fc0a", "69f32206d", "b8607e15e", "c01556017", "fff2a7d7b"]], "identity_text": "Avoid attempting to do database accesses for parameter checking in processes that are not connected to a specific database (Vignesh C, Andres Freund) This error could result in failures like cannot read pg_class without having selected a database.", "commit_aliases": ["483b2d7ae", "52ad5fc0a", "69f32206d", "b8607e15e", "c01556017", "fff2a7d7b"], "source_commits": ["483b2d7ae"], "source_entry_id": "9.5.18/changes/007", "db_id": "90744f89a54c75c9d18bbda103670c0b", "patch_ids": ["eb7ca5a3deb1764915b19a4212f1d25e"], "statement_hash": "1a7670883364a8b3a9b3127f168808c3902ef044f9e9a3683497cbacab1e08c7", "relations": [{"rule": 2, "type": "equivalent", "target": "827a6d2e0daa51d02fae5f72e9ed1c60", "evidence": {"same_day": true, "patch_ids": ["eb7ca5a3deb1764915b19a4212f1d25e"], "statement_hash": "1a7670883364a8b3a9b3127f168808c3902ef044f9e9a3683497cbacab1e08c7"}}, {"rule": 2, "type": "equivalent", "target": "8a9e52a1d52618e73a157df3f8bb3bec", "evidence": {"same_day": true, "patch_ids": ["eb7ca5a3deb1764915b19a4212f1d25e"], "statement_hash": "1a7670883364a8b3a9b3127f168808c3902ef044f9e9a3683497cbacab1e08c7"}}, {"rule": 2, "type": "equivalent", "target": "93eb49d1a9fa05b38f11502f6653af76", "evidence": {"same_day": true, "patch_ids": ["eb7ca5a3deb1764915b19a4212f1d25e"], "statement_hash": "1a7670883364a8b3a9b3127f168808c3902ef044f9e9a3683497cbacab1e08c7"}}, {"rule": 2, "type": "equivalent", "target": "b0a2c3f14f56fa7697ddbdcfd9782707", "evidence": {"same_day": true, "patch_ids": ["eb7ca5a3deb1764915b19a4212f1d25e"], "statement_hash": "1a7670883364a8b3a9b3127f168808c3902ef044f9e9a3683497cbacab1e08c7"}}], "version": "9.5.18", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "b0a2c3f14f56fa7697ddbdcfd9782707", "kind": "equivalent", "version": "11.4", "label": "11.4", "title": "避免在未连接到特定数据库的进程中，为检查参数而尝试访问数据库", "evidence": {"same_day": true, "patch_ids": ["eb7ca5a3deb1764915b19a4212f1d25e"], "statement_hash": "1a7670883364a8b3a9b3127f168808c3902ef044f9e9a3683497cbacab1e08c7"}, "url": "/docs/compare/?release=11.4#11.4-4c8922c4b309d53f", "source_url": "/docs/release/11.4/#id-1.11.6.23.5"}, {"db_id": "8a9e52a1d52618e73a157df3f8bb3bec", "kind": "equivalent", "version": "10.9", "label": "10.9", "title": "避免在未连接到特定数据库的进程中，为检查参数而尝试访问数据库", "evidence": {"same_day": true, "patch_ids": ["eb7ca5a3deb1764915b19a4212f1d25e"], "statement_hash": "1a7670883364a8b3a9b3127f168808c3902ef044f9e9a3683497cbacab1e08c7"}, "url": "/docs/compare/?release=10.9#10.9-4c8922c4b309d53f", "source_url": "/docs/release/10.9/#id-1.11.6.19.5"}, {"db_id": "93eb49d1a9fa05b38f11502f6653af76", "kind": "equivalent", "version": "9.6.14", "label": "9.6.14", "title": "避免在未连接到特定数据库的进程中尝试为参数检查做数据库访问", "evidence": {"same_day": true, "patch_ids": ["eb7ca5a3deb1764915b19a4212f1d25e"], "statement_hash": "1a7670883364a8b3a9b3127f168808c3902ef044f9e9a3683497cbacab1e08c7"}, "url": "/docs/compare/?release=9.6.14#9.6.14-6d1c297754a0d746", "source_url": "/docs/release/9.6.14/#id-1.11.6.15.5"}, {"db_id": "827a6d2e0daa51d02fae5f72e9ed1c60", "kind": "equivalent", "version": "9.4.23", "label": "9.4.23", "title": "避免在未连接到特定数据库的进程中尝试为参数检查做数据库访问", "evidence": {"same_day": true, "patch_ids": ["eb7ca5a3deb1764915b19a4212f1d25e"], "statement_hash": "1a7670883364a8b3a9b3127f168808c3902ef044f9e9a3683497cbacab1e08c7"}, "url": "/docs/compare/?release=9.4.23#9.4.23-6d1c297754a0d746", "source_url": "/docs/release/9.4.23/#id-1.11.6.8.6"}]}, {"id": "9.5.18-3c27cb74b6e475f3", "cves": [], "html": "<p>避免使用 SSL 且 OpenSSL 未决数据缓冲区包含恰为 256 字节整数倍的数据时 <span>libpq</span> 可能的挂起（David Binderman）</p>", "text": "避免使用 SSL 且 OpenSSL 未决数据缓冲区包含恰为 256 字节整数倍的数据时 libpq 可能的挂起（David Binderman）", "title": "避免使用 SSL 且 OpenSSL 未决数据缓冲区包含恰为 256 字节整数倍的数据时 libpq 可能的挂起", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.5.18/#id-1.11.6.12.5", "source_hash": "10f72050c28b6fbdaea74574e2b1389281e6dbc3e54cb5d9ad410d4fc802005c", "section_path": ["变更"], "commit_groups": [["0ec3d2ab2", "6b0e9411f", "8eaba0b93", "ddf927fb1", "e3bf3c0f8"]], "identity_text": "Avoid possible hang in libpq if using SSL and OpenSSL's pending-data buffer contains an exact multiple of 256 bytes (David Binderman)", "commit_aliases": ["0ec3d2ab2", "6b0e9411f", "8eaba0b93", "ddf927fb1", "e3bf3c0f8"], "source_commits": ["0ec3d2ab2"], "source_entry_id": "9.5.18/changes/008", "db_id": "9d356c18f9d74f27357cb54c80b03d74", "patch_ids": ["0ddf689374641b24ad9b32c07a6d3b25"], "statement_hash": "5b71b4978f6a2e1c17c50d9d6ced5eb2c62a34a8526033fd5b36f7dabc1fe80e", "relations": [{"rule": 2, "type": "equivalent", "target": "070be28dd028f1fa3df358e99ae6bb1e", "evidence": {"same_day": true, "patch_ids": ["0ddf689374641b24ad9b32c07a6d3b25"], "statement_hash": "5b71b4978f6a2e1c17c50d9d6ced5eb2c62a34a8526033fd5b36f7dabc1fe80e"}}, {"rule": 2, "type": "equivalent", "target": "15e672bae169e5cd252f630b18a1d999", "evidence": {"same_day": true, "patch_ids": ["0ddf689374641b24ad9b32c07a6d3b25"], "statement_hash": "5b71b4978f6a2e1c17c50d9d6ced5eb2c62a34a8526033fd5b36f7dabc1fe80e"}}, {"rule": 2, "type": "equivalent", "target": "79f9916a73bfa81f171c0fe62097cf42", "evidence": {"same_day": true, "patch_ids": ["0ddf689374641b24ad9b32c07a6d3b25"], "statement_hash": "5b71b4978f6a2e1c17c50d9d6ced5eb2c62a34a8526033fd5b36f7dabc1fe80e"}}], "version": "9.5.18", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "070be28dd028f1fa3df358e99ae6bb1e", "kind": "equivalent", "version": "11.4", "label": "11.4", "title": "避免使用 SSL 且 OpenSSL 的待处理数据缓冲区恰好包含 256 字节整数倍的数据时，libpq 可能挂起的问题", "evidence": {"same_day": true, "patch_ids": ["0ddf689374641b24ad9b32c07a6d3b25"], "statement_hash": "5b71b4978f6a2e1c17c50d9d6ced5eb2c62a34a8526033fd5b36f7dabc1fe80e"}, "url": "/docs/compare/?release=11.4#11.4-c7288a946e02db73", "source_url": "/docs/release/11.4/#id-1.11.6.23.5"}, {"db_id": "79f9916a73bfa81f171c0fe62097cf42", "kind": "equivalent", "version": "10.9", "label": "10.9", "title": "避免使用 SSL 且 OpenSSL 的待处理数据缓冲区恰好包含 256 字节整数倍的数据时，libpq 可能挂起的问题", "evidence": {"same_day": true, "patch_ids": ["0ddf689374641b24ad9b32c07a6d3b25"], "statement_hash": "5b71b4978f6a2e1c17c50d9d6ced5eb2c62a34a8526033fd5b36f7dabc1fe80e"}, "url": "/docs/compare/?release=10.9#10.9-c7288a946e02db73", "source_url": "/docs/release/10.9/#id-1.11.6.19.5"}, {"db_id": "15e672bae169e5cd252f630b18a1d999", "kind": "equivalent", "version": "9.6.14", "label": "9.6.14", "title": "避免使用 SSL 且 OpenSSL 未决数据缓冲区包含恰为 256 字节整数倍的数据时 libpq 可能的挂起", "evidence": {"same_day": true, "patch_ids": ["0ddf689374641b24ad9b32c07a6d3b25"], "statement_hash": "5b71b4978f6a2e1c17c50d9d6ced5eb2c62a34a8526033fd5b36f7dabc1fe80e"}, "url": "/docs/compare/?release=9.6.14#9.6.14-3c27cb74b6e475f3", "source_url": "/docs/release/9.6.14/#id-1.11.6.15.5"}]}, {"id": "9.5.18-86822b1aaeb92736", "cves": [], "html": "<p>改进 <span>initdb</span> 对系统时区多个等价名称的处理（Tom Lane、Andrew Gierth）</p>\n<p>让 <span>initdb</span> 检查 <code>/etc/localtime</code> 符号链接（如果存在），以在系统时区的等价名称之间打破平局。这使 <span>initdb</span> 在存在多个相同时区时更可能选择用户期望的时区名。如果 <code>/etc/localtime</code> 不是指向时区数据文件的符号链接，或者时区是由 <code>TZ</code> 环境变量确定的，则不会改变行为。</p>\n<p>另外，当 <code>TZ</code> 和 <code>/etc/localtime</code> 都未提供提示时，优先选择 <code>UTC</code> 而不是该时区的其他拼法。这修复了 <span>tzdata</span> 2019a 把 <code>UCT</code> 和 <code>UTC</code> 时区名变为等价而引入的烦恼：<span>initdb</span> 随后偏爱 <code>UCT</code>，而几乎没人想要它。</p>", "text": "改进 initdb 对系统时区多个等价名称的处理（Tom Lane、Andrew Gierth） 让 initdb 检查 /etc/localtime 符号链接（如果存在），以在系统时区的等价名称之间打破平局。这使 initdb 在存在多个相同时区时更可能选择用户期望的时区名。如果 /etc/localtime 不是指向时区数据文件的符号链接，或者时区是由 TZ 环境变量确定的，则不会改变行为。 另外，当 TZ 和 /etc/localtime 都未提供提示时，优先选择 UTC 而不是该时区的其他拼法。这修复了 tzdata 2019a 把 UCT 和 UTC 时区名变为等价而引入的烦恼：initdb 随后偏爱 UCT，而几乎没人想要它。", "title": "改进 initdb 对系统时区多个等价名称的处理", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.5.18/#id-1.11.6.12.5", "source_hash": "a9324abefcb86490993f6500694a188b344669e2a048e4c4962ab76976573426", "section_path": ["变更"], "commit_groups": [["23bd3cec6", "37011bcb3", "75b0f21e1", "77dc741a1", "8de574aa8", "995b4fe0b"], ["2913a892e", "5f5b6667e", "6335f8a99", "6c66865f3", "7f28fc8e9", "e3846a00c"]], "identity_text": "Improve initdb's handling of multiple equivalent names for the system time zone (Tom Lane, Andrew Gierth) Make initdb examine the /etc/localtime symbolic link, if that exists, to break ties between equivalent names for the system time zone. This makes initdb more likely to select the time zone name that the user would expect when multiple identical time zones exist. It will not change the behavior if /etc/localtime is not a symlink to a zone data file, nor if the time zone is determined from the TZ environment variable. Separately, prefer UTC over other spellings of that time zone, when neither TZ nor /etc/localtime provide a hint. This fixes an annoyance introduced by tzdata 2019a's change to make the UCT and UTC zone names equivalent: initdb was then preferring UCT, which almost nobody wants.", "commit_aliases": ["23bd3cec6", "2913a892e", "37011bcb3", "5f5b6667e", "6335f8a99", "6c66865f3", "75b0f21e1", "77dc741a1", "7f28fc8e9", "8de574aa8", "995b4fe0b", "e3846a00c"], "source_commits": ["6335f8a99", "77dc741a1"], "source_entry_id": "9.5.18/changes/009", "db_id": "11ce04410301a153e6e0050f897d608d", "patch_ids": ["429556efc2543a34bba58149a13d0819", "d2d7849fe4c66de277698d46ca632415"], "statement_hash": "7f4a77c968fe12e2e76328fdf2dd68ef7062f7658b8085c1b882a309bf505034", "relations": [{"rule": 2, "type": "equivalent", "target": "0728457310d87fd417634bd16129a04b", "evidence": {"same_day": true, "patch_ids": ["429556efc2543a34bba58149a13d0819", "d2d7849fe4c66de277698d46ca632415"], "statement_hash": "7f4a77c968fe12e2e76328fdf2dd68ef7062f7658b8085c1b882a309bf505034"}}, {"rule": 2, "type": "equivalent", "target": "2497b4a144d095fd21f0460b26be5306", "evidence": {"same_day": true, "patch_ids": ["429556efc2543a34bba58149a13d0819", "d2d7849fe4c66de277698d46ca632415"], "statement_hash": "7f4a77c968fe12e2e76328fdf2dd68ef7062f7658b8085c1b882a309bf505034"}}, {"rule": 2, "type": "equivalent", "target": "29f18f1ebe746d38221ceef434727be3", "evidence": {"same_day": true, "patch_ids": ["429556efc2543a34bba58149a13d0819", "d2d7849fe4c66de277698d46ca632415"], "statement_hash": "7f4a77c968fe12e2e76328fdf2dd68ef7062f7658b8085c1b882a309bf505034"}}, {"rule": 2, "type": "equivalent", "target": "db9d638dfd65d89220d5cf61cd517612", "evidence": {"same_day": true, "patch_ids": ["429556efc2543a34bba58149a13d0819", "d2d7849fe4c66de277698d46ca632415"], "statement_hash": "7f4a77c968fe12e2e76328fdf2dd68ef7062f7658b8085c1b882a309bf505034"}}], "version": "9.5.18", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "2497b4a144d095fd21f0460b26be5306", "kind": "equivalent", "version": "11.4", "label": "11.4", "title": "改进 initdb 对系统时区多个等效名称的处理", "evidence": {"same_day": true, "patch_ids": ["429556efc2543a34bba58149a13d0819", "d2d7849fe4c66de277698d46ca632415"], "statement_hash": "7f4a77c968fe12e2e76328fdf2dd68ef7062f7658b8085c1b882a309bf505034"}, "url": "/docs/compare/?release=11.4#11.4-5dc50618e2a2cb30", "source_url": "/docs/release/11.4/#id-1.11.6.23.5"}, {"db_id": "0728457310d87fd417634bd16129a04b", "kind": "equivalent", "version": "10.9", "label": "10.9", "title": "改进 initdb 对系统时区多个等效名称的处理", "evidence": {"same_day": true, "patch_ids": ["429556efc2543a34bba58149a13d0819", "d2d7849fe4c66de277698d46ca632415"], "statement_hash": "7f4a77c968fe12e2e76328fdf2dd68ef7062f7658b8085c1b882a309bf505034"}, "url": "/docs/compare/?release=10.9#10.9-5dc50618e2a2cb30", "source_url": "/docs/release/10.9/#id-1.11.6.19.5"}, {"db_id": "db9d638dfd65d89220d5cf61cd517612", "kind": "equivalent", "version": "9.6.14", "label": "9.6.14", "title": "改进 initdb 对系统时区多个等价名称的处理", "evidence": {"same_day": true, "patch_ids": ["429556efc2543a34bba58149a13d0819", "d2d7849fe4c66de277698d46ca632415"], "statement_hash": "7f4a77c968fe12e2e76328fdf2dd68ef7062f7658b8085c1b882a309bf505034"}, "url": "/docs/compare/?release=9.6.14#9.6.14-86822b1aaeb92736", "source_url": "/docs/release/9.6.14/#id-1.11.6.15.5"}, {"db_id": "29f18f1ebe746d38221ceef434727be3", "kind": "equivalent", "version": "9.4.23", "label": "9.4.23", "title": "改进 initdb 对系统时区多个等价名称的处理", "evidence": {"same_day": true, "patch_ids": ["429556efc2543a34bba58149a13d0819", "d2d7849fe4c66de277698d46ca632415"], "statement_hash": "7f4a77c968fe12e2e76328fdf2dd68ef7062f7658b8085c1b882a309bf505034"}, "url": "/docs/compare/?release=9.4.23#9.4.23-86822b1aaeb92736", "source_url": "/docs/release/9.4.23/#id-1.11.6.8.6"}]}, {"id": "9.5.18-de574d8448a89f60", "cves": [], "html": "<p>修复 <span>reindexdb</span> 的误导性错误报告（Julien Rouhaud）</p>", "text": "修复 reindexdb 的误导性错误报告（Julien Rouhaud）", "title": "修复 reindexdb 的误导性错误报告", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.5.18/#id-1.11.6.12.5", "source_hash": "f7a2126690405613480bbda3156c9bcb1fb10333b63d66ed2db8febb2aa34e5f", "section_path": ["变更"], "commit_groups": [["0c132d458", "82ed20e15", "c6354e943", "e16ab408f", "e17fba8d8", "e51bad8fb"]], "identity_text": "Fix misleading error reports from reindexdb (Julien Rouhaud)", "commit_aliases": ["0c132d458", "82ed20e15", "c6354e943", "e16ab408f", "e17fba8d8", "e51bad8fb"], "source_commits": ["e17fba8d8"], "source_entry_id": "9.5.18/changes/010", "db_id": "41d93a93d28ddfdfdfe6a075f18132b9", "patch_ids": ["87f13351d4c357a600f278b50c6f2940"], "statement_hash": "24f236e255b0d0fda553a4a8105a9abe2535c98cf506d65eb7b5e9de3e359046", "relations": [{"rule": 2, "type": "equivalent", "target": "25db0b7e82ec00fbd8bb76aa1b4926da", "evidence": {"same_day": true, "patch_ids": ["87f13351d4c357a600f278b50c6f2940"], "statement_hash": "24f236e255b0d0fda553a4a8105a9abe2535c98cf506d65eb7b5e9de3e359046"}}, {"rule": 2, "type": "equivalent", "target": "621ba5703121e17eb7c7b165ac3b8066", "evidence": {"same_day": true, "patch_ids": ["87f13351d4c357a600f278b50c6f2940"], "statement_hash": "24f236e255b0d0fda553a4a8105a9abe2535c98cf506d65eb7b5e9de3e359046"}}, {"rule": 2, "type": "equivalent", "target": "856a02cbcad008d09c38f39351e36954", "evidence": {"same_day": true, "patch_ids": ["87f13351d4c357a600f278b50c6f2940"], "statement_hash": "24f236e255b0d0fda553a4a8105a9abe2535c98cf506d65eb7b5e9de3e359046"}}, {"rule": 2, "type": "equivalent", "target": "cc0588e0008f5e9301db2d09b62acc48", "evidence": {"same_day": true, "patch_ids": ["87f13351d4c357a600f278b50c6f2940"], "statement_hash": "24f236e255b0d0fda553a4a8105a9abe2535c98cf506d65eb7b5e9de3e359046"}}], "version": "9.5.18", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "856a02cbcad008d09c38f39351e36954", "kind": "equivalent", "version": "11.4", "label": "11.4", "title": "修复 reindexdb 中误导性的错误报告", "evidence": {"same_day": true, "patch_ids": ["87f13351d4c357a600f278b50c6f2940"], "statement_hash": "24f236e255b0d0fda553a4a8105a9abe2535c98cf506d65eb7b5e9de3e359046"}, "url": "/docs/compare/?release=11.4#11.4-8f5cdbadf7e64764", "source_url": "/docs/release/11.4/#id-1.11.6.23.5"}, {"db_id": "621ba5703121e17eb7c7b165ac3b8066", "kind": "equivalent", "version": "10.9", "label": "10.9", "title": "修复 reindexdb 中误导性的错误报告", "evidence": {"same_day": true, "patch_ids": ["87f13351d4c357a600f278b50c6f2940"], "statement_hash": "24f236e255b0d0fda553a4a8105a9abe2535c98cf506d65eb7b5e9de3e359046"}, "url": "/docs/compare/?release=10.9#10.9-8f5cdbadf7e64764", "source_url": "/docs/release/10.9/#id-1.11.6.19.5"}, {"db_id": "25db0b7e82ec00fbd8bb76aa1b4926da", "kind": "equivalent", "version": "9.6.14", "label": "9.6.14", "title": "修复 reindexdb 的误导性错误报告", "evidence": {"same_day": true, "patch_ids": ["87f13351d4c357a600f278b50c6f2940"], "statement_hash": "24f236e255b0d0fda553a4a8105a9abe2535c98cf506d65eb7b5e9de3e359046"}, "url": "/docs/compare/?release=9.6.14#9.6.14-de574d8448a89f60", "source_url": "/docs/release/9.6.14/#id-1.11.6.15.5"}, {"db_id": "cc0588e0008f5e9301db2d09b62acc48", "kind": "equivalent", "version": "9.4.23", "label": "9.4.23", "title": "修复 reindexdb 的误导性错误报告", "evidence": {"same_day": true, "patch_ids": ["87f13351d4c357a600f278b50c6f2940"], "statement_hash": "24f236e255b0d0fda553a4a8105a9abe2535c98cf506d65eb7b5e9de3e359046"}, "url": "/docs/compare/?release=9.4.23#9.4.23-de574d8448a89f60", "source_url": "/docs/release/9.4.23/#id-1.11.6.8.6"}]}, {"id": "9.5.18-f8ffcce72c191ba7", "cves": [], "html": "<p>确保使用并行作业时发生错误 <span>vacuumdb</span> 返回正确的状态（Julien Rouhaud）</p>", "text": "确保使用并行作业时发生错误 vacuumdb 返回正确的状态（Julien Rouhaud）", "title": "确保使用并行作业时发生错误 vacuumdb 返回正确的状态", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.5.18/#id-1.11.6.12.5", "source_hash": "75a82fb689c7eea82a60352d207b1d0a7ec5ecf25a89b6e48d0b754dd740b050", "section_path": ["变更"], "commit_groups": [["25f12acd5", "3ae3c18b3", "a475b1e77", "a9a886c6f", "db8802a99"]], "identity_text": "Ensure that vacuumdb returns correct status if an error occurs while using parallel jobs (Julien Rouhaud)", "commit_aliases": ["25f12acd5", "3ae3c18b3", "a475b1e77", "a9a886c6f", "db8802a99"], "source_commits": ["a475b1e77"], "source_entry_id": "9.5.18/changes/011", "db_id": "c86f22948fad07ea1827c34000c64949", "patch_ids": ["2e158c97054dfc69c66b85ef23a7b7cd"], "statement_hash": "bef6ed8f3612a529a970373d44b838d745f58c24fe34e3c7d45d72ca824215a9", "relations": [{"rule": 2, "type": "equivalent", "target": "56918142430354517d667af46038dd9c", "evidence": {"same_day": true, "patch_ids": ["2e158c97054dfc69c66b85ef23a7b7cd"], "statement_hash": "bef6ed8f3612a529a970373d44b838d745f58c24fe34e3c7d45d72ca824215a9"}}, {"rule": 2, "type": "equivalent", "target": "acddf8f70b395fb3a515868a1ce8dc8b", "evidence": {"same_day": true, "patch_ids": ["2e158c97054dfc69c66b85ef23a7b7cd"], "statement_hash": "bef6ed8f3612a529a970373d44b838d745f58c24fe34e3c7d45d72ca824215a9"}}, {"rule": 2, "type": "equivalent", "target": "ad8e95706176923d6519a32fc781a1c5", "evidence": {"same_day": true, "patch_ids": ["2e158c97054dfc69c66b85ef23a7b7cd"], "statement_hash": "bef6ed8f3612a529a970373d44b838d745f58c24fe34e3c7d45d72ca824215a9"}}], "version": "9.5.18", "category_label": "BUG 修复", "also_in": [], "variants": [], "related_changes": [{"db_id": "acddf8f70b395fb3a515868a1ce8dc8b", "kind": "equivalent", "version": "11.4", "label": "11.4", "title": "确保 vacuumdb 在使用并行作业期间发生错误时返回正确状态", "evidence": {"same_day": true, "patch_ids": ["2e158c97054dfc69c66b85ef23a7b7cd"], "statement_hash": "bef6ed8f3612a529a970373d44b838d745f58c24fe34e3c7d45d72ca824215a9"}, "url": "/docs/compare/?release=11.4#11.4-92161b4c7a674465", "source_url": "/docs/release/11.4/#id-1.11.6.23.5"}, {"db_id": "ad8e95706176923d6519a32fc781a1c5", "kind": "equivalent", "version": "10.9", "label": "10.9", "title": "确保 vacuumdb 在使用并行作业期间发生错误时返回正确状态", "evidence": {"same_day": true, "patch_ids": ["2e158c97054dfc69c66b85ef23a7b7cd"], "statement_hash": "bef6ed8f3612a529a970373d44b838d745f58c24fe34e3c7d45d72ca824215a9"}, "url": "/docs/compare/?release=10.9#10.9-92161b4c7a674465", "source_url": "/docs/release/10.9/#id-1.11.6.19.5"}, {"db_id": "56918142430354517d667af46038dd9c", "kind": "equivalent", "version": "9.6.14", "label": "9.6.14", "title": "确保使用并行作业时发生错误 vacuumdb 返回正确的状态", "evidence": {"same_day": true, "patch_ids": ["2e158c97054dfc69c66b85ef23a7b7cd"], "statement_hash": "bef6ed8f3612a529a970373d44b838d745f58c24fe34e3c7d45d72ca824215a9"}, "url": "/docs/compare/?release=9.6.14#9.6.14-f8ffcce72c191ba7", "source_url": "/docs/release/9.6.14/#id-1.11.6.15.5"}]}, {"id": "9.5.18-c36b61bb81c0ed5c", "cves": [], "html": "<p>在 <code>contrib/postgres_fdw</code> 中，考虑本地 <code>BEFORE ROW UPDATE</code> 触发器可能做的数据修改（Shohei Mochizuki）</p>\n<p>如果触发器修改了 <code>UPDATE</code> 本不会更改的列，新值不会被传输到远程服务器。</p>", "text": "在 contrib/postgres_fdw 中，考虑本地 BEFORE ROW UPDATE 触发器可能做的数据修改（Shohei Mochizuki） 如果触发器修改了 UPDATE 本不会更改的列，新值不会被传输到远程服务器。", "title": "在 contrib/postgres_fdw 中，考虑本地 BEFORE ROW UPDATE 触发器可能做的数据修改", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.5.18/#id-1.11.6.12.5", "source_hash": "26bce560459eb5964928ba6c97d993a1a6babdc58212880d2d09a68ae14c54b1", "section_path": ["变更"], "commit_groups": [["0f2b23426", "1a3d9f62c", "1ade21e7f", "214460182", "8b6da83d1", "eddb79705"]], "identity_text": "In contrib/postgres_fdw, account for possible data modifications by local BEFORE ROW UPDATE triggers (Shohei Mochizuki) If a trigger modified a column that was otherwise not changed by the UPDATE, the new value was not transmitted to the remote server.", "commit_aliases": ["0f2b23426", "1a3d9f62c", "1ade21e7f", "214460182", "8b6da83d1", "eddb79705"], "source_commits": ["eddb79705"], "source_entry_id": "9.5.18/changes/012", "db_id": "7ac321b9e594e3cbdf21aef118d727f0", "patch_ids": ["5bf5b1e275b587efc4ae8ca354fd1734"], "statement_hash": "f605cc079a26930ac21fcb7d17f5206538bc580ad882e830fc1d6fb72b9967c4", "relations": [{"rule": 2, "type": "equivalent", "target": "06f01d6eadd7afbc7b3d4b948b8e4f90", "evidence": {"same_day": true, "patch_ids": ["5bf5b1e275b587efc4ae8ca354fd1734"], "statement_hash": "f605cc079a26930ac21fcb7d17f5206538bc580ad882e830fc1d6fb72b9967c4"}}, {"rule": 2, "type": "equivalent", "target": "427e4bd42c0da009e711e847289b5aba", "evidence": {"same_day": true, "patch_ids": ["5bf5b1e275b587efc4ae8ca354fd1734"], "statement_hash": "f605cc079a26930ac21fcb7d17f5206538bc580ad882e830fc1d6fb72b9967c4"}}, {"rule": 2, "type": "equivalent", "target": "6b4d8ed35a122c32db01a362f3e05c4c", "evidence": {"same_day": true, "patch_ids": ["5bf5b1e275b587efc4ae8ca354fd1734"], "statement_hash": "f605cc079a26930ac21fcb7d17f5206538bc580ad882e830fc1d6fb72b9967c4"}}, {"rule": 2, "type": "equivalent", "target": "a981fad680adcd9a05f4935e525de0be", "evidence": {"same_day": true, "patch_ids": ["5bf5b1e275b587efc4ae8ca354fd1734"], "statement_hash": "f605cc079a26930ac21fcb7d17f5206538bc580ad882e830fc1d6fb72b9967c4"}}], "version": "9.5.18", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "427e4bd42c0da009e711e847289b5aba", "kind": "equivalent", "version": "11.4", "label": "11.4", "title": "在 contrib/postgres_fdw 中，考虑本地 BEFORE ROW UPDATE 触发器可能进行的数据修改", "evidence": {"same_day": true, "patch_ids": ["5bf5b1e275b587efc4ae8ca354fd1734"], "statement_hash": "f605cc079a26930ac21fcb7d17f5206538bc580ad882e830fc1d6fb72b9967c4"}, "url": "/docs/compare/?release=11.4#11.4-e03b5189b6fffe98", "source_url": "/docs/release/11.4/#id-1.11.6.23.5"}, {"db_id": "a981fad680adcd9a05f4935e525de0be", "kind": "equivalent", "version": "10.9", "label": "10.9", "title": "在 contrib/postgres_fdw 中，考虑本地 BEFORE ROW UPDATE 触发器可能进行的数据修改", "evidence": {"same_day": true, "patch_ids": ["5bf5b1e275b587efc4ae8ca354fd1734"], "statement_hash": "f605cc079a26930ac21fcb7d17f5206538bc580ad882e830fc1d6fb72b9967c4"}, "url": "/docs/compare/?release=10.9#10.9-e03b5189b6fffe98", "source_url": "/docs/release/10.9/#id-1.11.6.19.5"}, {"db_id": "6b4d8ed35a122c32db01a362f3e05c4c", "kind": "equivalent", "version": "9.6.14", "label": "9.6.14", "title": "在 contrib/postgres_fdw 中，考虑本地 BEFORE ROW UPDATE 触发器可能做的数据修改", "evidence": {"same_day": true, "patch_ids": ["5bf5b1e275b587efc4ae8ca354fd1734"], "statement_hash": "f605cc079a26930ac21fcb7d17f5206538bc580ad882e830fc1d6fb72b9967c4"}, "url": "/docs/compare/?release=9.6.14#9.6.14-c36b61bb81c0ed5c", "source_url": "/docs/release/9.6.14/#id-1.11.6.15.5"}, {"db_id": "06f01d6eadd7afbc7b3d4b948b8e4f90", "kind": "equivalent", "version": "9.4.23", "label": "9.4.23", "title": "在 contrib/postgres_fdw 中，考虑本地 BEFORE ROW UPDATE 触发器可能做的数据修改", "evidence": {"same_day": true, "patch_ids": ["5bf5b1e275b587efc4ae8ca354fd1734"], "statement_hash": "f605cc079a26930ac21fcb7d17f5206538bc580ad882e830fc1d6fb72b9967c4"}, "url": "/docs/compare/?release=9.4.23#9.4.23-c36b61bb81c0ed5c", "source_url": "/docs/release/9.4.23/#id-1.11.6.8.6"}]}, {"id": "9.5.18-7b62bc22697c2f19", "cves": [], "html": "<p>在 Windows 上，避免数据库编码设为 SQL_ASCII 而我们尝试记录非 ASCII 字符串时的失败（Noah Misch）</p>\n<p>代码此前假定这种字符串必须是 UTF-8，如果它们看起来不是有效编码就会抛出错误。现在，只是把未翻译的字节传给日志。</p>", "text": "在 Windows 上，避免数据库编码设为 SQL_ASCII 而我们尝试记录非 ASCII 字符串时的失败（Noah Misch） 代码此前假定这种字符串必须是 UTF-8，如果它们看起来不是有效编码就会抛出错误。现在，只是把未翻译的字节传给日志。", "title": "在 Windows 上，避免数据库编码设为 SQL_ASCII 而我们尝试记录非 ASCII 字符串时的失败", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.5.18/#id-1.11.6.12.5", "source_hash": "89c3c2b48cb06ce2ed7c7e1eb91d9020bd962923e14ed1ac01ef28f2a7344751", "section_path": ["变更"], "commit_groups": [["08e3fd96f", "409f5303c", "4ec14e5aa", "9dc65bcf9", "d02768ddd", "ff7555c4f"]], "identity_text": "On Windows, avoid failure when the database encoding is set to SQL_ASCII and we attempt to log a non-ASCII string (Noah Misch) The code had been assuming that such strings must be in UTF-8, and would throw an error if they didn't appear to be validly encoded. Now, just transmit the untranslated bytes to the log.", "commit_aliases": ["08e3fd96f", "409f5303c", "4ec14e5aa", "9dc65bcf9", "d02768ddd", "ff7555c4f"], "source_commits": ["9dc65bcf9"], "source_entry_id": "9.5.18/changes/013", "db_id": "bd1665a7d5a8a6ec8893ea4f6c219cff", "patch_ids": ["47dc91829e094042769dab88ef8516aa"], "statement_hash": "5e03b7a9df25f330cb37ff980e6f9309d401831a8c498a88c635ff90a1dd1b1e", "relations": [{"rule": 2, "type": "equivalent", "target": "2c1931e642611d8c1ba9050fb8776a58", "evidence": {"same_day": true, "patch_ids": ["47dc91829e094042769dab88ef8516aa"], "statement_hash": "5e03b7a9df25f330cb37ff980e6f9309d401831a8c498a88c635ff90a1dd1b1e"}}, {"rule": 2, "type": "equivalent", "target": "35b6a0a367f4e2d5863af5838c3e6b28", "evidence": {"same_day": true, "patch_ids": ["47dc91829e094042769dab88ef8516aa"], "statement_hash": "5e03b7a9df25f330cb37ff980e6f9309d401831a8c498a88c635ff90a1dd1b1e"}}, {"rule": 2, "type": "equivalent", "target": "c9bbd8496ebca7419d418dfb0f244799", "evidence": {"same_day": true, "patch_ids": ["47dc91829e094042769dab88ef8516aa"], "statement_hash": "5e03b7a9df25f330cb37ff980e6f9309d401831a8c498a88c635ff90a1dd1b1e"}}, {"rule": 2, "type": "equivalent", "target": "daa633bc14def51f60e1f5f581ef3fbb", "evidence": {"same_day": true, "patch_ids": ["47dc91829e094042769dab88ef8516aa"], "statement_hash": "5e03b7a9df25f330cb37ff980e6f9309d401831a8c498a88c635ff90a1dd1b1e"}}], "version": "9.5.18", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "35b6a0a367f4e2d5863af5838c3e6b28", "kind": "equivalent", "version": "11.4", "label": "11.4", "title": "在 Windows 上，避免数据库编码设置为 SQL_ASCII 时尝试记录非 ASCII 字符串而发生失败", "evidence": {"same_day": true, "patch_ids": ["47dc91829e094042769dab88ef8516aa"], "statement_hash": "5e03b7a9df25f330cb37ff980e6f9309d401831a8c498a88c635ff90a1dd1b1e"}, "url": "/docs/compare/?release=11.4#11.4-5d8203e55ff49c70", "source_url": "/docs/release/11.4/#id-1.11.6.23.5"}, {"db_id": "c9bbd8496ebca7419d418dfb0f244799", "kind": "equivalent", "version": "10.9", "label": "10.9", "title": "在 Windows 上，避免数据库编码设置为 SQL_ASCII 时尝试记录非 ASCII 字符串而发生失败", "evidence": {"same_day": true, "patch_ids": ["47dc91829e094042769dab88ef8516aa"], "statement_hash": "5e03b7a9df25f330cb37ff980e6f9309d401831a8c498a88c635ff90a1dd1b1e"}, "url": "/docs/compare/?release=10.9#10.9-5d8203e55ff49c70", "source_url": "/docs/release/10.9/#id-1.11.6.19.5"}, {"db_id": "daa633bc14def51f60e1f5f581ef3fbb", "kind": "equivalent", "version": "9.6.14", "label": "9.6.14", "title": "在 Windows 上，避免数据库编码设为 SQL_ASCII 而我们尝试记录非 ASCII 字符串时的失败", "evidence": {"same_day": true, "patch_ids": ["47dc91829e094042769dab88ef8516aa"], "statement_hash": "5e03b7a9df25f330cb37ff980e6f9309d401831a8c498a88c635ff90a1dd1b1e"}, "url": "/docs/compare/?release=9.6.14#9.6.14-7b62bc22697c2f19", "source_url": "/docs/release/9.6.14/#id-1.11.6.15.5"}, {"db_id": "2c1931e642611d8c1ba9050fb8776a58", "kind": "equivalent", "version": "9.4.23", "label": "9.4.23", "title": "在 Windows 上，避免数据库编码设为 SQL_ASCII 而我们尝试记录非 ASCII 字符串时的失败", "evidence": {"same_day": true, "patch_ids": ["47dc91829e094042769dab88ef8516aa"], "statement_hash": "5e03b7a9df25f330cb37ff980e6f9309d401831a8c498a88c635ff90a1dd1b1e"}, "url": "/docs/compare/?release=9.4.23#9.4.23-7b62bc22697c2f19", "source_url": "/docs/release/9.4.23/#id-1.11.6.8.6"}]}, {"id": "9.5.18-271fad01b562af3c", "cves": [], "html": "<p>使 <span>PL/pgSQL</span> 的头文件对 C++ 安全（George Tarasov）</p>", "text": "使 PL/pgSQL 的头文件对 C++ 安全（George Tarasov）", "title": "使 PL/pgSQL 的头文件对 C++ 安全", "commits": [], "section": "变更", "category": "improvement", "source_url": "/docs/release/9.5.18/#id-1.11.6.12.5", "source_hash": "54d81a4673a66a46160a794f8992c0a7ba9cfb71638ef15ec132b6fa13548e8c", "section_path": ["变更"], "commit_groups": [["312017fcc", "3f61b3205", "683c17b30", "c332c94ad", "da53e4f93", "db5d99916"]], "identity_text": "Make PL/pgSQL's header files C++-safe (George Tarasov)", "commit_aliases": ["312017fcc", "3f61b3205", "683c17b30", "c332c94ad", "da53e4f93", "db5d99916"], "source_commits": ["da53e4f93"], "source_entry_id": "9.5.18/changes/014", "db_id": "b6e72893688fc4c2250cdd8b5b31822e", "patch_ids": ["12741ccb4caee1d40f28177046eb9c13"], "statement_hash": "e92e5fd23e02ef2a319b40db31ffb270886e8d7f08479f5f1a87287287dd84c8", "relations": [{"rule": 2, "type": "equivalent", "target": "12a4e0e2fafe333711fec06e2d23cf8d", "evidence": {"same_day": true, "patch_ids": ["12741ccb4caee1d40f28177046eb9c13"], "statement_hash": "e92e5fd23e02ef2a319b40db31ffb270886e8d7f08479f5f1a87287287dd84c8"}}, {"rule": 2, "type": "equivalent", "target": "77f5c99ec74a8d5ccf2159403506912d", "evidence": {"same_day": true, "patch_ids": ["12741ccb4caee1d40f28177046eb9c13"], "statement_hash": "e92e5fd23e02ef2a319b40db31ffb270886e8d7f08479f5f1a87287287dd84c8"}}, {"rule": 2, "type": "equivalent", "target": "813c6e2c25662776741b44521132b642", "evidence": {"same_day": true, "patch_ids": ["12741ccb4caee1d40f28177046eb9c13"], "statement_hash": "e92e5fd23e02ef2a319b40db31ffb270886e8d7f08479f5f1a87287287dd84c8"}}, {"rule": 2, "type": "equivalent", "target": "90b47ae08bd532fca5546077036a11f5", "evidence": {"same_day": true, "patch_ids": ["12741ccb4caee1d40f28177046eb9c13"], "statement_hash": "e92e5fd23e02ef2a319b40db31ffb270886e8d7f08479f5f1a87287287dd84c8"}}], "version": "9.5.18", "category_label": "其他改进", "also_in": [], "variants": [], "related_changes": [{"db_id": "813c6e2c25662776741b44521132b642", "kind": "equivalent", "version": "11.4", "label": "11.4", "title": "使 PL/pgSQL 的头文件可安全用于 C++", "evidence": {"same_day": true, "patch_ids": ["12741ccb4caee1d40f28177046eb9c13"], "statement_hash": "e92e5fd23e02ef2a319b40db31ffb270886e8d7f08479f5f1a87287287dd84c8"}, "url": "/docs/compare/?release=11.4#11.4-408a489c6bffae11", "source_url": "/docs/release/11.4/#id-1.11.6.23.5"}, {"db_id": "12a4e0e2fafe333711fec06e2d23cf8d", "kind": "equivalent", "version": "10.9", "label": "10.9", "title": "使 PL/pgSQL 的头文件可安全用于 C++", "evidence": {"same_day": true, "patch_ids": ["12741ccb4caee1d40f28177046eb9c13"], "statement_hash": "e92e5fd23e02ef2a319b40db31ffb270886e8d7f08479f5f1a87287287dd84c8"}, "url": "/docs/compare/?release=10.9#10.9-408a489c6bffae11", "source_url": "/docs/release/10.9/#id-1.11.6.19.5"}, {"db_id": "77f5c99ec74a8d5ccf2159403506912d", "kind": "equivalent", "version": "9.6.14", "label": "9.6.14", "title": "使 PL/pgSQL 的头文件对 C++ 安全", "evidence": {"same_day": true, "patch_ids": ["12741ccb4caee1d40f28177046eb9c13"], "statement_hash": "e92e5fd23e02ef2a319b40db31ffb270886e8d7f08479f5f1a87287287dd84c8"}, "url": "/docs/compare/?release=9.6.14#9.6.14-271fad01b562af3c", "source_url": "/docs/release/9.6.14/#id-1.11.6.15.5"}, {"db_id": "90b47ae08bd532fca5546077036a11f5", "kind": "equivalent", "version": "9.4.23", "label": "9.4.23", "title": "使 PL/pgSQL 的头文件对 C++ 安全", "evidence": {"same_day": true, "patch_ids": ["12741ccb4caee1d40f28177046eb9c13"], "statement_hash": "e92e5fd23e02ef2a319b40db31ffb270886e8d7f08479f5f1a87287287dd84c8"}, "url": "/docs/compare/?release=9.4.23#9.4.23-271fad01b562af3c", "source_url": "/docs/release/9.4.23/#id-1.11.6.8.6"}]}]}], "stats": [{"key": "all", "label": "全部变更", "count": 14}, {"key": "feature", "label": "新功能", "count": 0}, {"key": "bugfix", "label": "BUG 修复", "count": 8}, {"key": "security", "label": "安全相关", "count": 0}, {"key": "performance", "label": "性能改进", "count": 0}, {"key": "compatibility", "label": "兼容性变化", "count": 0}, {"key": "improvement", "label": "其他改进", "count": 6}], "total": 14, "release_count": 1, "cross_major": false, "cve_count": 0, "cves": [], "cve_available": true, "remaining_cves": [], "security_regressions": [], "warnings": [], "candidate_count": 14, "already_in_source_count": 0, "duplicate_count": 0, "excluded_count": 0, "exclusions": [], "source_as_of": "2026-09-26", "security_as_of": "2026-09-26"}