{"already_in_source_count":0,"candidate_count":54,"cross_major":false,"cve_available":true,"cve_count":1,"cves":[{"affected":{"9.0":"9.0","9.1":"9.1","9.2":"9.2","9.3":"9.3","9.4":"9.4"},"component":"other","cvss_version":"3.0","description_en":"","first_published":null,"fixed":{"9.0":"9.0.19","9.1":"9.1.15","9.2":"9.2.10","9.3":"9.3.6","9.4":"9.4.1"},"fixed_version":"9.3.6","id":"CVE-2014-0067","introduced":{},"published":{},"score":7.0,"title":"保护 make check 期间启动的临时 postmaster 的 Unix 域套接字","url":"https://www.postgresql.org/support/security/CVE-2014-0067/","vector":"AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H"}],"duplicate_count":0,"excluded_count":0,"exclusions":[],"from_release":null,"groups":[{"age_days":4463,"build":"9.3.5","changes_count":54,"compatibility_count":0,"content_hash":"743accb01d2d5dda760db12f66748caafd7fc6ad5597609a1da19dca9da598bd","date":"2014-07-24","date_text":"2014-07-24","doc_git":"","doc_loaded_at":"2026-09-26T02:56:46.133805","entries":[{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["0f7482733","cc5841809","dd5369047"],"commit_groups":[["0f7482733","cc5841809","dd5369047"]],"commits":[],"cves":[],"db_id":"72715be972cf2aaad5c9cfc89231d612","html":"\u003cp\u003e在 \u003cspan\u003epg_upgrade\u003c/span\u003e 中，删除 \u003cspan\u003einitdb\u003c/span\u003e 遗留的 \u003ccode\u003epg_multixact\u003c/code\u003e 文件（Bruce Momjian）\u003c/p\u003e\n\u003cp\u003e如果你使用了 9.3.5 之前版本的 \u003cspan\u003epg_upgrade\u003c/span\u003e 把数据库集簇升级到 9.3，它可能遗留了一个本不应存在的文件 \u003ccode\u003e$PGDATA/pg_multixact/offsets/0000\u003c/code\u003e，该文件最终会在 \u003ccode\u003eVACUUM\u003c/code\u003e 中引发问题。\u003cspan\u003e\u003cem\u003e然而，在常见情况下这个文件实际上是有效的，绝不能删除。\u003c/em\u003e\u003c/span\u003e要判断你的安装是否存在此问题，请以超级用户身份在集簇的任意数据库中运行以下查询：\u003c/p\u003e\n\u003cpre\u003eWITH list(file) AS (SELECT * FROM pg_ls_dir('pg_multixact/offsets'))\nSELECT EXISTS (SELECT * FROM list WHERE file = '0000')\n AND NOT EXISTS (SELECT * FROM list WHERE file = '0001')\n AND NOT EXISTS (SELECT * FROM list WHERE file = 'FFFF')\n AND EXISTS (SELECT * FROM list WHERE file != '0000')\nAS file_0000_removal_required;\n\u003c/pre\u003e\n\u003cp\u003e如果该查询返回 \u003ccode\u003et\u003c/code\u003e，请手工删除文件 \u003ccode\u003e$PGDATA/pg_multixact/offsets/0000\u003c/code\u003e。如果查询返回 \u003ccode\u003ef\u003c/code\u003e，则无需任何操作。\u003c/p\u003e","id":"9.3.5-9b841504b6305f6a","identity_text":"In pg_upgrade, remove pg_multixact files left behind by initdb (Bruce Momjian) If you used a pre-9.3.5 version of pg_upgrade to upgrade a database cluster to 9.3, it might have left behind a file $PGDATA/pg_multixact/offsets/0000 that should not be there and will eventually cause problems in VACUUM. However, in common cases this file is actually valid and must not be removed. To determine whether your installation has this problem, run this query as superuser, in any database of the cluster: WITH list(file) AS (SELECT * FROM pg_ls_dir('pg_multixact/offsets')) SELECT EXISTS (SELECT * FROM list WHERE file = '0000') AND NOT EXISTS (SELECT * FROM list WHERE file = '0001') AND NOT EXISTS (SELECT * FROM list WHERE file = 'FFFF') AND EXISTS (SELECT * FROM list WHERE file != '0000') AS file_0000_removal_required; If this query returns t, manually remove the file $PGDATA/pg_multixact/offsets/0000. Do nothing if the query returns f.","part":"changes","patch_ids":["0d78774302292602bfaada7d902ba4d0"],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":["cc5841809"],"source_entry_id":"9.3.5/changes/001","source_hash":"de1628ca71c91b8579fa3793ce0598d8527ce78b8a712f116dfd3813becb7319","source_url":"/docs/release/9.3.5/#id-1.11.6.25.5","statement_hash":"ff7aebda71582817f6406048b9e7122de47837a1e06b7fc486d95f860db7d142","text":"在 pg_upgrade 中，删除 initdb 遗留的 pg_multixact 文件（Bruce Momjian） 如果你使用了 9.3.5 之前版本的 pg_upgrade 把数据库集簇升级到 9.3，它可能遗留了一个本不应存在的文件 $PGDATA/pg_multixact/offsets/0000，该文件最终会在 VACUUM 中引发问题。然而，在常见情况下这个文件实际上是有效的，绝不能删除。要判断你的安装是否存在此问题，请以超级用户身份在集簇的任意数据库中运行以下查询： WITH list(file) AS (SELECT * FROM pg_ls_dir('pg_multixact/offsets')) SELECT EXISTS (SELECT * FROM list WHERE file = '0000') AND NOT EXISTS (SELECT * FROM list WHERE file = '0001') AND NOT EXISTS (SELECT * FROM list WHERE file = 'FFFF') AND EXISTS (SELECT * FROM list WHERE file != '0000') AS file_0000_removal_required; 如果该查询返回 t，请手工删除文件 $PGDATA/pg_multixact/offsets/0000。如果查询返回 f，则无需任何操作。","title":"在 pg_upgrade 中，删除 initdb 遗留的 pg_multixact 文件","variants":[],"version":"9.3.5"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["0d8d0d027","1913d0f28","540ac7cea","c87c43f08","d5b912c90","e31d77c96"],"commit_groups":[["0d8d0d027","1913d0f28","540ac7cea","c87c43f08","d5b912c90","e31d77c96"]],"commits":[],"cves":[],"db_id":"5d8b301dac7ea946159414f417b80e20","html":"\u003cp\u003e正确初始化 \u003ccode\u003econtrib/btree_gist\u003c/code\u003e 在 \u003ccode\u003ebit\u003c/code\u003e 列上索引的填充字节（Heikki Linnakangas）\u003c/p\u003e\n\u003cp\u003e这一错误可能导致本应比较相等的值不被视为相等，从而产生错误的查询结果。在 \u003ccode\u003ebit\u003c/code\u003e 或 \u003ccode\u003ebit varying\u003c/code\u003e 列上建有 GiST 索引的用户，在安装此更新后应对这些索引执行 \u003ccode\u003eREINDEX\u003c/code\u003e。\u003c/p\u003e","id":"9.3.5-d2c6d31db7b8f554","identity_text":"Correctly initialize padding bytes in contrib/btree_gist indexes on bit columns (Heikki Linnakangas) This error could result in incorrect query results due to values that should compare equal not being seen as equal. Users with GiST indexes on bit or bit varying columns should REINDEX those indexes after installing this update.","part":"changes","patch_ids":["c9664c6a684af10fa9dd057232b79dfd"],"related_changes":[{"db_id":"bb8c4a129b84f2137f55859616c7a7c6","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"c5ec7f05650e8d35c9b6ce456cec4314dd5b264d089fd9a8a65ddb5c8d01bf11"},"kind":"equivalent","label":"9.2.9","source_url":"/docs/release/9.2.9/#id-1.11.6.20.5","title":"正确初始化 contrib/btree_gist 在 bit 列上索引的填充字节","url":"/docs/compare/?release=9.2.9#9.2.9-d2c6d31db7b8f554","version":"9.2.9"},{"db_id":"c4f7127cc64d8fe10e55c425915ade36","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"c5ec7f05650e8d35c9b6ce456cec4314dd5b264d089fd9a8a65ddb5c8d01bf11"},"kind":"equivalent","label":"9.1.14","source_url":"/docs/release/9.1.14/#id-1.11.6.15.5","title":"正确初始化 contrib/btree_gist 在 bit 列上索引的填充字节","url":"/docs/compare/?release=9.1.14#9.1.14-d2c6d31db7b8f554","version":"9.1.14"},{"db_id":"c08b5ee3c4feadbdf794e02f47e53d44","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"c5ec7f05650e8d35c9b6ce456cec4314dd5b264d089fd9a8a65ddb5c8d01bf11"},"kind":"equivalent","label":"9.0.18","source_url":"/docs/release/9.0.18/#id-1.11.6.10.5","title":"正确初始化 contrib/btree_gist 在 bit 列上索引的填充字节","url":"/docs/compare/?release=9.0.18#9.0.18-d2c6d31db7b8f554","version":"9.0.18"}],"relations":[{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"c5ec7f05650e8d35c9b6ce456cec4314dd5b264d089fd9a8a65ddb5c8d01bf11"},"rule":2,"target":"bb8c4a129b84f2137f55859616c7a7c6","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"c5ec7f05650e8d35c9b6ce456cec4314dd5b264d089fd9a8a65ddb5c8d01bf11"},"rule":2,"target":"c08b5ee3c4feadbdf794e02f47e53d44","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"c5ec7f05650e8d35c9b6ce456cec4314dd5b264d089fd9a8a65ddb5c8d01bf11"},"rule":2,"target":"c4f7127cc64d8fe10e55c425915ade36","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["d5b912c90"],"source_entry_id":"9.3.5/changes/002","source_hash":"709d713e12d304166f987b54c4dce9fb04d23a1afead525014a2a3ee1f10e32f","source_url":"/docs/release/9.3.5/#id-1.11.6.25.5","statement_hash":"c5ec7f05650e8d35c9b6ce456cec4314dd5b264d089fd9a8a65ddb5c8d01bf11","text":"正确初始化 contrib/btree_gist 在 bit 列上索引的填充字节（Heikki Linnakangas） 这一错误可能导致本应比较相等的值不被视为相等，从而产生错误的查询结果。在 bit 或 bit varying 列上建有 GiST 索引的用户，在安装此更新后应对这些索引执行 REINDEX。","title":"正确初始化 contrib/btree_gist 在 bit 列上索引的填充字节","variants":[],"version":"9.3.5"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["31633f992","34572920c","4f7bb4b2a","686a7194e","8b4efe1f3","be7830596"],"commit_groups":[["31633f992","34572920c","4f7bb4b2a","686a7194e","8b4efe1f3","be7830596"]],"commits":[],"cves":[],"db_id":"9c3944d9105c97482a4dc2fb8776b26f","html":"\u003cp\u003e在删除 GIN 列表页时防止残缺页（torn page）（Heikki Linnakangas）\u003c/p\u003e\n\u003cp\u003e此修复可防止在页面更新写入磁盘期间发生系统崩溃时可能出现的索引损坏。\u003c/p\u003e","id":"9.3.5-18682773bb8a060c","identity_text":"Protect against torn pages when deleting GIN list pages (Heikki Linnakangas) This fix prevents possible index corruption if a system crash occurs while the page update is being written to disk.","part":"changes","patch_ids":["c20841a63b3d8ed03a2f66546d670e37"],"related_changes":[{"db_id":"ee04033d30f9bad8474c949135bf2bef","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"3069a09e51a039b54312df352e46e435116f1aab6749579fa61617bc1036c4dc"},"kind":"equivalent","label":"9.2.9","source_url":"/docs/release/9.2.9/#id-1.11.6.20.5","title":"在删除 GIN 列表页时防止残缺页（torn page）","url":"/docs/compare/?release=9.2.9#9.2.9-18682773bb8a060c","version":"9.2.9"},{"db_id":"b73f1e86dca122120bdb13fac7f9140e","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"3069a09e51a039b54312df352e46e435116f1aab6749579fa61617bc1036c4dc"},"kind":"equivalent","label":"9.1.14","source_url":"/docs/release/9.1.14/#id-1.11.6.15.5","title":"在删除 GIN 列表页时防止残缺页（torn page）","url":"/docs/compare/?release=9.1.14#9.1.14-18682773bb8a060c","version":"9.1.14"},{"db_id":"8329b9d263d6d6befba8bbe22cd17322","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"3069a09e51a039b54312df352e46e435116f1aab6749579fa61617bc1036c4dc"},"kind":"equivalent","label":"9.0.18","source_url":"/docs/release/9.0.18/#id-1.11.6.10.5","title":"在删除 GIN 列表页时防止残缺页（torn page）","url":"/docs/compare/?release=9.0.18#9.0.18-18682773bb8a060c","version":"9.0.18"}],"relations":[{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"3069a09e51a039b54312df352e46e435116f1aab6749579fa61617bc1036c4dc"},"rule":2,"target":"8329b9d263d6d6befba8bbe22cd17322","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"3069a09e51a039b54312df352e46e435116f1aab6749579fa61617bc1036c4dc"},"rule":2,"target":"b73f1e86dca122120bdb13fac7f9140e","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"3069a09e51a039b54312df352e46e435116f1aab6749579fa61617bc1036c4dc"},"rule":2,"target":"ee04033d30f9bad8474c949135bf2bef","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["34572920c"],"source_entry_id":"9.3.5/changes/003","source_hash":"afcb91dde071d7de5a6c7fcbe1316c8991d363ec78826005a4d89b02863e4d4a","source_url":"/docs/release/9.3.5/#id-1.11.6.25.5","statement_hash":"3069a09e51a039b54312df352e46e435116f1aab6749579fa61617bc1036c4dc","text":"在删除 GIN 列表页时防止残缺页（torn page）（Heikki Linnakangas） 此修复可防止在页面更新写入磁盘期间发生系统崩溃时可能出现的索引损坏。","title":"在删除 GIN 列表页时防止残缺页（torn page）","variants":[],"version":"9.3.5"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["02b9fd73e","601c01e08","7ca32e255","ac0078c1d","d034e9b3b"],"commit_groups":[["02b9fd73e","601c01e08","7ca32e255","ac0078c1d","d034e9b3b"]],"commits":[],"cves":[],"db_id":"fedab52c93a87fca93f07ce5578f54d9","html":"\u003cp\u003e在从 WAL 重放更新时不清除 GiST 索引页的右链接（Heikki Linnakangas）\u003c/p\u003e\n\u003cp\u003e这一错误可能导致热备中执行的 GiST 索引扫描出现瞬时错误的结果。\u003c/p\u003e","id":"9.3.5-3f8b30812c5bc055","identity_text":"Don't clear the right-link of a GiST index page while replaying updates from WAL (Heikki Linnakangas) This error could lead to transiently wrong answers from GiST index scans performed in Hot Standby.","part":"changes","patch_ids":["be63ecf3ca60bc501865f95b1a663210"],"related_changes":[{"db_id":"5425fcaaa9bd29ad257e597861d9667b","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"def835604a6dace9bf61c26a054e374964e1352d8428f232acb25e794b113b19"},"kind":"equivalent","label":"9.2.9","source_url":"/docs/release/9.2.9/#id-1.11.6.20.5","title":"在从 WAL 重放更新时不清除 GiST 索引页的右链接","url":"/docs/compare/?release=9.2.9#9.2.9-3f8b30812c5bc055","version":"9.2.9"},{"db_id":"5a9b0ae5835cea90e10cdfaf0e83b577","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"def835604a6dace9bf61c26a054e374964e1352d8428f232acb25e794b113b19"},"kind":"equivalent","label":"9.1.14","source_url":"/docs/release/9.1.14/#id-1.11.6.15.5","title":"在从 WAL 重放更新时不清除 GiST 索引页的右链接","url":"/docs/compare/?release=9.1.14#9.1.14-3f8b30812c5bc055","version":"9.1.14"},{"db_id":"979dc6be64dc95c5598f2e4eb26071f6","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"def835604a6dace9bf61c26a054e374964e1352d8428f232acb25e794b113b19"},"kind":"equivalent","label":"9.0.18","source_url":"/docs/release/9.0.18/#id-1.11.6.10.5","title":"在从 WAL 重放更新时不清除 GiST 索引页的右链接","url":"/docs/compare/?release=9.0.18#9.0.18-3f8b30812c5bc055","version":"9.0.18"}],"relations":[{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"def835604a6dace9bf61c26a054e374964e1352d8428f232acb25e794b113b19"},"rule":2,"target":"5425fcaaa9bd29ad257e597861d9667b","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"def835604a6dace9bf61c26a054e374964e1352d8428f232acb25e794b113b19"},"rule":2,"target":"5a9b0ae5835cea90e10cdfaf0e83b577","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"def835604a6dace9bf61c26a054e374964e1352d8428f232acb25e794b113b19"},"rule":2,"target":"979dc6be64dc95c5598f2e4eb26071f6","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["601c01e08"],"source_entry_id":"9.3.5/changes/004","source_hash":"a5857dd9de60f280e88715cfdfa6c6cf03562cd2eb6799d62bee57c753c789df","source_url":"/docs/release/9.3.5/#id-1.11.6.25.5","statement_hash":"def835604a6dace9bf61c26a054e374964e1352d8428f232acb25e794b113b19","text":"在从 WAL 重放更新时不清除 GiST 索引页的右链接（Heikki Linnakangas） 这一错误可能导致热备中执行的 GiST 索引扫描出现瞬时错误的结果。","title":"在从 WAL 重放更新时不清除 GiST 索引页的右链接","variants":[],"version":"9.3.5"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["717c116f1","93328b2df","c170655cc"],"commit_groups":[["717c116f1","93328b2df","c170655cc"]],"commits":[],"cves":[],"db_id":"b1c7bceaf36d10d7b51d6c06c18c6a65","html":"\u003cp\u003e修复向 SP-GiST 文本索引插入时极端情况下的无限循环（Tom Lane）\u003c/p\u003e","id":"9.3.5-0ba643c9eb7f14d6","identity_text":"Fix corner-case infinite loop during insertion into an SP-GiST text index (Tom Lane)","part":"changes","patch_ids":["412d3eecadc981cd90268b71e6fe525f"],"related_changes":[{"db_id":"b4d9612e11b01921602c7b39aef2f076","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"32152d4528e8561a4549a029ccc18a16a7372bdd7ce8db4d8c6298fdc9d4a2e0"},"kind":"equivalent","label":"9.2.9","source_url":"/docs/release/9.2.9/#id-1.11.6.20.5","title":"修复向 SP-GiST 文本索引插入时极端情况下的无限循环","url":"/docs/compare/?release=9.2.9#9.2.9-0ba643c9eb7f14d6","version":"9.2.9"}],"relations":[{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"32152d4528e8561a4549a029ccc18a16a7372bdd7ce8db4d8c6298fdc9d4a2e0"},"rule":2,"target":"b4d9612e11b01921602c7b39aef2f076","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["717c116f1"],"source_entry_id":"9.3.5/changes/005","source_hash":"bab566d99881200bd3ffdd03d690b57c42b725c66209ac47d6d2c43d15449f48","source_url":"/docs/release/9.3.5/#id-1.11.6.25.5","statement_hash":"32152d4528e8561a4549a029ccc18a16a7372bdd7ce8db4d8c6298fdc9d4a2e0","text":"修复向 SP-GiST 文本索引插入时极端情况下的无限循环（Tom Lane）","title":"修复向 SP-GiST 文本索引插入时极端情况下的无限循环","variants":[],"version":"9.3.5"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["1264ef31a","9b3ef66af","a4867d041"],"commit_groups":[["1264ef31a","9b3ef66af","a4867d041"]],"commits":[],"cves":[],"db_id":"fded549efa16387b3abcf5c44e73d76b","html":"\u003cp\u003e修复 SP-GiST 索引搜索在使用 \u003ccode\u003e-|-\u003c/code\u003e（范围相邻）操作符时结果错误的问题（Heikki Linnakangas）\u003c/p\u003e","id":"9.3.5-f37efddaabeacdce","identity_text":"Fix incorrect answers from SP-GiST index searches with -|- (range adjacency) operator (Heikki Linnakangas)","part":"changes","patch_ids":["6bc355fc67d053a11732ca4f0e5f501a"],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":["a4867d041"],"source_entry_id":"9.3.5/changes/006","source_hash":"271f203f3ee25dd9971cedf15a49e866873d1a266b733f3b520a3dee0c030612","source_url":"/docs/release/9.3.5/#id-1.11.6.25.5","statement_hash":"a44dab89f5ef0d082a10e2af7c192d3919d525f3dcd0fe7a0bfcc17e88fcd705","text":"修复 SP-GiST 索引搜索在使用 -|-（范围相邻）操作符时结果错误的问题（Heikki Linnakangas）","title":"修复 SP-GiST 索引搜索在使用 -|-（范围相邻）操作符时结果错误的问题","variants":[],"version":"9.3.5"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["167a2535f","b0b263baa"],"commit_groups":[["167a2535f","b0b263baa"]],"commits":[],"cves":[],"db_id":"e3c7e81269b7cb866b3916b403fc69dd","html":"\u003cp\u003e修复 \u003ccode\u003epg_multixact/members\u003c/code\u003e 的回卷处理（Álvaro Herrera）\u003c/p\u003e","id":"9.3.5-70dadc97c1fe686d","identity_text":"Fix wraparound handling for pg_multixact/members (Álvaro Herrera)","part":"changes","patch_ids":["b24b3eaf3fd8b0e893ac8a08458e3dac"],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":["167a2535f"],"source_entry_id":"9.3.5/changes/007","source_hash":"12fcdfd793741e6d46daa67e64f439cea69b1c400c877c2639d6178b91b8ac74","source_url":"/docs/release/9.3.5/#id-1.11.6.25.5","statement_hash":"ea25d13cd6c3282c816b9180aeda9865e0204c813829fa31515124a39b029bf2","text":"修复 pg_multixact/members 的回卷处理（Álvaro Herrera）","title":"修复 pg_multixact/members 的回卷处理","variants":[],"version":"9.3.5"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["56f86bb76","9a28c3752","f741300c9"],"commit_groups":[["56f86bb76","9a28c3752","f741300c9"]],"commits":[],"cves":[],"db_id":"162bb83877dad11a2097460b7b11b8eb","html":"\u003cp\u003e在检查点期间而不是 \u003ccode\u003eVACUUM\u003c/code\u003e 期间截断 \u003ccode\u003epg_multixact\u003c/code\u003e（Álvaro Herrera）\u003c/p\u003e\n\u003cp\u003e此变更确保 \u003ccode\u003epg_multixact\u003c/code\u003e 段不会在崩溃后 WAL 重放期间仍被需要时就被删除。\u003c/p\u003e","id":"9.3.5-dee71683f56b72c3","identity_text":"Truncate pg_multixact during checkpoints, not during VACUUM (Álvaro Herrera) This change ensures that pg_multixact segments can't be removed if they'd still be needed during WAL replay after a crash.","part":"changes","patch_ids":["b4293433cb0d5e0a46d763fa4072ffde"],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":["9a28c3752"],"source_entry_id":"9.3.5/changes/008","source_hash":"68a1809e359b6cec8a98fdf99249c9d64102fd123bd8cc8045448e46a636ca8f","source_url":"/docs/release/9.3.5/#id-1.11.6.25.5","statement_hash":"888727f14045defb326a785cd35dcf9a854c6f23aee581dde85aacc790bf9160","text":"在检查点期间而不是 VACUUM 期间截断 pg_multixact（Álvaro Herrera） 此变更确保 pg_multixact 段不会在崩溃后 WAL 重放期间仍被需要时就被删除。","title":"在检查点期间而不是 VACUUM 期间截断 pg_multixact","variants":[],"version":"9.3.5"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["2a8e1ac59","95aa823eb"],"commit_groups":[["2a8e1ac59","95aa823eb"]],"commits":[],"cves":[],"db_id":"55667e0de6bb68f6b173d23f7ea3dbf4","html":"\u003cp\u003e修复 WAL 恢复后全可见标志可能不一致的问题（Heikki Linnakangas）\u003c/p\u003e","id":"9.3.5-e7886afa5a8401b0","identity_text":"Fix possible inconsistency of all-visible flags after WAL recovery (Heikki Linnakangas)","part":"changes","patch_ids":["45c4e2edb313f3e86c4fc37540822b5f"],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":["95aa823eb"],"source_entry_id":"9.3.5/changes/009","source_hash":"9883c2bcf6bbbbd919a951aa2eb0dba0536a15a9f476b5ea71f45e337c50b483","source_url":"/docs/release/9.3.5/#id-1.11.6.25.5","statement_hash":"97e7cdc6d4f3fac63942061372ebb0e8ff9ace98aba07057bfb3193e7f06e5f2","text":"修复 WAL 恢复后全可见标志可能不一致的问题（Heikki Linnakangas）","title":"修复 WAL 恢复后全可见标志可能不一致的问题","variants":[],"version":"9.3.5"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["0f928a85e","2f4ee3a2f","3ada1fab8","4f4ef042f","7d5b68621","c8fbeeb45"],"commit_groups":[["0f928a85e","2f4ee3a2f","3ada1fab8","4f4ef042f","7d5b68621","c8fbeeb45"]],"commits":[],"cves":[],"db_id":"273c053f34944a528604aa28cc9e7f17","html":"\u003cp\u003e修复嵌套调用 \u003ccode\u003eReceiveSharedInvalidMessages\u003c/code\u003e 期间缓存失效可能不正确的问题（Andres Freund）\u003c/p\u003e","id":"9.3.5-e12dc053d193646e","identity_text":"Fix possibly-incorrect cache invalidation during nested calls to ReceiveSharedInvalidMessages (Andres Freund)","part":"changes","patch_ids":["c41cfc5e61f5f2179d717934232e289a"],"related_changes":[{"db_id":"abb57a6802c3d73430cc1045e10305f7","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"e020f62903dfedf2fadcff8225d57b0c2bf17ac13944c0a4442718d8c344c26c"},"kind":"equivalent","label":"9.2.9","source_url":"/docs/release/9.2.9/#id-1.11.6.20.5","title":"修复嵌套调用 ReceiveSharedInvalidMessages 期间缓存失效可能不正确的问题","url":"/docs/compare/?release=9.2.9#9.2.9-e12dc053d193646e","version":"9.2.9"},{"db_id":"941fc67f41deef8bb58899550331ab9f","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"e020f62903dfedf2fadcff8225d57b0c2bf17ac13944c0a4442718d8c344c26c"},"kind":"equivalent","label":"9.1.14","source_url":"/docs/release/9.1.14/#id-1.11.6.15.5","title":"修复嵌套调用 ReceiveSharedInvalidMessages 期间缓存失效可能不正确的问题","url":"/docs/compare/?release=9.1.14#9.1.14-e12dc053d193646e","version":"9.1.14"},{"db_id":"1aaf0201a17b65d2b48c799e55a1bf9a","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"e020f62903dfedf2fadcff8225d57b0c2bf17ac13944c0a4442718d8c344c26c"},"kind":"equivalent","label":"9.0.18","source_url":"/docs/release/9.0.18/#id-1.11.6.10.5","title":"修复嵌套调用 ReceiveSharedInvalidMessages 期间缓存失效可能不正确的问题","url":"/docs/compare/?release=9.0.18#9.0.18-e12dc053d193646e","version":"9.0.18"}],"relations":[{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"e020f62903dfedf2fadcff8225d57b0c2bf17ac13944c0a4442718d8c344c26c"},"rule":2,"target":"1aaf0201a17b65d2b48c799e55a1bf9a","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"e020f62903dfedf2fadcff8225d57b0c2bf17ac13944c0a4442718d8c344c26c"},"rule":2,"target":"941fc67f41deef8bb58899550331ab9f","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"e020f62903dfedf2fadcff8225d57b0c2bf17ac13944c0a4442718d8c344c26c"},"rule":2,"target":"abb57a6802c3d73430cc1045e10305f7","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["4f4ef042f"],"source_entry_id":"9.3.5/changes/010","source_hash":"6a910cc9ef7a11b0825eb563239fa192a2dc2fee8e6b26b736d1f76b5f1966c2","source_url":"/docs/release/9.3.5/#id-1.11.6.25.5","statement_hash":"e020f62903dfedf2fadcff8225d57b0c2bf17ac13944c0a4442718d8c344c26c","text":"修复嵌套调用 ReceiveSharedInvalidMessages 期间缓存失效可能不正确的问题（Andres Freund）","title":"修复嵌套调用 ReceiveSharedInvalidMessages 期间缓存失效可能不正确的问题","variants":[],"version":"9.3.5"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["1a917ae86","c0bd128c8"],"commit_groups":[["1a917ae86","c0bd128c8"]],"commits":[],"cves":[],"db_id":"a2a7194f85e1e8b1ee6c2b144edb5746","html":"\u003cp\u003e修复更新被其他进程并发锁定的元组时的竞态条件（Andres Freund、Álvaro Herrera）\u003c/p\u003e","id":"9.3.5-bccff164fa08bfcd","identity_text":"Fix race condition when updating a tuple concurrently locked by another process (Andres Freund, Álvaro Herrera)","part":"changes","patch_ids":["13c2be202c9aed3efa0567bdce5aaee3"],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":["c0bd128c8"],"source_entry_id":"9.3.5/changes/011","source_hash":"2681e12f7b8ed6ea74fee59addb97b1038da88210f1a7943609c40fe0e1898c5","source_url":"/docs/release/9.3.5/#id-1.11.6.25.5","statement_hash":"e38f733c5f48f7aea89076d6840cee7e665282cb71959568e9eebd8f4304bc91","text":"修复更新被其他进程并发锁定的元组时的竞态条件（Andres Freund、Álvaro Herrera）","title":"修复更新被其他进程并发锁定的元组时的竞态条件","variants":[],"version":"9.3.5"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["0cf16686b","555d0b200","a2db7b7d0"],"commit_groups":[["0cf16686b","555d0b200","a2db7b7d0"]],"commits":[],"cves":[],"db_id":"19ad847390bbccd2556bd202966fe736","html":"\u003cp\u003e修复对从带继承子表的表读取的子查询执行 \u003ccode\u003eUNION ALL\u003c/code\u003e 时规划器报 \u003cspan\u003e“\u003cspan\u003ecould not find pathkey item to sort\u003c/span\u003e”\u003c/span\u003e 失败的问题（Tom Lane）\u003c/p\u003e","id":"9.3.5-22a620da2325978e","identity_text":"Fix could not find pathkey item to sort planner failures with UNION ALL over subqueries reading from tables with inheritance children (Tom Lane)","part":"changes","patch_ids":["75b8ba42f30411d144bb6d57151d2481"],"related_changes":[{"db_id":"f5fd1221762c82e9a95f2d0fe6e0f23a","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"1c3a3b845c2829e8b7e7b646d7f2fa9b6d65f769c183643981b22e4bbec939fc"},"kind":"equivalent","label":"9.2.9","source_url":"/docs/release/9.2.9/#id-1.11.6.20.5","title":"修复对从带继承子表的表读取的子查询执行 UNION ALL 时规划器报“could not find pathkey item to sort”失败的问题","url":"/docs/compare/?release=9.2.9#9.2.9-bd84f068c0948d9a","version":"9.2.9"},{"db_id":"4b8b73c22f7dc41abb2dd702bebf1e01","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"1c3a3b845c2829e8b7e7b646d7f2fa9b6d65f769c183643981b22e4bbec939fc"},"kind":"equivalent","label":"9.1.14","source_url":"/docs/release/9.1.14/#id-1.11.6.15.5","title":"修复对从带继承子表的表读取的子查询执行 UNION ALL 时规划器报 “could not find pathkey item to sort” 失败的问题","url":"/docs/compare/?release=9.1.14#9.1.14-22a620da2325978e","version":"9.1.14"}],"relations":[{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"1c3a3b845c2829e8b7e7b646d7f2fa9b6d65f769c183643981b22e4bbec939fc"},"rule":2,"target":"4b8b73c22f7dc41abb2dd702bebf1e01","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"1c3a3b845c2829e8b7e7b646d7f2fa9b6d65f769c183643981b22e4bbec939fc"},"rule":2,"target":"f5fd1221762c82e9a95f2d0fe6e0f23a","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["a2db7b7d0"],"source_entry_id":"9.3.5/changes/012","source_hash":"f2f761f70854a0a3b4670c3e4745ae224af0cfa4b83cedcd457e7f11d44ad88c","source_url":"/docs/release/9.3.5/#id-1.11.6.25.5","statement_hash":"1c3a3b845c2829e8b7e7b646d7f2fa9b6d65f769c183643981b22e4bbec939fc","text":"修复对从带继承子表的表读取的子查询执行 UNION ALL 时规划器报 “could not find pathkey item to sort” 失败的问题（Tom Lane）","title":"修复对从带继承子表的表读取的子查询执行 UNION ALL 时规划器报 “could not find pathkey item to sort” 失败的问题","variants":[],"version":"9.3.5"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["189bd09cb","2865d5952","2e7469dc8","6d36aee5b","9e2f2d7a0","ac45aa1dd","fa21a760b"],"commit_groups":[["189bd09cb","2865d5952","2e7469dc8","6d36aee5b","9e2f2d7a0","ac45aa1dd","fa21a760b"]],"commits":[],"cves":[],"db_id":"84948cbdcbf960a5938ea2bb5322a55f","html":"\u003cp\u003e当子查询的目标列表中存在集合返回函数时，不再假定其输出是唯一的（David Rowley）\u003c/p\u003e\n\u003cp\u003e这一疏忽可能导致诸如 \u003ccode\u003eWHERE x IN (SELECT y, generate_series(1,10) FROM t GROUP BY y)\u003c/code\u003e 之类的构造被错误优化。\u003c/p\u003e","id":"9.3.5-faf4c8b633519c08","identity_text":"Don't assume a subquery's output is unique if there's a set-returning function in its targetlist (David Rowley) This oversight could lead to misoptimization of constructs like WHERE x IN (SELECT y, generate_series(1,10) FROM t GROUP BY y).","part":"changes","patch_ids":["730b6738a71084712b6c3e7a69efc5fb"],"related_changes":[{"db_id":"4091f69cd098522abf12a3f99c116f25","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"8b3826bda5d95d5a7ef8820f8e0f7a01f1b7473cb23bd437ff1eb481ac76cd8f"},"kind":"equivalent","label":"9.2.9","source_url":"/docs/release/9.2.9/#id-1.11.6.20.5","title":"当子查询的目标列表中存在集合返回函数时，不再假定其输出是唯一的","url":"/docs/compare/?release=9.2.9#9.2.9-faf4c8b633519c08","version":"9.2.9"},{"db_id":"3f0de4ee4478bf34317072fe1e1d1d75","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"8b3826bda5d95d5a7ef8820f8e0f7a01f1b7473cb23bd437ff1eb481ac76cd8f"},"kind":"equivalent","label":"9.1.14","source_url":"/docs/release/9.1.14/#id-1.11.6.15.5","title":"当子查询的目标列表中存在集合返回函数时，不再假定其输出是唯一的","url":"/docs/compare/?release=9.1.14#9.1.14-faf4c8b633519c08","version":"9.1.14"},{"db_id":"11db6efc9d4ec2ae33c51444e0bb7f14","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"8b3826bda5d95d5a7ef8820f8e0f7a01f1b7473cb23bd437ff1eb481ac76cd8f"},"kind":"equivalent","label":"9.0.18","source_url":"/docs/release/9.0.18/#id-1.11.6.10.5","title":"当子查询的目标列表中存在集合返回函数时，不再假定其输出是唯一的","url":"/docs/compare/?release=9.0.18#9.0.18-faf4c8b633519c08","version":"9.0.18"}],"relations":[{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"8b3826bda5d95d5a7ef8820f8e0f7a01f1b7473cb23bd437ff1eb481ac76cd8f"},"rule":2,"target":"11db6efc9d4ec2ae33c51444e0bb7f14","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"8b3826bda5d95d5a7ef8820f8e0f7a01f1b7473cb23bd437ff1eb481ac76cd8f"},"rule":2,"target":"3f0de4ee4478bf34317072fe1e1d1d75","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"8b3826bda5d95d5a7ef8820f8e0f7a01f1b7473cb23bd437ff1eb481ac76cd8f"},"rule":2,"target":"4091f69cd098522abf12a3f99c116f25","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["6d36aee5b"],"source_entry_id":"9.3.5/changes/013","source_hash":"e3cdb5e885713fbb6e916a461cea8a5edd6d8b8eca4f8d00b6d8d07c14c51ad3","source_url":"/docs/release/9.3.5/#id-1.11.6.25.5","statement_hash":"8b3826bda5d95d5a7ef8820f8e0f7a01f1b7473cb23bd437ff1eb481ac76cd8f","text":"当子查询的目标列表中存在集合返回函数时，不再假定其输出是唯一的（David Rowley） 这一疏忽可能导致诸如 WHERE x IN (SELECT y, generate_series(1,10) FROM t GROUP BY y) 之类的构造被错误优化。","title":"当子查询的目标列表中存在集合返回函数时，不再假定其输出是唯一的","variants":[],"version":"9.3.5"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["0901dbab3","150a44e83","95811032d"],"commit_groups":[["0901dbab3","150a44e83","95811032d"]],"commits":[],"cves":[],"db_id":"f8cc8bde41a89cf1bbbd3110ccf9ad45","html":"\u003cp\u003e改进规划器，使其在可能时丢弃 \u003ccode\u003eAND\u003c/code\u003e/\u003ccode\u003eOR\u003c/code\u003e 的常量 NULL 输入（Tom Lane）\u003c/p\u003e\n\u003cp\u003e此变更修复了一些 9.2 及之后版本更激进的参数替换导致比旧版本生成的计划更差的情况。\u003c/p\u003e","id":"9.3.5-c45f375f04314996","identity_text":"Improve planner to drop constant-NULL inputs of AND/OR when possible (Tom Lane) This change fixes some cases where the more aggressive parameter substitution done by 9.2 and later can lead to a worse plan than older versions produced.","part":"changes","patch_ids":["ebff781a7ac87222192db7534ca91d11"],"related_changes":[{"db_id":"ba501da22c351fce63fa7d3c61f8960b","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"30e6c742d1b2e76fb7e5465108675e5a8100382d8df30e6232e16a4aa7a61249"},"kind":"equivalent","label":"9.2.9","source_url":"/docs/release/9.2.9/#id-1.11.6.20.5","title":"改进规划器，使其在可能时丢弃 AND/OR 的常量 NULL 输入","url":"/docs/compare/?release=9.2.9#9.2.9-c45f375f04314996","version":"9.2.9"}],"relations":[{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"30e6c742d1b2e76fb7e5465108675e5a8100382d8df30e6232e16a4aa7a61249"},"rule":2,"target":"ba501da22c351fce63fa7d3c61f8960b","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["150a44e83"],"source_entry_id":"9.3.5/changes/014","source_hash":"58af886fa15f716f4de13e39688e39c0bcf5bbc7930745f1fade0206ec585f61","source_url":"/docs/release/9.3.5/#id-1.11.6.25.5","statement_hash":"30e6c742d1b2e76fb7e5465108675e5a8100382d8df30e6232e16a4aa7a61249","text":"改进规划器，使其在可能时丢弃 AND/OR 的常量 NULL 输入（Tom Lane） 此变更修复了一些 9.2 及之后版本更激进的参数替换导致比旧版本生成的计划更差的情况。","title":"改进规划器，使其在可能时丢弃 AND/OR 的常量 NULL 输入","variants":[],"version":"9.3.5"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["c7b353959","d359f71ac"],"commit_groups":[["c7b353959","d359f71ac"]],"commits":[],"cves":[],"db_id":"0f747306dd4b8c4a96175fd82dc61444","html":"\u003cp\u003e确保规划器把等价的 \u003ccode\u003eVARIADIC\u003c/code\u003e 与非 \u003ccode\u003eVARIADIC\u003c/code\u003e 函数调用视为相同（Tom Lane）\u003c/p\u003e\n\u003cp\u003e例如，这一缺陷可能导致无法使用涉及可变参数函数的表达式索引。要让此修复对现有 9.3 安装生效，可能需要重建这类索引，和/或重建包含应与索引匹配的可变参数函数调用的视图。\u003c/p\u003e","id":"9.3.5-2c47a69f90b612f0","identity_text":"Ensure that the planner sees equivalent VARIADIC and non-VARIADIC function calls as equivalent (Tom Lane) This bug could for example result in failure to use expression indexes involving variadic functions. It might be necessary to re-create such indexes, and/or re-create views including variadic function calls that should match the indexes, for the fix to be effective for existing 9.3 installations.","part":"changes","patch_ids":["0c7ca875b0eb838718cb245c05954a86"],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":["d359f71ac"],"source_entry_id":"9.3.5/changes/015","source_hash":"161549eb4bde9f818571b2ef8be6f8b76873bb7124699833cde545e90ee531a8","source_url":"/docs/release/9.3.5/#id-1.11.6.25.5","statement_hash":"f4701c19fa992c8ea9aa60a5efccc4aa59baeacb4b07a2c44129a08198fd3d92","text":"确保规划器把等价的 VARIADIC 与非 VARIADIC 函数调用视为相同（Tom Lane） 例如，这一缺陷可能导致无法使用涉及可变参数函数的表达式索引。要让此修复对现有 9.3 安装生效，可能需要重建这类索引，和/或重建包含应与索引匹配的可变参数函数调用的视图。","title":"确保规划器把等价的 VARIADIC 与非 VARIADIC 函数调用视为相同","variants":[],"version":"9.3.5"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["57d8c1270","a1fc36495","a331512de"],"commit_groups":[["57d8c1270","a1fc36495","a331512de"]],"commits":[],"cves":[],"db_id":"41c3cec18c5aed70809162aa32f1cddb","html":"\u003cp\u003e修复 \u003ccode\u003ejson_populate_recordset()\u003c/code\u003e 及相关函数对嵌套 \u003ccode\u003eJSON\u003c/code\u003e 对象的处理（Michael Paquier、Tom Lane）\u003c/p\u003e\n\u003cp\u003e嵌套的 \u003ccode\u003eJSON\u003c/code\u003e 对象可能导致父对象先前的字段未出现在输出中。\u003c/p\u003e","id":"9.3.5-25faaa09c479b4c1","identity_text":"Fix handling of nested JSON objects in json_populate_recordset() and friends (Michael Paquier, Tom Lane) A nested JSON object could result in previous fields of the parent object not being shown in the output.","part":"changes","patch_ids":["e8b2ea1c1f0f797ef3884a42a9e9aa91"],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":["a1fc36495"],"source_entry_id":"9.3.5/changes/016","source_hash":"1d6500d2a31549e0e7d4cab6386b599ac5758b7095a7b01f8e81018e9e96fe7c","source_url":"/docs/release/9.3.5/#id-1.11.6.25.5","statement_hash":"db2b02ba468fc5359d6564c76fe8d3268c0325a863b31bcd677c5f0f99bbe076","text":"修复 json_populate_recordset() 及相关函数对嵌套 JSON 对象的处理（Michael Paquier、Tom Lane） 嵌套的 JSON 对象可能导致父对象先前的字段未出现在输出中。","title":"修复 json_populate_recordset() 及相关函数对嵌套 JSON 对象的处理","variants":[],"version":"9.3.5"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["0ca6bda8e","13c679995","25c933c5c"],"commit_groups":[["0ca6bda8e","13c679995","25c933c5c"]],"commits":[],"cves":[],"db_id":"a8cb266fd3926dcba458a79e89f190ea","html":"\u003cp\u003e修复 \u003ccode\u003eto_json()\u003c/code\u003e 及相关函数对输入类型类别的识别（Tom Lane）\u003c/p\u003e\n\u003cp\u003e已知这曾导致 \u003ccode\u003eJSON\u003c/code\u003e 结果中 \u003ccode\u003emoney\u003c/code\u003e 字段加引号不当，其他数据类型也可能出现错误结果。\u003c/p\u003e","id":"9.3.5-2cbf42a337e43e85","identity_text":"Fix identification of input type category in to_json() and friends (Tom Lane) This is known to have led to inadequate quoting of money fields in the JSON result, and there may have been wrong results for other data types as well.","part":"changes","patch_ids":["e9c6180c20dc089b222b2bd2934c20db"],"related_changes":[{"db_id":"eed7da4ff3cf10798fdd66dccbb65d09","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"d36c02c46b4612d9d671e59c20a3e3c9653a335301fc897fbda1a28e9ca9abb3"},"kind":"equivalent","label":"9.2.9","source_url":"/docs/release/9.2.9/#id-1.11.6.20.5","title":"修复 to_json() 及相关函数对输入类型类别的识别","url":"/docs/compare/?release=9.2.9#9.2.9-2cbf42a337e43e85","version":"9.2.9"}],"relations":[{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"d36c02c46b4612d9d671e59c20a3e3c9653a335301fc897fbda1a28e9ca9abb3"},"rule":2,"target":"eed7da4ff3cf10798fdd66dccbb65d09","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["13c679995"],"source_entry_id":"9.3.5/changes/017","source_hash":"abde78964a68266340dbed611e9f2cfc9d6b0a8b9a5801964fd4906d5f66849e","source_url":"/docs/release/9.3.5/#id-1.11.6.25.5","statement_hash":"d36c02c46b4612d9d671e59c20a3e3c9653a335301fc897fbda1a28e9ca9abb3","text":"修复 to_json() 及相关函数对输入类型类别的识别（Tom Lane） 已知这曾导致 JSON 结果中 money 字段加引号不当，其他数据类型也可能出现错误结果。","title":"修复 to_json() 及相关函数对输入类型类别的识别","variants":[],"version":"9.3.5"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["3f8c8e3c6","70debcf09","7a4f114f3","8c43980a1","b72e90bc3","db1fdc945"],"commit_groups":[["3f8c8e3c6","70debcf09","7a4f114f3","8c43980a1","b72e90bc3","db1fdc945"]],"commits":[],"cves":[],"db_id":"bb5e5d0ca78271a17828f482f87c7451","html":"\u003cp\u003e修复未能对结构化类型的组合元素中的字段执行解 TOAST 的错误（Tom Lane）\u003c/p\u003e\n\u003cp\u003e这纠正了 TOAST 指针可能未经解引用就被复制到其他表的情况。如果原始数据随后被删除，当这个已悬空的指针被使用时，会导致诸如 \u003cspan\u003e“\u003cspan\u003emissing chunk number 0 for toast value ...\u003c/span\u003e”\u003c/span\u003e 之类的错误。\u003c/p\u003e","id":"9.3.5-3b2656e08e941538","identity_text":"Fix failure to detoast fields in composite elements of structured types (Tom Lane) This corrects cases where TOAST pointers could be copied into other tables without being dereferenced. If the original data is later deleted, it would lead to errors like missing chunk number 0 for toast value ... when the now-dangling pointer is used.","part":"changes","patch_ids":["a441d535c1efd6f6c59999ccf14f1349"],"related_changes":[{"db_id":"7df54a2467eba0e9a74d4a38f1f98353","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"a0e8b940d866af211905ef8b5188ad06eeeb9f6d59793cca6810091274d49204"},"kind":"equivalent","label":"9.2.9","source_url":"/docs/release/9.2.9/#id-1.11.6.20.5","title":"修复未能对结构化类型的组合元素中的字段执行解 TOAST 的错误","url":"/docs/compare/?release=9.2.9#9.2.9-3b2656e08e941538","version":"9.2.9"},{"db_id":"d5cdc42fb546efa978e3758bf6fabe38","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"a0e8b940d866af211905ef8b5188ad06eeeb9f6d59793cca6810091274d49204"},"kind":"equivalent","label":"9.1.14","source_url":"/docs/release/9.1.14/#id-1.11.6.15.5","title":"修复未能对结构化类型的组合元素中的字段执行解 TOAST 的错误","url":"/docs/compare/?release=9.1.14#9.1.14-3b2656e08e941538","version":"9.1.14"},{"db_id":"eaec842655e68490e08ca8bb73072d29","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"a0e8b940d866af211905ef8b5188ad06eeeb9f6d59793cca6810091274d49204"},"kind":"equivalent","label":"9.0.18","source_url":"/docs/release/9.0.18/#id-1.11.6.10.5","title":"修复未能对结构化类型的组合元素中的字段执行解 TOAST 的错误","url":"/docs/compare/?release=9.0.18#9.0.18-3b2656e08e941538","version":"9.0.18"}],"relations":[{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"a0e8b940d866af211905ef8b5188ad06eeeb9f6d59793cca6810091274d49204"},"rule":2,"target":"7df54a2467eba0e9a74d4a38f1f98353","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"a0e8b940d866af211905ef8b5188ad06eeeb9f6d59793cca6810091274d49204"},"rule":2,"target":"d5cdc42fb546efa978e3758bf6fabe38","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"a0e8b940d866af211905ef8b5188ad06eeeb9f6d59793cca6810091274d49204"},"rule":2,"target":"eaec842655e68490e08ca8bb73072d29","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["b72e90bc3"],"source_entry_id":"9.3.5/changes/018","source_hash":"38154f67a0e2975afbac7fb88e7afa4b9f409aa658c945df42c14da9fab43137","source_url":"/docs/release/9.3.5/#id-1.11.6.25.5","statement_hash":"a0e8b940d866af211905ef8b5188ad06eeeb9f6d59793cca6810091274d49204","text":"修复未能对结构化类型的组合元素中的字段执行解 TOAST 的错误（Tom Lane） 这纠正了 TOAST 指针可能未经解引用就被复制到其他表的情况。如果原始数据随后被删除，当这个已悬空的指针被使用时，会导致诸如 “missing chunk number 0 for toast value ...” 之类的错误。","title":"修复未能对结构化类型的组合元素中的字段执行解 TOAST 的错误","variants":[],"version":"9.3.5"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["261f954e7","a81fbcfb3","b77e6b959","c45841f9e","cd8ba91a0","d68581483","f280eff94"],"commit_groups":[["261f954e7","a81fbcfb3","b77e6b959","c45841f9e","cd8ba91a0","d68581483","f280eff94"]],"commits":[],"cves":[],"db_id":"a5bff8c32cfcc751d43d2d9715dbfc69","html":"\u003cp\u003e修复对 Append 计划节点输出的整行引用导致 \u003cspan\u003e“\u003cspan\u003erecord type has not been registered\u003c/span\u003e”\u003c/span\u003e 失败的问题（Tom Lane）\u003c/p\u003e","id":"9.3.5-851a3705c038d7af","identity_text":"Fix record type has not been registered failures with whole-row references to the output of Append plan nodes (Tom Lane)","part":"changes","patch_ids":["8dd6ecdf6fd56bfe113db40fbb0a64ef"],"related_changes":[{"db_id":"943f89e82d9b9416e4544d7a538b55cf","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"907e00465ed3de22da88d87431176f161c3e33879f9d1561a047130e5f1d128c"},"kind":"equivalent","label":"9.2.9","source_url":"/docs/release/9.2.9/#id-1.11.6.20.5","title":"修复对 Append 计划节点输出的整行引用导致“record type has not been registered”失败的问题","url":"/docs/compare/?release=9.2.9#9.2.9-b89988ddcd2b22c4","version":"9.2.9"},{"db_id":"e13b6c867000757d183dd0b92153c3c0","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"907e00465ed3de22da88d87431176f161c3e33879f9d1561a047130e5f1d128c"},"kind":"equivalent","label":"9.1.14","source_url":"/docs/release/9.1.14/#id-1.11.6.15.5","title":"修复对 Append 计划节点输出的整行引用导致 “record type has not been registered” 失败的问题","url":"/docs/compare/?release=9.1.14#9.1.14-851a3705c038d7af","version":"9.1.14"},{"db_id":"b6b468de37aae5bd9ac064219792b112","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"907e00465ed3de22da88d87431176f161c3e33879f9d1561a047130e5f1d128c"},"kind":"equivalent","label":"9.0.18","source_url":"/docs/release/9.0.18/#id-1.11.6.10.5","title":"修复对 Append 计划节点输出的整行引用导致 “record type has not been registered” 失败的问题","url":"/docs/compare/?release=9.0.18#9.0.18-851a3705c038d7af","version":"9.0.18"}],"relations":[{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"907e00465ed3de22da88d87431176f161c3e33879f9d1561a047130e5f1d128c"},"rule":2,"target":"943f89e82d9b9416e4544d7a538b55cf","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"907e00465ed3de22da88d87431176f161c3e33879f9d1561a047130e5f1d128c"},"rule":2,"target":"b6b468de37aae5bd9ac064219792b112","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"907e00465ed3de22da88d87431176f161c3e33879f9d1561a047130e5f1d128c"},"rule":2,"target":"e13b6c867000757d183dd0b92153c3c0","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["b77e6b959"],"source_entry_id":"9.3.5/changes/019","source_hash":"0424902d4b6849536a3cbce8fc811183ae475434144c17ff46a02dbd01b5b845","source_url":"/docs/release/9.3.5/#id-1.11.6.25.5","statement_hash":"907e00465ed3de22da88d87431176f161c3e33879f9d1561a047130e5f1d128c","text":"修复对 Append 计划节点输出的整行引用导致 “record type has not been registered” 失败的问题（Tom Lane）","title":"修复对 Append 计划节点输出的整行引用导致 “record type has not been registered” 失败的问题","variants":[],"version":"9.3.5"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["022b5f2b2","04e5025be","229101db4","2a527baa3","7f66ade71","fc58c39d4"],"commit_groups":[["022b5f2b2","04e5025be","229101db4","2a527baa3","7f66ade71","fc58c39d4"]],"commits":[],"cves":[],"db_id":"03176a786830cf8e48a92ec1d8f49cd5","html":"\u003cp\u003e修复在回卷游标时调用用户定义函数可能崩溃的问题（Tom Lane）\u003c/p\u003e","id":"9.3.5-c4131253432ef97c","identity_text":"Fix possible crash when invoking a user-defined function while rewinding a cursor (Tom Lane)","part":"changes","patch_ids":["0b56454471885c7b44f40767a72cd06b"],"related_changes":[{"db_id":"6794b5b236dec9c71441bd8d31d2de11","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"7e47f72c2cb634cac94f6dda8abf3e611183e97495532a610813a79492b4f80a"},"kind":"equivalent","label":"9.2.9","source_url":"/docs/release/9.2.9/#id-1.11.6.20.5","title":"修复在回卷游标时调用用户定义函数可能崩溃的问题","url":"/docs/compare/?release=9.2.9#9.2.9-c4131253432ef97c","version":"9.2.9"},{"db_id":"f0683b60085c78c315c325a0a29373b7","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"7e47f72c2cb634cac94f6dda8abf3e611183e97495532a610813a79492b4f80a"},"kind":"equivalent","label":"9.1.14","source_url":"/docs/release/9.1.14/#id-1.11.6.15.5","title":"修复在回卷游标时调用用户定义函数可能崩溃的问题","url":"/docs/compare/?release=9.1.14#9.1.14-c4131253432ef97c","version":"9.1.14"},{"db_id":"7a33bc45d19644a4fa8bacb9cd4cde75","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"7e47f72c2cb634cac94f6dda8abf3e611183e97495532a610813a79492b4f80a"},"kind":"equivalent","label":"9.0.18","source_url":"/docs/release/9.0.18/#id-1.11.6.10.5","title":"修复在回卷游标时调用用户定义函数可能崩溃的问题","url":"/docs/compare/?release=9.0.18#9.0.18-c4131253432ef97c","version":"9.0.18"}],"relations":[{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"7e47f72c2cb634cac94f6dda8abf3e611183e97495532a610813a79492b4f80a"},"rule":2,"target":"6794b5b236dec9c71441bd8d31d2de11","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"7e47f72c2cb634cac94f6dda8abf3e611183e97495532a610813a79492b4f80a"},"rule":2,"target":"7a33bc45d19644a4fa8bacb9cd4cde75","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"7e47f72c2cb634cac94f6dda8abf3e611183e97495532a610813a79492b4f80a"},"rule":2,"target":"f0683b60085c78c315c325a0a29373b7","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["fc58c39d4"],"source_entry_id":"9.3.5/changes/020","source_hash":"94abbbcfa564b8a44185412e42da300f7c31a6ad876e090f3b2672ced904f489","source_url":"/docs/release/9.3.5/#id-1.11.6.25.5","statement_hash":"7e47f72c2cb634cac94f6dda8abf3e611183e97495532a610813a79492b4f80a","text":"修复在回卷游标时调用用户定义函数可能崩溃的问题（Tom Lane）","title":"修复在回卷游标时调用用户定义函数可能崩溃的问题","variants":[],"version":"9.3.5"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["06d5eacbc","1044e79a0","45b0f3572","83131e634","b568d3836","c1f8fb9bf","d297c91d4"],"commit_groups":[["06d5eacbc","1044e79a0","45b0f3572","83131e634","b568d3836","c1f8fb9bf","d297c91d4"]],"commits":[],"cves":[],"db_id":"41cd78a1fbcdab8a53229962882ca0b4","html":"\u003cp\u003e修复为 \u003ccode\u003eFROM\u003c/code\u003e 中的函数求值参数时查询级内存泄漏的问题（Tom Lane）\u003c/p\u003e","id":"9.3.5-37755a9034281f01","identity_text":"Fix query-lifespan memory leak while evaluating the arguments for a function in FROM (Tom Lane)","part":"changes","patch_ids":["e89723b778c58a3e776fb321802adc3b"],"related_changes":[{"db_id":"2c789e694ad162374eea2a3cecb509a4","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"86384f1f46f7632ad7228fd92790058d972a5e5b6f320f413866e3c433795999"},"kind":"equivalent","label":"9.2.9","source_url":"/docs/release/9.2.9/#id-1.11.6.20.5","title":"修复为 FROM 中的函数求值参数时查询级内存泄漏的问题","url":"/docs/compare/?release=9.2.9#9.2.9-37755a9034281f01","version":"9.2.9"},{"db_id":"1a048d9e7e109fe833d9e6a9e0540084","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"86384f1f46f7632ad7228fd92790058d972a5e5b6f320f413866e3c433795999"},"kind":"equivalent","label":"9.1.14","source_url":"/docs/release/9.1.14/#id-1.11.6.15.5","title":"修复为 FROM 中的函数求值参数时查询级内存泄漏的问题","url":"/docs/compare/?release=9.1.14#9.1.14-37755a9034281f01","version":"9.1.14"},{"db_id":"c32372665831e6929e90b6d8512dcbee","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"86384f1f46f7632ad7228fd92790058d972a5e5b6f320f413866e3c433795999"},"kind":"equivalent","label":"9.0.18","source_url":"/docs/release/9.0.18/#id-1.11.6.10.5","title":"修复为 FROM 中的函数求值参数时查询级内存泄漏的问题","url":"/docs/compare/?release=9.0.18#9.0.18-37755a9034281f01","version":"9.0.18"}],"relations":[{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"86384f1f46f7632ad7228fd92790058d972a5e5b6f320f413866e3c433795999"},"rule":2,"target":"1a048d9e7e109fe833d9e6a9e0540084","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"86384f1f46f7632ad7228fd92790058d972a5e5b6f320f413866e3c433795999"},"rule":2,"target":"2c789e694ad162374eea2a3cecb509a4","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"86384f1f46f7632ad7228fd92790058d972a5e5b6f320f413866e3c433795999"},"rule":2,"target":"c32372665831e6929e90b6d8512dcbee","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["c1f8fb9bf"],"source_entry_id":"9.3.5/changes/021","source_hash":"ec6ab20fb05aaf60ca7ba16dd99a583f75f065994fdcda495c91fb83fac0abcb","source_url":"/docs/release/9.3.5/#id-1.11.6.25.5","statement_hash":"86384f1f46f7632ad7228fd92790058d972a5e5b6f320f413866e3c433795999","text":"修复为 FROM 中的函数求值参数时查询级内存泄漏的问题（Tom Lane）","title":"修复为 FROM 中的函数求值参数时查询级内存泄漏的问题","variants":[],"version":"9.3.5"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["1567e659a","4a66f0f2d","5ef588b22","8a817785a","a223b9e36","b8c24f7ab","e0a233744"],"commit_groups":[["1567e659a","4a66f0f2d","5ef588b22","8a817785a","a223b9e36","b8c24f7ab","e0a233744"]],"commits":[],"cves":[],"db_id":"eeb0bf25c9ae2d48c7186e65ae9b1ff9","html":"\u003cp\u003e修复正则表达式处理中的会话级内存泄漏（Tom Lane、Arthur O'Dwyer、Greg Stark）\u003c/p\u003e","id":"9.3.5-a5b49a0dc9a0b81e","identity_text":"Fix session-lifespan memory leaks in regular-expression processing (Tom Lane, Arthur O'Dwyer, Greg Stark)","part":"changes","patch_ids":["3b857b32bc3201bdd9749ab88ba4a01a"],"related_changes":[{"db_id":"25991b347a474942acebc8de0eaff080","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"5be82c5605f010d5bbba9389d1e8e446f5d64d76581c451a8d6256265a3758a0"},"kind":"equivalent","label":"9.2.9","source_url":"/docs/release/9.2.9/#id-1.11.6.20.5","title":"修复正则表达式处理中的会话级内存泄漏","url":"/docs/compare/?release=9.2.9#9.2.9-a5b49a0dc9a0b81e","version":"9.2.9"},{"db_id":"0b4fd6206cb4bbf88806d495bbf3cc90","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"5be82c5605f010d5bbba9389d1e8e446f5d64d76581c451a8d6256265a3758a0"},"kind":"equivalent","label":"9.1.14","source_url":"/docs/release/9.1.14/#id-1.11.6.15.5","title":"修复正则表达式处理中的会话级内存泄漏","url":"/docs/compare/?release=9.1.14#9.1.14-a5b49a0dc9a0b81e","version":"9.1.14"},{"db_id":"383752e01bb4550a7f1914986b8e0c3a","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"5be82c5605f010d5bbba9389d1e8e446f5d64d76581c451a8d6256265a3758a0"},"kind":"equivalent","label":"9.0.18","source_url":"/docs/release/9.0.18/#id-1.11.6.10.5","title":"修复正则表达式处理中的会话级内存泄漏","url":"/docs/compare/?release=9.0.18#9.0.18-a5b49a0dc9a0b81e","version":"9.0.18"}],"relations":[{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"5be82c5605f010d5bbba9389d1e8e446f5d64d76581c451a8d6256265a3758a0"},"rule":2,"target":"0b4fd6206cb4bbf88806d495bbf3cc90","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"5be82c5605f010d5bbba9389d1e8e446f5d64d76581c451a8d6256265a3758a0"},"rule":2,"target":"25991b347a474942acebc8de0eaff080","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"5be82c5605f010d5bbba9389d1e8e446f5d64d76581c451a8d6256265a3758a0"},"rule":2,"target":"383752e01bb4550a7f1914986b8e0c3a","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["5ef588b22"],"source_entry_id":"9.3.5/changes/022","source_hash":"9aaead3bfbaf099a0fe7b9fdd4175a27c0f4a84924180f8a75e516025da25d4b","source_url":"/docs/release/9.3.5/#id-1.11.6.25.5","statement_hash":"5be82c5605f010d5bbba9389d1e8e446f5d64d76581c451a8d6256265a3758a0","text":"修复正则表达式处理中的会话级内存泄漏（Tom Lane、Arthur O'Dwyer、Greg Stark）","title":"修复正则表达式处理中的会话级内存泄漏","variants":[],"version":"9.3.5"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["4d5ea4290","62f134954","7f9fbb842","802323535","87db9534a","f3f40434b","fd90b5d57"],"commit_groups":[["4d5ea4290","62f134954","7f9fbb842","802323535","87db9534a","f3f40434b","fd90b5d57"]],"commits":[],"cves":[],"db_id":"264f904d5d08ad625ac4fe46a29711e1","html":"\u003cp\u003e修复 \u003ccode\u003ehungarian.stop\u003c/code\u003e 中的数据编码错误（Tom Lane）\u003c/p\u003e","id":"9.3.5-36e0d9edc5a219a4","identity_text":"Fix data encoding error in hungarian.stop (Tom Lane)","part":"changes","patch_ids":["63be7b008802dcac89b344d3178bc87e"],"related_changes":[{"db_id":"38ba3cd0011d5007ee11a447df513fa0","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"f036016e3ff0dd160b1087e2ecde2a6826685336921ee4cdd4fdcdbc9d06bdee"},"kind":"equivalent","label":"9.2.9","source_url":"/docs/release/9.2.9/#id-1.11.6.20.5","title":"修复 hungarian.stop 中的数据编码错误","url":"/docs/compare/?release=9.2.9#9.2.9-36e0d9edc5a219a4","version":"9.2.9"},{"db_id":"84ff1fd0250a21afab5aeeb41175a0a0","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"f036016e3ff0dd160b1087e2ecde2a6826685336921ee4cdd4fdcdbc9d06bdee"},"kind":"equivalent","label":"9.1.14","source_url":"/docs/release/9.1.14/#id-1.11.6.15.5","title":"修复 hungarian.stop 中的数据编码错误","url":"/docs/compare/?release=9.1.14#9.1.14-36e0d9edc5a219a4","version":"9.1.14"},{"db_id":"d02b618f97b84480c63ea8f630a9a517","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"f036016e3ff0dd160b1087e2ecde2a6826685336921ee4cdd4fdcdbc9d06bdee"},"kind":"equivalent","label":"9.0.18","source_url":"/docs/release/9.0.18/#id-1.11.6.10.5","title":"修复 hungarian.stop 中的数据编码错误","url":"/docs/compare/?release=9.0.18#9.0.18-36e0d9edc5a219a4","version":"9.0.18"}],"relations":[{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"f036016e3ff0dd160b1087e2ecde2a6826685336921ee4cdd4fdcdbc9d06bdee"},"rule":2,"target":"38ba3cd0011d5007ee11a447df513fa0","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"f036016e3ff0dd160b1087e2ecde2a6826685336921ee4cdd4fdcdbc9d06bdee"},"rule":2,"target":"84ff1fd0250a21afab5aeeb41175a0a0","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"f036016e3ff0dd160b1087e2ecde2a6826685336921ee4cdd4fdcdbc9d06bdee"},"rule":2,"target":"d02b618f97b84480c63ea8f630a9a517","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["87db9534a"],"source_entry_id":"9.3.5/changes/023","source_hash":"48803e15e50bc09f82d0b004425a9f1eee128e173863da1282cb3111b1bd2921","source_url":"/docs/release/9.3.5/#id-1.11.6.25.5","statement_hash":"f036016e3ff0dd160b1087e2ecde2a6826685336921ee4cdd4fdcdbc9d06bdee","text":"修复 hungarian.stop 中的数据编码错误（Tom Lane）","title":"修复 hungarian.stop 中的数据编码错误","variants":[],"version":"9.3.5"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["1818ae0a7","1c9f9e888","2a7512bc7","a87a7dc8b","dd1a5b09b"],"commit_groups":[["1818ae0a7","1c9f9e888","2a7512bc7","a87a7dc8b","dd1a5b09b"]],"commits":[],"cves":[],"db_id":"6e736cb3322b1f55e6dd7ad1a49ba51e","html":"\u003cp\u003e防止在\u003ca href=\"/docs/9.3/runtime-config-compatible.html#GUC-DEFAULT-WITH-OIDS\"\u003edefault_with_oids\u003c/a\u003e为真时创建带 OIDS 的外部表（Etsuro Fujita）\u003c/p\u003e","id":"9.3.5-ecf35a4345e9fe13","identity_text":"Prevent foreign tables from being created with OIDS when guc-default-with-oids is true (Etsuro Fujita)","part":"changes","patch_ids":["3a11f770a5dcc909f1c0be690544f9e9"],"related_changes":[{"db_id":"9ac3a9d83688f1efb8ed6afac4f6db50","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"0c5d6924e91115d2c06ede70d3eace773034fdcf29191aa60f505d152021f943"},"kind":"equivalent","label":"9.2.9","source_url":"/docs/release/9.2.9/#id-1.11.6.20.5","title":"防止在default_with_oids为真时创建带 OIDS 的外部表","url":"/docs/compare/?release=9.2.9#9.2.9-ecf35a4345e9fe13","version":"9.2.9"},{"db_id":"6e264876511a90aa898b99cbf552379e","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"0c5d6924e91115d2c06ede70d3eace773034fdcf29191aa60f505d152021f943"},"kind":"equivalent","label":"9.1.14","source_url":"/docs/release/9.1.14/#id-1.11.6.15.5","title":"防止在default_with_oids为真时创建带 OIDS 的外部表","url":"/docs/compare/?release=9.1.14#9.1.14-ecf35a4345e9fe13","version":"9.1.14"}],"relations":[{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"0c5d6924e91115d2c06ede70d3eace773034fdcf29191aa60f505d152021f943"},"rule":2,"target":"6e264876511a90aa898b99cbf552379e","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"0c5d6924e91115d2c06ede70d3eace773034fdcf29191aa60f505d152021f943"},"rule":2,"target":"9ac3a9d83688f1efb8ed6afac4f6db50","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["2a7512bc7"],"source_entry_id":"9.3.5/changes/024","source_hash":"3570a586b71a647903ae03bfdc9612c8eb55d9591cb0b0e58095672e8540f386","source_url":"/docs/release/9.3.5/#id-1.11.6.25.5","statement_hash":"0c5d6924e91115d2c06ede70d3eace773034fdcf29191aa60f505d152021f943","text":"防止在default_with_oids为真时创建带 OIDS 的外部表（Etsuro Fujita）","title":"防止在default_with_oids为真时创建带 OIDS 的外部表","variants":[],"version":"9.3.5"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["037c6fb9f","315442c01","621a99a66","6bf6e528a","80d45ae4e","edde59db1"],"commit_groups":[["037c6fb9f","315442c01","621a99a66","6bf6e528a","80d45ae4e","edde59db1"]],"commits":[],"cves":[],"db_id":"116d8d34d4d0b4eff3945173d9a62e51","html":"\u003cp\u003e修复对在当前事务中插入、随后被一个现已回滚的子事务删除的行的活跃性检查（Andres Freund）\u003c/p\u003e\n\u003cp\u003e如果同一事务中稍后执行了 \u003ccode\u003eCREATE INDEX\u003c/code\u003e 或 \u003ccode\u003eCLUSTER\u003c/code\u003e，这可能导致问题（至少是虚假警告，最坏是无限循环）。\u003c/p\u003e","id":"9.3.5-c686dfa617ceb9a1","identity_text":"Fix liveness checks for rows that were inserted in the current transaction and then deleted by a now-rolled-back subtransaction (Andres Freund) This could cause problems (at least spurious warnings, and at worst an infinite loop) if CREATE INDEX or CLUSTER were done later in the same transaction.","part":"changes","patch_ids":["1fddd448e2a854ce0097d6b37c84fa3e"],"related_changes":[{"db_id":"baf0f18b7d66cdd113769591a089af77","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"0407dc03f159e299ade1fec7314eb1de83d6c6fc23777bc71894d8ba15944a31"},"kind":"equivalent","label":"9.2.9","source_url":"/docs/release/9.2.9/#id-1.11.6.20.5","title":"修复对在当前事务中插入、随后被一个现已回滚的子事务删除的行的活跃性检查","url":"/docs/compare/?release=9.2.9#9.2.9-c686dfa617ceb9a1","version":"9.2.9"},{"db_id":"434f2385f9554696517f8f50bb5ecccd","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"0407dc03f159e299ade1fec7314eb1de83d6c6fc23777bc71894d8ba15944a31"},"kind":"equivalent","label":"9.1.14","source_url":"/docs/release/9.1.14/#id-1.11.6.15.5","title":"修复对在当前事务中插入、随后被一个现已回滚的子事务删除的行的活跃性检查","url":"/docs/compare/?release=9.1.14#9.1.14-c686dfa617ceb9a1","version":"9.1.14"},{"db_id":"b5fe3b8610961d74024c709d4db93170","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"0407dc03f159e299ade1fec7314eb1de83d6c6fc23777bc71894d8ba15944a31"},"kind":"equivalent","label":"9.0.18","source_url":"/docs/release/9.0.18/#id-1.11.6.10.5","title":"修复对在当前事务中插入、随后被一个现已回滚的子事务删除的行的活跃性检查","url":"/docs/compare/?release=9.0.18#9.0.18-c686dfa617ceb9a1","version":"9.0.18"}],"relations":[{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"0407dc03f159e299ade1fec7314eb1de83d6c6fc23777bc71894d8ba15944a31"},"rule":2,"target":"434f2385f9554696517f8f50bb5ecccd","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"0407dc03f159e299ade1fec7314eb1de83d6c6fc23777bc71894d8ba15944a31"},"rule":2,"target":"b5fe3b8610961d74024c709d4db93170","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"0407dc03f159e299ade1fec7314eb1de83d6c6fc23777bc71894d8ba15944a31"},"rule":2,"target":"baf0f18b7d66cdd113769591a089af77","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["edde59db1"],"source_entry_id":"9.3.5/changes/025","source_hash":"7ae6868be95d9b4b8faa9b7d554e6deed0d34639df495ea2a884011b04019cf0","source_url":"/docs/release/9.3.5/#id-1.11.6.25.5","statement_hash":"0407dc03f159e299ade1fec7314eb1de83d6c6fc23777bc71894d8ba15944a31","text":"修复对在当前事务中插入、随后被一个现已回滚的子事务删除的行的活跃性检查（Andres Freund） 如果同一事务中稍后执行了 CREATE INDEX 或 CLUSTER，这可能导致问题（至少是虚假警告，最坏是无限循环）。","title":"修复对在当前事务中插入、随后被一个现已回滚的子事务删除的行的活跃性检查","variants":[],"version":"9.3.5"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["12e41a5d7","70e7be264","82fbd88a7","b7a3e1173","d19bd29f0","ea9ac7741"],"commit_groups":[["12e41a5d7","70e7be264","82fbd88a7","b7a3e1173","d19bd29f0","ea9ac7741"]],"commits":[],"cves":[],"db_id":"d20b9d109f7e0a680be94af055771645","html":"\u003cp\u003e在 \u003ccode\u003ePREPARE TRANSACTION\u003c/code\u003e 期间清除 \u003ccode\u003epg_stat_activity\u003c/code\u003e.\u003ccode\u003exact_start\u003c/code\u003e（Andres Freund）\u003c/p\u003e\n\u003cp\u003e在 \u003ccode\u003ePREPARE\u003c/code\u003e 之后，发起会话已不在事务中，因此不应继续显示事务开始时间。\u003c/p\u003e","id":"9.3.5-195ea8badae0b582","identity_text":"Clear pg_stat_activity.xact_start during PREPARE TRANSACTION (Andres Freund) After the PREPARE, the originating session is no longer in a transaction, so it should not continue to display a transaction start time.","part":"changes","patch_ids":["e1f06bd083b2db8dc8b5a9125172680d"],"related_changes":[{"db_id":"fc5f7050ba78e0c05e9e87fac8f1df45","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"642ef4bdb94b619d66e23824a190f24539619a99612365fbf4681bbc2a7a4e4c"},"kind":"equivalent","label":"9.2.9","source_url":"/docs/release/9.2.9/#id-1.11.6.20.5","title":"在 PREPARE TRANSACTION 期间清除 pg_stat_activity.xact_start","url":"/docs/compare/?release=9.2.9#9.2.9-195ea8badae0b582","version":"9.2.9"},{"db_id":"53fed2609faead97a15f4688071e57af","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"642ef4bdb94b619d66e23824a190f24539619a99612365fbf4681bbc2a7a4e4c"},"kind":"equivalent","label":"9.1.14","source_url":"/docs/release/9.1.14/#id-1.11.6.15.5","title":"在 PREPARE TRANSACTION 期间清除 pg_stat_activity.xact_start","url":"/docs/compare/?release=9.1.14#9.1.14-195ea8badae0b582","version":"9.1.14"},{"db_id":"66c6ffb4b1967b64700194b1fe3ca2aa","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"642ef4bdb94b619d66e23824a190f24539619a99612365fbf4681bbc2a7a4e4c"},"kind":"equivalent","label":"9.0.18","source_url":"/docs/release/9.0.18/#id-1.11.6.10.5","title":"在 PREPARE TRANSACTION 期间清除 pg_stat_activity.xact_start","url":"/docs/compare/?release=9.0.18#9.0.18-195ea8badae0b582","version":"9.0.18"}],"relations":[{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"642ef4bdb94b619d66e23824a190f24539619a99612365fbf4681bbc2a7a4e4c"},"rule":2,"target":"53fed2609faead97a15f4688071e57af","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"642ef4bdb94b619d66e23824a190f24539619a99612365fbf4681bbc2a7a4e4c"},"rule":2,"target":"66c6ffb4b1967b64700194b1fe3ca2aa","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"642ef4bdb94b619d66e23824a190f24539619a99612365fbf4681bbc2a7a4e4c"},"rule":2,"target":"fc5f7050ba78e0c05e9e87fac8f1df45","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["12e41a5d7"],"source_entry_id":"9.3.5/changes/026","source_hash":"d95f549ef943b1661189002e146bccb045f8593853dc88180c9edf9b760ab3ea","source_url":"/docs/release/9.3.5/#id-1.11.6.25.5","statement_hash":"642ef4bdb94b619d66e23824a190f24539619a99612365fbf4681bbc2a7a4e4c","text":"在 PREPARE TRANSACTION 期间清除 pg_stat_activity.xact_start（Andres Freund） 在 PREPARE 之后，发起会话已不在事务中，因此不应继续显示事务开始时间。","title":"在 PREPARE TRANSACTION 期间清除 pg_stat_activity.xact_start","variants":[],"version":"9.3.5"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["12c5bbdcb","4b767789d","6bdf4b9c7","a41dc7321","b42f09fc8","bf08864b8","e45229bb6"],"commit_groups":[["12c5bbdcb","4b767789d","6bdf4b9c7","a41dc7321","b42f09fc8","bf08864b8","e45229bb6"]],"commits":[],"cves":[],"db_id":"bc2a550a6fbef954d308390070d59d44","html":"\u003cp\u003e修复 \u003ccode\u003eREASSIGN OWNED\u003c/code\u003e 对文本搜索对象失败的问题（Álvaro Herrera）\u003c/p\u003e","id":"9.3.5-ecebf2c19d4efb8e","identity_text":"Fix REASSIGN OWNED to not fail for text search objects (Álvaro Herrera)","part":"changes","patch_ids":["625429fc9887735d34b89a44296d4434"],"related_changes":[{"db_id":"d9fb0682c8c03fe0a2b49ad032bc8328","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"30e7cf5ee800fa2df1c69283465239aff305f90a0f0f10286e1e4a077ac09f74"},"kind":"equivalent","label":"9.2.9","source_url":"/docs/release/9.2.9/#id-1.11.6.20.5","title":"修复 REASSIGN OWNED 对文本搜索对象失败的问题","url":"/docs/compare/?release=9.2.9#9.2.9-ecebf2c19d4efb8e","version":"9.2.9"},{"db_id":"315ae6f5bb995c0e6d88f41345b36cb6","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"30e7cf5ee800fa2df1c69283465239aff305f90a0f0f10286e1e4a077ac09f74"},"kind":"equivalent","label":"9.1.14","source_url":"/docs/release/9.1.14/#id-1.11.6.15.5","title":"修复 REASSIGN OWNED 对文本搜索对象失败的问题","url":"/docs/compare/?release=9.1.14#9.1.14-ecebf2c19d4efb8e","version":"9.1.14"},{"db_id":"ed417d10032b5dce01be16e2497fba90","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"30e7cf5ee800fa2df1c69283465239aff305f90a0f0f10286e1e4a077ac09f74"},"kind":"equivalent","label":"9.0.18","source_url":"/docs/release/9.0.18/#id-1.11.6.10.5","title":"修复 REASSIGN OWNED 对文本搜索对象失败的问题","url":"/docs/compare/?release=9.0.18#9.0.18-ecebf2c19d4efb8e","version":"9.0.18"}],"relations":[{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"30e7cf5ee800fa2df1c69283465239aff305f90a0f0f10286e1e4a077ac09f74"},"rule":2,"target":"315ae6f5bb995c0e6d88f41345b36cb6","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"30e7cf5ee800fa2df1c69283465239aff305f90a0f0f10286e1e4a077ac09f74"},"rule":2,"target":"d9fb0682c8c03fe0a2b49ad032bc8328","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"30e7cf5ee800fa2df1c69283465239aff305f90a0f0f10286e1e4a077ac09f74"},"rule":2,"target":"ed417d10032b5dce01be16e2497fba90","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["12c5bbdcb"],"source_entry_id":"9.3.5/changes/027","source_hash":"c18ab5ab3b27be5baa6c7b0d9d8b12414aad251b94ab9a772eeeb4c49a14779c","source_url":"/docs/release/9.3.5/#id-1.11.6.25.5","statement_hash":"30e7cf5ee800fa2df1c69283465239aff305f90a0f0f10286e1e4a077ac09f74","text":"修复 REASSIGN OWNED 对文本搜索对象失败的问题（Álvaro Herrera）","title":"修复 REASSIGN OWNED 对文本搜索对象失败的问题","variants":[],"version":"9.3.5"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["9eecc8a7c","b7e51d9c0","e86cfc4bb"],"commit_groups":[["9eecc8a7c","b7e51d9c0","e86cfc4bb"]],"commits":[],"cves":[],"db_id":"4b0ca4b5e7382e6ee14e4e101cecdcd6","html":"\u003cp\u003e防止 \u003ccode\u003epg_class\u003c/code\u003e.\u003ccode\u003erelminmxid\u003c/code\u003e 的值在 \u003ccode\u003eVACUUM FULL\u003c/code\u003e 期间倒退（Álvaro Herrera）\u003c/p\u003e","id":"9.3.5-57fab4cf954327e3","identity_text":"Prevent pg_class.relminmxid values from going backwards during VACUUM FULL (Álvaro Herrera)","part":"changes","patch_ids":["f12c5f1ceb9eaa1bc6440b4824c727d1"],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":["e86cfc4bb"],"source_entry_id":"9.3.5/changes/028","source_hash":"e96bcd695acd9c9ec1943d0d1c91ede638e7f8140ba8c9a3e308edccb259eb04","source_url":"/docs/release/9.3.5/#id-1.11.6.25.5","statement_hash":"94f7b749a636d18f142362c68b903abc8214d7ac7f56ae891bff0fcff7d73bc2","text":"防止 pg_class.relminmxid 的值在 VACUUM FULL 期间倒退（Álvaro Herrera）","title":"防止 pg_class.relminmxid 的值在 VACUUM FULL 期间倒退","variants":[],"version":"9.3.5"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["0652d77fb","41de93c53"],"commit_groups":[["0652d77fb","41de93c53"]],"commits":[],"cves":[],"db_id":"1250445d61174b41d2a58fc9fd97175f","html":"\u003cp\u003e减少规则/视图转储中的缩进，以提高可读性并避免过多空白（Greg Stark、Tom Lane）\u003c/p\u003e\n\u003cp\u003e此变更减少了对嵌套构造所施加的缩进量，包括一些用户可能并不认为是嵌套的情况，例如 UNION 列表。此前，深度嵌套的构造会以 O(N^2) 增长的空白打印，造成性能问题甚至有内存不足失败的风险。现在缩进以 40 为模缩减，乍看有些古怪，但相比简单限制缩进，似乎更好地保留了可读性。UNION 列表的冗余括号化也已减少。\u003c/p\u003e","id":"9.3.5-d42006dfe117eae6","identity_text":"Reduce indentation in rule/view dumps to improve readability and avoid excessive whitespace (Greg Stark, Tom Lane) This change reduces the amount of indentation applied to nested constructs, including some cases that the user probably doesn't think of as nested, such as UNION lists. Previously, deeply nested constructs were printed with an amount of whitespace growing as O(N^2), which created a performance problem and even risk of out-of-memory failures. Now the indentation is reduced modulo 40, which is initially odd to look at but seems to preserve readability better than simply limiting the indentation would do. Redundant parenthesization of UNION lists has been reduced as well.","part":"changes","patch_ids":["1d98ce5e1e8bb7464d20466991d1016e"],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":["0652d77fb"],"source_entry_id":"9.3.5/changes/029","source_hash":"9f773c36fe3f6622c97309c41a3394c3fe52e21e67846670d37cbf23a73d53eb","source_url":"/docs/release/9.3.5/#id-1.11.6.25.5","statement_hash":"350296c916a3e8dc0e3eb19ca616292ae0d28a4b1c79e865667373c3802d9fa0","text":"减少规则/视图转储中的缩进，以提高可读性并避免过多空白（Greg Stark、Tom Lane） 此变更减少了对嵌套构造所施加的缩进量，包括一些用户可能并不认为是嵌套的情况，例如 UNION 列表。此前，深度嵌套的构造会以 O(N^2) 增长的空白打印，造成性能问题甚至有内存不足失败的风险。现在缩进以 40 为模缩减，乍看有些古怪，但相比简单限制缩进，似乎更好地保留了可读性。UNION 列表的冗余括号化也已减少。","title":"减少规则/视图转储中的缩进，以提高可读性并避免过多空白","variants":[],"version":"9.3.5"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["91e16b980","e31193d49"],"commit_groups":[["91e16b980","e31193d49"]],"commits":[],"cves":[],"db_id":"5bd680f91bf3e45fd2e7ef12bd8eac41","html":"\u003cp\u003e修复当后续添加的列导致多个输入列与 \u003ccode\u003eUSING\u003c/code\u003e 说明匹配时规则/视图的转储问题（Tom Lane）\u003c/p\u003e","id":"9.3.5-984c142074946852","identity_text":"Fix dumping of rules/views when subsequent addition of a column has resulted in multiple input columns matching a USING specification (Tom Lane)","part":"changes","patch_ids":["901a6b916275ba2760b4bb0da35c23a9"],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":["e31193d49"],"source_entry_id":"9.3.5/changes/030","source_hash":"9f5aae45a2c47da9346a99a596fba6b870a4562bba9e022bf11d5a6742466b91","source_url":"/docs/release/9.3.5/#id-1.11.6.25.5","statement_hash":"897ff72ab132ae820009c03acb04a2461462438ee970f8a50d47ac0e8423da91","text":"修复当后续添加的列导致多个输入列与 USING 说明匹配时规则/视图的转储问题（Tom Lane）","title":"修复当后续添加的列导致多个输入列与 USING 说明匹配时规则/视图的转储问题","variants":[],"version":"9.3.5"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["9b35ddce9","b978ab5f6","f0a497e4c"],"commit_groups":[["9b35ddce9","b978ab5f6","f0a497e4c"]],"commits":[],"cves":[],"db_id":"d7b2f602ed192fa2318bfbbb946fa925","html":"\u003cp\u003e修复某些涉及 \u003ccode\u003eFROM\u003c/code\u003e 中返回包含已删除列的组合类型的函数的情况下的视图打印（Tom Lane）\u003c/p\u003e","id":"9.3.5-fe3bcb3ff7b6e980","identity_text":"Repair view printing for some cases involving functions in FROM that return a composite type containing dropped columns (Tom Lane)","part":"changes","patch_ids":["3b8944540059a49ae09f86be3c53885e"],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":["b978ab5f6"],"source_entry_id":"9.3.5/changes/031","source_hash":"33fa4e545c87fded84b13b256683558706edbb2296dcc1cb04e73e82609bee49","source_url":"/docs/release/9.3.5/#id-1.11.6.25.5","statement_hash":"7065e92733f8708560cd561fc3c69be6ff09a247fca828258e161df0d6bdc37f","text":"修复某些涉及 FROM 中返回包含已删除列的组合类型的函数的情况下的视图打印（Tom Lane）","title":"修复某些涉及 FROM 中返回包含已删除列的组合类型的函数的情况下的视图打印","variants":[],"version":"9.3.5"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["093d3da1d","21aa47d01","53463e247","5c26ab659","5d8117e1f","969735cf1"],"commit_groups":[["093d3da1d","21aa47d01","53463e247","5c26ab659","5d8117e1f","969735cf1"]],"commits":[],"cves":[],"db_id":"ea67567d42c2f81930ebd68ee20d1666","html":"\u003cp\u003e在 postmaster 启动期间阻塞信号（Tom Lane）\u003c/p\u003e\n\u003cp\u003e这确保了 postmaster 在例如启动过程中收到 \u003cspan\u003eSIGINT\u003c/span\u003e 时能够正确清理自身。\u003c/p\u003e","id":"9.3.5-da396940f9d861b9","identity_text":"Block signals during postmaster startup (Tom Lane) This ensures that the postmaster will properly clean up after itself if, for example, it receives SIGINT while still starting up.","part":"changes","patch_ids":["2674a2e8c76aad48d98b960e6fc33fa5"],"related_changes":[{"db_id":"008dd7c42f272dcfed2925215fe3e960","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"8986f77d637b9a3105e635f5ce57c021b64961ade1d74f906871180bb6092d56"},"kind":"equivalent","label":"9.2.9","source_url":"/docs/release/9.2.9/#id-1.11.6.20.5","title":"在 postmaster 启动期间阻塞信号","url":"/docs/compare/?release=9.2.9#9.2.9-da396940f9d861b9","version":"9.2.9"},{"db_id":"69cca2f3deeea63837fbbd935c27ec06","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"8986f77d637b9a3105e635f5ce57c021b64961ade1d74f906871180bb6092d56"},"kind":"equivalent","label":"9.1.14","source_url":"/docs/release/9.1.14/#id-1.11.6.15.5","title":"在 postmaster 启动期间阻塞信号","url":"/docs/compare/?release=9.1.14#9.1.14-da396940f9d861b9","version":"9.1.14"},{"db_id":"fe83700f9afe7966cb2db312f46f5dc8","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"8986f77d637b9a3105e635f5ce57c021b64961ade1d74f906871180bb6092d56"},"kind":"equivalent","label":"9.0.18","source_url":"/docs/release/9.0.18/#id-1.11.6.10.5","title":"在 postmaster 启动期间阻塞信号","url":"/docs/compare/?release=9.0.18#9.0.18-da396940f9d861b9","version":"9.0.18"}],"relations":[{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"8986f77d637b9a3105e635f5ce57c021b64961ade1d74f906871180bb6092d56"},"rule":2,"target":"008dd7c42f272dcfed2925215fe3e960","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"8986f77d637b9a3105e635f5ce57c021b64961ade1d74f906871180bb6092d56"},"rule":2,"target":"69cca2f3deeea63837fbbd935c27ec06","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"8986f77d637b9a3105e635f5ce57c021b64961ade1d74f906871180bb6092d56"},"rule":2,"target":"fe83700f9afe7966cb2db312f46f5dc8","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["21aa47d01"],"source_entry_id":"9.3.5/changes/032","source_hash":"905feabf83e6b988a13f32c82e3fe3a42c35ecd996f5da819c42361a076b1445","source_url":"/docs/release/9.3.5/#id-1.11.6.25.5","statement_hash":"8986f77d637b9a3105e635f5ce57c021b64961ade1d74f906871180bb6092d56","text":"在 postmaster 启动期间阻塞信号（Tom Lane） 这确保了 postmaster 在例如启动过程中收到 SIGINT 时能够正确清理自身。","title":"在 postmaster 启动期间阻塞信号","variants":[],"version":"9.3.5"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["029decfec","65183fb78","b7a424371","fc752505a"],"commit_groups":[["029decfec","65183fb78","b7a424371","fc752505a"]],"commits":[],"cves":[],"db_id":"8fad6156289231d320c05e360bda6d60","html":"\u003cp\u003e修复处理 \u003ccode\u003epg_hba.conf\u003c/code\u003e 中指定主机名而非 IP 地址的条目时的客户端主机名查找（Tom Lane）\u003c/p\u003e\n\u003cp\u003e确保反向 DNS 查找失败会被报告，而不是只是静默地不匹配这些条目。同时确保每个连接只做一次反向 DNS 查找尝试，而不是每个主机名条目一次——如果查找尝试失败，此前发生的就是后者。\u003c/p\u003e","id":"9.3.5-6bcc2d55fc5b756b","identity_text":"Fix client host name lookup when processing pg_hba.conf entries that specify host names instead of IP addresses (Tom Lane) Ensure that reverse-DNS lookup failures are reported, instead of just silently not matching such entries. Also ensure that we make only one reverse-DNS lookup attempt per connection, not one per host name entry, which is what previously happened if the lookup attempts failed.","part":"changes","patch_ids":["287e10e4f66712f136e227af6642b4fc"],"related_changes":[{"db_id":"0c31bb1f7da100c24cafaed31aa745e5","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"4274ba20c8ff3a87dff46213bc27461ce499e5ddd1a889133787a5f1f5fad4dc"},"kind":"equivalent","label":"9.2.9","source_url":"/docs/release/9.2.9/#id-1.11.6.20.5","title":"修复处理 pg_hba.conf 中指定主机名而非 IP 地址的条目时的客户端主机名查找","url":"/docs/compare/?release=9.2.9#9.2.9-6bcc2d55fc5b756b","version":"9.2.9"},{"db_id":"958f57b66124225bfbdd3cb36789ea94","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"4274ba20c8ff3a87dff46213bc27461ce499e5ddd1a889133787a5f1f5fad4dc"},"kind":"equivalent","label":"9.1.14","source_url":"/docs/release/9.1.14/#id-1.11.6.15.5","title":"修复处理 pg_hba.conf 中指定主机名而非 IP 地址的条目时的客户端主机名查找","url":"/docs/compare/?release=9.1.14#9.1.14-6bcc2d55fc5b756b","version":"9.1.14"}],"relations":[{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"4274ba20c8ff3a87dff46213bc27461ce499e5ddd1a889133787a5f1f5fad4dc"},"rule":2,"target":"0c31bb1f7da100c24cafaed31aa745e5","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"4274ba20c8ff3a87dff46213bc27461ce499e5ddd1a889133787a5f1f5fad4dc"},"rule":2,"target":"958f57b66124225bfbdd3cb36789ea94","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["65183fb78"],"source_entry_id":"9.3.5/changes/033","source_hash":"1c5d08bcb27dc1509aa0af14534d193b718c3ac6a5309fc71cd0c44adfd62cda","source_url":"/docs/release/9.3.5/#id-1.11.6.25.5","statement_hash":"4274ba20c8ff3a87dff46213bc27461ce499e5ddd1a889133787a5f1f5fad4dc","text":"修复处理 pg_hba.conf 中指定主机名而非 IP 地址的条目时的客户端主机名查找（Tom Lane） 确保反向 DNS 查找失败会被报告，而不是只是静默地不匹配这些条目。同时确保每个连接只做一次反向 DNS 查找尝试，而不是每个主机名条目一次——如果查找尝试失败，此前发生的就是后者。","title":"修复处理 pg_hba.conf 中指定主机名而非 IP 地址的条目时的客户端主机名查找","variants":[],"version":"9.3.5"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["6d25eb314","7d1a0f585","b203c57bb"],"commit_groups":[["6d25eb314","7d1a0f585","b203c57bb"]],"commits":[],"cves":[],"db_id":"a996e9005aeeae369f9c0f3583547895","html":"\u003cp\u003e允许 root 用户使用 \u003ccode\u003epostgres -C variable\u003c/code\u003e 和 \u003ccode\u003epostgres --describe-config\u003c/code\u003e（MauMau）\u003c/p\u003e\n\u003cp\u003e对以 root 身份启动服务器的禁止并不需要延伸到这些操作，放宽它可以避免 \u003cspan\u003epg_ctl\u003c/span\u003e 在某些场景下的失败。\u003c/p\u003e","id":"9.3.5-e4ea823d778378b4","identity_text":"Allow the root user to use postgres -C variable and postgres --describe-config (MauMau) The prohibition on starting the server as root does not need to extend to these operations, and relaxing it prevents failure of pg_ctl in some scenarios.","part":"changes","patch_ids":["9cf57a794cdb687c98932b382d41241f"],"related_changes":[{"db_id":"a2b4b4c700d767c1d6fcec2a42940dd9","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"c1ed32d060e6a567bf895cec1f4e4b64b3ad1b24913c0b09e758ac037a1b423d"},"kind":"equivalent","label":"9.2.9","source_url":"/docs/release/9.2.9/#id-1.11.6.20.5","title":"允许 root 用户使用 postgres -C variable 和 postgres --describe-config","url":"/docs/compare/?release=9.2.9#9.2.9-e4ea823d778378b4","version":"9.2.9"}],"relations":[{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"c1ed32d060e6a567bf895cec1f4e4b64b3ad1b24913c0b09e758ac037a1b423d"},"rule":2,"target":"a2b4b4c700d767c1d6fcec2a42940dd9","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["7d1a0f585"],"source_entry_id":"9.3.5/changes/034","source_hash":"ce4081bfed7f2914ffe20ba9fa14947625312df6b863d1cdad9edfce8a45e638","source_url":"/docs/release/9.3.5/#id-1.11.6.25.5","statement_hash":"c1ed32d060e6a567bf895cec1f4e4b64b3ad1b24913c0b09e758ac037a1b423d","text":"允许 root 用户使用 postgres -C variable 和 postgres --describe-config（MauMau） 对以 root 身份启动服务器的禁止并不需要延伸到这些操作，放宽它可以避免 pg_ctl 在某些场景下的失败。","title":"允许 root 用户使用 postgres -C variable 和 postgres --describe-config","variants":[],"version":"9.3.5"},{"also_in":[],"category":"security","category_label":"Security","commit_aliases":["1442b426e","453a5d91d","481831b43","5f09c583c","6583a75b2","95cefd30e","be76a6d39"],"commit_groups":[["1442b426e","453a5d91d","481831b43","5f09c583c","6583a75b2","95cefd30e","be76a6d39"]],"commits":[],"cves":["CVE-2014-0067"],"db_id":"e5db1e1a4f47f7dbe939381198c5dad5","html":"\u003cp\u003e保护 \u003ccode\u003emake check\u003c/code\u003e 期间启动的临时 postmaster 的 Unix 域套接字（Noah Misch）\u003c/p\u003e\n\u003cp\u003e正如我们此前在 CVE-2014-0067 中指出的，任何能够访问套接字文件的本地用户都可以以服务器的引导超级用户身份连接，进而以运行测试的操作系统用户身份执行任意代码。此变更通过把服务器的套接字放到 \u003ccode\u003e/tmp\u003c/code\u003e 下一个临时的、模式为 0700 的子目录中来防御这一风险。但在不支持 Unix 套接字的平台（尤其是 Windows）上风险仍然存在，因为那时临时 postmaster 必须接受本地 TCP 连接。\u003c/p\u003e\n\u003cp\u003e此变更的一个有用副作用是简化了覆盖 \u003ccode\u003eDEFAULT_PGSOCKET_DIR\u003c/code\u003e 的构建中的 \u003ccode\u003emake check\u003c/code\u003e 测试。常用的非默认值（如 \u003ccode\u003e/var/run/postgresql\u003c/code\u003e）往往不允许构建用户写入，此前需要一些变通办法，现在不再需要了。\u003c/p\u003e","id":"9.3.5-1fe8508066777304","identity_text":"Secure Unix-domain sockets of temporary postmasters started during make check (Noah Misch) Any local user able to access the socket file could connect as the server's bootstrap superuser, then proceed to execute arbitrary code as the operating-system user running the test, as we previously noted in CVE-2014-0067. This change defends against that risk by placing the server's socket in a temporary, mode 0700 subdirectory of /tmp. The hazard remains however on platforms where Unix sockets are not supported, notably Windows, because then the temporary postmaster must accept local TCP connections. A useful side effect of this change is to simplify make check testing in builds that override DEFAULT_PGSOCKET_DIR. Popular non-default values like /var/run/postgresql are often not writable by the build user, requiring workarounds that will no longer be necessary.","part":"changes","patch_ids":["998881a7f9ad30cb478abfb97353cebe"],"related_changes":[{"db_id":"32ac210b2021f4d10180396115d807a2","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"421edc0e245507d52e97074221ccf85a880e4b1010e62e6ef47292e6fec25061"},"kind":"equivalent","label":"9.2.9","source_url":"/docs/release/9.2.9/#id-1.11.6.20.5","title":"保护 make check 期间启动的临时 postmaster 的 Unix 域套接字","url":"/docs/compare/?release=9.2.9#9.2.9-1fe8508066777304","version":"9.2.9"},{"db_id":"a3829053c54dcf4d2636f219426f3672","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"421edc0e245507d52e97074221ccf85a880e4b1010e62e6ef47292e6fec25061"},"kind":"equivalent","label":"9.1.14","source_url":"/docs/release/9.1.14/#id-1.11.6.15.5","title":"保护 make check 期间启动的临时 postmaster 的 Unix 域套接字","url":"/docs/compare/?release=9.1.14#9.1.14-1fe8508066777304","version":"9.1.14"},{"db_id":"4562d96c599a876fbaa708785af45cf9","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"421edc0e245507d52e97074221ccf85a880e4b1010e62e6ef47292e6fec25061"},"kind":"equivalent","label":"9.0.18","source_url":"/docs/release/9.0.18/#id-1.11.6.10.5","title":"保护 make check 期间启动的临时 postmaster 的 Unix 域套接字","url":"/docs/compare/?release=9.0.18#9.0.18-1fe8508066777304","version":"9.0.18"}],"relations":[{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"421edc0e245507d52e97074221ccf85a880e4b1010e62e6ef47292e6fec25061"},"rule":2,"target":"32ac210b2021f4d10180396115d807a2","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"421edc0e245507d52e97074221ccf85a880e4b1010e62e6ef47292e6fec25061"},"rule":2,"target":"4562d96c599a876fbaa708785af45cf9","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"421edc0e245507d52e97074221ccf85a880e4b1010e62e6ef47292e6fec25061"},"rule":2,"target":"a3829053c54dcf4d2636f219426f3672","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["1442b426e"],"source_entry_id":"9.3.5/changes/035","source_hash":"0bebe9514a66af36ee038667af54903701b4b68d102e95beca976ca9e8d5514d","source_url":"/docs/release/9.3.5/#id-1.11.6.25.5","statement_hash":"421edc0e245507d52e97074221ccf85a880e4b1010e62e6ef47292e6fec25061","text":"保护 make check 期间启动的临时 postmaster 的 Unix 域套接字（Noah Misch） 正如我们此前在 CVE-2014-0067 中指出的，任何能够访问套接字文件的本地用户都可以以服务器的引导超级用户身份连接，进而以运行测试的操作系统用户身份执行任意代码。此变更通过把服务器的套接字放到 /tmp 下一个临时的、模式为 0700 的子目录中来防御这一风险。但在不支持 Unix 套接字的平台（尤其是 Windows）上风险仍然存在，因为那时临时 postmaster 必须接受本地 TCP 连接。 此变更的一个有用副作用是简化了覆盖 DEFAULT_PGSOCKET_DIR 的构建中的 make check 测试。常用的非默认值（如 /var/run/postgresql）往往不允许构建用户写入，此前需要一些变通办法，现在不再需要了。","title":"保护 make check 期间启动的临时 postmaster 的 Unix 域套接字","variants":[],"version":"9.3.5"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["1a496a12b","634056567","84520f91c","abe075dff","af7738fe6"],"commit_groups":[["1a496a12b","634056567","84520f91c","abe075dff","af7738fe6"]],"commits":[],"cves":[],"db_id":"9216ca2e9821acf8d60b4ae88f36b7f0","html":"\u003cp\u003e修复表空间创建 WAL 重放在 Windows 上无法工作的问题（MauMau）\u003c/p\u003e","id":"9.3.5-b9bc5469adaffdfe","identity_text":"Fix tablespace creation WAL replay to work on Windows (MauMau)","part":"changes","patch_ids":["2056f6211d20c7a1d54deb73532916f6"],"related_changes":[{"db_id":"eef99bb4e5e9a46062773101dc0d1818","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"0951bd8a33873cc51b53c3191ef701e028a04a6dea63a3f266e3ab1f026b50dd"},"kind":"equivalent","label":"9.2.9","source_url":"/docs/release/9.2.9/#id-1.11.6.20.5","title":"修复表空间创建 WAL 重放在 Windows 上无法工作的问题","url":"/docs/compare/?release=9.2.9#9.2.9-b9bc5469adaffdfe","version":"9.2.9"},{"db_id":"9959e561fe05f1b007aed8b129812efb","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"0951bd8a33873cc51b53c3191ef701e028a04a6dea63a3f266e3ab1f026b50dd"},"kind":"equivalent","label":"9.1.14","source_url":"/docs/release/9.1.14/#id-1.11.6.15.5","title":"修复表空间创建 WAL 重放在 Windows 上无法工作的问题","url":"/docs/compare/?release=9.1.14#9.1.14-b9bc5469adaffdfe","version":"9.1.14"},{"db_id":"176e76f0277971aa24026e7a9a0c0cb0","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"0951bd8a33873cc51b53c3191ef701e028a04a6dea63a3f266e3ab1f026b50dd"},"kind":"equivalent","label":"9.0.18","source_url":"/docs/release/9.0.18/#id-1.11.6.10.5","title":"修复表空间创建 WAL 重放在 Windows 上无法工作的问题","url":"/docs/compare/?release=9.0.18#9.0.18-b9bc5469adaffdfe","version":"9.0.18"}],"relations":[{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"0951bd8a33873cc51b53c3191ef701e028a04a6dea63a3f266e3ab1f026b50dd"},"rule":2,"target":"176e76f0277971aa24026e7a9a0c0cb0","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"0951bd8a33873cc51b53c3191ef701e028a04a6dea63a3f266e3ab1f026b50dd"},"rule":2,"target":"9959e561fe05f1b007aed8b129812efb","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"0951bd8a33873cc51b53c3191ef701e028a04a6dea63a3f266e3ab1f026b50dd"},"rule":2,"target":"eef99bb4e5e9a46062773101dc0d1818","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["84520f91c"],"source_entry_id":"9.3.5/changes/036","source_hash":"8496748c6fe383087db0df421a017bc32fa7b52ab32972feace597d320a41fc2","source_url":"/docs/release/9.3.5/#id-1.11.6.25.5","statement_hash":"0951bd8a33873cc51b53c3191ef701e028a04a6dea63a3f266e3ab1f026b50dd","text":"修复表空间创建 WAL 重放在 Windows 上无法工作的问题（MauMau）","title":"修复表空间创建 WAL 重放在 Windows 上无法工作的问题","variants":[],"version":"9.3.5"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["418093465","966f015b6","a86b2daff","bed499ed1","f716c3250"],"commit_groups":[["418093465","966f015b6","a86b2daff","bed499ed1","f716c3250"]],"commits":[],"cves":[],"db_id":"ebe4a8d79d3ba17586c56dd3274dec04","html":"\u003cp\u003e修复 Windows 上套接字创建失败的检测（Bruce Momjian）\u003c/p\u003e","id":"9.3.5-e4bc31c72b46e943","identity_text":"Fix detection of socket creation failures on Windows (Bruce Momjian)","part":"changes","patch_ids":["f97773e0ecdab3076a362fbd735ce6f6"],"related_changes":[{"db_id":"17554d240e1e1bf0abcb437338abcc15","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"fd240b5a5bbb4d5ce397d2abea8477493415a23886d10b79edf8a3570dd40d0a"},"kind":"equivalent","label":"9.2.9","source_url":"/docs/release/9.2.9/#id-1.11.6.20.5","title":"修复 Windows 上套接字创建失败的检测","url":"/docs/compare/?release=9.2.9#9.2.9-e4bc31c72b46e943","version":"9.2.9"},{"db_id":"a9b9ce2de83b5af9746463adf52afc66","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"fd240b5a5bbb4d5ce397d2abea8477493415a23886d10b79edf8a3570dd40d0a"},"kind":"equivalent","label":"9.1.14","source_url":"/docs/release/9.1.14/#id-1.11.6.15.5","title":"修复 Windows 上套接字创建失败的检测","url":"/docs/compare/?release=9.1.14#9.1.14-e4bc31c72b46e943","version":"9.1.14"},{"db_id":"30dc1321491065a0d4c6caa538598c6c","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"fd240b5a5bbb4d5ce397d2abea8477493415a23886d10b79edf8a3570dd40d0a"},"kind":"equivalent","label":"9.0.18","source_url":"/docs/release/9.0.18/#id-1.11.6.10.5","title":"修复 Windows 上套接字创建失败的检测","url":"/docs/compare/?release=9.0.18#9.0.18-e4bc31c72b46e943","version":"9.0.18"}],"relations":[{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"fd240b5a5bbb4d5ce397d2abea8477493415a23886d10b79edf8a3570dd40d0a"},"rule":2,"target":"17554d240e1e1bf0abcb437338abcc15","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"fd240b5a5bbb4d5ce397d2abea8477493415a23886d10b79edf8a3570dd40d0a"},"rule":2,"target":"30dc1321491065a0d4c6caa538598c6c","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"fd240b5a5bbb4d5ce397d2abea8477493415a23886d10b79edf8a3570dd40d0a"},"rule":2,"target":"a9b9ce2de83b5af9746463adf52afc66","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["f716c3250"],"source_entry_id":"9.3.5/changes/037","source_hash":"66d413ecf2eb396556056867c9e7d0625c1c2eb0066e52fa4e103951c83c59c3","source_url":"/docs/release/9.3.5/#id-1.11.6.25.5","statement_hash":"fd240b5a5bbb4d5ce397d2abea8477493415a23886d10b79edf8a3570dd40d0a","text":"修复 Windows 上套接字创建失败的检测（Bruce Momjian）","title":"修复 Windows 上套接字创建失败的检测","variants":[],"version":"9.3.5"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["18db2150c","30e434bdf","6862ca697","9500d8f89","bdc3e95c2","cb11f4d8d"],"commit_groups":[["18db2150c","30e434bdf","6862ca697","9500d8f89","bdc3e95c2","cb11f4d8d"]],"commits":[],"cves":[],"db_id":"218104825d14bd97a422e9ab79b1704a","html":"\u003cp\u003e在 Windows 上，允许新会话从配置文件获取 PGC_BACKEND 参数（例如\u003ca href=\"/docs/9.3/runtime-config-logging.html#GUC-LOG-CONNECTIONS\"\u003elog_connections\u003c/a\u003e）的值（Amit Kapila）\u003c/p\u003e\n\u003cp\u003e此前，如果启动后在文件中更改了这类参数，更改不会生效。\u003c/p\u003e","id":"9.3.5-0efc671fdd2dec76","identity_text":"On Windows, allow new sessions to absorb values of PGC_BACKEND parameters (such as guc-log-connections ) from the configuration file (Amit Kapila) Previously, if such a parameter were changed in the file post-startup, the change would have no effect.","part":"changes","patch_ids":["cd2daf94bfc16548a90dc48421b68327"],"related_changes":[{"db_id":"0149ee36e50d0a3426d4baddce68a3f2","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"5765359658e9917736f21873a6a7cb64f4ecf035d9d1b7f548c72cba07f367e1"},"kind":"equivalent","label":"9.2.9","source_url":"/docs/release/9.2.9/#id-1.11.6.20.5","title":"在 Windows 上，允许新会话从配置文件获取 PGC_BACKEND 参数（例如log_connections）的值","url":"/docs/compare/?release=9.2.9#9.2.9-0efc671fdd2dec76","version":"9.2.9"},{"db_id":"8491d20a9cd982f29e6148ac2beec587","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"5765359658e9917736f21873a6a7cb64f4ecf035d9d1b7f548c72cba07f367e1"},"kind":"equivalent","label":"9.1.14","source_url":"/docs/release/9.1.14/#id-1.11.6.15.5","title":"在 Windows 上，允许新会话从配置文件获取 PGC_BACKEND 参数（例如log_connections）的值","url":"/docs/compare/?release=9.1.14#9.1.14-0efc671fdd2dec76","version":"9.1.14"},{"db_id":"764a1b6cf15f0cdc425deb42a9a207e3","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"5765359658e9917736f21873a6a7cb64f4ecf035d9d1b7f548c72cba07f367e1"},"kind":"equivalent","label":"9.0.18","source_url":"/docs/release/9.0.18/#id-1.11.6.10.5","title":"在 Windows 上，允许新会话从配置文件获取 PGC_BACKEND 参数（例如log_connections）的值","url":"/docs/compare/?release=9.0.18#9.0.18-0efc671fdd2dec76","version":"9.0.18"}],"relations":[{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"5765359658e9917736f21873a6a7cb64f4ecf035d9d1b7f548c72cba07f367e1"},"rule":2,"target":"0149ee36e50d0a3426d4baddce68a3f2","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"5765359658e9917736f21873a6a7cb64f4ecf035d9d1b7f548c72cba07f367e1"},"rule":2,"target":"764a1b6cf15f0cdc425deb42a9a207e3","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"5765359658e9917736f21873a6a7cb64f4ecf035d9d1b7f548c72cba07f367e1"},"rule":2,"target":"8491d20a9cd982f29e6148ac2beec587","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["18db2150c"],"source_entry_id":"9.3.5/changes/038","source_hash":"98f4ec758a567202a3bc664081313c2190be021ce182fccc57cd34aab87412da","source_url":"/docs/release/9.3.5/#id-1.11.6.25.5","statement_hash":"5765359658e9917736f21873a6a7cb64f4ecf035d9d1b7f548c72cba07f367e1","text":"在 Windows 上，允许新会话从配置文件获取 PGC_BACKEND 参数（例如log_connections）的值（Amit Kapila） 此前，如果启动后在文件中更改了这类参数，更改不会生效。","title":"在 Windows 上，允许新会话从配置文件获取 PGC_BACKEND 参数（例如log_connections）的值","variants":[],"version":"9.3.5"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["503de5462","8a90a39b4","94095e341","c06b7219a","e2558e016","e3f273ff6"],"commit_groups":[["503de5462","8a90a39b4","94095e341","c06b7219a","e2558e016","e3f273ff6"]],"commits":[],"cves":[],"db_id":"a00c57cfe7cf06a59131c5ff0d3a8612","html":"\u003cp\u003e在 Windows 上正确地为可执行文件路径名加引号（Nikhil Deshpande）\u003c/p\u003e\n\u003cp\u003e如果安装路径同时包含空格和 \u003ccode\u003e@\u003c/code\u003e 符号，这一疏忽可能导致 \u003cspan\u003einitdb\u003c/span\u003e 和 \u003cspan\u003epg_upgrade\u003c/span\u003e 在 Windows 上失败。\u003c/p\u003e","id":"9.3.5-bd868c1d29b149bc","identity_text":"Properly quote executable path names on Windows (Nikhil Deshpande) This oversight could cause initdb and pg_upgrade to fail on Windows, if the installation path contained both spaces and @ signs.","part":"changes","patch_ids":["bada571964929922275b02b0b5a78074"],"related_changes":[{"db_id":"3b999fd58f8dc69b0e938c7f9c84d747","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"87cad73827ef54d373b81f858c97fd722e136bbe0522e3687f49130bfab547b7"},"kind":"equivalent","label":"9.2.9","source_url":"/docs/release/9.2.9/#id-1.11.6.20.5","title":"在 Windows 上正确地为可执行文件路径名加引号","url":"/docs/compare/?release=9.2.9#9.2.9-bd868c1d29b149bc","version":"9.2.9"},{"db_id":"082751823ea21e0f5ff5f2891d7639e2","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"87cad73827ef54d373b81f858c97fd722e136bbe0522e3687f49130bfab547b7"},"kind":"equivalent","label":"9.1.14","source_url":"/docs/release/9.1.14/#id-1.11.6.15.5","title":"在 Windows 上正确地为可执行文件路径名加引号","url":"/docs/compare/?release=9.1.14#9.1.14-bd868c1d29b149bc","version":"9.1.14"},{"db_id":"b4d3f8a47b553650493ed8ee653be2a0","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"87cad73827ef54d373b81f858c97fd722e136bbe0522e3687f49130bfab547b7"},"kind":"equivalent","label":"9.0.18","source_url":"/docs/release/9.0.18/#id-1.11.6.10.5","title":"在 Windows 上正确地为可执行文件路径名加引号","url":"/docs/compare/?release=9.0.18#9.0.18-bd868c1d29b149bc","version":"9.0.18"}],"relations":[{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"87cad73827ef54d373b81f858c97fd722e136bbe0522e3687f49130bfab547b7"},"rule":2,"target":"082751823ea21e0f5ff5f2891d7639e2","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"87cad73827ef54d373b81f858c97fd722e136bbe0522e3687f49130bfab547b7"},"rule":2,"target":"3b999fd58f8dc69b0e938c7f9c84d747","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"87cad73827ef54d373b81f858c97fd722e136bbe0522e3687f49130bfab547b7"},"rule":2,"target":"b4d3f8a47b553650493ed8ee653be2a0","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["8a90a39b4"],"source_entry_id":"9.3.5/changes/039","source_hash":"1a955431fd03266b9a33a9c717f6d123e9240427ffc50e3c5fe9f039b426cbd3","source_url":"/docs/release/9.3.5/#id-1.11.6.25.5","statement_hash":"87cad73827ef54d373b81f858c97fd722e136bbe0522e3687f49130bfab547b7","text":"在 Windows 上正确地为可执行文件路径名加引号（Nikhil Deshpande） 如果安装路径同时包含空格和 @ 符号，这一疏忽可能导致 initdb 和 pg_upgrade 在 Windows 上失败。","title":"在 Windows 上正确地为可执行文件路径名加引号","variants":[],"version":"9.3.5"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["20561acf9","4f5f4da79","4f725bbc4","83ed4598b","a784a39c4","ae41bb4be"],"commit_groups":[["20561acf9","4f5f4da79","4f725bbc4","83ed4598b","a784a39c4","ae41bb4be"]],"commits":[],"cves":[],"db_id":"52dfed10ea11bb1fce0f9546f2fd724b","html":"\u003cp\u003e修复 macOS 上 \u003cspan\u003elibpython\u003c/span\u003e 的链接（Tom Lane）\u003c/p\u003e\n\u003cp\u003e我们先前使用的方法在 Xcode 5.0 及之后版本提供的 Python 库上可能失败。\u003c/p\u003e","id":"9.3.5-ef86ca7ec6174e43","identity_text":"Fix linking of libpython on macOS (Tom Lane) The method we previously used can fail with the Python library supplied by Xcode 5.0 and later.","part":"changes","patch_ids":["3760c3c074ac7c718c2ef75bd2ba791d"],"related_changes":[{"db_id":"03f943fa073c1a44ceaaa49277947867","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"6a4ed094e3684b42cec1b046cffd1b0a717533f1abac539beb717951e1a8196e"},"kind":"equivalent","label":"9.2.9","source_url":"/docs/release/9.2.9/#id-1.11.6.20.5","title":"修复 macOS 上 libpython 的链接","url":"/docs/compare/?release=9.2.9#9.2.9-ef86ca7ec6174e43","version":"9.2.9"},{"db_id":"734f5598eb1c3658f9210b5ba8d197c3","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"6a4ed094e3684b42cec1b046cffd1b0a717533f1abac539beb717951e1a8196e"},"kind":"equivalent","label":"9.1.14","source_url":"/docs/release/9.1.14/#id-1.11.6.15.5","title":"修复 macOS 上 libpython 的链接","url":"/docs/compare/?release=9.1.14#9.1.14-ef86ca7ec6174e43","version":"9.1.14"}],"relations":[{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"6a4ed094e3684b42cec1b046cffd1b0a717533f1abac539beb717951e1a8196e"},"rule":2,"target":"03f943fa073c1a44ceaaa49277947867","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"6a4ed094e3684b42cec1b046cffd1b0a717533f1abac539beb717951e1a8196e"},"rule":2,"target":"734f5598eb1c3658f9210b5ba8d197c3","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["4f5f4da79"],"source_entry_id":"9.3.5/changes/040","source_hash":"086f26fa210fbf00461002918aed95a6a499f73b2fe1d77a55a6a41c55a83e7b","source_url":"/docs/release/9.3.5/#id-1.11.6.25.5","statement_hash":"6a4ed094e3684b42cec1b046cffd1b0a717533f1abac539beb717951e1a8196e","text":"修复 macOS 上 libpython 的链接（Tom Lane） 我们先前使用的方法在 Xcode 5.0 及之后版本提供的 Python 库上可能失败。","title":"修复 macOS 上 libpython 的链接","variants":[],"version":"9.3.5"},{"also_in":[],"category":"performance","category_label":"Performance","commit_aliases":["2f557167b","664ac3de7","77e662827","86888054a","b4f9c93ce","f7672c8ce"],"commit_groups":[["2f557167b","664ac3de7","77e662827","86888054a","b4f9c93ce","f7672c8ce"]],"commits":[],"cves":[],"db_id":"7ea011af707a7ff784d436ac0914d407","html":"\u003cp\u003e当服务器持续以快于客户端吸收速度的速率发送数据时，避免 \u003cspan\u003elibpq\u003c/span\u003e 中的缓冲区膨胀（Shin-ichi Morita、Tom Lane）\u003c/p\u003e\n\u003cp\u003e\u003cspan\u003elibpq\u003c/span\u003e 可能被迫不断增大其输入缓冲区，直到内存耗尽（这会被误导性地报告为 \u003cspan\u003e“\u003cspan\u003elost synchronization with server\u003c/span\u003e”\u003c/span\u003e）。在正常情况下，数据持续以快于 \u003ccode\u003erecv()\u003c/code\u003e 循环吸收速度的速率传输是相当牵强的，但在客户端因调度器约束被人为减速时曾观察到这种情况。\u003c/p\u003e","id":"9.3.5-cedc3e92f93ff1c0","identity_text":"Avoid buffer bloat in libpq when the server consistently sends data faster than the client can absorb it (Shin-ichi Morita, Tom Lane) libpq could be coerced into enlarging its input buffer until it runs out of memory (which would be reported misleadingly as lost synchronization with server). Under ordinary circumstances it's quite far-fetched that data could be continuously transmitted more quickly than the recv() loop can absorb it, but this has been observed when the client is artificially slowed by scheduler constraints.","part":"changes","patch_ids":["775d7e74718e9bb3bb54ed85a40a1460"],"related_changes":[{"db_id":"8c30722f5c774771da1f408a7ff3dfd0","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"b15e5e25e23ac22935a0befd2cf086f3e39434d9b8e191756602d91060f2f5ba"},"kind":"equivalent","label":"9.2.9","source_url":"/docs/release/9.2.9/#id-1.11.6.20.5","title":"当服务器持续以快于客户端吸收速度的速率发送数据时，避免 libpq 中的缓冲区膨胀","url":"/docs/compare/?release=9.2.9#9.2.9-cedc3e92f93ff1c0","version":"9.2.9"},{"db_id":"3a282e1768d453d5ffd42e3b3ee465ea","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"b15e5e25e23ac22935a0befd2cf086f3e39434d9b8e191756602d91060f2f5ba"},"kind":"equivalent","label":"9.1.14","source_url":"/docs/release/9.1.14/#id-1.11.6.15.5","title":"当服务器持续以快于客户端吸收速度的速率发送数据时，避免 libpq 中的缓冲区膨胀","url":"/docs/compare/?release=9.1.14#9.1.14-cedc3e92f93ff1c0","version":"9.1.14"},{"db_id":"2af5bc416b8fee46f495abe66bf53d6a","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"b15e5e25e23ac22935a0befd2cf086f3e39434d9b8e191756602d91060f2f5ba"},"kind":"equivalent","label":"9.0.18","source_url":"/docs/release/9.0.18/#id-1.11.6.10.5","title":"当服务器持续以快于客户端吸收速度的速率发送数据时，避免 libpq 中的缓冲区膨胀","url":"/docs/compare/?release=9.0.18#9.0.18-cedc3e92f93ff1c0","version":"9.0.18"}],"relations":[{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"b15e5e25e23ac22935a0befd2cf086f3e39434d9b8e191756602d91060f2f5ba"},"rule":2,"target":"2af5bc416b8fee46f495abe66bf53d6a","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"b15e5e25e23ac22935a0befd2cf086f3e39434d9b8e191756602d91060f2f5ba"},"rule":2,"target":"3a282e1768d453d5ffd42e3b3ee465ea","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"b15e5e25e23ac22935a0befd2cf086f3e39434d9b8e191756602d91060f2f5ba"},"rule":2,"target":"8c30722f5c774771da1f408a7ff3dfd0","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["b4f9c93ce"],"source_entry_id":"9.3.5/changes/041","source_hash":"c3ac2fb824c88b6bad66d331f432dc8bfcba7f6df6083866b4f8271b9d69854b","source_url":"/docs/release/9.3.5/#id-1.11.6.25.5","statement_hash":"b15e5e25e23ac22935a0befd2cf086f3e39434d9b8e191756602d91060f2f5ba","text":"当服务器持续以快于客户端吸收速度的速率发送数据时，避免 libpq 中的缓冲区膨胀（Shin-ichi Morita、Tom Lane） libpq 可能被迫不断增大其输入缓冲区，直到内存耗尽（这会被误导性地报告为 “lost synchronization with server”）。在正常情况下，数据持续以快于 recv() 循环吸收速度的速率传输是相当牵强的，但在客户端因调度器约束被人为减速时曾观察到这种情况。","title":"当服务器持续以快于客户端吸收速度的速率发送数据时，避免 libpq 中的缓冲区膨胀","variants":[],"version":"9.3.5"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["585bca393","96752b02d","b4ae2e37d","b764080ee","c4bf15b9c","cc269272c"],"commit_groups":[["585bca393","96752b02d","b4ae2e37d","b764080ee","c4bf15b9c","cc269272c"]],"commits":[],"cves":[],"db_id":"fae35e9a2cb6f22e727f26504ec1bf29","html":"\u003cp\u003e确保 \u003cspan\u003elibpq\u003c/span\u003e 中的 LDAP 查找尝试按预期超时（Laurenz Albe）\u003c/p\u003e","id":"9.3.5-c862c70fd3a6efe1","identity_text":"Ensure that LDAP lookup attempts in libpq time out as intended (Laurenz Albe)","part":"changes","patch_ids":["1ec1c054780a33b8054b72669b4e64d7"],"related_changes":[{"db_id":"77b8f10623b200635653a4a8e40d9023","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"9dd31e73a7f7b653f065c8b0769c8fad6f56b106c355205b355057b2c66a3292"},"kind":"equivalent","label":"9.2.9","source_url":"/docs/release/9.2.9/#id-1.11.6.20.5","title":"确保 libpq 中的 LDAP 查找尝试按预期超时","url":"/docs/compare/?release=9.2.9#9.2.9-c862c70fd3a6efe1","version":"9.2.9"},{"db_id":"93e8b6c34b4b9e5c8f46e6f20483ab43","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"9dd31e73a7f7b653f065c8b0769c8fad6f56b106c355205b355057b2c66a3292"},"kind":"equivalent","label":"9.1.14","source_url":"/docs/release/9.1.14/#id-1.11.6.15.5","title":"确保 libpq 中的 LDAP 查找尝试按预期超时","url":"/docs/compare/?release=9.1.14#9.1.14-c862c70fd3a6efe1","version":"9.1.14"},{"db_id":"47a792f9478fb28694a84953205d03a3","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"9dd31e73a7f7b653f065c8b0769c8fad6f56b106c355205b355057b2c66a3292"},"kind":"equivalent","label":"9.0.18","source_url":"/docs/release/9.0.18/#id-1.11.6.10.5","title":"确保 libpq 中的 LDAP 查找尝试按预期超时","url":"/docs/compare/?release=9.0.18#9.0.18-c862c70fd3a6efe1","version":"9.0.18"}],"relations":[{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"9dd31e73a7f7b653f065c8b0769c8fad6f56b106c355205b355057b2c66a3292"},"rule":2,"target":"47a792f9478fb28694a84953205d03a3","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"9dd31e73a7f7b653f065c8b0769c8fad6f56b106c355205b355057b2c66a3292"},"rule":2,"target":"77b8f10623b200635653a4a8e40d9023","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"9dd31e73a7f7b653f065c8b0769c8fad6f56b106c355205b355057b2c66a3292"},"rule":2,"target":"93e8b6c34b4b9e5c8f46e6f20483ab43","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["cc269272c"],"source_entry_id":"9.3.5/changes/042","source_hash":"e8e508c44720b3cb9da2143fec637661b27d1bcddca7fafcbc59693708153ad7","source_url":"/docs/release/9.3.5/#id-1.11.6.25.5","statement_hash":"9dd31e73a7f7b653f065c8b0769c8fad6f56b106c355205b355057b2c66a3292","text":"确保 libpq 中的 LDAP 查找尝试按预期超时（Laurenz Albe）","title":"确保 libpq 中的 LDAP 查找尝试按预期超时","variants":[],"version":"9.3.5"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["0c2eb989e","0de106836","2b3136de9","3a024c110","3b8fda676","8d6a07fa0","91c8c106f","b4eeb9d58","f91796853","fb66e88cf"],"commit_groups":[["0c2eb989e","0de106836","2b3136de9","3b8fda676","f91796853"],["3a024c110","8d6a07fa0","91c8c106f","b4eeb9d58","fb66e88cf"]],"commits":[],"cves":[],"db_id":"03951a03f69cc7a7ccf5e67eaa50748e","html":"\u003cp\u003e修复 \u003cspan\u003eecpg\u003c/span\u003e 在 \u003ccode\u003echar *\u003c/code\u003e 数组作为返回多行的 FETCH 语句目标时的行为，以及其他一些数组处理修复（Ashutosh Bapat）\u003c/p\u003e","id":"9.3.5-711d03350e4bd689","identity_text":"Fix ecpg to do the right thing when an array of char * is the target for a FETCH statement returning more than one row, as well as some other array-handling fixes (Ashutosh Bapat)","part":"changes","patch_ids":["0e980eefb4ec2ddf3cd6395c2398fbc2","f72f197abe3067c386dde2cbdc2ce225"],"related_changes":[{"db_id":"5fe77e7c94032b304ecf46028b3be13d","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"bbf5a7b8dea2c6d469f7cd4ddb525ccbe9be895afdc8a4c0fd2041aa66cc83c1"},"kind":"equivalent","label":"9.2.9","source_url":"/docs/release/9.2.9/#id-1.11.6.20.5","title":"修复 ecpg 在 char * 数组作为返回多行的 FETCH 语句目标时的行为，以及其他一些数组处理修复","url":"/docs/compare/?release=9.2.9#9.2.9-711d03350e4bd689","version":"9.2.9"},{"db_id":"60a69e69d0f9f9787bb74a801b09eced","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"bbf5a7b8dea2c6d469f7cd4ddb525ccbe9be895afdc8a4c0fd2041aa66cc83c1"},"kind":"equivalent","label":"9.1.14","source_url":"/docs/release/9.1.14/#id-1.11.6.15.5","title":"修复 ecpg 在 char * 数组作为返回多行的 FETCH 语句目标时的行为，以及其他一些数组处理修复","url":"/docs/compare/?release=9.1.14#9.1.14-711d03350e4bd689","version":"9.1.14"},{"db_id":"803965b25515c92205c976328c2eb0a4","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"bbf5a7b8dea2c6d469f7cd4ddb525ccbe9be895afdc8a4c0fd2041aa66cc83c1"},"kind":"equivalent","label":"9.0.18","source_url":"/docs/release/9.0.18/#id-1.11.6.10.5","title":"修复 ecpg 在 char * 数组作为返回多行的 FETCH 语句目标时的行为，以及其他一些数组处理修复","url":"/docs/compare/?release=9.0.18#9.0.18-711d03350e4bd689","version":"9.0.18"}],"relations":[{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"bbf5a7b8dea2c6d469f7cd4ddb525ccbe9be895afdc8a4c0fd2041aa66cc83c1"},"rule":2,"target":"5fe77e7c94032b304ecf46028b3be13d","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"bbf5a7b8dea2c6d469f7cd4ddb525ccbe9be895afdc8a4c0fd2041aa66cc83c1"},"rule":2,"target":"60a69e69d0f9f9787bb74a801b09eced","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"bbf5a7b8dea2c6d469f7cd4ddb525ccbe9be895afdc8a4c0fd2041aa66cc83c1"},"rule":2,"target":"803965b25515c92205c976328c2eb0a4","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["3b8fda676","b4eeb9d58"],"source_entry_id":"9.3.5/changes/043","source_hash":"154dd8503b9fceb97107f980d27eb887ce90b6a586a1797173c466d926aa2a1f","source_url":"/docs/release/9.3.5/#id-1.11.6.25.5","statement_hash":"bbf5a7b8dea2c6d469f7cd4ddb525ccbe9be895afdc8a4c0fd2041aa66cc83c1","text":"修复 ecpg 在 char * 数组作为返回多行的 FETCH 语句目标时的行为，以及其他一些数组处理修复（Ashutosh Bapat）","title":"修复 ecpg 在 char * 数组作为返回多行的 FETCH 语句目标时的行为，以及其他一些数组处理修复","variants":[],"version":"9.3.5"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["3080bbaa9","62215de29"],"commit_groups":[["3080bbaa9","62215de29"]],"commits":[],"cves":[],"db_id":"8ac68623b9ad1c757df0f25a37ee3b2b","html":"\u003cp\u003e修复 \u003cspan\u003epg_dump\u003c/span\u003e 处理依赖于表主键的物化视图的问题（Tom Lane）\u003c/p\u003e\n\u003cp\u003e当视图的查询依赖函数依赖性来精简 \u003ccode\u003eGROUP BY\u003c/code\u003e 列表时就会发生这种情况。\u003cspan\u003epg_dump\u003c/span\u003e 会困惑到把该物化视图当作普通视图转储。\u003c/p\u003e","id":"9.3.5-f6efe14c70c19847","identity_text":"Fix pg_dump to cope with a materialized view that depends on a table's primary key (Tom Lane) This occurs if the view's query relies on functional dependency to abbreviate a GROUP BY list. pg_dump got sufficiently confused that it dumped the materialized view as a regular view.","part":"changes","patch_ids":["ac5b049e737590689dfba87e70138d4f"],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":["3080bbaa9"],"source_entry_id":"9.3.5/changes/044","source_hash":"6e89374f0ebd8398dd9f66f0e174e9945da41d9b06bbfc56f39dbd03d1a05059","source_url":"/docs/release/9.3.5/#id-1.11.6.25.5","statement_hash":"feed8d02d02e6643104be11b975971bfb899bc883debd0b0ee3de254f374c0e6","text":"修复 pg_dump 处理依赖于表主键的物化视图的问题（Tom Lane） 当视图的查询依赖函数依赖性来精简 GROUP BY 列表时就会发生这种情况。pg_dump 会困惑到把该物化视图当作普通视图转储。","title":"修复 pg_dump 处理依赖于表主键的物化视图的问题","variants":[],"version":"9.3.5"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["19f2d6cda","63817f86b"],"commit_groups":[["19f2d6cda","63817f86b"]],"commits":[],"cves":[],"db_id":"d882c86ec40f078ff44ec620344b3cf0","html":"\u003cp\u003e修复 \u003cspan\u003epg_dumpall\u003c/span\u003e 的 \u003ccode\u003e-i\u003c/code\u003e 开关的解析（Tom Lane）\u003c/p\u003e","id":"9.3.5-cc65e83b9ef813d0","identity_text":"Fix parsing of pg_dumpall's -i switch (Tom Lane)","part":"changes","patch_ids":["38957b0278fec42c42663445c2461163"],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":["63817f86b"],"source_entry_id":"9.3.5/changes/045","source_hash":"50c0db9894071f7e1ed4e6046f3968d98ea9704d8d08e56c7c700c62dc11d840","source_url":"/docs/release/9.3.5/#id-1.11.6.25.5","statement_hash":"cb02bbd5f5adff9cb2ba010b619674d59894ee407186739f5dae8af5cb1d006c","text":"修复 pg_dumpall 的 -i 开关的解析（Tom Lane）","title":"修复 pg_dumpall 的 -i 开关的解析","variants":[],"version":"9.3.5"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["294a48985","3fec825f9","6adddac8a","a11577f47","c3c1401ca","c81e63d85","ce7fc4fbb"],"commit_groups":[["294a48985","3fec825f9","6adddac8a","a11577f47","c3c1401ca","c81e63d85","ce7fc4fbb"]],"commits":[],"cves":[],"db_id":"da83d1898e5b2c300cfb0fad7355a0cb","html":"\u003cp\u003e修复 \u003cspan\u003epg_restore\u003c/span\u003e 对旧式大对象注释的处理（Tom Lane）\u003c/p\u003e\n\u003cp\u003e如果归档文件由 9.0 之前版本的 \u003cspan\u003epg_dump\u003c/span\u003e 生成且包含较多大对象注释，直接恢复到数据库通常会失败。\u003c/p\u003e","id":"9.3.5-5c2bb548ad784bfa","identity_text":"Fix pg_restore's processing of old-style large object comments (Tom Lane) A direct-to-database restore from an archive file generated by a pre-9.0 version of pg_dump would usually fail if the archive contained more than a few comments for large objects.","part":"changes","patch_ids":["dc09a3b50ecd4ca8497c9020f8c828df"],"related_changes":[{"db_id":"82fd6a93aa95c840ae3aea81590e8700","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"810f62d2bad25f30a19392d14d2f235e536c1310f924633aff7f134363fb5ec0"},"kind":"equivalent","label":"9.2.9","source_url":"/docs/release/9.2.9/#id-1.11.6.20.5","title":"修复 pg_restore 对旧式大对象注释的处理","url":"/docs/compare/?release=9.2.9#9.2.9-5c2bb548ad784bfa","version":"9.2.9"},{"db_id":"854416bf297531ff4f4f9015bab857f9","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"810f62d2bad25f30a19392d14d2f235e536c1310f924633aff7f134363fb5ec0"},"kind":"equivalent","label":"9.1.14","source_url":"/docs/release/9.1.14/#id-1.11.6.15.5","title":"修复 pg_restore 对旧式大对象注释的处理","url":"/docs/compare/?release=9.1.14#9.1.14-5c2bb548ad784bfa","version":"9.1.14"},{"db_id":"ebf06686a05aa24118cb50052c738ec5","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"810f62d2bad25f30a19392d14d2f235e536c1310f924633aff7f134363fb5ec0"},"kind":"equivalent","label":"9.0.18","source_url":"/docs/release/9.0.18/#id-1.11.6.10.5","title":"修复 pg_restore 对旧式大对象注释的处理","url":"/docs/compare/?release=9.0.18#9.0.18-5c2bb548ad784bfa","version":"9.0.18"}],"relations":[{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"810f62d2bad25f30a19392d14d2f235e536c1310f924633aff7f134363fb5ec0"},"rule":2,"target":"82fd6a93aa95c840ae3aea81590e8700","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"810f62d2bad25f30a19392d14d2f235e536c1310f924633aff7f134363fb5ec0"},"rule":2,"target":"854416bf297531ff4f4f9015bab857f9","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"810f62d2bad25f30a19392d14d2f235e536c1310f924633aff7f134363fb5ec0"},"rule":2,"target":"ebf06686a05aa24118cb50052c738ec5","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["a11577f47"],"source_entry_id":"9.3.5/changes/046","source_hash":"7650937f2600938e1652de97c3c00d1231de72967692ca7276a24ad7968c977c","source_url":"/docs/release/9.3.5/#id-1.11.6.25.5","statement_hash":"810f62d2bad25f30a19392d14d2f235e536c1310f924633aff7f134363fb5ec0","text":"修复 pg_restore 对旧式大对象注释的处理（Tom Lane） 如果归档文件由 9.0 之前版本的 pg_dump 生成且包含较多大对象注释，直接恢复到数据库通常会失败。","title":"修复 pg_restore 对旧式大对象注释的处理","variants":[],"version":"9.3.5"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["3088cc370","759c9fb63","f1d7ff5bb","f64fe2cbe"],"commit_groups":[["3088cc370","759c9fb63","f1d7ff5bb","f64fe2cbe"]],"commits":[],"cves":[],"db_id":"e1d8e96af8fc4c845a900bbfc327c8cf","html":"\u003cp\u003e修复新服务器创建了 TOAST 表而旧版本没有创建时 \u003cspan\u003epg_upgrade\u003c/span\u003e 的问题（Bruce Momjian）\u003c/p\u003e\n\u003cp\u003e这种罕见情况会表现为 \u003cspan\u003e“\u003cspan\u003erelation OID mismatch\u003c/span\u003e”\u003c/span\u003e 错误。\u003c/p\u003e","id":"9.3.5-8d7da8ad3d474686","identity_text":"Fix pg_upgrade for cases where the new server creates a TOAST table but the old version did not (Bruce Momjian) This rare situation would manifest as relation OID mismatch errors.","part":"changes","patch_ids":["da4489878fc7ee209c94c9d53e70d248"],"related_changes":[{"db_id":"cddc66904a1df9729425e072ec46abcf","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"bc01710955da972814e716873a9f7ac2ab7fcd5ece43c34f8d3f879ec87069c5"},"kind":"equivalent","label":"9.2.9","source_url":"/docs/release/9.2.9/#id-1.11.6.20.5","title":"修复新服务器创建了 TOAST 表而旧版本没有创建时 pg_upgrade 的问题","url":"/docs/compare/?release=9.2.9#9.2.9-8d7da8ad3d474686","version":"9.2.9"}],"relations":[{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"bc01710955da972814e716873a9f7ac2ab7fcd5ece43c34f8d3f879ec87069c5"},"rule":2,"target":"cddc66904a1df9729425e072ec46abcf","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["f1d7ff5bb"],"source_entry_id":"9.3.5/changes/047","source_hash":"c22b1e9617357af92d1047f95a887c873d423c85499c6576da09d9ef7425b659","source_url":"/docs/release/9.3.5/#id-1.11.6.25.5","statement_hash":"bc01710955da972814e716873a9f7ac2ab7fcd5ece43c34f8d3f879ec87069c5","text":"修复新服务器创建了 TOAST 表而旧版本没有创建时 pg_upgrade 的问题（Bruce Momjian） 这种罕见情况会表现为 “relation OID mismatch” 错误。","title":"修复新服务器创建了 TOAST 表而旧版本没有创建时 pg_upgrade 的问题","variants":[],"version":"9.3.5"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["3d2e18510","78db307bb","a61daa14d","b446a384b","d122387d7","e7984cca0"],"commit_groups":[["3d2e18510","a61daa14d","b446a384b"],["78db307bb","d122387d7","e7984cca0"]],"commits":[],"cves":[],"db_id":"2ef27d63bcf749604f17755bfbe0291c","html":"\u003cp\u003e在 \u003cspan\u003epg_upgrade\u003c/span\u003e 中，保留旧集簇的 \u003ccode\u003epg_database\u003c/code\u003e.\u003ccode\u003edatminmxid\u003c/code\u003e 和 \u003ccode\u003epg_class\u003c/code\u003e.\u003ccode\u003erelminmxid\u003c/code\u003e 值，或者在从 9.3 之前版本升级时插入合理的值；同时让核心服务器防御不合理的值（Bruce Momjian、Álvaro Herrera、Tom Lane）\u003c/p\u003e\n\u003cp\u003e这些变更防止了这样的场景：自动清理在新集簇启动后立即坚持扫描整个集簇的内容，或者对未冻结 MXID 值的跟踪被完全禁用。\u003c/p\u003e","id":"9.3.5-31282c2f42cb49b2","identity_text":"In pg_upgrade, preserve pg_database.datminmxid and pg_class.relminmxid values from the old cluster, or insert reasonable values when upgrading from pre-9.3; also defend against unreasonable values in the core server (Bruce Momjian, Álvaro Herrera, Tom Lane) These changes prevent scenarios in which autovacuum might insist on scanning the entire cluster's contents immediately upon starting the new cluster, or in which tracking of unfrozen MXID values might be disabled completely.","part":"changes","patch_ids":["147a9b4b0a1f433f93e765910ec76d20","b40cf1cfbd41687780d7540fe2e5a1ea"],"related_changes":[],"relations":[],"section":"变更","section_path":["变更"],"source_commits":["3d2e18510","e7984cca0"],"source_entry_id":"9.3.5/changes/048","source_hash":"c180f26b0c942592c19f34810a7ce860415f33e491b262ef5cadb84c9c156f0f","source_url":"/docs/release/9.3.5/#id-1.11.6.25.5","statement_hash":"4c3fe7297f90251df724cc2e7580135b383378c275fcf4d2d4a0e737fc6df925","text":"在 pg_upgrade 中，保留旧集簇的 pg_database.datminmxid 和 pg_class.relminmxid 值，或者在从 9.3 之前版本升级时插入合理的值；同时让核心服务器防御不合理的值（Bruce Momjian、Álvaro Herrera、Tom Lane） 这些变更防止了这样的场景：自动清理在新集簇启动后立即坚持扫描整个集簇的内容，或者对未冻结 MXID 值的跟踪被完全禁用。","title":"在 pg_upgrade 中，保留旧集簇的 pg_database.datminmxid 和 pg_class.relminmxid 值，或者在从 9.3 之前版本升级时插入合理的值；同时让核心服务器防御不合理的值","variants":[],"version":"9.3.5"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["0266a9c78","31f579f09","e416830a2"],"commit_groups":[["0266a9c78","31f579f09","e416830a2"]],"commits":[],"cves":[],"db_id":"3df678852927dbe67ad10e05c5838d14","html":"\u003cp\u003e防止 \u003ccode\u003econtrib/auto_explain\u003c/code\u003e 改变用户 \u003ccode\u003eEXPLAIN\u003c/code\u003e 命令的输出（Tom Lane）\u003c/p\u003e\n\u003cp\u003e如果 \u003ccode\u003eauto_explain\u003c/code\u003e 处于活动状态，它可能导致 \u003ccode\u003eEXPLAIN (ANALYZE, TIMING OFF)\u003c/code\u003e 命令仍然打印计时信息。\u003c/p\u003e","id":"9.3.5-390e3d5daba068d1","identity_text":"Prevent contrib/auto_explain from changing the output of a user's EXPLAIN (Tom Lane) If auto_explain is active, it could cause an EXPLAIN (ANALYZE, TIMING OFF) command to nonetheless print timing information.","part":"changes","patch_ids":["df9697a6c804ae31cf7fbaf7ac0ca174"],"related_changes":[{"db_id":"ecb207e5f03a0c87de60518e18f3f6dd","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"339b402957aa04f4efaa5be2e35669293a1170c25e2eb84f558e2f307b6608e2"},"kind":"equivalent","label":"9.2.9","source_url":"/docs/release/9.2.9/#id-1.11.6.20.5","title":"防止 contrib/auto_explain 改变用户 EXPLAIN 命令的输出","url":"/docs/compare/?release=9.2.9#9.2.9-390e3d5daba068d1","version":"9.2.9"}],"relations":[{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"339b402957aa04f4efaa5be2e35669293a1170c25e2eb84f558e2f307b6608e2"},"rule":2,"target":"ecb207e5f03a0c87de60518e18f3f6dd","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["0266a9c78"],"source_entry_id":"9.3.5/changes/049","source_hash":"7174054a047152bf74553102f124a4148c45f21292e4b2541add7fc54f99c636","source_url":"/docs/release/9.3.5/#id-1.11.6.25.5","statement_hash":"339b402957aa04f4efaa5be2e35669293a1170c25e2eb84f558e2f307b6608e2","text":"防止 contrib/auto_explain 改变用户 EXPLAIN 命令的输出（Tom Lane） 如果 auto_explain 处于活动状态，它可能导致 EXPLAIN (ANALYZE, TIMING OFF) 命令仍然打印计时信息。","title":"防止 contrib/auto_explain 改变用户 EXPLAIN 命令的输出","variants":[],"version":"9.3.5"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["1dde5782e","3e2cfa42f","9d884a34c","b3a3f3d2f"],"commit_groups":[["1dde5782e","3e2cfa42f","9d884a34c","b3a3f3d2f"]],"commits":[],"cves":[],"db_id":"9e3cd4ee0fc5c915cd33a3c6bb673094","html":"\u003cp\u003e修复 \u003ccode\u003econtrib/dblink\u003c/code\u003e 中的查询级内存泄漏（MauMau、Joe Conway）\u003c/p\u003e","id":"9.3.5-137b26b8343e2f9b","identity_text":"Fix query-lifespan memory leak in contrib/dblink (MauMau, Joe Conway)","part":"changes","patch_ids":["e2a0c75c2a5f8f6bc1358537b0a42128"],"related_changes":[{"db_id":"0bf0da56a8be6b7a8a403cad56024e84","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"b9d2cbbf3dc31f537e4ea94ef2f94798eeb8cdd6b28ed23dd8d6ab50cda332c4"},"kind":"equivalent","label":"9.2.9","source_url":"/docs/release/9.2.9/#id-1.11.6.20.5","title":"修复 contrib/dblink 中的查询级内存泄漏","url":"/docs/compare/?release=9.2.9#9.2.9-137b26b8343e2f9b","version":"9.2.9"}],"relations":[{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"b9d2cbbf3dc31f537e4ea94ef2f94798eeb8cdd6b28ed23dd8d6ab50cda332c4"},"rule":2,"target":"0bf0da56a8be6b7a8a403cad56024e84","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["b3a3f3d2f"],"source_entry_id":"9.3.5/changes/050","source_hash":"0df80b45ae0cdbfcaf19832ceb28f6271d2a1694476353ef8868dc85d1637996","source_url":"/docs/release/9.3.5/#id-1.11.6.25.5","statement_hash":"b9d2cbbf3dc31f537e4ea94ef2f94798eeb8cdd6b28ed23dd8d6ab50cda332c4","text":"修复 contrib/dblink 中的查询级内存泄漏（MauMau、Joe Conway）","title":"修复 contrib/dblink 中的查询级内存泄漏","variants":[],"version":"9.3.5"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["9fe55259f","a1b9c4630","df2e62603","ea8725a8b","fc02b87e2","fc72e94a1"],"commit_groups":[["9fe55259f","a1b9c4630","df2e62603","ea8725a8b","fc02b87e2","fc72e94a1"]],"commits":[],"cves":[],"db_id":"1950470d6df3ffce099f00fdf31d8a6e","html":"\u003cp\u003e在 \u003ccode\u003econtrib/pgcrypto\u003c/code\u003e 函数中，确保返回前清除栈变量中的敏感信息（Marko Kreen）\u003c/p\u003e","id":"9.3.5-0016b300fbfa987e","identity_text":"In contrib/pgcrypto functions, ensure sensitive information is cleared from stack variables before returning (Marko Kreen)","part":"changes","patch_ids":["a50dc55c85dcf3b5e0ff72e3cba88f76"],"related_changes":[{"db_id":"f78027492cdf29e6121d9de1919885c4","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"5efa83f80cfe0fdc6d4ef2579cd86e4982ceb6a50ddd77a58d599dd9c3f4a9d6"},"kind":"equivalent","label":"9.2.9","source_url":"/docs/release/9.2.9/#id-1.11.6.20.5","title":"在 contrib/pgcrypto 函数中，确保返回前清除栈变量中的敏感信息","url":"/docs/compare/?release=9.2.9#9.2.9-0016b300fbfa987e","version":"9.2.9"},{"db_id":"e46ff2eeb859e50d67e0065ff01d7479","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"5efa83f80cfe0fdc6d4ef2579cd86e4982ceb6a50ddd77a58d599dd9c3f4a9d6"},"kind":"equivalent","label":"9.1.14","source_url":"/docs/release/9.1.14/#id-1.11.6.15.5","title":"在 contrib/pgcrypto 函数中，确保返回前清除栈变量中的敏感信息","url":"/docs/compare/?release=9.1.14#9.1.14-0016b300fbfa987e","version":"9.1.14"},{"db_id":"da3c1ef853655f747a6a5c63dbbec939","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"5efa83f80cfe0fdc6d4ef2579cd86e4982ceb6a50ddd77a58d599dd9c3f4a9d6"},"kind":"equivalent","label":"9.0.18","source_url":"/docs/release/9.0.18/#id-1.11.6.10.5","title":"在 contrib/pgcrypto 函数中，确保返回前清除栈变量中的敏感信息","url":"/docs/compare/?release=9.0.18#9.0.18-0016b300fbfa987e","version":"9.0.18"}],"relations":[{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"5efa83f80cfe0fdc6d4ef2579cd86e4982ceb6a50ddd77a58d599dd9c3f4a9d6"},"rule":2,"target":"da3c1ef853655f747a6a5c63dbbec939","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"5efa83f80cfe0fdc6d4ef2579cd86e4982ceb6a50ddd77a58d599dd9c3f4a9d6"},"rule":2,"target":"e46ff2eeb859e50d67e0065ff01d7479","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"5efa83f80cfe0fdc6d4ef2579cd86e4982ceb6a50ddd77a58d599dd9c3f4a9d6"},"rule":2,"target":"f78027492cdf29e6121d9de1919885c4","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["fc72e94a1"],"source_entry_id":"9.3.5/changes/051","source_hash":"1025118a5bda595d60aa9795f8d47bfb0dd8391f224c66593d654eb823979ad6","source_url":"/docs/release/9.3.5/#id-1.11.6.25.5","statement_hash":"5efa83f80cfe0fdc6d4ef2579cd86e4982ceb6a50ddd77a58d599dd9c3f4a9d6","text":"在 contrib/pgcrypto 函数中，确保返回前清除栈变量中的敏感信息（Marko Kreen）","title":"在 contrib/pgcrypto 函数中，确保返回前清除栈变量中的敏感信息","variants":[],"version":"9.3.5"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["37a4d3d70","9d0826c59","f14e40852","f6d6b7b1e"],"commit_groups":[["37a4d3d70","9d0826c59","f14e40852","f6d6b7b1e"]],"commits":[],"cves":[],"db_id":"07a2da066dadf3d1d9edfcae6ea8cfee","html":"\u003cp\u003e防止 \u003ccode\u003econtrib/pgstattuple\u003c/code\u003e 的 \u003ccode\u003epgstat_heap()\u003c/code\u003e 使用已释放的内存（Noah Misch）\u003c/p\u003e","id":"9.3.5-9784f08218d9675c","identity_text":"Prevent use of already-freed memory in contrib/pgstattuple's pgstat_heap() (Noah Misch)","part":"changes","patch_ids":["1a96e934269cb7ece74e2e0ebdc4ea15"],"related_changes":[{"db_id":"69a5922096908d645905101f888bf49b","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"e93150675bf379583f13e65c9f9efaf0ce78811451425f9b469ca5ee7fc4f4fa"},"kind":"equivalent","label":"9.2.9","source_url":"/docs/release/9.2.9/#id-1.11.6.20.5","title":"防止 contrib/pgstattuple 的 pgstat_heap() 使用已释放的内存","url":"/docs/compare/?release=9.2.9#9.2.9-9784f08218d9675c","version":"9.2.9"}],"relations":[{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"e93150675bf379583f13e65c9f9efaf0ce78811451425f9b469ca5ee7fc4f4fa"},"rule":2,"target":"69a5922096908d645905101f888bf49b","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["f14e40852"],"source_entry_id":"9.3.5/changes/052","source_hash":"d2c21bc9c303ae8c34e7893f66c4e59fd51409d83d2afdef18a45093d1a84140","source_url":"/docs/release/9.3.5/#id-1.11.6.25.5","statement_hash":"e93150675bf379583f13e65c9f9efaf0ce78811451425f9b469ca5ee7fc4f4fa","text":"防止 contrib/pgstattuple 的 pgstat_heap() 使用已释放的内存（Noah Misch）","title":"防止 contrib/pgstattuple 的 pgstat_heap() 使用已释放的内存","variants":[],"version":"9.3.5"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["2fb9fb661","3606754da","961dd203a","b2f6754d2","c941aed96","fd785441f"],"commit_groups":[["2fb9fb661","3606754da","961dd203a","b2f6754d2","c941aed96","fd785441f"]],"commits":[],"cves":[],"db_id":"1326b033b2b56a25227df3cbe1617a36","html":"\u003cp\u003e在 \u003ccode\u003econtrib/uuid-ossp\u003c/code\u003e 中，跨调用缓存 OSSP UUID 库的状态（Tom Lane）\u003c/p\u003e\n\u003cp\u003e这提高了 UUID 生成的效率，并在有 \u003ccode\u003e/dev/urandom\u003c/code\u003e 的平台上减少了从中抽取的熵量。\u003c/p\u003e","id":"9.3.5-f301465b45c606aa","identity_text":"In contrib/uuid-ossp, cache the state of the OSSP UUID library across calls (Tom Lane) This improves the efficiency of UUID generation and reduces the amount of entropy drawn from /dev/urandom, on platforms that have that.","part":"changes","patch_ids":["21d79ba79d1edb3f05bd52144ef3ceb2"],"related_changes":[{"db_id":"2d2932d1495af96400c3a66a5188eb46","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"bd095415b79f203d378a5a281e6ea63ea7822660df35fd025f8c77580c43717b"},"kind":"equivalent","label":"9.2.9","source_url":"/docs/release/9.2.9/#id-1.11.6.20.5","title":"在 contrib/uuid-ossp 中，跨调用缓存 OSSP UUID 库的状态","url":"/docs/compare/?release=9.2.9#9.2.9-f301465b45c606aa","version":"9.2.9"},{"db_id":"e76d1e6b1ab7c2cd7f6aeb6112cdd519","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"bd095415b79f203d378a5a281e6ea63ea7822660df35fd025f8c77580c43717b"},"kind":"equivalent","label":"9.1.14","source_url":"/docs/release/9.1.14/#id-1.11.6.15.5","title":"在 contrib/uuid-ossp 中，跨调用缓存 OSSP UUID 库的状态","url":"/docs/compare/?release=9.1.14#9.1.14-f301465b45c606aa","version":"9.1.14"},{"db_id":"f10275f87e34a2c9c4ff6de64101c8f6","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"bd095415b79f203d378a5a281e6ea63ea7822660df35fd025f8c77580c43717b"},"kind":"equivalent","label":"9.0.18","source_url":"/docs/release/9.0.18/#id-1.11.6.10.5","title":"在 contrib/uuid-ossp 中，跨调用缓存 OSSP UUID 库的状态","url":"/docs/compare/?release=9.0.18#9.0.18-f301465b45c606aa","version":"9.0.18"}],"relations":[{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"bd095415b79f203d378a5a281e6ea63ea7822660df35fd025f8c77580c43717b"},"rule":2,"target":"2d2932d1495af96400c3a66a5188eb46","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"bd095415b79f203d378a5a281e6ea63ea7822660df35fd025f8c77580c43717b"},"rule":2,"target":"e76d1e6b1ab7c2cd7f6aeb6112cdd519","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"bd095415b79f203d378a5a281e6ea63ea7822660df35fd025f8c77580c43717b"},"rule":2,"target":"f10275f87e34a2c9c4ff6de64101c8f6","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["961dd203a"],"source_entry_id":"9.3.5/changes/053","source_hash":"8e091162a23dcadae6708f895e00dd13f63972a735bd53935ffedb7884e33ee4","source_url":"/docs/release/9.3.5/#id-1.11.6.25.5","statement_hash":"bd095415b79f203d378a5a281e6ea63ea7822660df35fd025f8c77580c43717b","text":"在 contrib/uuid-ossp 中，跨调用缓存 OSSP UUID 库的状态（Tom Lane） 这提高了 UUID 生成的效率，并在有 /dev/urandom 的平台上减少了从中抽取的熵量。","title":"在 contrib/uuid-ossp 中，跨调用缓存 OSSP UUID 库的状态","variants":[],"version":"9.3.5"},{"also_in":[],"category":"improvement","category_label":"Improvements","commit_aliases":["40ccb6530","7659b6913","7d09e4854","b1864fabf","bd5458f52","c51da696b","e5ea60e80"],"commit_groups":[["40ccb6530","7659b6913","7d09e4854","b1864fabf","bd5458f52","c51da696b","e5ea60e80"]],"commits":[],"cves":[],"db_id":"0be25c77e3001279f17afc62b5ad0e26","html":"\u003cp\u003e把时区数据文件更新为 \u003cspan\u003etzdata\u003c/span\u003e 版本 2014e，以反映克里米亚、埃及和摩洛哥的夏令时法规变更。\u003c/p\u003e","id":"9.3.5-34d486e25f2c3c26","identity_text":"Update time zone data files to tzdata release 2014e for DST law changes in Crimea, Egypt, and Morocco.","part":"changes","patch_ids":["4a0e7dad7bdb0230b538d3287552f7fd"],"related_changes":[{"db_id":"f0379227a70a81072cf0b0270ac81b05","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"7abe05ad3e342400b3a6f53223c04884cf12ae063e388445fb302f2025000f1a"},"kind":"equivalent","label":"9.2.9","source_url":"/docs/release/9.2.9/#id-1.11.6.20.5","title":"把时区数据文件更新为 tzdata 版本 2014e for DST law changes in Crimea, Egypt, and Morocco。","url":"/docs/compare/?release=9.2.9#9.2.9-f6411040831c229f","version":"9.2.9"},{"db_id":"baaed6e0e43e79f2a9ebad4377a39a4f","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"7abe05ad3e342400b3a6f53223c04884cf12ae063e388445fb302f2025000f1a"},"kind":"equivalent","label":"9.1.14","source_url":"/docs/release/9.1.14/#id-1.11.6.15.5","title":"把时区数据文件更新为 tzdata 版本 2014e for DST law changes in Crimea, Egypt, and Morocco。","url":"/docs/compare/?release=9.1.14#9.1.14-f6411040831c229f","version":"9.1.14"},{"db_id":"40de67ee53d71ae301c40a9ffdc80562","evidence":{"patch_ids":[],"same_day":true,"statement_hash":"7abe05ad3e342400b3a6f53223c04884cf12ae063e388445fb302f2025000f1a"},"kind":"equivalent","label":"9.0.18","source_url":"/docs/release/9.0.18/#id-1.11.6.10.5","title":"把时区数据文件更新为 tzdata 版本 2014e for DST law changes in Crimea, Egypt, and Morocco。","url":"/docs/compare/?release=9.0.18#9.0.18-f6411040831c229f","version":"9.0.18"}],"relations":[{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"7abe05ad3e342400b3a6f53223c04884cf12ae063e388445fb302f2025000f1a"},"rule":2,"target":"40de67ee53d71ae301c40a9ffdc80562","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"7abe05ad3e342400b3a6f53223c04884cf12ae063e388445fb302f2025000f1a"},"rule":2,"target":"baaed6e0e43e79f2a9ebad4377a39a4f","type":"equivalent"},{"evidence":{"patch_ids":[],"same_day":true,"statement_hash":"7abe05ad3e342400b3a6f53223c04884cf12ae063e388445fb302f2025000f1a"},"rule":2,"target":"f0379227a70a81072cf0b0270ac81b05","type":"equivalent"}],"section":"变更","section_path":["变更"],"source_commits":["bd5458f52"],"source_entry_id":"9.3.5/changes/054","source_hash":"ac45f6a95c3457f4cd1c7a5dfbb10a37b6f13c2ab6bce94dddebbc70f24137bf","source_url":"/docs/release/9.3.5/#id-1.11.6.25.5","statement_hash":"7abe05ad3e342400b3a6f53223c04884cf12ae063e388445fb302f2025000f1a","text":"把时区数据文件更新为 tzdata 版本 2014e，以反映克里米亚、埃及和摩洛哥的夏令时法规变更。","title":"把时区数据文件更新为 tzdata 版本 2014e，以反映克里米亚、埃及和摩洛哥的夏令时法规变更。","variants":[],"version":"9.3.5"}],"entry_count":54,"eol":"2018-11-08","eol_date":"2018-11-08","label":"9.3.5","major":"9.3","manual":"9.3","manual_build":"9.3.25","manual_url":"/docs/9.3/release-9-3-5.html","migration_html":"\u003cp\u003e对于运行 9.3.X 的用户，不需要进行转储/恢复。\u003c/p\u003e\n\u003cp\u003e不过，本版本纠正了 \u003cspan\u003epg_upgrade\u003c/span\u003e 中的一个逻辑错误，以及某些 GiST 索引的索引损坏问题。请参见下面前两条变更日志，以确认你的安装是否受影响以及应采取的步骤。\u003c/p\u003e\n\u003cp\u003e不过，如果你是从早于 9.3.4 的版本升级，请参见\u003ca href=\"/docs/9.3/release-9-3-4.html\" title=\"E.22. 版本 9.3.4\"\u003e第 E.22 节\u003c/a\u003e。\u003c/p\u003e","minor":5,"placeholder":false,"source_as_of":"","source_url":"/docs/release/9.3.5/","status":"stable","status_label":"Historical","support_days":-2895,"supported":false,"version":"9.3.5"}],"mode":"release","release_count":1,"remaining_cves":[],"security_as_of":"2026-09-26","security_regressions":[],"source_as_of":"2026-09-26","stats":[{"count":54,"key":"all","label":"All changes"},{"count":0,"key":"feature","label":"Features"},{"count":29,"key":"bugfix","label":"Bug fixes"},{"count":1,"key":"security","label":"Security"},{"count":1,"key":"performance","label":"Performance"},{"count":0,"key":"compatibility","label":"Compatibility"},{"count":23,"key":"improvement","label":"Improvements"}],"to_release":{"age_days":4463,"build":"9.3.5","changes_count":54,"compatibility_count":0,"content_hash":"743accb01d2d5dda760db12f66748caafd7fc6ad5597609a1da19dca9da598bd","date":"2014-07-24","date_text":"2014-07-24","doc_git":"","doc_loaded_at":"2026-09-26T02:56:46.133805","entry_count":54,"eol":"2018-11-08","eol_date":"2018-11-08","label":"9.3.5","major":"9.3","manual":"9.3","manual_build":"9.3.25","manual_url":"/docs/9.3/release-9-3-5.html","migration_html":"\u003cp\u003e对于运行 9.3.X 的用户，不需要进行转储/恢复。\u003c/p\u003e\n\u003cp\u003e不过，本版本纠正了 \u003cspan\u003epg_upgrade\u003c/span\u003e 中的一个逻辑错误，以及某些 GiST 索引的索引损坏问题。请参见下面前两条变更日志，以确认你的安装是否受影响以及应采取的步骤。\u003c/p\u003e\n\u003cp\u003e不过，如果你是从早于 9.3.4 的版本升级，请参见\u003ca href=\"/docs/9.3/release-9-3-4.html\" title=\"E.22. 版本 9.3.4\"\u003e第 E.22 节\u003c/a\u003e。\u003c/p\u003e","minor":5,"placeholder":false,"source_as_of":"","source_url":"/docs/release/9.3.5/","status":"stable","status_label":"Historical","support_days":-2895,"supported":false,"version":"9.3.5"},"total":54,"warnings":[]}
