{"format": 1, "mode": "release", "from_release": null, "to_release": {"date": "2019-06-20", "build": "9.4.23", "major": "9.4", "minor": 23, "manual": "9.4", "status": "stable", "doc_git": "", "version": "9.4.23", "eol_date": "2020-02-13", "date_text": "2019-06-20", "supported": false, "manual_url": "/docs/9.4/release-9-4-23.html", "source_url": "/docs/release/9.4.23/", "entry_count": 10, "placeholder": false, "content_hash": "81991e921ed6fe23503ca3ae74448b174febfcf199bbb0072c11fdf28b82e5ec", "manual_build": "9.4.26", "source_as_of": "", "changes_count": 10, "doc_loaded_at": "2026-09-26T02:56:45.438944", "migration_html": "<p>对于运行 9.4.X 的用户，不需要转储/恢复。</p>\n<p>但是，如果你是从早于 9.4.18 的版本升级，请参见<a href=\"/docs/9.4/release-9-4-18.html\" title=\"E.9. 版本 9.4.18\">第 E.9 节</a>。</p>", "compatibility_count": 0, "label": "9.4.23", "status_label": "历史版本", "eol": "2020-02-13", "age_days": 2659, "support_days": -2421}, "groups": [{"date": "2019-06-20", "build": "9.4.23", "major": "9.4", "minor": 23, "manual": "9.4", "status": "stable", "doc_git": "", "version": "9.4.23", "eol_date": "2020-02-13", "date_text": "2019-06-20", "supported": false, "manual_url": "/docs/9.4/release-9-4-23.html", "source_url": "/docs/release/9.4.23/", "entry_count": 10, "placeholder": false, "content_hash": "81991e921ed6fe23503ca3ae74448b174febfcf199bbb0072c11fdf28b82e5ec", "manual_build": "9.4.26", "source_as_of": "", "changes_count": 10, "doc_loaded_at": "2026-09-26T02:56:45.438944", "migration_html": "<p>对于运行 9.4.X 的用户，不需要转储/恢复。</p>\n<p>但是，如果你是从早于 9.4.18 的版本升级，请参见<a href=\"/docs/9.4/release-9-4-18.html\" title=\"E.9. 版本 9.4.18\">第 E.9 节</a>。</p>", "compatibility_count": 0, "label": "9.4.23", "status_label": "历史版本", "eol": "2020-02-13", "age_days": 2659, "support_days": -2421, "entries": [{"id": "9.4.23-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.4.23/#id-1.11.6.8.6", "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": ["9695ecf36"], "source_entry_id": "9.4.23/changes/001", "db_id": "1b3fbedb7ce3b15faea5f177e5baf868", "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": "419daf02f3a6d744d20dc80723fff2eb", "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.4.23", "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": "419daf02f3a6d744d20dc80723fff2eb", "kind": "equivalent", "version": "9.5.18", "label": "9.5.18", "title": "修复表带有部分排他约束时 ALTER TABLE ... ALTER COLUMN TYPE 的失败", "evidence": {"same_day": true, "patch_ids": ["0e3bf0fa29dc56c919833424b8035491"], "statement_hash": "4f5a1cb1f01b73c9908be379bcccd6339796aaaf2fa7c86619f298a20d421a2d"}, "url": "/docs/compare/?release=9.5.18#9.5.18-5cf79602a6b27f1b", "source_url": "/docs/release/9.5.18/#id-1.11.6.12.5"}]}, {"id": "9.4.23-7b4f811fceeb4bff", "cves": [], "html": "<p>修复带重复连接名的查询的错误打印（Philip Dubé）</p>\n<p>这一疏漏导致包含此类查询的视图在转储/恢复时失败。</p>", "text": "修复带重复连接名的查询的错误打印（Philip Dubé） 这一疏漏导致包含此类查询的视图在转储/恢复时失败。", "title": "修复带重复连接名的查询的错误打印", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.4.23/#id-1.11.6.8.6", "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": ["8ace51a6b"], "source_entry_id": "9.4.23/changes/002", "db_id": "b99a1ae1d7541f85fbc0194f8c662e0d", "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": "7a23f8ee65e5b7bcee65cd28cfc4b10c", "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.4.23", "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": "7a23f8ee65e5b7bcee65cd28cfc4b10c", "kind": "equivalent", "version": "9.5.18", "label": "9.5.18", "title": "修复带重复连接名的查询的错误打印", "evidence": {"same_day": true, "patch_ids": ["58dc2880d650759c2ee405bf3a9b2fdd"], "statement_hash": "9330ff3ed22edad6c481ad437d7f285101418275e0baf7a9dd075e2620dca9a1"}, "url": "/docs/compare/?release=9.5.18#9.5.18-7b4f811fceeb4bff", "source_url": "/docs/release/9.5.18/#id-1.11.6.12.5"}]}, {"id": "9.4.23-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.4.23/#id-1.11.6.8.6", "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": ["b1ca28e57"], "source_entry_id": "9.4.23/changes/003", "db_id": "b4eb6bb752d8331ff2cfbda5d1e99af5", "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": "73174114b265ccd1c2f268378a985efd", "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.4.23", "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": "73174114b265ccd1c2f268378a985efd", "kind": "equivalent", "version": "9.5.18", "label": "9.5.18", "title": "修复正则表达式中 {1,1} 量词的错误优化", "evidence": {"same_day": true, "patch_ids": ["2b2b512f4caed9ee4828dfded7a7c4e2"], "statement_hash": "a6ff7faab782fac8567b0242386fd8b7832cf4c10ab1541c8b994d495869c94e"}, "url": "/docs/compare/?release=9.5.18#9.5.18-bbac378f1b5576b4", "source_url": "/docs/release/9.5.18/#id-1.11.6.12.5"}]}, {"id": "9.4.23-bf0209ff63e0472d", "cves": [], "html": "<p>修复检查冲突 postmaster 是否仍在使用既有共享内存段的竞态条件（Tom Lane）</p>", "text": "修复检查冲突 postmaster 是否仍在使用既有共享内存段的竞态条件（Tom Lane）", "title": "修复检查冲突 postmaster 是否仍在使用既有共享内存段的竞态条件", "commits": [], "section": "变更", "category": "bugfix", "source_url": "/docs/release/9.4.23/#id-1.11.6.8.6", "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": ["b1cde67a4"], "source_entry_id": "9.4.23/changes/004", "db_id": "d7fe2a0ebf38ee8098fe1d6d28299d08", "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": "ebcf9d6b59071557e6ee1fbdc63e94b6", "evidence": {"same_day": true, "patch_ids": ["7bd7781fee3550eb7607c07befef081a"], "statement_hash": "dd879be66b00ecee021da17e7068e63e61bdac9b9606c0740bb936aaf5bd26da"}}], "version": "9.4.23", "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": "ebcf9d6b59071557e6ee1fbdc63e94b6", "kind": "equivalent", "version": "9.5.18", "label": "9.5.18", "title": "修复检查冲突 postmaster 是否仍在使用既有共享内存段的竞态条件", "evidence": {"same_day": true, "patch_ids": ["7bd7781fee3550eb7607c07befef081a"], "statement_hash": "dd879be66b00ecee021da17e7068e63e61bdac9b9606c0740bb936aaf5bd26da"}, "url": "/docs/compare/?release=9.5.18#9.5.18-bf0209ff63e0472d", "source_url": "/docs/release/9.5.18/#id-1.11.6.12.5"}]}, {"id": "9.4.23-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.4.23/#id-1.11.6.8.6", "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": ["69f32206d"], "source_entry_id": "9.4.23/changes/005", "db_id": "827a6d2e0daa51d02fae5f72e9ed1c60", "patch_ids": ["eb7ca5a3deb1764915b19a4212f1d25e"], "statement_hash": "1a7670883364a8b3a9b3127f168808c3902ef044f9e9a3683497cbacab1e08c7", "relations": [{"rule": 2, "type": "equivalent", "target": "8a9e52a1d52618e73a157df3f8bb3bec", "evidence": {"same_day": true, "patch_ids": ["eb7ca5a3deb1764915b19a4212f1d25e"], "statement_hash": "1a7670883364a8b3a9b3127f168808c3902ef044f9e9a3683497cbacab1e08c7"}}, {"rule": 2, "type": "equivalent", "target": "90744f89a54c75c9d18bbda103670c0b", "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.4.23", "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": "90744f89a54c75c9d18bbda103670c0b", "kind": "equivalent", "version": "9.5.18", "label": "9.5.18", "title": "避免在未连接到特定数据库的进程中尝试为参数检查做数据库访问", "evidence": {"same_day": true, "patch_ids": ["eb7ca5a3deb1764915b19a4212f1d25e"], "statement_hash": "1a7670883364a8b3a9b3127f168808c3902ef044f9e9a3683497cbacab1e08c7"}, "url": "/docs/compare/?release=9.5.18#9.5.18-6d1c297754a0d746", "source_url": "/docs/release/9.5.18/#id-1.11.6.12.5"}]}, {"id": "9.4.23-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.4.23/#id-1.11.6.8.6", "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": ["37011bcb3", "6c66865f3"], "source_entry_id": "9.4.23/changes/006", "db_id": "29f18f1ebe746d38221ceef434727be3", "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": "11ce04410301a153e6e0050f897d608d", "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": "db9d638dfd65d89220d5cf61cd517612", "evidence": {"same_day": true, "patch_ids": ["429556efc2543a34bba58149a13d0819", "d2d7849fe4c66de277698d46ca632415"], "statement_hash": "7f4a77c968fe12e2e76328fdf2dd68ef7062f7658b8085c1b882a309bf505034"}}], "version": "9.4.23", "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": "11ce04410301a153e6e0050f897d608d", "kind": "equivalent", "version": "9.5.18", "label": "9.5.18", "title": "改进 initdb 对系统时区多个等价名称的处理", "evidence": {"same_day": true, "patch_ids": ["429556efc2543a34bba58149a13d0819", "d2d7849fe4c66de277698d46ca632415"], "statement_hash": "7f4a77c968fe12e2e76328fdf2dd68ef7062f7658b8085c1b882a309bf505034"}, "url": "/docs/compare/?release=9.5.18#9.5.18-86822b1aaeb92736", "source_url": "/docs/release/9.5.18/#id-1.11.6.12.5"}]}, {"id": "9.4.23-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.4.23/#id-1.11.6.8.6", "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": ["82ed20e15"], "source_entry_id": "9.4.23/changes/007", "db_id": "cc0588e0008f5e9301db2d09b62acc48", "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": "41d93a93d28ddfdfdfe6a075f18132b9", "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"}}], "version": "9.4.23", "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": "41d93a93d28ddfdfdfe6a075f18132b9", "kind": "equivalent", "version": "9.5.18", "label": "9.5.18", "title": "修复 reindexdb 的误导性错误报告", "evidence": {"same_day": true, "patch_ids": ["87f13351d4c357a600f278b50c6f2940"], "statement_hash": "24f236e255b0d0fda553a4a8105a9abe2535c98cf506d65eb7b5e9de3e359046"}, "url": "/docs/compare/?release=9.5.18#9.5.18-de574d8448a89f60", "source_url": "/docs/release/9.5.18/#id-1.11.6.12.5"}]}, {"id": "9.4.23-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.4.23/#id-1.11.6.8.6", "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": ["1a3d9f62c"], "source_entry_id": "9.4.23/changes/008", "db_id": "06f01d6eadd7afbc7b3d4b948b8e4f90", "patch_ids": ["5bf5b1e275b587efc4ae8ca354fd1734"], "statement_hash": "f605cc079a26930ac21fcb7d17f5206538bc580ad882e830fc1d6fb72b9967c4", "relations": [{"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": "7ac321b9e594e3cbdf21aef118d727f0", "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.4.23", "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": "7ac321b9e594e3cbdf21aef118d727f0", "kind": "equivalent", "version": "9.5.18", "label": "9.5.18", "title": "在 contrib/postgres_fdw 中，考虑本地 BEFORE ROW UPDATE 触发器可能做的数据修改", "evidence": {"same_day": true, "patch_ids": ["5bf5b1e275b587efc4ae8ca354fd1734"], "statement_hash": "f605cc079a26930ac21fcb7d17f5206538bc580ad882e830fc1d6fb72b9967c4"}, "url": "/docs/compare/?release=9.5.18#9.5.18-c36b61bb81c0ed5c", "source_url": "/docs/release/9.5.18/#id-1.11.6.12.5"}]}, {"id": "9.4.23-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.4.23/#id-1.11.6.8.6", "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": ["08e3fd96f"], "source_entry_id": "9.4.23/changes/009", "db_id": "2c1931e642611d8c1ba9050fb8776a58", "patch_ids": ["47dc91829e094042769dab88ef8516aa"], "statement_hash": "5e03b7a9df25f330cb37ff980e6f9309d401831a8c498a88c635ff90a1dd1b1e", "relations": [{"rule": 2, "type": "equivalent", "target": "35b6a0a367f4e2d5863af5838c3e6b28", "evidence": {"same_day": true, "patch_ids": ["47dc91829e094042769dab88ef8516aa"], "statement_hash": "5e03b7a9df25f330cb37ff980e6f9309d401831a8c498a88c635ff90a1dd1b1e"}}, {"rule": 2, "type": "equivalent", "target": "bd1665a7d5a8a6ec8893ea4f6c219cff", "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.4.23", "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": "bd1665a7d5a8a6ec8893ea4f6c219cff", "kind": "equivalent", "version": "9.5.18", "label": "9.5.18", "title": "在 Windows 上，避免数据库编码设为 SQL_ASCII 而我们尝试记录非 ASCII 字符串时的失败", "evidence": {"same_day": true, "patch_ids": ["47dc91829e094042769dab88ef8516aa"], "statement_hash": "5e03b7a9df25f330cb37ff980e6f9309d401831a8c498a88c635ff90a1dd1b1e"}, "url": "/docs/compare/?release=9.5.18#9.5.18-7b62bc22697c2f19", "source_url": "/docs/release/9.5.18/#id-1.11.6.12.5"}]}, {"id": "9.4.23-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.4.23/#id-1.11.6.8.6", "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": ["db5d99916"], "source_entry_id": "9.4.23/changes/010", "db_id": "90b47ae08bd532fca5546077036a11f5", "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": "b6e72893688fc4c2250cdd8b5b31822e", "evidence": {"same_day": true, "patch_ids": ["12741ccb4caee1d40f28177046eb9c13"], "statement_hash": "e92e5fd23e02ef2a319b40db31ffb270886e8d7f08479f5f1a87287287dd84c8"}}], "version": "9.4.23", "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": "b6e72893688fc4c2250cdd8b5b31822e", "kind": "equivalent", "version": "9.5.18", "label": "9.5.18", "title": "使 PL/pgSQL 的头文件对 C++ 安全", "evidence": {"same_day": true, "patch_ids": ["12741ccb4caee1d40f28177046eb9c13"], "statement_hash": "e92e5fd23e02ef2a319b40db31ffb270886e8d7f08479f5f1a87287287dd84c8"}, "url": "/docs/compare/?release=9.5.18#9.5.18-271fad01b562af3c", "source_url": "/docs/release/9.5.18/#id-1.11.6.12.5"}]}]}], "stats": [{"key": "all", "label": "全部变更", "count": 10}, {"key": "feature", "label": "新功能", "count": 0}, {"key": "bugfix", "label": "BUG 修复", "count": 5}, {"key": "security", "label": "安全相关", "count": 0}, {"key": "performance", "label": "性能改进", "count": 0}, {"key": "compatibility", "label": "兼容性变化", "count": 0}, {"key": "improvement", "label": "其他改进", "count": 5}], "total": 10, "release_count": 1, "cross_major": false, "cve_count": 0, "cves": [], "cve_available": true, "remaining_cves": [], "security_regressions": [], "warnings": [], "candidate_count": 10, "already_in_source_count": 0, "duplicate_count": 0, "excluded_count": 0, "exclusions": [], "source_as_of": "2026-09-26", "security_as_of": "2026-09-26"}