{"format": 1, "version": {"branch": "13", "url": "/wiki/versions/13/", "state": "eol", "state_label": "\u5df2\u505c\u6b62\u652f\u6301", "tag": "", "build": "13.23", "first_release": "2020-09-24", "end_of_life": "2025-11-13", "latest_release_date": "2025-11-13", "manual_url": "/docs/13/index.html", "manual_slug": "13", "manual_pages": 1065, "manual_loaded_at": "2026-09-27T00:10:45.258078", "source_revision": "", "release_count": 24, "entry_count": 1164, "initial": {"version": "13.0", "build": "13.0", "status": "stable", "date": "2020-09-24", "source_as_of": "", "url": "/docs/compare/?release=13.0", "manual_url": "/docs/13/release-13.html", "source_url": "/docs/release/13.0/", "entry_count": 178, "categories": {"compatibility": 15, "feature": 143, "performance": 16, "bugfix": 4}, "compatibility_count": 15, "cves": [], "cve_count": 0}, "latest": {"version": "13.23", "build": "13.23", "status": "stable", "date": "2025-11-13", "source_as_of": "", "url": "/docs/compare/?release=13.23", "manual_url": "/docs/13/release-13-23.html", "source_url": "/docs/release/13.23/", "entry_count": 43, "categories": {"security": 2, "bugfix": 22, "improvement": 19}, "compatibility_count": 0, "cves": ["CVE-2025-12817", "CVE-2025-12818"], "cve_count": 2}, "comparison_url": "/docs/compare/?from=13.0&to=13.23"}, "releases": [{"version": "13.23", "build": "13.23", "status": "stable", "date": "2025-11-13", "source_as_of": "", "url": "/docs/compare/?release=13.23", "manual_url": "/docs/13/release-13-23.html", "source_url": "/docs/release/13.23/", "entry_count": 43, "categories": {"security": 2, "bugfix": 22, "improvement": 19}, "compatibility_count": 0, "cves": ["CVE-2025-12817", "CVE-2025-12818"], "cve_count": 2}, {"version": "13.22", "build": "13.22", "status": "stable", "date": "2025-08-14", "source_as_of": "", "url": "/docs/compare/?release=13.22", "manual_url": "/docs/13/release-13-22.html", "source_url": "/docs/release/13.22/", "entry_count": 44, "categories": {"security": 3, "improvement": 31, "bugfix": 10}, "compatibility_count": 0, "cves": ["CVE-2012-0868", "CVE-2017-7484", "CVE-2025-8713", "CVE-2025-8714", "CVE-2025-8715"], "cve_count": 5}, {"version": "13.21", "build": "13.21", "status": "stable", "date": "2025-05-08", "source_as_of": "", "url": "/docs/compare/?release=13.21", "manual_url": "/docs/13/release-13-21.html", "source_url": "/docs/release/13.21/", "entry_count": 28, "categories": {"security": 1, "improvement": 15, "bugfix": 12}, "compatibility_count": 0, "cves": ["CVE-2025-4207"], "cve_count": 1}, {"version": "13.20", "build": "13.20", "status": "stable", "date": "2025-02-20", "source_as_of": "", "url": "/docs/compare/?release=13.20", "manual_url": "/docs/13/release-13-20.html", "source_url": "/docs/release/13.20/", "entry_count": 2, "categories": {"security": 1, "bugfix": 1}, "compatibility_count": 0, "cves": ["CVE-2025-1094"], "cve_count": 1}, {"version": "13.19", "build": "13.19", "status": "stable", "date": "2025-02-13", "source_as_of": "", "url": "/docs/compare/?release=13.19", "manual_url": "/docs/13/release-13-19.html", "source_url": "/docs/release/13.19/", "entry_count": 45, "categories": {"security": 1, "improvement": 18, "bugfix": 26}, "compatibility_count": 0, "cves": ["CVE-2025-1094"], "cve_count": 1}, {"version": "13.18", "build": "13.18", "status": "stable", "date": "2024-11-21", "source_as_of": "", "url": "/docs/compare/?release=13.18", "manual_url": "/docs/13/release-13-18.html", "source_url": "/docs/release/13.18/", "entry_count": 4, "categories": {"security": 1, "bugfix": 2, "improvement": 1}, "compatibility_count": 0, "cves": ["CVE-2024-10978"], "cve_count": 1}, {"version": "13.17", "build": "13.17", "status": "stable", "date": "2024-11-14", "source_as_of": "", "url": "/docs/compare/?release=13.17", "manual_url": "/docs/13/release-13-17.html", "source_url": "/docs/release/13.17/", "entry_count": 38, "categories": {"security": 4, "bugfix": 14, "improvement": 20}, "compatibility_count": 0, "cves": ["CVE-2024-10976", "CVE-2024-10977", "CVE-2024-10978", "CVE-2024-10979"], "cve_count": 4}, {"version": "13.16", "build": "13.16", "status": "stable", "date": "2024-08-08", "source_as_of": "", "url": "/docs/compare/?release=13.16", "manual_url": "/docs/13/release-13-16.html", "source_url": "/docs/release/13.16/", "entry_count": 36, "categories": {"security": 2, "bugfix": 17, "improvement": 17}, "compatibility_count": 0, "cves": ["CVE-2023-5869", "CVE-2024-7348"], "cve_count": 2}, {"version": "13.15", "build": "13.15", "status": "stable", "date": "2024-05-09", "source_as_of": "", "url": "/docs/compare/?release=13.15", "manual_url": "/docs/13/release-13-15.html", "source_url": "/docs/release/13.15/", "entry_count": 35, "categories": {"bugfix": 15, "improvement": 20}, "compatibility_count": 0, "cves": [], "cve_count": 0}, {"version": "13.14", "build": "13.14", "status": "stable", "date": "2024-02-08", "source_as_of": "", "url": "/docs/compare/?release=13.14", "manual_url": "/docs/13/release-13-14.html", "source_url": "/docs/release/13.14/", "entry_count": 40, "categories": {"security": 1, "bugfix": 15, "improvement": 24}, "compatibility_count": 0, "cves": ["CVE-2024-0985"], "cve_count": 1}, {"version": "13.13", "build": "13.13", "status": "stable", "date": "2023-11-09", "source_as_of": "", "url": "/docs/compare/?release=13.13", "manual_url": "/docs/13/release-13-13.html", "source_url": "/docs/release/13.13/", "entry_count": 48, "categories": {"security": 3, "bugfix": 17, "improvement": 28}, "compatibility_count": 0, "cves": ["CVE-2023-5868", "CVE-2023-5869", "CVE-2023-5870"], "cve_count": 3}, {"version": "13.12", "build": "13.12", "status": "stable", "date": "2023-08-10", "source_as_of": "", "url": "/docs/compare/?release=13.12", "manual_url": "/docs/13/release-13-12.html", "source_url": "/docs/release/13.12/", "entry_count": 36, "categories": {"security": 1, "bugfix": 17, "improvement": 18}, "compatibility_count": 0, "cves": ["CVE-2023-39417"], "cve_count": 1}, {"version": "13.11", "build": "13.11", "status": "stable", "date": "2023-05-11", "source_as_of": "", "url": "/docs/compare/?release=13.11", "manual_url": "/docs/13/release-13-11.html", "source_url": "/docs/release/13.11/", "entry_count": 55, "categories": {"security": 2, "bugfix": 28, "improvement": 25}, "compatibility_count": 0, "cves": ["CVE-2023-2454", "CVE-2023-2455"], "cve_count": 2}, {"version": "13.10", "build": "13.10", "status": "stable", "date": "2023-02-09", "source_as_of": "", "url": "/docs/compare/?release=13.10", "manual_url": "/docs/13/release-13-10.html", "source_url": "/docs/release/13.10/", "entry_count": 38, "categories": {"security": 1, "bugfix": 15, "improvement": 22}, "compatibility_count": 0, "cves": ["CVE-2022-41862"], "cve_count": 1}, {"version": "13.9", "build": "13.9", "status": "stable", "date": "2022-11-10", "source_as_of": "", "url": "/docs/compare/?release=13.9", "manual_url": "/docs/13/release-13-9.html", "source_url": "/docs/release/13.9/", "entry_count": 41, "categories": {"improvement": 22, "bugfix": 19}, "compatibility_count": 0, "cves": [], "cve_count": 0}, {"version": "13.8", "build": "13.8", "status": "stable", "date": "2022-08-11", "source_as_of": "", "url": "/docs/compare/?release=13.8", "manual_url": "/docs/13/release-13-8.html", "source_url": "/docs/release/13.8/", "entry_count": 43, "categories": {"security": 2, "bugfix": 18, "improvement": 23}, "compatibility_count": 0, "cves": ["CVE-2022-1552", "CVE-2022-2625"], "cve_count": 2}, {"version": "13.7", "build": "13.7", "status": "stable", "date": "2022-05-12", "source_as_of": "", "url": "/docs/compare/?release=13.7", "manual_url": "/docs/13/release-13-7.html", "source_url": "/docs/release/13.7/", "entry_count": 38, "categories": {"security": 1, "bugfix": 20, "improvement": 17}, "compatibility_count": 0, "cves": ["CVE-2022-1552"], "cve_count": 1}, {"version": "13.6", "build": "13.6", "status": "stable", "date": "2022-02-10", "source_as_of": "", "url": "/docs/compare/?release=13.6", "manual_url": "/docs/13/release-13-6.html", "source_url": "/docs/release/13.6/", "entry_count": 41, "categories": {"improvement": 19, "bugfix": 21, "performance": 1}, "compatibility_count": 0, "cves": [], "cve_count": 0}, {"version": "13.5", "build": "13.5", "status": "stable", "date": "2021-11-11", "source_as_of": "", "url": "/docs/compare/?release=13.5", "manual_url": "/docs/13/release-13-5.html", "source_url": "/docs/release/13.5/", "entry_count": 77, "categories": {"security": 2, "bugfix": 36, "improvement": 38, "performance": 1}, "compatibility_count": 0, "cves": ["CVE-2021-23214", "CVE-2021-23222"], "cve_count": 2}, {"version": "13.4", "build": "13.4", "status": "stable", "date": "2021-08-12", "source_as_of": "", "url": "/docs/compare/?release=13.4", "manual_url": "/docs/13/release-13-4.html", "source_url": "/docs/release/13.4/", "entry_count": 77, "categories": {"security": 3, "improvement": 45, "bugfix": 28, "performance": 1}, "compatibility_count": 0, "cves": ["CVE-2006-2313", "CVE-2021-3449", "CVE-2021-3677"], "cve_count": 3}, {"version": "13.3", "build": "13.3", "status": "stable", "date": "2021-05-13", "source_as_of": "", "url": "/docs/compare/?release=13.3", "manual_url": "/docs/13/release-13-3.html", "source_url": "/docs/release/13.3/", "entry_count": 48, "categories": {"security": 3, "bugfix": 27, "improvement": 17, "performance": 1}, "compatibility_count": 0, "cves": ["CVE-2021-32027", "CVE-2021-32028", "CVE-2021-32029"], "cve_count": 3}, {"version": "13.2", "build": "13.2", "status": "stable", "date": "2021-02-11", "source_as_of": "", "url": "/docs/compare/?release=13.2", "manual_url": "/docs/13/release-13-2.html", "source_url": "/docs/release/13.2/", "entry_count": 80, "categories": {"security": 2, "bugfix": 42, "improvement": 36}, "compatibility_count": 0, "cves": ["CVE-2021-20229", "CVE-2021-3393"], "cve_count": 2}, {"version": "13.1", "build": "13.1", "status": "stable", "date": "2020-11-12", "source_as_of": "", "url": "/docs/compare/?release=13.1", "manual_url": "/docs/13/release-13-1.html", "source_url": "/docs/release/13.1/", "entry_count": 49, "categories": {"security": 4, "bugfix": 24, "improvement": 21}, "compatibility_count": 0, "cves": ["CVE-2020-25694", "CVE-2020-25695", "CVE-2020-25696"], "cve_count": 3}, {"version": "13.0", "build": "13.0", "status": "stable", "date": "2020-09-24", "source_as_of": "", "url": "/docs/compare/?release=13.0", "manual_url": "/docs/13/release-13.html", "source_url": "/docs/release/13.0/", "entry_count": 178, "categories": {"compatibility": 15, "feature": 143, "performance": 16, "bugfix": 4}, "compatibility_count": 15, "cves": [], "cve_count": 0}], "initial_entries": [{"id": "13.0-33b58367d6134838", "cves": [], "html": "<p>\u5c06 <a href=\"/docs/13/functions-matching.html#FUNCTIONS-SIMILARTO-REGEXP\" title=\"9.7.2.\u00a0SIMILAR TO\u6b63\u5219\u8868\u8fbe\u5f0f\"><code>SIMILAR TO ... ESCAPE NULL</code></a> \u6539\u4e3a\u8fd4\u56de <code>NULL</code>\uff08Tom Lane\uff09<a href=\"https://postgr.es/c/ca70bdaef\">\u00a7</a></p>\n<p>\u8fd9\u4e00\u65b0\u884c\u4e3a\u7b26\u5408 <acronym>SQL</acronym> \u89c4\u8303\u3002\u4ee5\u524d\uff0c<code>ESCAPE</code> \u4e3a\u7a7a\u503c\u65f6\uff0c\u88ab\u89e3\u91ca\u4e3a\u4f7f\u7528\u9ed8\u8ba4\u8f6c\u4e49\u5b57\u7b26\u4e32\uff08\u53cd\u659c\u6760\u5b57\u7b26\uff09\u3002\u8fd9\u4e5f\u9002\u7528\u4e8e <code>substring(<em><code>text</code></em> FROM <em><code>pattern</code></em> ESCAPE <em><code>text</code></em>)</code>\u3002\u901a\u8fc7\u4fdd\u6301\u539f\u51fd\u6570\u4e0d\u53d8\uff0c\u5728\u65e7\u89c6\u56fe\u4e2d\u4fdd\u7559\u4e86\u4ee5\u524d\u7684\u884c\u4e3a\u3002</p>", "text": "\u5c06 SIMILAR TO ... ESCAPE NULL \u6539\u4e3a\u8fd4\u56de NULL\uff08Tom Lane\uff09\u00a7 \u8fd9\u4e00\u65b0\u884c\u4e3a\u7b26\u5408 SQL \u89c4\u8303\u3002\u4ee5\u524d\uff0cESCAPE \u4e3a\u7a7a\u503c\u65f6\uff0c\u88ab\u89e3\u91ca\u4e3a\u4f7f\u7528\u9ed8\u8ba4\u8f6c\u4e49\u5b57\u7b26\u4e32\uff08\u53cd\u659c\u6760\u5b57\u7b26\uff09\u3002\u8fd9\u4e5f\u9002\u7528\u4e8e substring(text FROM pattern ESCAPE text)\u3002\u901a\u8fc7\u4fdd\u6301\u539f\u51fd\u6570\u4e0d\u53d8\uff0c\u5728\u65e7\u89c6\u56fe\u4e2d\u4fdd\u7559\u4e86\u4ee5\u524d\u7684\u884c\u4e3a\u3002", "title": "\u5c06 SIMILAR TO ... ESCAPE NULL \u6539\u4e3a\u8fd4\u56de NULL", "commits": ["ca70bdaef"], "section": "\u517c\u5bb9\u6027", "category": "compatibility", "source_url": "/docs/release/13.0/#id-1.11.6.29.4", "source_hash": "3239b92d8dfa2b955503fed1b9647544aaf3f4d9bf9cc3c03c39d38985271d81", "section_path": ["\u517c\u5bb9\u6027"], "commit_groups": [["ca70bdaef"]], "identity_text": "Change SIMILAR TO ... ESCAPE NULL to return NULL (Tom Lane) This new behavior matches the SQL specification. Previously a null ESCAPE value was taken to mean using the default escape string (a backslash character). This also applies to substring(text FROM pattern ESCAPE text). The previous behavior has been retained in old views by keeping the original function unchanged.", "commit_aliases": ["ca70bdaef"], "source_commits": ["ca70bdaef"], "source_entry_id": "13.0/migration/001", "db_id": "002b80591bc6fee2e2ce080680a7ad46", "patch_ids": ["eeb400fcc67921acf6635ffdabaa5f5e"], "statement_hash": "44ce1777acf91f4c78ee797940714f9eca4eccd515b461fe601c69c438680ce1", "relations": [], "category_label": "\u517c\u5bb9\u6027\u53d8\u5316", "url": "/docs/compare/?release=13.0#13.0-33b58367d6134838", "migration": true}, {"id": "13.0-cff16c52bc843914", "cves": [], "html": "<p>\u4f7f <a href=\"/docs/13/functions-textsearch.html#TEXTSEARCH-FUNCTIONS-TABLE\" title=\"\u8868\u00a09.42.\u00a0\u6587\u672c\u68c0\u7d22\u51fd\u6570\"><code>json[b]_to_tsvector()</code></a> \u5b8c\u6574\u68c0\u67e5\u5176 <code>string</code> \u9009\u9879\u7684\u62fc\u5199\uff08Dominik Czarnota\uff09<a href=\"https://postgr.es/c/870ad6a59\">\u00a7</a></p>", "text": "\u4f7f json[b]_to_tsvector() \u5b8c\u6574\u68c0\u67e5\u5176 string \u9009\u9879\u7684\u62fc\u5199\uff08Dominik Czarnota\uff09\u00a7", "title": "\u4f7f json[b]_to_tsvector() \u5b8c\u6574\u68c0\u67e5\u5176 string \u9009\u9879\u7684\u62fc\u5199", "commits": ["870ad6a59"], "section": "\u517c\u5bb9\u6027", "category": "compatibility", "source_url": "/docs/release/13.0/#id-1.11.6.29.4", "source_hash": "3579faf3bac4ad82fadaa4a0d1357b7b6044b0b0788992215f1bb1ba52e40790", "section_path": ["\u517c\u5bb9\u6027"], "commit_groups": [["870ad6a59"]], "identity_text": "Make json[b]_to_tsvector() fully check the spelling of its string option (Dominik Czarnota)", "commit_aliases": ["870ad6a59"], "source_commits": ["870ad6a59"], "source_entry_id": "13.0/migration/002", "db_id": "e2cf4b32f04aff6b7c45a6ae1c7e99ce", "patch_ids": ["616c06ded99aeeb20cbb2862ee8abe37"], "statement_hash": "c9c9edb5e2391b4403d18b698234c6d9f4cf3a615017875b508fec85deda544b", "relations": [], "category_label": "\u517c\u5bb9\u6027\u53d8\u5316", "url": "/docs/compare/?release=13.0#13.0-cff16c52bc843914", "migration": true}, {"id": "13.0-5efddc7fe669340c", "cves": [], "html": "<p>\u6539\u53d8\u975e\u9ed8\u8ba4\u7684<a href=\"/docs/13/runtime-config-resource.html#GUC-EFFECTIVE-IO-CONCURRENCY\">effective_io_concurrency</a>\u503c\u5f71\u54cd\u5e76\u53d1\u5ea6\u7684\u65b9\u5f0f\uff08Thomas Munro\uff09<a href=\"https://postgr.es/c/b09ff5366\">\u00a7</a></p>\n<p>\u4ee5\u524d\uff0c\u8be5\u503c\u5728\u7528\u4e8e\u8bbe\u7f6e\u5e76\u53d1\u8bf7\u6c42\u6570\u4e4b\u524d\u4f1a\u7ecf\u8fc7\u8c03\u6574\u3002\u73b0\u5728\u76f4\u63a5\u4f7f\u7528\u8be5\u503c\u3002\u53ef\u4ee5\u901a\u8fc7\u4ee5\u4e0b\u65b9\u5f0f\u5c06\u65e7\u503c\u8f6c\u6362\u4e3a\u65b0\u503c\uff1a</p>\n<pre>SELECT round(sum(<em><code>OLDVALUE</code></em> / n::float)) AS newvalue FROM generate_series(1, <em><code>OLDVALUE</code></em>) s(n);\n</pre>", "text": "\u6539\u53d8\u975e\u9ed8\u8ba4\u7684effective_io_concurrency\u503c\u5f71\u54cd\u5e76\u53d1\u5ea6\u7684\u65b9\u5f0f\uff08Thomas Munro\uff09\u00a7 \u4ee5\u524d\uff0c\u8be5\u503c\u5728\u7528\u4e8e\u8bbe\u7f6e\u5e76\u53d1\u8bf7\u6c42\u6570\u4e4b\u524d\u4f1a\u7ecf\u8fc7\u8c03\u6574\u3002\u73b0\u5728\u76f4\u63a5\u4f7f\u7528\u8be5\u503c\u3002\u53ef\u4ee5\u901a\u8fc7\u4ee5\u4e0b\u65b9\u5f0f\u5c06\u65e7\u503c\u8f6c\u6362\u4e3a\u65b0\u503c\uff1a SELECT round(sum(OLDVALUE / n::float)) AS newvalue FROM generate_series(1, OLDVALUE) s(n);", "title": "\u6539\u53d8\u975e\u9ed8\u8ba4\u7684effective_io_concurrency\u503c\u5f71\u54cd\u5e76\u53d1\u5ea6\u7684\u65b9\u5f0f", "commits": ["b09ff5366"], "section": "\u517c\u5bb9\u6027", "category": "compatibility", "source_url": "/docs/release/13.0/#id-1.11.6.29.4", "source_hash": "887d98f1c5f3458eeca123ae4b8ef91d64967e790cff24b3841e20144be679d8", "section_path": ["\u517c\u5bb9\u6027"], "commit_groups": [["b09ff5366"]], "identity_text": "Change the way non-default guc-effective-io-concurrency values affect concurrency (Thomas Munro) Previously, this value was adjusted before setting the number of concurrent requests. The value is now used directly. Conversion of old values to new ones can be done using: SELECT round(sum(OLDVALUE / n::float)) AS newvalue FROM generate_series(1, OLDVALUE) s(n);", "commit_aliases": ["b09ff5366"], "source_commits": ["b09ff5366"], "source_entry_id": "13.0/migration/003", "db_id": "62eeb3605c46c2db1d264b35b8f0eb40", "patch_ids": ["09811ae59f6e55e41d6231afcb24cf3b"], "statement_hash": "86f867b4d46c0f6eb3c9078cc12c90da564979ed93bf6b5d74c99015dd62daf6", "relations": [], "category_label": "\u517c\u5bb9\u6027\u53d8\u5316", "url": "/docs/compare/?release=13.0#13.0-5efddc7fe669340c", "migration": true}, {"id": "13.0-d3d1409eb3c66993", "cves": [], "html": "<p>\u4e0d\u518d\u5728<a href=\"/docs/13/monitoring-stats.html#PG-STAT-SSL-VIEW\" title=\"\u8868\u00a027.17.\u00a0pg_stat_ssl \u89c6\u56fe\">pg_stat_ssl</a>\u548c<a href=\"/docs/13/monitoring-stats.html#PG-STAT-GSSAPI-VIEW\" title=\"\u8868\u00a027.18.\u00a0pg_stat_gssapi \u89c6\u56fe\">pg_stat_gssapi</a>\u7cfb\u7edf\u89c6\u56fe\u4e2d\u663e\u793a\u8f85\u52a9\u8fdb\u7a0b\uff08Euler Taveira\uff09<a href=\"https://postgr.es/c/5c46e7d82\">\u00a7</a></p>\n<p>\u5982\u679c\u67e5\u8be2\u5c06\u8fd9\u4e9b\u89c6\u56fe\u4e0e<a href=\"/docs/13/monitoring-stats.html#PG-STAT-ACTIVITY-VIEW\" title=\"\u8868\u00a027.3.\u00a0pg_stat_activity \u89c6\u56fe\">pg_stat_activity</a>\u8fde\u63a5\uff0c\u5e76\u5e0c\u671b\u770b\u5230\u8f85\u52a9\u8fdb\u7a0b\uff0c\u5c31\u9700\u8981\u4f7f\u7528\u5de6\u8fde\u63a5\u3002</p>", "text": "\u4e0d\u518d\u5728pg_stat_ssl\u548cpg_stat_gssapi\u7cfb\u7edf\u89c6\u56fe\u4e2d\u663e\u793a\u8f85\u52a9\u8fdb\u7a0b\uff08Euler Taveira\uff09\u00a7 \u5982\u679c\u67e5\u8be2\u5c06\u8fd9\u4e9b\u89c6\u56fe\u4e0epg_stat_activity\u8fde\u63a5\uff0c\u5e76\u5e0c\u671b\u770b\u5230\u8f85\u52a9\u8fdb\u7a0b\uff0c\u5c31\u9700\u8981\u4f7f\u7528\u5de6\u8fde\u63a5\u3002", "title": "\u4e0d\u518d\u5728pg_stat_ssl\u548cpg_stat_gssapi\u7cfb\u7edf\u89c6\u56fe\u4e2d\u663e\u793a\u8f85\u52a9\u8fdb\u7a0b", "commits": ["5c46e7d82"], "section": "\u517c\u5bb9\u6027", "category": "compatibility", "source_url": "/docs/release/13.0/#id-1.11.6.29.4", "source_hash": "f143a020e659d77b071b21ca82777b03a4905c81240c8b6733a7b3067f59a8ed", "section_path": ["\u517c\u5bb9\u6027"], "commit_groups": [["5c46e7d82"]], "identity_text": "Prevent display of auxiliary processes in pg-stat-ssl-view and pg-stat-gssapi-view system views (Euler Taveira) Queries that join these views to pg-stat-activity-view and wish to see auxiliary processes will need to use left joins.", "commit_aliases": ["5c46e7d82"], "source_commits": ["5c46e7d82"], "source_entry_id": "13.0/migration/004", "db_id": "9313d0f386baf2e63f4d460b3f905624", "patch_ids": ["96747b44433d92350891ffedfc74bea6"], "statement_hash": "c8cd602d26bb43a8b55cdedc086a5b8f103cbcfcc8b07d3afe9ad23f0f0d5648", "relations": [], "category_label": "\u517c\u5bb9\u6027\u53d8\u5316", "url": "/docs/compare/?release=13.0#13.0-d3d1409eb3c66993", "migration": true}, {"id": "13.0-300271e52a32d70f", "cves": [], "html": "<p>\u91cd\u547d\u540d\u591a\u79cd<a href=\"/docs/13/monitoring-stats.html#WAIT-EVENT-TABLE\" title=\"\u8868\u00a027.4.\u00a0\u7b49\u5f85\u4e8b\u4ef6\u7c7b\u578b\">\u7b49\u5f85\u4e8b\u4ef6</a>\u4ee5\u63d0\u9ad8\u4e00\u81f4\u6027\uff08Fujii Masao\uff0cTom Lane\uff09<a href=\"https://postgr.es/c/1d253bae5\">\u00a7</a> <a href=\"https://postgr.es/c/36ac359d3\">\u00a7</a> <a href=\"https://postgr.es/c/474e7da64\">\u00a7</a> <a href=\"https://postgr.es/c/14a910109\">\u00a7</a> <a href=\"https://postgr.es/c/3048898e7\">\u00a7</a></p>", "text": "\u91cd\u547d\u540d\u591a\u79cd\u7b49\u5f85\u4e8b\u4ef6\u4ee5\u63d0\u9ad8\u4e00\u81f4\u6027\uff08Fujii Masao\uff0cTom Lane\uff09\u00a7 \u00a7 \u00a7 \u00a7 \u00a7", "title": "\u91cd\u547d\u540d\u591a\u79cd\u7b49\u5f85\u4e8b\u4ef6\u4ee5\u63d0\u9ad8\u4e00\u81f4\u6027", "commits": ["14a910109", "1d253bae5", "3048898e7", "36ac359d3", "474e7da64"], "section": "\u517c\u5bb9\u6027", "category": "compatibility", "source_url": "/docs/release/13.0/#id-1.11.6.29.4", "source_hash": "71f0d0c1714b7dbcd63c7a1cf2b14a54dc09ff4fd9606d66064c5f930bcc8d5d", "section_path": ["\u517c\u5bb9\u6027"], "commit_groups": [["14a910109"], ["1d253bae5"], ["3048898e7"], ["36ac359d3"], ["474e7da64"]], "identity_text": "Rename various wait events to improve consistency (Fujii Masao, Tom Lane)", "commit_aliases": ["14a910109", "1d253bae5", "3048898e7", "36ac359d3", "474e7da64"], "source_commits": ["14a910109", "1d253bae5", "3048898e7", "36ac359d3", "474e7da64"], "source_entry_id": "13.0/migration/005", "db_id": "f1444cb151ee5ea496b7e4b3275b2b25", "patch_ids": ["195ace185d7f5b3a4da50890b98068c0", "243bd4fa4d8a5f651aab0f2ea7eb5404", "4217cca386c79401079c66baa5b24ded", "46cc2e60fc20da950850633e14c8925c", "c638cb4d385eefbf24b61f62574666cd"], "statement_hash": "34b21a81588e567c1ea58fc48e626cb5838521aea92107512b2f2c9d37de94ef", "relations": [], "category_label": "\u517c\u5bb9\u6027\u53d8\u5316", "url": "/docs/compare/?release=13.0#13.0-300271e52a32d70f", "migration": true}, {"id": "13.0-315c02f83f3e1e65-1", "cves": [], "html": "<p>\u4fee\u590d <a href=\"/docs/13/sql-alterforeigntable.html\" title=\"ALTER FOREIGN TABLE\"><code>ALTER FOREIGN TABLE ... RENAME COLUMN</code></a>\uff0c\u4f7f\u5176\u8fd4\u56de\u66f4\u5408\u9002\u7684\u547d\u4ee4\u6807\u7b7e\uff08Fujii Masao\uff09<a href=\"https://postgr.es/c/979766c0a\">\u00a7</a></p>\n<p>\u4ee5\u524d\u8fd4\u56de <code>ALTER TABLE</code>\uff1b\u73b0\u5728\u8fd4\u56de <code>ALTER FOREIGN TABLE</code>\u3002</p>", "text": "\u4fee\u590d ALTER FOREIGN TABLE ... RENAME COLUMN\uff0c\u4f7f\u5176\u8fd4\u56de\u66f4\u5408\u9002\u7684\u547d\u4ee4\u6807\u7b7e\uff08Fujii Masao\uff09\u00a7 \u4ee5\u524d\u8fd4\u56de ALTER TABLE\uff1b\u73b0\u5728\u8fd4\u56de ALTER FOREIGN TABLE\u3002", "title": "\u4fee\u590d ALTER FOREIGN TABLE ... RENAME COLUMN\uff0c\u4f7f\u5176\u8fd4\u56de\u66f4\u5408\u9002\u7684\u547d\u4ee4\u6807\u7b7e", "commits": ["979766c0a"], "section": "\u517c\u5bb9\u6027", "category": "compatibility", "source_url": "/docs/release/13.0/#id-1.11.6.29.4", "source_hash": "5bdff730d497c3ae85e39ee89a7b7abc3156b283e8df56bca59a9568cf0da75b", "section_path": ["\u517c\u5bb9\u6027"], "commit_groups": [["979766c0a"]], "identity_text": "Fix ALTER FOREIGN TABLE ... RENAME COLUMN to return a more appropriate command tag (Fujii Masao) Previously it returned ALTER TABLE; now it returns ALTER FOREIGN TABLE.", "commit_aliases": ["979766c0a"], "source_commits": ["979766c0a"], "source_entry_id": "13.0/migration/006", "db_id": "51e4db761d371a4c2f201d0fc7486749", "patch_ids": ["8f4a02aa3d3a1d5200b89b1e95bc7cce"], "statement_hash": "0768a9870e858df0edac2ef034cd7a05b7035a71d4f77bed4b06817e2efd7286", "relations": [{"rule": 2, "type": "related", "target": "cbfeffa69ae1858c0ab9cb978bcb4d69", "evidence": {"same_day": true, "patch_ids": ["8f4a02aa3d3a1d5200b89b1e95bc7cce"], "ambiguous_patch_ids": ["8f4a02aa3d3a1d5200b89b1e95bc7cce"]}}], "category_label": "\u517c\u5bb9\u6027\u53d8\u5316", "url": "/docs/compare/?release=13.0#13.0-315c02f83f3e1e65-1", "migration": true}, {"id": "13.0-315c02f83f3e1e65-2", "cves": [], "html": "<p>\u4fee\u590d <a href=\"/docs/13/sql-altermaterializedview.html\" title=\"ALTER MATERIALIZED VIEW\"><code>ALTER MATERIALIZED VIEW ... RENAME COLUMN</code></a>\uff0c\u4f7f\u5176\u8fd4\u56de\u66f4\u5408\u9002\u7684\u547d\u4ee4\u6807\u7b7e\uff08Fujii Masao\uff09<a href=\"https://postgr.es/c/979766c0a\">\u00a7</a></p>\n<p>\u4ee5\u524d\u8fd4\u56de <code>ALTER TABLE</code>\uff1b\u73b0\u5728\u8fd4\u56de <code>ALTER MATERIALIZED VIEW</code>\u3002</p>", "text": "\u4fee\u590d ALTER MATERIALIZED VIEW ... RENAME COLUMN\uff0c\u4f7f\u5176\u8fd4\u56de\u66f4\u5408\u9002\u7684\u547d\u4ee4\u6807\u7b7e\uff08Fujii Masao\uff09\u00a7 \u4ee5\u524d\u8fd4\u56de ALTER TABLE\uff1b\u73b0\u5728\u8fd4\u56de ALTER MATERIALIZED VIEW\u3002", "title": "\u4fee\u590d ALTER MATERIALIZED VIEW ... RENAME COLUMN\uff0c\u4f7f\u5176\u8fd4\u56de\u66f4\u5408\u9002\u7684\u547d\u4ee4\u6807\u7b7e", "commits": ["979766c0a"], "section": "\u517c\u5bb9\u6027", "category": "compatibility", "source_url": "/docs/release/13.0/#id-1.11.6.29.4", "source_hash": "52bec337a7f0afd45589a781987131e7852b81e00da5df8494e52a4b03e4d31f", "section_path": ["\u517c\u5bb9\u6027"], "commit_groups": [["979766c0a"]], "identity_text": "Fix ALTER MATERIALIZED VIEW ... RENAME COLUMN to return a more appropriate command tag (Fujii Masao) Previously it returned ALTER TABLE; now it returns ALTER MATERIALIZED VIEW.", "commit_aliases": ["979766c0a"], "source_commits": ["979766c0a"], "source_entry_id": "13.0/migration/007", "db_id": "cbfeffa69ae1858c0ab9cb978bcb4d69", "patch_ids": ["8f4a02aa3d3a1d5200b89b1e95bc7cce"], "statement_hash": "88ff6676d694c92a6cf84342a67f2b565f4d6ac51be5312b8b474314f5fa0d7c", "relations": [{"rule": 2, "type": "related", "target": "51e4db761d371a4c2f201d0fc7486749", "evidence": {"same_day": true, "patch_ids": ["8f4a02aa3d3a1d5200b89b1e95bc7cce"], "ambiguous_patch_ids": ["8f4a02aa3d3a1d5200b89b1e95bc7cce"]}}], "category_label": "\u517c\u5bb9\u6027\u53d8\u5316", "url": "/docs/compare/?release=13.0#13.0-315c02f83f3e1e65-2", "migration": true}, {"id": "13.0-611ec07ad6a9e83c", "cves": [], "html": "<p>\u5c06\u914d\u7f6e\u53c2\u6570 <code>wal_keep_segments</code> \u91cd\u547d\u540d\u4e3a<a href=\"/docs/13/runtime-config-replication.html#GUC-WAL-KEEP-SIZE\">wal_keep_size</a>\uff08Fujii Masao\uff09<a href=\"https://postgr.es/c/f5dff45962\">\u00a7</a></p>\n<p>\u8fd9\u51b3\u5b9a\u4e3a\u5907\u5e93\u4fdd\u7559\u591a\u5c11 WAL\u3002\u5b83\u4ee5 MB \u4e3a\u5355\u4f4d\u6307\u5b9a\uff0c\u800c\u65e7\u53c2\u6570\u4ee5\u6587\u4ef6\u6570\u91cf\u6307\u5b9a\u3002\u5982\u679c\u4ee5\u524d\u4f7f\u7528 <code>wal_keep_segments</code>\uff0c\u4ee5\u4e0b\u516c\u5f0f\u53ef\u4ee5\u5f97\u5230\u5927\u81f4\u7b49\u4ef7\u7684\u8bbe\u7f6e\uff1a</p>\n<pre>wal_keep_size = wal_keep_segments * wal_segment_size (typically 16MB)\n</pre>", "text": "\u5c06\u914d\u7f6e\u53c2\u6570 wal_keep_segments \u91cd\u547d\u540d\u4e3awal_keep_size\uff08Fujii Masao\uff09\u00a7 \u8fd9\u51b3\u5b9a\u4e3a\u5907\u5e93\u4fdd\u7559\u591a\u5c11 WAL\u3002\u5b83\u4ee5 MB \u4e3a\u5355\u4f4d\u6307\u5b9a\uff0c\u800c\u65e7\u53c2\u6570\u4ee5\u6587\u4ef6\u6570\u91cf\u6307\u5b9a\u3002\u5982\u679c\u4ee5\u524d\u4f7f\u7528 wal_keep_segments\uff0c\u4ee5\u4e0b\u516c\u5f0f\u53ef\u4ee5\u5f97\u5230\u5927\u81f4\u7b49\u4ef7\u7684\u8bbe\u7f6e\uff1a wal_keep_size = wal_keep_segments * wal_segment_size (typically 16MB)", "title": "\u5c06\u914d\u7f6e\u53c2\u6570 wal_keep_segments \u91cd\u547d\u540d\u4e3awal_keep_size", "commits": ["f5dff45962"], "section": "\u517c\u5bb9\u6027", "category": "compatibility", "source_url": "/docs/release/13.0/#id-1.11.6.29.4", "source_hash": "5247db2ac5fe00062643e042cf5fa48abbadabf2d713b848e51877e0a199da8e", "section_path": ["\u517c\u5bb9\u6027"], "commit_groups": [["f5dff45962"]], "identity_text": "Rename configuration parameter wal_keep_segments to guc-wal-keep-size (Fujii Masao) This determines how much WAL to retain for standby servers. It is specified in megabytes, rather than number of files as with the old parameter. If you previously used wal_keep_segments, the following formula will give you an approximately equivalent setting: wal_keep_size = wal_keep_segments * wal_segment_size (typically 16MB)", "commit_aliases": ["f5dff45962"], "source_commits": ["f5dff45962"], "source_entry_id": "13.0/migration/008", "db_id": "87d08c201e2ac67f6d62188bb16926b9", "patch_ids": ["fea7ca80079c4413db2f8830f6353864"], "statement_hash": "83a238007d82d98ff7e12463b63c4b4c41cfe26f20e00841e3f2a08a5010dab1", "relations": [], "category_label": "\u517c\u5bb9\u6027\u53d8\u5316", "url": "/docs/compare/?release=13.0#13.0-611ec07ad6a9e83c", "migration": true}, {"id": "13.0-0deec1e0e7129d4b", "cves": [], "html": "<p>\u79fb\u9664\u4f7f\u7528 <span>PostgreSQL</span> 8.0 \u4e4b\u524d\u7684\u8bed\u6cd5\u5b9a\u4e49<a href=\"/docs/13/sql-createopclass.html\" title=\"CREATE OPERATOR CLASS\">\u64cd\u4f5c\u7b26\u7c7b</a>\u7684\u652f\u6301\uff08Daniel Gustafsson\uff09<a href=\"https://postgr.es/c/84eca14bc\">\u00a7</a></p>", "text": "\u79fb\u9664\u4f7f\u7528 PostgreSQL 8.0 \u4e4b\u524d\u7684\u8bed\u6cd5\u5b9a\u4e49\u64cd\u4f5c\u7b26\u7c7b\u7684\u652f\u6301\uff08Daniel Gustafsson\uff09\u00a7", "title": "\u79fb\u9664\u4f7f\u7528 PostgreSQL 8.0 \u4e4b\u524d\u7684\u8bed\u6cd5\u5b9a\u4e49\u64cd\u4f5c\u7b26\u7c7b\u7684\u652f\u6301", "commits": ["84eca14bc"], "section": "\u517c\u5bb9\u6027", "category": "compatibility", "source_url": "/docs/release/13.0/#id-1.11.6.29.4", "source_hash": "74187af3391ddc0fa17fd55f5a5429942075681f777a0a8aa884e76e0ac5255e", "section_path": ["\u517c\u5bb9\u6027"], "commit_groups": [["84eca14bc"]], "identity_text": "Remove support for defining operator classes using pre-PostgreSQL 8.0 syntax (Daniel Gustafsson)", "commit_aliases": ["84eca14bc"], "source_commits": ["84eca14bc"], "source_entry_id": "13.0/migration/009", "db_id": "00cdd4565943a99c71ac24dd72c69a5d", "patch_ids": ["462d626bf85e27e1ecf4e17d1b973712"], "statement_hash": "4d1c6b3a631af6a14564f453c23960f5730654034dcc77957fbe83be5df44ffb", "relations": [], "category_label": "\u517c\u5bb9\u6027\u53d8\u5316", "url": "/docs/compare/?release=13.0#13.0-0deec1e0e7129d4b", "migration": true}, {"id": "13.0-181ce8a6cc7d16d5", "cves": [], "html": "<p>\u79fb\u9664\u4f7f\u7528 <span>PostgreSQL</span> 7.3 \u4e4b\u524d\u7684\u8bed\u6cd5\u5b9a\u4e49<a href=\"/docs/13/sql-altertable.html\" title=\"ALTER TABLE\">\u5916\u952e\u7ea6\u675f</a>\u7684\u652f\u6301\uff08Daniel Gustafsson\uff09<a href=\"https://postgr.es/c/e58a59975\">\u00a7</a></p>", "text": "\u79fb\u9664\u4f7f\u7528 PostgreSQL 7.3 \u4e4b\u524d\u7684\u8bed\u6cd5\u5b9a\u4e49\u5916\u952e\u7ea6\u675f\u7684\u652f\u6301\uff08Daniel Gustafsson\uff09\u00a7", "title": "\u79fb\u9664\u4f7f\u7528 PostgreSQL 7.3 \u4e4b\u524d\u7684\u8bed\u6cd5\u5b9a\u4e49\u5916\u952e\u7ea6\u675f\u7684\u652f\u6301", "commits": ["e58a59975"], "section": "\u517c\u5bb9\u6027", "category": "compatibility", "source_url": "/docs/release/13.0/#id-1.11.6.29.4", "source_hash": "62c50582b07ca26907178805fd3733688c10bafc434eaeb087814b47ff5198bd", "section_path": ["\u517c\u5bb9\u6027"], "commit_groups": [["e58a59975"]], "identity_text": "Remove support for defining foreign key constraints using pre-PostgreSQL 7.3 syntax (Daniel Gustafsson)", "commit_aliases": ["e58a59975"], "source_commits": ["e58a59975"], "source_entry_id": "13.0/migration/010", "db_id": "a4731981520d809b1764f36804869b0f", "patch_ids": ["b01af42c52dd802bb31bd86bdef135c6"], "statement_hash": "d1988126fb6693abe4be81ca0189d490c9b271a8b56ba72b11a717bc61458ea2", "relations": [], "category_label": "\u517c\u5bb9\u6027\u53d8\u5316", "url": "/docs/compare/?release=13.0#13.0-181ce8a6cc7d16d5", "migration": true}, {"id": "13.0-a4c99539e3f91994", "cves": [], "html": "<p>\u79fb\u9664\u5bf9 <span>PostgreSQL</span> 7.3 \u4e4b\u524d\u7684\u670d\u52a1\u5668\u6240\u4f7f\u7528\u7684 \"opaque\" <a href=\"/docs/13/sql-createtype.html\" title=\"CREATE TYPE\">\u4f2a\u7c7b\u578b</a>\u7684\u652f\u6301\uff08Daniel Gustafsson\uff09<a href=\"https://postgr.es/c/bb03010b9\">\u00a7</a></p>", "text": "\u79fb\u9664\u5bf9 PostgreSQL 7.3 \u4e4b\u524d\u7684\u670d\u52a1\u5668\u6240\u4f7f\u7528\u7684 \"opaque\" \u4f2a\u7c7b\u578b\u7684\u652f\u6301\uff08Daniel Gustafsson\uff09\u00a7", "title": "\u79fb\u9664\u5bf9 PostgreSQL 7.3 \u4e4b\u524d\u7684\u670d\u52a1\u5668\u6240\u4f7f\u7528\u7684 \"opaque\" \u4f2a\u7c7b\u578b\u7684\u652f\u6301", "commits": ["bb03010b9"], "section": "\u517c\u5bb9\u6027", "category": "compatibility", "source_url": "/docs/release/13.0/#id-1.11.6.29.4", "source_hash": "62be98f085cfb7121765762115068cf66f6e71ff82615faf7b3aabfbf4026cd8", "section_path": ["\u517c\u5bb9\u6027"], "commit_groups": [["bb03010b9"]], "identity_text": "Remove support for \"opaque\" pseudo-types used by pre-PostgreSQL 7.3 servers (Daniel Gustafsson)", "commit_aliases": ["bb03010b9"], "source_commits": ["bb03010b9"], "source_entry_id": "13.0/migration/011", "db_id": "a17abaa2942f10365a93775b57760c98", "patch_ids": ["841feb81d4817adce792d43370b2b3a1"], "statement_hash": "6d8b1f94d19be6214cb12adaf11ef0b636519d57ceb8e6d43819cb6d5457a05b", "relations": [], "category_label": "\u517c\u5bb9\u6027\u53d8\u5316", "url": "/docs/compare/?release=13.0#13.0-a4c99539e3f91994", "migration": true}, {"id": "13.0-e0e2f90b4addfeae", "cves": [], "html": "<p>\u79fb\u9664\u5bf9\u5347\u7ea7\u672a\u6253\u5305\u6269\u5c55\uff089.1 \u4e4b\u524d\u7684\u6269\u5c55\uff09\u7684\u652f\u6301\uff08Tom Lane\uff09<a href=\"https://postgr.es/c/70a773200\">\u00a7</a></p>\n<p><a href=\"/docs/13/sql-createextension.html\" title=\"CREATE EXTENSION\"><code>CREATE EXTENSION</code></a> \u4e0d\u518d\u652f\u6301 <code>FROM</code> \u9009\u9879\u3002\u4efb\u4f55\u4ecd\u4f7f\u7528\u672a\u6253\u5305\u6269\u5c55\u7684\u5b89\u88c5\u5b9e\u4f8b\uff0c\u90fd\u5e94\u5728\u66f4\u65b0\u5230 <span>PostgreSQL</span> 13 \u4e4b\u524d\uff0c\u5c06\u8fd9\u4e9b\u6269\u5c55\u5347\u7ea7\u4e3a\u5df2\u6253\u5305\u7684\u7248\u672c\u3002</p>", "text": "\u79fb\u9664\u5bf9\u5347\u7ea7\u672a\u6253\u5305\u6269\u5c55\uff089.1 \u4e4b\u524d\u7684\u6269\u5c55\uff09\u7684\u652f\u6301\uff08Tom Lane\uff09\u00a7 CREATE EXTENSION \u4e0d\u518d\u652f\u6301 FROM \u9009\u9879\u3002\u4efb\u4f55\u4ecd\u4f7f\u7528\u672a\u6253\u5305\u6269\u5c55\u7684\u5b89\u88c5\u5b9e\u4f8b\uff0c\u90fd\u5e94\u5728\u66f4\u65b0\u5230 PostgreSQL 13 \u4e4b\u524d\uff0c\u5c06\u8fd9\u4e9b\u6269\u5c55\u5347\u7ea7\u4e3a\u5df2\u6253\u5305\u7684\u7248\u672c\u3002", "title": "\u79fb\u9664\u5bf9\u5347\u7ea7\u672a\u6253\u5305\u6269\u5c55\uff089.1 \u4e4b\u524d\u7684\u6269\u5c55\uff09\u7684\u652f\u6301", "commits": ["70a773200"], "section": "\u517c\u5bb9\u6027", "category": "compatibility", "source_url": "/docs/release/13.0/#id-1.11.6.29.4", "source_hash": "6a8c53b62999753cb82cabf7dd9d03ebf3d23513e393ac50577d3507e7ffb9a7", "section_path": ["\u517c\u5bb9\u6027"], "commit_groups": [["70a773200"]], "identity_text": "Remove support for upgrading unpackaged (pre-9.1) extensions (Tom Lane) The FROM option of CREATE EXTENSION is no longer supported. Any installations still using unpackaged extensions should upgrade them to a packaged version before updating to PostgreSQL 13.", "commit_aliases": ["70a773200"], "source_commits": ["70a773200"], "source_entry_id": "13.0/migration/012", "db_id": "358f1a2edb8d44d028ddbb5a723810cd", "patch_ids": ["b55d5d8f2beb4548aa95c9d237e10be3"], "statement_hash": "f1cd8cea4ecd03f359eb207b8a8d3f1fca26f5dfba1b008abd1645847a92d139", "relations": [], "category_label": "\u517c\u5bb9\u6027\u53d8\u5316", "url": "/docs/compare/?release=13.0#13.0-e0e2f90b4addfeae", "migration": true}, {"id": "13.0-c5adedfa4dad8bb1", "cves": [], "html": "<p>\u79fb\u9664\u5bf9\u65f6\u533a\u6570\u636e\u5e93\u4e2d <code>posixrules</code> \u6587\u4ef6\u7684\u652f\u6301\uff08Tom Lane\uff09<a href=\"https://postgr.es/c/21aac2ff9\">\u00a7</a></p>\n<p>IANA \u7684\u65f6\u533a\u5de5\u4f5c\u7ec4\u5df2\u5f03\u7528\u6b64\u7279\u6027\uff0c\u8fd9\u610f\u5473\u7740\u5b83\u5c06\u5728\u672a\u6765\u51e0\u5e74\u4e2d\u9010\u6e10\u4ece\u7cfb\u7edf\u7684\u65f6\u533a\u6570\u636e\u5e93\u4e2d\u6d88\u5931\u3002\u4e3a\u907f\u514d\u65f6\u533a\u6570\u636e\u66f4\u65b0\u610f\u5916\u5f15\u53d1\u884c\u4e3a\u53d8\u5316\uff0c\u6211\u4eec\u4ece\u7248\u672c 13 \u5f00\u59cb\u79fb\u9664\u4e86 <span>PostgreSQL</span> \u5bf9\u6b64\u7279\u6027\u7684\u652f\u6301\u3002\u8fd9\u53ea\u5f71\u54cd\u7f3a\u5c11\u663e\u5f0f\u590f\u4ee4\u65f6\u5207\u6362\u89c4\u5219\u7684 <a href=\"/docs/13/datetime-posix-timezone-specs.html\" title=\"B.5.\u00a0POSIX \u65f6\u533a\u89c4\u8303\">POSIX \u98ce\u683c\u65f6\u533a\u6307\u5b9a</a>\u7684\u884c\u4e3a\uff1b\u4ee5\u524d\u53ef\u4ee5\u901a\u8fc7\u5b89\u88c5\u81ea\u5b9a\u4e49 <code>posixrules</code> \u6587\u4ef6\u6765\u786e\u5b9a\u5207\u6362\u89c4\u5219\uff0c\u73b0\u5728\u5219\u4f7f\u7528\u786c\u7f16\u7801\u89c4\u5219\u3002\u5bf9\u4e8e\u53d7\u5f71\u54cd\u7684\u5b89\u88c5\u5b9e\u4f8b\uff0c\u5efa\u8bae\u6539\u7528\u5730\u7406\u65f6\u533a\u540d\u79f0\u3002</p>", "text": "\u79fb\u9664\u5bf9\u65f6\u533a\u6570\u636e\u5e93\u4e2d posixrules \u6587\u4ef6\u7684\u652f\u6301\uff08Tom Lane\uff09\u00a7 IANA \u7684\u65f6\u533a\u5de5\u4f5c\u7ec4\u5df2\u5f03\u7528\u6b64\u7279\u6027\uff0c\u8fd9\u610f\u5473\u7740\u5b83\u5c06\u5728\u672a\u6765\u51e0\u5e74\u4e2d\u9010\u6e10\u4ece\u7cfb\u7edf\u7684\u65f6\u533a\u6570\u636e\u5e93\u4e2d\u6d88\u5931\u3002\u4e3a\u907f\u514d\u65f6\u533a\u6570\u636e\u66f4\u65b0\u610f\u5916\u5f15\u53d1\u884c\u4e3a\u53d8\u5316\uff0c\u6211\u4eec\u4ece\u7248\u672c 13 \u5f00\u59cb\u79fb\u9664\u4e86 PostgreSQL \u5bf9\u6b64\u7279\u6027\u7684\u652f\u6301\u3002\u8fd9\u53ea\u5f71\u54cd\u7f3a\u5c11\u663e\u5f0f\u590f\u4ee4\u65f6\u5207\u6362\u89c4\u5219\u7684 POSIX \u98ce\u683c\u65f6\u533a\u6307\u5b9a\u7684\u884c\u4e3a\uff1b\u4ee5\u524d\u53ef\u4ee5\u901a\u8fc7\u5b89\u88c5\u81ea\u5b9a\u4e49 posixrules \u6587\u4ef6\u6765\u786e\u5b9a\u5207\u6362\u89c4\u5219\uff0c\u73b0\u5728\u5219\u4f7f\u7528\u786c\u7f16\u7801\u89c4\u5219\u3002\u5bf9\u4e8e\u53d7\u5f71\u54cd\u7684\u5b89\u88c5\u5b9e\u4f8b\uff0c\u5efa\u8bae\u6539\u7528\u5730\u7406\u65f6\u533a\u540d\u79f0\u3002", "title": "\u79fb\u9664\u5bf9\u65f6\u533a\u6570\u636e\u5e93\u4e2d posixrules \u6587\u4ef6\u7684\u652f\u6301", "commits": ["21aac2ff9"], "section": "\u517c\u5bb9\u6027", "category": "compatibility", "source_url": "/docs/release/13.0/#id-1.11.6.29.4", "source_hash": "51daf2ed426c4469ed563daea3d2df20e679e49787cd6352fd64256cde12464e", "section_path": ["\u517c\u5bb9\u6027"], "commit_groups": [["21aac2ff9"]], "identity_text": "Remove support for posixrules files in the timezone database (Tom Lane) IANA's timezone group has deprecated this feature, meaning that it will gradually disappear from systems' timezone databases over the next few years. Rather than have a behavioral change appear unexpectedly with a timezone data update, we have removed PostgreSQL's support for this feature as of version 13. This affects only the behavior of POSIX-style time zone specifications that lack an explicit daylight savings transition rule; formerly the transition rule could be determined by installing a custom posixrules file, but now it is hard-wired. The recommended fix for any affected installations is to start using a geographical time zone name.", "commit_aliases": ["21aac2ff9"], "source_commits": ["21aac2ff9"], "source_entry_id": "13.0/migration/013", "db_id": "c6a108a84b372a96c616b764a8c2e29f", "patch_ids": ["4c3cb7db97952e6ee49b12bec6ee41ff"], "statement_hash": "8c1eb545f9ac635f1a57b569d3e2687ede939d7c6553ad81d8574d9024741f5d", "relations": [], "category_label": "\u517c\u5bb9\u6027\u53d8\u5316", "url": "/docs/compare/?release=13.0#13.0-c5adedfa4dad8bb1", "migration": true}, {"id": "13.0-7969da79516db007", "cves": [], "html": "<p>\u5728<a href=\"/docs/13/ltree.html\" title=\"F.21.\u00a0ltree\">ltree</a>\u4e2d\uff0c\u5f53 <code>lquery</code> \u6a21\u5f0f\u5305\u542b\u76f8\u90bb\u7684\u5e26\u82b1\u62ec\u53f7\u661f\u53f7\u65f6\uff0c\u4f8b\u5982 <code>*{2}.*{3}</code>\uff0c\u5c06\u5176\u6b63\u786e\u89e3\u91ca\u4e3a <code>*{5}</code>\uff08Nikita Glukhov\uff09<a href=\"https://postgr.es/c/9950c8aad\">\u00a7</a></p>", "text": "\u5728ltree\u4e2d\uff0c\u5f53 lquery \u6a21\u5f0f\u5305\u542b\u76f8\u90bb\u7684\u5e26\u82b1\u62ec\u53f7\u661f\u53f7\u65f6\uff0c\u4f8b\u5982 *{2}.*{3}\uff0c\u5c06\u5176\u6b63\u786e\u89e3\u91ca\u4e3a *{5}\uff08Nikita Glukhov\uff09\u00a7", "title": "\u5728ltree\u4e2d\uff0c\u5f53 lquery \u6a21\u5f0f\u5305\u542b\u76f8\u90bb\u7684\u5e26\u82b1\u62ec\u53f7\u661f\u53f7\u65f6\uff0c\u4f8b\u5982 *{2}.*{3}\uff0c\u5c06\u5176\u6b63\u786e\u89e3\u91ca\u4e3a *{5}", "commits": ["9950c8aad"], "section": "\u517c\u5bb9\u6027", "category": "compatibility", "source_url": "/docs/release/13.0/#id-1.11.6.29.4", "source_hash": "027524cc8373e1c28f7e5f68279308e636b317d16331e88c13cb18d73e1a7d5c", "section_path": ["\u517c\u5bb9\u6027"], "commit_groups": [["9950c8aad"]], "identity_text": "In ltree , when an lquery pattern contains adjacent asterisks with braces, e.g., *{2}.*{3}, properly interpret that as *{5} (Nikita Glukhov)", "commit_aliases": ["9950c8aad"], "source_commits": ["9950c8aad"], "source_entry_id": "13.0/migration/014", "db_id": "1bb06fafe760d8a4f29ad3fc346f4ffd", "patch_ids": ["7f9857baee0ae728daa2cd24a7a21101"], "statement_hash": "5b2d8c3d0f366318ce723a0975f877c1777432850dc2a4cff2606704af9a6e91", "relations": [], "category_label": "\u517c\u5bb9\u6027\u53d8\u5316", "url": "/docs/compare/?release=13.0#13.0-7969da79516db007", "migration": true}, {"id": "13.0-ff7a2c984c3d3a04", "cves": [], "html": "<p>\u4fee\u590d<a href=\"/docs/13/pageinspect.html\" title=\"F.22.\u00a0pageinspect\">pageinspect</a>\u7684 <code>bt_metap()</code>\uff0c\u4f7f\u5176\u8fd4\u56de\u66f4\u5408\u9002\u3001\u4e0d\u6613\u6ea2\u51fa\u7684\u6570\u636e\u7c7b\u578b\uff08Peter Geoghegan\uff09<a href=\"https://postgr.es/c/691e8b2e1\">\u00a7</a></p>", "text": "\u4fee\u590dpageinspect\u7684 bt_metap()\uff0c\u4f7f\u5176\u8fd4\u56de\u66f4\u5408\u9002\u3001\u4e0d\u6613\u6ea2\u51fa\u7684\u6570\u636e\u7c7b\u578b\uff08Peter Geoghegan\uff09\u00a7", "title": "\u4fee\u590dpageinspect\u7684 bt_metap()\uff0c\u4f7f\u5176\u8fd4\u56de\u66f4\u5408\u9002\u3001\u4e0d\u6613\u6ea2\u51fa\u7684\u6570\u636e\u7c7b\u578b", "commits": ["691e8b2e1"], "section": "\u517c\u5bb9\u6027", "category": "compatibility", "source_url": "/docs/release/13.0/#id-1.11.6.29.4", "source_hash": "f7fe09cc788d91411776d1e4528a830323aa9d18c8bc0569e0ccc5d1cde6e7c4", "section_path": ["\u517c\u5bb9\u6027"], "commit_groups": [["691e8b2e1"]], "identity_text": "Fix pageinspect 's bt_metap() to return more appropriate data types that are less likely to overflow (Peter Geoghegan)", "commit_aliases": ["691e8b2e1"], "source_commits": ["691e8b2e1"], "source_entry_id": "13.0/migration/015", "db_id": "30272e62115718c16aea57bf80affb17", "patch_ids": ["cd78a2c4c01e9fc325e81bc87c0418a3"], "statement_hash": "7f36c9d80e20274fcd83d94aae76c3e4b5db2a9d2dfca6246842bc92dbc17498", "relations": [], "category_label": "\u517c\u5bb9\u6027\u53d8\u5316", "url": "/docs/compare/?release=13.0#13.0-ff7a2c984c3d3a04", "migration": true}, {"id": "13.0-ad91b07ce0e06a59", "cves": [], "html": "<p>\u5141\u8bb8\u5728\u66f4\u591a\u60c5\u51b5\u4e0b\u8fdb\u884c\u5206\u533a<a href=\"/docs/13/ddl-partitioning.html#DDL-PARTITION-PRUNING\" title=\"5.11.4.\u00a0\u5206\u533a\u526a\u679d\">\u526a\u679d</a>\uff08Yuzuko Hosoya\uff0cAmit Langote\uff0c\u00c1lvaro Herrera\uff09<a href=\"https://postgr.es/c/4e85642d9\">\u00a7</a> <a href=\"https://postgr.es/c/815ef2f56\">\u00a7</a></p>", "text": "\u5141\u8bb8\u5728\u66f4\u591a\u60c5\u51b5\u4e0b\u8fdb\u884c\u5206\u533a\u526a\u679d\uff08Yuzuko Hosoya\uff0cAmit Langote\uff0c\u00c1lvaro Herrera\uff09\u00a7 \u00a7", "title": "\u5141\u8bb8\u5728\u66f4\u591a\u60c5\u51b5\u4e0b\u8fdb\u884c\u5206\u533a\u526a\u679d", "commits": ["4e85642d9", "815ef2f56"], "section": "\u670d\u52a1\u5668 / \u5206\u533a", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.3.2", "source_hash": "64c3c2751270ec5e94aa97d9bdd63bf4965d68adef735cf6f469eecb0a903365", "section_path": ["\u670d\u52a1\u5668", "\u5206\u533a"], "commit_groups": [["4e85642d9"], ["815ef2f56"]], "identity_text": "Allow pruning of partitions to happen in more cases (Yuzuko Hosoya, Amit Langote, \u00c1lvaro Herrera)", "commit_aliases": ["4e85642d9", "815ef2f56"], "source_commits": ["4e85642d9", "815ef2f56"], "source_entry_id": "13.0/changes/001", "db_id": "1163eca048c7512a1194c404ff4a5d31", "patch_ids": ["8d707c3ed0d6ed27bbc2208ab0715fe4", "be2d57e2e5b19a51edc2d004e9edbae8"], "statement_hash": "80cae61bcf28137813bdf2ee17baac735061de0f672b9bc52d324b7dfd2e7bdd", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-ad91b07ce0e06a59", "migration": false}, {"id": "13.0-a718c78c5f565762", "cves": [], "html": "<p>\u5141\u8bb8\u5728\u66f4\u591a\u60c5\u51b5\u4e0b\u8fdb\u884c<a href=\"/docs/13/runtime-config-query.html#GUC-ENABLE-PARTITIONWISE-JOIN\">\u9010\u5206\u533a\u8fde\u63a5</a>\uff08Ashutosh Bapat\uff0cEtsuro Fujita\uff0cAmit Langote\uff0cTom Lane\uff09<a href=\"https://postgr.es/c/c8434d64c\">\u00a7</a> <a href=\"https://postgr.es/c/981643dcd\">\u00a7</a></p>\n<p>\u4f8b\u5982\uff0c\u5373\u4f7f\u5206\u533a\u8fb9\u754c\u5e76\u4e0d\u5b8c\u5168\u5339\u914d\uff0c\u73b0\u5728\u4e5f\u53ef\u4ee5\u5728\u5206\u533a\u8868\u4e4b\u95f4\u8fdb\u884c\u9010\u5206\u533a\u8fde\u63a5\u3002</p>", "text": "\u5141\u8bb8\u5728\u66f4\u591a\u60c5\u51b5\u4e0b\u8fdb\u884c\u9010\u5206\u533a\u8fde\u63a5\uff08Ashutosh Bapat\uff0cEtsuro Fujita\uff0cAmit Langote\uff0cTom Lane\uff09\u00a7 \u00a7 \u4f8b\u5982\uff0c\u5373\u4f7f\u5206\u533a\u8fb9\u754c\u5e76\u4e0d\u5b8c\u5168\u5339\u914d\uff0c\u73b0\u5728\u4e5f\u53ef\u4ee5\u5728\u5206\u533a\u8868\u4e4b\u95f4\u8fdb\u884c\u9010\u5206\u533a\u8fde\u63a5\u3002", "title": "\u5141\u8bb8\u5728\u66f4\u591a\u60c5\u51b5\u4e0b\u8fdb\u884c\u9010\u5206\u533a\u8fde\u63a5", "commits": ["981643dcd", "c8434d64c"], "section": "\u670d\u52a1\u5668 / \u5206\u533a", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.3.2", "source_hash": "51285655786ce74d28ff0a20fd74ffd1cf0653a8b0dcc273c218ca53b5b410e4", "section_path": ["\u670d\u52a1\u5668", "\u5206\u533a"], "commit_groups": [["981643dcd"], ["c8434d64c"]], "identity_text": "Allow partitionwise joins to happen in more cases (Ashutosh Bapat, Etsuro Fujita, Amit Langote, Tom Lane) For example, partitionwise joins can now happen between partitioned tables even when their partition bounds do not match exactly.", "commit_aliases": ["981643dcd", "c8434d64c"], "source_commits": ["981643dcd", "c8434d64c"], "source_entry_id": "13.0/changes/002", "db_id": "013e9e4c0c64877c23c756c68b800b84", "patch_ids": ["5510e3129a6cd5fd7303183bb169773b", "cea05edc62e6634bae9280680618d3e9"], "statement_hash": "97d3c09ac8016dd55ea466ff69ec48804edf66491d17f9a611dda4ab420aca60", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-a718c78c5f565762", "migration": false}, {"id": "13.0-672ee0b9193bfb24", "cves": [], "html": "<p>\u652f\u6301\u5206\u533a\u8868\u4e0a\u7684\u884c\u7ea7 <code>BEFORE</code> <a href=\"/docs/13/triggers.html\" title=\"\u7b2c\u00a038\u00a0\u7ae0\u00a0\u89e6\u53d1\u5668\">\u89e6\u53d1\u5668</a>\uff08\u00c1lvaro Herrera\uff09<a href=\"https://postgr.es/c/487e9861d\">\u00a7</a></p>\n<p>\u4f46\u662f\uff0c\u4e0d\u5141\u8bb8\u6b64\u7c7b\u89e6\u53d1\u5668\u6539\u53d8\u76ee\u6807\u5206\u533a\u3002</p>", "text": "\u652f\u6301\u5206\u533a\u8868\u4e0a\u7684\u884c\u7ea7 BEFORE \u89e6\u53d1\u5668\uff08\u00c1lvaro Herrera\uff09\u00a7 \u4f46\u662f\uff0c\u4e0d\u5141\u8bb8\u6b64\u7c7b\u89e6\u53d1\u5668\u6539\u53d8\u76ee\u6807\u5206\u533a\u3002", "title": "\u652f\u6301\u5206\u533a\u8868\u4e0a\u7684\u884c\u7ea7 BEFORE \u89e6\u53d1\u5668", "commits": ["487e9861d"], "section": "\u670d\u52a1\u5668 / \u5206\u533a", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.3.2", "source_hash": "7375c39dfdea7a22eda5060d1e383b507617eda7f4c53dbaa92837c2c26ec4b2", "section_path": ["\u670d\u52a1\u5668", "\u5206\u533a"], "commit_groups": [["487e9861d"]], "identity_text": "Support row-level BEFORE triggers on partitioned tables (\u00c1lvaro Herrera) However, such a trigger is not allowed to change which partition is the destination.", "commit_aliases": ["487e9861d"], "source_commits": ["487e9861d"], "source_entry_id": "13.0/changes/003", "db_id": "abb3546ba651a44c0b85673ae967e58b", "patch_ids": ["13594f035854cbbbd68f0945daceb87f"], "statement_hash": "b8576476e5ca0bb20544cc08df083f8993b8a732cbfaff7c89be1f618cfe841a", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-672ee0b9193bfb24", "migration": false}, {"id": "13.0-765158cb68dd9e47", "cves": [], "html": "<p>\u5141\u8bb8\u901a\u8fc7<a href=\"/docs/13/sql-createpublication.html\" title=\"CREATE PUBLICATION\">\u53d1\u5e03</a>\u5bf9\u5206\u533a\u8868\u8fdb\u884c\u903b\u8f91\u590d\u5236\uff08Amit Langote\uff09<a href=\"https://postgr.es/c/17b9e7f9f\">\u00a7</a> <a href=\"https://postgr.es/c/83fd4532a\">\u00a7</a></p>\n<p>\u4ee5\u524d\uff0c\u5fc5\u987b\u9010\u4e2a\u590d\u5236\u5206\u533a\u3002\u73b0\u5728\u53ef\u4ee5\u663e\u5f0f\u53d1\u5e03\u5206\u533a\u8868\uff0c\u4ece\u800c\u81ea\u52a8\u53d1\u5e03\u5176\u6240\u6709\u5206\u533a\u3002\u6dfb\u52a0\u6216\u79fb\u9664\u5206\u533a\u65f6\uff0c\u4e5f\u4f1a\u5c06\u5176\u76f8\u5e94\u5730\u6dfb\u52a0\u5230\u53d1\u5e03\u6216\u4ece\u53d1\u5e03\u4e2d\u79fb\u9664\u3002<a href=\"/docs/13/sql-createpublication.html\" title=\"CREATE PUBLICATION\"><code>CREATE PUBLICATION</code></a> \u7684 <code>publish_via_partition_root</code> \u9009\u9879\u63a7\u5236\u5206\u533a\u53d8\u66f4\u662f\u4f5c\u4e3a\u5206\u533a\u81ea\u8eab\u7684\u53d8\u66f4\u53d1\u5e03\uff0c\u8fd8\u662f\u4f5c\u4e3a\u7236\u8868\u7684\u53d8\u66f4\u53d1\u5e03\u3002</p>", "text": "\u5141\u8bb8\u901a\u8fc7\u53d1\u5e03\u5bf9\u5206\u533a\u8868\u8fdb\u884c\u903b\u8f91\u590d\u5236\uff08Amit Langote\uff09\u00a7 \u00a7 \u4ee5\u524d\uff0c\u5fc5\u987b\u9010\u4e2a\u590d\u5236\u5206\u533a\u3002\u73b0\u5728\u53ef\u4ee5\u663e\u5f0f\u53d1\u5e03\u5206\u533a\u8868\uff0c\u4ece\u800c\u81ea\u52a8\u53d1\u5e03\u5176\u6240\u6709\u5206\u533a\u3002\u6dfb\u52a0\u6216\u79fb\u9664\u5206\u533a\u65f6\uff0c\u4e5f\u4f1a\u5c06\u5176\u76f8\u5e94\u5730\u6dfb\u52a0\u5230\u53d1\u5e03\u6216\u4ece\u53d1\u5e03\u4e2d\u79fb\u9664\u3002CREATE PUBLICATION \u7684 publish_via_partition_root \u9009\u9879\u63a7\u5236\u5206\u533a\u53d8\u66f4\u662f\u4f5c\u4e3a\u5206\u533a\u81ea\u8eab\u7684\u53d8\u66f4\u53d1\u5e03\uff0c\u8fd8\u662f\u4f5c\u4e3a\u7236\u8868\u7684\u53d8\u66f4\u53d1\u5e03\u3002", "title": "\u5141\u8bb8\u901a\u8fc7\u53d1\u5e03\u5bf9\u5206\u533a\u8868\u8fdb\u884c\u903b\u8f91\u590d\u5236", "commits": ["17b9e7f9f", "83fd4532a"], "section": "\u670d\u52a1\u5668 / \u5206\u533a", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.3.2", "source_hash": "af221f1a6ede44db4b8025c4ee849342c696ffcbc69c55300f9297fb4605de03", "section_path": ["\u670d\u52a1\u5668", "\u5206\u533a"], "commit_groups": [["17b9e7f9f"], ["83fd4532a"]], "identity_text": "Allow partitioned tables to be logically replicated via publications (Amit Langote) Previously, partitions had to be replicated individually. Now a partitioned table can be published explicitly, causing all its partitions to be published automatically. Addition/removal of a partition causes it to be likewise added to or removed from the publication. The CREATE PUBLICATION option publish_via_partition_root controls whether changes to partitions are published as their own changes or their parent's.", "commit_aliases": ["17b9e7f9f", "83fd4532a"], "source_commits": ["17b9e7f9f", "83fd4532a"], "source_entry_id": "13.0/changes/004", "db_id": "e776d3a6e65553e82bc735c1931a3dac", "patch_ids": ["5154a5b10e14b0e087b1225afabf9b7b", "6461991c93daf94f79a59366d55d04ea"], "statement_hash": "7a27502769aeb7a3157d549e79e30d8ae3b75886b99ff11fa96c64a8bbc4edce", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-765158cb68dd9e47", "migration": false}, {"id": "13.0-191da786e2e58da2", "cves": [], "html": "<p>\u5141\u8bb8\u903b\u8f91\u590d\u5236\u5199\u5165\u8ba2\u9605\u8005\u4e0a\u7684\u5206\u533a\u8868\uff08Amit Langote\uff09<a href=\"https://postgr.es/c/f1ac27bfd\">\u00a7</a></p>\n<p>\u4ee5\u524d\uff0c\u8ba2\u9605\u8005\u53ea\u80fd\u5c06\u63a5\u6536\u5230\u7684\u884c\u5199\u5165\u975e\u5206\u533a\u8868\u3002</p>", "text": "\u5141\u8bb8\u903b\u8f91\u590d\u5236\u5199\u5165\u8ba2\u9605\u8005\u4e0a\u7684\u5206\u533a\u8868\uff08Amit Langote\uff09\u00a7 \u4ee5\u524d\uff0c\u8ba2\u9605\u8005\u53ea\u80fd\u5c06\u63a5\u6536\u5230\u7684\u884c\u5199\u5165\u975e\u5206\u533a\u8868\u3002", "title": "\u5141\u8bb8\u903b\u8f91\u590d\u5236\u5199\u5165\u8ba2\u9605\u8005\u4e0a\u7684\u5206\u533a\u8868", "commits": ["f1ac27bfd"], "section": "\u670d\u52a1\u5668 / \u5206\u533a", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.3.2", "source_hash": "4f2d505a3c5fd9289ae421e32aa70368ab94cb0444fe7a3a546be1a91a291340", "section_path": ["\u670d\u52a1\u5668", "\u5206\u533a"], "commit_groups": [["f1ac27bfd"]], "identity_text": "Allow logical replication into partitioned tables on subscribers (Amit Langote) Previously, subscribers could only receive rows into non-partitioned tables.", "commit_aliases": ["f1ac27bfd"], "source_commits": ["f1ac27bfd"], "source_entry_id": "13.0/changes/005", "db_id": "29b3866c33eac57d46f54be9cf89ac2f", "patch_ids": ["81816bd4b7a1cf1504a8ef1ca01d9b07"], "statement_hash": "4893e4d4af22c64f70d9da6c3a93060c2ef4d24884e77428adf6910bba7ba642", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-191da786e2e58da2", "migration": false}, {"id": "13.0-a1565a98a769b9ff", "cves": [], "html": "<p>\u5141\u8bb8\u5728\u5206\u533a\u8868\u8fbe\u5f0f\u4e2d\u4f7f\u7528\u6574\u884c\u53d8\u91cf\uff08\u5373 <em><code>table</code></em><code>.*</code>\uff09\uff08Amit Langote\uff09<a href=\"https://postgr.es/c/bb4114a4e\">\u00a7</a></p>", "text": "\u5141\u8bb8\u5728\u5206\u533a\u8868\u8fbe\u5f0f\u4e2d\u4f7f\u7528\u6574\u884c\u53d8\u91cf\uff08\u5373 table.*\uff09\uff08Amit Langote\uff09\u00a7", "title": "\u5141\u8bb8\u5728\u5206\u533a\u8868\u8fbe\u5f0f\u4e2d\u4f7f\u7528\u6574\u884c\u53d8\u91cf\uff08\u5373 table.*\uff09", "commits": ["bb4114a4e"], "section": "\u670d\u52a1\u5668 / \u5206\u533a", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.3.2", "source_hash": "33f16080e5993ca3a30fb907914a336ac3b0425dd26d1c4df456c882f48edfc7", "section_path": ["\u670d\u52a1\u5668", "\u5206\u533a"], "commit_groups": [["bb4114a4e"]], "identity_text": "Allow whole-row variables (that is, table.*) to be used in partitioning expressions (Amit Langote)", "commit_aliases": ["bb4114a4e"], "source_commits": ["bb4114a4e"], "source_entry_id": "13.0/changes/006", "db_id": "f0b6fbb0929910f112fb4e6842ff8455", "patch_ids": ["d2ab49f1b25dbf9d3c9528250b821b3e"], "statement_hash": "e4ab1167aaf9f53c02fd9adbe35dcc11c9cc942db848daf76b63ec3e20d266d0", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-a1565a98a769b9ff", "migration": false}, {"id": "13.0-04d951805307797d", "cves": [], "html": "<p>\u66f4\u9ad8\u6548\u5730\u5b58\u50a8 B-\u6811\u7d22\u5f15\u4e2d\u7684<a href=\"/docs/13/btree-implementation.html#BTREE-DEDUPLICATION\" title=\"63.4.2.\u00a0\u53bb\u91cd\">\u91cd\u590d\u9879</a>\uff08Anastasia Lubennikova\uff0cPeter Geoghegan\uff09<a href=\"https://postgr.es/c/0d861bbb7\">\u00a7</a></p>\n<p>\u8fd9\u901a\u8fc7\u53ea\u5b58\u50a8\u4e00\u6b21\u91cd\u590d\u952e\uff0c\u4f7f\u4f4e\u57fa\u6570\u5217\u80fd\u591f\u9ad8\u6548\u5730\u4f7f\u7528 B-\u6811\u7d22\u5f15\u3002\u4f7f\u7528<a href=\"/docs/13/pgupgrade.html\" title=\"pg_upgrade\"><span>pg_upgrade</span></a>\u5347\u7ea7\u7684\u7528\u6237\uff0c\u9700\u8981\u6267\u884c <a href=\"/docs/13/sql-reindex.html\" title=\"REINDEX\"><code>REINDEX</code></a> \u624d\u80fd\u8ba9\u73b0\u6709\u7d22\u5f15\u4f7f\u7528\u8fd9\u4e00\u7279\u6027\u3002</p>", "text": "\u66f4\u9ad8\u6548\u5730\u5b58\u50a8 B-\u6811\u7d22\u5f15\u4e2d\u7684\u91cd\u590d\u9879\uff08Anastasia Lubennikova\uff0cPeter Geoghegan\uff09\u00a7 \u8fd9\u901a\u8fc7\u53ea\u5b58\u50a8\u4e00\u6b21\u91cd\u590d\u952e\uff0c\u4f7f\u4f4e\u57fa\u6570\u5217\u80fd\u591f\u9ad8\u6548\u5730\u4f7f\u7528 B-\u6811\u7d22\u5f15\u3002\u4f7f\u7528pg_upgrade\u5347\u7ea7\u7684\u7528\u6237\uff0c\u9700\u8981\u6267\u884c REINDEX \u624d\u80fd\u8ba9\u73b0\u6709\u7d22\u5f15\u4f7f\u7528\u8fd9\u4e00\u7279\u6027\u3002", "title": "\u66f4\u9ad8\u6548\u5730\u5b58\u50a8 B-\u6811\u7d22\u5f15\u4e2d\u7684\u91cd\u590d\u9879", "commits": ["0d861bbb7"], "section": "\u670d\u52a1\u5668 / \u7d22\u5f15", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.3.3", "source_hash": "457dba99f7a1805257fb259267a5c39ffdde8bb4a9151a9bd48da8d0c947c32a", "section_path": ["\u670d\u52a1\u5668", "\u7d22\u5f15"], "commit_groups": [["0d861bbb7"]], "identity_text": "More efficiently store duplicates in B-tree indexes (Anastasia Lubennikova, Peter Geoghegan) This allows efficient B-tree indexing of low-cardinality columns by storing duplicate keys only once. Users upgrading with pg_upgrade will need to use REINDEX to make an existing index use this feature.", "commit_aliases": ["0d861bbb7"], "source_commits": ["0d861bbb7"], "source_entry_id": "13.0/changes/007", "db_id": "d833bd0d99c4a57c1b761f159ec2f3c0", "patch_ids": ["acab2cc8b425271004686df6325d3bd1"], "statement_hash": "9e60858f6ca6abd1c2ba12d0ce0af8956a0f4c8b1b051c1997b8861bf2fc32f1", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-04d951805307797d", "migration": false}, {"id": "13.0-300f8c5eb6e8d34f", "cves": [], "html": "<p>\u5141\u8bb8 <code>box</code> \u5217\u4e0a\u7684 <a href=\"/docs/13/gist.html\" title=\"\u7b2c\u00a064\u00a0\u7ae0\u00a0GiST \u7d22\u5f15\">GiST</a> \u548c <a href=\"/docs/13/spgist.html\" title=\"\u7b2c\u00a065\u00a0\u7ae0\u00a0SP-GiST \u7d22\u5f15\">SP-GiST</a> \u7d22\u5f15\u652f\u6301 <code>ORDER BY <em><code>box</code></em> &lt;-&gt; <em><code>point</code></em></code> \u67e5\u8be2\uff08Nikita Glukhov\uff09<a href=\"https://postgr.es/c/c085e1c1c\">\u00a7</a> <a href=\"https://postgr.es/c/075f0a880\">\u00a7</a></p>", "text": "\u5141\u8bb8 box \u5217\u4e0a\u7684 GiST \u548c SP-GiST \u7d22\u5f15\u652f\u6301 ORDER BY box <-> point \u67e5\u8be2\uff08Nikita Glukhov\uff09\u00a7 \u00a7", "title": "\u5141\u8bb8 box \u5217\u4e0a\u7684 GiST \u548c SP-GiST \u7d22\u5f15\u652f\u6301 ORDER BY box <-> point \u67e5\u8be2", "commits": ["075f0a880", "c085e1c1c"], "section": "\u670d\u52a1\u5668 / \u7d22\u5f15", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.3.3", "source_hash": "7605b2482cdc38bc6a0d0de772c27acc8e766bb63435ff9509ff08aadb632cd6", "section_path": ["\u670d\u52a1\u5668", "\u7d22\u5f15"], "commit_groups": [["075f0a880"], ["c085e1c1c"]], "identity_text": "Allow GiST and SP-GiST indexes on box columns to support ORDER BY box <-> point queries (Nikita Glukhov)", "commit_aliases": ["075f0a880", "c085e1c1c"], "source_commits": ["075f0a880", "c085e1c1c"], "source_entry_id": "13.0/changes/008", "db_id": "615d2aa1884c047755b722661c41251e", "patch_ids": ["3f3a46b0586643e90b417d932b11a8cc", "a29904bdb9b56e328355d0d2e0ff4bff"], "statement_hash": "dc0268b2baa8b6c98c269851125af3a3ea6158392ca3f708c32cf1a909249a38", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-300f8c5eb6e8d34f", "migration": false}, {"id": "13.0-8318d371c54f02c8", "cves": [], "html": "<p>\u5141\u8bb8 <a href=\"/docs/13/gin.html\" title=\"\u7b2c\u00a066\u00a0\u7ae0\u00a0GIN \u7d22\u5f15\"><acronym>GIN</acronym></a> \u7d22\u5f15\u66f4\u9ad8\u6548\u5730\u5904\u7406 <code>tsquery</code> \u641c\u7d22\u4e2d\u7684 <code>!</code>\uff08NOT\uff09\u5b50\u53e5\uff08Nikita Glukhov\uff0cAlexander Korotkov\uff0cTom Lane\uff0cJulien Rouhaud\uff09<a href=\"https://postgr.es/c/4b754d6c1\">\u00a7</a></p>", "text": "\u5141\u8bb8 GIN \u7d22\u5f15\u66f4\u9ad8\u6548\u5730\u5904\u7406 tsquery \u641c\u7d22\u4e2d\u7684 !\uff08NOT\uff09\u5b50\u53e5\uff08Nikita Glukhov\uff0cAlexander Korotkov\uff0cTom Lane\uff0cJulien Rouhaud\uff09\u00a7", "title": "\u5141\u8bb8 GIN \u7d22\u5f15\u66f4\u9ad8\u6548\u5730\u5904\u7406 tsquery \u641c\u7d22\u4e2d\u7684 !\uff08NOT\uff09\u5b50\u53e5", "commits": ["4b754d6c1"], "section": "\u670d\u52a1\u5668 / \u7d22\u5f15", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.3.3", "source_hash": "1dc0ac4918120ac49f0339b516cd8a92809f6a3f3d7193316568420d7766a9fc", "section_path": ["\u670d\u52a1\u5668", "\u7d22\u5f15"], "commit_groups": [["4b754d6c1"]], "identity_text": "Allow GIN indexes to more efficiently handle ! (NOT) clauses in tsquery searches (Nikita Glukhov, Alexander Korotkov, Tom Lane, Julien Rouhaud)", "commit_aliases": ["4b754d6c1"], "source_commits": ["4b754d6c1"], "source_entry_id": "13.0/changes/009", "db_id": "5585d45eb2a9826973b6e37e17836995", "patch_ids": ["3777fee47d2c18ce8371efd83b1860b3"], "statement_hash": "838742eb6724d663a97d7eb0c89892e5a0bfa9188f266279e4c7a46a328137d3", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-8318d371c54f02c8", "migration": false}, {"id": "13.0-00afdb908268ed96-1", "cves": [], "html": "<p>\u5141\u8bb8<a href=\"/docs/13/sql-createindex.html\" title=\"CREATE INDEX\">\u7d22\u5f15\u64cd\u4f5c\u7b26\u7c7b</a>\u63a5\u53d7\u53c2\u6570\uff08Nikita Glukhov\uff09<a href=\"https://postgr.es/c/911e70207\">\u00a7</a></p>", "text": "\u5141\u8bb8\u7d22\u5f15\u64cd\u4f5c\u7b26\u7c7b\u63a5\u53d7\u53c2\u6570\uff08Nikita Glukhov\uff09\u00a7", "title": "\u5141\u8bb8\u7d22\u5f15\u64cd\u4f5c\u7b26\u7c7b\u63a5\u53d7\u53c2\u6570", "commits": ["911e70207"], "section": "\u670d\u52a1\u5668 / \u7d22\u5f15", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.3.3", "source_hash": "0f9476c7168b00a1e61423650c5f35cd1e09dbf327ced72223f8c6f138414b3b", "section_path": ["\u670d\u52a1\u5668", "\u7d22\u5f15"], "commit_groups": [["911e70207"]], "identity_text": "Allow index operator classes to take parameters (Nikita Glukhov)", "commit_aliases": ["911e70207"], "source_commits": ["911e70207"], "source_entry_id": "13.0/changes/010", "db_id": "afc765d9b390c3bbd435caf0e408dff0", "patch_ids": ["5d17b7356f8a8c6cc4be66f2a9088b55"], "statement_hash": "9525aa704c4214fe4350f3e334c6d630248c39a93a9ef32c1e4c677c8c74c2f5", "relations": [{"rule": 2, "type": "related", "target": "c7ba4ea9be933a69c1ae4032bdf26ff9", "evidence": {"same_day": true, "patch_ids": ["5d17b7356f8a8c6cc4be66f2a9088b55"], "ambiguous_patch_ids": ["5d17b7356f8a8c6cc4be66f2a9088b55"]}}], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-00afdb908268ed96-1", "migration": false}, {"id": "13.0-00afdb908268ed96-2", "cves": [], "html": "<p>\u5141\u8bb8 <code>CREATE INDEX</code> \u6307\u5b9a GiST \u7b7e\u540d\u957f\u5ea6\u548c\u6574\u6570\u8303\u56f4\u7684\u6700\u5927\u6570\u91cf\uff08Nikita Glukhov\uff09<a href=\"https://postgr.es/c/911e70207\">\u00a7</a></p>\n<p>\u5728\u56db\u5b57\u8282\u548c\u516b\u5b57\u8282<a href=\"/docs/13/intarray.html\" title=\"F.18.\u00a0intarray\">\u6574\u6570\u6570\u7ec4</a>\u3001<a href=\"/docs/13/textsearch.html\" title=\"\u7b2c\u00a012\u00a0\u7ae0\u00a0\u5168\u6587\u68c0\u7d22\">tsvector</a>\u3001<a href=\"/docs/13/pgtrgm.html\" title=\"F.31.\u00a0pg_trgm\">pg_trgm</a>\u3001<a href=\"/docs/13/ltree.html\" title=\"F.21.\u00a0ltree\">ltree</a>\u548c<a href=\"/docs/13/hstore.html\" title=\"F.16.\u00a0hstore\">hstore</a>\u5217\u4e0a\u521b\u5efa\u7684\u7d22\u5f15\uff0c\u73b0\u5728\u53ef\u4ee5\u63a7\u5236\u8fd9\u4e9b GiST \u7d22\u5f15\u53c2\u6570\uff0c\u800c\u4e0d\u518d\u53ea\u80fd\u4f7f\u7528\u9ed8\u8ba4\u503c\u3002</p>", "text": "\u5141\u8bb8 CREATE INDEX \u6307\u5b9a GiST \u7b7e\u540d\u957f\u5ea6\u548c\u6574\u6570\u8303\u56f4\u7684\u6700\u5927\u6570\u91cf\uff08Nikita Glukhov\uff09\u00a7 \u5728\u56db\u5b57\u8282\u548c\u516b\u5b57\u8282\u6574\u6570\u6570\u7ec4\u3001tsvector\u3001pg_trgm\u3001ltree\u548chstore\u5217\u4e0a\u521b\u5efa\u7684\u7d22\u5f15\uff0c\u73b0\u5728\u53ef\u4ee5\u63a7\u5236\u8fd9\u4e9b GiST \u7d22\u5f15\u53c2\u6570\uff0c\u800c\u4e0d\u518d\u53ea\u80fd\u4f7f\u7528\u9ed8\u8ba4\u503c\u3002", "title": "\u5141\u8bb8 CREATE INDEX \u6307\u5b9a GiST \u7b7e\u540d\u957f\u5ea6\u548c\u6574\u6570\u8303\u56f4\u7684\u6700\u5927\u6570\u91cf", "commits": ["911e70207"], "section": "\u670d\u52a1\u5668 / \u7d22\u5f15", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.3.3", "source_hash": "47f7609aa0fed7770f1d7940bf6a78b2301df1870d1ef7c62d273ddf64c90ec8", "section_path": ["\u670d\u52a1\u5668", "\u7d22\u5f15"], "commit_groups": [["911e70207"]], "identity_text": "Allow CREATE INDEX to specify the GiST signature length and maximum number of integer ranges (Nikita Glukhov) Indexes created on four and eight-byte integer array, tsvector, pgtrgm , ltree , and hstore columns can now control these GiST index parameters, rather than using the defaults.", "commit_aliases": ["911e70207"], "source_commits": ["911e70207"], "source_entry_id": "13.0/changes/011", "db_id": "c7ba4ea9be933a69c1ae4032bdf26ff9", "patch_ids": ["5d17b7356f8a8c6cc4be66f2a9088b55"], "statement_hash": "4657e287462a6c024cbc4d7512fb6af446d72e0827a97dc15abd13095c084b98", "relations": [{"rule": 2, "type": "related", "target": "afc765d9b390c3bbd435caf0e408dff0", "evidence": {"same_day": true, "patch_ids": ["5d17b7356f8a8c6cc4be66f2a9088b55"], "ambiguous_patch_ids": ["5d17b7356f8a8c6cc4be66f2a9088b55"]}}], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-00afdb908268ed96-2", "migration": false}, {"id": "13.0-90aca664fe16e695", "cves": [], "html": "<p>\u7981\u6b62\u5c06\u4f7f\u7528\u975e\u9ed8\u8ba4\u6392\u5e8f\u89c4\u5219\u7684\u7d22\u5f15<a href=\"/docs/13/sql-altertable.html\" title=\"ALTER TABLE\">\u6dfb\u52a0</a>\u4e3a\u8868\u7684\u552f\u4e00\u7ea6\u675f\u6216\u4e3b\u952e\u7ea6\u675f\uff08Tom Lane\uff09<a href=\"https://postgr.es/c/fbbf68094\">\u00a7</a></p>\n<p>\u7d22\u5f15\u7684\u6392\u5e8f\u89c4\u5219\u5fc5\u987b\u4e0e\u5e95\u5c42\u5217\u7684\u6392\u5e8f\u89c4\u5219\u5339\u914d\uff0c\u4f46 <code>ALTER TABLE</code> \u4ee5\u524d\u672a\u68c0\u67e5\u8fd9\u4e00\u70b9\u3002</p>", "text": "\u7981\u6b62\u5c06\u4f7f\u7528\u975e\u9ed8\u8ba4\u6392\u5e8f\u89c4\u5219\u7684\u7d22\u5f15\u6dfb\u52a0\u4e3a\u8868\u7684\u552f\u4e00\u7ea6\u675f\u6216\u4e3b\u952e\u7ea6\u675f\uff08Tom Lane\uff09\u00a7 \u7d22\u5f15\u7684\u6392\u5e8f\u89c4\u5219\u5fc5\u987b\u4e0e\u5e95\u5c42\u5217\u7684\u6392\u5e8f\u89c4\u5219\u5339\u914d\uff0c\u4f46 ALTER TABLE \u4ee5\u524d\u672a\u68c0\u67e5\u8fd9\u4e00\u70b9\u3002", "title": "\u7981\u6b62\u5c06\u4f7f\u7528\u975e\u9ed8\u8ba4\u6392\u5e8f\u89c4\u5219\u7684\u7d22\u5f15\u6dfb\u52a0\u4e3a\u8868\u7684\u552f\u4e00\u7ea6\u675f\u6216\u4e3b\u952e\u7ea6\u675f", "commits": ["fbbf68094"], "section": "\u670d\u52a1\u5668 / \u7d22\u5f15", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.3.3", "source_hash": "4b2a2b835f60f4e244b0192b712a2f81e4b40bbe118c2b031a1f18dc4882400e", "section_path": ["\u670d\u52a1\u5668", "\u7d22\u5f15"], "commit_groups": [["fbbf68094"]], "identity_text": "Prevent indexes that use non-default collations from being added as a table's unique or primary key constraint (Tom Lane) The index's collation must match that of the underlying column, but ALTER TABLE previously failed to check this.", "commit_aliases": ["fbbf68094"], "source_commits": ["fbbf68094"], "source_entry_id": "13.0/changes/012", "db_id": "18782b2fdacfe578e9cfe56330a6800b", "patch_ids": ["209c4eded0352d27fdebc9be81626b6e"], "statement_hash": "cec6b4927e06e45032c5699bdf54a07d4ce44f7baf1012b2fa1dbc013b7e967b", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-90aca664fe16e695", "migration": false}, {"id": "13.0-e9f30b93e74d433e", "cves": [], "html": "<p>\u6539\u8fdb\u4f18\u5316\u5668\u5bf9\u5305\u542b\u548c\u5339\u914d\u64cd\u4f5c\u7b26\u7684<a href=\"/docs/13/planner-stats-details.html\" title=\"\u7b2c\u00a071\u00a0\u7ae0\u00a0\u89c4\u5212\u5668\u5982\u4f55\u4f7f\u7528\u7edf\u8ba1\u4fe1\u606f\">\u9009\u62e9\u7387</a>\u4f30\u8ba1\uff08Tom Lane\uff09<a href=\"https://postgr.es/c/a80818605\">\u00a7</a></p>", "text": "\u6539\u8fdb\u4f18\u5316\u5668\u5bf9\u5305\u542b\u548c\u5339\u914d\u64cd\u4f5c\u7b26\u7684\u9009\u62e9\u7387\u4f30\u8ba1\uff08Tom Lane\uff09\u00a7", "title": "\u6539\u8fdb\u4f18\u5316\u5668\u5bf9\u5305\u542b\u548c\u5339\u914d\u64cd\u4f5c\u7b26\u7684\u9009\u62e9\u7387\u4f30\u8ba1", "commits": ["a80818605"], "section": "\u670d\u52a1\u5668 / \u4f18\u5316\u5668", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.3.4", "source_hash": "db8598d459670ad5b71679fbbfb2011cf1b783a366e1368ef138427d63e06e8f", "section_path": ["\u670d\u52a1\u5668", "\u4f18\u5316\u5668"], "commit_groups": [["a80818605"]], "identity_text": "Improve the optimizer's selectivity estimation for containment/match operators (Tom Lane)", "commit_aliases": ["a80818605"], "source_commits": ["a80818605"], "source_entry_id": "13.0/changes/013", "db_id": "e03a2f4748c20b9fa3d57bebb562d54d", "patch_ids": ["e0a203af7ecf47c845d60dffea038bd8"], "statement_hash": "d0efeabdaee1d449eb29f81fdd08331ec5d70d7df958c8731c07e08e2e2efae9", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-e9f30b93e74d433e", "migration": false}, {"id": "13.0-97394fe02733bbe0", "cves": [], "html": "<p>\u5141\u8bb8\u4e3a<a href=\"/docs/13/sql-createstatistics.html\" title=\"CREATE STATISTICS\">\u6269\u5c55\u7edf\u8ba1\u4fe1\u606f</a>\u8bbe\u7f6e<a href=\"/docs/13/sql-altertable.html\" title=\"ALTER TABLE\">\u7edf\u8ba1\u76ee\u6807</a>\uff08Tomas Vondra\uff09<a href=\"https://postgr.es/c/d06215d03\">\u00a7</a></p>\n<p>\u8fd9\u901a\u8fc7\u65b0\u7684\u547d\u4ee4\u9009\u9879 <code>ALTER STATISTICS ... SET STATISTICS</code> \u63a7\u5236\u3002\u4ee5\u524d\uff0c\u5b83\u57fa\u4e8e\u66f4\u901a\u7528\u7684\u7edf\u8ba1\u76ee\u6807\u8bbe\u7f6e\u8ba1\u7b97\u5f97\u51fa\u3002</p>", "text": "\u5141\u8bb8\u4e3a\u6269\u5c55\u7edf\u8ba1\u4fe1\u606f\u8bbe\u7f6e\u7edf\u8ba1\u76ee\u6807\uff08Tomas Vondra\uff09\u00a7 \u8fd9\u901a\u8fc7\u65b0\u7684\u547d\u4ee4\u9009\u9879 ALTER STATISTICS ... SET STATISTICS \u63a7\u5236\u3002\u4ee5\u524d\uff0c\u5b83\u57fa\u4e8e\u66f4\u901a\u7528\u7684\u7edf\u8ba1\u76ee\u6807\u8bbe\u7f6e\u8ba1\u7b97\u5f97\u51fa\u3002", "title": "\u5141\u8bb8\u4e3a\u6269\u5c55\u7edf\u8ba1\u4fe1\u606f\u8bbe\u7f6e\u7edf\u8ba1\u76ee\u6807", "commits": ["d06215d03"], "section": "\u670d\u52a1\u5668 / \u4f18\u5316\u5668", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.3.4", "source_hash": "d50bde3e1bcd3c65174901e0b9ed6e782af4e03a8a8e3e64b9df02201c65fab1", "section_path": ["\u670d\u52a1\u5668", "\u4f18\u5316\u5668"], "commit_groups": [["d06215d03"]], "identity_text": "Allow setting the statistics target for extended statistics (Tomas Vondra) This is controlled with the new command option ALTER STATISTICS ... SET STATISTICS. Previously this was computed based on more general statistics target settings.", "commit_aliases": ["d06215d03"], "source_commits": ["d06215d03"], "source_entry_id": "13.0/changes/014", "db_id": "d1b8fe7431b3c7b3e9f713d6f2cd914b", "patch_ids": ["79fb7d0e773a57353956b6aaa9d857f0"], "statement_hash": "ac0933c8c7c890731e4fc0a4e3f8eb34b4e2106404775577b357aea6fe7fc26b", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-97394fe02733bbe0", "migration": false}, {"id": "13.0-afd106a80b310e09", "cves": [], "html": "<p>\u5141\u8bb8\u5728\u5355\u4e2a\u67e5\u8be2\u4e2d\u4f7f\u7528\u591a\u4e2a\u6269\u5c55\u7edf\u8ba1\u5bf9\u8c61\uff08Tomas Vondra\uff09<a href=\"https://postgr.es/c/aaa676187\">\u00a7</a> <a href=\"https://postgr.es/c/eae056c19\">\u00a7</a></p>", "text": "\u5141\u8bb8\u5728\u5355\u4e2a\u67e5\u8be2\u4e2d\u4f7f\u7528\u591a\u4e2a\u6269\u5c55\u7edf\u8ba1\u5bf9\u8c61\uff08Tomas Vondra\uff09\u00a7 \u00a7", "title": "\u5141\u8bb8\u5728\u5355\u4e2a\u67e5\u8be2\u4e2d\u4f7f\u7528\u591a\u4e2a\u6269\u5c55\u7edf\u8ba1\u5bf9\u8c61", "commits": ["aaa676187", "eae056c19"], "section": "\u670d\u52a1\u5668 / \u4f18\u5316\u5668", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.3.4", "source_hash": "a06a591b00c801eb07849c0caa2b451e1ff4837e89ae9e5aa85fc35909a5d0db", "section_path": ["\u670d\u52a1\u5668", "\u4f18\u5316\u5668"], "commit_groups": [["aaa676187"], ["eae056c19"]], "identity_text": "Allow use of multiple extended statistics objects in a single query (Tomas Vondra)", "commit_aliases": ["aaa676187", "eae056c19"], "source_commits": ["aaa676187", "eae056c19"], "source_entry_id": "13.0/changes/015", "db_id": "ea0131e2b4726edb47e2476c2d94fb81", "patch_ids": ["0517460781f8025da7b77fa6bc8064f3", "93a0e941b5a99c891e70cb6275232dfd"], "statement_hash": "6291ceaadec03b1969b571f95fe0f7c568efd1c25a1ae62e3aa6a503bf2ca415", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-afd106a80b310e09", "migration": false}, {"id": "13.0-35b629657ada221a", "cves": [], "html": "<p>\u5141\u8bb8\u5c06\u6269\u5c55\u7edf\u8ba1\u5bf9\u8c61\u7528\u4e8e OR \u5b50\u53e5\u548c <a href=\"/docs/13/functions-subquery.html\" title=\"9.23.\u00a0\u5b50\u67e5\u8be2\u8868\u8fbe\u5f0f\">IN</a>/<code>ANY</code> \u5e38\u91cf\u5217\u8868\uff08Pierre Ducroquet\uff0cTomas Vondra\uff09<a href=\"https://postgr.es/c/8f321bd16\">\u00a7</a> <a href=\"https://postgr.es/c/e83daa7e3\">\u00a7</a> <a href=\"https://postgr.es/c/ccaa3569f\">\u00a7</a></p>", "text": "\u5141\u8bb8\u5c06\u6269\u5c55\u7edf\u8ba1\u5bf9\u8c61\u7528\u4e8e OR \u5b50\u53e5\u548c IN/ANY \u5e38\u91cf\u5217\u8868\uff08Pierre Ducroquet\uff0cTomas Vondra\uff09\u00a7 \u00a7 \u00a7", "title": "\u5141\u8bb8\u5c06\u6269\u5c55\u7edf\u8ba1\u5bf9\u8c61\u7528\u4e8e OR \u5b50\u53e5\u548c IN/ANY \u5e38\u91cf\u5217\u8868", "commits": ["8f321bd16", "ccaa3569f", "e83daa7e3"], "section": "\u670d\u52a1\u5668 / \u4f18\u5316\u5668", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.3.4", "source_hash": "14a997d01bcc94ffe3c626beb931c652705aa8ee5ded45e567874787a9072e22", "section_path": ["\u670d\u52a1\u5668", "\u4f18\u5316\u5668"], "commit_groups": [["8f321bd16"], ["ccaa3569f"], ["e83daa7e3"]], "identity_text": "Allow use of extended statistics objects for OR clauses and IN/ANY constant lists (Pierre Ducroquet, Tomas Vondra)", "commit_aliases": ["8f321bd16", "ccaa3569f", "e83daa7e3"], "source_commits": ["8f321bd16", "ccaa3569f", "e83daa7e3"], "source_entry_id": "13.0/changes/016", "db_id": "6806eac80c0336a665b6e2df84c0f155", "patch_ids": ["150ac4fd4e0e8fdd34babedfa097818b", "38ac19fb8e12fec91d75e5f36fd168c9", "e7f243bba210fe45f85ae05d307c4ca2"], "statement_hash": "795fff38e7725fb791b96c7e2645c74a2465f441e7bab14004fb0a6f25aaeb97", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-35b629657ada221a", "migration": false}, {"id": "13.0-2015bf37cdd6ccee", "cves": [], "html": "<p>\u5982\u679c <code>FROM</code> \u5b50\u53e5\u4e2d\u7684\u51fd\u6570\u6c42\u503c\u4e3a\u5e38\u91cf\uff0c\u5219\u5141\u8bb8\u5c06\u5176\u4e0a\u62c9\uff08\u5185\u8054\uff09\uff08Alexander Kuzmenkov\uff0cAleksandr Parfenov\uff09<a href=\"https://postgr.es/c/7266d0997\">\u00a7</a> <a href=\"https://postgr.es/c/a9ae99d01\">\u00a7</a></p>", "text": "\u5982\u679c FROM \u5b50\u53e5\u4e2d\u7684\u51fd\u6570\u6c42\u503c\u4e3a\u5e38\u91cf\uff0c\u5219\u5141\u8bb8\u5c06\u5176\u4e0a\u62c9\uff08\u5185\u8054\uff09\uff08Alexander Kuzmenkov\uff0cAleksandr Parfenov\uff09\u00a7 \u00a7", "title": "\u5982\u679c FROM \u5b50\u53e5\u4e2d\u7684\u51fd\u6570\u6c42\u503c\u4e3a\u5e38\u91cf\uff0c\u5219\u5141\u8bb8\u5c06\u5176\u4e0a\u62c9\uff08\u5185\u8054\uff09", "commits": ["7266d0997", "a9ae99d01"], "section": "\u670d\u52a1\u5668 / \u4f18\u5316\u5668", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.3.4", "source_hash": "0dce30a490d80789dc0670de01eb156848407463f779494fc42a5aabef06fdaa", "section_path": ["\u670d\u52a1\u5668", "\u4f18\u5316\u5668"], "commit_groups": [["7266d0997"], ["a9ae99d01"]], "identity_text": "Allow functions in FROM clauses to be pulled up (inlined) if they evaluate to constants (Alexander Kuzmenkov, Aleksandr Parfenov)", "commit_aliases": ["7266d0997", "a9ae99d01"], "source_commits": ["7266d0997", "a9ae99d01"], "source_entry_id": "13.0/changes/017", "db_id": "4bad3aab680b71cc3601066e7e3a5065", "patch_ids": ["1348da700e41cce5f75d2f64f7e6cc31", "ac2fe31721e84f58dcff2b6ef7433b5c"], "statement_hash": "c65bcc23a4c1d5235891d4b7a71178641c78391779ea64934861403c844b8390", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-2015bf37cdd6ccee", "migration": false}, {"id": "13.0-fbd6a27f114123a3", "cves": [], "html": "<p>\u5b9e\u73b0<a href=\"/docs/13/runtime-config-query.html#GUC-ENABLE-INCREMENTAL-SORT\">\u589e\u91cf\u6392\u5e8f</a>\uff08James Coleman\uff0cAlexander Korotkov\uff0cTomas Vondra\uff09<a href=\"https://postgr.es/c/d2d8a229b\">\u00a7</a> <a href=\"https://postgr.es/c/94e454cdd\">\u00a7</a></p>\n<p>\u5982\u679c\u5df2\u77e5\u67e5\u8be2\u7684\u4e2d\u95f4\u7ed3\u679c\u6309\u7167\u6240\u9700\u6392\u5e8f\u987a\u5e8f\u7684\u4e00\u4e2a\u6216\u591a\u4e2a\u524d\u5bfc\u952e\u6392\u597d\u5e8f\uff0c\u5219\u53ef\u4ee5\u5c06\u524d\u5bfc\u952e\u76f8\u540c\u7684\u884c\u5206\u6279\u6392\u5e8f\uff0c\u53ea\u8003\u8651\u5269\u4f59\u952e\u5373\u53ef\u5b8c\u6210\u989d\u5916\u7684\u6392\u5e8f\u3002</p>\n<p>\u5982\u6709\u9700\u8981\uff0c\u53ef\u4ee5\u4f7f\u7528<a href=\"/docs/13/runtime-config-query.html#GUC-ENABLE-INCREMENTAL-SORT\">enable_incremental_sort</a>\u63a7\u5236\u6b64\u884c\u4e3a\u3002</p>", "text": "\u5b9e\u73b0\u589e\u91cf\u6392\u5e8f\uff08James Coleman\uff0cAlexander Korotkov\uff0cTomas Vondra\uff09\u00a7 \u00a7 \u5982\u679c\u5df2\u77e5\u67e5\u8be2\u7684\u4e2d\u95f4\u7ed3\u679c\u6309\u7167\u6240\u9700\u6392\u5e8f\u987a\u5e8f\u7684\u4e00\u4e2a\u6216\u591a\u4e2a\u524d\u5bfc\u952e\u6392\u597d\u5e8f\uff0c\u5219\u53ef\u4ee5\u5c06\u524d\u5bfc\u952e\u76f8\u540c\u7684\u884c\u5206\u6279\u6392\u5e8f\uff0c\u53ea\u8003\u8651\u5269\u4f59\u952e\u5373\u53ef\u5b8c\u6210\u989d\u5916\u7684\u6392\u5e8f\u3002 \u5982\u6709\u9700\u8981\uff0c\u53ef\u4ee5\u4f7f\u7528enable_incremental_sort\u63a7\u5236\u6b64\u884c\u4e3a\u3002", "title": "\u5b9e\u73b0\u589e\u91cf\u6392\u5e8f", "commits": ["94e454cdd", "d2d8a229b"], "section": "\u670d\u52a1\u5668 / \u4e00\u822c\u6027\u80fd", "category": "performance", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.3.5", "source_hash": "7326147e882b0a4166ec3b84287d9b9d0920e4953c41bfd832ae421a2029ff7b", "section_path": ["\u670d\u52a1\u5668", "\u4e00\u822c\u6027\u80fd"], "commit_groups": [["94e454cdd"], ["d2d8a229b"]], "identity_text": "Implement incremental sorting (James Coleman, Alexander Korotkov, Tomas Vondra) If an intermediate query result is known to be sorted by one or more leading keys of a required sort ordering, the additional sorting can be done considering only the remaining keys, if the rows are sorted in batches that have equal leading keys. If necessary, this can be controlled using guc-enable-incremental-sort .", "commit_aliases": ["94e454cdd", "d2d8a229b"], "source_commits": ["94e454cdd", "d2d8a229b"], "source_entry_id": "13.0/changes/018", "db_id": "6f3fd1946c685503344ef054a587b1dd", "patch_ids": ["278a92e39d69c168ad24a9167f2174b7", "3dc77609ae64140459d9a9afec908107"], "statement_hash": "b7d27834a05b9b8046d54286391fa61e92ec190e4bfa43505d0a8604e9f4ed8c", "relations": [], "category_label": "\u6027\u80fd\u6539\u8fdb", "url": "/docs/compare/?release=13.0#13.0-fbd6a27f114123a3", "migration": false}, {"id": "13.0-7cf2b4fcd6a90e43", "cves": [], "html": "<p>\u63d0\u9ad8 <a href=\"/docs/13/datatype-net-types.html#DATATYPE-INET\" title=\"8.9.1.\u00a0inet\">inet</a> \u503c\u7684\u6392\u5e8f\u6027\u80fd\uff08Brandur Leach\uff09<a href=\"https://postgr.es/c/71dcd7438\">\u00a7</a></p>", "text": "\u63d0\u9ad8 inet \u503c\u7684\u6392\u5e8f\u6027\u80fd\uff08Brandur Leach\uff09\u00a7", "title": "\u63d0\u9ad8 inet \u503c\u7684\u6392\u5e8f\u6027\u80fd", "commits": ["71dcd7438"], "section": "\u670d\u52a1\u5668 / \u4e00\u822c\u6027\u80fd", "category": "performance", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.3.5", "source_hash": "83a3067bfd228a4d71e4935e7691c9be60dd5b90024a43f53f37464ca3988502", "section_path": ["\u670d\u52a1\u5668", "\u4e00\u822c\u6027\u80fd"], "commit_groups": [["71dcd7438"]], "identity_text": "Improve the performance of sorting inet values (Brandur Leach)", "commit_aliases": ["71dcd7438"], "source_commits": ["71dcd7438"], "source_entry_id": "13.0/changes/019", "db_id": "7be3e1713fbe303ab454a9c923d9a047", "patch_ids": ["6b8159f858e88c6984f443855e76682a"], "statement_hash": "fcdbcac1c219036114076c98db61e8bfcccee2b814ca49423663db86ecc69d1c", "relations": [], "category_label": "\u6027\u80fd\u6539\u8fdb", "url": "/docs/compare/?release=13.0#13.0-7cf2b4fcd6a90e43", "migration": false}, {"id": "13.0-15d590cb812ca7d3", "cves": [], "html": "<p>\u5141\u8bb8<a href=\"/docs/13/runtime-config-query.html#GUC-ENABLE-HASHAGG\">hash \u805a\u5408</a>\u5bf9\u5927\u578b\u805a\u5408\u7ed3\u679c\u96c6\u4f7f\u7528\u78c1\u76d8\u5b58\u50a8\uff08Jeff Davis\uff09<a href=\"https://postgr.es/c/1f39bce02\">\u00a7</a> <a href=\"https://postgr.es/c/dd8e19132\">\u00a7</a> <a href=\"https://postgr.es/c/78530c8e7\">\u00a7</a></p>\n<p>\u4ee5\u524d\uff0c\u5982\u679c\u9884\u8ba1 hash \u805a\u5408\u4f7f\u7528\u7684\u5185\u5b58\u4f1a\u8d85\u8fc7<a href=\"/docs/13/runtime-config-resource.html#GUC-WORK-MEM\">work_mem</a>\uff0c\u5c31\u4f1a\u907f\u514d\u4f7f\u7528\u5b83\u3002\u73b0\u5728\uff0c\u5373\u4f7f\u5982\u6b64\u4e5f\u53ef\u4ee5\u9009\u62e9 hash \u805a\u5408\u8ba1\u5212\u3002\u5982\u679c hash \u8868\u8d85\u8fc7 <code>work_mem</code> \u4e58\u4ee5<a href=\"/docs/13/runtime-config-resource.html#GUC-HASH-MEM-MULTIPLIER\">hash_mem_multiplier</a>\u7684\u5927\u5c0f\uff0c\u5c31\u4f1a\u6ea2\u5199\u5230\u78c1\u76d8\u3002</p>\n<p>\u8fd9\u4e00\u884c\u4e3a\u901a\u5e38\u4f18\u4e8e\u65e7\u884c\u4e3a\uff1a\u4ee5\u524d\uff0c\u4e00\u65e6\u9009\u62e9\u4e86 hash \u805a\u5408\uff0c\u65e0\u8bba hash \u8868\u589e\u957f\u5230\u591a\u5927\uff0c\u90fd\u4f1a\u4e00\u76f4\u4fdd\u7559\u5728\u5185\u5b58\u4e2d\uff1b\u5982\u679c\u89c4\u5212\u5668\u4f30\u8ba1\u6709\u8bef\uff0c\u5b83\u53ef\u80fd\u53d8\u5f97\u975e\u5e38\u5927\u3002\u5982\u6709\u9700\u8981\uff0c\u53ef\u4ee5\u901a\u8fc7\u589e\u5927 <code>hash_mem_multiplier</code> \u6765\u83b7\u5f97\u7c7b\u4f3c\u65e7\u884c\u4e3a\u7684\u6548\u679c\u3002</p>", "text": "\u5141\u8bb8hash \u805a\u5408\u5bf9\u5927\u578b\u805a\u5408\u7ed3\u679c\u96c6\u4f7f\u7528\u78c1\u76d8\u5b58\u50a8\uff08Jeff Davis\uff09\u00a7 \u00a7 \u00a7 \u4ee5\u524d\uff0c\u5982\u679c\u9884\u8ba1 hash \u805a\u5408\u4f7f\u7528\u7684\u5185\u5b58\u4f1a\u8d85\u8fc7work_mem\uff0c\u5c31\u4f1a\u907f\u514d\u4f7f\u7528\u5b83\u3002\u73b0\u5728\uff0c\u5373\u4f7f\u5982\u6b64\u4e5f\u53ef\u4ee5\u9009\u62e9 hash \u805a\u5408\u8ba1\u5212\u3002\u5982\u679c hash \u8868\u8d85\u8fc7 work_mem \u4e58\u4ee5hash_mem_multiplier\u7684\u5927\u5c0f\uff0c\u5c31\u4f1a\u6ea2\u5199\u5230\u78c1\u76d8\u3002 \u8fd9\u4e00\u884c\u4e3a\u901a\u5e38\u4f18\u4e8e\u65e7\u884c\u4e3a\uff1a\u4ee5\u524d\uff0c\u4e00\u65e6\u9009\u62e9\u4e86 hash \u805a\u5408\uff0c\u65e0\u8bba hash \u8868\u589e\u957f\u5230\u591a\u5927\uff0c\u90fd\u4f1a\u4e00\u76f4\u4fdd\u7559\u5728\u5185\u5b58\u4e2d\uff1b\u5982\u679c\u89c4\u5212\u5668\u4f30\u8ba1\u6709\u8bef\uff0c\u5b83\u53ef\u80fd\u53d8\u5f97\u975e\u5e38\u5927\u3002\u5982\u6709\u9700\u8981\uff0c\u53ef\u4ee5\u901a\u8fc7\u589e\u5927 hash_mem_multiplier \u6765\u83b7\u5f97\u7c7b\u4f3c\u65e7\u884c\u4e3a\u7684\u6548\u679c\u3002", "title": "\u5141\u8bb8hash \u805a\u5408\u5bf9\u5927\u578b\u805a\u5408\u7ed3\u679c\u96c6\u4f7f\u7528\u78c1\u76d8\u5b58\u50a8", "commits": ["1f39bce02", "78530c8e7", "dd8e19132"], "section": "\u670d\u52a1\u5668 / \u4e00\u822c\u6027\u80fd", "category": "performance", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.3.5", "source_hash": "6505ea5cd4b84a9b5dc886175f0abcc90e064e5cc54d158934cfa5585220afae", "section_path": ["\u670d\u52a1\u5668", "\u4e00\u822c\u6027\u80fd"], "commit_groups": [["1f39bce02"], ["78530c8e7"], ["dd8e19132"]], "identity_text": "Allow hash aggregation to use disk storage for large aggregation result sets (Jeff Davis) Previously, hash aggregation was avoided if it was expected to use more than guc-work-mem memory. Now, a hash aggregation plan can be chosen despite that. The hash table will be spilled to disk if it exceeds work_mem times guc-hash-mem-multiplier . This behavior is normally preferable to the old behavior, in which once hash aggregation had been chosen, the hash table would be kept in memory no matter how large it got \u2014 which could be very large if the planner had misestimated. If necessary, behavior similar to that can be obtained by increasing hash_mem_multiplier.", "commit_aliases": ["1f39bce02", "78530c8e7", "dd8e19132"], "source_commits": ["1f39bce02", "78530c8e7", "dd8e19132"], "source_entry_id": "13.0/changes/020", "db_id": "6442f5ad4bd8d8b4591ad34801b96bb9", "patch_ids": ["8b1a1c056d175ee893c832f51943a10f", "aea0626a54fed81f85e92bd61da850dd", "c7f1e60b068a27818a75177db44aedde"], "statement_hash": "36045a241dec61a916dd7330db7524f0c2dc5f27ad197295e958a18649895843", "relations": [], "category_label": "\u6027\u80fd\u6539\u8fdb", "url": "/docs/compare/?release=13.0#13.0-15d590cb812ca7d3", "migration": false}, {"id": "13.0-3ac633baec8f030f", "cves": [], "html": "<p>\u5141\u8bb8\u63d2\u5165\u64cd\u4f5c\u4e5f\u89e6\u53d1<a href=\"/docs/13/maintenance.html#AUTOVACUUM\" title=\"24.1.6.\u00a0\u81ea\u52a8\u6e05\u7406\u5b88\u62a4\u8fdb\u7a0b\">\u81ea\u52a8\u6e05\u7406</a>\u4e2d\u7684\u6e05\u7406\u6d3b\u52a8\uff0c\u800c\u4e0d\u518d\u4ec5\u7531\u66f4\u65b0\u548c\u5220\u9664\u89e6\u53d1\uff08Laurenz Albe\uff0cDarafei Praliaskouski\uff09<a href=\"https://postgr.es/c/b07642dbc\">\u00a7</a></p>\n<p>\u4ee5\u524d\uff0c\u4ec5\u6709\u63d2\u5165\u6d3b\u52a8\u65f6\u4f1a\u89e6\u53d1\u81ea\u52a8\u5206\u6790\uff0c\u4f46\u4e0d\u4f1a\u89e6\u53d1\u81ea\u52a8\u6e05\u7406\uff0c\u7406\u7531\u662f\u4e0d\u5b58\u5728\u9700\u8981\u79fb\u9664\u7684\u6b7b\u5143\u7ec4\u3002\u7136\u800c\uff0c\u6e05\u7406\u626b\u63cf\u8fd8\u6709\u5176\u4ed6\u6709\u76ca\u7684\u526f\u4f5c\u7528\uff0c\u4f8b\u5982\u8bbe\u7f6e\u9875\u9762\u5168\u53ef\u89c1\u4f4d\uff0c\u4ece\u800c\u63d0\u9ad8\u4ec5\u7d22\u5f15\u626b\u63cf\u7684\u6548\u7387\u3002\u53e6\u5916\uff0c\u8ba9\u4ec5\u63d2\u5165\u7684\u8868\u63a5\u53d7\u5468\u671f\u6027\u6e05\u7406\uff0c\u6709\u52a9\u4e8e\u5206\u6563<span>\u201c<span>\u51bb\u7ed3</span>\u201d</span>\u65e7\u5143\u7ec4\u7684\u5de5\u4f5c\u91cf\uff0c\u907f\u514d\u6574\u4e2a\u8868\u540c\u65f6\u8fbe\u5230\u9632\u56de\u5377\u9608\u503c\u65f6\uff0c\u7a81\u7136\u9700\u8981\u6267\u884c\u5927\u91cf\u51bb\u7ed3\u5de5\u4f5c\u3002</p>\n<p>\u5982\u6709\u9700\u8981\uff0c\u53ef\u4ee5\u901a\u8fc7\u65b0\u53c2\u6570<a href=\"/docs/13/runtime-config-autovacuum.html#GUC-AUTOVACUUM-VACUUM-INSERT-THRESHOLD\">autovacuum_vacuum_insert_threshold</a>\u548c<a href=\"/docs/13/runtime-config-autovacuum.html#GUC-AUTOVACUUM-VACUUM-INSERT-SCALE-FACTOR\">autovacuum_vacuum_insert_scale_factor</a>\uff0c\u6216\u7b49\u4ef7\u7684\u8868\u5b58\u50a8\u9009\u9879\u6765\u8c03\u6574\u6b64\u884c\u4e3a\u3002</p>", "text": "\u5141\u8bb8\u63d2\u5165\u64cd\u4f5c\u4e5f\u89e6\u53d1\u81ea\u52a8\u6e05\u7406\u4e2d\u7684\u6e05\u7406\u6d3b\u52a8\uff0c\u800c\u4e0d\u518d\u4ec5\u7531\u66f4\u65b0\u548c\u5220\u9664\u89e6\u53d1\uff08Laurenz Albe\uff0cDarafei Praliaskouski\uff09\u00a7 \u4ee5\u524d\uff0c\u4ec5\u6709\u63d2\u5165\u6d3b\u52a8\u65f6\u4f1a\u89e6\u53d1\u81ea\u52a8\u5206\u6790\uff0c\u4f46\u4e0d\u4f1a\u89e6\u53d1\u81ea\u52a8\u6e05\u7406\uff0c\u7406\u7531\u662f\u4e0d\u5b58\u5728\u9700\u8981\u79fb\u9664\u7684\u6b7b\u5143\u7ec4\u3002\u7136\u800c\uff0c\u6e05\u7406\u626b\u63cf\u8fd8\u6709\u5176\u4ed6\u6709\u76ca\u7684\u526f\u4f5c\u7528\uff0c\u4f8b\u5982\u8bbe\u7f6e\u9875\u9762\u5168\u53ef\u89c1\u4f4d\uff0c\u4ece\u800c\u63d0\u9ad8\u4ec5\u7d22\u5f15\u626b\u63cf\u7684\u6548\u7387\u3002\u53e6\u5916\uff0c\u8ba9\u4ec5\u63d2\u5165\u7684\u8868\u63a5\u53d7\u5468\u671f\u6027\u6e05\u7406\uff0c\u6709\u52a9\u4e8e\u5206\u6563\u201c\u51bb\u7ed3\u201d\u65e7\u5143\u7ec4\u7684\u5de5\u4f5c\u91cf\uff0c\u907f\u514d\u6574\u4e2a\u8868\u540c\u65f6\u8fbe\u5230\u9632\u56de\u5377\u9608\u503c\u65f6\uff0c\u7a81\u7136\u9700\u8981\u6267\u884c\u5927\u91cf\u51bb\u7ed3\u5de5\u4f5c\u3002 \u5982\u6709\u9700\u8981\uff0c\u53ef\u4ee5\u901a\u8fc7\u65b0\u53c2\u6570autovacuum_vacuum_insert_threshold\u548cautovacuum_vacuum_insert_scale_factor\uff0c\u6216\u7b49\u4ef7\u7684\u8868\u5b58\u50a8\u9009\u9879\u6765\u8c03\u6574\u6b64\u884c\u4e3a\u3002", "title": "\u5141\u8bb8\u63d2\u5165\u64cd\u4f5c\u4e5f\u89e6\u53d1\u81ea\u52a8\u6e05\u7406\u4e2d\u7684\u6e05\u7406\u6d3b\u52a8\uff0c\u800c\u4e0d\u518d\u4ec5\u7531\u66f4\u65b0\u548c\u5220\u9664\u89e6\u53d1", "commits": ["b07642dbc"], "section": "\u670d\u52a1\u5668 / \u4e00\u822c\u6027\u80fd", "category": "performance", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.3.5", "source_hash": "d039b6b317faabbf49abde232f85e0528f56777455f2ca9be46ada3232d18fdc", "section_path": ["\u670d\u52a1\u5668", "\u4e00\u822c\u6027\u80fd"], "commit_groups": [["b07642dbc"]], "identity_text": "Allow inserts, not only updates and deletes, to trigger vacuuming activity in autovacuum (Laurenz Albe, Darafei Praliaskouski) Previously, insert-only activity would trigger auto-analyze but not auto-vacuum, on the grounds that there could not be any dead tuples to remove. However, a vacuum scan has other useful side-effects such as setting page-all-visible bits, which improves the efficiency of index-only scans. Also, allowing an insert-only table to receive periodic vacuuming helps to spread out the work of freezing old tuples, so that there is not suddenly a large amount of freezing work to do when the entire table reaches the anti-wraparound threshold all at once. If necessary, this behavior can be adjusted with the new parameters guc-autovacuum-vacuum-insert-threshold and guc-autovacuum-vacuum-insert-scale-factor , or the equivalent table storage options.", "commit_aliases": ["b07642dbc"], "source_commits": ["b07642dbc"], "source_entry_id": "13.0/changes/021", "db_id": "ff243b43c207ec3e528bcb615e41e0ad", "patch_ids": ["dd4a38c2cef7db1665e28a1a9ff16317"], "statement_hash": "a75fea2e370989e623b4dd0557b356397fde08d58f02154768c4bf5eeae19679", "relations": [], "category_label": "\u6027\u80fd\u6539\u8fdb", "url": "/docs/compare/?release=13.0#13.0-3ac633baec8f030f", "migration": false}, {"id": "13.0-2086e47d6fa03cdd", "cves": [], "html": "<p>\u589e\u52a0<a href=\"/docs/13/runtime-config-resource.html#GUC-MAINTENANCE-IO-CONCURRENCY\">maintenance_io_concurrency</a>\u53c2\u6570\uff0c\u4ee5\u63a7\u5236\u7ef4\u62a4\u64cd\u4f5c\u7684 I/O \u5e76\u53d1\u5ea6\uff08Thomas Munro\uff09<a href=\"https://postgr.es/c/fc34b0d9d\">\u00a7</a></p>", "text": "\u589e\u52a0maintenance_io_concurrency\u53c2\u6570\uff0c\u4ee5\u63a7\u5236\u7ef4\u62a4\u64cd\u4f5c\u7684 I/O \u5e76\u53d1\u5ea6\uff08Thomas Munro\uff09\u00a7", "title": "\u589e\u52a0maintenance_io_concurrency\u53c2\u6570\uff0c\u4ee5\u63a7\u5236\u7ef4\u62a4\u64cd\u4f5c\u7684 I/O \u5e76\u53d1\u5ea6", "commits": ["fc34b0d9d"], "section": "\u670d\u52a1\u5668 / \u4e00\u822c\u6027\u80fd", "category": "performance", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.3.5", "source_hash": "efd0b9ce10b052bb1682f544584949baad36d92419138589c516bf10911ee3ea", "section_path": ["\u670d\u52a1\u5668", "\u4e00\u822c\u6027\u80fd"], "commit_groups": [["fc34b0d9d"]], "identity_text": "Add guc-maintenance-io-concurrency parameter to control I/O concurrency for maintenance operations (Thomas Munro)", "commit_aliases": ["fc34b0d9d"], "source_commits": ["fc34b0d9d"], "source_entry_id": "13.0/changes/022", "db_id": "295f700db62c2f12965dacb55956fa60", "patch_ids": ["12c1a95ce51d50f455dccf8066eba9e7"], "statement_hash": "1d736eb5805e08baea756c991a9fbab291d5b7e7cb5fb9f84c3ba70281036636", "relations": [], "category_label": "\u6027\u80fd\u6539\u8fdb", "url": "/docs/compare/?release=13.0#13.0-2086e47d6fa03cdd", "migration": false}, {"id": "13.0-b85de750769c20fe", "cves": [], "html": "<p>\u5982\u679c<a href=\"/docs/13/runtime-config-wal.html#GUC-WAL-LEVEL\">wal_level</a>\u4e3a <code>minimal</code>\uff0c\u5219\u5141\u8bb8\u5728\u521b\u5efa\u6216\u91cd\u5199\u5173\u7cfb\u7684\u4e8b\u52a1\u671f\u95f4\u8df3\u8fc7 <acronym>WAL</acronym> \u5199\u5165\uff08Kyotaro Horiguchi\uff09<a href=\"https://postgr.es/c/c6b92041d\">\u00a7</a></p>\n<p>\u5bf9\u4e8e\u5927\u4e8e<a href=\"/docs/13/runtime-config-wal.html#GUC-WAL-SKIP-THRESHOLD\">wal_skip_threshold</a>\u7684\u5173\u7cfb\uff0c\u4f1a\u5bf9\u5176\u6587\u4ef6\u6267\u884c fsync\uff0c\u800c\u4e0d\u751f\u6210 <acronym>WAL</acronym>\u3002\u4ee5\u524d\uff0c\u53ea\u6709 <code>COPY</code> \u64cd\u4f5c\u4f1a\u8fd9\u6837\u5904\u7406\uff0c\u4f46\u5176\u5b9e\u73b0\u6709\u4e00\u4e2a\u7f3a\u9677\uff0c\u53ef\u80fd\u5728\u5d29\u6e83\u6062\u590d\u671f\u95f4\u5bfc\u81f4\u6570\u636e\u4e22\u5931\u3002</p>", "text": "\u5982\u679cwal_level\u4e3a minimal\uff0c\u5219\u5141\u8bb8\u5728\u521b\u5efa\u6216\u91cd\u5199\u5173\u7cfb\u7684\u4e8b\u52a1\u671f\u95f4\u8df3\u8fc7 WAL \u5199\u5165\uff08Kyotaro Horiguchi\uff09\u00a7 \u5bf9\u4e8e\u5927\u4e8ewal_skip_threshold\u7684\u5173\u7cfb\uff0c\u4f1a\u5bf9\u5176\u6587\u4ef6\u6267\u884c fsync\uff0c\u800c\u4e0d\u751f\u6210 WAL\u3002\u4ee5\u524d\uff0c\u53ea\u6709 COPY \u64cd\u4f5c\u4f1a\u8fd9\u6837\u5904\u7406\uff0c\u4f46\u5176\u5b9e\u73b0\u6709\u4e00\u4e2a\u7f3a\u9677\uff0c\u53ef\u80fd\u5728\u5d29\u6e83\u6062\u590d\u671f\u95f4\u5bfc\u81f4\u6570\u636e\u4e22\u5931\u3002", "title": "\u5982\u679cwal_level\u4e3a minimal\uff0c\u5219\u5141\u8bb8\u5728\u521b\u5efa\u6216\u91cd\u5199\u5173\u7cfb\u7684\u4e8b\u52a1\u671f\u95f4\u8df3\u8fc7 WAL \u5199\u5165", "commits": ["c6b92041d"], "section": "\u670d\u52a1\u5668 / \u4e00\u822c\u6027\u80fd", "category": "performance", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.3.5", "source_hash": "cd126d964c1306b4eb5abb3509e5c4f2239cf7bcd5930659493c8ade889a8c1f", "section_path": ["\u670d\u52a1\u5668", "\u4e00\u822c\u6027\u80fd"], "commit_groups": [["c6b92041d"]], "identity_text": "Allow WAL writes to be skipped during a transaction that creates or rewrites a relation, if guc-wal-level is minimal (Kyotaro Horiguchi) Relations larger than guc-wal-skip-threshold will have their files fsync'ed rather than generating WAL. Previously this was done only for COPY operations, but the implementation had a bug that could cause data loss during crash recovery.", "commit_aliases": ["c6b92041d"], "source_commits": ["c6b92041d"], "source_entry_id": "13.0/changes/023", "db_id": "30220ba09b5895e9693d456c854b4b9a", "patch_ids": ["3102d077d66fee2dfbbf3f49416f0976"], "statement_hash": "7bc93299750a74078e761ced8ff9f816bc9639125caec32a7497914dcc49918a", "relations": [], "category_label": "\u6027\u80fd\u6539\u8fdb", "url": "/docs/compare/?release=13.0#13.0-b85de750769c20fe", "migration": false}, {"id": "13.0-2bd61199dd73324a", "cves": [], "html": "<p>\u63d0\u9ad8\u4f7f\u7528\u5927\u91cf\u8868\u7a7a\u95f4\u65f6\u91cd\u653e <a href=\"/docs/13/sql-dropdatabase.html\" title=\"DROP DATABASE\"><code>DROP DATABASE</code></a> \u547d\u4ee4\u7684\u6027\u80fd\uff08Fujii Masao\uff09<a href=\"https://postgr.es/c/e6d806952\">\u00a7</a></p>", "text": "\u63d0\u9ad8\u4f7f\u7528\u5927\u91cf\u8868\u7a7a\u95f4\u65f6\u91cd\u653e DROP DATABASE \u547d\u4ee4\u7684\u6027\u80fd\uff08Fujii Masao\uff09\u00a7", "title": "\u63d0\u9ad8\u4f7f\u7528\u5927\u91cf\u8868\u7a7a\u95f4\u65f6\u91cd\u653e DROP DATABASE \u547d\u4ee4\u7684\u6027\u80fd", "commits": ["e6d806952"], "section": "\u670d\u52a1\u5668 / \u4e00\u822c\u6027\u80fd", "category": "performance", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.3.5", "source_hash": "6344f97399fa516ff4358f637f8bbd4f4a7e21b925a687f1c72cb710a7191dba", "section_path": ["\u670d\u52a1\u5668", "\u4e00\u822c\u6027\u80fd"], "commit_groups": [["e6d806952"]], "identity_text": "Improve performance when replaying DROP DATABASE commands when many tablespaces are in use (Fujii Masao)", "commit_aliases": ["e6d806952"], "source_commits": ["e6d806952"], "source_entry_id": "13.0/changes/024", "db_id": "a9b6bade4ee22fc67b760b2ea0980f08", "patch_ids": ["c669522b6d5e90b906fc018e3b7c0f1a"], "statement_hash": "9e4369a1bad90e265f2f0a1414b2171057535813f740f6d06bd1d84171530514", "relations": [], "category_label": "\u6027\u80fd\u6539\u8fdb", "url": "/docs/compare/?release=13.0#13.0-2bd61199dd73324a", "migration": false}, {"id": "13.0-48efa86846d0f12a", "cves": [], "html": "<p>\u63d0\u9ad8<a href=\"/docs/13/sql-truncate.html\" title=\"TRUNCATE\">\u622a\u65ad</a>\u8d85\u5927\u5173\u7cfb\u7684\u6027\u80fd\uff08Kirk Jamison\uff09<a href=\"https://postgr.es/c/6d05086c0\">\u00a7</a></p>", "text": "\u63d0\u9ad8\u622a\u65ad\u8d85\u5927\u5173\u7cfb\u7684\u6027\u80fd\uff08Kirk Jamison\uff09\u00a7", "title": "\u63d0\u9ad8\u622a\u65ad\u8d85\u5927\u5173\u7cfb\u7684\u6027\u80fd", "commits": ["6d05086c0"], "section": "\u670d\u52a1\u5668 / \u4e00\u822c\u6027\u80fd", "category": "performance", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.3.5", "source_hash": "a74fce7166d12ebc59a9d7e2e907fa8a8b9248991de7cd81df67a8eb6e400cef", "section_path": ["\u670d\u52a1\u5668", "\u4e00\u822c\u6027\u80fd"], "commit_groups": [["6d05086c0"]], "identity_text": "Improve performance for truncation of very large relations (Kirk Jamison)", "commit_aliases": ["6d05086c0"], "source_commits": ["6d05086c0"], "source_entry_id": "13.0/changes/025", "db_id": "1e9006896a1af69d834a155edb3255de", "patch_ids": ["10115d396c71180e50c1b8fcf075a3fb"], "statement_hash": "df9c6284cc83d08f40b230c5abfba2165dd6eba4883666826d24e121acb12f69", "relations": [], "category_label": "\u6027\u80fd\u6539\u8fdb", "url": "/docs/compare/?release=13.0#13.0-48efa86846d0f12a", "migration": false}, {"id": "13.0-78e12abcf4795b00", "cves": [], "html": "<p>\u6539\u8fdb\u5bf9\u7ecf\u8fc7 <a href=\"/docs/13/storage-toast.html\" title=\"69.2.\u00a0TOAST\"><acronym>TOAST</acronym></a> \u5904\u7406\u7684\u503c\u7684\u8d77\u59cb\u5b57\u8282\u7684\u83b7\u53d6\uff08Binguo Bao\uff0cAndrey Borodin\uff09<a href=\"https://postgr.es/c/11a078cf8\">\u00a7</a></p>\n<p>\u4ee5\u524d\uff0c\u5373\u4f7f\u5df2\u77e5\u53ea\u9700\u8981\u8d77\u59cb\u7684\u4e00\u90e8\u5206\u5b57\u8282\uff0c\u4e5f\u4f1a\u5b8c\u6574\u83b7\u53d6\u538b\u7f29\u7684\u884c\u5916 <acronym>TOAST</acronym> \u503c\u3002\u73b0\u5728\uff0c\u53ea\u83b7\u53d6\u8db3\u4ee5\u751f\u6210\u7ed3\u679c\u7684\u6570\u636e\u3002</p>", "text": "\u6539\u8fdb\u5bf9\u7ecf\u8fc7 TOAST \u5904\u7406\u7684\u503c\u7684\u8d77\u59cb\u5b57\u8282\u7684\u83b7\u53d6\uff08Binguo Bao\uff0cAndrey Borodin\uff09\u00a7 \u4ee5\u524d\uff0c\u5373\u4f7f\u5df2\u77e5\u53ea\u9700\u8981\u8d77\u59cb\u7684\u4e00\u90e8\u5206\u5b57\u8282\uff0c\u4e5f\u4f1a\u5b8c\u6574\u83b7\u53d6\u538b\u7f29\u7684\u884c\u5916 TOAST \u503c\u3002\u73b0\u5728\uff0c\u53ea\u83b7\u53d6\u8db3\u4ee5\u751f\u6210\u7ed3\u679c\u7684\u6570\u636e\u3002", "title": "\u6539\u8fdb\u5bf9\u7ecf\u8fc7 TOAST \u5904\u7406\u7684\u503c\u7684\u8d77\u59cb\u5b57\u8282\u7684\u83b7\u53d6", "commits": ["11a078cf8"], "section": "\u670d\u52a1\u5668 / \u4e00\u822c\u6027\u80fd", "category": "performance", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.3.5", "source_hash": "1c388da4bcfbb54bdeeb8251d35ba6b66b5eb69951c3822509bad3e4ba0841a1", "section_path": ["\u670d\u52a1\u5668", "\u4e00\u822c\u6027\u80fd"], "commit_groups": [["11a078cf8"]], "identity_text": "Improve retrieval of the leading bytes of TOAST'ed values (Binguo Bao, Andrey Borodin) Previously, compressed out-of-line TOAST values were fully fetched even when it's known that only some leading bytes are needed. Now, only enough data to produce the result is fetched.", "commit_aliases": ["11a078cf8"], "source_commits": ["11a078cf8"], "source_entry_id": "13.0/changes/026", "db_id": "f5fb1b1f9ded8c1ceb227b00db1c2958", "patch_ids": ["cef0836907cdb9beac39ce5b71086988"], "statement_hash": "bc342db307b119cd9c25d5ce61994249266ffa0a3ce8a83153209bcbf0b1dccd", "relations": [], "category_label": "\u6027\u80fd\u6539\u8fdb", "url": "/docs/compare/?release=13.0#13.0-78e12abcf4795b00", "migration": false}, {"id": "13.0-d2feeed792795170", "cves": [], "html": "<p>\u63d0\u9ad8 <a href=\"/docs/13/sql-listen.html\" title=\"LISTEN\"><code>LISTEN</code></a>/<code>NOTIFY</code> \u7684\u6027\u80fd\uff08Martijn van Oosterhout\uff0cTom Lane\uff09<a href=\"https://postgr.es/c/bca6e6435\">\u00a7</a> <a href=\"https://postgr.es/c/51004c717\">\u00a7</a> <a href=\"https://postgr.es/c/bb5ae8f6c\">\u00a7</a></p>", "text": "\u63d0\u9ad8 LISTEN/NOTIFY \u7684\u6027\u80fd\uff08Martijn van Oosterhout\uff0cTom Lane\uff09\u00a7 \u00a7 \u00a7", "title": "\u63d0\u9ad8 LISTEN/NOTIFY \u7684\u6027\u80fd", "commits": ["51004c717", "bb5ae8f6c", "bca6e6435"], "section": "\u670d\u52a1\u5668 / \u4e00\u822c\u6027\u80fd", "category": "performance", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.3.5", "source_hash": "fb780bf746f5a3624ca523ace8bb3d3e687c835561624a0c1d6c593142e963f3", "section_path": ["\u670d\u52a1\u5668", "\u4e00\u822c\u6027\u80fd"], "commit_groups": [["51004c717"], ["bb5ae8f6c"], ["bca6e6435"]], "identity_text": "Improve performance of LISTEN/NOTIFY (Martijn van Oosterhout, Tom Lane)", "commit_aliases": ["51004c717", "bb5ae8f6c", "bca6e6435"], "source_commits": ["51004c717", "bb5ae8f6c", "bca6e6435"], "source_entry_id": "13.0/changes/027", "db_id": "39aeeff4a065d1e88fa614ebd7e37a10", "patch_ids": ["7d646f6c58ff910e7dd9a5d0eb625fdc", "94ae3f18f3c79d85a0a3e73c7c28a07b", "df7551865fdd0590b5acb5ca137f3280"], "statement_hash": "2d6903fd34b84130f869ce3b12c71d550a0cf93bc58ec4e5d79572f69d85773f", "relations": [], "category_label": "\u6027\u80fd\u6539\u8fdb", "url": "/docs/compare/?release=13.0#13.0-d2feeed792795170", "migration": false}, {"id": "13.0-de96200c21fa67b5", "cves": [], "html": "<p>\u52a0\u5feb\u6574\u6570\u5230\u6587\u672c\u7684\u8f6c\u6362\uff08David Fetter\uff09<a href=\"https://postgr.es/c/1fd687a03\">\u00a7</a></p>", "text": "\u52a0\u5feb\u6574\u6570\u5230\u6587\u672c\u7684\u8f6c\u6362\uff08David Fetter\uff09\u00a7", "title": "\u52a0\u5feb\u6574\u6570\u5230\u6587\u672c\u7684\u8f6c\u6362", "commits": ["1fd687a03"], "section": "\u670d\u52a1\u5668 / \u4e00\u822c\u6027\u80fd", "category": "performance", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.3.5", "source_hash": "36af82f7d62ee80b507e36be1c04de924bb9f167a72733bf906cf2a10d3d03a4", "section_path": ["\u670d\u52a1\u5668", "\u4e00\u822c\u6027\u80fd"], "commit_groups": [["1fd687a03"]], "identity_text": "Speed up conversions of integers to text (David Fetter)", "commit_aliases": ["1fd687a03"], "source_commits": ["1fd687a03"], "source_entry_id": "13.0/changes/028", "db_id": "146793203d27f4483566ccde04c0a80f", "patch_ids": ["45afb2686c385bef49fee44bcead94ed"], "statement_hash": "cb987b4d56de264131e4a585e21034140003fee4012425d64f137d8229b137a4", "relations": [], "category_label": "\u6027\u80fd\u6539\u8fdb", "url": "/docs/compare/?release=13.0#13.0-de96200c21fa67b5", "migration": false}, {"id": "13.0-a6da1f40d67c9421", "cves": [], "html": "<p>\u51cf\u5c11\u5305\u542b\u5927\u91cf <acronym>SQL</acronym> \u8bed\u53e5\u7684\u67e5\u8be2\u5b57\u7b26\u4e32\u548c\u6269\u5c55\u811a\u672c\u7684\u5185\u5b58\u7528\u91cf\uff08Amit Langote\uff09<a href=\"https://postgr.es/c/b5810de3f\">\u00a7</a></p>", "text": "\u51cf\u5c11\u5305\u542b\u5927\u91cf SQL \u8bed\u53e5\u7684\u67e5\u8be2\u5b57\u7b26\u4e32\u548c\u6269\u5c55\u811a\u672c\u7684\u5185\u5b58\u7528\u91cf\uff08Amit Langote\uff09\u00a7", "title": "\u51cf\u5c11\u5305\u542b\u5927\u91cf SQL \u8bed\u53e5\u7684\u67e5\u8be2\u5b57\u7b26\u4e32\u548c\u6269\u5c55\u811a\u672c\u7684\u5185\u5b58\u7528\u91cf", "commits": ["b5810de3f"], "section": "\u670d\u52a1\u5668 / \u4e00\u822c\u6027\u80fd", "category": "performance", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.3.5", "source_hash": "8fb7798c19e322d4dd0521369b4269d3f226e165d46a42e66bf6eeedf484aebd", "section_path": ["\u670d\u52a1\u5668", "\u4e00\u822c\u6027\u80fd"], "commit_groups": [["b5810de3f"]], "identity_text": "Reduce memory usage for query strings and extension scripts that contain many SQL statements (Amit Langote)", "commit_aliases": ["b5810de3f"], "source_commits": ["b5810de3f"], "source_entry_id": "13.0/changes/029", "db_id": "15e468abbb5e4eccab6f4881331a59fd", "patch_ids": ["1ab927c2f38b29e4895f038a2f2ec8e2"], "statement_hash": "fef69d605d385fbcff9f772a04be8789d4733cd24dae1d94a1f66041d951ffe2", "relations": [], "category_label": "\u6027\u80fd\u6539\u8fdb", "url": "/docs/compare/?release=13.0#13.0-a6da1f40d67c9421", "migration": false}, {"id": "13.0-8954db92bf2ae4b2", "cves": [], "html": "<p>\u5141\u8bb8 <a href=\"/docs/13/sql-explain.html\" title=\"EXPLAIN\"><code>EXPLAIN</code></a>\u3001<a href=\"/docs/13/auto-explain.html\" title=\"F.4.\u00a0auto_explain\">auto_explain</a>\u3001<a href=\"/docs/13/maintenance.html#AUTOVACUUM\" title=\"24.1.6.\u00a0\u81ea\u52a8\u6e05\u7406\u5b88\u62a4\u8fdb\u7a0b\">\u81ea\u52a8\u6e05\u7406</a>\u548c<a href=\"/docs/13/pgstatstatements.html\" title=\"F.29.\u00a0pg_stat_statements\">pg_stat_statements</a>\u8ddf\u8e2a <acronym>WAL</acronym> \u4f7f\u7528\u7edf\u8ba1\u4fe1\u606f\uff08Kirill Bychik\uff0cJulien Rouhaud\uff09<a href=\"https://postgr.es/c/6b466bf5f\">\u00a7</a> <a href=\"https://postgr.es/c/33e05f89c\">\u00a7</a> <a href=\"https://postgr.es/c/b7ce6de93\">\u00a7</a></p>", "text": "\u5141\u8bb8 EXPLAIN\u3001auto_explain\u3001\u81ea\u52a8\u6e05\u7406\u548cpg_stat_statements\u8ddf\u8e2a WAL \u4f7f\u7528\u7edf\u8ba1\u4fe1\u606f\uff08Kirill Bychik\uff0cJulien Rouhaud\uff09\u00a7 \u00a7 \u00a7", "title": "\u5141\u8bb8 EXPLAIN\u3001auto_explain\u3001\u81ea\u52a8\u6e05\u7406\u548cpg_stat_statements\u8ddf\u8e2a WAL \u4f7f\u7528\u7edf\u8ba1\u4fe1\u606f", "commits": ["33e05f89c", "6b466bf5f", "b7ce6de93"], "section": "\u670d\u52a1\u5668 / \u76d1\u63a7", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.3.6", "source_hash": "fe57ed5e272beb286e871294fb61af1e52d3915327a84f1534d0c7254cee6e56", "section_path": ["\u670d\u52a1\u5668", "\u76d1\u63a7"], "commit_groups": [["33e05f89c"], ["6b466bf5f"], ["b7ce6de93"]], "identity_text": "Allow EXPLAIN, auto-explain , autovacuum, and pgstatstatements to track WAL usage statistics (Kirill Bychik, Julien Rouhaud)", "commit_aliases": ["33e05f89c", "6b466bf5f", "b7ce6de93"], "source_commits": ["33e05f89c", "6b466bf5f", "b7ce6de93"], "source_entry_id": "13.0/changes/030", "db_id": "a81bca950723330723a396880d7230a2", "patch_ids": ["31925c9b2818b267801035402c499e9e", "6c03acae0cf345cf70fa5c0ee8270beb", "fb3d78d447fffec325ed73861b82ea2a"], "statement_hash": "ad6c2f4a105ad1fbba32edbf61724b4df3fc58f2f02ab482297d761eceedfbf0", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-8954db92bf2ae4b2", "migration": false}, {"id": "13.0-40cc7222acb2a242", "cves": [], "html": "<p>\u5141\u8bb8\u62bd\u6837\u8bb0\u5f55 SQL \u8bed\u53e5\uff0c\u800c\u4e0d\u5fc5\u8bb0\u5f55\u5168\u90e8\u8bed\u53e5\uff08Adrien Nayrat\uff09<a href=\"https://postgr.es/c/6e3e6cc0e\">\u00a7</a></p>\n<p>\u5bf9\u4e8e\u8017\u65f6\u8d85\u8fc7<a href=\"/docs/13/runtime-config-logging.html#GUC-LOG-MIN-DURATION-SAMPLE\">log_min_duration_sample</a>\u7684\u8bed\u53e5\uff0c\u5c06\u6309<a href=\"/docs/13/runtime-config-logging.html#GUC-LOG-STATEMENT-SAMPLE-RATE\">log_statement_sample_rate</a>\u6307\u5b9a\u7684\u6bd4\u4f8b\u8bb0\u5f55\u65e5\u5fd7\u3002</p>", "text": "\u5141\u8bb8\u62bd\u6837\u8bb0\u5f55 SQL \u8bed\u53e5\uff0c\u800c\u4e0d\u5fc5\u8bb0\u5f55\u5168\u90e8\u8bed\u53e5\uff08Adrien Nayrat\uff09\u00a7 \u5bf9\u4e8e\u8017\u65f6\u8d85\u8fc7log_min_duration_sample\u7684\u8bed\u53e5\uff0c\u5c06\u6309log_statement_sample_rate\u6307\u5b9a\u7684\u6bd4\u4f8b\u8bb0\u5f55\u65e5\u5fd7\u3002", "title": "\u5141\u8bb8\u62bd\u6837\u8bb0\u5f55 SQL \u8bed\u53e5\uff0c\u800c\u4e0d\u5fc5\u8bb0\u5f55\u5168\u90e8\u8bed\u53e5", "commits": ["6e3e6cc0e"], "section": "\u670d\u52a1\u5668 / \u76d1\u63a7", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.3.6", "source_hash": "100d1f479e612787e8ef6dacf4641291e7cc0aaa46bc87560848bbdf111c5a4a", "section_path": ["\u670d\u52a1\u5668", "\u76d1\u63a7"], "commit_groups": [["6e3e6cc0e"]], "identity_text": "Allow a sample of SQL statements, rather than all statements, to be logged (Adrien Nayrat) A guc-log-statement-sample-rate fraction of those statements taking more than guc-log-min-duration-sample duration will be logged.", "commit_aliases": ["6e3e6cc0e"], "source_commits": ["6e3e6cc0e"], "source_entry_id": "13.0/changes/031", "db_id": "cf598e0ff1ed5c6895694ec0468b72fa", "patch_ids": ["d42d5bf0a2809f3449a7fdf44b63bd36"], "statement_hash": "64e01dd1f610133710962064b5af48ec6117ad653650460f9708d279b8b41a9c", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-40cc7222acb2a242", "migration": false}, {"id": "13.0-45b357ebf41f9dea", "cves": [], "html": "<p>\u5c06\u540e\u7aef\u7c7b\u578b\u6dfb\u52a0\u5230 <a href=\"/docs/13/runtime-config-logging.html\" title=\"19.8.\u00a0\u9519\u8bef\u62a5\u544a\u548c\u65e5\u5fd7\">csvlog</a> \u65e5\u5fd7\u8f93\u51fa\u4e2d\uff0c\u5e76\u5141\u8bb8\u9009\u62e9\u5c06\u5176\u52a0\u5165<a href=\"/docs/13/runtime-config-logging.html#GUC-LOG-LINE-PREFIX\">log_line_prefix</a>\u65e5\u5fd7\u8f93\u51fa\uff08Peter Eisentraut\uff09<a href=\"https://postgr.es/c/70a7b4776\">\u00a7</a></p>", "text": "\u5c06\u540e\u7aef\u7c7b\u578b\u6dfb\u52a0\u5230 csvlog \u65e5\u5fd7\u8f93\u51fa\u4e2d\uff0c\u5e76\u5141\u8bb8\u9009\u62e9\u5c06\u5176\u52a0\u5165log_line_prefix\u65e5\u5fd7\u8f93\u51fa\uff08Peter Eisentraut\uff09\u00a7", "title": "\u5c06\u540e\u7aef\u7c7b\u578b\u6dfb\u52a0\u5230 csvlog \u65e5\u5fd7\u8f93\u51fa\u4e2d\uff0c\u5e76\u5141\u8bb8\u9009\u62e9\u5c06\u5176\u52a0\u5165log_line_prefix\u65e5\u5fd7\u8f93\u51fa", "commits": ["70a7b4776"], "section": "\u670d\u52a1\u5668 / \u76d1\u63a7", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.3.6", "source_hash": "286f96e316ce9805db24da0ccaed504a25d16433ac06fb901d54b2facf785992", "section_path": ["\u670d\u52a1\u5668", "\u76d1\u63a7"], "commit_groups": [["70a7b4776"]], "identity_text": "Add the backend type to csvlog and optionally guc-log-line-prefix log output (Peter Eisentraut)", "commit_aliases": ["70a7b4776"], "source_commits": ["70a7b4776"], "source_entry_id": "13.0/changes/032", "db_id": "235ce2c10b18e0cca4fef6d1580b942e", "patch_ids": ["b3bde18d195ab3e72dc9c103507df8a9"], "statement_hash": "0279638c7ed6b0977a0432345b3efaa639531996cb1b75ed5b95926de0099acf", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-45b357ebf41f9dea", "migration": false}, {"id": "13.0-fd504c5b579e31ab", "cves": [], "html": "<p>\u6539\u8fdb\u5bf9\u9884\u5907\u8bed\u53e5\u53c2\u6570\u65e5\u5fd7\u8bb0\u5f55\u7684\u63a7\u5236\uff08Alexey Bashtanov\uff0c\u00c1lvaro Herrera\uff09<a href=\"https://postgr.es/c/ba79cb5dc\">\u00a7</a> <a href=\"https://postgr.es/c/0b34e7d30\">\u00a7</a></p>\n<p><acronym>GUC</acronym> \u8bbe\u7f6e<a href=\"/docs/13/runtime-config-logging.html#GUC-LOG-PARAMETER-MAX-LENGTH\">log_parameter_max_length</a>\u63a7\u5236\u8bb0\u5f55\u672a\u51fa\u9519\u8bed\u53e5\u65f6\u8f93\u51fa\u7684\u53c2\u6570\u503c\u7684\u6700\u5927\u957f\u5ea6\uff0c\u800c<a href=\"/docs/13/runtime-config-logging.html#GUC-LOG-PARAMETER-MAX-LENGTH-ON-ERROR\">log_parameter_max_length_on_error</a>\u5bf9\u51fa\u9519\u8bed\u53e5\u7684\u65e5\u5fd7\u6267\u884c\u76f8\u540c\u63a7\u5236\u3002\u4ee5\u524d\uff0c\u53d1\u751f\u9519\u8bef\u65f6\u4ece\u4e0d\u8bb0\u5f55\u9884\u5907\u8bed\u53e5\u7684\u53c2\u6570\u3002</p>", "text": "\u6539\u8fdb\u5bf9\u9884\u5907\u8bed\u53e5\u53c2\u6570\u65e5\u5fd7\u8bb0\u5f55\u7684\u63a7\u5236\uff08Alexey Bashtanov\uff0c\u00c1lvaro Herrera\uff09\u00a7 \u00a7 GUC \u8bbe\u7f6elog_parameter_max_length\u63a7\u5236\u8bb0\u5f55\u672a\u51fa\u9519\u8bed\u53e5\u65f6\u8f93\u51fa\u7684\u53c2\u6570\u503c\u7684\u6700\u5927\u957f\u5ea6\uff0c\u800clog_parameter_max_length_on_error\u5bf9\u51fa\u9519\u8bed\u53e5\u7684\u65e5\u5fd7\u6267\u884c\u76f8\u540c\u63a7\u5236\u3002\u4ee5\u524d\uff0c\u53d1\u751f\u9519\u8bef\u65f6\u4ece\u4e0d\u8bb0\u5f55\u9884\u5907\u8bed\u53e5\u7684\u53c2\u6570\u3002", "title": "\u6539\u8fdb\u5bf9\u9884\u5907\u8bed\u53e5\u53c2\u6570\u65e5\u5fd7\u8bb0\u5f55\u7684\u63a7\u5236", "commits": ["0b34e7d30", "ba79cb5dc"], "section": "\u670d\u52a1\u5668 / \u76d1\u63a7", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.3.6", "source_hash": "7f237edc904bad8c0bf5ab2893ef9f4d1981a1fd2ab9c35a0b09649315e41eca", "section_path": ["\u670d\u52a1\u5668", "\u76d1\u63a7"], "commit_groups": [["0b34e7d30"], ["ba79cb5dc"]], "identity_text": "Improve control of prepared statement parameter logging (Alexey Bashtanov, \u00c1lvaro Herrera) The GUC setting guc-log-parameter-max-length controls the maximum length of parameter values output during logging of non-error statements, while guc-log-parameter-max-length-on-error does the same for logging of statements with errors. Previously, prepared statement parameters were never logged during errors.", "commit_aliases": ["0b34e7d30", "ba79cb5dc"], "source_commits": ["0b34e7d30", "ba79cb5dc"], "source_entry_id": "13.0/changes/033", "db_id": "0eda34f47222bdf23c7178dbd7af0d7d", "patch_ids": ["892abc33cd6c56564cf2c12133a2d045", "f081b1d898afefe2d7eb29013c75bd56"], "statement_hash": "b00d94b41be0ecba2efa1d14b97fa13f2b5cb1b4e9e93d3210706381c1da32ae", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-fd504c5b579e31ab", "migration": false}, {"id": "13.0-586da60305fb7b08", "cves": [], "html": "<p>\u5141\u8bb8\u5728\u51fa\u9519\u540e\u8bb0\u5f55\u51fd\u6570\u8c03\u7528\u56de\u6eaf\uff08Peter Eisentraut\uff0c\u00c1lvaro Herrera\uff09<a href=\"https://postgr.es/c/71a8a4f6e\">\u00a7</a> <a href=\"https://postgr.es/c/8ff4d1277\">\u00a7</a></p>\n<p>\u65b0\u53c2\u6570<a href=\"/docs/13/runtime-config-developer.html#GUC-BACKTRACE-FUNCTIONS\">backtrace_functions</a>\u6307\u5b9a\u54ea\u4e9b C \u51fd\u6570\u5e94\u5728\u51fa\u9519\u65f6\u751f\u6210\u56de\u6eaf\u3002</p>", "text": "\u5141\u8bb8\u5728\u51fa\u9519\u540e\u8bb0\u5f55\u51fd\u6570\u8c03\u7528\u56de\u6eaf\uff08Peter Eisentraut\uff0c\u00c1lvaro Herrera\uff09\u00a7 \u00a7 \u65b0\u53c2\u6570backtrace_functions\u6307\u5b9a\u54ea\u4e9b C \u51fd\u6570\u5e94\u5728\u51fa\u9519\u65f6\u751f\u6210\u56de\u6eaf\u3002", "title": "\u5141\u8bb8\u5728\u51fa\u9519\u540e\u8bb0\u5f55\u51fd\u6570\u8c03\u7528\u56de\u6eaf", "commits": ["71a8a4f6e", "8ff4d1277"], "section": "\u670d\u52a1\u5668 / \u76d1\u63a7", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.3.6", "source_hash": "cabf22c51494731865edb0153f669c4f67bcef906a6b06ec9ede4bf55c823173", "section_path": ["\u670d\u52a1\u5668", "\u76d1\u63a7"], "commit_groups": [["71a8a4f6e"], ["8ff4d1277"]], "identity_text": "Allow function call backtraces to be logged after errors (Peter Eisentraut, \u00c1lvaro Herrera) The new parameter guc-backtrace-functions specifies which C functions should generate backtraces on error.", "commit_aliases": ["71a8a4f6e", "8ff4d1277"], "source_commits": ["71a8a4f6e", "8ff4d1277"], "source_entry_id": "13.0/changes/034", "db_id": "3699aac582bc0eec78d81d91995a0354", "patch_ids": ["2b80fdf05010f615558b8d50d0660b55", "65bdf4c3f4fde73434e42e2b52f30b2d"], "statement_hash": "7cbdab52fc728b1acb9d4e8935fac7e137cb73e832b5aeee1c1b420811870209", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-586da60305fb7b08", "migration": false}, {"id": "13.0-ff1361b3a01398ef", "cves": [], "html": "<p>\u5c06<a href=\"/docs/13/sql-vacuum.html\" title=\"VACUUM\">\u6e05\u7406</a>\u7684\u7f13\u51b2\u533a\u8ba1\u6570\u5668\u6269\u4e3a 64 \u4f4d\uff0c\u4ee5\u907f\u514d\u6ea2\u51fa\uff08\u00c1lvaro Herrera\uff09<a href=\"https://postgr.es/c/15d13e829\">\u00a7</a></p>", "text": "\u5c06\u6e05\u7406\u7684\u7f13\u51b2\u533a\u8ba1\u6570\u5668\u6269\u4e3a 64 \u4f4d\uff0c\u4ee5\u907f\u514d\u6ea2\u51fa\uff08\u00c1lvaro Herrera\uff09\u00a7", "title": "\u5c06\u6e05\u7406\u7684\u7f13\u51b2\u533a\u8ba1\u6570\u5668\u6269\u4e3a 64 \u4f4d\uff0c\u4ee5\u907f\u514d\u6ea2\u51fa", "commits": ["15d13e829"], "section": "\u670d\u52a1\u5668 / \u76d1\u63a7", "category": "bugfix", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.3.6", "source_hash": "e7ad771b468244f1b6bda4035a36701e031b8fa8eb99c340dc2cdf28aeb6d1f7", "section_path": ["\u670d\u52a1\u5668", "\u76d1\u63a7"], "commit_groups": [["15d13e829"]], "identity_text": "Make vacuum buffer counters 64-bits wide to avoid overflow (\u00c1lvaro Herrera)", "commit_aliases": ["15d13e829"], "source_commits": ["15d13e829"], "source_entry_id": "13.0/changes/035", "db_id": "66d40f6696228d548d1e3c049c034faa", "patch_ids": ["9ab19debd02d99f33901d8bd052a90c6"], "statement_hash": "a9f6ab10bce886b9cdab2527b5d0ac7a46e36bf00130974a62b0adf41efaca5a", "relations": [], "category_label": "BUG \u4fee\u590d", "url": "/docs/compare/?release=13.0#13.0-ff1361b3a01398ef", "migration": false}, {"id": "13.0-52a0b2a9e74f9722", "cves": [], "html": "<p>\u5411<a href=\"/docs/13/monitoring-stats.html#PG-STAT-ACTIVITY-VIEW\" title=\"\u8868\u00a027.3.\u00a0pg_stat_activity \u89c6\u56fe\">pg_stat_activity</a>\u6dfb\u52a0 <code>leader_pid</code>\uff0c\u4ee5\u62a5\u544a\u5e76\u884c\u5de5\u4f5c\u8fdb\u7a0b\u7684\u9886\u5bfc\u8005\u8fdb\u7a0b\uff08Julien Rouhaud\uff09<a href=\"https://postgr.es/c/b025f32e0\">\u00a7</a></p>", "text": "\u5411pg_stat_activity\u6dfb\u52a0 leader_pid\uff0c\u4ee5\u62a5\u544a\u5e76\u884c\u5de5\u4f5c\u8fdb\u7a0b\u7684\u9886\u5bfc\u8005\u8fdb\u7a0b\uff08Julien Rouhaud\uff09\u00a7", "title": "\u5411pg_stat_activity\u6dfb\u52a0 leader_pid\uff0c\u4ee5\u62a5\u544a\u5e76\u884c\u5de5\u4f5c\u8fdb\u7a0b\u7684\u9886\u5bfc\u8005\u8fdb\u7a0b", "commits": ["b025f32e0"], "section": "\u670d\u52a1\u5668 / \u7cfb\u7edf\u89c6\u56fe", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.3.7", "source_hash": "d956b342fc3c4e0765164c943359a8b278c5ef021d17f98ffff7e07e52461185", "section_path": ["\u670d\u52a1\u5668", "\u7cfb\u7edf\u89c6\u56fe"], "commit_groups": [["b025f32e0"]], "identity_text": "Add leader_pid to pg-stat-activity-view to report a parallel worker's leader process (Julien Rouhaud)", "commit_aliases": ["b025f32e0"], "source_commits": ["b025f32e0"], "source_entry_id": "13.0/changes/036", "db_id": "3829667db5ef5abb8ecfa3e27063691d", "patch_ids": ["8a3e2dd87ee7e018d4907a02460ed5f9"], "statement_hash": "c21d0caea9034f42e6df62777dad0f11e586ee80990f3f80578532bc490b96b6", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-52a0b2a9e74f9722", "migration": false}, {"id": "13.0-fd3441f8fe2a88bd", "cves": [], "html": "<p>\u589e\u52a0\u7cfb\u7edf\u89c6\u56fe <a href=\"/docs/13/progress-reporting.html#BASEBACKUP-PROGRESS-REPORTING\" title=\"27.4.5.\u00a0\u57fa\u7840\u5907\u4efd\u8fdb\u5ea6\u62a5\u544a\"><code>pg_stat_progress_basebackup</code></a>\uff0c\u4ee5\u62a5\u544a\u6d41\u5f0f\u57fa\u7840\u5907\u4efd\u7684\u8fdb\u5ea6\uff08Fujii Masao\uff09<a href=\"https://postgr.es/c/e65497df8\">\u00a7</a></p>", "text": "\u589e\u52a0\u7cfb\u7edf\u89c6\u56fe pg_stat_progress_basebackup\uff0c\u4ee5\u62a5\u544a\u6d41\u5f0f\u57fa\u7840\u5907\u4efd\u7684\u8fdb\u5ea6\uff08Fujii Masao\uff09\u00a7", "title": "\u589e\u52a0\u7cfb\u7edf\u89c6\u56fe pg_stat_progress_basebackup\uff0c\u4ee5\u62a5\u544a\u6d41\u5f0f\u57fa\u7840\u5907\u4efd\u7684\u8fdb\u5ea6", "commits": ["e65497df8"], "section": "\u670d\u52a1\u5668 / \u7cfb\u7edf\u89c6\u56fe", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.3.7", "source_hash": "def8a2b9dfe79e30a6fd6a8d776ba7d5b5927e31e2190b8cc50338e5a3ecfd62", "section_path": ["\u670d\u52a1\u5668", "\u7cfb\u7edf\u89c6\u56fe"], "commit_groups": [["e65497df8"]], "identity_text": "Add system view pg_stat_progress_basebackup to report the progress of streaming base backups (Fujii Masao)", "commit_aliases": ["e65497df8"], "source_commits": ["e65497df8"], "source_entry_id": "13.0/changes/037", "db_id": "19aacbebb92d873e455decfecd371b65", "patch_ids": ["ccbaef50c0f84ce962782a4c5b7e4a67"], "statement_hash": "2a70debc21d91de9cc6b929813b79bce3babf16cfa26bb69dc0a807356387f46", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-fd3441f8fe2a88bd", "migration": false}, {"id": "13.0-0bdd020ddff779b0", "cves": [], "html": "<p>\u589e\u52a0\u7cfb\u7edf\u89c6\u56fe <a href=\"/docs/13/monitoring-stats.html#MONITORING-STATS-DYNAMIC-VIEWS-TABLE\" title=\"\u8868\u00a027.1.\u00a0\u52a8\u6001\u7edf\u8ba1\u89c6\u56fe\"><code>pg_stat_progress_analyze</code></a>\uff0c\u4ee5\u62a5\u544a <a href=\"/docs/13/sql-analyze.html\" title=\"ANALYZE\">ANALYZE</a> \u8fdb\u5ea6\uff08\u00c1lvaro Herrera\uff0cTatsuro Yamada\uff0cVinayak Pokale\uff09<a href=\"https://postgr.es/c/a166d408e\">\u00a7</a></p>", "text": "\u589e\u52a0\u7cfb\u7edf\u89c6\u56fe pg_stat_progress_analyze\uff0c\u4ee5\u62a5\u544a ANALYZE \u8fdb\u5ea6\uff08\u00c1lvaro Herrera\uff0cTatsuro Yamada\uff0cVinayak Pokale\uff09\u00a7", "title": "\u589e\u52a0\u7cfb\u7edf\u89c6\u56fe pg_stat_progress_analyze\uff0c\u4ee5\u62a5\u544a ANALYZE \u8fdb\u5ea6", "commits": ["a166d408e"], "section": "\u670d\u52a1\u5668 / \u7cfb\u7edf\u89c6\u56fe", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.3.7", "source_hash": "95936c0ebe7b72fee353dadbe162a4372ec3cb664b34381d875e205412cffdf7", "section_path": ["\u670d\u52a1\u5668", "\u7cfb\u7edf\u89c6\u56fe"], "commit_groups": [["a166d408e"]], "identity_text": "Add system view pg_stat_progress_analyze to report ANALYZE progress (\u00c1lvaro Herrera, Tatsuro Yamada, Vinayak Pokale)", "commit_aliases": ["a166d408e"], "source_commits": ["a166d408e"], "source_entry_id": "13.0/changes/038", "db_id": "a48a84e7270ac0e05b97a4d1d7fc798e", "patch_ids": ["6e4fa850d433253028205d99c7c88062"], "statement_hash": "b1b838c9f484907552e2630e233ff18d2a0ceb7b2cd58bc755c6638ded7b66cd", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-0bdd020ddff779b0", "migration": false}, {"id": "13.0-1b8d3baa5b983902", "cves": [], "html": "<p>\u589e\u52a0\u7cfb\u7edf\u89c6\u56fe <a href=\"/docs/13/view-pg-shmem-allocations.html\" title=\"51.87.\u00a0pg_shmem_allocations\"><code>pg_shmem_allocations</code></a>\uff0c\u4ee5\u663e\u793a\u5171\u4eab\u5185\u5b58\u4f7f\u7528\u60c5\u51b5\uff08Andres Freund\uff0cRobert Haas\uff09<a href=\"https://postgr.es/c/ed10f32e3\">\u00a7</a></p>", "text": "\u589e\u52a0\u7cfb\u7edf\u89c6\u56fe pg_shmem_allocations\uff0c\u4ee5\u663e\u793a\u5171\u4eab\u5185\u5b58\u4f7f\u7528\u60c5\u51b5\uff08Andres Freund\uff0cRobert Haas\uff09\u00a7", "title": "\u589e\u52a0\u7cfb\u7edf\u89c6\u56fe pg_shmem_allocations\uff0c\u4ee5\u663e\u793a\u5171\u4eab\u5185\u5b58\u4f7f\u7528\u60c5\u51b5", "commits": ["ed10f32e3"], "section": "\u670d\u52a1\u5668 / \u7cfb\u7edf\u89c6\u56fe", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.3.7", "source_hash": "9efc244ed6000d308e65e57cfe8ced07c424aa35768ad447f29cfa857525e6df", "section_path": ["\u670d\u52a1\u5668", "\u7cfb\u7edf\u89c6\u56fe"], "commit_groups": [["ed10f32e3"]], "identity_text": "Add system view pg_shmem_allocations to display shared memory usage (Andres Freund, Robert Haas)", "commit_aliases": ["ed10f32e3"], "source_commits": ["ed10f32e3"], "source_entry_id": "13.0/changes/039", "db_id": "cba4db38ac0164a9d21fde5b11b6d07d", "patch_ids": ["d2d0ffce2915c3bd42733485b3aee687"], "statement_hash": "4ebeba8e5fbeb44a2759c0b3b23eae36b77ea775ab42c97819b95c2656b7c77f", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-1b8d3baa5b983902", "migration": false}, {"id": "13.0-a72bfbf53fc8a97a", "cves": [], "html": "<p>\u589e\u52a0\u7cfb\u7edf\u89c6\u56fe <a href=\"/docs/13/monitoring-stats.html#MONITORING-STATS-VIEWS-TABLE\" title=\"\u8868\u00a027.2.\u00a0\u5df2\u6536\u96c6\u7edf\u8ba1\u4fe1\u606f\u7684\u89c6\u56fe\"><code>pg_stat_slru</code></a>\uff0c\u4ee5\u76d1\u63a7\u5185\u90e8 <acronym>SLRU</acronym> \u7f13\u5b58\uff08Tomas Vondra\uff09<a href=\"https://postgr.es/c/28cac71bd\">\u00a7</a></p>", "text": "\u589e\u52a0\u7cfb\u7edf\u89c6\u56fe pg_stat_slru\uff0c\u4ee5\u76d1\u63a7\u5185\u90e8 SLRU \u7f13\u5b58\uff08Tomas Vondra\uff09\u00a7", "title": "\u589e\u52a0\u7cfb\u7edf\u89c6\u56fe pg_stat_slru\uff0c\u4ee5\u76d1\u63a7\u5185\u90e8 SLRU \u7f13\u5b58", "commits": ["28cac71bd"], "section": "\u670d\u52a1\u5668 / \u7cfb\u7edf\u89c6\u56fe", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.3.7", "source_hash": "50fd7875ce57d8a4cf5bff2b01b2202e84a84742a0157f53507aff3a1aad6afe", "section_path": ["\u670d\u52a1\u5668", "\u7cfb\u7edf\u89c6\u56fe"], "commit_groups": [["28cac71bd"]], "identity_text": "Add system view pg_stat_slru to monitor internal SLRU caches (Tomas Vondra)", "commit_aliases": ["28cac71bd"], "source_commits": ["28cac71bd"], "source_entry_id": "13.0/changes/040", "db_id": "4ac603ffd8700dfbbb1b178dad2f0291", "patch_ids": ["d3f0356030aac8aa504f09a9db23373c"], "statement_hash": "f227196df87df56552b46927586f89258080083396a177907c13380b9637f8ea", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-a72bfbf53fc8a97a", "migration": false}, {"id": "13.0-0e1ad5666cf74b95", "cves": [], "html": "<p>\u5141\u8bb8\u5c06<a href=\"/docs/13/runtime-config-statistics.html#GUC-TRACK-ACTIVITY-QUERY-SIZE\">track_activity_query_size</a>\u8bbe\u7f6e\u4e3a\u6700\u9ad8 1MB\uff08Vyacheslav Makarov\uff09<a href=\"https://postgr.es/c/814727858\">\u00a7</a></p>\n<p>\u4ee5\u524d\u7684\u6700\u5927\u503c\u4e3a 100kB\u3002</p>", "text": "\u5141\u8bb8\u5c06track_activity_query_size\u8bbe\u7f6e\u4e3a\u6700\u9ad8 1MB\uff08Vyacheslav Makarov\uff09\u00a7 \u4ee5\u524d\u7684\u6700\u5927\u503c\u4e3a 100kB\u3002", "title": "\u5141\u8bb8\u5c06track_activity_query_size\u8bbe\u7f6e\u4e3a\u6700\u9ad8 1MB", "commits": ["814727858"], "section": "\u670d\u52a1\u5668 / \u7cfb\u7edf\u89c6\u56fe", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.3.7", "source_hash": "c88a542e752b5c2dc9dcdda9577ba71511df010d224db0cd9a584896e22284c7", "section_path": ["\u670d\u52a1\u5668", "\u7cfb\u7edf\u89c6\u56fe"], "commit_groups": [["814727858"]], "identity_text": "Allow guc-track-activity-query-size to be set as high as 1MB (Vyacheslav Makarov) The previous maximum was 100kB.", "commit_aliases": ["814727858"], "source_commits": ["814727858"], "source_entry_id": "13.0/changes/041", "db_id": "1170c2e60e7bbe067fa09f4e9a55b00a", "patch_ids": ["bf97a0a3c183a355a1d122307df06933"], "statement_hash": "cf8794c0b094a8c67e221836d2a4030b0980db77036b83a8229ae1ceba7c8134", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-0e1ad5666cf74b95", "migration": false}, {"id": "13.0-1b8f0faedc891254", "cves": [], "html": "<p>\u4f7f\u7528 <code>posix_fallocate()</code> \u521b\u5efa DSM \u6bb5\u65f6\u62a5\u544a\u7b49\u5f85\u4e8b\u4ef6\uff08Thomas Munro\uff09<a href=\"https://postgr.es/c/ef02fb15a\">\u00a7</a></p>", "text": "\u4f7f\u7528 posix_fallocate() \u521b\u5efa DSM \u6bb5\u65f6\u62a5\u544a\u7b49\u5f85\u4e8b\u4ef6\uff08Thomas Munro\uff09\u00a7", "title": "\u4f7f\u7528 posix_fallocate() \u521b\u5efa DSM \u6bb5\u65f6\u62a5\u544a\u7b49\u5f85\u4e8b\u4ef6", "commits": ["ef02fb15a"], "section": "\u670d\u52a1\u5668 / \u7b49\u5f85\u4e8b\u4ef6", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.3.8", "source_hash": "827d946fcbd20e09f82a3961ba03323796bc92d5700fe179b21fd020900be56e", "section_path": ["\u670d\u52a1\u5668", "\u7b49\u5f85\u4e8b\u4ef6"], "commit_groups": [["ef02fb15a"]], "identity_text": "Report a wait event while creating a DSM segment with posix_fallocate() (Thomas Munro)", "commit_aliases": ["ef02fb15a"], "source_commits": ["ef02fb15a"], "source_entry_id": "13.0/changes/042", "db_id": "4cc4f68ab90a326ee93be5a2e752a028", "patch_ids": ["ff3febcddeaf331f02b7fabffbf20ed4"], "statement_hash": "66476d803519ef5d3ae621b4dc36c36b14ff4e9fffa68fec01f21648beca68f2", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-1b8f0faedc891254", "migration": false}, {"id": "13.0-d1933737ee185036", "cves": [], "html": "<p>\u589e\u52a0\u7b49\u5f85\u4e8b\u4ef6 VacuumDelay\uff0c\u4ee5\u62a5\u544a\u57fa\u4e8e\u4ee3\u4ef7\u7684\u6e05\u7406\u5ef6\u8fdf\uff08Justin Pryzby\uff09<a href=\"https://postgr.es/c/cedffbdb8\">\u00a7</a></p>", "text": "\u589e\u52a0\u7b49\u5f85\u4e8b\u4ef6 VacuumDelay\uff0c\u4ee5\u62a5\u544a\u57fa\u4e8e\u4ee3\u4ef7\u7684\u6e05\u7406\u5ef6\u8fdf\uff08Justin Pryzby\uff09\u00a7", "title": "\u589e\u52a0\u7b49\u5f85\u4e8b\u4ef6 VacuumDelay\uff0c\u4ee5\u62a5\u544a\u57fa\u4e8e\u4ee3\u4ef7\u7684\u6e05\u7406\u5ef6\u8fdf", "commits": ["cedffbdb8"], "section": "\u670d\u52a1\u5668 / \u7b49\u5f85\u4e8b\u4ef6", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.3.8", "source_hash": "5773676cc2f68f1e0dbd1e2163ea9b22673b4de138de51352f7e2b25741756c4", "section_path": ["\u670d\u52a1\u5668", "\u7b49\u5f85\u4e8b\u4ef6"], "commit_groups": [["cedffbdb8"]], "identity_text": "Add wait event VacuumDelay to report on cost-based vacuum delay (Justin Pryzby)", "commit_aliases": ["cedffbdb8"], "source_commits": ["cedffbdb8"], "source_entry_id": "13.0/changes/043", "db_id": "f8e060090e970c464b4288abe46d6d5f", "patch_ids": ["37e1b1003b1d18374b97562b7bc17a9b"], "statement_hash": "7bc8ff86a40914648be320bdce08e73d9848768f2d359beea99252d39313dc8c", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-d1933737ee185036", "migration": false}, {"id": "13.0-a64b2a48663380a1", "cves": [], "html": "<p>\u4e3a <acronym>WAL</acronym> \u5f52\u6863\u548c\u6062\u590d\u6682\u505c\u589e\u52a0\u7b49\u5f85\u4e8b\u4ef6\uff08Fujii Masao\uff09<a href=\"https://postgr.es/c/b8e20d6da\">\u00a7</a></p>\n<p>\u65b0\u589e\u4e8b\u4ef6\u4e3a BackupWaitWalArchive \u548c RecoveryPause\u3002</p>", "text": "\u4e3a WAL \u5f52\u6863\u548c\u6062\u590d\u6682\u505c\u589e\u52a0\u7b49\u5f85\u4e8b\u4ef6\uff08Fujii Masao\uff09\u00a7 \u65b0\u589e\u4e8b\u4ef6\u4e3a BackupWaitWalArchive \u548c RecoveryPause\u3002", "title": "\u4e3a WAL \u5f52\u6863\u548c\u6062\u590d\u6682\u505c\u589e\u52a0\u7b49\u5f85\u4e8b\u4ef6", "commits": ["b8e20d6da"], "section": "\u670d\u52a1\u5668 / \u7b49\u5f85\u4e8b\u4ef6", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.3.8", "source_hash": "e96b3f4bbe439ca9ed1fb70f6a06424c4b82bf8776ac994ee2ad39f768498b8a", "section_path": ["\u670d\u52a1\u5668", "\u7b49\u5f85\u4e8b\u4ef6"], "commit_groups": [["b8e20d6da"]], "identity_text": "Add wait events for WAL archive and recovery pause (Fujii Masao) The new events are BackupWaitWalArchive and RecoveryPause.", "commit_aliases": ["b8e20d6da"], "source_commits": ["b8e20d6da"], "source_entry_id": "13.0/changes/044", "db_id": "3c5c0ec2c2eaaf0e60de9d8776cca018", "patch_ids": ["6fe0a06951d273b69d16762c4bbd476d"], "statement_hash": "1455246aa9e8be1b2c6db7f90fd462c183efc2b262421b54a0f53189470dcd8d", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-a64b2a48663380a1", "migration": false}, {"id": "13.0-3c2868ca5caef8a8", "cves": [], "html": "<p>\u589e\u52a0\u7b49\u5f85\u4e8b\u4ef6 RecoveryConflictSnapshot \u548c RecoveryConflictTablespace\uff0c\u4ee5\u76d1\u63a7\u6062\u590d\u51b2\u7a81\uff08Masahiko Sawada\uff09<a href=\"https://postgr.es/c/18808f8c8\">\u00a7</a></p>", "text": "\u589e\u52a0\u7b49\u5f85\u4e8b\u4ef6 RecoveryConflictSnapshot \u548c RecoveryConflictTablespace\uff0c\u4ee5\u76d1\u63a7\u6062\u590d\u51b2\u7a81\uff08Masahiko Sawada\uff09\u00a7", "title": "\u589e\u52a0\u7b49\u5f85\u4e8b\u4ef6 RecoveryConflictSnapshot \u548c RecoveryConflictTablespace\uff0c\u4ee5\u76d1\u63a7\u6062\u590d\u51b2\u7a81", "commits": ["18808f8c8"], "section": "\u670d\u52a1\u5668 / \u7b49\u5f85\u4e8b\u4ef6", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.3.8", "source_hash": "548d1dd2d926b717d99f3836ed6e79841853ca9e3fc9ec2ada1a41ce520853e9", "section_path": ["\u670d\u52a1\u5668", "\u7b49\u5f85\u4e8b\u4ef6"], "commit_groups": [["18808f8c8"]], "identity_text": "Add wait events RecoveryConflictSnapshot and RecoveryConflictTablespace to monitor recovery conflicts (Masahiko Sawada)", "commit_aliases": ["18808f8c8"], "source_commits": ["18808f8c8"], "source_entry_id": "13.0/changes/045", "db_id": "18551dad406ad2db47d34eac3fe960a8", "patch_ids": ["f6119c017b405cdac8f6d130d83da14f"], "statement_hash": "60b28341cf367db6caaa1a879ab3c02364e4bb58eee1c4efb0f3edb7f66c70e9", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-3c2868ca5caef8a8", "migration": false}, {"id": "13.0-06d77f031c9ce92f", "cves": [], "html": "<p>\u63d0\u9ad8\u57fa\u4e8e <acronym>BSD</acronym> \u7684\u7cfb\u7edf\u4e0a\u7684\u7b49\u5f85\u4e8b\u4ef6\u6027\u80fd\uff08Thomas Munro\uff09<a href=\"https://postgr.es/c/815c2f097\">\u00a7</a></p>", "text": "\u63d0\u9ad8\u57fa\u4e8e BSD \u7684\u7cfb\u7edf\u4e0a\u7684\u7b49\u5f85\u4e8b\u4ef6\u6027\u80fd\uff08Thomas Munro\uff09\u00a7", "title": "\u63d0\u9ad8\u57fa\u4e8e BSD \u7684\u7cfb\u7edf\u4e0a\u7684\u7b49\u5f85\u4e8b\u4ef6\u6027\u80fd", "commits": ["815c2f097"], "section": "\u670d\u52a1\u5668 / \u7b49\u5f85\u4e8b\u4ef6", "category": "performance", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.3.8", "source_hash": "69f83a91fc14e426f8beffe2317bdab23f2bcb05549e2273d8cc94a01c924b43", "section_path": ["\u670d\u52a1\u5668", "\u7b49\u5f85\u4e8b\u4ef6"], "commit_groups": [["815c2f097"]], "identity_text": "Improve performance of wait events on BSD-based systems (Thomas Munro)", "commit_aliases": ["815c2f097"], "source_commits": ["815c2f097"], "source_entry_id": "13.0/changes/046", "db_id": "49a30a50342df4fd32c125ea122f1a25", "patch_ids": ["7997291c64481ef3186b842291852cf4"], "statement_hash": "300271c104184e5ec2c00e0c6dc5a11c973212edbcb91fd4f7dd8000e2526019", "relations": [], "category_label": "\u6027\u80fd\u6539\u8fdb", "url": "/docs/compare/?release=13.0#13.0-06d77f031c9ce92f", "migration": false}, {"id": "13.0-ce4ef8ca83cd7206", "cves": [], "html": "<p>\u53ea\u5141\u8bb8\u8d85\u7ea7\u7528\u6237\u67e5\u770b<a href=\"/docs/13/runtime-config-connection.html#GUC-SSL-PASSPHRASE-COMMAND\">ssl_passphrase_command</a>\u8bbe\u7f6e\uff08Insung Moon\uff09<a href=\"https://postgr.es/c/d9249441e\">\u00a7</a></p>\n<p>\u6b64\u9879\u4fee\u6539\u51fa\u4e8e\u5b89\u5168\u8003\u8651\u3002</p>", "text": "\u53ea\u5141\u8bb8\u8d85\u7ea7\u7528\u6237\u67e5\u770bssl_passphrase_command\u8bbe\u7f6e\uff08Insung Moon\uff09\u00a7 \u6b64\u9879\u4fee\u6539\u51fa\u4e8e\u5b89\u5168\u8003\u8651\u3002", "title": "\u53ea\u5141\u8bb8\u8d85\u7ea7\u7528\u6237\u67e5\u770bssl_passphrase_command\u8bbe\u7f6e", "commits": ["d9249441e"], "section": "\u670d\u52a1\u5668 / Authentication", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.3.9", "source_hash": "226c42b74a60629e3f8a4260a367987baac11178c074d5f8aa01046752e6fc79", "section_path": ["\u670d\u52a1\u5668", "Authentication"], "commit_groups": [["d9249441e"]], "identity_text": "Allow only superusers to view the guc-ssl-passphrase-command setting (Insung Moon) This was changed as a security precaution.", "commit_aliases": ["d9249441e"], "source_commits": ["d9249441e"], "source_entry_id": "13.0/changes/047", "db_id": "c66ac81f2a3b5ecd323a61be808b8429", "patch_ids": ["5280dc5a8da5303479b58c8240552d8c"], "statement_hash": "9c0220af1b7541e620bd0ca827dcfbb7c50c38d697dc0fcd4e076808b3d60681", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-ce4ef8ca83cd7206", "migration": false}, {"id": "13.0-4f65efe7f0f9e292", "cves": [], "html": "<p>\u5c06\u670d\u52a1\u5668\u52a0\u5bc6\u8fde\u63a5\u9ed8\u8ba4\u5141\u8bb8\u7684\u6700\u4f4e <acronym>TLS</acronym> \u7248\u672c\u4ece 1.0 \u6539\u4e3a 1.2\uff08Peter Eisentraut\uff09<a href=\"https://postgr.es/c/b1abfec82\">\u00a7</a></p>\n<p>\u53ef\u4ee5\u901a\u8fc7<a href=\"/docs/13/runtime-config-connection.html#GUC-SSL-MIN-PROTOCOL-VERSION\">ssl_min_protocol_version</a>\u63a7\u5236\u8fd9\u4e00\u9009\u62e9\u3002</p>", "text": "\u5c06\u670d\u52a1\u5668\u52a0\u5bc6\u8fde\u63a5\u9ed8\u8ba4\u5141\u8bb8\u7684\u6700\u4f4e TLS \u7248\u672c\u4ece 1.0 \u6539\u4e3a 1.2\uff08Peter Eisentraut\uff09\u00a7 \u53ef\u4ee5\u901a\u8fc7ssl_min_protocol_version\u63a7\u5236\u8fd9\u4e00\u9009\u62e9\u3002", "title": "\u5c06\u670d\u52a1\u5668\u52a0\u5bc6\u8fde\u63a5\u9ed8\u8ba4\u5141\u8bb8\u7684\u6700\u4f4e TLS \u7248\u672c\u4ece 1.0 \u6539\u4e3a 1.2", "commits": ["b1abfec82"], "section": "\u670d\u52a1\u5668 / Authentication", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.3.9", "source_hash": "c6b0eba6301163530b5745be783c8877ab471814003afbd69cf45f845c9037c9", "section_path": ["\u670d\u52a1\u5668", "Authentication"], "commit_groups": [["b1abfec82"]], "identity_text": "Change the server's default minimum TLS version for encrypted connections from 1.0 to 1.2 (Peter Eisentraut) This choice can be controlled by guc-ssl-min-protocol-version .", "commit_aliases": ["b1abfec82"], "source_commits": ["b1abfec82"], "source_entry_id": "13.0/changes/048", "db_id": "5c2c5a268df7491419c32bc517eaea8c", "patch_ids": ["7ad6a5fe72361815924c7802609eaf1c"], "statement_hash": "4a13db69ffd2882e8200179c884898dae52dc72e16d20356bf6f7195e2c9f608", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-4f65efe7f0f9e292", "migration": false}, {"id": "13.0-8baf37c1017aee58", "cves": [], "html": "<p>\u6536\u7d27\u5173\u4e8e\u53ea\u8bfb\u4e8b\u52a1\u6a21\u5f0f\u4e0b\u5141\u8bb8\u6267\u884c\u54ea\u4e9b\u5b9e\u7528\u547d\u4ee4\u7684\u89c4\u5219\uff08Robert Haas\uff09<a href=\"https://postgr.es/c/2eb34ac36\">\u00a7</a></p>\n<p>\u6b64\u9879\u4fee\u6539\u8fd8\u589e\u52a0\u4e86\u53ef\u5728\u5e76\u884c\u67e5\u8be2\u4e2d\u8fd0\u884c\u7684\u5b9e\u7528\u547d\u4ee4\u6570\u91cf\u3002</p>", "text": "\u6536\u7d27\u5173\u4e8e\u53ea\u8bfb\u4e8b\u52a1\u6a21\u5f0f\u4e0b\u5141\u8bb8\u6267\u884c\u54ea\u4e9b\u5b9e\u7528\u547d\u4ee4\u7684\u89c4\u5219\uff08Robert Haas\uff09\u00a7 \u6b64\u9879\u4fee\u6539\u8fd8\u589e\u52a0\u4e86\u53ef\u5728\u5e76\u884c\u67e5\u8be2\u4e2d\u8fd0\u884c\u7684\u5b9e\u7528\u547d\u4ee4\u6570\u91cf\u3002", "title": "\u6536\u7d27\u5173\u4e8e\u53ea\u8bfb\u4e8b\u52a1\u6a21\u5f0f\u4e0b\u5141\u8bb8\u6267\u884c\u54ea\u4e9b\u5b9e\u7528\u547d\u4ee4\u7684\u89c4\u5219", "commits": ["2eb34ac36"], "section": "\u670d\u52a1\u5668 / \u670d\u52a1\u5668\u914d\u7f6e", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.3.10", "source_hash": "38e74dfdae557f021130443065eb136f078a15ff7eb2847bbbb73910f765b401", "section_path": ["\u670d\u52a1\u5668", "\u670d\u52a1\u5668\u914d\u7f6e"], "commit_groups": [["2eb34ac36"]], "identity_text": "Tighten rules on which utility commands are allowed in read-only transaction mode (Robert Haas) This change also increases the number of utility commands that can run in parallel queries.", "commit_aliases": ["2eb34ac36"], "source_commits": ["2eb34ac36"], "source_entry_id": "13.0/changes/049", "db_id": "3f841bd64c40391a956b84092c26442f", "patch_ids": ["7d03e2a8274f02d98945329edc68e378"], "statement_hash": "8fe790f3c0f31459a2487610657bbf8256e98f5e3f53a9a453f354afdb4e3a57", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-8baf37c1017aee58", "migration": false}, {"id": "13.0-c73013e1bc78e314", "cves": [], "html": "<p>\u5141\u8bb8\u5728\u670d\u52a1\u5668\u542f\u52a8\u540e\u4fee\u6539<a href=\"/docs/13/runtime-config-developer.html#GUC-ALLOW-SYSTEM-TABLE-MODS\">allow_system_table_mods</a>\uff08Peter Eisentraut\uff09<a href=\"https://postgr.es/c/c4a7a392e\">\u00a7</a></p>", "text": "\u5141\u8bb8\u5728\u670d\u52a1\u5668\u542f\u52a8\u540e\u4fee\u6539allow_system_table_mods\uff08Peter Eisentraut\uff09\u00a7", "title": "\u5141\u8bb8\u5728\u670d\u52a1\u5668\u542f\u52a8\u540e\u4fee\u6539allow_system_table_mods", "commits": ["c4a7a392e"], "section": "\u670d\u52a1\u5668 / \u670d\u52a1\u5668\u914d\u7f6e", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.3.10", "source_hash": "12b0ba5414b928e3869101f3390ccee89605a91c8904cce92c42c501494fc396", "section_path": ["\u670d\u52a1\u5668", "\u670d\u52a1\u5668\u914d\u7f6e"], "commit_groups": [["c4a7a392e"]], "identity_text": "Allow guc-allow-system-table-mods to be changed after server start (Peter Eisentraut)", "commit_aliases": ["c4a7a392e"], "source_commits": ["c4a7a392e"], "source_entry_id": "13.0/changes/050", "db_id": "9e89d87637b1b9e7d2afa6f5a00ae036", "patch_ids": ["cd9fcb222f261787497a20ccb7db1cd7"], "statement_hash": "740b7abc54511ea4ef9b23e51c8b02d585bcb76088b628e407a6a3aa43c2b817", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-c73013e1bc78e314", "migration": false}, {"id": "13.0-ae1223a4f885c222", "cves": [], "html": "<p>\u5728\u8bbe\u7f6e<a href=\"/docs/13/runtime-config-developer.html#GUC-ALLOW-SYSTEM-TABLE-MODS\">allow_system_table_mods</a>\u65f6\uff0c\u7981\u6b62\u975e\u8d85\u7ea7\u7528\u6237\u4fee\u6539\u7cfb\u7edf\u8868\uff08Peter Eisentraut\uff09<a href=\"https://postgr.es/c/508bf95b7\">\u00a7</a></p>\n<p>\u4ee5\u524d\uff0c\u5982\u679c\u5728\u670d\u52a1\u5668\u542f\u52a8\u65f6\u8bbe\u7f6e\u4e86<a href=\"/docs/13/runtime-config-developer.html#GUC-ALLOW-SYSTEM-TABLE-MODS\">allow_system_table_mods</a>\uff0c\u975e\u8d85\u7ea7\u7528\u6237\u5c31\u53ef\u4ee5\u5bf9\u7cfb\u7edf\u8868\u6267\u884c <code>INSERT</code>/<code>UPDATE</code>/<code>DELETE</code> \u547d\u4ee4\u3002</p>", "text": "\u5728\u8bbe\u7f6eallow_system_table_mods\u65f6\uff0c\u7981\u6b62\u975e\u8d85\u7ea7\u7528\u6237\u4fee\u6539\u7cfb\u7edf\u8868\uff08Peter Eisentraut\uff09\u00a7 \u4ee5\u524d\uff0c\u5982\u679c\u5728\u670d\u52a1\u5668\u542f\u52a8\u65f6\u8bbe\u7f6e\u4e86allow_system_table_mods\uff0c\u975e\u8d85\u7ea7\u7528\u6237\u5c31\u53ef\u4ee5\u5bf9\u7cfb\u7edf\u8868\u6267\u884c INSERT/UPDATE/DELETE \u547d\u4ee4\u3002", "title": "\u5728\u8bbe\u7f6eallow_system_table_mods\u65f6\uff0c\u7981\u6b62\u975e\u8d85\u7ea7\u7528\u6237\u4fee\u6539\u7cfb\u7edf\u8868", "commits": ["508bf95b7"], "section": "\u670d\u52a1\u5668 / \u670d\u52a1\u5668\u914d\u7f6e", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.3.10", "source_hash": "695c93636bc72f14b4a2580068be6b826cd70208926ef549f993e7c2242b8f5f", "section_path": ["\u670d\u52a1\u5668", "\u670d\u52a1\u5668\u914d\u7f6e"], "commit_groups": [["508bf95b7"]], "identity_text": "Disallow non-superusers from modifying system tables when guc-allow-system-table-mods is set (Peter Eisentraut) Previously, if guc-allow-system-table-mods was set at server start, non-superusers could issue INSERT/UPDATE/DELETE commands on system tables.", "commit_aliases": ["508bf95b7"], "source_commits": ["508bf95b7"], "source_entry_id": "13.0/changes/051", "db_id": "e31f4c31f6f53e0ec0a56b0bba443c2f", "patch_ids": ["5ac2835ad7c212ab93f49d2f731977c8"], "statement_hash": "13747ec7824c60a01b218a1442d90ca658debc27b19da8f0d45e366bb272c133", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-ae1223a4f885c222", "migration": false}, {"id": "13.0-b479106d389cd02d", "cves": [], "html": "<p>\u5728 Windows \u4e0a\u542f\u7528 <a href=\"/docs/13/runtime-config-connection.html#RUNTIME-CONFIG-CONNECTION-SETTINGS\" title=\"19.3.1.\u00a0\u8fde\u63a5\u8bbe\u7f6e\">Unix \u57df\u5957\u63a5\u5b57</a>\u652f\u6301\uff08Peter Eisentraut\uff09<a href=\"https://postgr.es/c/8f3ec75de\">\u00a7</a></p>", "text": "\u5728 Windows \u4e0a\u542f\u7528 Unix \u57df\u5957\u63a5\u5b57\u652f\u6301\uff08Peter Eisentraut\uff09\u00a7", "title": "\u5728 Windows \u4e0a\u542f\u7528 Unix \u57df\u5957\u63a5\u5b57\u652f\u6301", "commits": ["8f3ec75de"], "section": "\u670d\u52a1\u5668 / \u670d\u52a1\u5668\u914d\u7f6e", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.3.10", "source_hash": "870ffbbc6dd8154cef58e9ddf5f2b6e790b52111b54f0fa717ae17d70f1aca5f", "section_path": ["\u670d\u52a1\u5668", "\u670d\u52a1\u5668\u914d\u7f6e"], "commit_groups": [["8f3ec75de"]], "identity_text": "Enable support for Unix-domain sockets on Windows (Peter Eisentraut)", "commit_aliases": ["8f3ec75de"], "source_commits": ["8f3ec75de"], "source_entry_id": "13.0/changes/052", "db_id": "085a6be2139c683f39bc852acb6047da", "patch_ids": ["2df2d63d3558909645f3e95415869b78"], "statement_hash": "bc449d57dbff88a63bd227b82e80cc902427f599b4f3f72d74542af75a9cbf0d", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-b479106d389cd02d", "migration": false}, {"id": "13.0-c4986c9592f7281e", "cves": [], "html": "<p>\u5141\u8bb8\u901a\u8fc7\u91cd\u8f7d\u66f4\u6539\u6d41\u590d\u5236\u914d\u7f6e\u8bbe\u7f6e\uff08Sergei Kornilov\uff09<a href=\"https://postgr.es/c/1e6148032\">\u00a7</a></p>\n<p>\u4ee5\u524d\uff0c\u66f4\u6539<a href=\"/docs/13/runtime-config-replication.html#GUC-PRIMARY-CONNINFO\">primary_conninfo</a>\u548c<a href=\"/docs/13/runtime-config-replication.html#GUC-PRIMARY-SLOT-NAME\">primary_slot_name</a>\u9700\u8981\u91cd\u542f\u670d\u52a1\u5668\u3002</p>", "text": "\u5141\u8bb8\u901a\u8fc7\u91cd\u8f7d\u66f4\u6539\u6d41\u590d\u5236\u914d\u7f6e\u8bbe\u7f6e\uff08Sergei Kornilov\uff09\u00a7 \u4ee5\u524d\uff0c\u66f4\u6539primary_conninfo\u548cprimary_slot_name\u9700\u8981\u91cd\u542f\u670d\u52a1\u5668\u3002", "title": "\u5141\u8bb8\u901a\u8fc7\u91cd\u8f7d\u66f4\u6539\u6d41\u590d\u5236\u914d\u7f6e\u8bbe\u7f6e", "commits": ["1e6148032"], "section": "\u6d41\u590d\u5236\u548c\u6062\u590d", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.4", "source_hash": "8b377a2a3c1cdc3523750f5f949de1ecf799d56c0dbcce8ec4bc8f63270a197b", "section_path": ["\u6d41\u590d\u5236\u548c\u6062\u590d"], "commit_groups": [["1e6148032"]], "identity_text": "Allow streaming replication configuration settings to be changed by reload (Sergei Kornilov) Previously, a server restart was required to change guc-primary-conninfo and guc-primary-slot-name .", "commit_aliases": ["1e6148032"], "source_commits": ["1e6148032"], "source_entry_id": "13.0/changes/053", "db_id": "d0505e2cb7f102e3e085be5d4d522af6", "patch_ids": ["b24cedea135a297c03667904d6bfe734"], "statement_hash": "463baf5e6ec87607839da705f542525b6a3154b4c33c9ef9f7a9c28bb01ee40d", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-c4986c9592f7281e", "migration": false}, {"id": "13.0-c883484ddbcb0521", "cves": [], "html": "<p>\u5141\u8bb8 <acronym>WAL</acronym> \u63a5\u6536\u8fdb\u7a0b\u5728\u672a\u6307\u5b9a\u6c38\u4e45\u590d\u5236\u69fd\u65f6\u4f7f\u7528\u4e34\u65f6\u590d\u5236\u69fd\uff08Peter Eisentraut\uff0cSergei Kornilov\uff09<a href=\"https://postgr.es/c/329730827\">\u00a7</a> <a href=\"https://postgr.es/c/092c6936d\">\u00a7</a></p>\n<p>\u53ef\u4ee5\u4f7f\u7528<a href=\"/docs/13/runtime-config-replication.html#GUC-WAL-RECEIVER-CREATE-TEMP-SLOT\">wal_receiver_create_temp_slot</a>\u542f\u7528\u6b64\u884c\u4e3a\u3002</p>", "text": "\u5141\u8bb8 WAL \u63a5\u6536\u8fdb\u7a0b\u5728\u672a\u6307\u5b9a\u6c38\u4e45\u590d\u5236\u69fd\u65f6\u4f7f\u7528\u4e34\u65f6\u590d\u5236\u69fd\uff08Peter Eisentraut\uff0cSergei Kornilov\uff09\u00a7 \u00a7 \u53ef\u4ee5\u4f7f\u7528wal_receiver_create_temp_slot\u542f\u7528\u6b64\u884c\u4e3a\u3002", "title": "\u5141\u8bb8 WAL \u63a5\u6536\u8fdb\u7a0b\u5728\u672a\u6307\u5b9a\u6c38\u4e45\u590d\u5236\u69fd\u65f6\u4f7f\u7528\u4e34\u65f6\u590d\u5236\u69fd", "commits": ["092c6936d", "329730827"], "section": "\u6d41\u590d\u5236\u548c\u6062\u590d", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.4", "source_hash": "6418c303e2a89e7b07e7524311a5c1adbf78f7d60f8eba946dff4f942940d46f", "section_path": ["\u6d41\u590d\u5236\u548c\u6062\u590d"], "commit_groups": [["092c6936d"], ["329730827"]], "identity_text": "Allow WAL receivers to use a temporary replication slot when a permanent one is not specified (Peter Eisentraut, Sergei Kornilov) This behavior can be enabled using guc-wal-receiver-create-temp-slot .", "commit_aliases": ["092c6936d", "329730827"], "source_commits": ["092c6936d", "329730827"], "source_entry_id": "13.0/changes/054", "db_id": "ea2877c8cb768c4a3911e75b41113785", "patch_ids": ["3c629804e6f984eceaf172deb0a1589d", "de0e9551aee5abf4bbafd350c8d5c725"], "statement_hash": "cc6cafbb7486fa67f5b8d9adcb065a330360a8dbf8fe764f77d20ce2cfa198f3", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-c883484ddbcb0521", "migration": false}, {"id": "13.0-0594c433c92f0e46", "cves": [], "html": "<p>\u5141\u8bb8\u901a\u8fc7<a href=\"/docs/13/runtime-config-replication.html#GUC-MAX-SLOT-WAL-KEEP-SIZE\">max_slot_wal_keep_size</a>\u9650\u5236\u590d\u5236\u69fd\u7684 WAL \u5b58\u50a8\u91cf\uff08Kyotaro Horiguchi\uff09<a href=\"https://postgr.es/c/c65507763\">\u00a7</a></p>\n<p>\u9700\u8981\u8d85\u8fc7\u6b64\u503c\u7684\u590d\u5236\u69fd\u4f1a\u88ab\u6807\u8bb0\u4e3a\u65e0\u6548\u3002</p>", "text": "\u5141\u8bb8\u901a\u8fc7max_slot_wal_keep_size\u9650\u5236\u590d\u5236\u69fd\u7684 WAL \u5b58\u50a8\u91cf\uff08Kyotaro Horiguchi\uff09\u00a7 \u9700\u8981\u8d85\u8fc7\u6b64\u503c\u7684\u590d\u5236\u69fd\u4f1a\u88ab\u6807\u8bb0\u4e3a\u65e0\u6548\u3002", "title": "\u5141\u8bb8\u901a\u8fc7max_slot_wal_keep_size\u9650\u5236\u590d\u5236\u69fd\u7684 WAL \u5b58\u50a8\u91cf", "commits": ["c65507763"], "section": "\u6d41\u590d\u5236\u548c\u6062\u590d", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.4", "source_hash": "870d0258609dbf9104424fc8cf7f075fc96c798f19ac27cf3d63e28bbd48fc70", "section_path": ["\u6d41\u590d\u5236\u548c\u6062\u590d"], "commit_groups": [["c65507763"]], "identity_text": "Allow WAL storage for replication slots to be limited by guc-max-slot-wal-keep-size (Kyotaro Horiguchi) Replication slots that would require exceeding this value are marked invalid.", "commit_aliases": ["c65507763"], "source_commits": ["c65507763"], "source_entry_id": "13.0/changes/055", "db_id": "110211fc7e7685a87adb6710b56b43e5", "patch_ids": ["60c0ed98bb39ff47b8b77fc8c96f0458"], "statement_hash": "916f9b60abad1762852445e4836b01f37ed5b1596ea142fda4a335c6368c40b0", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-0594c433c92f0e46", "migration": false}, {"id": "13.0-4c444aeb4e44e9d7", "cves": [], "html": "<p>\u5141\u8bb8<a href=\"/docs/13/runtime-config-replication.html#GUC-PROMOTE-TRIGGER-FILE\">\u5907\u5e93\u63d0\u5347</a>\u53d6\u6d88\u4efb\u4f55\u5df2\u8bf7\u6c42\u7684\u6682\u505c\uff08Fujii Masao\uff09<a href=\"https://postgr.es/c/496ee647e\">\u00a7</a></p>\n<p>\u4ee5\u524d\uff0c\u5907\u5e93\u5904\u4e8e\u6682\u505c\u72b6\u6001\u65f6\u65e0\u6cd5\u63d0\u5347\u3002</p>", "text": "\u5141\u8bb8\u5907\u5e93\u63d0\u5347\u53d6\u6d88\u4efb\u4f55\u5df2\u8bf7\u6c42\u7684\u6682\u505c\uff08Fujii Masao\uff09\u00a7 \u4ee5\u524d\uff0c\u5907\u5e93\u5904\u4e8e\u6682\u505c\u72b6\u6001\u65f6\u65e0\u6cd5\u63d0\u5347\u3002", "title": "\u5141\u8bb8\u5907\u5e93\u63d0\u5347\u53d6\u6d88\u4efb\u4f55\u5df2\u8bf7\u6c42\u7684\u6682\u505c", "commits": ["496ee647e"], "section": "\u6d41\u590d\u5236\u548c\u6062\u590d", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.4", "source_hash": "b908fa6dc2dd2e7573a2aae30f1cdfc5227684b6a98a4220951455485d848f45", "section_path": ["\u6d41\u590d\u5236\u548c\u6062\u590d"], "commit_groups": [["496ee647e"]], "identity_text": "Allow standby promotion to cancel any requested pause (Fujii Masao) Previously, promotion could not happen while the standby was in paused state.", "commit_aliases": ["496ee647e"], "source_commits": ["496ee647e"], "source_entry_id": "13.0/changes/056", "db_id": "f85af48367bb3e0eb4f9b26373696b68", "patch_ids": ["7162fd0b5dda9a3a9555ae9ffcb3a29b"], "statement_hash": "05d0f6083463f1395bd4d594aa8309af8f8c37e1011c001ce0d7924ac24c8d10", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-4c444aeb4e44e9d7", "migration": false}, {"id": "13.0-77bbff998a726842", "cves": [], "html": "<p>\u5982\u679c\u6062\u590d\u672a\u5230\u8fbe\u6307\u5b9a\u7684<a href=\"/docs/13/runtime-config-wal.html#RUNTIME-CONFIG-WAL-RECOVERY-TARGET\" title=\"19.5.5.\u00a0\u6062\u590d\u76ee\u6807\">\u6062\u590d\u76ee\u6807</a>\uff0c\u5219\u4ea7\u751f\u9519\u8bef\uff08Leif Gunnar Erlandsen\uff0cPeter Eisentraut\uff09<a href=\"https://postgr.es/c/dc788668b\">\u00a7</a></p>\n<p>\u4ee5\u524d\uff0c\u5373\u4f7f\u672a\u5230\u8fbe\u76ee\u6807\uff0c\u5907\u5e93\u4e5f\u4f1a\u5728\u5230\u8fbe <acronym>WAL</acronym> \u672b\u5c3e\u65f6\u81ea\u884c\u63d0\u5347\u3002</p>", "text": "\u5982\u679c\u6062\u590d\u672a\u5230\u8fbe\u6307\u5b9a\u7684\u6062\u590d\u76ee\u6807\uff0c\u5219\u4ea7\u751f\u9519\u8bef\uff08Leif Gunnar Erlandsen\uff0cPeter Eisentraut\uff09\u00a7 \u4ee5\u524d\uff0c\u5373\u4f7f\u672a\u5230\u8fbe\u76ee\u6807\uff0c\u5907\u5e93\u4e5f\u4f1a\u5728\u5230\u8fbe WAL \u672b\u5c3e\u65f6\u81ea\u884c\u63d0\u5347\u3002", "title": "\u5982\u679c\u6062\u590d\u672a\u5230\u8fbe\u6307\u5b9a\u7684\u6062\u590d\u76ee\u6807\uff0c\u5219\u4ea7\u751f\u9519\u8bef", "commits": ["dc788668b"], "section": "\u6d41\u590d\u5236\u548c\u6062\u590d", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.4", "source_hash": "a4242e1d543af272ba3ca66e31dcea62ead47c486b8920f817a540d124a83f00", "section_path": ["\u6d41\u590d\u5236\u548c\u6062\u590d"], "commit_groups": [["dc788668b"]], "identity_text": "Generate an error if recovery does not reach the specified recovery target (Leif Gunnar Erlandsen, Peter Eisentraut) Previously, a standby would promote itself upon reaching the end of WAL, even if the target was not reached.", "commit_aliases": ["dc788668b"], "source_commits": ["dc788668b"], "source_entry_id": "13.0/changes/057", "db_id": "77b80acc34a77ffea5bc5dc1b6d4bb95", "patch_ids": ["043d34097516e02b303b661eb5f157cc"], "statement_hash": "41149dd4a61e3bdf7ede3011b3776e9576e65e503f2a7a1b6e74fb33867d2c37", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-77bbff998a726842", "migration": false}, {"id": "13.0-d02a302fadd64751", "cves": [], "html": "<p>\u5141\u8bb8\u63a7\u5236\u903b\u8f91\u89e3\u7801\u5728\u6ea2\u5199\u5230\u78c1\u76d8\u4e4b\u524d\u53ef\u4ee5\u4f7f\u7528\u591a\u5c11\u5185\u5b58\uff08Tomas Vondra\uff0cDilip Kumar\uff0cAmit Kapila\uff09<a href=\"https://postgr.es/c/cec2edfa7\">\u00a7</a></p>\n<p>\u8fd9\u7531<a href=\"/docs/13/runtime-config-resource.html#GUC-LOGICAL-DECODING-WORK-MEM\">logical_decoding_work_mem</a>\u63a7\u5236\u3002</p>", "text": "\u5141\u8bb8\u63a7\u5236\u903b\u8f91\u89e3\u7801\u5728\u6ea2\u5199\u5230\u78c1\u76d8\u4e4b\u524d\u53ef\u4ee5\u4f7f\u7528\u591a\u5c11\u5185\u5b58\uff08Tomas Vondra\uff0cDilip Kumar\uff0cAmit Kapila\uff09\u00a7 \u8fd9\u7531logical_decoding_work_mem\u63a7\u5236\u3002", "title": "\u5141\u8bb8\u63a7\u5236\u903b\u8f91\u89e3\u7801\u5728\u6ea2\u5199\u5230\u78c1\u76d8\u4e4b\u524d\u53ef\u4ee5\u4f7f\u7528\u591a\u5c11\u5185\u5b58", "commits": ["cec2edfa7"], "section": "\u6d41\u590d\u5236\u548c\u6062\u590d", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.4", "source_hash": "41a5662f166bb1635058f113c68f1c893ab8086221871e957115c781dacb8272", "section_path": ["\u6d41\u590d\u5236\u548c\u6062\u590d"], "commit_groups": [["cec2edfa7"]], "identity_text": "Allow control over how much memory is used by logical decoding before it is spilled to disk (Tomas Vondra, Dilip Kumar, Amit Kapila) This is controlled by guc-logical-decoding-work-mem .", "commit_aliases": ["cec2edfa7"], "source_commits": ["cec2edfa7"], "source_entry_id": "13.0/changes/058", "db_id": "7ccd917692de25d8ae4dd65d0306be35", "patch_ids": ["a532f21cdbf2e4ad880e24f2b6e4d871"], "statement_hash": "96de4a3584ba794d000c1756787dc0644dbcf908172edfb04b8958c27ac6474a", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-d02a302fadd64751", "migration": false}, {"id": "13.0-71f98bc622cbce98", "cves": [], "html": "<p>\u5141\u8bb8\u5728 <acronym>WAL</acronym> \u5f15\u7528\u65e0\u6548\u9875\u9762\u65f6\u4ecd\u7ee7\u7eed\u6062\u590d\uff08Fujii Masao\uff09<a href=\"https://postgr.es/c/41c184bc6\">\u00a7</a></p>\n<p>\u53ef\u4ee5\u4f7f\u7528<a href=\"/docs/13/runtime-config-developer.html#GUC-IGNORE-INVALID-PAGES\">ignore_invalid_pages</a>\u542f\u7528\u6b64\u529f\u80fd\u3002</p>", "text": "\u5141\u8bb8\u5728 WAL \u5f15\u7528\u65e0\u6548\u9875\u9762\u65f6\u4ecd\u7ee7\u7eed\u6062\u590d\uff08Fujii Masao\uff09\u00a7 \u53ef\u4ee5\u4f7f\u7528ignore_invalid_pages\u542f\u7528\u6b64\u529f\u80fd\u3002", "title": "\u5141\u8bb8\u5728 WAL \u5f15\u7528\u65e0\u6548\u9875\u9762\u65f6\u4ecd\u7ee7\u7eed\u6062\u590d", "commits": ["41c184bc6"], "section": "\u6d41\u590d\u5236\u548c\u6062\u590d", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.4", "source_hash": "6ec200812b6ad4cec0918c3f9b747705f82eb5085ba0276a1d6f5ecde78d267f", "section_path": ["\u6d41\u590d\u5236\u548c\u6062\u590d"], "commit_groups": [["41c184bc6"]], "identity_text": "Allow recovery to continue even if invalid pages are referenced by WAL (Fujii Masao) This is enabled using guc-ignore-invalid-pages .", "commit_aliases": ["41c184bc6"], "source_commits": ["41c184bc6"], "source_entry_id": "13.0/changes/059", "db_id": "a973ea53ebce821fb732b93cfef17dbb", "patch_ids": ["8a817a60461bc1bb19f7799d2c329690"], "statement_hash": "265a9f63d0731f9c9381933d095869d8f52f32b13691b0e87d141379cf5a4db9", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-71f98bc622cbce98", "migration": false}, {"id": "13.0-d08d6af9ae56c8c0", "cves": [], "html": "<p>\u5141\u8bb8 <a href=\"/docs/13/sql-vacuum.html\" title=\"VACUUM\"><code>VACUUM</code></a> \u5e76\u884c\u5904\u7406\u4e00\u4e2a\u8868\u7684\u5404\u4e2a\u7d22\u5f15\uff08Masahiko Sawada\uff0cAmit Kapila\uff09<a href=\"https://postgr.es/c/40d964ec9\">\u00a7</a></p>\n<p>\u65b0\u589e\u7684 <code>PARALLEL</code> \u9009\u9879\u63a7\u5236\u6b64\u884c\u4e3a\u3002</p>", "text": "\u5141\u8bb8 VACUUM \u5e76\u884c\u5904\u7406\u4e00\u4e2a\u8868\u7684\u5404\u4e2a\u7d22\u5f15\uff08Masahiko Sawada\uff0cAmit Kapila\uff09\u00a7 \u65b0\u589e\u7684 PARALLEL \u9009\u9879\u63a7\u5236\u6b64\u884c\u4e3a\u3002", "title": "\u5141\u8bb8 VACUUM \u5e76\u884c\u5904\u7406\u4e00\u4e2a\u8868\u7684\u5404\u4e2a\u7d22\u5f15", "commits": ["40d964ec9"], "section": "\u5de5\u5177\u547d\u4ee4", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.5", "source_hash": "8c5fb4badc383f663abb314c7ba271e41d78b1b22fd2de2573df755dbbf42cad", "section_path": ["\u5de5\u5177\u547d\u4ee4"], "commit_groups": [["40d964ec9"]], "identity_text": "Allow VACUUM to process a table's indexes in parallel (Masahiko Sawada, Amit Kapila) The new PARALLEL option controls this.", "commit_aliases": ["40d964ec9"], "source_commits": ["40d964ec9"], "source_entry_id": "13.0/changes/060", "db_id": "cf5f1bf04f38474a35b23c6e8730f5be", "patch_ids": ["81966cbd859a9b651705aeb1297d84c1"], "statement_hash": "4d37e4010fd7be3258aa32e99e29420d020e5135bb87054534898c9cc560ee6e", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-d08d6af9ae56c8c0", "migration": false}, {"id": "13.0-a539ec8b2160341b", "cves": [], "html": "<p>\u5141\u8bb8 <a href=\"/docs/13/sql-select.html#SQL-LIMIT\" title=\"LIMIT \u5b50\u53e5\"><code>FETCH FIRST</code></a> \u4f7f\u7528 <code>WITH TIES</code> \u8fd4\u56de\u4e0e\u6700\u540e\u4e00\u4e2a\u7ed3\u679c\u884c\u7684\u6392\u5e8f\u503c\u76f8\u540c\u7684\u6240\u6709\u989d\u5916\u884c\uff08Surafel Temesgen\uff09<a href=\"https://postgr.es/c/357889eb1\">\u00a7</a></p>", "text": "\u5141\u8bb8 FETCH FIRST \u4f7f\u7528 WITH TIES \u8fd4\u56de\u4e0e\u6700\u540e\u4e00\u4e2a\u7ed3\u679c\u884c\u7684\u6392\u5e8f\u503c\u76f8\u540c\u7684\u6240\u6709\u989d\u5916\u884c\uff08Surafel Temesgen\uff09\u00a7", "title": "\u5141\u8bb8 FETCH FIRST \u4f7f\u7528 WITH TIES \u8fd4\u56de\u4e0e\u6700\u540e\u4e00\u4e2a\u7ed3\u679c\u884c\u7684\u6392\u5e8f\u503c\u76f8\u540c\u7684\u6240\u6709\u989d\u5916\u884c", "commits": ["357889eb1"], "section": "\u5de5\u5177\u547d\u4ee4", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.5", "source_hash": "0a5a209cdae566268f5bbc156e3545329214c9b3a0b713582c510e3cb63de91d", "section_path": ["\u5de5\u5177\u547d\u4ee4"], "commit_groups": [["357889eb1"]], "identity_text": "Allow FETCH FIRST to use WITH TIES to return any additional rows that match the last result row (Surafel Temesgen)", "commit_aliases": ["357889eb1"], "source_commits": ["357889eb1"], "source_entry_id": "13.0/changes/061", "db_id": "758167f947d41f691132c5a0b79c738d", "patch_ids": ["0722c634d85b79722461a3c3d7a52374"], "statement_hash": "1934d04ca961148f105c5943abc1e0270a1f7b0f501aac9cf3ed2b243bb81994", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-a539ec8b2160341b", "migration": false}, {"id": "13.0-20615200860ee550", "cves": [], "html": "<p>\u5728 <a href=\"/docs/13/sql-explain.html\" title=\"EXPLAIN\"><code>EXPLAIN</code></a> \u7684 <code>BUFFER</code> \u8f93\u51fa\u4e2d\u62a5\u544a\u89c4\u5212\u671f\u95f4\u7684\u7f13\u51b2\u533a\u4f7f\u7528\u60c5\u51b5\uff08Julien Rouhaud\uff09<a href=\"https://postgr.es/c/ce77abe63\">\u00a7</a></p>", "text": "\u5728 EXPLAIN \u7684 BUFFER \u8f93\u51fa\u4e2d\u62a5\u544a\u89c4\u5212\u671f\u95f4\u7684\u7f13\u51b2\u533a\u4f7f\u7528\u60c5\u51b5\uff08Julien Rouhaud\uff09\u00a7", "title": "\u5728 EXPLAIN \u7684 BUFFER \u8f93\u51fa\u4e2d\u62a5\u544a\u89c4\u5212\u671f\u95f4\u7684\u7f13\u51b2\u533a\u4f7f\u7528\u60c5\u51b5", "commits": ["ce77abe63"], "section": "\u5de5\u5177\u547d\u4ee4", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.5", "source_hash": "5f768b3880d7ce630ba8e0b2a592f0aacc75ac47f2903183b5375047004eaf7e", "section_path": ["\u5de5\u5177\u547d\u4ee4"], "commit_groups": [["ce77abe63"]], "identity_text": "Report planning-time buffer usage in EXPLAIN's BUFFER output (Julien Rouhaud)", "commit_aliases": ["ce77abe63"], "source_commits": ["ce77abe63"], "source_entry_id": "13.0/changes/062", "db_id": "8f07d9accb5991fa6400a4429b787491", "patch_ids": ["600fc008248baef05e03a4746a9853fc"], "statement_hash": "fbc91931464891df07f845627e2b99ac0f0f34140fb6a72298704109e749abbe", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-20615200860ee550", "migration": false}, {"id": "13.0-e90bde58cbd1a875", "cves": [], "html": "<p>\u4f7f <a href=\"/docs/13/sql-createtable.html\" title=\"CREATE TABLE\"><code>CREATE TABLE LIKE</code></a> \u5c06 <code>CHECK</code> \u7ea6\u675f\u7684 <code>NO INHERIT</code> \u5c5e\u6027\u4f20\u9012\u7ed9\u6240\u521b\u5efa\u7684\u8868\uff08Ildar Musin\uff0cChris Travers\uff09<a href=\"https://postgr.es/c/cacef1722\">\u00a7</a></p>", "text": "\u4f7f CREATE TABLE LIKE \u5c06 CHECK \u7ea6\u675f\u7684 NO INHERIT \u5c5e\u6027\u4f20\u9012\u7ed9\u6240\u521b\u5efa\u7684\u8868\uff08Ildar Musin\uff0cChris Travers\uff09\u00a7", "title": "\u4f7f CREATE TABLE LIKE \u5c06 CHECK \u7ea6\u675f\u7684 NO INHERIT \u5c5e\u6027\u4f20\u9012\u7ed9\u6240\u521b\u5efa\u7684\u8868", "commits": ["cacef1722"], "section": "\u5de5\u5177\u547d\u4ee4", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.5", "source_hash": "0914e5543bad0d497a8b6b5f03e632eb66c8a61da44d4a4dfa0a168bdb704cf5", "section_path": ["\u5de5\u5177\u547d\u4ee4"], "commit_groups": [["cacef1722"]], "identity_text": "Make CREATE TABLE LIKE propagate a CHECK constraint's NO INHERIT property to the created table (Ildar Musin, Chris Travers)", "commit_aliases": ["cacef1722"], "source_commits": ["cacef1722"], "source_entry_id": "13.0/changes/063", "db_id": "2a1767e797337dae88fa6fb7fa257b84", "patch_ids": ["8deb804e5729e0cb774f15860f71b5ea"], "statement_hash": "b936a3d20fed8417436b28a331248d1405ca9de80dd53f5469464fe38f4fa7d9", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-e90bde58cbd1a875", "migration": false}, {"id": "13.0-61c4692459348145", "cves": [], "html": "<p>\u5bf9\u5206\u533a\u8868\u4f7f\u7528 <a href=\"/docs/13/sql-lock.html\" title=\"LOCK\"><code>LOCK TABLE</code></a> \u65f6\uff0c\u4e0d\u68c0\u67e5\u5b50\u8868\u4e0a\u7684\u6743\u9650\uff08Amit Langote\uff09<a href=\"https://postgr.es/c/b7e51b350\">\u00a7</a></p>", "text": "\u5bf9\u5206\u533a\u8868\u4f7f\u7528 LOCK TABLE \u65f6\uff0c\u4e0d\u68c0\u67e5\u5b50\u8868\u4e0a\u7684\u6743\u9650\uff08Amit Langote\uff09\u00a7", "title": "\u5bf9\u5206\u533a\u8868\u4f7f\u7528 LOCK TABLE \u65f6\uff0c\u4e0d\u68c0\u67e5\u5b50\u8868\u4e0a\u7684\u6743\u9650", "commits": ["b7e51b350"], "section": "\u5de5\u5177\u547d\u4ee4", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.5", "source_hash": "d8cbda949883773d712b91c2a5d42465a58a61bf717ff529494ed40e1e1a8e36", "section_path": ["\u5de5\u5177\u547d\u4ee4"], "commit_groups": [["b7e51b350"]], "identity_text": "When using LOCK TABLE on a partitioned table, do not check permissions on the child tables (Amit Langote)", "commit_aliases": ["b7e51b350"], "source_commits": ["b7e51b350"], "source_entry_id": "13.0/changes/064", "db_id": "ad223e09d65b05a33fd10e892f343b30", "patch_ids": ["55ab6dc638d5c00a6992294ef163c3c0"], "statement_hash": "883db03d1be129e69c9524a51b12bedc0531c36ee3d5395b1239b39c8e9c3f3c", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-61c4692459348145", "migration": false}, {"id": "13.0-116a7ae63f48b779", "cves": [], "html": "<p>\u5141\u8bb8\u5411\u6807\u8bc6\u5217\u63d2\u5165\u65f6\u4f7f\u7528 <a href=\"/docs/13/sql-insert.html\" title=\"INSERT\"><code>OVERRIDING USER VALUE</code></a>\uff08Dean Rasheed\uff09<a href=\"https://postgr.es/c/de3bbfcc9\">\u00a7</a></p>", "text": "\u5141\u8bb8\u5411\u6807\u8bc6\u5217\u63d2\u5165\u65f6\u4f7f\u7528 OVERRIDING USER VALUE\uff08Dean Rasheed\uff09\u00a7", "title": "\u5141\u8bb8\u5411\u6807\u8bc6\u5217\u63d2\u5165\u65f6\u4f7f\u7528 OVERRIDING USER VALUE", "commits": ["de3bbfcc9"], "section": "\u5de5\u5177\u547d\u4ee4", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.5", "source_hash": "a3af6b41de8c028527b409028ad4c4353ab999c42c74d6f54c7478f2cb31c177", "section_path": ["\u5de5\u5177\u547d\u4ee4"], "commit_groups": [["de3bbfcc9"]], "identity_text": "Allow OVERRIDING USER VALUE on inserts into identity columns (Dean Rasheed)", "commit_aliases": ["de3bbfcc9"], "source_commits": ["de3bbfcc9"], "source_entry_id": "13.0/changes/065", "db_id": "1a6ad6c838826c96b5e51935250ab35a", "patch_ids": ["e3afc56ca7ad296f02951aa2cecadaaa"], "statement_hash": "4b7dc0af9747eb0f3ea238a31b4627478d842bc0f962a9e859846fbd42073111", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-116a7ae63f48b779", "migration": false}, {"id": "13.0-c8d79bf3fb03f75c", "cves": [], "html": "<p>\u589e\u52a0 <a href=\"/docs/13/sql-altertable.html\" title=\"ALTER TABLE\"><code>ALTER TABLE ... DROP EXPRESSION</code></a>\uff0c\u4ee5\u5141\u8bb8\u79fb\u9664\u5217\u7684 <code>GENERATED</code> \u5c5e\u6027\uff08Peter Eisentraut\uff09<a href=\"https://postgr.es/c/f595117e2\">\u00a7</a></p>", "text": "\u589e\u52a0 ALTER TABLE ... DROP EXPRESSION\uff0c\u4ee5\u5141\u8bb8\u79fb\u9664\u5217\u7684 GENERATED \u5c5e\u6027\uff08Peter Eisentraut\uff09\u00a7", "title": "\u589e\u52a0 ALTER TABLE ... DROP EXPRESSION\uff0c\u4ee5\u5141\u8bb8\u79fb\u9664\u5217\u7684 GENERATED \u5c5e\u6027", "commits": ["f595117e2"], "section": "\u5de5\u5177\u547d\u4ee4", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.5", "source_hash": "69479a9c46c2ce8b78485f035e9b5a2b37ce88393c21be215d3bcf43e0f7e3a3", "section_path": ["\u5de5\u5177\u547d\u4ee4"], "commit_groups": [["f595117e2"]], "identity_text": "Add ALTER TABLE ... DROP EXPRESSION to allow removing the GENERATED property from a column (Peter Eisentraut)", "commit_aliases": ["f595117e2"], "source_commits": ["f595117e2"], "source_entry_id": "13.0/changes/066", "db_id": "be5da8da8cf68702f9985b784015e0c0", "patch_ids": ["1e49a2990cdf1aa180697a8c3055a6de"], "statement_hash": "9a8d670fa1ec2f99924dbf4cfc75d2a60fddd716b6325170b4304d0f4f82cfe0", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-c8d79bf3fb03f75c", "migration": false}, {"id": "13.0-e4f741ff124502f2", "cves": [], "html": "<p>\u4fee\u590d\u591a\u6b65\u9aa4 <code>ALTER TABLE</code> \u547d\u4ee4\u4e2d\u7684\u7f3a\u9677\uff08Tom Lane\uff09<a href=\"https://postgr.es/c/1281a5c90\">\u00a7</a></p>\n<p><code>IF NOT EXISTS</code> \u5b50\u53e5\u73b0\u5728\u6309\u9884\u671f\u5de5\u4f5c\uff1a\u5982\u679c\u5217\u5df2\u5b58\u5728\uff0c\u5c31\u4e0d\u4f1a\u6267\u884c\u6d3e\u751f\u64cd\u4f5c\uff08\u4f8b\u5982\u521b\u5efa\u7d22\u5f15\uff09\u3002\u53e6\u5916\uff0c\u5c06\u76f8\u5173\u64cd\u4f5c\u5408\u5e76\u5230\u4e00\u6761 <code>ALTER TABLE</code> \u4e2d\u7684\u67d0\u4e9b\u60c5\u51b5\uff0c\u4ee5\u524d\u65e0\u6cd5\u6b63\u5e38\u5de5\u4f5c\uff0c\u73b0\u5728\u4e5f\u5df2\u53ef\u7528\u3002</p>", "text": "\u4fee\u590d\u591a\u6b65\u9aa4 ALTER TABLE \u547d\u4ee4\u4e2d\u7684\u7f3a\u9677\uff08Tom Lane\uff09\u00a7 IF NOT EXISTS \u5b50\u53e5\u73b0\u5728\u6309\u9884\u671f\u5de5\u4f5c\uff1a\u5982\u679c\u5217\u5df2\u5b58\u5728\uff0c\u5c31\u4e0d\u4f1a\u6267\u884c\u6d3e\u751f\u64cd\u4f5c\uff08\u4f8b\u5982\u521b\u5efa\u7d22\u5f15\uff09\u3002\u53e6\u5916\uff0c\u5c06\u76f8\u5173\u64cd\u4f5c\u5408\u5e76\u5230\u4e00\u6761 ALTER TABLE \u4e2d\u7684\u67d0\u4e9b\u60c5\u51b5\uff0c\u4ee5\u524d\u65e0\u6cd5\u6b63\u5e38\u5de5\u4f5c\uff0c\u73b0\u5728\u4e5f\u5df2\u53ef\u7528\u3002", "title": "\u4fee\u590d\u591a\u6b65\u9aa4 ALTER TABLE \u547d\u4ee4\u4e2d\u7684\u7f3a\u9677", "commits": ["1281a5c90"], "section": "\u5de5\u5177\u547d\u4ee4", "category": "bugfix", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.5", "source_hash": "8a705852a509054a8ea12e82d822b113314d4ff37cfb4e922d351065249075b2", "section_path": ["\u5de5\u5177\u547d\u4ee4"], "commit_groups": [["1281a5c90"]], "identity_text": "Fix bugs in multi-step ALTER TABLE commands (Tom Lane) IF NOT EXISTS clauses now work as expected, in that derived actions (such as index creation) do not execute if the column already exists. Also, certain cases of combining related actions into one ALTER TABLE now work when they did not before.", "commit_aliases": ["1281a5c90"], "source_commits": ["1281a5c90"], "source_entry_id": "13.0/changes/067", "db_id": "cc302a41190b65a4967014539fe1fc20", "patch_ids": ["2f8c8a4fbd0230ca2bcc14c05668ca67"], "statement_hash": "11c9aac65b733ab0100f78933573bf3b6bb29b6006220a8678521cf8c291aa8b", "relations": [], "category_label": "BUG \u4fee\u590d", "url": "/docs/compare/?release=13.0#13.0-e4f741ff124502f2", "migration": false}, {"id": "13.0-a0b5f3c2c2a18dae", "cves": [], "html": "<p>\u589e\u52a0\u7528\u4e8e\u91cd\u547d\u540d\u89c6\u56fe\u5217\u7684 <a href=\"/docs/13/sql-alterview.html\" title=\"ALTER VIEW\"><code>ALTER VIEW</code></a> \u8bed\u6cd5\uff08Fujii Masao\uff09<a href=\"https://postgr.es/c/30840c92a\">\u00a7</a></p>\n<p>\u4ee5\u524d\u5df2\u7ecf\u53ef\u4ee5\u91cd\u547d\u540d\u89c6\u56fe\u5217\uff0c\u4f46\u5fc5\u987b\u5199\u6210 <code>ALTER TABLE RENAME COLUMN</code>\uff0c\u8fd9\u4ee4\u4eba\u56f0\u60d1\u3002</p>", "text": "\u589e\u52a0\u7528\u4e8e\u91cd\u547d\u540d\u89c6\u56fe\u5217\u7684 ALTER VIEW \u8bed\u6cd5\uff08Fujii Masao\uff09\u00a7 \u4ee5\u524d\u5df2\u7ecf\u53ef\u4ee5\u91cd\u547d\u540d\u89c6\u56fe\u5217\uff0c\u4f46\u5fc5\u987b\u5199\u6210 ALTER TABLE RENAME COLUMN\uff0c\u8fd9\u4ee4\u4eba\u56f0\u60d1\u3002", "title": "\u589e\u52a0\u7528\u4e8e\u91cd\u547d\u540d\u89c6\u56fe\u5217\u7684 ALTER VIEW \u8bed\u6cd5", "commits": ["30840c92a"], "section": "\u5de5\u5177\u547d\u4ee4", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.5", "source_hash": "2b130f68a5f74b033441cd31be7fc480e406bbaa4e2c5ffcf79facd70b3766f7", "section_path": ["\u5de5\u5177\u547d\u4ee4"], "commit_groups": [["30840c92a"]], "identity_text": "Add ALTER VIEW syntax to rename view columns (Fujii Masao) Renaming view columns was already possible, but one had to write ALTER TABLE RENAME COLUMN, which is confusing.", "commit_aliases": ["30840c92a"], "source_commits": ["30840c92a"], "source_entry_id": "13.0/changes/068", "db_id": "84484d08c97382d08ed635f4c9c97732", "patch_ids": ["c902672f363b15ead3613dd9190f78cb"], "statement_hash": "b6ae2651a09c5c699f396aa078d85620a9f7aa6b6328b267dabf0a3f4128d25d", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-a0b5f3c2c2a18dae", "migration": false}, {"id": "13.0-c760d6acaf7ea3ef", "cves": [], "html": "<p>\u589e\u52a0 <a href=\"/docs/13/sql-altertype.html\" title=\"ALTER TYPE\"><code>ALTER TYPE</code></a> \u9009\u9879\uff0c\u4ee5\u4fee\u6539\u57fa\u7840\u7c7b\u578b\u7684 <acronym>TOAST</acronym> \u5c5e\u6027\u548c\u652f\u6301\u51fd\u6570\uff08Tomas Vondra\uff0cTom Lane\uff09<a href=\"https://postgr.es/c/fe30e7ebf\">\u00a7</a></p>", "text": "\u589e\u52a0 ALTER TYPE \u9009\u9879\uff0c\u4ee5\u4fee\u6539\u57fa\u7840\u7c7b\u578b\u7684 TOAST \u5c5e\u6027\u548c\u652f\u6301\u51fd\u6570\uff08Tomas Vondra\uff0cTom Lane\uff09\u00a7", "title": "\u589e\u52a0 ALTER TYPE \u9009\u9879\uff0c\u4ee5\u4fee\u6539\u57fa\u7840\u7c7b\u578b\u7684 TOAST \u5c5e\u6027\u548c\u652f\u6301\u51fd\u6570", "commits": ["fe30e7ebf"], "section": "\u5de5\u5177\u547d\u4ee4", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.5", "source_hash": "684a8bac49c1e39937a449c029216ca17abd67d22347493bff1704bc48864a66", "section_path": ["\u5de5\u5177\u547d\u4ee4"], "commit_groups": [["fe30e7ebf"]], "identity_text": "Add ALTER TYPE options to modify a base type's TOAST properties and support functions (Tomas Vondra, Tom Lane)", "commit_aliases": ["fe30e7ebf"], "source_commits": ["fe30e7ebf"], "source_entry_id": "13.0/changes/069", "db_id": "2f798bfa54abc8d4e5584fde4addb07e", "patch_ids": ["4ecc919cfbc47008d7afe18311435c55"], "statement_hash": "5db207ded51c198669892ba947e687a430539885b104ab797967fd02a53b7de8", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-c760d6acaf7ea3ef", "migration": false}, {"id": "13.0-559943474c45d76f", "cves": [], "html": "<p>\u589e\u52a0 <a href=\"/docs/13/sql-createdatabase.html\" title=\"CREATE DATABASE\"><code>CREATE DATABASE</code></a> \u7684 <code>LOCALE</code> \u9009\u9879\uff08Peter Eisentraut\uff09<a href=\"https://postgr.es/c/06140c201\">\u00a7</a></p>\n<p>\u8fd9\u5c06\u73b0\u6709\u7684 <code>LC_COLLATE</code> \u548c <code>LC_CTYPE</code> \u9009\u9879\u5408\u5e76\u4e3a\u5355\u4e2a\u9009\u9879\u3002</p>", "text": "\u589e\u52a0 CREATE DATABASE \u7684 LOCALE \u9009\u9879\uff08Peter Eisentraut\uff09\u00a7 \u8fd9\u5c06\u73b0\u6709\u7684 LC_COLLATE \u548c LC_CTYPE \u9009\u9879\u5408\u5e76\u4e3a\u5355\u4e2a\u9009\u9879\u3002", "title": "\u589e\u52a0 CREATE DATABASE \u7684 LOCALE \u9009\u9879", "commits": ["06140c201"], "section": "\u5de5\u5177\u547d\u4ee4", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.5", "source_hash": "4b6fc481ce9b9fc0ded987c7af32f7225efe7d632810b7ae7047988d8f1f834a", "section_path": ["\u5de5\u5177\u547d\u4ee4"], "commit_groups": [["06140c201"]], "identity_text": "Add CREATE DATABASE LOCALE option (Peter Eisentraut) This combines the existing options LC_COLLATE and LC_CTYPE into a single option.", "commit_aliases": ["06140c201"], "source_commits": ["06140c201"], "source_entry_id": "13.0/changes/070", "db_id": "753c38fd0c0a897330a68e7b56c01304", "patch_ids": ["401f1d5e36c99145cd07b94c944949c7"], "statement_hash": "05b37b0f519737c502ae03946f6ed6e56d4ee38fbcd91f2a882bc7f2051268a5", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-559943474c45d76f", "migration": false}, {"id": "13.0-64ebe5556325dac8", "cves": [], "html": "<p>\u5141\u8bb8 <a href=\"/docs/13/sql-dropdatabase.html\" title=\"DROP DATABASE\"><code>DROP DATABASE</code></a> \u65ad\u5f00\u6b63\u5728\u4f7f\u7528\u76ee\u6807\u6570\u636e\u5e93\u7684\u4f1a\u8bdd\uff0c\u4ee5\u4f7f\u5220\u9664\u6210\u529f\uff08Pavel Stehule\uff0cAmit Kapila\uff09<a href=\"https://postgr.es/c/1379fd537\">\u00a7</a></p>\n<p>\u8fd9\u901a\u8fc7 <code>FORCE</code> \u9009\u9879\u542f\u7528\u3002</p>", "text": "\u5141\u8bb8 DROP DATABASE \u65ad\u5f00\u6b63\u5728\u4f7f\u7528\u76ee\u6807\u6570\u636e\u5e93\u7684\u4f1a\u8bdd\uff0c\u4ee5\u4f7f\u5220\u9664\u6210\u529f\uff08Pavel Stehule\uff0cAmit Kapila\uff09\u00a7 \u8fd9\u901a\u8fc7 FORCE \u9009\u9879\u542f\u7528\u3002", "title": "\u5141\u8bb8 DROP DATABASE \u65ad\u5f00\u6b63\u5728\u4f7f\u7528\u76ee\u6807\u6570\u636e\u5e93\u7684\u4f1a\u8bdd\uff0c\u4ee5\u4f7f\u5220\u9664\u6210\u529f", "commits": ["1379fd537"], "section": "\u5de5\u5177\u547d\u4ee4", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.5", "source_hash": "e02a480ecb734e4759437f1c13efc310068b80f152e625a35f1ef1c3804fc464", "section_path": ["\u5de5\u5177\u547d\u4ee4"], "commit_groups": [["1379fd537"]], "identity_text": "Allow DROP DATABASE to disconnect sessions using the target database, allowing the drop to succeed (Pavel Stehule, Amit Kapila) This is enabled by the FORCE option.", "commit_aliases": ["1379fd537"], "source_commits": ["1379fd537"], "source_entry_id": "13.0/changes/071", "db_id": "c0ce12c9e221027935a2dac8861859ff", "patch_ids": ["38184ef7af1b5d694051c5be13eb663f"], "statement_hash": "445bc3c17fb1e1e9c5d9a8edc078fd1c6193160132ac62bed8f4c15b651993b0", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-64ebe5556325dac8", "migration": false}, {"id": "13.0-b68a2fea534737ed", "cves": [], "html": "<p>\u589e\u52a0\u7ed3\u6784\u6210\u5458 <a href=\"/docs/13/trigger-interface.html\" title=\"38.3.\u00a0\u7528 C \u7f16\u5199\u89e6\u53d1\u5668\u51fd\u6570\"><code>tg_updatedcols</code></a>\uff0c\u4f7f C \u8bed\u8a00\u66f4\u65b0\u89e6\u53d1\u5668\u80fd\u591f\u77e5\u9053\u54ea\u4e9b\u5217\u88ab\u66f4\u65b0\uff08Peter Eisentraut\uff09<a href=\"https://postgr.es/c/71d60e2aa\">\u00a7</a></p>", "text": "\u589e\u52a0\u7ed3\u6784\u6210\u5458 tg_updatedcols\uff0c\u4f7f C \u8bed\u8a00\u66f4\u65b0\u89e6\u53d1\u5668\u80fd\u591f\u77e5\u9053\u54ea\u4e9b\u5217\u88ab\u66f4\u65b0\uff08Peter Eisentraut\uff09\u00a7", "title": "\u589e\u52a0\u7ed3\u6784\u6210\u5458 tg_updatedcols\uff0c\u4f7f C \u8bed\u8a00\u66f4\u65b0\u89e6\u53d1\u5668\u80fd\u591f\u77e5\u9053\u54ea\u4e9b\u5217\u88ab\u66f4\u65b0", "commits": ["71d60e2aa"], "section": "\u5de5\u5177\u547d\u4ee4", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.5", "source_hash": "9c1bdce5d8d053249deb52c5b044ac4da8c3d169f357acae25fba6b224d2d5b8", "section_path": ["\u5de5\u5177\u547d\u4ee4"], "commit_groups": [["71d60e2aa"]], "identity_text": "Add structure member tg_updatedcols to allow C-language update triggers to know which column(s) were updated (Peter Eisentraut)", "commit_aliases": ["71d60e2aa"], "source_commits": ["71d60e2aa"], "source_entry_id": "13.0/changes/072", "db_id": "90e704a95f1166eca3ab3747c3de73ac", "patch_ids": ["a3ea931a85a831bb97428aa67f12105e"], "statement_hash": "54d88b10478a770da96283f37554e2768ef3da2d5dbbb79db854b9cde6785a1c", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-b68a2fea534737ed", "migration": false}, {"id": "13.0-ca8890fc29c3bd28", "cves": [], "html": "<p>\u589e\u52a0\u591a\u6001\u6570\u636e\u7c7b\u578b\uff0c\u4f9b\u8981\u6c42\u53c2\u6570\u7c7b\u578b\u517c\u5bb9\u7684\u51fd\u6570\u4f7f\u7528\uff08Pavel Stehule\uff09<a href=\"https://postgr.es/c/24e2885ee\">\u00a7</a></p>\n<p>\u65b0\u589e\u6570\u636e\u7c7b\u578b\u4e3a <a href=\"/docs/13/datatype-pseudo.html#DATATYPE-PSEUDOTYPES-TABLE\" title=\"\u8868\u00a08.27.\u00a0\u4f2a\u7c7b\u578b\"><code>anycompatible</code></a>\u3001<code>anycompatiblearray</code>\u3001<code>anycompatiblenonarray</code> \u548c <code>anycompatiblerange</code>\u3002</p>", "text": "\u589e\u52a0\u591a\u6001\u6570\u636e\u7c7b\u578b\uff0c\u4f9b\u8981\u6c42\u53c2\u6570\u7c7b\u578b\u517c\u5bb9\u7684\u51fd\u6570\u4f7f\u7528\uff08Pavel Stehule\uff09\u00a7 \u65b0\u589e\u6570\u636e\u7c7b\u578b\u4e3a anycompatible\u3001anycompatiblearray\u3001anycompatiblenonarray \u548c anycompatiblerange\u3002", "title": "\u589e\u52a0\u591a\u6001\u6570\u636e\u7c7b\u578b\uff0c\u4f9b\u8981\u6c42\u53c2\u6570\u7c7b\u578b\u517c\u5bb9\u7684\u51fd\u6570\u4f7f\u7528", "commits": ["24e2885ee"], "section": "\u6570\u636e\u7c7b\u578b", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.6", "source_hash": "c1d763e333dfda8a0c60ed6522ce7c3dc18c5b2b1703726801f592a986f53e4f", "section_path": ["\u6570\u636e\u7c7b\u578b"], "commit_groups": [["24e2885ee"]], "identity_text": "Add polymorphic data types for use by functions requiring compatible arguments (Pavel Stehule) The new data types are anycompatible, anycompatiblearray, anycompatiblenonarray, and anycompatiblerange.", "commit_aliases": ["24e2885ee"], "source_commits": ["24e2885ee"], "source_entry_id": "13.0/changes/073", "db_id": "77a491b175523af3d3900863a7960cdc", "patch_ids": ["a3dd3189ba7ff8e07ae3ff005b7d6cc7"], "statement_hash": "af5d83b8c8225114334db658c8c5c13c116f4eb0a5f86f38b31ba73626f365f8", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-ca8890fc29c3bd28", "migration": false}, {"id": "13.0-5e2a93d410688070", "cves": [], "html": "<p>\u589e\u52a0 <acronym>SQL</acronym> \u6570\u636e\u7c7b\u578b <a href=\"/docs/13/datatype-oid.html\" title=\"8.19.\u00a0\u5bf9\u8c61\u6807\u8bc6\u7b26\u7c7b\u578b\"><code>xid8</code></a>\uff0c\u4ee5\u5bf9\u5916\u63d0\u4f9b FullTransactionId\uff08Thomas Munro\uff09<a href=\"https://postgr.es/c/aeec457de\">\u00a7</a></p>\n<p>\u73b0\u6709\u7684 <code>xid</code> \u6570\u636e\u7c7b\u578b\u53ea\u6709\u56db\u5b57\u8282\uff0c\u56e0\u6b64\u4e0d\u5305\u542b\u4e8b\u52a1\u7eaa\u5143\u3002</p>", "text": "\u589e\u52a0 SQL \u6570\u636e\u7c7b\u578b xid8\uff0c\u4ee5\u5bf9\u5916\u63d0\u4f9b FullTransactionId\uff08Thomas Munro\uff09\u00a7 \u73b0\u6709\u7684 xid \u6570\u636e\u7c7b\u578b\u53ea\u6709\u56db\u5b57\u8282\uff0c\u56e0\u6b64\u4e0d\u5305\u542b\u4e8b\u52a1\u7eaa\u5143\u3002", "title": "\u589e\u52a0 SQL \u6570\u636e\u7c7b\u578b xid8\uff0c\u4ee5\u5bf9\u5916\u63d0\u4f9b FullTransactionId", "commits": ["aeec457de"], "section": "\u6570\u636e\u7c7b\u578b", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.6", "source_hash": "82c608dcdf5fc34ba9d216563d767d16c6edc048504a8d7e4499dc528a1e799d", "section_path": ["\u6570\u636e\u7c7b\u578b"], "commit_groups": [["aeec457de"]], "identity_text": "Add SQL data type xid8 to expose FullTransactionId (Thomas Munro) The existing xid data type is only four bytes so it does not provide the transaction epoch.", "commit_aliases": ["aeec457de"], "source_commits": ["aeec457de"], "source_entry_id": "13.0/changes/074", "db_id": "8bcb81ac747ec3a08b5d7e1bdf941be5", "patch_ids": ["3ed44926ceffd5acb458c665c96cfb58"], "statement_hash": "64027723f5fa89f4f5e5f12b16a2b642bdf087678e2384a3fad89d01303b775c", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-5e2a93d410688070", "migration": false}, {"id": "13.0-fa450aefcd873fbc", "cves": [], "html": "<p>\u589e\u52a0\u6570\u636e\u7c7b\u578b <a href=\"/docs/13/datatype-oid.html\" title=\"8.19.\u00a0\u5bf9\u8c61\u6807\u8bc6\u7b26\u7c7b\u578b\"><code>regcollation</code></a> \u53ca\u76f8\u5173\u51fd\u6570\uff0c\u4ee5\u8868\u793a\u6392\u5e8f\u89c4\u5219\u5bf9\u8c61\u7684 OID\uff08Julien Rouhaud\uff09<a href=\"https://postgr.es/c/a2b1faa0f\">\u00a7</a></p>", "text": "\u589e\u52a0\u6570\u636e\u7c7b\u578b regcollation \u53ca\u76f8\u5173\u51fd\u6570\uff0c\u4ee5\u8868\u793a\u6392\u5e8f\u89c4\u5219\u5bf9\u8c61\u7684 OID\uff08Julien Rouhaud\uff09\u00a7", "title": "\u589e\u52a0\u6570\u636e\u7c7b\u578b regcollation \u53ca\u76f8\u5173\u51fd\u6570\uff0c\u4ee5\u8868\u793a\u6392\u5e8f\u89c4\u5219\u5bf9\u8c61\u7684 OID", "commits": ["a2b1faa0f"], "section": "\u6570\u636e\u7c7b\u578b", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.6", "source_hash": "5b2cc84157350128aa7f9222af28d45ac011595be18d7e38d12f1a1a5cb2a43b", "section_path": ["\u6570\u636e\u7c7b\u578b"], "commit_groups": [["a2b1faa0f"]], "identity_text": "Add data type regcollation and associated functions, to represent OIDs of collation objects (Julien Rouhaud)", "commit_aliases": ["a2b1faa0f"], "source_commits": ["a2b1faa0f"], "source_entry_id": "13.0/changes/075", "db_id": "786fbab9326af95a6ffa057a404afa63", "patch_ids": ["1e693527b8710036799a22fb19a1d040"], "statement_hash": "b35e86ad98c0bc664f7c87941e997b16e3fa017a74ae605959f73475311d394e", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-fa450aefcd873fbc", "migration": false}, {"id": "13.0-055f88270bdfed97", "cves": [], "html": "<p>\u5728\u67d0\u4e9b\u60c5\u51b5\u4e0b\u4f7f\u7528 glibc \u7248\u672c\u4f5c\u4e3a<a href=\"/docs/13/collation.html\" title=\"23.2.\u00a0\u6392\u5e8f\u89c4\u5219\u652f\u6301\">\u6392\u5e8f\u89c4\u5219</a>\u7248\u672c\u6807\u8bc6\u7b26\uff08Thomas Munro\uff09<a href=\"https://postgr.es/c/d5ac14f9c\">\u00a7</a></p>\n<p>\u5982\u679c glibc \u7248\u672c\u53d1\u751f\u53d8\u5316\uff0c\u5c06\u53d1\u51fa\u8b66\u544a\uff0c\u63d0\u793a\u4f9d\u8d56\u6392\u5e8f\u89c4\u5219\u7684\u7d22\u5f15\u53ef\u80fd\u635f\u574f\u3002</p>", "text": "\u5728\u67d0\u4e9b\u60c5\u51b5\u4e0b\u4f7f\u7528 glibc \u7248\u672c\u4f5c\u4e3a\u6392\u5e8f\u89c4\u5219\u7248\u672c\u6807\u8bc6\u7b26\uff08Thomas Munro\uff09\u00a7 \u5982\u679c glibc \u7248\u672c\u53d1\u751f\u53d8\u5316\uff0c\u5c06\u53d1\u51fa\u8b66\u544a\uff0c\u63d0\u793a\u4f9d\u8d56\u6392\u5e8f\u89c4\u5219\u7684\u7d22\u5f15\u53ef\u80fd\u635f\u574f\u3002", "title": "\u5728\u67d0\u4e9b\u60c5\u51b5\u4e0b\u4f7f\u7528 glibc \u7248\u672c\u4f5c\u4e3a\u6392\u5e8f\u89c4\u5219\u7248\u672c\u6807\u8bc6\u7b26", "commits": ["d5ac14f9c"], "section": "\u6570\u636e\u7c7b\u578b", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.6", "source_hash": "88fdf729ffed84b75085cc232b2b803d7fa7047bd499dd3d01c14c514f0c60e0", "section_path": ["\u6570\u636e\u7c7b\u578b"], "commit_groups": [["d5ac14f9c"]], "identity_text": "Use the glibc version in some cases as a collation version identifier (Thomas Munro) If the glibc version changes, a warning will be issued about possible corruption of collation-dependent indexes.", "commit_aliases": ["d5ac14f9c"], "source_commits": ["d5ac14f9c"], "source_entry_id": "13.0/changes/076", "db_id": "2112991b419924b3c9cce1c25a99b003", "patch_ids": ["dd8938ae23058a0c2360546e02ccde5f"], "statement_hash": "510169bca5deb6093d9d2446f57efad54e9e515e11f02d10feb2ff5aec787541", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-055f88270bdfed97", "migration": false}, {"id": "13.0-93a5b7a8fe2a314b", "cves": [], "html": "<p>\u589e\u52a0 Windows \u4e0a\u7684\u6392\u5e8f\u89c4\u5219\u7248\u672c\u652f\u6301\uff08Thomas Munro\uff09<a href=\"https://postgr.es/c/352f6f2df\">\u00a7</a></p>", "text": "\u589e\u52a0 Windows \u4e0a\u7684\u6392\u5e8f\u89c4\u5219\u7248\u672c\u652f\u6301\uff08Thomas Munro\uff09\u00a7", "title": "\u589e\u52a0 Windows \u4e0a\u7684\u6392\u5e8f\u89c4\u5219\u7248\u672c\u652f\u6301", "commits": ["352f6f2df"], "section": "\u6570\u636e\u7c7b\u578b", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.6", "source_hash": "f57ec1495bdec4185ecebbf0268db20021bb74709d940f241a3d6df45980796a", "section_path": ["\u6570\u636e\u7c7b\u578b"], "commit_groups": [["352f6f2df"]], "identity_text": "Add support for collation versions on Windows (Thomas Munro)", "commit_aliases": ["352f6f2df"], "source_commits": ["352f6f2df"], "source_entry_id": "13.0/changes/077", "db_id": "5876645bd72a51f36c3b30f431806d2d", "patch_ids": ["579e9e0e30f65b8135af1391d8f77abc"], "statement_hash": "1010e98f9be3c000eaf6586981afde64f65de803b8e85baf09fce89610b8e53f", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-93a5b7a8fe2a314b", "migration": false}, {"id": "13.0-dbf1c697d2a7896a", "cves": [], "html": "<p>\u5141\u8bb8\u901a\u8fc7\u540e\u7f00\u8bb0\u6cd5\u63d0\u53d6 <a href=\"/docs/13/sql-expressions.html#SQL-SYNTAX-ROW-CONSTRUCTORS\" title=\"4.2.13.\u00a0\u884c\u6784\u9020\u5668\"><code>ROW</code> \u8868\u8fbe\u5f0f</a>\u7684\u6210\u5458\uff08Tom Lane\uff09<a href=\"https://postgr.es/c/8b7a0f1d1\">\u00a7</a></p>\n<p>\u4f8b\u5982\uff0c<code>(ROW(4, 5.0)).f1</code> \u73b0\u5728\u8fd4\u56de 4\u3002</p>", "text": "\u5141\u8bb8\u901a\u8fc7\u540e\u7f00\u8bb0\u6cd5\u63d0\u53d6 ROW \u8868\u8fbe\u5f0f\u7684\u6210\u5458\uff08Tom Lane\uff09\u00a7 \u4f8b\u5982\uff0c(ROW(4, 5.0)).f1 \u73b0\u5728\u8fd4\u56de 4\u3002", "title": "\u5141\u8bb8\u901a\u8fc7\u540e\u7f00\u8bb0\u6cd5\u63d0\u53d6 ROW \u8868\u8fbe\u5f0f\u7684\u6210\u5458", "commits": ["8b7a0f1d1"], "section": "\u6570\u636e\u7c7b\u578b", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.6", "source_hash": "6595d662e06b7c5b0625b727f98d1e5bb05e23c766826dafd68eba934a1e56cf", "section_path": ["\u6570\u636e\u7c7b\u578b"], "commit_groups": [["8b7a0f1d1"]], "identity_text": "Allow ROW expressions to have their members extracted with suffix notation (Tom Lane) For example, (ROW(4, 5.0)).f1 now returns 4.", "commit_aliases": ["8b7a0f1d1"], "source_commits": ["8b7a0f1d1"], "source_entry_id": "13.0/changes/078", "db_id": "c16fc94742b9381b7ac5e9d38f9b71be", "patch_ids": ["a1515ceb7b42bee5d2138e3ddb80d233"], "statement_hash": "f3d4a99d305c1a78f8e7e36f39034ef9edd55842943d8edc27f0c387f9e1b6a4", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-dbf1c697d2a7896a", "migration": false}, {"id": "13.0-76e04342d917b8d0", "cves": [], "html": "<p>\u589e\u52a0 <a href=\"/docs/13/functions-json.html#FUNCTIONS-JSON-PROCESSING-TABLE\" title=\"\u8868\u00a09.47.\u00a0JSON \u5904\u7406\u51fd\u6570\"><code>jsonb_set()</code></a> \u7684\u53e6\u4e00\u4e2a\u7248\u672c\uff0c\u6539\u8fdb\u5bf9 <code>NULL</code> \u7684\u5904\u7406\uff08Andrew Dunstan\uff09<a href=\"https://postgr.es/c/a83586b55\">\u00a7</a></p>\n<p>\u65b0\u51fd\u6570 <code>jsonb_set_lax()</code> \u6839\u636e\u8bf7\u6c42\u5904\u7406\u503c\u4e3a <code>NULL</code> \u7684\u65b0\u503c\uff1a\u5c06\u6307\u5b9a\u952e\u8bbe\u4e3a <acronym>JSON</acronym> null\u3001\u5220\u9664\u8be5\u952e\u3001\u629b\u51fa\u5f02\u5e38\uff0c\u6216\u8fd4\u56de\u672a\u7ecf\u4fee\u6539\u7684 <code>jsonb</code> \u503c\u3002</p>", "text": "\u589e\u52a0 jsonb_set() \u7684\u53e6\u4e00\u4e2a\u7248\u672c\uff0c\u6539\u8fdb\u5bf9 NULL \u7684\u5904\u7406\uff08Andrew Dunstan\uff09\u00a7 \u65b0\u51fd\u6570 jsonb_set_lax() \u6839\u636e\u8bf7\u6c42\u5904\u7406\u503c\u4e3a NULL \u7684\u65b0\u503c\uff1a\u5c06\u6307\u5b9a\u952e\u8bbe\u4e3a JSON null\u3001\u5220\u9664\u8be5\u952e\u3001\u629b\u51fa\u5f02\u5e38\uff0c\u6216\u8fd4\u56de\u672a\u7ecf\u4fee\u6539\u7684 jsonb \u503c\u3002", "title": "\u589e\u52a0 jsonb_set() \u7684\u53e6\u4e00\u4e2a\u7248\u672c\uff0c\u6539\u8fdb\u5bf9 NULL \u7684\u5904\u7406", "commits": ["a83586b55"], "section": "\u51fd\u6570", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.7", "source_hash": "72c325ed3e2e86370b11da881cec7b6ab24b3fba2ee077d661a2f39d199ad958", "section_path": ["\u51fd\u6570"], "commit_groups": [["a83586b55"]], "identity_text": "Add alternate version of jsonb_set() with improved NULL handling (Andrew Dunstan) The new function, jsonb_set_lax(), handles a NULL new value by either setting the specified key to a JSON null, deleting the key, raising an exception, or returning the jsonb value unmodified, as requested.", "commit_aliases": ["a83586b55"], "source_commits": ["a83586b55"], "source_entry_id": "13.0/changes/079", "db_id": "cdbc5e90b442ec91ae913a9dfdfffe8b", "patch_ids": ["58e0b5b2c5b897b7d2027af527b5a0f5"], "statement_hash": "f56e469ec21f3adaf82d2c21e3c6108279187d9fec3584a9cf2e73a25afd7d4d", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-76e04342d917b8d0", "migration": false}, {"id": "13.0-4773ae467c9f78f6", "cves": [], "html": "<p>\u589e\u52a0 jsonpath \u7684 <a href=\"/docs/13/functions-json.html#FUNCTIONS-SQLJSON-PATH-OPERATORS\" title=\"9.16.2.2.\u00a0SQL/JSON \u8def\u5f84\u64cd\u4f5c\u7b26\u548c\u65b9\u6cd5\">.<code>datetime()</code></a> \u65b9\u6cd5\uff08Nikita Glukhov\uff0cTeodor Sigaev\uff0cOleg Bartunov\uff0cAlexander Korotkov\uff09<a href=\"https://postgr.es/c/bffe1bd68\">\u00a7</a></p>\n<p>\u6b64\u51fd\u6570\u5141\u8bb8\u5c06 <acronym>JSON</acronym> \u503c\u8f6c\u6362\u4e3a\u65f6\u95f4\u6233\uff0c\u968f\u540e\u5373\u53ef\u5728 <code>jsonpath</code> \u8868\u8fbe\u5f0f\u4e2d\u5904\u7406\u8fd9\u4e9b\u65f6\u95f4\u6233\u3002\u6b64\u9879\u4fee\u6539\u8fd8\u589e\u52a0\u4e86\u652f\u6301\u65f6\u533a\u611f\u77e5\u8f93\u51fa\u7684 <code>jsonpath</code> \u51fd\u6570\u3002</p>", "text": "\u589e\u52a0 jsonpath \u7684 .datetime() \u65b9\u6cd5\uff08Nikita Glukhov\uff0cTeodor Sigaev\uff0cOleg Bartunov\uff0cAlexander Korotkov\uff09\u00a7 \u6b64\u51fd\u6570\u5141\u8bb8\u5c06 JSON \u503c\u8f6c\u6362\u4e3a\u65f6\u95f4\u6233\uff0c\u968f\u540e\u5373\u53ef\u5728 jsonpath \u8868\u8fbe\u5f0f\u4e2d\u5904\u7406\u8fd9\u4e9b\u65f6\u95f4\u6233\u3002\u6b64\u9879\u4fee\u6539\u8fd8\u589e\u52a0\u4e86\u652f\u6301\u65f6\u533a\u611f\u77e5\u8f93\u51fa\u7684 jsonpath \u51fd\u6570\u3002", "title": "\u589e\u52a0 jsonpath \u7684 .datetime() \u65b9\u6cd5", "commits": ["bffe1bd68"], "section": "\u51fd\u6570", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.7", "source_hash": "d77cde429eb5249d5d51d30d35a4e4ae79c2b7b864e3cc4d2fa56c90ed7f3777", "section_path": ["\u51fd\u6570"], "commit_groups": [["bffe1bd68"]], "identity_text": "Add jsonpath .datetime() method (Nikita Glukhov, Teodor Sigaev, Oleg Bartunov, Alexander Korotkov) This function allows JSON values to be converted to timestamps, which can then be processed in jsonpath expressions. This change also adds jsonpath functions that support time-zone-aware output.", "commit_aliases": ["bffe1bd68"], "source_commits": ["bffe1bd68"], "source_entry_id": "13.0/changes/080", "db_id": "5e422727306afe91a025582f308a050a", "patch_ids": ["02e7a8f2a8c7ce346b5f66c06ac30da9"], "statement_hash": "0b1f4beb67a53bbfc2685867910c67502726623bb800b43de437d45721f45314", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-4773ae467c9f78f6", "migration": false}, {"id": "13.0-3e494e0449340424", "cves": [], "html": "<p>\u589e\u52a0 <acronym>SQL</acronym> \u51fd\u6570 <a href=\"/docs/13/functions-string.html#FUNCTIONS-STRING-SQL\" title=\"\u8868\u00a09.9.\u00a0SQL\u5b57\u7b26\u4e32\u51fd\u6570\u548c\u64cd\u4f5c\u7b26\"><code>NORMALIZE</code>()</a>\uff0c\u4ee5\u89c4\u8303\u5316 Unicode \u5b57\u7b26\u4e32\uff0c\u5e76\u589e\u52a0 <a href=\"/docs/13/collation.html#COLLATION-NONDETERMINISTIC\" title=\"23.2.2.4.\u00a0\u975e\u786e\u5b9a\u6027\u6392\u5e8f\u89c4\u5219\"><code>IS NORMALIZED</code></a> \u6765\u68c0\u67e5\u662f\u5426\u5df2\u89c4\u8303\u5316\uff08Peter Eisentraut\uff09<a href=\"https://postgr.es/c/2991ac5fc\">\u00a7</a></p>", "text": "\u589e\u52a0 SQL \u51fd\u6570 NORMALIZE()\uff0c\u4ee5\u89c4\u8303\u5316 Unicode \u5b57\u7b26\u4e32\uff0c\u5e76\u589e\u52a0 IS NORMALIZED \u6765\u68c0\u67e5\u662f\u5426\u5df2\u89c4\u8303\u5316\uff08Peter Eisentraut\uff09\u00a7", "title": "\u589e\u52a0 SQL \u51fd\u6570 NORMALIZE()\uff0c\u4ee5\u89c4\u8303\u5316 Unicode \u5b57\u7b26\u4e32\uff0c\u5e76\u589e\u52a0 IS NORMALIZED \u6765\u68c0\u67e5\u662f\u5426\u5df2\u89c4\u8303\u5316", "commits": ["2991ac5fc"], "section": "\u51fd\u6570", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.7", "source_hash": "ba3c4fc1280dab787264e805009a1c421d273fce0e58c3fe262314592d862d5d", "section_path": ["\u51fd\u6570"], "commit_groups": [["2991ac5fc"]], "identity_text": "Add SQL functions NORMALIZE() to normalize Unicode strings, and IS NORMALIZED to check for normalization (Peter Eisentraut)", "commit_aliases": ["2991ac5fc"], "source_commits": ["2991ac5fc"], "source_entry_id": "13.0/changes/081", "db_id": "2255bf3ab839b8397e52e46de440ef10", "patch_ids": ["648c1d73755f5b8579052de3db99ae2e"], "statement_hash": "dd1f48d03beb9bfe796328d04fdadcb5a65079855509f043b8e380199d4f2211", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-3e494e0449340424", "migration": false}, {"id": "13.0-90b0801a54d29e00", "cves": [], "html": "<p>\u4e3a <a href=\"/docs/13/datatype-pg-lsn.html\" title=\"8.20.\u00a0pg_lsn \u7c7b\u578b\"><code>pg_lsn</code></a> \u589e\u52a0 <code>min()</code> \u548c <code>max()</code> \u805a\u5408\uff08Fabr\u00edzio de Royes Mello\uff09<a href=\"https://postgr.es/c/313f87a17\">\u00a7</a></p>\n<p>\u8fd9\u4e9b\u805a\u5408\u5728\u76d1\u63a7\u67e5\u8be2\u4e2d\u7279\u522b\u6709\u7528\u3002</p>", "text": "\u4e3a pg_lsn \u589e\u52a0 min() \u548c max() \u805a\u5408\uff08Fabr\u00edzio de Royes Mello\uff09\u00a7 \u8fd9\u4e9b\u805a\u5408\u5728\u76d1\u63a7\u67e5\u8be2\u4e2d\u7279\u522b\u6709\u7528\u3002", "title": "\u4e3a pg_lsn \u589e\u52a0 min() \u548c max() \u805a\u5408", "commits": ["313f87a17"], "section": "\u51fd\u6570", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.7", "source_hash": "0db90e1d5d7f0c0d3ac48485aea537c933467addc708dcb35625ef7da45424b0", "section_path": ["\u51fd\u6570"], "commit_groups": [["313f87a17"]], "identity_text": "Add min() and max() aggregates for pg_lsn (Fabr\u00edzio de Royes Mello) These are particularly useful in monitoring queries.", "commit_aliases": ["313f87a17"], "source_commits": ["313f87a17"], "source_entry_id": "13.0/changes/082", "db_id": "8275cf4baee9025dd4071968c61fa1a3", "patch_ids": ["1e0bf1ac81a6ea2abc9254b35d3ba621"], "statement_hash": "06932c69ae6af7967400d799d342082fcbd48cdb2c584041e9e473e7624d7aa1", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-90b0801a54d29e00", "migration": false}, {"id": "13.0-f4d4dc34e5a3ad8a", "cves": [], "html": "<p>\u5141\u8bb8<a href=\"/docs/13/sql-syntax.html#SQL-SYNTAX-STRINGS-UESCAPE\" title=\"4.1.2.3.\u00a0\u5e26\u6709 Unicode \u8f6c\u4e49\u7684\u5b57\u7b26\u4e32\u5e38\u91cf\">Unicode \u8f6c\u4e49</a>\uff0c\u4f8b\u5982 <code>E'\\u<em><code>nnnn</code></em>'</code> \u6216 <code>U&amp;'\\<em><code>nnnn</code></em>'</code>\uff0c\u6307\u5b9a\u6570\u636e\u5e93\u7f16\u7801\u4e2d\u53ef\u7528\u7684\u4efb\u4f55\u5b57\u7b26\uff0c\u5373\u4f7f\u6570\u636e\u5e93\u7f16\u7801\u4e0d\u662f <acronym>UTF</acronym>-8\uff08Tom Lane\uff09<a href=\"https://postgr.es/c/a6525588b\">\u00a7</a></p>", "text": "\u5141\u8bb8Unicode \u8f6c\u4e49\uff0c\u4f8b\u5982 E'\\unnnn' \u6216 U&'\\nnnn'\uff0c\u6307\u5b9a\u6570\u636e\u5e93\u7f16\u7801\u4e2d\u53ef\u7528\u7684\u4efb\u4f55\u5b57\u7b26\uff0c\u5373\u4f7f\u6570\u636e\u5e93\u7f16\u7801\u4e0d\u662f UTF-8\uff08Tom Lane\uff09\u00a7", "title": "\u5141\u8bb8Unicode \u8f6c\u4e49\uff0c\u4f8b\u5982 E'\\unnnn' \u6216 U&'\\nnnn'\uff0c\u6307\u5b9a\u6570\u636e\u5e93\u7f16\u7801\u4e2d\u53ef\u7528\u7684\u4efb\u4f55\u5b57\u7b26\uff0c\u5373\u4f7f\u6570\u636e\u5e93\u7f16\u7801\u4e0d\u662f UTF-8", "commits": ["a6525588b"], "section": "\u51fd\u6570", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.7", "source_hash": "78c51e482847e1cbae2906a81f36ee8ed065babc31cd17894165e0481f28cd8e", "section_path": ["\u51fd\u6570"], "commit_groups": [["a6525588b"]], "identity_text": "Allow Unicode escapes, e.g., E'\\unnnn' or U&'\\nnnn', to specify any character available in the database encoding, even when the database encoding is not UTF-8 (Tom Lane)", "commit_aliases": ["a6525588b"], "source_commits": ["a6525588b"], "source_entry_id": "13.0/changes/083", "db_id": "282403394cfc6fd7dc464eb42353d0ad", "patch_ids": ["d253b738a0be3e73ddc9e130347e9da0"], "statement_hash": "e4872c6d02098a8e67976907b7622a9bd3a05c4d730a060c07e6cf22e721d56c", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-f4d4dc34e5a3ad8a", "migration": false}, {"id": "13.0-1ddc6186d17373d2", "cves": [], "html": "<p>\u5141\u8bb8 <a href=\"/docs/13/functions-formatting.html\" title=\"9.8.\u00a0\u6570\u636e\u7c7b\u578b\u683c\u5f0f\u5316\u51fd\u6570\"><code>to_date()</code></a> \u548c <code>to_timestamp()</code> \u8bc6\u522b\u975e\u82f1\u8bed\u7684\u6708\u4efd\u540d\u548c\u661f\u671f\u540d\uff08Juan Jos\u00e9 Santamar\u00eda Flecha\uff0cTom Lane\uff09<a href=\"https://postgr.es/c/d67755049\">\u00a7</a></p>\n<p>\u53ef\u8bc6\u522b\u7684\u540d\u79f0\u4e0e <a href=\"/docs/13/functions-formatting.html\" title=\"9.8.\u00a0\u6570\u636e\u7c7b\u578b\u683c\u5f0f\u5316\u51fd\u6570\"><code>to_char()</code></a> \u4f7f\u7528\u76f8\u540c\u683c\u5f0f\u6a21\u5f0f\u8f93\u51fa\u7684\u540d\u79f0\u76f8\u540c\u3002</p>", "text": "\u5141\u8bb8 to_date() \u548c to_timestamp() \u8bc6\u522b\u975e\u82f1\u8bed\u7684\u6708\u4efd\u540d\u548c\u661f\u671f\u540d\uff08Juan Jos\u00e9 Santamar\u00eda Flecha\uff0cTom Lane\uff09\u00a7 \u53ef\u8bc6\u522b\u7684\u540d\u79f0\u4e0e to_char() \u4f7f\u7528\u76f8\u540c\u683c\u5f0f\u6a21\u5f0f\u8f93\u51fa\u7684\u540d\u79f0\u76f8\u540c\u3002", "title": "\u5141\u8bb8 to_date() \u548c to_timestamp() \u8bc6\u522b\u975e\u82f1\u8bed\u7684\u6708\u4efd\u540d\u548c\u661f\u671f\u540d", "commits": ["d67755049"], "section": "\u51fd\u6570", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.7", "source_hash": "fbb938c212b23a464eeb753b76ea29fb903ba3281ae071d3e17089048c5ed5d0", "section_path": ["\u51fd\u6570"], "commit_groups": [["d67755049"]], "identity_text": "Allow to_date() and to_timestamp() to recognize non-English month/day names (Juan Jos\u00e9 Santamar\u00eda Flecha, Tom Lane) The names recognized are the same as those output by to_char() with the same format patterns.", "commit_aliases": ["d67755049"], "source_commits": ["d67755049"], "source_entry_id": "13.0/changes/084", "db_id": "a5b65c37623bf85f4d3b73e83cad2c7d", "patch_ids": ["3f18056cd37a6e0636f54a68e4d70d4f"], "statement_hash": "842e3b3c0d66e85d98e8419bd896ee5d69ddcffe92cd02c3b1fe6f57b49aafef", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-1ddc6186d17373d2", "migration": false}, {"id": "13.0-dcc0d72a1f1a27ed", "cves": [], "html": "<p>\u589e\u52a0\u65e5\u671f\u65f6\u95f4\u683c\u5f0f\u6a21\u5f0f <code>FF1</code> \u2013 <code>FF6</code>\uff0c\u4ee5\u6307\u5b9a\u8f93\u5165\u6216\u8f93\u51fa 1 \u5230 6 \u4f4d\u5c0f\u6570\u79d2\uff08Alexander Korotkov\uff0cNikita Glukhov\uff0cTeodor Sigaev\uff0cOleg Bartunov\uff09<a href=\"https://postgr.es/c/d589f9446\">\u00a7</a></p>\n<p>\u8fd9\u4e9b\u6a21\u5f0f\u53ef\u7528\u4e8e <code>to_char()</code>\u3001<code>to_timestamp()</code> \u548c jsonpath \u7684 .<code>datetime()</code>\u3002</p>", "text": "\u589e\u52a0\u65e5\u671f\u65f6\u95f4\u683c\u5f0f\u6a21\u5f0f FF1 \u2013 FF6\uff0c\u4ee5\u6307\u5b9a\u8f93\u5165\u6216\u8f93\u51fa 1 \u5230 6 \u4f4d\u5c0f\u6570\u79d2\uff08Alexander Korotkov\uff0cNikita Glukhov\uff0cTeodor Sigaev\uff0cOleg Bartunov\uff09\u00a7 \u8fd9\u4e9b\u6a21\u5f0f\u53ef\u7528\u4e8e to_char()\u3001to_timestamp() \u548c jsonpath \u7684 .datetime()\u3002", "title": "\u589e\u52a0\u65e5\u671f\u65f6\u95f4\u683c\u5f0f\u6a21\u5f0f FF1 \u2013 FF6\uff0c\u4ee5\u6307\u5b9a\u8f93\u5165\u6216\u8f93\u51fa 1 \u5230 6 \u4f4d\u5c0f\u6570\u79d2", "commits": ["d589f9446"], "section": "\u51fd\u6570", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.7", "source_hash": "8d62f87ff4c8d5c7f55bc1f437d5ed6009670affcdfa29c78bae825716ac4b8f", "section_path": ["\u51fd\u6570"], "commit_groups": [["d589f9446"]], "identity_text": "Add datetime format patterns FF1 \u2013 FF6 to specify input or output of 1 to 6 fractional-second digits (Alexander Korotkov, Nikita Glukhov, Teodor Sigaev, Oleg Bartunov) These patterns can be used by to_char(), to_timestamp(), and jsonpath's .datetime().", "commit_aliases": ["d589f9446"], "source_commits": ["d589f9446"], "source_entry_id": "13.0/changes/085", "db_id": "f0e375cec237a7426a4f4bc68932a63c", "patch_ids": ["9cd71740792d2e16f8fcf54f6952d6b3"], "statement_hash": "a22298470729ba96dd0f8f1287f1f9e4329d0f23238911a61c265e58b86a4140", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-dcc0d72a1f1a27ed", "migration": false}, {"id": "13.0-c62ff642fc3b0493", "cves": [], "html": "<p>\u589e\u52a0\u65e5\u671f\u65f6\u95f4\u683c\u5f0f\u6a21\u5f0f <code>SSSSS</code>\uff0c\u4f5c\u4e3a <code>SSSS</code> \u7684 <acronym>SQL</acronym> \u6807\u51c6\u522b\u540d\uff08Nikita Glukhov\uff0cAlexander Korotkov\uff09<a href=\"https://postgr.es/c/b64b857f5\">\u00a7</a></p>", "text": "\u589e\u52a0\u65e5\u671f\u65f6\u95f4\u683c\u5f0f\u6a21\u5f0f SSSSS\uff0c\u4f5c\u4e3a SSSS \u7684 SQL \u6807\u51c6\u522b\u540d\uff08Nikita Glukhov\uff0cAlexander Korotkov\uff09\u00a7", "title": "\u589e\u52a0\u65e5\u671f\u65f6\u95f4\u683c\u5f0f\u6a21\u5f0f SSSSS\uff0c\u4f5c\u4e3a SSSS \u7684 SQL \u6807\u51c6\u522b\u540d", "commits": ["b64b857f5"], "section": "\u51fd\u6570", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.7", "source_hash": "a5e9c7709b31c7e864de8dd221a852152e789450a2c4a3bf4ec4d0c2f81366f0", "section_path": ["\u51fd\u6570"], "commit_groups": [["b64b857f5"]], "identity_text": "Add SSSSS datetime format pattern as an SQL-standard alias for SSSS (Nikita Glukhov, Alexander Korotkov)", "commit_aliases": ["b64b857f5"], "source_commits": ["b64b857f5"], "source_entry_id": "13.0/changes/086", "db_id": "c8aba4275da02dba62b0d1865019b213", "patch_ids": ["47c5c2a3fabbaa8f36431621f2dbd903"], "statement_hash": "e1049cfcd946f845d41886b2cc77adc6ddb39bc85f572f13eba7c538c4836539", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-c62ff642fc3b0493", "migration": false}, {"id": "13.0-ff4a6848823d2726", "cves": [], "html": "<p>\u589e\u52a0\u51fd\u6570 <a href=\"/docs/13/functions-uuid.html\" title=\"9.14.\u00a0UUID \u51fd\u6570\"><code>gen_random_uuid()</code></a>\uff0c\u4ee5\u751f\u6210\u7248\u672c 4 UUID\uff08Peter Eisentraut\uff09<a href=\"https://postgr.es/c/5925e5549\">\u00a7</a></p>\n<p>\u4ee5\u524d\uff0c<acronym>UUID</acronym> \u751f\u6210\u51fd\u6570\u53ea\u5728\u5916\u90e8\u6a21\u5757<a href=\"/docs/13/uuid-ossp.html\" title=\"F.44.\u00a0uuid-ossp\">uuid-ossp</a>\u548c<a href=\"/docs/13/pgcrypto.html\" title=\"F.25.\u00a0pgcrypto\">pgcrypto</a>\u4e2d\u63d0\u4f9b\u3002</p>", "text": "\u589e\u52a0\u51fd\u6570 gen_random_uuid()\uff0c\u4ee5\u751f\u6210\u7248\u672c 4 UUID\uff08Peter Eisentraut\uff09\u00a7 \u4ee5\u524d\uff0cUUID \u751f\u6210\u51fd\u6570\u53ea\u5728\u5916\u90e8\u6a21\u5757uuid-ossp\u548cpgcrypto\u4e2d\u63d0\u4f9b\u3002", "title": "\u589e\u52a0\u51fd\u6570 gen_random_uuid()\uff0c\u4ee5\u751f\u6210\u7248\u672c 4 UUID", "commits": ["5925e5549"], "section": "\u51fd\u6570", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.7", "source_hash": "ac35620caa4b27676c709d82c8aa359cfe0b27223b7a352899ce0726c2f21257", "section_path": ["\u51fd\u6570"], "commit_groups": [["5925e5549"]], "identity_text": "Add function gen_random_uuid() to generate version-4 UUIDs (Peter Eisentraut) Previously UUID generation functions were only available in the external modules uuid-ossp and pgcrypto .", "commit_aliases": ["5925e5549"], "source_commits": ["5925e5549"], "source_entry_id": "13.0/changes/087", "db_id": "b895a2216a6fbafd2e9584a71512f72a", "patch_ids": ["008ef746edcac5ea010a7840277bc9e8"], "statement_hash": "70b08cf8aaf86d4997741eafa69741f0d4e3fbb2c9ce210f1030b44672280c08", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-ff4a6848823d2726", "migration": false}, {"id": "13.0-e17b1dc3e662582b", "cves": [], "html": "<p>\u589e\u52a0\u6700\u5927\u516c\u7ea6\u6570\uff08<a href=\"/docs/13/functions-math.html#FUNCTIONS-MATH-FUNC-TABLE\" title=\"\u8868\u00a09.5.\u00a0\u6570\u5b66\u51fd\u6570\"><code>gcd</code></a>\uff09\u548c\u6700\u5c0f\u516c\u500d\u6570\uff08<code>lcm</code>\uff09\u51fd\u6570\uff08Vik Fearing\uff09<a href=\"https://postgr.es/c/13661ddd7\">\u00a7</a></p>", "text": "\u589e\u52a0\u6700\u5927\u516c\u7ea6\u6570\uff08gcd\uff09\u548c\u6700\u5c0f\u516c\u500d\u6570\uff08lcm\uff09\u51fd\u6570\uff08Vik Fearing\uff09\u00a7", "title": "\u589e\u52a0\u6700\u5927\u516c\u7ea6\u6570\uff08gcd\uff09\u548c\u6700\u5c0f\u516c\u500d\u6570\uff08lcm\uff09\u51fd\u6570", "commits": ["13661ddd7"], "section": "\u51fd\u6570", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.7", "source_hash": "c23af798b04a9bb3548c856f8acf6bcc033aec769300f1454fe613a946db2d34", "section_path": ["\u51fd\u6570"], "commit_groups": [["13661ddd7"]], "identity_text": "Add greatest-common-denominator (gcd) and least-common-multiple (lcm) functions (Vik Fearing)", "commit_aliases": ["13661ddd7"], "source_commits": ["13661ddd7"], "source_entry_id": "13.0/changes/088", "db_id": "4e78a24f8741de598d2e0d7ac7c045d4", "patch_ids": ["47c5c790d9aa212c6cd313fe2699c17f"], "statement_hash": "98eb4c96ed9083b5726d003b92721bfb7a556988d77c58b6f630dd236ddc1162", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-e17b1dc3e662582b", "migration": false}, {"id": "13.0-1469bfde613b5536", "cves": [], "html": "<p>\u63d0\u9ad8 <code>numeric</code> \u7c7b\u578b\u7684<a href=\"/docs/13/functions-math.html#FUNCTIONS-MATH-FUNC-TABLE\" title=\"\u8868\u00a09.5.\u00a0\u6570\u5b66\u51fd\u6570\">\u5e73\u65b9\u6839</a>\uff08<code>sqrt</code>\uff09\u548c\u81ea\u7136\u5bf9\u6570\uff08<code>ln</code>\uff09\u51fd\u6570\u7684\u6027\u80fd\u4e0e\u7cbe\u5ea6\uff08Dean Rasheed\uff09<a href=\"https://postgr.es/c/43a899f41\">\u00a7</a> <a href=\"https://postgr.es/c/4083f445c\">\u00a7</a></p>", "text": "\u63d0\u9ad8 numeric \u7c7b\u578b\u7684\u5e73\u65b9\u6839\uff08sqrt\uff09\u548c\u81ea\u7136\u5bf9\u6570\uff08ln\uff09\u51fd\u6570\u7684\u6027\u80fd\u4e0e\u7cbe\u5ea6\uff08Dean Rasheed\uff09\u00a7 \u00a7", "title": "\u63d0\u9ad8 numeric \u7c7b\u578b\u7684\u5e73\u65b9\u6839\uff08sqrt\uff09\u548c\u81ea\u7136\u5bf9\u6570\uff08ln\uff09\u51fd\u6570\u7684\u6027\u80fd\u4e0e\u7cbe\u5ea6", "commits": ["4083f445c", "43a899f41"], "section": "\u51fd\u6570", "category": "performance", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.7", "source_hash": "27c2c92d512421e9e759633e8c701c7620a19be5052557aea076bd8af58267b4", "section_path": ["\u51fd\u6570"], "commit_groups": [["4083f445c"], ["43a899f41"]], "identity_text": "Improve the performance and accuracy of the numeric type's square root (sqrt) and natural log (ln) functions (Dean Rasheed)", "commit_aliases": ["4083f445c", "43a899f41"], "source_commits": ["4083f445c", "43a899f41"], "source_entry_id": "13.0/changes/089", "db_id": "43ad4875ff066bbd0353ae790f8e818f", "patch_ids": ["520dedfae89bc7aa77ce47084fa941bd", "d41bfcd3f739e399d8493c36d6cdcce4"], "statement_hash": "c66e16dd283eca550790707b19e97bf87862ccca9af80c1d32db9e51fc4e1139", "relations": [], "category_label": "\u6027\u80fd\u6539\u8fdb", "url": "/docs/compare/?release=13.0#13.0-1469bfde613b5536", "migration": false}, {"id": "13.0-38210a4ce341eba7-1", "cves": [], "html": "<p>\u589e\u52a0\u51fd\u6570 <a href=\"/docs/13/functions-math.html#FUNCTIONS-MATH-FUNC-TABLE\" title=\"\u8868\u00a09.5.\u00a0\u6570\u5b66\u51fd\u6570\"><code>min_scale()</code></a>\uff0c\u8fd4\u56de\u5b8c\u6574\u7cbe\u786e\u8868\u793a <code>numeric</code> \u503c\u6240\u9700\u7684\u5c0f\u6570\u70b9\u53f3\u4fa7\u4f4d\u6570\uff08Pavel Stehule\uff09<a href=\"https://postgr.es/c/20d6225d1\">\u00a7</a></p>", "text": "\u589e\u52a0\u51fd\u6570 min_scale()\uff0c\u8fd4\u56de\u5b8c\u6574\u7cbe\u786e\u8868\u793a numeric \u503c\u6240\u9700\u7684\u5c0f\u6570\u70b9\u53f3\u4fa7\u4f4d\u6570\uff08Pavel Stehule\uff09\u00a7", "title": "\u589e\u52a0\u51fd\u6570 min_scale()\uff0c\u8fd4\u56de\u5b8c\u6574\u7cbe\u786e\u8868\u793a numeric \u503c\u6240\u9700\u7684\u5c0f\u6570\u70b9\u53f3\u4fa7\u4f4d\u6570", "commits": ["20d6225d1"], "section": "\u51fd\u6570", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.7", "source_hash": "6449e412dd138e3df0edaa051a6a6bd0dc08631ed49219f0a672a95cb0912fb0", "section_path": ["\u51fd\u6570"], "commit_groups": [["20d6225d1"]], "identity_text": "Add function min_scale() that returns the number of digits to the right of the decimal point that are required to represent a numeric value with full accuracy (Pavel Stehule)", "commit_aliases": ["20d6225d1"], "source_commits": ["20d6225d1"], "source_entry_id": "13.0/changes/090", "db_id": "8ae062c3a2e5e881e047434684aaa7b1", "patch_ids": ["105d8c21d8657838f615d760fe5c2ece"], "statement_hash": "da403a185e6588a49f43a7589c23c1df339de0d04fa64a7dde8512a8485aa926", "relations": [{"rule": 2, "type": "related", "target": "c4810e7f7c6747d9f5b80ebf01ada2ec", "evidence": {"same_day": true, "patch_ids": ["105d8c21d8657838f615d760fe5c2ece"], "ambiguous_patch_ids": ["105d8c21d8657838f615d760fe5c2ece"]}}], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-38210a4ce341eba7-1", "migration": false}, {"id": "13.0-38210a4ce341eba7-2", "cves": [], "html": "<p>\u589e\u52a0\u51fd\u6570 <a href=\"/docs/13/functions-math.html#FUNCTIONS-MATH-FUNC-TABLE\" title=\"\u8868\u00a09.5.\u00a0\u6570\u5b66\u51fd\u6570\"><code>trim_scale()</code></a>\uff0c\u901a\u8fc7\u79fb\u9664\u5c3e\u968f\u96f6\u6765\u51cf\u5c11 <code>numeric</code> \u503c\u7684\u5c0f\u6570\u4f4d\u6570\uff08Pavel Stehule\uff09<a href=\"https://postgr.es/c/20d6225d1\">\u00a7</a></p>", "text": "\u589e\u52a0\u51fd\u6570 trim_scale()\uff0c\u901a\u8fc7\u79fb\u9664\u5c3e\u968f\u96f6\u6765\u51cf\u5c11 numeric \u503c\u7684\u5c0f\u6570\u4f4d\u6570\uff08Pavel Stehule\uff09\u00a7", "title": "\u589e\u52a0\u51fd\u6570 trim_scale()\uff0c\u901a\u8fc7\u79fb\u9664\u5c3e\u968f\u96f6\u6765\u51cf\u5c11 numeric \u503c\u7684\u5c0f\u6570\u4f4d\u6570", "commits": ["20d6225d1"], "section": "\u51fd\u6570", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.7", "source_hash": "a6fe5a4431c4c495e7670e8c02847a0857fedac91123121607256e9cd9213961", "section_path": ["\u51fd\u6570"], "commit_groups": [["20d6225d1"]], "identity_text": "Add function trim_scale() to reduce the scale of a numeric value by removing trailing zeros (Pavel Stehule)", "commit_aliases": ["20d6225d1"], "source_commits": ["20d6225d1"], "source_entry_id": "13.0/changes/091", "db_id": "c4810e7f7c6747d9f5b80ebf01ada2ec", "patch_ids": ["105d8c21d8657838f615d760fe5c2ece"], "statement_hash": "148b05e07bea492ed40c92e9b09559976cc565efe4cd5aa68f0aa96d125704a7", "relations": [{"rule": 2, "type": "related", "target": "8ae062c3a2e5e881e047434684aaa7b1", "evidence": {"same_day": true, "patch_ids": ["105d8c21d8657838f615d760fe5c2ece"], "ambiguous_patch_ids": ["105d8c21d8657838f615d760fe5c2ece"]}}], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-38210a4ce341eba7-2", "migration": false}, {"id": "13.0-f23e33aa9e9e910d", "cves": [], "html": "<p>\u589e\u52a0<a href=\"/docs/13/functions-geometry.html#FUNCTIONS-GEOMETRY-OP-TABLE\" title=\"\u8868\u00a09.35.\u00a0\u51e0\u4f55\u64cd\u4f5c\u7b26\">\u8ddd\u79bb\u64cd\u4f5c\u7b26</a>\u7684\u4ea4\u6362\u5b50\uff08Nikita Glukhov\uff09<a href=\"https://postgr.es/c/6254c55f8\">\u00a7</a></p>\n<p>\u4f8b\u5982\uff0c\u4ee5\u524d\u53ea\u652f\u6301 <code>point</code> <code>&lt;-&gt;</code> <code>line</code>\uff0c\u73b0\u5728 <code>line</code> <code>&lt;-&gt;</code> <code>point</code> \u4e5f\u53ef\u4ee5\u4f7f\u7528\u3002</p>", "text": "\u589e\u52a0\u8ddd\u79bb\u64cd\u4f5c\u7b26\u7684\u4ea4\u6362\u5b50\uff08Nikita Glukhov\uff09\u00a7 \u4f8b\u5982\uff0c\u4ee5\u524d\u53ea\u652f\u6301 point <-> line\uff0c\u73b0\u5728 line <-> point \u4e5f\u53ef\u4ee5\u4f7f\u7528\u3002", "title": "\u589e\u52a0\u8ddd\u79bb\u64cd\u4f5c\u7b26\u7684\u4ea4\u6362\u5b50", "commits": ["6254c55f8"], "section": "\u51fd\u6570", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.7", "source_hash": "b27770badcc9af696b1bc9bdd9cb98ce3140d594b37eafe88ba13e073ff98aed", "section_path": ["\u51fd\u6570"], "commit_groups": [["6254c55f8"]], "identity_text": "Add commutators of distance operators (Nikita Glukhov) For example, previously only point <-> line was supported, now line <-> point works too.", "commit_aliases": ["6254c55f8"], "source_commits": ["6254c55f8"], "source_entry_id": "13.0/changes/092", "db_id": "24873edef0f32eb7cfbec0d8cd99b48a", "patch_ids": ["6002f69e4dac70cbbd0da1974670ab86"], "statement_hash": "caf1a03d70bf9b73f4e72c4d7cdc61b9db6a85b609798a9d4097d0ccc6216b82", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-f23e33aa9e9e910d", "migration": false}, {"id": "13.0-8ae888d9d582cfbf", "cves": [], "html": "<p>\u4e3a\u6240\u6709<a href=\"/docs/13/functions-info.html#FUNCTIONS-PG-SNAPSHOT\" title=\"\u8868\u00a09.74.\u00a0\u4e8b\u52a1 ID \u548c\u5feb\u7167\u4fe1\u606f\u51fd\u6570\">\u4e8b\u52a1 ID \u51fd\u6570</a>\u521b\u5efa <code>xid8</code> \u7248\u672c\uff08Thomas Munro\uff09<a href=\"https://postgr.es/c/4c04be9b0\">\u00a7</a></p>\n<p>\u4e3a\u4fdd\u6301\u5411\u540e\u517c\u5bb9\uff0c\u57fa\u4e8e <code>xid</code> \u7684\u65e7\u51fd\u6570\u4ecd\u7136\u5b58\u5728\u3002</p>", "text": "\u4e3a\u6240\u6709\u4e8b\u52a1 ID \u51fd\u6570\u521b\u5efa xid8 \u7248\u672c\uff08Thomas Munro\uff09\u00a7 \u4e3a\u4fdd\u6301\u5411\u540e\u517c\u5bb9\uff0c\u57fa\u4e8e xid \u7684\u65e7\u51fd\u6570\u4ecd\u7136\u5b58\u5728\u3002", "title": "\u4e3a\u6240\u6709\u4e8b\u52a1 ID \u51fd\u6570\u521b\u5efa xid8 \u7248\u672c", "commits": ["4c04be9b0"], "section": "\u51fd\u6570", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.7", "source_hash": "407390411b04ad56cd01bdf9f6b3baaae31c82bc2b118a63fa37f6ec9c27413f", "section_path": ["\u51fd\u6570"], "commit_groups": [["4c04be9b0"]], "identity_text": "Create xid8 versions of all transaction ID functions (Thomas Munro) The old xid-based functions still exist, for backward compatibility.", "commit_aliases": ["4c04be9b0"], "source_commits": ["4c04be9b0"], "source_entry_id": "13.0/changes/093", "db_id": "b78f3de62469a5005249904265d63d2a", "patch_ids": ["a31e6118b79de11fa4a983d7620f226b"], "statement_hash": "590800e408d7f5d0ecac3a9835fe2bb60c4b29adb7404f13f246ab69269013e5", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-8ae888d9d582cfbf", "migration": false}, {"id": "13.0-9211d3b40994cff4", "cves": [], "html": "<p>\u5141\u8bb8 <a href=\"/docs/13/functions-binarystring.html#FUNCTIONS-BINARYSTRING-OTHER\" title=\"\u8868\u00a09.12.\u00a0\u5176\u4ed6\u4e8c\u8fdb\u5236\u4e32\u51fd\u6570\"><code>get_bit()</code></a> \u548c <code>set_bit()</code> \u8bbe\u7f6e <code>bytea</code> \u503c\u524d 256MB \u4e4b\u5916\u7684\u4f4d\uff08Movead Li\uff09<a href=\"https://postgr.es/c/26a944cf2\">\u00a7</a></p>", "text": "\u5141\u8bb8 get_bit() \u548c set_bit() \u8bbe\u7f6e bytea \u503c\u524d 256MB \u4e4b\u5916\u7684\u4f4d\uff08Movead Li\uff09\u00a7", "title": "\u5141\u8bb8 get_bit() \u548c set_bit() \u8bbe\u7f6e bytea \u503c\u524d 256MB \u4e4b\u5916\u7684\u4f4d", "commits": ["26a944cf2"], "section": "\u51fd\u6570", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.7", "source_hash": "62edd85987b04ee8933183edb5cea082f12f335bbfcfd27cdbfcda8ad77c4d4c", "section_path": ["\u51fd\u6570"], "commit_groups": [["26a944cf2", "5d79fc60c", "6e6b74a20", "889786e0e", "dbb121038", "e40c4d491"]], "identity_text": "Allow get_bit() and set_bit() to set bits beyond the first 256MB of a bytea value (Movead Li)", "commit_aliases": ["26a944cf2", "5d79fc60c", "6e6b74a20", "889786e0e", "dbb121038", "e40c4d491"], "source_commits": ["26a944cf2"], "source_entry_id": "13.0/changes/094", "db_id": "36951132033efe9497121c46a1b696f0", "patch_ids": ["1f035cd3ed3162eae50f4cfd66d60f73"], "statement_hash": "50585a02e5e3007d3b7cf93b71c40c7fa248a3083386562eb861303529ef3f2f", "relations": [{"rule": 2, "type": "related", "target": "0ea209ac716ba0f4bed1d348ba9b11e8", "evidence": {"same_day": false, "patch_ids": ["1f035cd3ed3162eae50f4cfd66d60f73"]}}, {"rule": 2, "type": "related", "target": "73bef7cb7ccfd7e6c375b8b1bf28469a", "evidence": {"same_day": false, "patch_ids": ["1f035cd3ed3162eae50f4cfd66d60f73"]}}, {"rule": 2, "type": "related", "target": "bd37d88fde696a029e43ffc64a6db4aa", "evidence": {"same_day": false, "patch_ids": ["1f035cd3ed3162eae50f4cfd66d60f73"]}}, {"rule": 2, "type": "related", "target": "c9ab8b3b22e6103c90868ddecabecbb7", "evidence": {"same_day": false, "patch_ids": ["1f035cd3ed3162eae50f4cfd66d60f73"]}}, {"rule": 2, "type": "related", "target": "f5409b29c53848f4f3a571148b1b7a0b", "evidence": {"same_day": false, "patch_ids": ["1f035cd3ed3162eae50f4cfd66d60f73"]}}], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-9211d3b40994cff4", "migration": false}, {"id": "13.0-849bf37fbcfba853", "cves": [], "html": "<p>\u5141\u8bb8\u5728\u67d0\u4e9b\u5e76\u884c\u64cd\u4f5c\u4e2d\u4f7f\u7528<a href=\"/docs/13/functions-admin.html#FUNCTIONS-ADVISORY-LOCKS\" title=\"9.27.10.\u00a0\u54a8\u8be2\u9501\u51fd\u6570\">\u54a8\u8be2\u9501\u51fd\u6570</a>\uff08Tom Lane\uff09<a href=\"https://postgr.es/c/4886da832\">\u00a7</a></p>", "text": "\u5141\u8bb8\u5728\u67d0\u4e9b\u5e76\u884c\u64cd\u4f5c\u4e2d\u4f7f\u7528\u54a8\u8be2\u9501\u51fd\u6570\uff08Tom Lane\uff09\u00a7", "title": "\u5141\u8bb8\u5728\u67d0\u4e9b\u5e76\u884c\u64cd\u4f5c\u4e2d\u4f7f\u7528\u54a8\u8be2\u9501\u51fd\u6570", "commits": ["4886da832"], "section": "\u51fd\u6570", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.7", "source_hash": "4ec3b1a4190343dfaaab44844ca54a7b8f14cf55a131404a3c74eb54e070da0b", "section_path": ["\u51fd\u6570"], "commit_groups": [["4886da832"]], "identity_text": "Allow advisory-lock functions to be used in some parallel operations (Tom Lane)", "commit_aliases": ["4886da832"], "source_commits": ["4886da832"], "source_entry_id": "13.0/changes/095", "db_id": "8d9530a2fd0fa6cc6b880821b72a1ed9", "patch_ids": ["6f19a253e324cb1569a246685d451b1c"], "statement_hash": "98bcd7f8d8672bc7bf904da971ae73cae53b95ae67db4732ef5f268277f2afb1", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-849bf37fbcfba853", "migration": false}, {"id": "13.0-cec5ed37427308f8", "cves": [], "html": "<p>\u589e\u52a0\u79fb\u9664\u5bf9\u8c61\u5bf9\u6269\u5c55\u4f9d\u8d56\u7684\u80fd\u529b\uff08\u00c1lvaro Herrera\uff09<a href=\"https://postgr.es/c/5fc703946\">\u00a7</a></p>\n<p>\u5bf9\u8c61\u53ef\u4ee5\u662f\u51fd\u6570\u3001\u7269\u5316\u89c6\u56fe\u3001\u7d22\u5f15\u6216\u89e6\u53d1\u5668\u3002\u8bed\u6cd5\u4e3a <code>ALTER .. NO DEPENDS ON</code>\u3002</p>", "text": "\u589e\u52a0\u79fb\u9664\u5bf9\u8c61\u5bf9\u6269\u5c55\u4f9d\u8d56\u7684\u80fd\u529b\uff08\u00c1lvaro Herrera\uff09\u00a7 \u5bf9\u8c61\u53ef\u4ee5\u662f\u51fd\u6570\u3001\u7269\u5316\u89c6\u56fe\u3001\u7d22\u5f15\u6216\u89e6\u53d1\u5668\u3002\u8bed\u6cd5\u4e3a ALTER .. NO DEPENDS ON\u3002", "title": "\u589e\u52a0\u79fb\u9664\u5bf9\u8c61\u5bf9\u6269\u5c55\u4f9d\u8d56\u7684\u80fd\u529b", "commits": ["5fc703946"], "section": "\u51fd\u6570", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.7", "source_hash": "94fdd8840e38a68b4da166414c21460cf92fdfff5a368cd4582577d4e43c3abf", "section_path": ["\u51fd\u6570"], "commit_groups": [["5fc703946"]], "identity_text": "Add the ability to remove an object's dependency on an extension (\u00c1lvaro Herrera) The object can be a function, materialized view, index, or trigger. The syntax is ALTER .. NO DEPENDS ON.", "commit_aliases": ["5fc703946"], "source_commits": ["5fc703946"], "source_entry_id": "13.0/changes/096", "db_id": "52753ffa40ddb3a47738bb95aa21bbce", "patch_ids": ["ee4caffaa478567ea77ccf87dbb66de2"], "statement_hash": "ce04a01d20a5dac58cb7e6079c96991eb9c778cc190193f202c81c41e1f761ca", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-cec5ed37427308f8", "migration": false}, {"id": "13.0-79533f284443af58", "cves": [], "html": "<p>\u63d0\u9ad8\u7b80\u5355 PL/pgSQL \u8868\u8fbe\u5f0f\u7684\u6027\u80fd\uff08Tom Lane\uff0cAmit Langote\uff09<a href=\"https://postgr.es/c/8f59f6b9c\">\u00a7</a></p>", "text": "\u63d0\u9ad8\u7b80\u5355 PL/pgSQL \u8868\u8fbe\u5f0f\u7684\u6027\u80fd\uff08Tom Lane\uff0cAmit Langote\uff09\u00a7", "title": "\u63d0\u9ad8\u7b80\u5355 PL/pgSQL \u8868\u8fbe\u5f0f\u7684\u6027\u80fd", "commits": ["8f59f6b9c"], "section": "PL/pgSQL", "category": "performance", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.8", "source_hash": "fef034fc384239ae81bc57badf4a3f53ed3f1cff36c8e4a983a925832d54f7c8", "section_path": ["PL/pgSQL"], "commit_groups": [["8f59f6b9c"]], "identity_text": "Improve performance of simple PL/pgSQL expressions (Tom Lane, Amit Langote)", "commit_aliases": ["8f59f6b9c"], "source_commits": ["8f59f6b9c"], "source_entry_id": "13.0/changes/097", "db_id": "8f89720feb19b5bdc7b3b9316bfeaed5", "patch_ids": ["5bf3da4f0c7583e8af2b90ca94950312"], "statement_hash": "da8e765a847eaaa711d902826c067d6f040dd1c5bc893875ba6ab9c96d8629e4", "relations": [], "category_label": "\u6027\u80fd\u6539\u8fdb", "url": "/docs/compare/?release=13.0#13.0-79533f284443af58", "migration": false}, {"id": "13.0-bcaf8f58a17f0e20", "cves": [], "html": "<p>\u63d0\u9ad8\u4f7f\u7528\u4e0d\u53ef\u53d8\u8868\u8fbe\u5f0f\u7684 PL/pgSQL \u51fd\u6570\u7684\u6027\u80fd\uff08Konstantin Knizhnik\uff09<a href=\"https://postgr.es/c/73b06cf89\">\u00a7</a></p>", "text": "\u63d0\u9ad8\u4f7f\u7528\u4e0d\u53ef\u53d8\u8868\u8fbe\u5f0f\u7684 PL/pgSQL \u51fd\u6570\u7684\u6027\u80fd\uff08Konstantin Knizhnik\uff09\u00a7", "title": "\u63d0\u9ad8\u4f7f\u7528\u4e0d\u53ef\u53d8\u8868\u8fbe\u5f0f\u7684 PL/pgSQL \u51fd\u6570\u7684\u6027\u80fd", "commits": ["73b06cf89"], "section": "PL/pgSQL", "category": "performance", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.8", "source_hash": "e16affb9acc0e30dd9fc80152b49345f5ce62ff9abbc85520e8acdc44a88d408", "section_path": ["PL/pgSQL"], "commit_groups": [["73b06cf89"]], "identity_text": "Improve performance of PL/pgSQL functions that use immutable expressions (Konstantin Knizhnik)", "commit_aliases": ["73b06cf89"], "source_commits": ["73b06cf89"], "source_entry_id": "13.0/changes/098", "db_id": "601d18df39f6fe9eb0f6845f49fd9db6", "patch_ids": ["b28c98e3d3eb4a7bc10f2854d5f13eb9"], "statement_hash": "76c3c98ec148604f1b92b8f8214374a460a9437adb53471e998ae5aaa5cc0603", "relations": [], "category_label": "\u6027\u80fd\u6539\u8fdb", "url": "/docs/compare/?release=13.0#13.0-bcaf8f58a17f0e20", "migration": false}, {"id": "13.0-6404888b77813a9e", "cves": [], "html": "<p>\u5141\u8bb8 libpq \u5ba2\u6237\u7aef\u8981\u6c42\u52a0\u5bc6\u8fde\u63a5\u4f7f\u7528\u901a\u9053\u7ed1\u5b9a\uff08Jeff Davis\uff09<a href=\"https://postgr.es/c/d6e612f83\">\u00a7</a></p>\n<p>\u4f7f\u7528 libpq \u8fde\u63a5\u53c2\u6570 <a href=\"/docs/13/libpq.html#LIBPQ-CONNECT-CHANNEL-BINDING\"><code>channel_binding</code></a>\uff0c\u4f1a\u5f3a\u5236 <acronym>TLS</acronym> \u8fde\u63a5\u7684\u53e6\u4e00\u7aef\u8bc1\u660e\u5b83\u77e5\u9053\u7528\u6237\u7684\u5bc6\u7801\u3002\u8fd9\u53ef\u4ee5\u9632\u6b62\u4e2d\u95f4\u4eba\u653b\u51fb\u3002</p>", "text": "\u5141\u8bb8 libpq \u5ba2\u6237\u7aef\u8981\u6c42\u52a0\u5bc6\u8fde\u63a5\u4f7f\u7528\u901a\u9053\u7ed1\u5b9a\uff08Jeff Davis\uff09\u00a7 \u4f7f\u7528 libpq \u8fde\u63a5\u53c2\u6570 channel_binding\uff0c\u4f1a\u5f3a\u5236 TLS \u8fde\u63a5\u7684\u53e6\u4e00\u7aef\u8bc1\u660e\u5b83\u77e5\u9053\u7528\u6237\u7684\u5bc6\u7801\u3002\u8fd9\u53ef\u4ee5\u9632\u6b62\u4e2d\u95f4\u4eba\u653b\u51fb\u3002", "title": "\u5141\u8bb8 libpq \u5ba2\u6237\u7aef\u8981\u6c42\u52a0\u5bc6\u8fde\u63a5\u4f7f\u7528\u901a\u9053\u7ed1\u5b9a", "commits": ["d6e612f83"], "section": "\u5ba2\u6237\u7aef\u63a5\u53e3", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.9", "source_hash": "4c21d3ba325e77859daea30e826f54e3b389215b05c668ccc958da0a5c7d15da", "section_path": ["\u5ba2\u6237\u7aef\u63a5\u53e3"], "commit_groups": [["d6e612f83"]], "identity_text": "Allow libpq clients to require channel binding for encrypted connections (Jeff Davis) Using the libpq connection parameter channel_binding forces the other end of the TLS connection to prove it knows the user's password. This prevents man-in-the-middle attacks.", "commit_aliases": ["d6e612f83"], "source_commits": ["d6e612f83"], "source_entry_id": "13.0/changes/099", "db_id": "48d7843469f2212499d9145e0c2c74c5", "patch_ids": ["e4195d174838e9dcbafad4f2fe44c4e1"], "statement_hash": "d720ea2f95ddebb15fa3d8af0195cdd39ac1b5f04ad046dbb8b51574807139a1", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-6404888b77813a9e", "migration": false}, {"id": "13.0-10bdd486885008d6", "cves": [], "html": "<p>\u589e\u52a0 libpq \u8fde\u63a5\u53c2\u6570\uff0c\u4ee5\u63a7\u5236\u52a0\u5bc6\u8fde\u63a5\u5141\u8bb8\u7684\u6700\u4f4e\u548c\u6700\u9ad8 <acronym>TLS</acronym> \u7248\u672c\uff08Daniel Gustafsson\uff09<a href=\"https://postgr.es/c/ff8ca5fad\">\u00a7</a> <a href=\"https://postgr.es/c/401aad670\">\u00a7</a> <a href=\"https://postgr.es/c/16412c784\">\u00a7</a></p>\n<p>\u8fd9\u4e9b\u8bbe\u7f6e\u4e3a<a href=\"/docs/13/libpq.html#LIBPQ-CONNECT-SSL-MIN-PROTOCOL-VERSION\">ssl_min_protocol_version</a>\u548c<a href=\"/docs/13/libpq.html#LIBPQ-CONNECT-SSL-MAX-PROTOCOL-VERSION\">ssl_max_protocol_version</a>\u3002\u9ed8\u8ba4\u6700\u4f4e <acronym>TLS</acronym> \u7248\u672c\u4e3a 1.2\uff08\u8fd9\u4e0e\u4ee5\u524d\u7684\u53d1\u884c\u7248\u76f8\u6bd4\u662f\u884c\u4e3a\u4e0a\u7684\u53d8\u5316\uff09\u3002</p>", "text": "\u589e\u52a0 libpq \u8fde\u63a5\u53c2\u6570\uff0c\u4ee5\u63a7\u5236\u52a0\u5bc6\u8fde\u63a5\u5141\u8bb8\u7684\u6700\u4f4e\u548c\u6700\u9ad8 TLS \u7248\u672c\uff08Daniel Gustafsson\uff09\u00a7 \u00a7 \u00a7 \u8fd9\u4e9b\u8bbe\u7f6e\u4e3assl_min_protocol_version\u548cssl_max_protocol_version\u3002\u9ed8\u8ba4\u6700\u4f4e TLS \u7248\u672c\u4e3a 1.2\uff08\u8fd9\u4e0e\u4ee5\u524d\u7684\u53d1\u884c\u7248\u76f8\u6bd4\u662f\u884c\u4e3a\u4e0a\u7684\u53d8\u5316\uff09\u3002", "title": "\u589e\u52a0 libpq \u8fde\u63a5\u53c2\u6570\uff0c\u4ee5\u63a7\u5236\u52a0\u5bc6\u8fde\u63a5\u5141\u8bb8\u7684\u6700\u4f4e\u548c\u6700\u9ad8 TLS \u7248\u672c", "commits": ["16412c784", "401aad670", "ff8ca5fad"], "section": "\u5ba2\u6237\u7aef\u63a5\u53e3", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.9", "source_hash": "35fffb26a2ce704c32ea19b3b43ba67b08b072eaa638c10eb7532c529516f44e", "section_path": ["\u5ba2\u6237\u7aef\u63a5\u53e3"], "commit_groups": [["16412c784"], ["401aad670"], ["ff8ca5fad"]], "identity_text": "Add libpq connection parameters to control the minimum and maximum TLS version allowed for an encrypted connection (Daniel Gustafsson) The settings are libpq-connect-ssl-min-protocol-version and libpq-connect-ssl-max-protocol-version . By default, the minimum TLS version is 1.2 (this represents a behavioral change from previous releases).", "commit_aliases": ["16412c784", "401aad670", "ff8ca5fad"], "source_commits": ["16412c784", "401aad670", "ff8ca5fad"], "source_entry_id": "13.0/changes/100", "db_id": "b2061230e314e9b97b573426b6bc998e", "patch_ids": ["2fb69012a9c8fc5e21c858b7ae376efc", "7ae6f7c4f45089dd492095aa73afbd08", "ccada3aceda9d729a68ab473dab9f02f"], "statement_hash": "45a565ef4e4fbe6d41bfffc7bde611fed7d3c98799a5babb8d1a496a8d7bc4b8", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-10bdd486885008d6", "migration": false}, {"id": "13.0-7e889dff0f79f62c-1", "cves": [], "html": "<p>\u5141\u8bb8\u4f7f\u7528\u5bc6\u7801\u89e3\u9501\u5ba2\u6237\u7aef\u8bc1\u4e66\uff08Craig Ringer\uff0cAndrew Dunstan\uff09<a href=\"https://postgr.es/c/4dc635521\">\u00a7</a></p>\n<p>\u8fd9\u901a\u8fc7 libpq \u7684<a href=\"/docs/13/libpq.html#LIBPQ-CONNECT-SSLPASSWORD\">sslpassword</a>\u8fde\u63a5\u53c2\u6570\u542f\u7528\u3002</p>", "text": "\u5141\u8bb8\u4f7f\u7528\u5bc6\u7801\u89e3\u9501\u5ba2\u6237\u7aef\u8bc1\u4e66\uff08Craig Ringer\uff0cAndrew Dunstan\uff09\u00a7 \u8fd9\u901a\u8fc7 libpq \u7684sslpassword\u8fde\u63a5\u53c2\u6570\u542f\u7528\u3002", "title": "\u5141\u8bb8\u4f7f\u7528\u5bc6\u7801\u89e3\u9501\u5ba2\u6237\u7aef\u8bc1\u4e66", "commits": ["4dc635521"], "section": "\u5ba2\u6237\u7aef\u63a5\u53e3", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.9", "source_hash": "8494c571bea8695d1b0b5052a4158447e415127228eb213f0a11819b329097ee", "section_path": ["\u5ba2\u6237\u7aef\u63a5\u53e3"], "commit_groups": [["4dc635521"]], "identity_text": "Allow use of passwords to unlock client certificates (Craig Ringer, Andrew Dunstan) This is enabled by libpq's libpq-connect-sslpassword connection parameter.", "commit_aliases": ["4dc635521"], "source_commits": ["4dc635521"], "source_entry_id": "13.0/changes/101", "db_id": "63d663543f6b2bad3d2cb1c709d02275", "patch_ids": ["125812cd74c1177693fadf7c4dda3015"], "statement_hash": "5d036d32a87dbf32687c88326321ca93f1c9332b0472fdfca3a20866009015aa", "relations": [{"rule": 2, "type": "related", "target": "e9eb620782f51d1813d3481eb51968a1", "evidence": {"same_day": true, "patch_ids": ["125812cd74c1177693fadf7c4dda3015"], "ambiguous_patch_ids": ["125812cd74c1177693fadf7c4dda3015"]}}], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-7e889dff0f79f62c-1", "migration": false}, {"id": "13.0-7e889dff0f79f62c-2", "cves": [], "html": "<p>\u5141\u8bb8 libpq \u4f7f\u7528 <acronym>DER</acronym> \u7f16\u7801\u7684\u5ba2\u6237\u7aef\u8bc1\u4e66\uff08Craig Ringer\uff0cAndrew Dunstan\uff09<a href=\"https://postgr.es/c/4dc635521\">\u00a7</a></p>", "text": "\u5141\u8bb8 libpq \u4f7f\u7528 DER \u7f16\u7801\u7684\u5ba2\u6237\u7aef\u8bc1\u4e66\uff08Craig Ringer\uff0cAndrew Dunstan\uff09\u00a7", "title": "\u5141\u8bb8 libpq \u4f7f\u7528 DER \u7f16\u7801\u7684\u5ba2\u6237\u7aef\u8bc1\u4e66", "commits": ["4dc635521"], "section": "\u5ba2\u6237\u7aef\u63a5\u53e3", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.9", "source_hash": "c32cc10501e0cf1f1c8395892cc9123a45372885d97ab0a2a3d32dc45b57ab2a", "section_path": ["\u5ba2\u6237\u7aef\u63a5\u53e3"], "commit_groups": [["4dc635521"]], "identity_text": "Allow libpq to use DER-encoded client certificates (Craig Ringer, Andrew Dunstan)", "commit_aliases": ["4dc635521"], "source_commits": ["4dc635521"], "source_entry_id": "13.0/changes/102", "db_id": "e9eb620782f51d1813d3481eb51968a1", "patch_ids": ["125812cd74c1177693fadf7c4dda3015"], "statement_hash": "3808aa96751956de2c6fbc6a0d078638cbda3dff179a0fe4f1a19df58ae6525d", "relations": [{"rule": 2, "type": "related", "target": "63d663543f6b2bad3d2cb1c709d02275", "evidence": {"same_day": true, "patch_ids": ["125812cd74c1177693fadf7c4dda3015"], "ambiguous_patch_ids": ["125812cd74c1177693fadf7c4dda3015"]}}], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-7e889dff0f79f62c-2", "migration": false}, {"id": "13.0-632a7900ad27530a", "cves": [], "html": "<p>\u4fee\u590d <span>ecpg</span> \u7684 <code>EXEC SQL elif</code> \u6307\u4ee4\uff0c\u4f7f\u5176\u6b63\u786e\u5de5\u4f5c\uff08Tom Lane\uff09<a href=\"https://postgr.es/c/44cd434ec\">\u00a7</a></p>\n<p>\u4ee5\u524d\uff0c\u5b83\u7684\u884c\u4e3a\u4e0e <code>endif</code> \u540e\u8ddf <code>ifdef</code> \u76f8\u540c\uff0c\u56e0\u6b64\u5373\u4f7f\u540c\u4e00 <code>if</code> \u7ed3\u6784\u4e2d\u7684\u524d\u4e00\u4e2a\u5206\u652f\u5df2\u6210\u529f\u5339\u914d\uff0c\u4e5f\u4e0d\u4f1a\u963b\u6b62\u5c55\u5f00 <code>elif</code> \u5206\u652f\u6216\u540e\u7eed\u5206\u652f\u3002</p>", "text": "\u4fee\u590d ecpg \u7684 EXEC SQL elif \u6307\u4ee4\uff0c\u4f7f\u5176\u6b63\u786e\u5de5\u4f5c\uff08Tom Lane\uff09\u00a7 \u4ee5\u524d\uff0c\u5b83\u7684\u884c\u4e3a\u4e0e endif \u540e\u8ddf ifdef \u76f8\u540c\uff0c\u56e0\u6b64\u5373\u4f7f\u540c\u4e00 if \u7ed3\u6784\u4e2d\u7684\u524d\u4e00\u4e2a\u5206\u652f\u5df2\u6210\u529f\u5339\u914d\uff0c\u4e5f\u4e0d\u4f1a\u963b\u6b62\u5c55\u5f00 elif \u5206\u652f\u6216\u540e\u7eed\u5206\u652f\u3002", "title": "\u4fee\u590d ecpg \u7684 EXEC SQL elif \u6307\u4ee4\uff0c\u4f7f\u5176\u6b63\u786e\u5de5\u4f5c", "commits": ["44cd434ec"], "section": "\u5ba2\u6237\u7aef\u63a5\u53e3", "category": "bugfix", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.9", "source_hash": "57f20e597636a87625f2a9a1036f232a6ee19ef1edf922e18a260f3e3e4c5735", "section_path": ["\u5ba2\u6237\u7aef\u63a5\u53e3"], "commit_groups": [["44cd434ec"]], "identity_text": "Fix ecpg's EXEC SQL elif directive to work correctly (Tom Lane) Previously it behaved the same as endif followed by ifdef, so that a successful previous branch of the same if construct did not prevent expansion of the elif branch or following branches.", "commit_aliases": ["44cd434ec"], "source_commits": ["44cd434ec"], "source_entry_id": "13.0/changes/103", "db_id": "97309ca82c53b25a90e16c823abf642e", "patch_ids": ["bad103fd7408fb0a0cf46a7ed7c17789"], "statement_hash": "fcf615d6e02eebf26e0e1990059597c5d340611928cdddf8435d96331061f109", "relations": [], "category_label": "BUG \u4fee\u590d", "url": "/docs/compare/?release=13.0#13.0-632a7900ad27530a", "migration": false}, {"id": "13.0-dedfad9617f44cb5", "cves": [], "html": "<p>\u5c06\u4e8b\u52a1\u72b6\u6001\uff08<code>%x</code>\uff09\u6dfb\u52a0\u5230 <span>psql</span> \u7684\u9ed8\u8ba4<a href=\"/docs/13/app-psql.html#APP-PSQL-PROMPTING\" title=\"\u63d0\u793a\u7b26\">\u63d0\u793a\u7b26</a>\u4e2d\uff08Vik Fearing\uff09<a href=\"https://postgr.es/c/dcdbb5a5d\">\u00a7</a></p>", "text": "\u5c06\u4e8b\u52a1\u72b6\u6001\uff08%x\uff09\u6dfb\u52a0\u5230 psql \u7684\u9ed8\u8ba4\u63d0\u793a\u7b26\u4e2d\uff08Vik Fearing\uff09\u00a7", "title": "\u5c06\u4e8b\u52a1\u72b6\u6001\uff08%x\uff09\u6dfb\u52a0\u5230 psql \u7684\u9ed8\u8ba4\u63d0\u793a\u7b26\u4e2d", "commits": ["dcdbb5a5d"], "section": "\u5ba2\u6237\u7aef\u5e94\u7528\u7a0b\u5e8f / psql", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.10.2", "source_hash": "8fa7ec3695226f1c1b04d2a33ae32e55ce76411f6be3a2a236b02b58a51d061d", "section_path": ["\u5ba2\u6237\u7aef\u5e94\u7528\u7a0b\u5e8f", "psql"], "commit_groups": [["dcdbb5a5d"]], "identity_text": "Add transaction status (%x) to psql's default prompts (Vik Fearing)", "commit_aliases": ["dcdbb5a5d"], "source_commits": ["dcdbb5a5d"], "source_entry_id": "13.0/changes/104", "db_id": "2a4633bdf7d94936b9888c5ed2163462", "patch_ids": ["88869087f8dc35127b75c9a6cd4b4425"], "statement_hash": "daf1edd18bbd75a3882abf1d56df57570ef2e8641743e58f27fca524575ca958", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-dedfad9617f44cb5", "migration": false}, {"id": "13.0-bbeaa872a47951c7", "cves": [], "html": "<p>\u5141\u8bb8 <span>psql</span> \u7684\u6b21\u7ea7\u63d0\u793a\u7b26\u4e3a\u7a7a\u767d\uff0c\u4f46\u4e0e\u4e3b\u63d0\u793a\u7b26\u5177\u6709\u76f8\u540c\u5bbd\u5ea6\uff08Thomas Munro\uff09<a href=\"https://postgr.es/c/7f338369c\">\u00a7</a></p>\n<p>\u8fd9\u901a\u8fc7\u5c06 <code>PROMPT2</code> \u8bbe\u4e3a <code>%w</code> \u5b9e\u73b0\u3002</p>", "text": "\u5141\u8bb8 psql \u7684\u6b21\u7ea7\u63d0\u793a\u7b26\u4e3a\u7a7a\u767d\uff0c\u4f46\u4e0e\u4e3b\u63d0\u793a\u7b26\u5177\u6709\u76f8\u540c\u5bbd\u5ea6\uff08Thomas Munro\uff09\u00a7 \u8fd9\u901a\u8fc7\u5c06 PROMPT2 \u8bbe\u4e3a %w \u5b9e\u73b0\u3002", "title": "\u5141\u8bb8 psql \u7684\u6b21\u7ea7\u63d0\u793a\u7b26\u4e3a\u7a7a\u767d\uff0c\u4f46\u4e0e\u4e3b\u63d0\u793a\u7b26\u5177\u6709\u76f8\u540c\u5bbd\u5ea6", "commits": ["7f338369c"], "section": "\u5ba2\u6237\u7aef\u5e94\u7528\u7a0b\u5e8f / psql", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.10.2", "source_hash": "09df7e41fd33c11872f00b47acbf66221b7c80b4c043b99069f21da6b461fd27", "section_path": ["\u5ba2\u6237\u7aef\u5e94\u7528\u7a0b\u5e8f", "psql"], "commit_groups": [["7f338369c"]], "identity_text": "Allow the secondary psql prompt to be blank but the same width as the primary prompt (Thomas Munro) This is accomplished by setting PROMPT2 to %w.", "commit_aliases": ["7f338369c"], "source_commits": ["7f338369c"], "source_entry_id": "13.0/changes/105", "db_id": "6c09ba3ec57b4a486923cacb0c583b45", "patch_ids": ["a3a80eda705292f43a8d53374986d732"], "statement_hash": "f7e41bcc908186a38fd7b7aadacb83a39a3ac4988ed885973955a2fc9aa72c96", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-bbeaa872a47951c7", "migration": false}, {"id": "13.0-a091ebc7307c0055", "cves": [], "html": "<p>\u5141\u8bb8 <span>psql</span> \u7684 <a href=\"/docs/13/app-psql.html#APP-PSQL-META-COMMANDS\" title=\"\u5143\u547d\u4ee4\"><code>\\g</code></a> \u548c <code>\\gx</code> \u547d\u4ee4\u53ea\u5728\u8be5\u6761\u547d\u4ee4\u6267\u884c\u671f\u95f4\u66f4\u6539 <a href=\"/docs/13/app-psql.html#APP-PSQL-META-COMMANDS\" title=\"\u5143\u547d\u4ee4\">\\pset</a> \u8f93\u51fa\u9009\u9879\uff08Tom Lane\uff09<a href=\"https://postgr.es/c/b63c293bc\">\u00a7</a></p>\n<p>\u6b64\u7279\u6027\u5141\u8bb8\u4f7f\u7528 <code>\\g (expand=on)</code> \u8fd9\u6837\u7684\u8bed\u6cd5\uff0c\u5b83\u7b49\u4ef7\u4e8e <code>\\gx</code>\u3002</p>", "text": "\u5141\u8bb8 psql \u7684 \\g \u548c \\gx \u547d\u4ee4\u53ea\u5728\u8be5\u6761\u547d\u4ee4\u6267\u884c\u671f\u95f4\u66f4\u6539 \\pset \u8f93\u51fa\u9009\u9879\uff08Tom Lane\uff09\u00a7 \u6b64\u7279\u6027\u5141\u8bb8\u4f7f\u7528 \\g (expand=on) \u8fd9\u6837\u7684\u8bed\u6cd5\uff0c\u5b83\u7b49\u4ef7\u4e8e \\gx\u3002", "title": "\u5141\u8bb8 psql \u7684 \\g \u548c \\gx \u547d\u4ee4\u53ea\u5728\u8be5\u6761\u547d\u4ee4\u6267\u884c\u671f\u95f4\u66f4\u6539 \\pset \u8f93\u51fa\u9009\u9879", "commits": ["b63c293bc"], "section": "\u5ba2\u6237\u7aef\u5e94\u7528\u7a0b\u5e8f / psql", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.10.2", "source_hash": "de12c4600f38140041b06a457df2fba1bc6aca39682f8d60ae58db2e3c54426b", "section_path": ["\u5ba2\u6237\u7aef\u5e94\u7528\u7a0b\u5e8f", "psql"], "commit_groups": [["b63c293bc"]], "identity_text": "Allow psql's \\g and \\gx commands to change \\pset output options for the duration of that single command (Tom Lane) This feature allows syntax like \\g (expand=on), which is equivalent to \\gx.", "commit_aliases": ["b63c293bc"], "source_commits": ["b63c293bc"], "source_entry_id": "13.0/changes/106", "db_id": "86ff892176ab0c0488eb5fbb4b2ea0a8", "patch_ids": ["16d61987d6fd407dd5a429c83c16fb00"], "statement_hash": "08503c9d63970e568ecb54d1fb0874b985871e34251090a226e3c1e4a59a9562", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-a091ebc7307c0055", "migration": false}, {"id": "13.0-b280f1437ad4d798", "cves": [], "html": "<p>\u589e\u52a0\u7528\u4e8e\u663e\u793a\u64cd\u4f5c\u7b26\u7c7b\u548c\u64cd\u4f5c\u7b26\u65cf\u7684 <span>psql</span> \u547d\u4ee4\uff08Sergey Cherkashin\uff0cNikita Glukhov\uff0cAlexander Korotkov\uff09<a href=\"https://postgr.es/c/b0b5e20cd\">\u00a7</a></p>\n<p>\u65b0\u589e\u547d\u4ee4\u4e3a <a href=\"/docs/13/app-psql.html#APP-PSQL-META-COMMANDS\" title=\"\u5143\u547d\u4ee4\"><code>\\dAc</code></a>\u3001<code>\\dAf</code>\u3001<code>\\dAo</code> \u548c <code>\\dAp</code>\u3002</p>", "text": "\u589e\u52a0\u7528\u4e8e\u663e\u793a\u64cd\u4f5c\u7b26\u7c7b\u548c\u64cd\u4f5c\u7b26\u65cf\u7684 psql \u547d\u4ee4\uff08Sergey Cherkashin\uff0cNikita Glukhov\uff0cAlexander Korotkov\uff09\u00a7 \u65b0\u589e\u547d\u4ee4\u4e3a \\dAc\u3001\\dAf\u3001\\dAo \u548c \\dAp\u3002", "title": "\u589e\u52a0\u7528\u4e8e\u663e\u793a\u64cd\u4f5c\u7b26\u7c7b\u548c\u64cd\u4f5c\u7b26\u65cf\u7684 psql \u547d\u4ee4", "commits": ["b0b5e20cd"], "section": "\u5ba2\u6237\u7aef\u5e94\u7528\u7a0b\u5e8f / psql", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.10.2", "source_hash": "ff545e1f465b09da30d23d81ea3d98fd2fb4e5ace6e8e2b7123e3045a955b5e4", "section_path": ["\u5ba2\u6237\u7aef\u5e94\u7528\u7a0b\u5e8f", "psql"], "commit_groups": [["b0b5e20cd"]], "identity_text": "Add psql commands to display operator classes and operator families (Sergey Cherkashin, Nikita Glukhov, Alexander Korotkov) The new commands are \\dAc, \\dAf, \\dAo, and \\dAp.", "commit_aliases": ["b0b5e20cd"], "source_commits": ["b0b5e20cd"], "source_entry_id": "13.0/changes/107", "db_id": "7b485eb345bc59529f98b9a71177ab11", "patch_ids": ["2d23c30333f9ea372a1ff07222218c17"], "statement_hash": "a09d624a3342f3f71496c1a3cd239f00d86193bf2b403642c59fb337b9208dd6", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-b280f1437ad4d798", "migration": false}, {"id": "13.0-518701f16b1ba46a", "cves": [], "html": "<p>\u5728 <span>psql</span> \u7684 <a href=\"/docs/13/app-psql.html#APP-PSQL-META-COMMANDS\" title=\"\u5143\u547d\u4ee4\"><code>\\dt+</code></a> \u53ca\u76f8\u5173\u547d\u4ee4\u4e2d\u663e\u793a\u8868\u7684\u6301\u4e45\u6027\uff08David Fetter\uff09<a href=\"https://postgr.es/c/9a2ea6183\">\u00a7</a></p>\n<p>\u5728\u8be6\u7ec6\u6a21\u5f0f\u4e0b\uff0c\u8868\u3001\u7d22\u5f15\u548c\u89c6\u56fe\u7684\u663e\u793a\u4f1a\u6307\u51fa\u5bf9\u8c61\u662f\u6c38\u4e45\u7684\u3001\u4e34\u65f6\u7684\uff0c\u8fd8\u662f\u4e0d\u8bb0\u5f55 WAL \u7684\u3002</p>", "text": "\u5728 psql \u7684 \\dt+ \u53ca\u76f8\u5173\u547d\u4ee4\u4e2d\u663e\u793a\u8868\u7684\u6301\u4e45\u6027\uff08David Fetter\uff09\u00a7 \u5728\u8be6\u7ec6\u6a21\u5f0f\u4e0b\uff0c\u8868\u3001\u7d22\u5f15\u548c\u89c6\u56fe\u7684\u663e\u793a\u4f1a\u6307\u51fa\u5bf9\u8c61\u662f\u6c38\u4e45\u7684\u3001\u4e34\u65f6\u7684\uff0c\u8fd8\u662f\u4e0d\u8bb0\u5f55 WAL \u7684\u3002", "title": "\u5728 psql \u7684 \\dt+ \u53ca\u76f8\u5173\u547d\u4ee4\u4e2d\u663e\u793a\u8868\u7684\u6301\u4e45\u6027", "commits": ["9a2ea6183"], "section": "\u5ba2\u6237\u7aef\u5e94\u7528\u7a0b\u5e8f / psql", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.10.2", "source_hash": "e143aa743720e8199850b9442cb33349aad5c2ed60ea09213f2b0e3848b773de", "section_path": ["\u5ba2\u6237\u7aef\u5e94\u7528\u7a0b\u5e8f", "psql"], "commit_groups": [["9a2ea6183"]], "identity_text": "Show table persistence in psql's \\dt+ and related commands (David Fetter) In verbose mode, the table/index/view shows if the object is permanent, temporary, or unlogged.", "commit_aliases": ["9a2ea6183"], "source_commits": ["9a2ea6183"], "source_entry_id": "13.0/changes/108", "db_id": "6f6d44f72bf0bbc1c441f9cb9a4f9c8b", "patch_ids": ["c603a6c62664bdd10f820d7ae11cff05"], "statement_hash": "8394b8907b9992d05332f0f23a67bcdca294ea0ebac95988b2ff901bf47ceee1", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-518701f16b1ba46a", "migration": false}, {"id": "13.0-d0d90c43e9dca9f2", "cves": [], "html": "<p>\u6539\u8fdb <span>psql</span> \u7684 <a href=\"/docs/13/app-psql.html#APP-PSQL-META-COMMANDS\" title=\"\u5143\u547d\u4ee4\"><code>\\d</code></a> \u5bf9 <acronym>TOAST</acronym> \u8868\u7684\u8f93\u51fa\uff08Justin Pryzby\uff09<a href=\"https://postgr.es/c/eb5472da9\">\u00a7</a></p>", "text": "\u6539\u8fdb psql \u7684 \\d \u5bf9 TOAST \u8868\u7684\u8f93\u51fa\uff08Justin Pryzby\uff09\u00a7", "title": "\u6539\u8fdb psql \u7684 \\d \u5bf9 TOAST \u8868\u7684\u8f93\u51fa", "commits": ["eb5472da9"], "section": "\u5ba2\u6237\u7aef\u5e94\u7528\u7a0b\u5e8f / psql", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.10.2", "source_hash": "2b81881e4fcc170c1c112b56064ac80a95277004c370bdd3609193db66497397", "section_path": ["\u5ba2\u6237\u7aef\u5e94\u7528\u7a0b\u5e8f", "psql"], "commit_groups": [["eb5472da9"]], "identity_text": "Improve output of psql's \\d for TOAST tables (Justin Pryzby)", "commit_aliases": ["eb5472da9"], "source_commits": ["eb5472da9"], "source_entry_id": "13.0/changes/109", "db_id": "fbcd332d7d74f3111d803df6e3dbe808", "patch_ids": ["b6ef59184739690fa5407e034dbf6d7e"], "statement_hash": "465150c1eabe6234e0e28b65b6ec537ac221c4b473dfcda34b6c53c92061dbca", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-d0d90c43e9dca9f2", "migration": false}, {"id": "13.0-f1e23be8ae7b4c59", "cves": [], "html": "<p>\u4fee\u590d <span>psql</span> \u7684 <a href=\"/docs/13/app-psql.html#APP-PSQL-META-COMMANDS\" title=\"\u5143\u547d\u4ee4\"><code>\\e</code></a> \u547d\u4ee4\u4e4b\u540e\u7684\u91cd\u65b0\u663e\u793a\uff08Tom Lane\uff09<a href=\"https://postgr.es/c/d1c866e57\">\u00a7</a></p>\n<p>\u9000\u51fa\u7f16\u8f91\u5668\u65f6\uff0c\u5982\u679c\u67e5\u8be2\u4e0d\u4ee5\u5206\u53f7\u6216 <code>\\g</code> \u7ed3\u5c3e\uff0c\u73b0\u5728\u4f1a\u663e\u793a\u67e5\u8be2\u7f13\u51b2\u533a\u7684\u5185\u5bb9\u3002</p>", "text": "\u4fee\u590d psql \u7684 \\e \u547d\u4ee4\u4e4b\u540e\u7684\u91cd\u65b0\u663e\u793a\uff08Tom Lane\uff09\u00a7 \u9000\u51fa\u7f16\u8f91\u5668\u65f6\uff0c\u5982\u679c\u67e5\u8be2\u4e0d\u4ee5\u5206\u53f7\u6216 \\g \u7ed3\u5c3e\uff0c\u73b0\u5728\u4f1a\u663e\u793a\u67e5\u8be2\u7f13\u51b2\u533a\u7684\u5185\u5bb9\u3002", "title": "\u4fee\u590d psql \u7684 \\e \u547d\u4ee4\u4e4b\u540e\u7684\u91cd\u65b0\u663e\u793a", "commits": ["d1c866e57"], "section": "\u5ba2\u6237\u7aef\u5e94\u7528\u7a0b\u5e8f / psql", "category": "bugfix", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.10.2", "source_hash": "1c52b5c099c677b6fdcc1d734a01afd0d191795c8777fc7102fab8251dfb31a4", "section_path": ["\u5ba2\u6237\u7aef\u5e94\u7528\u7a0b\u5e8f", "psql"], "commit_groups": [["d1c866e57"]], "identity_text": "Fix redisplay after psql's \\e command (Tom Lane) When exiting the editor, if the query doesn't end with a semicolon or \\g, the query buffer contents will now be displayed.", "commit_aliases": ["d1c866e57"], "source_commits": ["d1c866e57"], "source_entry_id": "13.0/changes/110", "db_id": "1ae29b24bbd32fb2abad98f45a1ce06c", "patch_ids": ["b3be07facf466757590b9934f8813c52"], "statement_hash": "af9df4eb5ac344071ee952f7fb592728110b9c48028286abf19c1ee5dfb544b3", "relations": [], "category_label": "BUG \u4fee\u590d", "url": "/docs/compare/?release=13.0#13.0-f1e23be8ae7b4c59", "migration": false}, {"id": "13.0-52934da576c5d724", "cves": [], "html": "<p>\u5411 <span>psql</span> \u589e\u52a0 <a href=\"/docs/13/app-psql.html#APP-PSQL-META-COMMANDS\" title=\"\u5143\u547d\u4ee4\"><code>\\warn</code></a> \u547d\u4ee4\uff08David Fetter\uff09<a href=\"https://postgr.es/c/02e95a504\">\u00a7</a></p>\n<p>\u8fd9\u4e0e <code>\\echo</code> \u7c7b\u4f3c\uff0c\u4f46\u6587\u672c\u53d1\u9001\u5230 stderr\uff0c\u800c\u975e stdout\u3002</p>", "text": "\u5411 psql \u589e\u52a0 \\warn \u547d\u4ee4\uff08David Fetter\uff09\u00a7 \u8fd9\u4e0e \\echo \u7c7b\u4f3c\uff0c\u4f46\u6587\u672c\u53d1\u9001\u5230 stderr\uff0c\u800c\u975e stdout\u3002", "title": "\u5411 psql \u589e\u52a0 \\warn \u547d\u4ee4", "commits": ["02e95a504"], "section": "\u5ba2\u6237\u7aef\u5e94\u7528\u7a0b\u5e8f / psql", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.10.2", "source_hash": "f85b6de0cdf200d41d92abbd87e0599bf632912be620fcbd51bd63101dc2039d", "section_path": ["\u5ba2\u6237\u7aef\u5e94\u7528\u7a0b\u5e8f", "psql"], "commit_groups": [["02e95a504"]], "identity_text": "Add \\warn command to psql (David Fetter) This is like \\echo except that the text is sent to stderr instead of stdout.", "commit_aliases": ["02e95a504"], "source_commits": ["02e95a504"], "source_entry_id": "13.0/changes/111", "db_id": "813d5587edeb1f405d3362668baaddbb", "patch_ids": ["0707e22895d0025c1718a848c8f2c8e5"], "statement_hash": "9f76370b2f5be2419402338cc31bbe905131acc3dc2fdf281e8e6e24ae9fbd80", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-52934da576c5d724", "migration": false}, {"id": "13.0-b2c9633d1b209335", "cves": [], "html": "<p>\u5c06 <span>PostgreSQL</span> \u4e3b\u9875\u6dfb\u52a0\u5230\u547d\u4ee4\u884c <code>--help</code> \u8f93\u51fa\u4e2d\uff08Peter Eisentraut\uff09<a href=\"https://postgr.es/c/1933ae629\">\u00a7</a></p>", "text": "\u5c06 PostgreSQL \u4e3b\u9875\u6dfb\u52a0\u5230\u547d\u4ee4\u884c --help \u8f93\u51fa\u4e2d\uff08Peter Eisentraut\uff09\u00a7", "title": "\u5c06 PostgreSQL \u4e3b\u9875\u6dfb\u52a0\u5230\u547d\u4ee4\u884c --help \u8f93\u51fa\u4e2d", "commits": ["1933ae629"], "section": "\u5ba2\u6237\u7aef\u5e94\u7528\u7a0b\u5e8f / psql", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.10.2", "source_hash": "ad7fdec8f97b9421ad947de3f06032cbf4dd2347e8f2bab12ea007ef9df70267", "section_path": ["\u5ba2\u6237\u7aef\u5e94\u7528\u7a0b\u5e8f", "psql"], "commit_groups": [["1933ae629"]], "identity_text": "Add the PostgreSQL home page to command-line --help output (Peter Eisentraut)", "commit_aliases": ["1933ae629"], "source_commits": ["1933ae629"], "source_entry_id": "13.0/changes/112", "db_id": "4b279be72daa29a55090428191f937d6", "patch_ids": ["934bbf6c3edcff254b169ba8d90c564d"], "statement_hash": "6040dcda356a65e72f51044e8030711dc3337413bf7cd400e543026cd5fc31ae", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-b2c9633d1b209335", "migration": false}, {"id": "13.0-a0a932f18df0fb2a", "cves": [], "html": "<p>\u5141\u8bb8 pgbench \u5bf9\u5176 <span>\u201c<span>accounts</span>\u201d</span> \u8868\u8fdb\u884c\u5206\u533a\uff08Fabien Coelho\uff09<a href=\"https://postgr.es/c/b1c1aa531\">\u00a7</a></p>\n<p>\u8fd9\u4f7f\u5206\u533a\u6027\u80fd\u6d4b\u8bd5\u6210\u4e3a\u53ef\u80fd\u3002</p>", "text": "\u5141\u8bb8 pgbench \u5bf9\u5176 \u201caccounts\u201d \u8868\u8fdb\u884c\u5206\u533a\uff08Fabien Coelho\uff09\u00a7 \u8fd9\u4f7f\u5206\u533a\u6027\u80fd\u6d4b\u8bd5\u6210\u4e3a\u53ef\u80fd\u3002", "title": "\u5141\u8bb8 pgbench \u5bf9\u5176 \u201caccounts\u201d \u8868\u8fdb\u884c\u5206\u533a", "commits": ["b1c1aa531"], "section": "\u5ba2\u6237\u7aef\u5e94\u7528\u7a0b\u5e8f / pgbench", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.10.3", "source_hash": "a5d38636a9e6c7d86c32756a19e044c8cb7ce2c7f3f5275333e9a29ece860134", "section_path": ["\u5ba2\u6237\u7aef\u5e94\u7528\u7a0b\u5e8f", "pgbench"], "commit_groups": [["b1c1aa531"]], "identity_text": "Allow pgbench to partition its accounts table (Fabien Coelho) This allows performance testing of partitioning.", "commit_aliases": ["b1c1aa531"], "source_commits": ["b1c1aa531"], "source_entry_id": "13.0/changes/113", "db_id": "064e91af88fce042108cacfb8ed313c9", "patch_ids": ["c31078be79e92c2b34f4685aff171b05"], "statement_hash": "96ae3a13edacb89a470b7525d74b2cc8978d357dd34c6eb8dd596c53e97b4cfb", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-a0a932f18df0fb2a", "migration": false}, {"id": "13.0-1ea069328f8d78ab", "cves": [], "html": "<p>\u589e\u52a0 pgbench \u547d\u4ee4 <code>\\aset</code>\uff0c\u5176\u884c\u4e3a\u7c7b\u4f3c <code>\\gset</code>\uff0c\u4f46\u9002\u7528\u4e8e\u591a\u4e2a\u67e5\u8be2\uff08Fabien Coelho\uff09<a href=\"https://postgr.es/c/9d8ef9880\">\u00a7</a></p>", "text": "\u589e\u52a0 pgbench \u547d\u4ee4 \\aset\uff0c\u5176\u884c\u4e3a\u7c7b\u4f3c \\gset\uff0c\u4f46\u9002\u7528\u4e8e\u591a\u4e2a\u67e5\u8be2\uff08Fabien Coelho\uff09\u00a7", "title": "\u589e\u52a0 pgbench \u547d\u4ee4 \\aset\uff0c\u5176\u884c\u4e3a\u7c7b\u4f3c \\gset\uff0c\u4f46\u9002\u7528\u4e8e\u591a\u4e2a\u67e5\u8be2", "commits": ["9d8ef9880"], "section": "\u5ba2\u6237\u7aef\u5e94\u7528\u7a0b\u5e8f / pgbench", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.10.3", "source_hash": "ba5c6c14c09dc55e2407d53f229bcab252b08f6ac6d13fe6210766f7d64af210", "section_path": ["\u5ba2\u6237\u7aef\u5e94\u7528\u7a0b\u5e8f", "pgbench"], "commit_groups": [["9d8ef9880"]], "identity_text": "Add pgbench command \\aset, which behaves like \\gset, but for multiple queries (Fabien Coelho)", "commit_aliases": ["9d8ef9880"], "source_commits": ["9d8ef9880"], "source_entry_id": "13.0/changes/114", "db_id": "4c48e00512471ae3e3d0528f701eee7f", "patch_ids": ["512f0fd14a010dfec77b6d8843defd35"], "statement_hash": "7deedbc07f3d40f86dce6dd8a3e706423933ecbf8490a18075e36446a49c3f41", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-1ea069328f8d78ab", "migration": false}, {"id": "13.0-96099f73838ba6c5", "cves": [], "html": "<p>\u5141\u8bb8 pgbench \u5728\u670d\u52a1\u5668\u7aef\u800c\u975e\u5ba2\u6237\u7aef\u751f\u6210\u521d\u59cb\u6570\u636e\uff08Fabien Coelho\uff09<a href=\"https://postgr.es/c/a386942bd\">\u00a7</a></p>", "text": "\u5141\u8bb8 pgbench \u5728\u670d\u52a1\u5668\u7aef\u800c\u975e\u5ba2\u6237\u7aef\u751f\u6210\u521d\u59cb\u6570\u636e\uff08Fabien Coelho\uff09\u00a7", "title": "\u5141\u8bb8 pgbench \u5728\u670d\u52a1\u5668\u7aef\u800c\u975e\u5ba2\u6237\u7aef\u751f\u6210\u521d\u59cb\u6570\u636e", "commits": ["a386942bd"], "section": "\u5ba2\u6237\u7aef\u5e94\u7528\u7a0b\u5e8f / pgbench", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.10.3", "source_hash": "43b1b8055199c7d7db103701562927f4bba23bd5cfe92ee5215dae15374c002c", "section_path": ["\u5ba2\u6237\u7aef\u5e94\u7528\u7a0b\u5e8f", "pgbench"], "commit_groups": [["a386942bd"]], "identity_text": "Allow pgbench to generate its initial data server-side, rather than client-side (Fabien Coelho)", "commit_aliases": ["a386942bd"], "source_commits": ["a386942bd"], "source_entry_id": "13.0/changes/115", "db_id": "d8a049bdffb6a4c7b1af5bc4fef34349", "patch_ids": ["52d3a39512179aed4a9d17c212e850c6"], "statement_hash": "b548584f4f0145b38775c3d015075e4658c0658cd572238800b0e905f83a45dc", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-96099f73838ba6c5", "migration": false}, {"id": "13.0-2b6a4db5d3833fc0", "cves": [], "html": "<p>\u5141\u8bb8 pgbench \u4f7f\u7528 <code>--show-script</code> \u9009\u9879\u663e\u793a\u811a\u672c\u5185\u5bb9\uff08Fabien Coelho\uff09<a href=\"https://postgr.es/c/5823677ac\">\u00a7</a></p>", "text": "\u5141\u8bb8 pgbench \u4f7f\u7528 --show-script \u9009\u9879\u663e\u793a\u811a\u672c\u5185\u5bb9\uff08Fabien Coelho\uff09\u00a7", "title": "\u5141\u8bb8 pgbench \u4f7f\u7528 --show-script \u9009\u9879\u663e\u793a\u811a\u672c\u5185\u5bb9", "commits": ["5823677ac"], "section": "\u5ba2\u6237\u7aef\u5e94\u7528\u7a0b\u5e8f / pgbench", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.10.3", "source_hash": "f76bc8eb89996ffdcbbdca600f766d9afea924b4d3273190ea2844ee9bf0947b", "section_path": ["\u5ba2\u6237\u7aef\u5e94\u7528\u7a0b\u5e8f", "pgbench"], "commit_groups": [["5823677ac"]], "identity_text": "Allow pgbench to show script contents using option --show-script (Fabien Coelho)", "commit_aliases": ["5823677ac"], "source_commits": ["5823677ac"], "source_entry_id": "13.0/changes/116", "db_id": "2c12fd852c08737e49d2e52768fffe7b", "patch_ids": ["71858851c64384a8692b5b408e7c36e1"], "statement_hash": "d71971dafce38543c4870455c320cb43dd1dfd114ec58e5e23d2458d73dd402f", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-2b6a4db5d3833fc0", "migration": false}, {"id": "13.0-b72a95e0bc64c8ee", "cves": [], "html": "<p>\u4e3a\u57fa\u7840\u5907\u4efd\u751f\u6210\u5907\u4efd\u6e05\u5355\uff0c\u5e76\u9a8c\u8bc1\u5907\u4efd\uff08Robert Haas\uff09<a href=\"https://postgr.es/c/0d8c9c121\">\u00a7</a> <a href=\"https://postgr.es/c/dbc60c559\">\u00a7</a></p>\n<p>\u65b0\u5de5\u5177<a href=\"/docs/13/app-pgverifybackup.html\" title=\"pg_verifybackup\"><span>pg_verifybackup</span></a>\u53ef\u4ee5\u9a8c\u8bc1\u5907\u4efd\u3002</p>", "text": "\u4e3a\u57fa\u7840\u5907\u4efd\u751f\u6210\u5907\u4efd\u6e05\u5355\uff0c\u5e76\u9a8c\u8bc1\u5907\u4efd\uff08Robert Haas\uff09\u00a7 \u00a7 \u65b0\u5de5\u5177pg_verifybackup\u53ef\u4ee5\u9a8c\u8bc1\u5907\u4efd\u3002", "title": "\u4e3a\u57fa\u7840\u5907\u4efd\u751f\u6210\u5907\u4efd\u6e05\u5355\uff0c\u5e76\u9a8c\u8bc1\u5907\u4efd", "commits": ["0d8c9c121", "dbc60c559"], "section": "\u670d\u52a1\u5668\u5e94\u7528\u7a0b\u5e8f", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.11", "source_hash": "ca9a227f3c0a1556f0aa8bbb6b000c3259ec72fadc756887d5790edd6bce5ad2", "section_path": ["\u670d\u52a1\u5668\u5e94\u7528\u7a0b\u5e8f"], "commit_groups": [["0d8c9c121"], ["dbc60c559"]], "identity_text": "Generate backup manifests for base backups, and verify them (Robert Haas) A new tool pg_verifybackup can verify backups.", "commit_aliases": ["0d8c9c121", "dbc60c559"], "source_commits": ["0d8c9c121", "dbc60c559"], "source_entry_id": "13.0/changes/117", "db_id": "7e168c434b0f06a691ace1ef649379d7", "patch_ids": ["6da64c4453212bb182dc8e0e28205bb5", "ea2237512a068d9c4709b84e1e7070f7"], "statement_hash": "7519c80336ab84aae7decbeed5a137d95c7bc7cfb62ba3410c6a0334b6455b25", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-b72a95e0bc64c8ee", "migration": false}, {"id": "13.0-941f448487f0103f", "cves": [], "html": "<p>\u4f7f<a href=\"/docs/13/app-pgbasebackup.html\" title=\"pg_basebackup\"><span>pg_basebackup</span></a>\u9ed8\u8ba4\u4f30\u8ba1\u5907\u4efd\u603b\u5927\u5c0f\uff08Fujii Masao\uff09<a href=\"https://postgr.es/c/fab13dc50\">\u00a7</a></p>\n<p>\u8fd9\u4e00\u8ba1\u7b97\u4f7f <a href=\"/docs/13/monitoring-stats.html#MONITORING-STATS-DYNAMIC-VIEWS-TABLE\" title=\"\u8868\u00a027.1.\u00a0\u52a8\u6001\u7edf\u8ba1\u89c6\u56fe\"><code>pg_stat_progress_basebackup</code></a> \u80fd\u591f\u663e\u793a\u8fdb\u5ea6\u3002\u5982\u679c\u4e0d\u9700\u8981\uff0c\u53ef\u4ee5\u4f7f\u7528 <code>--no-estimate-size</code> \u9009\u9879\u7981\u7528\u5b83\u3002\u4ee5\u524d\uff0c\u53ea\u6709\u4f7f\u7528 <code>--progress</code> \u9009\u9879\u65f6\u624d\u4f1a\u8fdb\u884c\u8fd9\u4e00\u8ba1\u7b97\u3002</p>", "text": "\u4f7fpg_basebackup\u9ed8\u8ba4\u4f30\u8ba1\u5907\u4efd\u603b\u5927\u5c0f\uff08Fujii Masao\uff09\u00a7 \u8fd9\u4e00\u8ba1\u7b97\u4f7f pg_stat_progress_basebackup \u80fd\u591f\u663e\u793a\u8fdb\u5ea6\u3002\u5982\u679c\u4e0d\u9700\u8981\uff0c\u53ef\u4ee5\u4f7f\u7528 --no-estimate-size \u9009\u9879\u7981\u7528\u5b83\u3002\u4ee5\u524d\uff0c\u53ea\u6709\u4f7f\u7528 --progress \u9009\u9879\u65f6\u624d\u4f1a\u8fdb\u884c\u8fd9\u4e00\u8ba1\u7b97\u3002", "title": "\u4f7fpg_basebackup\u9ed8\u8ba4\u4f30\u8ba1\u5907\u4efd\u603b\u5927\u5c0f", "commits": ["fab13dc50"], "section": "\u670d\u52a1\u5668\u5e94\u7528\u7a0b\u5e8f", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.11", "source_hash": "01df6ebf8da29ad1c3ca5010c8bc935f6e30ec60315e5f9f1cce01fbe842c839", "section_path": ["\u670d\u52a1\u5668\u5e94\u7528\u7a0b\u5e8f"], "commit_groups": [["fab13dc50"]], "identity_text": "Have pg_basebackup estimate the total backup size by default (Fujii Masao) This computation allows pg_stat_progress_basebackup to show progress. If that is not needed, it can be disabled by using the --no-estimate-size option. Previously, this computation happened only if the --progress option was used.", "commit_aliases": ["fab13dc50"], "source_commits": ["fab13dc50"], "source_entry_id": "13.0/changes/118", "db_id": "0bb5356c415061e60ced6e962290ffe5", "patch_ids": ["540361c58acfe19ac2325ab42dcc9076"], "statement_hash": "fa188b2326537bfdf79a358ef702ff6efd39fdab7392d7b76d0e39ecf3099efc", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-941f448487f0103f", "migration": false}, {"id": "13.0-54e6b80d4fd68754", "cves": [], "html": "<p>\u4e3a<a href=\"/docs/13/app-pgrewind.html\" title=\"pg_rewind\"><span>pg_rewind</span></a>\u589e\u52a0\u914d\u7f6e\u5907\u5e93\u7684\u9009\u9879\uff08Paul Guo\uff0cJimmy Yih\uff0cAshwin Agrawal\uff09<a href=\"https://postgr.es/c/927474ce1\">\u00a7</a></p>\n<p>\u8fd9\u4e0e<a href=\"/docs/13/app-pgbasebackup.html\" title=\"pg_basebackup\"><span>pg_basebackup</span></a>\u7684 <code>--write-recovery-conf</code> \u9009\u9879\u4e00\u81f4\u3002</p>", "text": "\u4e3apg_rewind\u589e\u52a0\u914d\u7f6e\u5907\u5e93\u7684\u9009\u9879\uff08Paul Guo\uff0cJimmy Yih\uff0cAshwin Agrawal\uff09\u00a7 \u8fd9\u4e0epg_basebackup\u7684 --write-recovery-conf \u9009\u9879\u4e00\u81f4\u3002", "title": "\u4e3apg_rewind\u589e\u52a0\u914d\u7f6e\u5907\u5e93\u7684\u9009\u9879", "commits": ["927474ce1"], "section": "\u670d\u52a1\u5668\u5e94\u7528\u7a0b\u5e8f", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.11", "source_hash": "d77b50d781ceae37ecc012d72304b02cd61bd59bceef990f8cd5b6c49dede167", "section_path": ["\u670d\u52a1\u5668\u5e94\u7528\u7a0b\u5e8f"], "commit_groups": [["927474ce1"]], "identity_text": "Add an option to pg_rewind to configure standbys (Paul Guo, Jimmy Yih, Ashwin Agrawal) This matches pg_basebackup's --write-recovery-conf option.", "commit_aliases": ["927474ce1"], "source_commits": ["927474ce1"], "source_entry_id": "13.0/changes/119", "db_id": "c81836e09d8284a672022348804d8703", "patch_ids": ["013f2b3bee9796b0442805c57079c004"], "statement_hash": "190ae8493da7b8893c42f4c57a5620dbb440d014d5ab1210dace615a5d55cfee", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-54e6b80d4fd68754", "migration": false}, {"id": "13.0-bc39b86eb1383b12", "cves": [], "html": "<p>\u5141\u8bb8 <span>pg_rewind</span> \u4f7f\u7528\u76ee\u6807\u96c6\u7fa4\u7684<a href=\"/docs/13/runtime-config-wal.html#GUC-RESTORE-COMMAND\">restore_command</a>\u83b7\u53d6\u6240\u9700\u7684 <acronym>WAL</acronym>\uff08Alexey Kondratov\uff09<a href=\"https://postgr.es/c/a7e8ece41\">\u00a7</a></p>\n<p>\u8fd9\u901a\u8fc7 <code>-c</code>/<code>--restore-target-wal</code> \u9009\u9879\u542f\u7528\u3002</p>", "text": "\u5141\u8bb8 pg_rewind \u4f7f\u7528\u76ee\u6807\u96c6\u7fa4\u7684restore_command\u83b7\u53d6\u6240\u9700\u7684 WAL\uff08Alexey Kondratov\uff09\u00a7 \u8fd9\u901a\u8fc7 -c/--restore-target-wal \u9009\u9879\u542f\u7528\u3002", "title": "\u5141\u8bb8 pg_rewind \u4f7f\u7528\u76ee\u6807\u96c6\u7fa4\u7684restore_command\u83b7\u53d6\u6240\u9700\u7684 WAL", "commits": ["a7e8ece41"], "section": "\u670d\u52a1\u5668\u5e94\u7528\u7a0b\u5e8f", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.11", "source_hash": "b1f3226599504b7f7dce85fb2c74e2cbe315b4927f994dd62b561314e2e99916", "section_path": ["\u670d\u52a1\u5668\u5e94\u7528\u7a0b\u5e8f"], "commit_groups": [["a7e8ece41"]], "identity_text": "Allow pg_rewind to use the target cluster's guc-restore-command to retrieve needed WAL (Alexey Kondratov) This is enabled using the -c/--restore-target-wal option.", "commit_aliases": ["a7e8ece41"], "source_commits": ["a7e8ece41"], "source_entry_id": "13.0/changes/120", "db_id": "127393e85fc52ca45ff828df425e6cb9", "patch_ids": ["90bf7f8019d7c178da2a0dab3b0a0358"], "statement_hash": "254f0ad5a56cd23f3a6557190a0d6281db516fb08f78c0d12752d40ff37c4ad3", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-bc39b86eb1383b12", "migration": false}, {"id": "13.0-c6683ca58d1b56de", "cves": [], "html": "<p>\u4f7f <span>pg_rewind</span> \u5728\u56de\u9000\u4e4b\u524d\u81ea\u52a8\u8fd0\u884c\u5d29\u6e83\u6062\u590d\uff08Paul Guo\uff0cJimmy Yih\uff0cAshwin Agrawal\uff09<a href=\"https://postgr.es/c/5adafaf17\">\u00a7</a></p>\n<p>\u53ef\u4ee5\u4f7f\u7528 <code>--no-ensure-shutdown</code> \u7981\u7528\u6b64\u884c\u4e3a\u3002</p>", "text": "\u4f7f pg_rewind \u5728\u56de\u9000\u4e4b\u524d\u81ea\u52a8\u8fd0\u884c\u5d29\u6e83\u6062\u590d\uff08Paul Guo\uff0cJimmy Yih\uff0cAshwin Agrawal\uff09\u00a7 \u53ef\u4ee5\u4f7f\u7528 --no-ensure-shutdown \u7981\u7528\u6b64\u884c\u4e3a\u3002", "title": "\u4f7f pg_rewind \u5728\u56de\u9000\u4e4b\u524d\u81ea\u52a8\u8fd0\u884c\u5d29\u6e83\u6062\u590d", "commits": ["5adafaf17"], "section": "\u670d\u52a1\u5668\u5e94\u7528\u7a0b\u5e8f", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.11", "source_hash": "71b9a404240829f8560b920a9773ddfcc6acc3f2e620f1fb3d5761adb600e1af", "section_path": ["\u670d\u52a1\u5668\u5e94\u7528\u7a0b\u5e8f"], "commit_groups": [["5adafaf17"]], "identity_text": "Have pg_rewind automatically run crash recovery before rewinding (Paul Guo, Jimmy Yih, Ashwin Agrawal) This can be disabled by using --no-ensure-shutdown.", "commit_aliases": ["5adafaf17"], "source_commits": ["5adafaf17"], "source_entry_id": "13.0/changes/121", "db_id": "dae6fab8823244835e79beb5762727dc", "patch_ids": ["3a523b3840ffe707968392837128382a"], "statement_hash": "2a4c06dd3ba6915a041477d95d7d784d3c07ed77277ab568119cea19ff355706", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-c6683ca58d1b56de", "migration": false}, {"id": "13.0-d104e8347c4885ab", "cves": [], "html": "<p>\u589e\u52a0 <span>pg_waldump</span> \u62a5\u544a\u7684 <a href=\"/docs/13/sql-prepare-transaction.html\" title=\"PREPARE TRANSACTION\"><code>PREPARE TRANSACTION</code></a> \u76f8\u5173\u4fe1\u606f\uff08Fujii Masao\uff09<a href=\"https://postgr.es/c/7b8a899bd\">\u00a7</a></p>", "text": "\u589e\u52a0 pg_waldump \u62a5\u544a\u7684 PREPARE TRANSACTION \u76f8\u5173\u4fe1\u606f\uff08Fujii Masao\uff09\u00a7", "title": "\u589e\u52a0 pg_waldump \u62a5\u544a\u7684 PREPARE TRANSACTION \u76f8\u5173\u4fe1\u606f", "commits": ["7b8a899bd"], "section": "\u670d\u52a1\u5668\u5e94\u7528\u7a0b\u5e8f", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.11", "source_hash": "531d3b61fc821af6c9fc78f4b2326c88c2095ce7f3ad691c7d0e26e6b58e171a", "section_path": ["\u670d\u52a1\u5668\u5e94\u7528\u7a0b\u5e8f"], "commit_groups": [["7b8a899bd"]], "identity_text": "Increase the PREPARE TRANSACTION-related information reported by pg_waldump (Fujii Masao)", "commit_aliases": ["7b8a899bd"], "source_commits": ["7b8a899bd"], "source_entry_id": "13.0/changes/122", "db_id": "a492f262d9cfb0d45d07ed5df3c650c9", "patch_ids": ["15ab3009fde5ec973877c61f49b0c259"], "statement_hash": "41c7fc8967b1364b5cb90516594f270405ded4b96d5d2fb57aa679dbbceb3dea", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-d104e8347c4885ab", "migration": false}, {"id": "13.0-c3a55a98aae9a03c", "cves": [], "html": "<p>\u589e\u52a0<a href=\"/docs/13/pgwaldump.html\" title=\"pg_waldump\"><span>pg_waldump</span></a>\u9009\u9879 <code>--quiet</code>\uff0c\u4ee5\u6291\u5236\u975e\u9519\u8bef\u8f93\u51fa\uff08Andres Freund\uff0cRobert Haas\uff09<a href=\"https://postgr.es/c/ac44367ef\">\u00a7</a></p>", "text": "\u589e\u52a0pg_waldump\u9009\u9879 --quiet\uff0c\u4ee5\u6291\u5236\u975e\u9519\u8bef\u8f93\u51fa\uff08Andres Freund\uff0cRobert Haas\uff09\u00a7", "title": "\u589e\u52a0pg_waldump\u9009\u9879 --quiet\uff0c\u4ee5\u6291\u5236\u975e\u9519\u8bef\u8f93\u51fa", "commits": ["ac44367ef"], "section": "\u670d\u52a1\u5668\u5e94\u7528\u7a0b\u5e8f", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.11", "source_hash": "4adaab95eeae0d06ed5154b5d99ceec513caf1167ce52f70ce84a0890b5599a3", "section_path": ["\u670d\u52a1\u5668\u5e94\u7528\u7a0b\u5e8f"], "commit_groups": [["ac44367ef"]], "identity_text": "Add pg_waldump option --quiet to suppress non-error output (Andres Freund, Robert Haas)", "commit_aliases": ["ac44367ef"], "source_commits": ["ac44367ef"], "source_entry_id": "13.0/changes/123", "db_id": "4db4ac3704c57c01ce98e52f2e3d49c4", "patch_ids": ["fde0ac7b09db1f28518afaf2e04daf79"], "statement_hash": "daa4ee9c8332d5fe2f71dee0861e066cf674693fc2d48785bbf6cdded9b30c1f", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-c3a55a98aae9a03c", "migration": false}, {"id": "13.0-6a7e2129e640ea86", "cves": [], "html": "<p>\u589e\u52a0<a href=\"/docs/13/app-pgdump.html\" title=\"pg_dump\"><span>pg_dump</span></a>\u9009\u9879 <code>--include-foreign-data</code>\uff0c\u4ee5\u8f6c\u50a8\u5916\u90e8\u670d\u52a1\u5668\u4e0a\u7684\u6570\u636e\uff08Luis Carril\uff09<a href=\"https://postgr.es/c/2f9eb3132\">\u00a7</a></p>", "text": "\u589e\u52a0pg_dump\u9009\u9879 --include-foreign-data\uff0c\u4ee5\u8f6c\u50a8\u5916\u90e8\u670d\u52a1\u5668\u4e0a\u7684\u6570\u636e\uff08Luis Carril\uff09\u00a7", "title": "\u589e\u52a0pg_dump\u9009\u9879 --include-foreign-data\uff0c\u4ee5\u8f6c\u50a8\u5916\u90e8\u670d\u52a1\u5668\u4e0a\u7684\u6570\u636e", "commits": ["2f9eb3132"], "section": "\u670d\u52a1\u5668\u5e94\u7528\u7a0b\u5e8f", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.11", "source_hash": "04fc782d2449c883ae9d708b33175fde502b3049ff5b253c82b2cd63728223c0", "section_path": ["\u670d\u52a1\u5668\u5e94\u7528\u7a0b\u5e8f"], "commit_groups": [["2f9eb3132"]], "identity_text": "Add pg_dump option --include-foreign-data to dump data from foreign servers (Luis Carril)", "commit_aliases": ["2f9eb3132"], "source_commits": ["2f9eb3132"], "source_entry_id": "13.0/changes/124", "db_id": "7502a0c21ed274d416d7bf95a446a099", "patch_ids": ["294f337a9bdd33c74b7af01a6bab37de"], "statement_hash": "ba6ed4357e5dea5c71170aff651b20df43e5d5f631b6e15462deef7afae0d17a", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-6a7e2129e640ea86", "migration": false}, {"id": "13.0-d69711a5f0b2487d", "cves": [], "html": "<p>\u5141\u8bb8 <a href=\"/docs/13/app-vacuumdb.html\" title=\"vacuumdb\">vacuumdb</a> \u8fd0\u884c\u7684\u6e05\u7406\u547d\u4ee4\u4ee5\u5e76\u884c\u6a21\u5f0f\u6267\u884c\uff08Masahiko Sawada\uff09<a href=\"https://postgr.es/c/47bc9ced0\">\u00a7</a></p>\n<p>\u8fd9\u901a\u8fc7\u65b0\u589e\u7684 <code>--parallel</code> \u9009\u9879\u542f\u7528\u3002</p>", "text": "\u5141\u8bb8 vacuumdb \u8fd0\u884c\u7684\u6e05\u7406\u547d\u4ee4\u4ee5\u5e76\u884c\u6a21\u5f0f\u6267\u884c\uff08Masahiko Sawada\uff09\u00a7 \u8fd9\u901a\u8fc7\u65b0\u589e\u7684 --parallel \u9009\u9879\u542f\u7528\u3002", "title": "\u5141\u8bb8 vacuumdb \u8fd0\u884c\u7684\u6e05\u7406\u547d\u4ee4\u4ee5\u5e76\u884c\u6a21\u5f0f\u6267\u884c", "commits": ["47bc9ced0"], "section": "\u670d\u52a1\u5668\u5e94\u7528\u7a0b\u5e8f", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.11", "source_hash": "ffa1f13919233923b250dbc4381e1369122e9901959949b9adacc1e0c359762f", "section_path": ["\u670d\u52a1\u5668\u5e94\u7528\u7a0b\u5e8f"], "commit_groups": [["47bc9ced0"]], "identity_text": "Allow vacuum commands run by vacuumdb to operate in parallel mode (Masahiko Sawada) This is enabled with the new --parallel option.", "commit_aliases": ["47bc9ced0"], "source_commits": ["47bc9ced0"], "source_entry_id": "13.0/changes/125", "db_id": "402c05753917cfbc3a5668e97094d04d", "patch_ids": ["9d2b1110aecef5f3b08ca256cc9e2f83"], "statement_hash": "9dcdbafd823a76f3ddb51803a97141875b7e8ef25b75324c1b26009a6935e704", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-d69711a5f0b2487d", "migration": false}, {"id": "13.0-3457bdda2ac2ebfc", "cves": [], "html": "<p>\u5141\u8bb8 <a href=\"/docs/13/app-reindexdb.html\" title=\"reindexdb\">reindexdb</a> \u5e76\u884c\u8fd0\u884c\uff08Julien Rouhaud\uff09<a href=\"https://postgr.es/c/5ab892c39\">\u00a7</a></p>\n<p>\u5e76\u884c\u6a21\u5f0f\u901a\u8fc7\u65b0\u589e\u7684 <code>--jobs</code> \u9009\u9879\u542f\u7528\u3002</p>", "text": "\u5141\u8bb8 reindexdb \u5e76\u884c\u8fd0\u884c\uff08Julien Rouhaud\uff09\u00a7 \u5e76\u884c\u6a21\u5f0f\u901a\u8fc7\u65b0\u589e\u7684 --jobs \u9009\u9879\u542f\u7528\u3002", "title": "\u5141\u8bb8 reindexdb \u5e76\u884c\u8fd0\u884c", "commits": ["5ab892c39"], "section": "\u670d\u52a1\u5668\u5e94\u7528\u7a0b\u5e8f", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.11", "source_hash": "b3604ec243027f102ac27dea02ecf3d5a09717b266a712b401decaa4a57e878e", "section_path": ["\u670d\u52a1\u5668\u5e94\u7528\u7a0b\u5e8f"], "commit_groups": [["5ab892c39"]], "identity_text": "Allow reindexdb to operate in parallel (Julien Rouhaud) Parallel mode is enabled with the new --jobs option.", "commit_aliases": ["5ab892c39"], "source_commits": ["5ab892c39"], "source_entry_id": "13.0/changes/126", "db_id": "5564f98e3aec38f87a87bfad2bc703e6", "patch_ids": ["5508112f3ec56e0ebfe49b6b4d61991d"], "statement_hash": "257f7d2a1589a7e707d5dfd7e03636de7698fc4984ed6215d69de992c043a863", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-3457bdda2ac2ebfc", "migration": false}, {"id": "13.0-acaea7275b4d159a", "cves": [], "html": "<p>\u5141\u8bb8 <a href=\"/docs/13/app-dropdb.html\" title=\"dropdb\">dropdb</a> \u65ad\u5f00\u6b63\u5728\u4f7f\u7528\u76ee\u6807\u6570\u636e\u5e93\u7684\u4f1a\u8bdd\uff0c\u4ee5\u4f7f\u5220\u9664\u6210\u529f\uff08Pavel Stehule\uff09<a href=\"https://postgr.es/c/80e05a088\">\u00a7</a></p>\n<p>\u8fd9\u901a\u8fc7 <code>-f</code> \u9009\u9879\u542f\u7528\u3002</p>", "text": "\u5141\u8bb8 dropdb \u65ad\u5f00\u6b63\u5728\u4f7f\u7528\u76ee\u6807\u6570\u636e\u5e93\u7684\u4f1a\u8bdd\uff0c\u4ee5\u4f7f\u5220\u9664\u6210\u529f\uff08Pavel Stehule\uff09\u00a7 \u8fd9\u901a\u8fc7 -f \u9009\u9879\u542f\u7528\u3002", "title": "\u5141\u8bb8 dropdb \u65ad\u5f00\u6b63\u5728\u4f7f\u7528\u76ee\u6807\u6570\u636e\u5e93\u7684\u4f1a\u8bdd\uff0c\u4ee5\u4f7f\u5220\u9664\u6210\u529f", "commits": ["80e05a088"], "section": "\u670d\u52a1\u5668\u5e94\u7528\u7a0b\u5e8f", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.11", "source_hash": "7253fe30d61e920a61d957945fed99bb5618381c8b9879b14ee10f8e8e5c6318", "section_path": ["\u670d\u52a1\u5668\u5e94\u7528\u7a0b\u5e8f"], "commit_groups": [["80e05a088"]], "identity_text": "Allow dropdb to disconnect sessions using the target database, allowing the drop to succeed (Pavel Stehule) This is enabled with the -f option.", "commit_aliases": ["80e05a088"], "source_commits": ["80e05a088"], "source_entry_id": "13.0/changes/127", "db_id": "7e96281f713a4f0d3c43b3acde368e29", "patch_ids": ["6da5ec84077823de20ae3e34a0b3cbd1"], "statement_hash": "43a5ffb1e6fa2532691d32ea92947055f381b812211db7b746342a3ff691c52c", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-acaea7275b4d159a", "migration": false}, {"id": "13.0-33292f4ea20797ec", "cves": [], "html": "<p>\u4ece <a href=\"/docs/13/app-createuser.html\" title=\"createuser\">createuser</a> \u4e2d\u79fb\u9664 <code>--adduser</code> \u548c <code>--no-adduser</code>\uff08Alexander Lakhin\uff09<a href=\"https://postgr.es/c/4fa5edcd1\">\u00a7</a></p>\n<p>\u957f\u671f\u4ee5\u6765\uff0c\u7528\u4e8e\u6b64\u76ee\u7684\u7684\u63a8\u8350\u9009\u9879\u662f <code>--superuser</code> \u548c <code>--no-superuser</code>\u3002</p>", "text": "\u4ece createuser \u4e2d\u79fb\u9664 --adduser \u548c --no-adduser\uff08Alexander Lakhin\uff09\u00a7 \u957f\u671f\u4ee5\u6765\uff0c\u7528\u4e8e\u6b64\u76ee\u7684\u7684\u63a8\u8350\u9009\u9879\u662f --superuser \u548c --no-superuser\u3002", "title": "\u4ece createuser \u4e2d\u79fb\u9664 --adduser \u548c --no-adduser", "commits": ["4fa5edcd1"], "section": "\u670d\u52a1\u5668\u5e94\u7528\u7a0b\u5e8f", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.11", "source_hash": "417c9b74156bcef451fd8eac7bdf35549151c11b94abfbce447ad9e88038afe2", "section_path": ["\u670d\u52a1\u5668\u5e94\u7528\u7a0b\u5e8f"], "commit_groups": [["4fa5edcd1"]], "identity_text": "Remove --adduser and --no-adduser from createuser (Alexander Lakhin) The long-supported preferred options for this are called --superuser and --no-superuser.", "commit_aliases": ["4fa5edcd1"], "source_commits": ["4fa5edcd1"], "source_entry_id": "13.0/changes/128", "db_id": "2f280684b54d39c046174c8ec6ae34a0", "patch_ids": ["b9988226a12e38899b83c17aeb1fff37"], "statement_hash": "64ed9c14f1aa97944992a8a6e9f2162460fe7514640cce37a4a7f9ea902f5c22", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-33292f4ea20797ec", "migration": false}, {"id": "13.0-cd9a641ac1e9654f", "cves": [], "html": "<p>\u8fd0\u884c <span>pg_upgrade</span> \u65f6\uff0c\u5c06<a href=\"/docs/13/pgupgrade.html\" title=\"pg_upgrade\"><span>pg_upgrade</span></a>\u7a0b\u5e8f\u6240\u5728\u7684\u76ee\u5f55\u7528\u4f5c\u9ed8\u8ba4\u7684 <code>--new-bindir</code> \u8bbe\u7f6e\uff08Daniel Gustafsson\uff09<a href=\"https://postgr.es/c/959f6d6a1\">\u00a7</a></p>", "text": "\u8fd0\u884c pg_upgrade \u65f6\uff0c\u5c06pg_upgrade\u7a0b\u5e8f\u6240\u5728\u7684\u76ee\u5f55\u7528\u4f5c\u9ed8\u8ba4\u7684 --new-bindir \u8bbe\u7f6e\uff08Daniel Gustafsson\uff09\u00a7", "title": "\u8fd0\u884c pg_upgrade \u65f6\uff0c\u5c06pg_upgrade\u7a0b\u5e8f\u6240\u5728\u7684\u76ee\u5f55\u7528\u4f5c\u9ed8\u8ba4\u7684 --new-bindir \u8bbe\u7f6e", "commits": ["959f6d6a1"], "section": "\u670d\u52a1\u5668\u5e94\u7528\u7a0b\u5e8f", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.11", "source_hash": "9e37881c2ac05f5383929c1cc3399ed7cced4bef23642d10a5ff2cf1b74abb4d", "section_path": ["\u670d\u52a1\u5668\u5e94\u7528\u7a0b\u5e8f"], "commit_groups": [["959f6d6a1"]], "identity_text": "Use the directory of the pg_upgrade program as the default --new-bindir setting when running pg_upgrade (Daniel Gustafsson)", "commit_aliases": ["959f6d6a1"], "source_commits": ["959f6d6a1"], "source_entry_id": "13.0/changes/129", "db_id": "9a2c556f22dd2563302a986ad83d9ba9", "patch_ids": ["47cf7ffecb000faaf897105071a91101"], "statement_hash": "796b43d1c7b5ad73d5d1a6021ec6d510dd0633b0e0c32120e800b20c483f8b89", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-cd9a641ac1e9654f", "migration": false}, {"id": "13.0-c5863799f54fbffa", "cves": [], "html": "<p>\u5411\u6587\u6863\u4e2d\u589e\u52a0<a href=\"/docs/13/glossary.html\" title=\"\u9644\u5f55\u00a0M.\u00a0\u672f\u8bed\u8868\">\u672f\u8bed\u8868</a>\uff08Corey Huinker\uff0cJ\u00fcrgen Purtz\uff0cRoger Harkavy\uff0c\u00c1lvaro Herrera\uff09<a href=\"https://postgr.es/c/347d2b07f\">\u00a7</a></p>", "text": "\u5411\u6587\u6863\u4e2d\u589e\u52a0\u672f\u8bed\u8868\uff08Corey Huinker\uff0cJ\u00fcrgen Purtz\uff0cRoger Harkavy\uff0c\u00c1lvaro Herrera\uff09\u00a7", "title": "\u5411\u6587\u6863\u4e2d\u589e\u52a0\u672f\u8bed\u8868", "commits": ["347d2b07f"], "section": "\u6587\u6863", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.12", "source_hash": "37adbae3b11977d931c014ce0b77e2cd51a5b3bf71a7378b0d9c0bdb66d9dd96", "section_path": ["\u6587\u6863"], "commit_groups": [["347d2b07f"]], "identity_text": "Add a glossary to the documentation (Corey Huinker, J\u00fcrgen Purtz, Roger Harkavy, \u00c1lvaro Herrera)", "commit_aliases": ["347d2b07f"], "source_commits": ["347d2b07f"], "source_entry_id": "13.0/changes/130", "db_id": "2240fd9dfe6b4dc32875c5bf072b8098", "patch_ids": ["65034c8fc7cdbd3cb42d9e839ee218e2"], "statement_hash": "e1f3a24249d42323b50a6e41095e028ef548928e7787052fffa6c70ef55de59a", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-c5863799f54fbffa", "migration": false}, {"id": "13.0-f164e1f783aacc21", "cves": [], "html": "<p>\u91cd\u65b0\u7f16\u6392\u5305\u542b<a href=\"/docs/13/functions.html\" title=\"\u7b2c\u00a09\u00a0\u7ae0\u00a0\u51fd\u6570\u548c\u64cd\u4f5c\u7b26\">\u51fd\u6570\u548c\u64cd\u4f5c\u7b26\u4fe1\u606f</a>\u7684\u8868\u683c\uff0c\u4f7f\u5176\u66f4\u52a0\u6e05\u6670\uff08Tom Lane\uff09<a href=\"https://postgr.es/c/e894c6183\">\u00a7</a></p>", "text": "\u91cd\u65b0\u7f16\u6392\u5305\u542b\u51fd\u6570\u548c\u64cd\u4f5c\u7b26\u4fe1\u606f\u7684\u8868\u683c\uff0c\u4f7f\u5176\u66f4\u52a0\u6e05\u6670\uff08Tom Lane\uff09\u00a7", "title": "\u91cd\u65b0\u7f16\u6392\u5305\u542b\u51fd\u6570\u548c\u64cd\u4f5c\u7b26\u4fe1\u606f\u7684\u8868\u683c\uff0c\u4f7f\u5176\u66f4\u52a0\u6e05\u6670", "commits": ["e894c6183"], "section": "\u6587\u6863", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.12", "source_hash": "ac7090c930e1b84faee3fcd46d2ebbe355dfddff54e7b59190df7caa0a907a7e", "section_path": ["\u6587\u6863"], "commit_groups": [["e894c6183"]], "identity_text": "Reformat tables containing function and operator information for better clarity (Tom Lane)", "commit_aliases": ["e894c6183"], "source_commits": ["e894c6183"], "source_entry_id": "13.0/changes/131", "db_id": "f69910a35b7439f8fa9ce317d2b9251e", "patch_ids": ["8e680b8aca8108fea9462f08ad794d90"], "statement_hash": "8ea9d80e34ddc46ed942be2a7330b98a427fa0d1fa1c650a731eab0361f4f4e4", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-f164e1f783aacc21", "migration": false}, {"id": "13.0-01d3ad5747a4ed96", "cves": [], "html": "<p>\u5347\u7ea7\u4e3a\u4f7f\u7528 <a href=\"/docs/13/docguide.html#DOCGUIDE-DOCBOOK\" title=\"J.1.\u00a0DocBook\">DocBook 4.5</a>\uff08Peter Eisentraut\uff09<a href=\"https://postgr.es/c/416c75cf3\">\u00a7</a></p>", "text": "\u5347\u7ea7\u4e3a\u4f7f\u7528 DocBook 4.5\uff08Peter Eisentraut\uff09\u00a7", "title": "\u5347\u7ea7\u4e3a\u4f7f\u7528 DocBook 4.5", "commits": ["416c75cf3"], "section": "\u6587\u6863", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.12", "source_hash": "7431cf194031abf6ca9e87aff2b7d5c3c26611f265da0183921b95195615d351", "section_path": ["\u6587\u6863"], "commit_groups": [["416c75cf3"]], "identity_text": "Upgrade to use DocBook 4.5 (Peter Eisentraut)", "commit_aliases": ["416c75cf3"], "source_commits": ["416c75cf3"], "source_entry_id": "13.0/changes/132", "db_id": "bf061c98a7ea40e51d14c03e137e4732", "patch_ids": ["cc25551a4108902bf884d70829608d8a"], "statement_hash": "af9ec1e59738ec44bfe8a6a6764c46949be80af7475906660de5bef31cb38ef5", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-01d3ad5747a4ed96", "migration": false}, {"id": "13.0-43c29a2a8f7af362", "cves": [], "html": "<p>\u589e\u52a0\u4f7f\u7528 Visual Studio 2019 \u6784\u5efa\u7684\u652f\u6301\uff08Haribabu Kommi\uff09<a href=\"https://postgr.es/c/2b1394fc2\">\u00a7</a></p>", "text": "\u589e\u52a0\u4f7f\u7528 Visual Studio 2019 \u6784\u5efa\u7684\u652f\u6301\uff08Haribabu Kommi\uff09\u00a7", "title": "\u589e\u52a0\u4f7f\u7528 Visual Studio 2019 \u6784\u5efa\u7684\u652f\u6301", "commits": ["2b1394fc2"], "section": "\u6e90\u4ee3\u7801", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.13", "source_hash": "e2fb2e0bbca80a8de1683e4ed9189cf2cc74e044fc3d1e3430926f53fec95223", "section_path": ["\u6e90\u4ee3\u7801"], "commit_groups": [["0ce8e49b2", "2b1394fc2", "3337fd192", "721963f24", "78aaffd28", "d49c127d9", "f2d069ce9"]], "identity_text": "Add support for building on Visual Studio 2019 (Haribabu Kommi)", "commit_aliases": ["0ce8e49b2", "2b1394fc2", "3337fd192", "721963f24", "78aaffd28", "d49c127d9", "f2d069ce9"], "source_commits": ["2b1394fc2"], "source_entry_id": "13.0/changes/133", "db_id": "1db6a4dc5fd31f460b731b1b06a65ee3", "patch_ids": ["607ec5d7e45d9dcaeb220656b8fadb2c"], "statement_hash": "481b1aff61124bb29e863026ed09b4adb38f03e95ca1f3d448c868977775d623", "relations": [{"rule": 2, "type": "related", "target": "0e81425d9ba9c954cffb7949ff2b81c0", "evidence": {"same_day": false, "patch_ids": ["607ec5d7e45d9dcaeb220656b8fadb2c"]}}, {"rule": 2, "type": "related", "target": "21e7e56d3db692178fb7d0bd54fe6e57", "evidence": {"same_day": false, "patch_ids": ["607ec5d7e45d9dcaeb220656b8fadb2c"]}}, {"rule": 2, "type": "related", "target": "4b8c493fb7f376ba153f22dbdad54767", "evidence": {"same_day": false, "patch_ids": ["607ec5d7e45d9dcaeb220656b8fadb2c"]}}, {"rule": 2, "type": "related", "target": "632436228109ad3b9a3483b7759ec462", "evidence": {"same_day": false, "patch_ids": ["607ec5d7e45d9dcaeb220656b8fadb2c"]}}, {"rule": 2, "type": "related", "target": "f70b8de3c87cd0730cef6bf5df43d9ae", "evidence": {"same_day": false, "patch_ids": ["607ec5d7e45d9dcaeb220656b8fadb2c"]}}], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-43c29a2a8f7af362", "migration": false}, {"id": "13.0-ca32fd49818d2061", "cves": [], "html": "<p>\u589e\u52a0 MSYS2 \u6784\u5efa\u652f\u6301\uff08Peter Eisentraut\uff09<a href=\"https://postgr.es/c/e975c1a60\">\u00a7</a></p>", "text": "\u589e\u52a0 MSYS2 \u6784\u5efa\u652f\u6301\uff08Peter Eisentraut\uff09\u00a7", "title": "\u589e\u52a0 MSYS2 \u6784\u5efa\u652f\u6301", "commits": ["e975c1a60"], "section": "\u6e90\u4ee3\u7801", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.13", "source_hash": "6da6784a968148eba20483e3efdec1672be76123dca73d3a154de9500513ac7f", "section_path": ["\u6e90\u4ee3\u7801"], "commit_groups": [["e975c1a60"]], "identity_text": "Add build support for MSYS2 (Peter Eisentraut)", "commit_aliases": ["e975c1a60"], "source_commits": ["e975c1a60"], "source_entry_id": "13.0/changes/134", "db_id": "370f422ca6be7838ad4f7fbefcca9e00", "patch_ids": ["a222cb0a884ea510345ee54c176cd3de"], "statement_hash": "8861fe3f276b193a7729f27367de147395219662d5fc4c5ad5287a8e900b9d76", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-ca32fd49818d2061", "migration": false}, {"id": "13.0-2544f04f14529dc1", "cves": [], "html": "<p>\u4e3a Power PC \u7f16\u8bd1\u5668\u589e\u52a0 compare_exchange \u548c fetch_add \u7684\u6c47\u7f16\u4ee3\u7801\uff08Noah Misch\uff09<a href=\"https://postgr.es/c/30ee5d17c\">\u00a7</a></p>", "text": "\u4e3a Power PC \u7f16\u8bd1\u5668\u589e\u52a0 compare_exchange \u548c fetch_add \u7684\u6c47\u7f16\u4ee3\u7801\uff08Noah Misch\uff09\u00a7", "title": "\u4e3a Power PC \u7f16\u8bd1\u5668\u589e\u52a0 compare_exchange \u548c fetch_add \u7684\u6c47\u7f16\u4ee3\u7801", "commits": ["30ee5d17c"], "section": "\u6e90\u4ee3\u7801", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.13", "source_hash": "255590438a184c91540dbfb26f3552d43df63b9ad061299280d2f2b98bdd1462", "section_path": ["\u6e90\u4ee3\u7801"], "commit_groups": [["30ee5d17c"]], "identity_text": "Add compare_exchange and fetch_add assembly language code for Power PC compilers (Noah Misch)", "commit_aliases": ["30ee5d17c"], "source_commits": ["30ee5d17c"], "source_entry_id": "13.0/changes/135", "db_id": "15cb8a42f97fccc83cdd627e7c6a54ef", "patch_ids": ["eef117609fcb36e5f6c4ef7593d69309"], "statement_hash": "2fad93aeacc0b91105fedb50bb3cb2a2ed163b4e9bbc7fe07873fe3d37ef4781", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-2544f04f14529dc1", "migration": false}, {"id": "13.0-d3e33be8a08e1469", "cves": [], "html": "<p>\u66f4\u65b0\u5168\u6587\u68c0\u7d22\u4f7f\u7528\u7684 <a href=\"/docs/13/textsearch-dictionaries.html#TEXTSEARCH-SNOWBALL-DICTIONARY\" title=\"12.6.6.\u00a0Snowball \u8bcd\u5178\">Snowball \u8bcd\u5e72\u5206\u6790\u5668</a>\u8bcd\u5178\uff08Panagiotis Mavrogiorgos\uff09<a href=\"https://postgr.es/c/7b925e127\">\u00a7</a></p>\n<p>\u8fd9\u589e\u52a0\u4e86\u5e0c\u814a\u8bed\u8bcd\u5e72\u63d0\u53d6\uff0c\u5e76\u6539\u8fdb\u4e86\u4e39\u9ea6\u8bed\u548c\u6cd5\u8bed\u7684\u8bcd\u5e72\u63d0\u53d6\u3002</p>", "text": "\u66f4\u65b0\u5168\u6587\u68c0\u7d22\u4f7f\u7528\u7684 Snowball \u8bcd\u5e72\u5206\u6790\u5668\u8bcd\u5178\uff08Panagiotis Mavrogiorgos\uff09\u00a7 \u8fd9\u589e\u52a0\u4e86\u5e0c\u814a\u8bed\u8bcd\u5e72\u63d0\u53d6\uff0c\u5e76\u6539\u8fdb\u4e86\u4e39\u9ea6\u8bed\u548c\u6cd5\u8bed\u7684\u8bcd\u5e72\u63d0\u53d6\u3002", "title": "\u66f4\u65b0\u5168\u6587\u68c0\u7d22\u4f7f\u7528\u7684 Snowball \u8bcd\u5e72\u5206\u6790\u5668\u8bcd\u5178", "commits": ["7b925e127"], "section": "\u6e90\u4ee3\u7801", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.13", "source_hash": "8e99b77e06e86d319d0355af9ebad8ce515900c6a69953dd0737e953e666dd29", "section_path": ["\u6e90\u4ee3\u7801"], "commit_groups": [["7b925e127"]], "identity_text": "Update Snowball stemmer dictionaries used by full text search (Panagiotis Mavrogiorgos) This adds Greek stemming and improves Danish and French stemming.", "commit_aliases": ["7b925e127"], "source_commits": ["7b925e127"], "source_entry_id": "13.0/changes/136", "db_id": "0c3c005c0137b4f6e3f7e103610a9af9", "patch_ids": ["87fca4c3a8b8d97b0599c970f30a03f4"], "statement_hash": "454366a0ef64e015a2dd858db9bf5ea4f7611c40e672656b77f379d114432e12", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-d3e33be8a08e1469", "migration": false}, {"id": "13.0-cb7922c2dbac6d0e", "cves": [], "html": "<p>\u79fb\u9664\u5bf9 Windows 2000 \u7684\u652f\u6301\uff08Michael Paquier\uff09<a href=\"https://postgr.es/c/e2e02191e\">\u00a7</a></p>", "text": "\u79fb\u9664\u5bf9 Windows 2000 \u7684\u652f\u6301\uff08Michael Paquier\uff09\u00a7", "title": "\u79fb\u9664\u5bf9 Windows 2000 \u7684\u652f\u6301", "commits": ["e2e02191e"], "section": "\u6e90\u4ee3\u7801", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.13", "source_hash": "d826258d64a2c8f0c649e1cd3b757d7367105100a84abda2cd5a1b13817796ba", "section_path": ["\u6e90\u4ee3\u7801"], "commit_groups": [["e2e02191e"]], "identity_text": "Remove support for Windows 2000 (Michael Paquier)", "commit_aliases": ["e2e02191e"], "source_commits": ["e2e02191e"], "source_entry_id": "13.0/changes/137", "db_id": "6a1c31c14dc67c9c187a4251eb651989", "patch_ids": ["73e715ecae5c63c09956fae4bba397a4"], "statement_hash": "13839f479a004b762e41ff36cb7133d1c78d1bea4104ee6c9503902cd18826e5", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-cb7922c2dbac6d0e", "migration": false}, {"id": "13.0-972dfeb292bf9c24", "cves": [], "html": "<p>\u79fb\u9664\u5bf9\u975e <acronym>ELF</acronym> \u7684 <acronym>BSD</acronym> \u7cfb\u7edf\u7684\u652f\u6301\uff08Peter Eisentraut\uff09<a href=\"https://postgr.es/c/c72f9b950\">\u00a7</a></p>", "text": "\u79fb\u9664\u5bf9\u975e ELF \u7684 BSD \u7cfb\u7edf\u7684\u652f\u6301\uff08Peter Eisentraut\uff09\u00a7", "title": "\u79fb\u9664\u5bf9\u975e ELF \u7684 BSD \u7cfb\u7edf\u7684\u652f\u6301", "commits": ["c72f9b950"], "section": "\u6e90\u4ee3\u7801", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.13", "source_hash": "0ee65b16d886d8e37ac884832f4b829954d1722baed261d76e072a3ca787ddb8", "section_path": ["\u6e90\u4ee3\u7801"], "commit_groups": [["c72f9b950"]], "identity_text": "Remove support for non-ELF BSD systems (Peter Eisentraut)", "commit_aliases": ["c72f9b950"], "source_commits": ["c72f9b950"], "source_entry_id": "13.0/changes/138", "db_id": "bbd4151cda8896a6c73f9c6e165f76fa", "patch_ids": ["a0c8bd40d481c1fc24ce4a75eced5e6a"], "statement_hash": "5a6aa6ace7eaeb47a37ccd2a31f570ac010c52315807dca44ca583edc51adf6f", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-972dfeb292bf9c24", "migration": false}, {"id": "13.0-8cd8e4061be4b8f5", "cves": [], "html": "<p>\u79fb\u9664\u5bf9 Python 2.5.X \u53ca\u66f4\u65e9\u7248\u672c\u7684<a href=\"/docs/13/plpython.html\" title=\"\u7b2c\u00a045\u00a0\u7ae0\u00a0PL/Python \u2014 Python \u8fc7\u7a0b\u8bed\u8a00\">\u652f\u6301</a>\uff08Peter Eisentraut\uff09<a href=\"https://postgr.es/c/37f21ed13\">\u00a7</a></p>", "text": "\u79fb\u9664\u5bf9 Python 2.5.X \u53ca\u66f4\u65e9\u7248\u672c\u7684\u652f\u6301\uff08Peter Eisentraut\uff09\u00a7", "title": "\u79fb\u9664\u5bf9 Python 2.5.X \u53ca\u66f4\u65e9\u7248\u672c\u7684\u652f\u6301", "commits": ["37f21ed13"], "section": "\u6e90\u4ee3\u7801", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.13", "source_hash": "a5fee622f4138694914aff897cc2f3fb250aee508d28cdcf72daa7129b16adaa", "section_path": ["\u6e90\u4ee3\u7801"], "commit_groups": [["37f21ed13"]], "identity_text": "Remove support for Python versions 2.5.X and earlier (Peter Eisentraut)", "commit_aliases": ["37f21ed13"], "source_commits": ["37f21ed13"], "source_entry_id": "13.0/changes/139", "db_id": "acbb5cfb620aa45879b0b12b85775290", "patch_ids": ["12eb5ae6d1e0e8a4ebad01b5cd118bbb"], "statement_hash": "44ccd7ce3c944936a762ce3bae99bf632a27c7529b259f51e9e7e924fd763dee", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-8cd8e4061be4b8f5", "migration": false}, {"id": "13.0-70467a059f75fbad", "cves": [], "html": "<p>\u79fb\u9664\u5bf9 OpenSSL 0.9.8 \u548c 1.0.0 \u7684<a href=\"/docs/13/installation.html#INSTALL-SHORT\" title=\"16.1.\u00a0\u7b80\u8981\u8bf4\u660e\">\u652f\u6301</a>\uff08Michael Paquier\uff09<a href=\"https://postgr.es/c/7b283d0e1\">\u00a7</a></p>", "text": "\u79fb\u9664\u5bf9 OpenSSL 0.9.8 \u548c 1.0.0 \u7684\u652f\u6301\uff08Michael Paquier\uff09\u00a7", "title": "\u79fb\u9664\u5bf9 OpenSSL 0.9.8 \u548c 1.0.0 \u7684\u652f\u6301", "commits": ["7b283d0e1"], "section": "\u6e90\u4ee3\u7801", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.13", "source_hash": "bd03c8f1ce2eb4ba45779d5a12bc04630cdeff1432f80ea63153b061be29f221", "section_path": ["\u6e90\u4ee3\u7801"], "commit_groups": [["7b283d0e1"]], "identity_text": "Remove support for OpenSSL 0.9.8 and 1.0.0 (Michael Paquier)", "commit_aliases": ["7b283d0e1"], "source_commits": ["7b283d0e1"], "source_entry_id": "13.0/changes/140", "db_id": "e816cdaf6407b8bb526aaf8a8059439e", "patch_ids": ["5675f3e49bb5093ef339f9034032d537"], "statement_hash": "6bf158447308f0405867ba0f8e74897340e29fb76b7199dc170e9b9199389e61", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-70467a059f75fbad", "migration": false}, {"id": "13.0-47bc59439febf2d9", "cves": [], "html": "<p>\u79fb\u9664 <a href=\"/docs/13/installation.html#INSTALL-SHORT\" title=\"16.1.\u00a0\u7b80\u8981\u8bf4\u660e\">configure</a> \u9009\u9879 <code>--disable-float8-byval</code> \u548c <code>--disable-float4-byval</code>\uff08Peter Eisentraut\uff09<a href=\"https://postgr.es/c/4513d8b07\">\u00a7</a> <a href=\"https://postgr.es/c/2e4db241b\">\u00a7</a></p>\n<p>\u8fd9\u4e9b\u5185\u5bb9\u66fe\u7528\u4e8e\u517c\u5bb9\u67d0\u4e9b\u7248\u672c\u96f6 C \u51fd\u6570\uff0c\u4f46\u90a3\u4e9b\u51fd\u6570\u5df2\u4e0d\u518d\u53d7\u652f\u6301\u3002</p>", "text": "\u79fb\u9664 configure \u9009\u9879 --disable-float8-byval \u548c --disable-float4-byval\uff08Peter Eisentraut\uff09\u00a7 \u00a7 \u8fd9\u4e9b\u5185\u5bb9\u66fe\u7528\u4e8e\u517c\u5bb9\u67d0\u4e9b\u7248\u672c\u96f6 C \u51fd\u6570\uff0c\u4f46\u90a3\u4e9b\u51fd\u6570\u5df2\u4e0d\u518d\u53d7\u652f\u6301\u3002", "title": "\u79fb\u9664 configure \u9009\u9879 --disable-float8-byval \u548c --disable-float4-byval", "commits": ["2e4db241b", "4513d8b07"], "section": "\u6e90\u4ee3\u7801", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.13", "source_hash": "5d4709133c6411130ae0ae01c76fb76a6a21dec287fc4e0f0418e01acaf48536", "section_path": ["\u6e90\u4ee3\u7801"], "commit_groups": [["2e4db241b"], ["4513d8b07"]], "identity_text": "Remove configure options --disable-float8-byval and --disable-float4-byval (Peter Eisentraut) These were needed for compatibility with some version-zero C functions, but those are no longer supported.", "commit_aliases": ["2e4db241b", "4513d8b07"], "source_commits": ["2e4db241b", "4513d8b07"], "source_entry_id": "13.0/changes/141", "db_id": "c1b496f2458af3a94ba223eff21c1362", "patch_ids": ["585b70c91cf2f1c95454b7ac7e9fed04", "84ce571e5a93a239d3cc7d06a19e8edd"], "statement_hash": "d38171c935857423547798c35f561acd76586d907b9023259abd4ecd4f7e05df", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-47bc59439febf2d9", "migration": false}, {"id": "13.0-d5c5dbf4056c38b3", "cves": [], "html": "<p>\u5c06\u67e5\u8be2\u5b57\u7b26\u4e32\u4f20\u9012\u7ed9\u89c4\u5212\u5668\u94a9\u5b50\u51fd\u6570\uff08Pascal Legrand\uff0cJulien Rouhaud\uff09<a href=\"https://postgr.es/c/6aba63ef3\">\u00a7</a></p>", "text": "\u5c06\u67e5\u8be2\u5b57\u7b26\u4e32\u4f20\u9012\u7ed9\u89c4\u5212\u5668\u94a9\u5b50\u51fd\u6570\uff08Pascal Legrand\uff0cJulien Rouhaud\uff09\u00a7", "title": "\u5c06\u67e5\u8be2\u5b57\u7b26\u4e32\u4f20\u9012\u7ed9\u89c4\u5212\u5668\u94a9\u5b50\u51fd\u6570", "commits": ["6aba63ef3"], "section": "\u6e90\u4ee3\u7801", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.13", "source_hash": "6c15c7562ae972bac196cf42835ba1f7719a21b5890d44a681c6f2ce6a14e1ab", "section_path": ["\u6e90\u4ee3\u7801"], "commit_groups": [["6aba63ef3"]], "identity_text": "Pass the query string to planner hook functions (Pascal Legrand, Julien Rouhaud)", "commit_aliases": ["6aba63ef3"], "source_commits": ["6aba63ef3"], "source_entry_id": "13.0/changes/142", "db_id": "dc6fed588e14e6d9c861d11ef45909a3", "patch_ids": ["5218616d82ff64d233870e404adfee5c"], "statement_hash": "a450489572fa0be4d6e23b5cdf965953ef61bbc532c33e5338618484d58a3952", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-d5c5dbf4056c38b3", "migration": false}, {"id": "13.0-0000ae20363b4ea6", "cves": [], "html": "<p>\u589e\u52a0 <a href=\"/docs/13/sql-truncate.html\" title=\"TRUNCATE\"><code>TRUNCATE</code></a> \u547d\u4ee4\u94a9\u5b50\uff08Yuli Khodorkovskiy\uff09<a href=\"https://postgr.es/c/f7a2002e8\">\u00a7</a></p>", "text": "\u589e\u52a0 TRUNCATE \u547d\u4ee4\u94a9\u5b50\uff08Yuli Khodorkovskiy\uff09\u00a7", "title": "\u589e\u52a0 TRUNCATE \u547d\u4ee4\u94a9\u5b50", "commits": ["f7a2002e8"], "section": "\u6e90\u4ee3\u7801", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.13", "source_hash": "a27fe6a9dcc25613ddf0714832ba38f8501f3662cc3075f8e036488bb4979fba", "section_path": ["\u6e90\u4ee3\u7801"], "commit_groups": [["f7a2002e8"]], "identity_text": "Add TRUNCATE command hook (Yuli Khodorkovskiy)", "commit_aliases": ["f7a2002e8"], "source_commits": ["f7a2002e8"], "source_entry_id": "13.0/changes/143", "db_id": "12634bf42bf7c37f12281d00068d24b5", "patch_ids": ["d713701145e90dce7ef4f578f3096a4c"], "statement_hash": "bf5fda4992541663bb51a8d3d3ccf6c0b1eb3596d8c33a52becc6c093ad45bcf", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-0000ae20363b4ea6", "migration": false}, {"id": "13.0-05f9556fec53b1fe", "cves": [], "html": "<p>\u589e\u52a0 <acronym>TLS</acronym> \u521d\u59cb\u5316\u94a9\u5b50\uff08Andrew Dunstan\uff09<a href=\"https://postgr.es/c/896fcdb23\">\u00a7</a></p>", "text": "\u589e\u52a0 TLS \u521d\u59cb\u5316\u94a9\u5b50\uff08Andrew Dunstan\uff09\u00a7", "title": "\u589e\u52a0 TLS \u521d\u59cb\u5316\u94a9\u5b50", "commits": ["896fcdb23"], "section": "\u6e90\u4ee3\u7801", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.13", "source_hash": "1256699ad51ed30cf523d556a7b44d675945090135410d2789d9cf92dc7506ac", "section_path": ["\u6e90\u4ee3\u7801"], "commit_groups": [["896fcdb23"]], "identity_text": "Add TLS init hook (Andrew Dunstan)", "commit_aliases": ["896fcdb23"], "source_commits": ["896fcdb23"], "source_entry_id": "13.0/changes/144", "db_id": "7924824da56b15ba8ad07d040c105e52", "patch_ids": ["59f92279b9435b581feb8f5e6f0b8ca6"], "statement_hash": "b7bb72c21c01704790b65028ad5b683adbda8b01d0aa1b792dfccfd01daac91a", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-05f9556fec53b1fe", "migration": false}, {"id": "13.0-6e6a37a416507205", "cves": [], "html": "<p>\u5141\u8bb8\u5728\u4e0d\u9884\u5b9a\u4e49 Unix \u57df\u5957\u63a5\u5b57\u76ee\u5f55\u7684\u60c5\u51b5\u4e0b\u6784\u5efa\uff08Peter Eisentraut\uff09<a href=\"https://postgr.es/c/a9cff89f7\">\u00a7</a></p>", "text": "\u5141\u8bb8\u5728\u4e0d\u9884\u5b9a\u4e49 Unix \u57df\u5957\u63a5\u5b57\u76ee\u5f55\u7684\u60c5\u51b5\u4e0b\u6784\u5efa\uff08Peter Eisentraut\uff09\u00a7", "title": "\u5141\u8bb8\u5728\u4e0d\u9884\u5b9a\u4e49 Unix \u57df\u5957\u63a5\u5b57\u76ee\u5f55\u7684\u60c5\u51b5\u4e0b\u6784\u5efa", "commits": ["a9cff89f7"], "section": "\u6e90\u4ee3\u7801", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.13", "source_hash": "71b20597c6eaf4d27a7663159269e3f4847522c4e6d9865c99cb76b460c4b566", "section_path": ["\u6e90\u4ee3\u7801"], "commit_groups": [["a9cff89f7"]], "identity_text": "Allow building with no predefined Unix-domain socket directory (Peter Eisentraut)", "commit_aliases": ["a9cff89f7"], "source_commits": ["a9cff89f7"], "source_entry_id": "13.0/changes/145", "db_id": "e330e1db883ac8c39801eb2c59c34ea4", "patch_ids": ["c701d482df08c3651cec820cef231962"], "statement_hash": "9301f64264dc830d6b2ea15780df4a01191dac3d5d3248b9877e38473f998bec", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-6e6a37a416507205", "migration": false}, {"id": "13.0-8ea52b99bc827607", "cves": [], "html": "<p>\u964d\u4f4e Unix \u5e73\u53f0\u4e0a SysV \u8d44\u6e90\u952e\u51b2\u7a81\u7684\u6982\u7387\uff08Tom Lane\uff09<a href=\"https://postgr.es/c/7de19fbc0\">\u00a7</a></p>", "text": "\u964d\u4f4e Unix \u5e73\u53f0\u4e0a SysV \u8d44\u6e90\u952e\u51b2\u7a81\u7684\u6982\u7387\uff08Tom Lane\uff09\u00a7", "title": "\u964d\u4f4e Unix \u5e73\u53f0\u4e0a SysV \u8d44\u6e90\u952e\u51b2\u7a81\u7684\u6982\u7387", "commits": ["7de19fbc0"], "section": "\u6e90\u4ee3\u7801", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.13", "source_hash": "9a7f57141b86bd7a614154dc366ed846cd039386427dd4b1fd50a1ad5aa9b073", "section_path": ["\u6e90\u4ee3\u7801"], "commit_groups": [["7de19fbc0"]], "identity_text": "Reduce the probability of SysV resource key collision on Unix platforms (Tom Lane)", "commit_aliases": ["7de19fbc0"], "source_commits": ["7de19fbc0"], "source_entry_id": "13.0/changes/146", "db_id": "07e16210a12341289ce3fe2be7322aba", "patch_ids": ["2dbfea94d296ec2e8807f887d180bb9d"], "statement_hash": "4cd5308e87b99af23099513276a18d63676ce880fc435fae7b4e519b7c6f392c", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-8ea52b99bc827607", "migration": false}, {"id": "13.0-8e20d7979e06ff21", "cves": [], "html": "<p>\u4f7f\u7528\u64cd\u4f5c\u7cfb\u7edf\u51fd\u6570\u53ef\u9760\u5730\u64e6\u9664\u5305\u542b\u654f\u611f\u4fe1\u606f\u7684\u5185\u5b58\uff08Peter Eisentraut\uff09<a href=\"https://postgr.es/c/74a308cf5\">\u00a7</a></p>\n<p>\u4f8b\u5982\uff0c\u53ef\u7528\u5b83\u6e05\u9664\u5b58\u50a8\u5728\u5185\u5b58\u4e2d\u7684\u5bc6\u7801\u3002</p>", "text": "\u4f7f\u7528\u64cd\u4f5c\u7cfb\u7edf\u51fd\u6570\u53ef\u9760\u5730\u64e6\u9664\u5305\u542b\u654f\u611f\u4fe1\u606f\u7684\u5185\u5b58\uff08Peter Eisentraut\uff09\u00a7 \u4f8b\u5982\uff0c\u53ef\u7528\u5b83\u6e05\u9664\u5b58\u50a8\u5728\u5185\u5b58\u4e2d\u7684\u5bc6\u7801\u3002", "title": "\u4f7f\u7528\u64cd\u4f5c\u7cfb\u7edf\u51fd\u6570\u53ef\u9760\u5730\u64e6\u9664\u5305\u542b\u654f\u611f\u4fe1\u606f\u7684\u5185\u5b58", "commits": ["74a308cf5"], "section": "\u6e90\u4ee3\u7801", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.13", "source_hash": "51c505a954d65e7c2a216353d0dd8ae47515d27123f41329eb7eb5d5073632b0", "section_path": ["\u6e90\u4ee3\u7801"], "commit_groups": [["74a308cf5"]], "identity_text": "Use operating system functions to reliably erase memory that contains sensitive information (Peter Eisentraut) For example, this is used for clearing passwords stored in memory.", "commit_aliases": ["74a308cf5"], "source_commits": ["74a308cf5"], "source_entry_id": "13.0/changes/147", "db_id": "09341b3c48612368dc02e043f6c89402", "patch_ids": ["7a43a16c83f9718468bbad7ec76fe898"], "statement_hash": "d0165d965bce608050bd67ef9b1c375bb4242840595bed14a3b8ca5df919290e", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-8e20d7979e06ff21", "migration": false}, {"id": "13.0-60aa1b2b38a37e5d", "cves": [], "html": "<p>\u589e\u52a0 <code>headerscheck</code> \u811a\u672c\u4ee5\u6d4b\u8bd5 C \u5934\u6587\u4ef6\u7684\u517c\u5bb9\u6027\uff08Tom Lane\uff09<a href=\"https://postgr.es/c/55ea10918\">\u00a7</a></p>", "text": "\u589e\u52a0 headerscheck \u811a\u672c\u4ee5\u6d4b\u8bd5 C \u5934\u6587\u4ef6\u7684\u517c\u5bb9\u6027\uff08Tom Lane\uff09\u00a7", "title": "\u589e\u52a0 headerscheck \u811a\u672c\u4ee5\u6d4b\u8bd5 C \u5934\u6587\u4ef6\u7684\u517c\u5bb9\u6027", "commits": ["55ea10918"], "section": "\u6e90\u4ee3\u7801", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.13", "source_hash": "7cbd2d1d29506fa01124bf69fe30107f7128542773bd5d8822b36ca140e214a5", "section_path": ["\u6e90\u4ee3\u7801"], "commit_groups": [["55ea10918"]], "identity_text": "Add headerscheck script to test C header-file compatibility (Tom Lane)", "commit_aliases": ["55ea10918"], "source_commits": ["55ea10918"], "source_entry_id": "13.0/changes/148", "db_id": "afa2774ba9f4eade0c95a06376593244", "patch_ids": ["2970515369d62c50cf4e330944de60ff"], "statement_hash": "6b0443a9b008d56dc17e11c7ddf2a344b342c05f3f8470c27bf04b8d9796d70a", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-60aa1b2b38a37e5d", "migration": false}, {"id": "13.0-0d2183ee10ca0e1a", "cves": [], "html": "<p>\u5c06\u5185\u90e8\u5217\u8868\u5b9e\u73b0\u4e3a\u6570\u7ec4\uff0c\u800c\u4e0d\u518d\u91c7\u7528\u5355\u5143\u94fe\u8868\uff08Tom Lane\uff09<a href=\"https://postgr.es/c/1cff1b95a\">\u00a7</a></p>\n<p>\u8fd9\u63d0\u9ad8\u4e86\u8bbf\u95ee\u5927\u91cf\u5bf9\u8c61\u7684\u67e5\u8be2\u7684\u6027\u80fd\u3002</p>", "text": "\u5c06\u5185\u90e8\u5217\u8868\u5b9e\u73b0\u4e3a\u6570\u7ec4\uff0c\u800c\u4e0d\u518d\u91c7\u7528\u5355\u5143\u94fe\u8868\uff08Tom Lane\uff09\u00a7 \u8fd9\u63d0\u9ad8\u4e86\u8bbf\u95ee\u5927\u91cf\u5bf9\u8c61\u7684\u67e5\u8be2\u7684\u6027\u80fd\u3002", "title": "\u5c06\u5185\u90e8\u5217\u8868\u5b9e\u73b0\u4e3a\u6570\u7ec4\uff0c\u800c\u4e0d\u518d\u91c7\u7528\u5355\u5143\u94fe\u8868", "commits": ["1cff1b95a"], "section": "\u6e90\u4ee3\u7801", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.13", "source_hash": "97379c0a18578f43de9968e4883627e462d1cb65a0af79b9b24b09b775fc4a02", "section_path": ["\u6e90\u4ee3\u7801"], "commit_groups": [["1cff1b95a"]], "identity_text": "Implement internal lists as arrays, rather than a chain of cells (Tom Lane) This improves performance for queries that access many objects.", "commit_aliases": ["1cff1b95a"], "source_commits": ["1cff1b95a"], "source_entry_id": "13.0/changes/149", "db_id": "6c0132cf968ad5627ce8cd83f77457a0", "patch_ids": ["208c2f9eb2b7167d3fa9173057b469c3"], "statement_hash": "caf9801dd9b374f965a91b2f2c196ad9579a47681d86dc3192a2504080f17611", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-0d2183ee10ca0e1a", "migration": false}, {"id": "13.0-d438a0e2943979f6", "cves": [], "html": "<p>\u4fee\u6539 <code>TS_execute()</code> \u7684 API\uff08Tom Lane\uff0cPavel Borisov\uff09<a href=\"https://postgr.es/c/92fe6895d\">\u00a7</a> <a href=\"https://postgr.es/c/70eca6a9a\">\u00a7</a></p>\n<p><code>TS_execute</code> \u56de\u8c03\u73b0\u5728\u5fc5\u987b\u63d0\u4f9b\u4e09\u503c\uff08\u662f\u3001\u5426\u3001\u53ef\u80fd\uff09\u903b\u8f91\u3002\u73b0\u5728\u9ed8\u8ba4\u51c6\u786e\u8ba1\u7b97 NOT \u67e5\u8be2\u3002</p>", "text": "\u4fee\u6539 TS_execute() \u7684 API\uff08Tom Lane\uff0cPavel Borisov\uff09\u00a7 \u00a7 TS_execute \u56de\u8c03\u73b0\u5728\u5fc5\u987b\u63d0\u4f9b\u4e09\u503c\uff08\u662f\u3001\u5426\u3001\u53ef\u80fd\uff09\u903b\u8f91\u3002\u73b0\u5728\u9ed8\u8ba4\u51c6\u786e\u8ba1\u7b97 NOT \u67e5\u8be2\u3002", "title": "\u4fee\u6539 TS_execute() \u7684 API", "commits": ["70eca6a9a", "92fe6895d"], "section": "\u6e90\u4ee3\u7801", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.13", "source_hash": "033ea1cb930dc6cde616ee6321cbfe9aaab7f7ee2afbb977d786af31edf84790", "section_path": ["\u6e90\u4ee3\u7801"], "commit_groups": [["70eca6a9a"], ["92fe6895d"]], "identity_text": "Change the API for TS_execute() (Tom Lane, Pavel Borisov) TS_execute callbacks must now provide ternary (yes/no/maybe) logic. Calculating NOT queries accurately is now the default.", "commit_aliases": ["70eca6a9a", "92fe6895d"], "source_commits": ["70eca6a9a", "92fe6895d"], "source_entry_id": "13.0/changes/150", "db_id": "0064c983de34fa708629d862de1c76c8", "patch_ids": ["16cb724676b10026a01a3b8e1e64e9a0", "779c94bac88b432128cc8037d7548c2e"], "statement_hash": "0d04a7f46f651390631b3e048898ede9cbef7abd4fecb038f51bf471d4f79426", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-d438a0e2943979f6", "migration": false}, {"id": "13.0-f6efc6b220a9879c", "cves": [], "html": "<p>\u5141\u8bb8\u5c06<a href=\"/docs/13/sql-createextension.html\" title=\"CREATE EXTENSION\">\u6269\u5c55</a>\u6307\u5b9a\u4e3a\u53ef\u4fe1\uff08Tom Lane\uff09<a href=\"https://postgr.es/c/50fc694e4\">\u00a7</a></p>\n<p>\u62e5\u6709\u6570\u636e\u5e93\u7ea7 <code>CREATE</code> \u6743\u9650\u7684\u7528\u6237\uff0c\u5373\u4f7f\u4e0d\u662f\u8d85\u7ea7\u7528\u6237\uff0c\u4e5f\u53ef\u4ee5\u5728\u6570\u636e\u5e93\u4e2d\u5b89\u88c5\u8fd9\u7c7b\u6269\u5c55\u3002\u6b64\u9879\u4fee\u6539\u8fd8\u79fb\u9664\u4e86 <code>pg_pltemplate</code> \u7cfb\u7edf\u76ee\u5f55\u3002</p>", "text": "\u5141\u8bb8\u5c06\u6269\u5c55\u6307\u5b9a\u4e3a\u53ef\u4fe1\uff08Tom Lane\uff09\u00a7 \u62e5\u6709\u6570\u636e\u5e93\u7ea7 CREATE \u6743\u9650\u7684\u7528\u6237\uff0c\u5373\u4f7f\u4e0d\u662f\u8d85\u7ea7\u7528\u6237\uff0c\u4e5f\u53ef\u4ee5\u5728\u6570\u636e\u5e93\u4e2d\u5b89\u88c5\u8fd9\u7c7b\u6269\u5c55\u3002\u6b64\u9879\u4fee\u6539\u8fd8\u79fb\u9664\u4e86 pg_pltemplate \u7cfb\u7edf\u76ee\u5f55\u3002", "title": "\u5141\u8bb8\u5c06\u6269\u5c55\u6307\u5b9a\u4e3a\u53ef\u4fe1", "commits": ["50fc694e4"], "section": "\u9644\u52a0\u6a21\u5757", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.14", "source_hash": "563675a14bd6d9ae39f9ee65d4b43e16bd1255934a10551f9954adb49cb4b854", "section_path": ["\u9644\u52a0\u6a21\u5757"], "commit_groups": [["50fc694e4"]], "identity_text": "Allow extensions to be specified as trusted (Tom Lane) Such extensions can be installed in a database by users with database-level CREATE privileges, even if they are not superusers. This change also removes the pg_pltemplate system catalog.", "commit_aliases": ["50fc694e4"], "source_commits": ["50fc694e4"], "source_entry_id": "13.0/changes/151", "db_id": "8b076c285c8a78e6af9aab2947565079", "patch_ids": ["7076d99d9291dfce070ea0831c6fecfd"], "statement_hash": "84d40697540d974b09e0a841d209176d1f2a1007cd6c3856481d20a919b7f090", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-f6efc6b220a9879c", "migration": false}, {"id": "13.0-cea87d654fc87bc7", "cves": [], "html": "<p>\u5141\u8bb8\u975e\u8d85\u7ea7\u7528\u6237\u4e0d\u4f7f\u7528\u5bc6\u7801\u5c31\u8fde\u63a5\u5230<a href=\"/docs/13/postgres-fdw.html\" title=\"F.33.\u00a0postgres_fdw\">postgres_fdw</a>\u5916\u90e8\u670d\u52a1\u5668\uff08Craig Ringer\uff09<a href=\"https://postgr.es/c/6136e94dc\">\u00a7</a></p>\n<p>\u5177\u4f53\u6765\u8bf4\uff0c\u5141\u8bb8\u8d85\u7ea7\u7528\u6237\u5c06\u67d0\u4e2a<a href=\"/docs/13/sql-alterusermapping.html\" title=\"ALTER USER MAPPING\">\u7528\u6237\u6620\u5c04</a>\u7684 <code>password_required</code> \u8bbe\u7f6e\u4e3a false\u3002\u4ecd\u987b\u6ce8\u610f\u9632\u6b62\u975e\u8d85\u7ea7\u7528\u6237\u4f7f\u7528\u8d85\u7ea7\u7528\u6237\u51ed\u636e\u8fde\u63a5\u5230\u5916\u90e8\u670d\u52a1\u5668\u3002</p>", "text": "\u5141\u8bb8\u975e\u8d85\u7ea7\u7528\u6237\u4e0d\u4f7f\u7528\u5bc6\u7801\u5c31\u8fde\u63a5\u5230postgres_fdw\u5916\u90e8\u670d\u52a1\u5668\uff08Craig Ringer\uff09\u00a7 \u5177\u4f53\u6765\u8bf4\uff0c\u5141\u8bb8\u8d85\u7ea7\u7528\u6237\u5c06\u67d0\u4e2a\u7528\u6237\u6620\u5c04\u7684 password_required \u8bbe\u7f6e\u4e3a false\u3002\u4ecd\u987b\u6ce8\u610f\u9632\u6b62\u975e\u8d85\u7ea7\u7528\u6237\u4f7f\u7528\u8d85\u7ea7\u7528\u6237\u51ed\u636e\u8fde\u63a5\u5230\u5916\u90e8\u670d\u52a1\u5668\u3002", "title": "\u5141\u8bb8\u975e\u8d85\u7ea7\u7528\u6237\u4e0d\u4f7f\u7528\u5bc6\u7801\u5c31\u8fde\u63a5\u5230postgres_fdw\u5916\u90e8\u670d\u52a1\u5668", "commits": ["6136e94dc"], "section": "\u9644\u52a0\u6a21\u5757", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.14", "source_hash": "8a5a09c9e0a1fdaed16ca9e691bace467010960d276497c347576e227afe35cf", "section_path": ["\u9644\u52a0\u6a21\u5757"], "commit_groups": [["6136e94dc"]], "identity_text": "Allow non-superusers to connect to postgres-fdw foreign servers without using a password (Craig Ringer) Specifically, allow a superuser to set password_required to false for a user mapping. Care must still be taken to prevent non-superusers from using superuser credentials to connect to the foreign server.", "commit_aliases": ["6136e94dc"], "source_commits": ["6136e94dc"], "source_entry_id": "13.0/changes/152", "db_id": "3053e6db53bf87012ea2c5effe42c461", "patch_ids": ["c7030cbc1a42a89a5b7d68956d5207df"], "statement_hash": "6033b5045cfd9cc8316aa9b168f3643b8d9ef970e1b88bdd56d29a41cf5f4976", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-cea87d654fc87bc7", "migration": false}, {"id": "13.0-843df936da02d03d", "cves": [], "html": "<p>\u5141\u8bb8 <span>postgres_fdw</span> \u4f7f\u7528\u8bc1\u4e66\u8ba4\u8bc1\uff08Craig Ringer\uff09<a href=\"https://postgr.es/c/f5fd995a1\">\u00a7</a></p>\n<p>\u4e0d\u540c\u7528\u6237\u53ef\u4ee5\u4f7f\u7528\u4e0d\u540c\u8bc1\u4e66\u3002</p>", "text": "\u5141\u8bb8 postgres_fdw \u4f7f\u7528\u8bc1\u4e66\u8ba4\u8bc1\uff08Craig Ringer\uff09\u00a7 \u4e0d\u540c\u7528\u6237\u53ef\u4ee5\u4f7f\u7528\u4e0d\u540c\u8bc1\u4e66\u3002", "title": "\u5141\u8bb8 postgres_fdw \u4f7f\u7528\u8bc1\u4e66\u8ba4\u8bc1", "commits": ["f5fd995a1"], "section": "\u9644\u52a0\u6a21\u5757", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.14", "source_hash": "cc4fc45a4787970a479564d80749f8893fc09523c3b03ed0c0e8bd04b3f232db", "section_path": ["\u9644\u52a0\u6a21\u5757"], "commit_groups": [["f5fd995a1"]], "identity_text": "Allow postgres_fdw to use certificate authentication (Craig Ringer) Different users can use different certificates.", "commit_aliases": ["f5fd995a1"], "source_commits": ["f5fd995a1"], "source_entry_id": "13.0/changes/153", "db_id": "e3157a621bfc4b0e48d8d1968be62a5d", "patch_ids": ["fb541ac14495efce2c844284cdb033bc"], "statement_hash": "2882d2fb2887bd01d52ce7612ecb61c312d203d5b8733db1f9e8edcde7dabc04", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-843df936da02d03d", "migration": false}, {"id": "13.0-b7c34f1acd2466d6", "cves": [], "html": "<p>\u5141\u8bb8<a href=\"/docs/13/sepgsql.html\" title=\"F.35.\u00a0sepgsql\">sepgsql</a>\u63a7\u5236\u5bf9 <code>TRUNCATE</code> \u547d\u4ee4\u7684\u8bbf\u95ee\uff08Yuli Khodorkovskiy\uff09<a href=\"https://postgr.es/c/4f66c93f6\">\u00a7</a></p>", "text": "\u5141\u8bb8sepgsql\u63a7\u5236\u5bf9 TRUNCATE \u547d\u4ee4\u7684\u8bbf\u95ee\uff08Yuli Khodorkovskiy\uff09\u00a7", "title": "\u5141\u8bb8sepgsql\u63a7\u5236\u5bf9 TRUNCATE \u547d\u4ee4\u7684\u8bbf\u95ee", "commits": ["4f66c93f6"], "section": "\u9644\u52a0\u6a21\u5757", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.14", "source_hash": "8cdc4d5e793ec33c2c0184a5f9af7b0630fa50ac2d7c71ce13b85a7294b46654", "section_path": ["\u9644\u52a0\u6a21\u5757"], "commit_groups": [["4f66c93f6"]], "identity_text": "Allow sepgsql to control access to the TRUNCATE command (Yuli Khodorkovskiy)", "commit_aliases": ["4f66c93f6"], "source_commits": ["4f66c93f6"], "source_entry_id": "13.0/changes/154", "db_id": "be79f6dcccc0d85d703aa85c3e876126", "patch_ids": ["3429efab0a30f048c637a68b7aebea88"], "statement_hash": "189df84dd7ecfb28118fc575c13a682343792ac2143ac50ee8273d35880e73ad", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-b7c34f1acd2466d6", "migration": false}, {"id": "13.0-5cdad682978c774a", "cves": [], "html": "<p>\u589e\u52a0\u6269\u5c55<a href=\"/docs/13/plperl.html\" title=\"\u7b2c\u00a044\u00a0\u7ae0\u00a0PL/Perl \u2014 Perl \u8fc7\u7a0b\u8bed\u8a00\"><span>bool_plperl</span></a>\uff0c\u4ee5\u5728 <acronym>SQL</acronym> \u5e03\u5c14\u503c\u548c PL/Perl \u5e03\u5c14\u503c\u4e4b\u95f4\u8fdb\u884c\u53cc\u5411\u8f6c\u6362\uff08Ivan Panchenko\uff09<a href=\"https://postgr.es/c/36058a3c5\">\u00a7</a></p>", "text": "\u589e\u52a0\u6269\u5c55bool_plperl\uff0c\u4ee5\u5728 SQL \u5e03\u5c14\u503c\u548c PL/Perl \u5e03\u5c14\u503c\u4e4b\u95f4\u8fdb\u884c\u53cc\u5411\u8f6c\u6362\uff08Ivan Panchenko\uff09\u00a7", "title": "\u589e\u52a0\u6269\u5c55bool_plperl\uff0c\u4ee5\u5728 SQL \u5e03\u5c14\u503c\u548c PL/Perl \u5e03\u5c14\u503c\u4e4b\u95f4\u8fdb\u884c\u53cc\u5411\u8f6c\u6362", "commits": ["36058a3c5"], "section": "\u9644\u52a0\u6a21\u5757", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.14", "source_hash": "5d7cfef8f8ee67a8e6325180eba4c6d0cead7c1a497accc70f96c11a80ca24f8", "section_path": ["\u9644\u52a0\u6a21\u5757"], "commit_groups": [["36058a3c5"]], "identity_text": "Add extension bool_plperl which transforms SQL booleans to/from PL/Perl booleans (Ivan Panchenko)", "commit_aliases": ["36058a3c5"], "source_commits": ["36058a3c5"], "source_entry_id": "13.0/changes/155", "db_id": "e2a47dde31dcea2d1e8e1f21c50dfb94", "patch_ids": ["8e7fa16296712d228a9d562996648c1b"], "statement_hash": "cc15f6c126ea53e9687f3eac3e78edfdf3754da6f74d3ef398b75e15140dcf57", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-5cdad682978c774a", "migration": false}, {"id": "13.0-ca38fa185a19eba9", "cves": [], "html": "<p>\u4f7f<a href=\"/docs/13/pgstatstatements.html\" title=\"F.29.\u00a0pg_stat_statements\">pg_stat_statements</a>\u5c06 <code>SELECT ... FOR UPDATE</code> \u547d\u4ee4\u4e0e\u4e0d\u5e26 <code>FOR UPDATE</code> \u7684\u547d\u4ee4\u5206\u522b\u5904\u7406\uff08Andrew Gierth\uff0cVik Fearing\uff09<a href=\"https://postgr.es/c/6e74c64bc\">\u00a7</a></p>", "text": "\u4f7fpg_stat_statements\u5c06 SELECT ... FOR UPDATE \u547d\u4ee4\u4e0e\u4e0d\u5e26 FOR UPDATE \u7684\u547d\u4ee4\u5206\u522b\u5904\u7406\uff08Andrew Gierth\uff0cVik Fearing\uff09\u00a7", "title": "\u4f7fpg_stat_statements\u5c06 SELECT ... FOR UPDATE \u547d\u4ee4\u4e0e\u4e0d\u5e26 FOR UPDATE \u7684\u547d\u4ee4\u5206\u522b\u5904\u7406", "commits": ["6e74c64bc"], "section": "\u9644\u52a0\u6a21\u5757", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.14", "source_hash": "d59a3b9ce1cf5f1fe0b4fa6a7b28901cafa353d6411395beff2b21fbac62761b", "section_path": ["\u9644\u52a0\u6a21\u5757"], "commit_groups": [["6e74c64bc"]], "identity_text": "Have pgstatstatements treat SELECT ... FOR UPDATE commands as distinct from those without FOR UPDATE (Andrew Gierth, Vik Fearing)", "commit_aliases": ["6e74c64bc"], "source_commits": ["6e74c64bc"], "source_entry_id": "13.0/changes/156", "db_id": "d9d24bfdbedc70b2b5f2dc3159dfa649", "patch_ids": ["dc282d739c80d59b1f4f1f77486151f2"], "statement_hash": "058ad31dd80ae6595d83c132aa990188b77b9d2a3b378c128706f127ffb12beb", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-ca38fa185a19eba9", "migration": false}, {"id": "13.0-e540c7d179622c6e", "cves": [], "html": "<p>\u5141\u8bb8 <span>pg_stat_statements</span> \u9009\u62e9\u6027\u5730\u8ddf\u8e2a\u8bed\u53e5\u7684\u89c4\u5212\u65f6\u95f4\uff08Julien Rouhaud\uff0cPascal Legrand\uff0cThomas Munro\uff0cFujii Masao\uff09<a href=\"https://postgr.es/c/17e032822\">\u00a7</a> <a href=\"https://postgr.es/c/8d459762b\">\u00a7</a></p>\n<p>\u4ee5\u524d\u53ea\u8ddf\u8e2a\u6267\u884c\u65f6\u95f4\u3002</p>", "text": "\u5141\u8bb8 pg_stat_statements \u9009\u62e9\u6027\u5730\u8ddf\u8e2a\u8bed\u53e5\u7684\u89c4\u5212\u65f6\u95f4\uff08Julien Rouhaud\uff0cPascal Legrand\uff0cThomas Munro\uff0cFujii Masao\uff09\u00a7 \u00a7 \u4ee5\u524d\u53ea\u8ddf\u8e2a\u6267\u884c\u65f6\u95f4\u3002", "title": "\u5141\u8bb8 pg_stat_statements \u9009\u62e9\u6027\u5730\u8ddf\u8e2a\u8bed\u53e5\u7684\u89c4\u5212\u65f6\u95f4", "commits": ["17e032822", "8d459762b"], "section": "\u9644\u52a0\u6a21\u5757", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.14", "source_hash": "c43392615420cb2e615056351f336ea6c7dc56e7c5e8997893d81c200cf544e9", "section_path": ["\u9644\u52a0\u6a21\u5757"], "commit_groups": [["17e032822"], ["8d459762b"]], "identity_text": "Allow pg_stat_statements to optionally track the planning time of statements (Julien Rouhaud, Pascal Legrand, Thomas Munro, Fujii Masao) Previously only execution time was tracked.", "commit_aliases": ["17e032822", "8d459762b"], "source_commits": ["17e032822", "8d459762b"], "source_entry_id": "13.0/changes/157", "db_id": "5d4c20dbfae566a19499635a43943294", "patch_ids": ["2c5084b85da3e647e08bfdd0949d7ed1", "3ce97064db6107eb46a4cf9416f445a9"], "statement_hash": "798ac47e4ca60267a53260d14a1e9913cd7f7e515021e697ad83c33bd0757327", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-e540c7d179622c6e", "migration": false}, {"id": "13.0-e5d101191efbc29b", "cves": [], "html": "<p>\u5168\u9762\u4fee\u6539<a href=\"/docs/13/ltree.html\" title=\"F.21.\u00a0ltree\">ltree</a>\u7684 lquery \u8bed\u6cd5\uff0c\u4f7f\u5176\u5bf9 <code>NOT</code>\uff08!\uff09\u7684\u5904\u7406\u66f4\u7b26\u5408\u903b\u8f91\uff08Filip Rembialkowski\uff0cTom Lane\uff0cNikita Glukhov\uff09<a href=\"https://postgr.es/c/70dc4c509\">\u00a7</a> <a href=\"https://postgr.es/c/17ca06799\">\u00a7</a></p>\n<p>\u53e6\u5916\uff0c\u5141\u8bb8\u975e * \u67e5\u8be2\u4f7f\u7528\u6570\u503c\u8303\u56f4\uff08{}\uff09\u6307\u5b9a\u5339\u914d\u6b21\u6570\u3002</p>", "text": "\u5168\u9762\u4fee\u6539ltree\u7684 lquery \u8bed\u6cd5\uff0c\u4f7f\u5176\u5bf9 NOT\uff08!\uff09\u7684\u5904\u7406\u66f4\u7b26\u5408\u903b\u8f91\uff08Filip Rembialkowski\uff0cTom Lane\uff0cNikita Glukhov\uff09\u00a7 \u00a7 \u53e6\u5916\uff0c\u5141\u8bb8\u975e * \u67e5\u8be2\u4f7f\u7528\u6570\u503c\u8303\u56f4\uff08{}\uff09\u6307\u5b9a\u5339\u914d\u6b21\u6570\u3002", "title": "\u5168\u9762\u4fee\u6539ltree\u7684 lquery \u8bed\u6cd5\uff0c\u4f7f\u5176\u5bf9 NOT\uff08!\uff09\u7684\u5904\u7406\u66f4\u7b26\u5408\u903b\u8f91", "commits": ["17ca06799", "70dc4c509"], "section": "\u9644\u52a0\u6a21\u5757", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.14", "source_hash": "3eee185aa8d93d9282095b18b9316f7b73ba6839ea6e2c88446538346894583f", "section_path": ["\u9644\u52a0\u6a21\u5757"], "commit_groups": [["17ca06799"], ["70dc4c509"]], "identity_text": "Overhaul ltree 's lquery syntax to treat NOT (!) more logically (Filip Rembialkowski, Tom Lane, Nikita Glukhov) Also allow non-* queries to use a numeric range ({}) of matches.", "commit_aliases": ["17ca06799", "70dc4c509"], "source_commits": ["17ca06799", "70dc4c509"], "source_entry_id": "13.0/changes/158", "db_id": "70f81e7572d95dace13b3cf504b4612c", "patch_ids": ["6925289a401f13c6df7995360bded879", "d3dd33143ab2863e9c9673bc18a6bc05"], "statement_hash": "22365ce49d9c77f4f74a8efeee702a7f2f3d8158b6a80d4b51553a56a5072bd4", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-e5d101191efbc29b", "migration": false}, {"id": "13.0-6c3865bd757acf5a", "cves": [], "html": "<p>\u589e\u52a0<a href=\"/docs/13/ltree.html\" title=\"F.21.\u00a0ltree\">ltree</a>\u3001lquery \u548c ltxtquery \u7c7b\u578b\u7684\u4e8c\u8fdb\u5236 I/O \u652f\u6301\uff08Nino Floris\uff09<a href=\"https://postgr.es/c/949a9f043\">\u00a7</a></p>", "text": "\u589e\u52a0ltree\u3001lquery \u548c ltxtquery \u7c7b\u578b\u7684\u4e8c\u8fdb\u5236 I/O \u652f\u6301\uff08Nino Floris\uff09\u00a7", "title": "\u589e\u52a0ltree\u3001lquery \u548c ltxtquery \u7c7b\u578b\u7684\u4e8c\u8fdb\u5236 I/O \u652f\u6301", "commits": ["949a9f043"], "section": "\u9644\u52a0\u6a21\u5757", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.14", "source_hash": "21d3f497c9f17a1198f45b40c83c86511179765bf400809fc71e0789bf05bbf9", "section_path": ["\u9644\u52a0\u6a21\u5757"], "commit_groups": [["949a9f043"]], "identity_text": "Add support for binary I/O of ltree , lquery, and ltxtquery types (Nino Floris)", "commit_aliases": ["949a9f043"], "source_commits": ["949a9f043"], "source_entry_id": "13.0/changes/159", "db_id": "2671eb7c64d86775cff93261b04c61a0", "patch_ids": ["58c90a47b20b30cbcdc987c0dd4dea07"], "statement_hash": "6cf5e2ef1d7ae0753b1505cd03dc1c8b90725578d183f98e930b79a1612dafe2", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-6c3865bd757acf5a", "migration": false}, {"id": "13.0-ad3e0a0cf22c6630", "cves": [], "html": "<p>\u4e3a<a href=\"/docs/13/dict-int.html\" title=\"F.11.\u00a0dict_int\">dict_int</a>\u589e\u52a0\u5ffd\u7565\u6574\u6570\u7b26\u53f7\u7684\u9009\u9879\uff08Jeff Janes\uff09<a href=\"https://postgr.es/c/806eb92c0\">\u00a7</a></p>", "text": "\u4e3adict_int\u589e\u52a0\u5ffd\u7565\u6574\u6570\u7b26\u53f7\u7684\u9009\u9879\uff08Jeff Janes\uff09\u00a7", "title": "\u4e3adict_int\u589e\u52a0\u5ffd\u7565\u6574\u6570\u7b26\u53f7\u7684\u9009\u9879", "commits": ["806eb92c0"], "section": "\u9644\u52a0\u6a21\u5757", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.14", "source_hash": "44bf0ca73b1b426d259e70056de603377ec83ecfe4fddd49345ea64cf59bf5e1", "section_path": ["\u9644\u52a0\u6a21\u5757"], "commit_groups": [["806eb92c0"]], "identity_text": "Add an option to dict-int to ignore the sign of integers (Jeff Janes)", "commit_aliases": ["806eb92c0"], "source_commits": ["806eb92c0"], "source_entry_id": "13.0/changes/160", "db_id": "44aabb206a20b32186ddf62c0b047a9b", "patch_ids": ["b3f5128246ff6f4045eb16bb3fab2076"], "statement_hash": "d37349f2a1060cb9cd7cb657bab11feb78f1f88693590c956c14e3f28735beda", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-ad3e0a0cf22c6630", "migration": false}, {"id": "13.0-0c6beecc75a6005c", "cves": [], "html": "<p>\u589e\u52a0<a href=\"/docs/13/contrib.html#ADMINPACK\" title=\"F.1.\u00a0adminpack\">adminpack</a>\u51fd\u6570 <code>pg_file_sync()</code>\uff0c\u4ee5\u5141\u8bb8\u5bf9\u6587\u4ef6\u6267\u884c fsync\uff08Fujii Masao\uff09<a href=\"https://postgr.es/c/d694e0bb7\">\u00a7</a></p>", "text": "\u589e\u52a0adminpack\u51fd\u6570 pg_file_sync()\uff0c\u4ee5\u5141\u8bb8\u5bf9\u6587\u4ef6\u6267\u884c fsync\uff08Fujii Masao\uff09\u00a7", "title": "\u589e\u52a0adminpack\u51fd\u6570 pg_file_sync()\uff0c\u4ee5\u5141\u8bb8\u5bf9\u6587\u4ef6\u6267\u884c fsync", "commits": ["d694e0bb7"], "section": "\u9644\u52a0\u6a21\u5757", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.14", "source_hash": "ff15dd12a5a6880af912eb5ec729da56489e64fd1c933a2b527a6e144af78097", "section_path": ["\u9644\u52a0\u6a21\u5757"], "commit_groups": [["d694e0bb7"]], "identity_text": "Add adminpack function pg_file_sync() to allow fsync'ing a file (Fujii Masao)", "commit_aliases": ["d694e0bb7"], "source_commits": ["d694e0bb7"], "source_entry_id": "13.0/changes/161", "db_id": "e40616995f7b161eb8594f056f18c829", "patch_ids": ["76662871a2e0113a2ae954fea6d8ff91"], "statement_hash": "8fd5dc6a18c783b9e69a27abb3cfafc223a9612c0cef9c8f2f36ae47554b2286", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-0c6beecc75a6005c", "migration": false}, {"id": "13.0-aec2151871aa1ec1", "cves": [], "html": "<p>\u589e\u52a0<a href=\"/docs/13/pageinspect.html\" title=\"F.22.\u00a0pageinspect\">pageinspect</a>\u51fd\u6570\uff0c\u4ee5\u4eba\u7c7b\u53ef\u8bfb\u7684\u683c\u5f0f\u8f93\u51fa <code>t_infomask</code>/<code>t_infomask2</code> \u503c\uff08Craig Ringer\uff0cSawada Masahiko\uff0cMichael Paquier\uff09<a href=\"https://postgr.es/c/ddbd5d873\">\u00a7</a> <a href=\"https://postgr.es/c/58b4cb30a\">\u00a7</a></p>", "text": "\u589e\u52a0pageinspect\u51fd\u6570\uff0c\u4ee5\u4eba\u7c7b\u53ef\u8bfb\u7684\u683c\u5f0f\u8f93\u51fa t_infomask/t_infomask2 \u503c\uff08Craig Ringer\uff0cSawada Masahiko\uff0cMichael Paquier\uff09\u00a7 \u00a7", "title": "\u589e\u52a0pageinspect\u51fd\u6570\uff0c\u4ee5\u4eba\u7c7b\u53ef\u8bfb\u7684\u683c\u5f0f\u8f93\u51fa t_infomask/t_infomask2 \u503c", "commits": ["58b4cb30a", "ddbd5d873"], "section": "\u9644\u52a0\u6a21\u5757", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.14", "source_hash": "b0f8154bb472c4c7b8586c5d7392d7771aec3ed1f365561c505f7cb5770ba03c", "section_path": ["\u9644\u52a0\u6a21\u5757"], "commit_groups": [["58b4cb30a"], ["ddbd5d873"]], "identity_text": "Add pageinspect functions to output t_infomask/t_infomask2 values in human-readable format (Craig Ringer, Sawada Masahiko, Michael Paquier)", "commit_aliases": ["58b4cb30a", "ddbd5d873"], "source_commits": ["58b4cb30a", "ddbd5d873"], "source_entry_id": "13.0/changes/162", "db_id": "72beb62f89432718771241ca689450a4", "patch_ids": ["7f1a50847f2241e900520a58d93b9fef", "b508028a4ac179e90cd9a097efbb6cbf"], "statement_hash": "344214b4adf81f448fd60fc7d4bdefdea8f779282016cc138f3c35fbe4718a2c", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-aec2151871aa1ec1", "migration": false}, {"id": "13.0-4e93f392eaee5052", "cves": [], "html": "<p>\u5411 pageinspect \u8f93\u51fa\u6dfb\u52a0 B-\u6811\u7d22\u5f15\u53bb\u91cd\u5904\u7406\u76f8\u5173\u5217\uff08Peter Geoghegan\uff09<a href=\"https://postgr.es/c/93ee38ead\">\u00a7</a></p>", "text": "\u5411 pageinspect \u8f93\u51fa\u6dfb\u52a0 B-\u6811\u7d22\u5f15\u53bb\u91cd\u5904\u7406\u76f8\u5173\u5217\uff08Peter Geoghegan\uff09\u00a7", "title": "\u5411 pageinspect \u8f93\u51fa\u6dfb\u52a0 B-\u6811\u7d22\u5f15\u53bb\u91cd\u5904\u7406\u76f8\u5173\u5217", "commits": ["93ee38ead"], "section": "\u9644\u52a0\u6a21\u5757", "category": "feature", "source_url": "/docs/release/13.0/#id-1.11.6.29.5.14", "source_hash": "cbb64b3dff00a5a6fc40e97c9d55296797e5a1b0cebc0f81918e7188054c0b7b", "section_path": ["\u9644\u52a0\u6a21\u5757"], "commit_groups": [["93ee38ead"]], "identity_text": "Add B-tree index de-duplication processing columns to pageinspect output (Peter Geoghegan)", "commit_aliases": ["93ee38ead"], "source_commits": ["93ee38ead"], "source_entry_id": "13.0/changes/163", "db_id": "041795569921cacf25aa797cddc22cad", "patch_ids": ["393828c4dc0d508952768c2ef5de29bc"], "statement_hash": "a98a59c909ab09b9d13421b88dad7f90614afedfff6b88fb5e421a44baa4894f", "relations": [], "category_label": "\u65b0\u529f\u80fd", "url": "/docs/compare/?release=13.0#13.0-4e93f392eaee5052", "migration": false}], "initial_entry_count": 178, "migration_html": "<p>\u5bf9\u4e8e\u5e0c\u671b\u4ece\u4efb\u4f55\u5148\u524d\u7248\u672c\u8fc1\u79fb\u6570\u636e\u7684\u7528\u6237\uff0c\u9700\u8981\u4f7f\u7528<a href=\"/docs/13/app-pg-dumpall.html\" title=\"pg_dumpall\"><span><span>pg_dumpall</span></span></a>\u8fdb\u884c\u5bfc\u51fa/\u6062\u590d\uff0c\u6216\u4f7f\u7528<a href=\"/docs/13/pgupgrade.html\" title=\"pg_upgrade\"><span><span>pg_upgrade</span></span></a>\u6216\u903b\u8f91\u590d\u5236\u3002\u6709\u5173\u8fc1\u79fb\u5230\u65b0\u4e3b\u7248\u672c\u7684\u4e00\u822c\u4fe1\u606f\uff0c\u8bf7\u53c2\u89c1<a href=\"/docs/13/upgrading.html\" title=\"18.6.\u00a0\u5347\u7ea7 PostgreSQL \u96c6\u7c07\">\u7b2c\u00a018.6\u00a0\u8282</a>\u3002</p>\n<p>\u7248\u672c 13 \u5305\u542b\u8bb8\u591a\u53ef\u80fd\u5f71\u54cd\u4e0e\u5148\u524d\u7248\u672c\u517c\u5bb9\u6027\u7684\u53d8\u66f4\u3002\u8bf7\u6ce8\u610f\u4ee5\u4e0b\u4e0d\u517c\u5bb9\u6027\uff1a</p>\n<div>\n</div>", "category_filters": [{"key": "feature", "label": "\u65b0\u529f\u80fd", "count": 143}, {"key": "bugfix", "label": "BUG \u4fee\u590d", "count": 4}, {"key": "security", "label": "\u5b89\u5168\u76f8\u5173", "count": 0}, {"key": "performance", "label": "\u6027\u80fd\u6539\u8fdb", "count": 16}, {"key": "compatibility", "label": "\u517c\u5bb9\u6027\u53d8\u5316", "count": 15}, {"key": "improvement", "label": "\u5176\u4ed6\u6539\u8fdb", "count": 0}], "security_rows": [{"id": "CVE-2025-8715", "title": "PostgreSQL pg_dump newline in object name executes arbitrary code in psql client and in restore target server", "url": "https://www.postgresql.org/support/security/CVE-2025-8715/", "score": 8.8, "vector": "AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H", "description": "Improper neutralization of newlines in pg_dump in PostgreSQL allows a user of the origin server to inject arbitrary code for restore-time execution as the client operating system account running psql to restore the dump, via psql meta-commands inside a purpose-crafted object name. The same attacks can achieve SQL injection as a superuser of the restore target server. pg_dumpall, pg_restore, and pg_upgrade are also affected. Versions before PostgreSQL 17.6, 16.10, 15.14, 14.19, and 13.22 are affected. Versions before 11.20 are unaffected. CVE-2012-0868 had fixed this class of problem, but version 11.20 reintroduced it.", "description_language": "en", "fixed": "13.22", "fixed_url": "/docs/compare/?release=13.22", "affected": "13", "component": "core server", "mentions": [{"build": "13.22", "version": "13.22", "title": "\u5728 pg_dump \u8f93\u51fa\u7684\u6ce8\u91ca\u4e2d\uff0c\u5c06\u540d\u79f0\u4e2d\u5305\u542b\u7684\u6362\u884c\u7b26\u8f6c\u6362\u4e3a\u7a7a\u683c", "url": "/docs/compare/?release=13.22#13.22-a726243ec1d439af"}], "evidence": "branch-matrix"}, {"id": "CVE-2025-8714", "title": "PostgreSQL pg_dump lets superuser of origin server execute arbitrary code in psql client", "url": "https://www.postgresql.org/support/security/CVE-2025-8714/", "score": 8.8, "vector": "AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H", "description": "Untrusted data inclusion in pg_dump in PostgreSQL allows a malicious superuser of the origin server to inject arbitrary code for restore-time execution as the client operating system account running psql to restore the dump, via psql meta-commands. pg_dumpall is also affected. pg_restore is affected when used to generate a plain-format dump. This is similar to MySQL CVE-2024-21096. Versions before PostgreSQL 17.6, 16.10, 15.14, 14.19, and 13.22 are affected.", "description_language": "en", "fixed": "13.22", "fixed_url": "/docs/compare/?release=13.22", "affected": "13", "component": "core server", "mentions": [{"build": "13.22", "version": "13.22", "title": "\u9632\u6b62 pg_dump \u811a\u672c\u88ab\u7528\u4e8e\u653b\u51fb\u6267\u884c\u6062\u590d\u7684\u7528\u6237", "url": "/docs/compare/?release=13.22#13.22-2c8737193994e3d6"}], "evidence": "branch-matrix"}, {"id": "CVE-2025-8713", "title": "PostgreSQL optimizer statistics can expose sampled data within a view, partition, or child table", "url": "https://www.postgresql.org/support/security/CVE-2025-8713/", "score": 3.1, "vector": "AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:N/A:N", "description": "PostgreSQL optimizer statistics allow a user to read sampled data within a view that the user cannot access. Separately, statistics allow a user to read sampled data that a row security policy intended to hide. PostgreSQL maintains statistics for tables by sampling data available in columns; this data is consulted during the query planning process. Prior to this release, a user could craft a leaky operator that bypassed view access control lists (ACLs) and bypassed row security policies in partitioning or table inheritance hierarchies. Reachable statistics data notably included histograms and most-common-values lists. CVE-2017-7484 and CVE-2019-10130 intended to close this class of vulnerability, but this gap remained. Versions before PostgreSQL 17.6, 16.10, 15.14, 14.19, and 13.22 are affected.", "description_language": "en", "fixed": "13.22", "fixed_url": "/docs/compare/?release=13.22", "affected": "13", "component": "core server", "mentions": [{"build": "13.22", "version": "13.22", "title": "\u52a0\u5f3a\u89c4\u5212\u5668\u4f30\u7b97\u51fd\u6570\u4e2d\u7684\u5b89\u5168\u68c0\u67e5", "url": "/docs/compare/?release=13.22#13.22-639d2c839166c19d"}], "evidence": "branch-matrix"}, {"id": "CVE-2025-4207", "title": "PostgreSQL GB18030 encoding validation can read one byte past end of allocation for text that fails validation", "url": "https://www.postgresql.org/support/security/CVE-2025-4207/", "score": 5.9, "vector": "AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H", "description": "Buffer over-read in PostgreSQL GB18030 encoding validation allows a database input provider to achieve temporary denial of service on platforms where a 1-byte over-read can elicit process termination. This affects the database server and also libpq. Versions before PostgreSQL 17.5, 16.9, 15.13, 14.18, and 13.21 are affected.", "description_language": "en", "fixed": "13.21", "fixed_url": "/docs/compare/?release=13.21", "affected": "13", "component": "core server", "mentions": [{"build": "13.21", "version": "13.21", "title": "\u907f\u514d\u5728\u68c0\u67e5\u58f0\u79f0\u4e3a GB18030 \u7f16\u7801\u7684\u65e0\u6548\u7f16\u7801\u5b57\u7b26\u4e32\u65f6\u53d1\u751f\u5355\u5b57\u8282\u7f13\u51b2\u533a\u8d8a\u754c\u8bfb\u53d6", "url": "/docs/compare/?release=13.21#13.21-bc601768f2de7a35"}], "evidence": "branch-matrix"}, {"id": "CVE-2025-12818", "title": "PostgreSQL libpq undersizes allocations, via integer wraparound", "url": "https://www.postgresql.org/support/security/CVE-2025-12818/", "score": 5.9, "vector": "AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H", "description": "Integer wraparound in multiple PostgreSQL libpq client library functions allows an application input provider or network peer to cause libpq to undersize an allocation and write out-of-bounds by hundreds of megabytes. This results in a segmentation fault for the application using libpq. Versions before PostgreSQL 18.1, 17.7, 16.11, 15.15, 14.20, and 13.23 are affected.", "description_language": "en", "fixed": "13.23", "fixed_url": "/docs/compare/?release=13.23", "affected": "13", "component": "core server", "mentions": [{"build": "13.23", "version": "13.23", "title": "\u907f\u514d libpq \u4e2d\u5206\u914d\u5927\u5c0f\u8ba1\u7b97\u7684\u6574\u6570\u6ea2\u51fa", "url": "/docs/compare/?release=13.23#13.23-d6bd7a2c0c48c3ad"}], "evidence": "branch-matrix"}, {"id": "CVE-2025-12817", "title": "PostgreSQL CREATE STATISTICS does not check for schema CREATE privilege", "url": "https://www.postgresql.org/support/security/CVE-2025-12817/", "score": 3.1, "vector": "AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:L", "description": "Missing authorization in PostgreSQL CREATE STATISTICS command allows a table owner to achieve denial of service against other CREATE STATISTICS users by creating in any schema. A later CREATE STATISTICS for the same name, from a user having the CREATE privilege, would then fail. Versions before PostgreSQL 18.1, 17.7, 16.11, 15.15, 14.20, and 13.23 are affected.", "description_language": "en", "fixed": "13.23", "fixed_url": "/docs/compare/?release=13.23", "affected": "13", "component": "core server", "mentions": [{"build": "13.23", "version": "13.23", "title": "\u68c0\u67e5 CREATE STATISTICS \u4e2d\u6a21\u5f0f\u7684 CREATE \u6743\u9650", "url": "/docs/compare/?release=13.23#13.23-5bf870f01e021d82"}], "evidence": "branch-matrix"}, {"id": "CVE-2025-1094", "title": "PostgreSQL quoting APIs miss neutralizing quoting syntax in text that fails encoding validation", "url": "https://www.postgresql.org/support/security/CVE-2025-1094/", "score": 8.1, "vector": "AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H", "description": "Improper neutralization of quoting syntax in PostgreSQL libpq functions PQescapeLiteral(), PQescapeIdentifier(), PQescapeString(), and PQescapeStringConn() allows a database input provider to achieve SQL injection in certain usage patterns. Specifically, SQL injection requires the application to use the function result to construct input to psql, the PostgreSQL interactive terminal. Similarly, improper neutralization of quoting syntax in PostgreSQL command line utility programs allows a source of command line arguments to achieve SQL injection when client_encoding is BIG5 and server_encoding is one of EUC_TW or MULE_INTERNAL. Versions before PostgreSQL 17.3, 16.7, 15.11, 14.16, and 13.19 are affected.", "description_language": "en", "fixed": "13.19", "fixed_url": "/docs/compare/?release=13.19", "affected": "13", "component": "core server", "mentions": [{"build": "13.20", "version": "13.20", "title": "\u6539\u8fdb libpq \u5f15\u7528\u51fd\u6570\u7684\u884c\u4e3a", "url": "/docs/compare/?release=13.20#13.20-27312e34c6df83be"}, {"build": "13.19", "version": "13.19", "title": "\u52a0\u5f3a PQescapeString \u53ca\u76f8\u5173\u51fd\u6570\u5bf9\u65e0\u6548\u7f16\u7801\u8f93\u5165\u5b57\u7b26\u4e32\u7684\u9632\u62a4", "url": "/docs/compare/?release=13.19#13.19-53e824654163768f"}], "evidence": "branch-matrix"}, {"id": "CVE-2024-7348", "title": "PostgreSQL relation replacement during pg_dump executes arbitrary SQL", "url": "https://www.postgresql.org/support/security/CVE-2024-7348/", "score": 8.8, "vector": "AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H", "description": "Time-of-check Time-of-use (TOCTOU) race condition in pg_dump in PostgreSQL allows an object creator to execute arbitrary SQL functions as the user running pg_dump, which is often a superuser. The attack involves replacing another relation type with a view or foreign table. The attack requires waiting for pg_dump to start, but winning the race condition is trivial if the attacker retains an open transaction. Versions before PostgreSQL 16.4, 15.8, 14.13, 13.16, and 12.20 are affected.\n\nThe PostgreSQL project thanks Noah Misch for reporting this problem.", "description_language": "en", "fixed": "13.16", "fixed_url": "/docs/compare/?release=13.16", "affected": "13", "component": "core server", "mentions": [{"build": "13.16", "version": "13.16", "title": "\u9632\u6b62\u5728 pg_dump \u671f\u95f4\u6267\u884c\u672a\u7ecf\u6388\u6743\u7684\u4ee3\u7801", "url": "/docs/compare/?release=13.16#13.16-2e433a29b91b07a9"}], "evidence": "branch-matrix"}, {"id": "CVE-2024-10979", "title": "PostgreSQL PL/Perl environment variable changes execute arbitrary code", "url": "https://www.postgresql.org/support/security/CVE-2024-10979/", "score": 8.8, "vector": "AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H", "description": "Incorrect control of environment variables in PostgreSQL PL/Perl allows an unprivileged database user to change sensitive process environment variables (e.g. PATH ). That often suffices to enable arbitrary code execution, even if the attacker lacks a database server operating system user. Versions before PostgreSQL 17.1, 16.5, 15.9, 14.14, 13.17, and 12.21 are affected.\n\nThe PostgreSQL project thanks Coby Abrams for reporting this problem.", "description_language": "en", "fixed": "13.17", "fixed_url": "/docs/compare/?release=13.17", "affected": "13", "component": "core server", "mentions": [{"build": "13.17", "version": "13.17", "title": "\u9632\u6b62\u53d7\u4fe1\u4efb\u7684 PL/Perl \u4ee3\u7801\u66f4\u6539\u73af\u5883\u53d8\u91cf", "url": "/docs/compare/?release=13.17#13.17-458fde2a378dd869"}], "evidence": "branch-matrix"}, {"id": "CVE-2024-10978", "title": "PostgreSQL SET ROLE, SET SESSION AUTHORIZATION reset to wrong user ID", "url": "https://www.postgresql.org/support/security/CVE-2024-10978/", "score": 4.2, "vector": "AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:N", "description": "Incorrect privilege assignment in PostgreSQL allows a less-privileged application user to view or change different rows from those intended. An attack requires the application to use SET ROLE , SET SESSION AUTHORIZATION , or an equivalent feature. The problem arises when an application query uses parameters from the attacker or conveys query results to the attacker. If that query reacts to current_setting('role') or the current user ID, it may modify or return data as though the session had not used SET ROLE or SET SESSION AUTHORIZATION . The attacker does not control which incorrect user ID applies. Query text from less-privileged sources is not a concern here, because SET ROLE and SET SESSION AUTHORIZATION are not sandboxes for unvetted queries. Versions before PostgreSQL 17.1, 16.5, 15.9, 14.14, 13.17, and 12.21 are affected.\n\nThe PostgreSQL project thanks Tom Lane for reporting this problem.", "description_language": "en", "fixed": "13.17", "fixed_url": "/docs/compare/?release=13.17", "affected": "13", "component": "core server", "mentions": [{"build": "13.18", "version": "13.18", "title": "\u6062\u590d ALTER {ROLE|DATABASE} SET role \u7684\u529f\u80fd", "url": "/docs/compare/?release=13.18#13.18-2dcb90b343e7bf55"}, {"build": "13.17", "version": "13.17", "title": "\u4fee\u590d SET SESSION AUTHORIZATION \u4e0e SET ROLE \u4e4b\u95f4\u610f\u5916\u7684\u4ea4\u4e92", "url": "/docs/compare/?release=13.17#13.17-d57adda36139a851"}], "evidence": "branch-matrix"}, {"id": "CVE-2024-10977", "title": "PostgreSQL libpq retains an error message from man-in-the-middle", "url": "https://www.postgresql.org/support/security/CVE-2024-10977/", "score": 3.1, "vector": "AV:N/AC:H/PR:N/UI:R/S:U/C:N/I:L/A:N", "description": "Client use of server error message in PostgreSQL allows a server not trusted under current SSL or GSS settings to furnish arbitrary non-NUL bytes to the libpq application. For example, a man-in-the-middle attacker could send a long error message that a human or screen-scraper user of psql mistakes for valid query results. This is probably not a concern for clients where the user interface unambiguously indicates the boundary between one error message and other text. Versions before PostgreSQL 17.1, 16.5, 15.9, 14.14, 13.17, and 12.21 are affected.\n\nThe PostgreSQL project thanks Jacob Champion for reporting this problem.", "description_language": "en", "fixed": "13.17", "fixed_url": "/docs/compare/?release=13.17", "affected": "13", "component": "client", "mentions": [{"build": "13.17", "version": "13.17", "title": "\u4f7f libpq \u4e22\u5f03\u5728 SSL \u6216 GSS \u534f\u8bae\u534f\u5546\u671f\u95f4\u6536\u5230\u7684\u9519\u8bef\u6d88\u606f", "url": "/docs/compare/?release=13.17#13.17-6c940adbb9729591"}], "evidence": "branch-matrix"}, {"id": "CVE-2024-10976", "title": "PostgreSQL row security below e.g. subqueries disregards user ID changes", "url": "https://www.postgresql.org/support/security/CVE-2024-10976/", "score": 4.2, "vector": "AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:N", "description": "Incomplete tracking in PostgreSQL of tables with row security allows a reused query to view or change different rows from those intended. CVE-2023-2455 and CVE-2016-2193 fixed most interaction between row security and user ID changes. They missed cases where a subquery, WITH query, security invoker view, or SQL-language function references a table with a row-level security policy. This has the same consequences as the two earlier CVEs. That is to say, it leads to potentially incorrect policies being applied in cases where role-specific policies are used and a given query is planned under one role and then executed under other roles. This scenario can happen under security definer functions or when a common user and query is planned initially and then re-used across multiple SET ROLEs.\n\nApplying an incorrect policy may permit a user to complete otherwise-forbidden reads and modifications. This affects only databases that have used CREATE POLICY to define a row security policy. An attacker must tailor an attack to a particular application's pattern of query plan reuse, user ID changes, and role-specific row security policies. Versions before PostgreSQL 17.1, 16.5, 15.9, 14.14, 13.17, and 12.21 are affected.", "description_language": "en", "fixed": "13.17", "fixed_url": "/docs/compare/?release=13.17", "affected": "13", "component": "core server", "mentions": [{"build": "13.17", "version": "13.17", "title": "\u786e\u4fdd\u5f53 RLS \u5e94\u7528\u4e8e\u975e\u9876\u7ea7\u8868\u5f15\u7528\u65f6\uff0c\u7f13\u5b58\u7684\u6267\u884c\u8ba1\u5212\u88ab\u6807\u8bb0\u4e3a\u4f9d\u8d56\u4e8e\u8c03\u7528\u89d2\u8272", "url": "/docs/compare/?release=13.17#13.17-262bcda4a82de7e4"}], "evidence": "branch-matrix"}, {"id": "CVE-2024-0985", "title": "PostgreSQL non-owner REFRESH MATERIALIZED VIEW CONCURRENTLY executes arbitrary SQL", "url": "https://www.postgresql.org/support/security/CVE-2024-0985/", "score": 8.0, "vector": "AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:H", "description": "UPDATE (June 19, 2024) : Added v16 as impacted. Updated description to clarify the attack vector.\n\nLate privilege drop in REFRESH MATERIALIZED VIEW CONCURRENTLY in PostgreSQL allows an object creator to execute arbitrary SQL functions as the command issuer. The command intends to run SQL functions as the owner of the materialized view, enabling safe refresh of untrusted materialized views. The victim is a superuser or member of one of the attacker's roles. The attack requires luring the victim into running REFRESH MATERIALIZED VIEW CONCURRENTLY on the attacker's materialized view.", "description_language": "en", "fixed": "13.14", "fixed_url": "/docs/compare/?release=13.14", "affected": "13", "component": "core server", "mentions": [{"build": "13.14", "version": "13.14", "title": "\u52a0\u5f3a REFRESH MATERIALIZED VIEW CONCURRENTLY \u4e2d\u7684\u5b89\u5168\u9650\u5236", "url": "/docs/compare/?release=13.14#13.14-06344fff7d0f1e00"}], "evidence": "branch-matrix"}, {"id": "CVE-2023-5870", "title": "Role \"pg_signal_backend\" can signal certain superuser processes", "url": "https://www.postgresql.org/support/security/CVE-2023-5870/", "score": 2.2, "vector": "AV:N/AC:H/PR:H/UI:N/S:U/C:N/I:N/A:L", "description": "Documentation says the pg_signal_backend role cannot signal \"a backend owned by a superuser\". On the contrary, it can signal background workers, including the logical replication launcher. It can signal autovacuum workers and the autovacuum launcher. Signaling autovacuum workers and those two launchers provides no meaningful exploit, so exploiting this vulnerability requires a non-core extension with a less-resilient background worker. For example, a non-core background worker that does not auto-restart would experience a denial of service with respect to that particular background worker.\n\nThe PostgreSQL project thanks Hemanth Sandrana and Mahendrakar Srinivasarao for reporting this problem.", "description_language": "en", "fixed": "13.13", "fixed_url": "/docs/compare/?release=13.13", "affected": "13", "component": "core server", "mentions": [{"build": "13.13", "version": "13.13", "title": "\u9632\u6b62 pg_signal_backend \u89d2\u8272\u5411\u540e\u53f0\u5de5\u4f5c\u8fdb\u7a0b\u548c\u81ea\u52a8\u6e05\u7406\u8fdb\u7a0b\u53d1\u9001\u4fe1\u53f7", "url": "/docs/compare/?release=13.13#13.13-2024116eff31fd4f"}], "evidence": "branch-matrix"}, {"id": "CVE-2023-5869", "title": "Buffer overrun from integer overflow in array modification", "url": "https://www.postgresql.org/support/security/CVE-2023-5869/", "score": 8.8, "vector": "AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H", "description": "While modifying certain SQL array values, missing overflow checks let authenticated database users write arbitrary bytes to a memory area that facilitates arbitrary code execution. Missing overflow checks also let authenticated database users read a wide area of server memory. The CVE-2021-32027 fix covered some attacks of this description, but it missed others.\n\nThe PostgreSQL project thanks Pedro Gallegos for reporting this problem.", "description_language": "en", "fixed": "13.13", "fixed_url": "/docs/compare/?release=13.13", "affected": "13", "component": "core server", "mentions": [{"build": "13.16", "version": "13.16", "title": "\u68c0\u6d4b\u8ba1\u7b97\u65b0\u6570\u7ec4\u7ef4\u5ea6\u65f6\u7684\u53e6\u4e00\u4e2a\u6574\u6570\u6ea2\u51fa\u60c5\u51b5", "url": "/docs/compare/?release=13.16#13.16-27841b5006f6d0ca"}, {"build": "13.13", "version": "13.13", "title": "\u68c0\u6d4b\u8ba1\u7b97\u65b0\u6570\u7ec4\u7ef4\u5ea6\u65f6\u7684\u6574\u6570\u6ea2\u51fa", "url": "/docs/compare/?release=13.13#13.13-b3cd77d12b62df2b"}], "evidence": "branch-matrix"}, {"id": "CVE-2023-5868", "title": "Memory disclosure in aggregate function calls", "url": "https://www.postgresql.org/support/security/CVE-2023-5868/", "score": 4.3, "vector": "AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N", "description": "Certain aggregate function calls receiving \"unknown\"-type arguments could disclose bytes of server memory from the end of the \"unknown\"-type value to the next zero byte. One typically gets an \"unknown\"-type value via a string literal having no type designation. We have not confirmed or ruled out viability of attacks that arrange for presence of notable, confidential information in disclosed bytes.\n\nThe PostgreSQL project thanks Jingzhou Fu for reporting this problem.", "description_language": "en", "fixed": "13.13", "fixed_url": "/docs/compare/?release=13.13", "affected": "13", "component": "core server", "mentions": [{"build": "13.13", "version": "13.13", "title": "\u4fee\u590d DISTINCT \"any\" \u805a\u5408\u51fd\u6570\u4e2d\u5bf9\u672a\u77e5\u7c7b\u578b\u53c2\u6570\u7684\u5904\u7406", "url": "/docs/compare/?release=13.13#13.13-cb74a975d65eb2b7"}], "evidence": "branch-matrix"}, {"id": "CVE-2023-39417", "title": "Extension script @substitutions@ within quoting allow SQL injection", "url": "https://www.postgresql.org/support/security/CVE-2023-39417/", "score": 7.5, "vector": "AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H", "description": "An extension script is vulnerable if it uses @extowner@ , @extschema@ , or @extschema:...@ inside a quoting construct (dollar quoting, '' , or \"\" ). No bundled extension is vulnerable. Vulnerable uses do appear in a documentation example and in non-bundled extensions. Hence, the attack prerequisite is an administrator having installed files of a vulnerable, trusted, non-bundled extension. Subject to that prerequisite, this enables an attacker having database-level CREATE privilege to execute arbitrary code as the bootstrap superuser. PostgreSQL will block this attack in the core server, so there's no need to modify individual extensions.\n\nThe PostgreSQL project thanks Micah Gates, Valerie Woolard, Tim Carey-Smith, and Christoph Berg for reporting this problem.", "description_language": "en", "fixed": "13.12", "fixed_url": "/docs/compare/?release=13.12", "affected": "13", "component": "core server", "mentions": [{"build": "13.12", "version": "13.12", "title": "\u5982\u679c\u6a21\u5f0f\u6216\u6240\u6709\u8005\u540d\u79f0\u5305\u542b\u5f15\u53f7\u3001\u53cd\u659c\u6760\u6216\u7f8e\u5143\u7b26\u53f7\uff0c\u5219\u4e0d\u5141\u8bb8\u5c06\u5176\u66ff\u6362\u5230\u6269\u5c55\u811a\u672c\u4e2d", "url": "/docs/compare/?release=13.12#13.12-7e7794e398a17981"}], "evidence": "branch-matrix"}, {"id": "CVE-2023-2455", "title": "Row security policies disregard user ID changes after inlining", "url": "https://www.postgresql.org/support/security/CVE-2023-2455/", "score": 4.2, "vector": "AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:N", "description": "While CVE-2016-2193 fixed most interaction between row security and user ID changes, it missed a scenario involving function inlining. This leads to potentially incorrect policies being applied in cases where role-specific policies are used and a given query is planned under one role and then executed under other roles. This scenario can happen under security definer functions or when a common user and query is planned initially and then re-used across multiple SET ROLE s. Applying an incorrect policy may permit a user to complete otherwise-forbidden reads and modifications. This affects only databases that have used CREATE POLICY to define a row security policy.\n\nThe PostgreSQL project thanks Wolfgang Walther for reporting this problem.", "description_language": "en", "fixed": "13.11", "fixed_url": "/docs/compare/?release=13.11", "affected": "13", "component": "core server", "mentions": [{"build": "13.11", "version": "13.11", "title": "\u5728\u5185\u8054\u96c6\u5408\u8fd4\u56de\u51fd\u6570\u540e\u6b63\u786e\u6267\u884c\u884c\u7ea7\u5b89\u5168\u7b56\u7565", "url": "/docs/compare/?release=13.11#13.11-dceb56ebe5dfd791"}], "evidence": "branch-matrix"}, {"id": "CVE-2023-2454", "title": "CREATE SCHEMA ... schema_element defeats protective search_path changes", "url": "https://www.postgresql.org/support/security/CVE-2023-2454/", "score": 7.2, "vector": "AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H", "description": "This enabled an attacker having database-level CREATE privilege to execute arbitrary code as the bootstrap superuser. Database owners have that right by default, and explicit grants may extend it to other users.\n\nThe PostgreSQL project thanks Alexander Lakhin for reporting this problem.", "description_language": "en", "fixed": "13.11", "fixed_url": "/docs/compare/?release=13.11", "affected": "13", "component": "core server", "mentions": [{"build": "13.11", "version": "13.11", "title": "\u9632\u6b62 CREATE SCHEMA \u7ed5\u8fc7 search_path \u7684\u66f4\u6539", "url": "/docs/compare/?release=13.11#13.11-960180571a622bb8"}], "evidence": "branch-matrix"}, {"id": "CVE-2022-41862", "title": "Client memory disclosure when connecting, with Kerberos, to modified server", "url": "https://www.postgresql.org/support/security/CVE-2022-41862/", "score": 3.7, "vector": "AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N", "description": "A modified, unauthenticated server can send an unterminated string during the establishment of Kerberos transport encryption. When a libpq client application has a Kerberos credential cache and doesn't explicitly disable option gssencmode , a server can cause libpq to over-read and report an error message containing uninitialized bytes from and following its receive buffer. If libpq's caller somehow makes that message accessible to the attacker, this achieves a disclosure of the over-read bytes. We have not confirmed or ruled out viability of attacks that arrange for a crash or for presence of notable, confidential information in disclosed bytes.\n\nThe PostgreSQL project thanks Jacob Champion for reporting this problem.", "description_language": "en", "fixed": "13.10", "fixed_url": "/docs/compare/?release=13.10", "affected": "13", "component": "client", "mentions": [{"build": "13.10", "version": "13.10", "title": "libpq \u5728 GSSAPI \u4f20\u8f93\u52a0\u5bc6\u521d\u59cb\u5316\u5931\u8d25\u540e\u53ef\u80fd\u6cc4\u6f0f\u5185\u5b58\u5185\u5bb9", "url": "/docs/compare/?release=13.10#13.10-23596c45357945bb"}], "evidence": "branch-matrix"}, {"id": "CVE-2022-2625", "title": "Extension scripts replace objects not belonging to the extension", "url": "https://www.postgresql.org/support/security/CVE-2022-2625/", "score": 7.1, "vector": "AV:N/AC:H/PR:L/UI:R/S:U/C:H/I:H/A:H", "description": "Some extensions use CREATE OR REPLACE or CREATE IF NOT EXISTS commands. Some don't adhere to the documented rule to target only objects known to be extension members already. An attack requires permission to create non-temporary objects in at least one schema, ability to lure or wait for an administrator to create or update an affected extension in that schema, and ability to lure or wait for a victim to use the object targeted in CREATE OR REPLACE or CREATE IF NOT EXISTS . Given all three prerequisites, the attacker can run arbitrary code as the victim role, which may be a superuser. Known-affected extensions include both PostgreSQL-bundled and non-bundled extensions. PostgreSQL is blocking this attack in the core server, so there's no need to modify individual extensions.\n\nThe PostgreSQL project thanks Sven Klemm for reporting this problem.", "description_language": "en", "fixed": "13.8", "fixed_url": "/docs/compare/?release=13.8", "affected": "13", "component": "core server", "mentions": [{"build": "13.8", "version": "13.8", "title": "\u4e0d\u5141\u8bb8\u6269\u5c55\u811a\u672c\u66ff\u6362\u4e0d\u5c5e\u4e8e\u8be5\u6269\u5c55\u7684\u5df2\u6709\u5bf9\u8c61", "url": "/docs/compare/?release=13.8#13.8-d7fa2ab8d0b929c9"}], "evidence": "branch-matrix"}, {"id": "CVE-2022-1552", "title": "Autovacuum, REINDEX, and others omit \"security restricted operation\" sandbox", "url": "https://www.postgresql.org/support/security/CVE-2022-1552/", "score": 8.8, "vector": "AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H", "description": "Autovacuum, REINDEX , CREATE INDEX , REFRESH MATERIALIZED VIEW , CLUSTER , and pg_amcheck made incomplete efforts to operate safely when a privileged user is maintaining another user's objects. Those commands activated relevant protections too late or not at all. An attacker having permission to create non-temp objects in at least one schema could execute arbitrary SQL functions under a superuser identity.\n\nWhile promptly updating PostgreSQL is the best remediation for most users, a user unable to do that can work around the vulnerability by disabling autovacuum, not manually running the above commands, and not restoring from output of the pg_dump command. Performance may degrade quickly under this workaround. VACUUM is safe, and all commands are fine when a trusted user owns the target object.\n\nThe PostgreSQL project thanks Alexander Lakhin for reporting this problem.", "description_language": "en", "fixed": "13.7", "fixed_url": "/docs/compare/?release=13.7", "affected": "13", "component": "core server", "mentions": [{"build": "13.8", "version": "13.8", "title": "\u4fee\u590d CREATE INDEX \u4e2d\u7684\u6743\u9650\u68c0\u67e5", "url": "/docs/compare/?release=13.8#13.8-47bf1f9c7f7a3b12"}, {"build": "13.7", "version": "13.7", "title": "\u5c06\u66f4\u591a\u64cd\u4f5c\u9650\u5236\u5728\u201c\u5b89\u5168\u53d7\u9650\u64cd\u4f5c\u201d\u6c99\u7bb1\u5185", "url": "/docs/compare/?release=13.7#13.7-7c751a4817cbcd26"}], "evidence": "branch-matrix"}, {"id": "CVE-2021-3677", "title": "Memory disclosure in certain queries", "url": "https://www.postgresql.org/support/security/CVE-2021-3677/", "score": 6.5, "vector": "AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N", "description": "A purpose-crafted query can read arbitrary bytes of server memory. In the default configuration, any authenticated database user can complete this attack at will. The attack does not require the ability to create objects. If server settings include max_worker_processes=0 , the known versions of this attack are infeasible. However, undiscovered variants of the attack may be independent of that setting.", "description_language": "en", "fixed": "13.4", "fixed_url": "/docs/compare/?release=13.4", "affected": "13", "component": "core server", "mentions": [{"build": "13.4", "version": "13.4", "title": "\u4fee\u590d\u91cd\u590d\u5e94\u7528\u6295\u5f71\u6b65\u9aa4\u65f6\u4ea7\u751f\u9519\u8bef\u8ba1\u5212\u7684\u95ee\u9898", "url": "/docs/compare/?release=13.4#13.4-ae65d01fc545f778"}], "evidence": "branch-matrix"}, {"id": "CVE-2021-3449", "title": "CVE-2021-3449", "url": "https://www.postgresql.org/support/security/CVE-2021-3449/", "score": null, "vector": "", "description": "", "description_language": "en", "fixed": "", "fixed_url": "", "affected": "", "component": "", "mentions": [{"build": "13.4", "version": "13.4", "title": "\u66f4\u5f7b\u5e95\u5730\u7981\u6b62 SSL \u91cd\u65b0\u534f\u5546", "url": "/docs/compare/?release=13.4#13.4-a0b88642ddb5cf86"}], "evidence": "release-note-mention"}, {"id": "CVE-2021-3393", "title": "Partition constraint violation errors leak values of denied columns", "url": "https://www.postgresql.org/support/security/CVE-2021-3393/", "score": 3.1, "vector": "AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:N/A:N", "description": "A user having an UPDATE privilege on a partitioned table but lacking the SELECT privilege on some column may be able to acquire denied-column values from an error message. This is similar to CVE-2014-8161 , but the conditions to exploit are more rare.\n\nThe PostgreSQL project thanks Heikki Linnakangas for reporting this problem.", "description_language": "en", "fixed": "13.2", "fixed_url": "/docs/compare/?release=13.2", "affected": "13", "component": "core server", "mentions": [{"build": "13.2", "version": "13.2", "title": "\u4fee\u590d\u8fdd\u53cd\u7ea6\u675f\u7684\u9519\u8bef\u6d88\u606f\u4e2d\u7684\u4fe1\u606f\u6cc4\u6f0f", "url": "/docs/compare/?release=13.2#13.2-360109c41051c8db"}], "evidence": "branch-matrix"}, {"id": "CVE-2021-32029", "title": "Memory disclosure in partitioned-table UPDATE ... RETURNING", "url": "https://www.postgresql.org/support/security/CVE-2021-32029/", "score": 6.5, "vector": "AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N", "description": "Using an UPDATE ... RETURNING on a purpose-crafted partitioned table, an attacker can read arbitrary bytes of server memory. In the default configuration, any authenticated database user can create prerequisite objects and complete this attack at will. A user lacking the CREATE and TEMPORARY privileges on all databases and the CREATE privilege on all schemas typically cannot use this attack at will.\n\nThe PostgreSQL project thanks Tom Lane for reporting this problem.", "description_language": "en", "fixed": "13.3", "fixed_url": "/docs/compare/?release=13.3", "affected": "13", "component": "core server", "mentions": [{"build": "13.3", "version": "13.3", "title": "\u4fee\u590d\u6d89\u53ca\u8fde\u63a5\u7684\u8de8\u5206\u533a\u66f4\u65b0\u4e2d UPDATE ... RETURNING \u8f93\u51fa\u53ef\u80fd\u8ba1\u7b97\u4e0d\u6b63\u786e\u7684\u95ee\u9898", "url": "/docs/compare/?release=13.3#13.3-461a1b783bb96232"}], "evidence": "branch-matrix"}, {"id": "CVE-2021-32028", "title": "Memory disclosure in INSERT ... ON CONFLICT ... DO UPDATE", "url": "https://www.postgresql.org/support/security/CVE-2021-32028/", "score": 6.5, "vector": "AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N", "description": "Using an INSERT ... ON CONFLICT ... DO UPDATE command on a purpose-crafted table, an attacker can read arbitrary bytes of server memory. In the default configuration, any authenticated database user can create prerequisite objects and complete this attack at will. A user lacking the CREATE and TEMPORARY privileges on all databases and the CREATE privilege on all schemas cannot use this attack at will.\n\nThe PostgreSQL project thanks Andres Freund for reporting this problem.", "description_language": "en", "fixed": "13.3", "fixed_url": "/docs/compare/?release=13.3", "affected": "13", "component": "core server", "mentions": [{"build": "13.3", "version": "13.3", "title": "\u4fee\u590d INSERT ... ON CONFLICT ... UPDATE \u76ee\u6807\u5217\u8868\u4e2d\u5bf9 \u201cjunk\u201d \u5217\u7684\u9519\u8bef\u5904\u7406", "url": "/docs/compare/?release=13.3#13.3-0f677eeae1faab2b"}], "evidence": "branch-matrix"}, {"id": "CVE-2021-32027", "title": "Buffer overrun from integer overflow in array subscripting calculations", "url": "https://www.postgresql.org/support/security/CVE-2021-32027/", "score": 6.5, "vector": "AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N", "description": "While modifying certain SQL array values, missing bounds checks let authenticated database users write arbitrary bytes to a wide area of server memory.\n\nThe PostgreSQL project thanks Tom Lane for reporting this problem.", "description_language": "en", "fixed": "13.3", "fixed_url": "/docs/compare/?release=13.3", "affected": "13", "component": "core server", "mentions": [{"build": "13.3", "version": "13.3", "title": "\u9632\u6b62\u6570\u7ec4\u4e0b\u6807\u8ba1\u7b97\u4e2d\u7684\u6574\u6570\u6ea2\u51fa", "url": "/docs/compare/?release=13.3#13.3-662fbe650093c58f"}], "evidence": "branch-matrix"}, {"id": "CVE-2021-23222", "title": "libpq processes unencrypted bytes from man-in-the-middle", "url": "https://www.postgresql.org/support/security/CVE-2021-23222/", "score": 3.7, "vector": "AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N", "description": "A man-in-the-middle attacker can inject false responses to the client's first few queries, despite the use of SSL certificate verification and encryption.\n\nIf more preconditions hold, the attacker can exfiltrate the client's password or other confidential data that might be transmitted early in a session. The attacker must have a way to trick the client's intended server into making the confidential data accessible to the attacker. A known implementation having that property is a PostgreSQL configuration vulnerable to CVE-2021-23214 . As with any exploitation of CVE-2021-23214 , the server must be using trust authentication with a clientcert requirement or using cert authentication. To disclose a password, the client must be in possession of a password, which is atypical when using an authentication configuration vulnerable to CVE-2021-23214 . The attacker must have some other way to access the server to retrieve the exfiltrated data (a valid, unprivileged login account would be sufficient).\n\nThe PostgreSQL project thanks Jacob Champion for reporting this problem.", "description_language": "en", "fixed": "13.5", "fixed_url": "/docs/compare/?release=13.5", "affected": "13", "component": "client", "mentions": [{"build": "13.5", "version": "13.5", "title": "\u4f7f libpq \u5728 SSL \u6216 GSS \u52a0\u5bc6\u63e1\u624b\u540e\u62d2\u7edd\u591a\u4f59\u7684\u6570\u636e", "url": "/docs/compare/?release=13.5#13.5-32b7064eba088818"}], "evidence": "branch-matrix"}, {"id": "CVE-2021-23214", "title": "Server processes unencrypted bytes from man-in-the-middle", "url": "https://www.postgresql.org/support/security/CVE-2021-23214/", "score": 8.1, "vector": "AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H", "description": "When the server is configured to use trust authentication with a clientcert requirement or to use cert authentication, a man-in-the-middle attacker can inject arbitrary SQL queries when a connection is first established, despite the use of SSL certificate verification and encryption. This is similar to CVE-2011-0411 (different product).\n\nThe PostgreSQL project thanks Jacob Champion for reporting this problem.", "description_language": "en", "fixed": "13.5", "fixed_url": "/docs/compare/?release=13.5", "affected": "13", "component": "core server", "mentions": [{"build": "13.5", "version": "13.5", "title": "\u4f7f\u670d\u52a1\u5668\u5728 SSL \u6216 GSS \u52a0\u5bc6\u63e1\u624b\u540e\u62d2\u7edd\u591a\u4f59\u7684\u6570\u636e", "url": "/docs/compare/?release=13.5#13.5-39a07d46c9c5e38f"}, {"build": "13.5", "version": "13.5", "title": "\u4f7f libpq \u5728 SSL \u6216 GSS \u52a0\u5bc6\u63e1\u624b\u540e\u62d2\u7edd\u591a\u4f59\u7684\u6570\u636e", "url": "/docs/compare/?release=13.5#13.5-32b7064eba088818"}], "evidence": "branch-matrix"}, {"id": "CVE-2021-20229", "title": "Single-column SELECT privilege enables reading all columns", "url": "https://www.postgresql.org/support/security/CVE-2021-20229/", "score": 3.1, "vector": "AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:N/A:N", "description": "A user having a SELECT privilege on an individual column can craft a special query that returns all columns of the table.\n\nAdditionally, a stored view that uses column-level privileges will have incomplete column-usage bitmaps. In installations that depend on column-level permissions for security, it is recommended to execute CREATE OR REPLACE on all user-defined views to force them to be re-parsed.\n\nThe PostgreSQL project thanks Sven Klemm for reporting this problem.", "description_language": "en", "fixed": "13.2", "fixed_url": "/docs/compare/?release=13.2", "affected": "13", "component": "core server", "mentions": [{"build": "13.2", "version": "13.2", "title": "\u4fee\u590d\u67d0\u4e9b\u8fde\u63a5\u67e5\u8be2\u4e2d\u672a\u68c0\u67e5\u9010\u5217 SELECT \u6743\u9650\u7684\u95ee\u9898", "url": "/docs/compare/?release=13.2#13.2-d5a989a0616fcbe6"}], "evidence": "branch-matrix"}, {"id": "CVE-2020-25696", "title": "psql's \\gset allows overwriting specially treated variables", "url": "https://www.postgresql.org/support/security/CVE-2020-25696/", "score": 7.5, "vector": "AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H", "description": "The \\gset meta-command, which sets psql variables based on query results, does not distinguish variables that control psql behavior. If an interactive psql session uses \\gset when querying a compromised server, the attacker can execute arbitrary code as the operating system account running psql . Using \\gset with a prefix not found among specially treated variables, e.g. any lowercase string, precludes the attack in an unpatched psql .\n\nThe PostgreSQL project thanks Nick Cleaton for reporting this problem.", "description_language": "en", "fixed": "13.1", "fixed_url": "/docs/compare/?release=13.1", "affected": "13", "component": "client", "mentions": [{"build": "13.1", "version": "13.1", "title": "\u9632\u6b62 psql \u7684 \\gset \u547d\u4ee4\u4fee\u6539\u5177\u6709\u7279\u6b8a\u5904\u7406\u65b9\u5f0f\u7684\u53d8\u91cf", "url": "/docs/compare/?release=13.1#13.1-9070105c8a130c54"}], "evidence": "branch-matrix"}, {"id": "CVE-2020-25695", "title": "Multiple features escape \"security restricted operation\" sandbox", "url": "https://www.postgresql.org/support/security/CVE-2020-25695/", "score": 8.8, "vector": "AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H", "description": "An attacker having permission to create non-temporary objects in at least one schema can execute arbitrary SQL functions under the identity of a superuser.\n\nWhile promptly updating PostgreSQL is the best remediation for most users, a user unable to do that can work around the vulnerability by disabling autovacuum and not manually running ANALYZE , CLUSTER , REINDEX , CREATE INDEX , VACUUM FULL , REFRESH MATERIALIZED VIEW , or a restore from output of the pg_dump command. Performance may degrade quickly under this workaround.\n\nVACUUM without the FULL option is safe, and all commands are fine when a trusted user owns the target object.\n\nThe PostgreSQL project thanks Etienne Stalmans for reporting this problem.", "description_language": "en", "fixed": "13.1", "fixed_url": "/docs/compare/?release=13.1", "affected": "13", "component": "core server", "mentions": [{"build": "13.1", "version": "13.1", "title": "\u7981\u6b62\u5728\u7d22\u5f15\u8868\u8fbe\u5f0f\u548c\u7269\u5316\u89c6\u56fe\u67e5\u8be2\u4e2d\u6267\u884c DECLARE CURSOR ... WITH HOLD \u4ee5\u53ca\u89e6\u53d1\u5ef6\u8fdf\u89e6\u53d1\u5668", "url": "/docs/compare/?release=13.1#13.1-72b4bd56189200a8"}], "evidence": "branch-matrix"}, {"id": "CVE-2020-25694", "title": "Reconnection can downgrade connection security settings", "url": "https://www.postgresql.org/support/security/CVE-2020-25694/", "score": 8.1, "vector": "AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H", "description": "Many PostgreSQL-provided client applications have options that create additional database connections. Some of those applications reuse only the basic connection parameters (e.g. host , user , port ), dropping others. If this drops a security-relevant parameter (e.g. channel_binding , sslmode , requirepeer , gssencmode ), the attacker has an opportunity to complete a MITM attack or observe cleartext transmission.\n\nAffected applications are clusterdb , pg_dump , pg_restore , psql , reindexdb , and vacuumdb . The vulnerability arises only if one invokes an affected client application with a connection string containing a security-relevant parameter.\n\nThis also fixes how the \\connect command of psql reuses connection parameters, i.e. all non-overridden parameters from a previous connection string now re-used.\n\nThe PostgreSQL project thanks Peter Eisentraut for reporting this problem.", "description_language": "en", "fixed": "13.1", "fixed_url": "/docs/compare/?release=13.1", "affected": "13", "component": "client", "mentions": [{"build": "13.1", "version": "13.1", "title": "\u4fee\u590d pg_dump\u3001pg_restore\u3001clusterdb\u3001reindexdb \u548c vacuumdb \u5bf9\u590d\u6742\u8fde\u63a5\u5b57\u7b26\u4e32\u53c2\u6570\u7684\u4f7f\u7528", "url": "/docs/compare/?release=13.1#13.1-1006a71ccc1ec016"}, {"build": "13.1", "version": "13.1", "title": "\u5f53 psql \u7684 \\connect \u547d\u4ee4\u590d\u7528\u8fde\u63a5\u53c2\u6570\u65f6\uff0c\u786e\u4fdd\u590d\u7528\u5148\u524d\u8fde\u63a5\u5b57\u7b26\u4e32\u4e2d\u6240\u6709\u672a\u88ab\u8986\u76d6\u7684\u53c2\u6570", "url": "/docs/compare/?release=13.1#13.1-f1badba1aaec4ac5"}], "evidence": "branch-matrix"}, {"id": "CVE-2017-7484", "title": "selectivity estimators bypass SELECT privilege checks", "url": "https://www.postgresql.org/support/security/CVE-2017-7484/", "score": 4.3, "vector": "AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N", "description": "", "description_language": "en", "fixed": "", "fixed_url": "", "affected": "", "component": "core server", "mentions": [{"build": "13.22", "version": "13.22", "title": "\u52a0\u5f3a\u89c4\u5212\u5668\u4f30\u7b97\u51fd\u6570\u4e2d\u7684\u5b89\u5168\u68c0\u67e5", "url": "/docs/compare/?release=13.22#13.22-639d2c839166c19d"}], "evidence": "release-note-mention"}, {"id": "CVE-2012-0868", "title": "Line breaks in object names can be exploited to execute arbitrary SQL when reloading a pg_dump file.", "url": "https://www.postgresql.org/support/security/CVE-2012-0868/", "score": null, "vector": "", "description": "", "description_language": "en", "fixed": "", "fixed_url": "", "affected": "", "component": "", "mentions": [{"build": "13.22", "version": "13.22", "title": "\u5728 pg_dump \u8f93\u51fa\u7684\u6ce8\u91ca\u4e2d\uff0c\u5c06\u540d\u79f0\u4e2d\u5305\u542b\u7684\u6362\u884c\u7b26\u8f6c\u6362\u4e3a\u7a7a\u683c", "url": "/docs/compare/?release=13.22#13.22-a726243ec1d439af"}], "evidence": "release-note-mention"}, {"id": "CVE-2006-2313", "title": "An attacker able to submit crafted strings to an application that will embed those strings in SQL commands can use invalidly-encoded multibyte characters to bypass standard string-escaping methods, resulting in possible SQL injection.", "url": "https://www.postgresql.org/support/security/CVE-2006-2313/", "score": null, "vector": "", "description": "", "description_language": "en", "fixed": "", "fixed_url": "", "affected": "", "component": "", "mentions": [{"build": "13.4", "version": "13.4", "title": "\u5728 psql \u548c\u5176\u4ed6\u5ba2\u6237\u7aef\u7a0b\u5e8f\u4e2d\uff0c\u907f\u514d\u5904\u7406\u7f16\u7801\u65e0\u6548\u7684\u6570\u636e\u65f6\u8d8a\u8fc7\u5b57\u7b26\u4e32\u672b\u5c3e", "url": "/docs/compare/?release=13.4#13.4-11a361374616598f"}], "evidence": "release-note-mention"}], "security_covered": true, "release_as_of": "2026-09-26", "security_as_of": "2026-09-26", "policy_url": "https://www.postgresql.org/support/versioning/", "pdfs": [{"label": "A4 PDF", "bytes": 15126867, "url": "/files/documentation/pdf/13/postgresql-13-A4.pdf"}, {"label": "US Letter PDF", "bytes": 15120705, "url": "/files/documentation/pdf/13/postgresql-13-US.pdf"}], "query": "", "selected_kind": "", "branches": [{"branch": "20", "url": "/wiki/versions/20/", "state": "devel", "state_label": "\u5f00\u53d1\u7248", "tag": "\u5f00\u53d1\u7248", "build": "20devel", "first_release": "", "end_of_life": "", "latest_release_date": "", "manual_url": "/docs/devel/index.html", "manual_slug": "devel", "manual_pages": 1162, "manual_loaded_at": "2026-09-28T13:10:20.822721", "source_revision": "", "release_count": 0, "entry_count": 0, "initial": null, "latest": null, "comparison_url": ""}, {"branch": "19", "url": "/wiki/versions/19/", "state": "beta", "state_label": "\u9884\u89c8\u7248", "tag": "beta 4", "build": "19beta4", "first_release": "", "end_of_life": "", "latest_release_date": "", "manual_url": "/docs/19/index.html", "manual_slug": "19", "manual_pages": 1160, "manual_loaded_at": "2026-09-27T00:10:45.258078", "source_revision": "", "release_count": 1, "entry_count": 198, "initial": {"version": "19.0", "build": "19beta4", "status": "preview", "date": "", "source_as_of": "2026-09-14", "url": "/docs/compare/?release=19.0", "manual_url": "/docs/19/release-19.html", "source_url": "/docs/release/19.0/", "entry_count": 198, "categories": {"compatibility": 17, "feature": 161, "performance": 20}, "compatibility_count": 17, "cves": [], "cve_count": 0}, "latest": {"version": "19.0", "build": "19beta4", "status": "preview", "date": "", "source_as_of": "2026-09-14", "url": "/docs/compare/?release=19.0", "manual_url": "/docs/19/release-19.html", "source_url": "/docs/release/19.0/", "entry_count": 198, "categories": {"compatibility": 17, "feature": 161, "performance": 20}, "compatibility_count": 17, "cves": [], "cve_count": 0}, "comparison_url": ""}, {"branch": "18", "url": "/wiki/versions/18/", "state": "current", "state_label": "\u5f53\u524d\u7a33\u5b9a\u7248", "tag": "\u5f53\u524d", "build": "18.6", "first_release": "2025-09-25", "end_of_life": "2030-11-14", "latest_release_date": "2026-08-13", "manual_url": "/docs/18/index.html", "manual_slug": "18", "manual_pages": 1151, "manual_loaded_at": "2026-09-27T00:10:45.258078", "source_revision": "", "release_count": 6, "entry_count": 561, "initial": {"version": "18.0", "build": "18.0", "status": "stable", "date": "2025-09-25", "source_as_of": "", "url": "/docs/compare/?release=18.0", "manual_url": "/docs/18/release-18.html", "source_url": "/docs/release/18.0/", "entry_count": 210, "categories": {"compatibility": 11, "feature": 188, "performance": 10, "bugfix": 1}, "compatibility_count": 11, "cves": [], "cve_count": 0}, "latest": {"version": "18.6", "build": "18.6", "status": "stable", "date": "2026-08-13", "source_as_of": "", "url": "/docs/compare/?release=18.6", "manual_url": "/docs/18/release-18-6.html", "source_url": "/docs/release/18.6/", "entry_count": 140, "categories": {"security": 29, "improvement": 46, "bugfix": 65}, "compatibility_count": 0, "cves": ["CVE-2025-8714", "CVE-2026-14662", "CVE-2026-14663", "CVE-2026-14664", "CVE-2026-14666", "CVE-2026-14668", "CVE-2026-14669", "CVE-2026-14670", "CVE-2026-14671", "CVE-2026-14672", "CVE-2026-14673", "CVE-2026-14676", "CVE-2026-14677", "CVE-2026-14678", "CVE-2026-14679", "CVE-2026-14680", "CVE-2026-14681", "CVE-2026-15741", "CVE-2026-15742", "CVE-2026-16238", "CVE-2026-16239", "CVE-2026-16241", "CVE-2026-18024", "CVE-2026-18408", "CVE-2026-19385", "CVE-2026-6464", "CVE-2026-6469", "CVE-2026-6470", "CVE-2026-6471", "CVE-2026-6473", "CVE-2026-6637"], "cve_count": 31}, "comparison_url": "/docs/compare/?from=18.0&to=18.6"}, {"branch": "17", "url": "/wiki/versions/17/", "state": "supported", "state_label": "\u652f\u6301\u4e2d", "tag": "", "build": "17.11", "first_release": "2024-09-26", "end_of_life": "2029-11-08", "latest_release_date": "2026-08-13", "manual_url": "/docs/17/index.html", "manual_slug": "17", "manual_pages": 1146, "manual_loaded_at": "2026-09-27T00:10:45.258078", "source_revision": "", "release_count": 12, "entry_count": 727, "initial": {"version": "17.0", "build": "17.0", "status": "stable", "date": "2024-09-26", "source_as_of": "", "url": "/docs/compare/?release=17.0", "manual_url": "/docs/17/release-17.html", "source_url": "/docs/release/17.0/", "entry_count": 182, "categories": {"compatibility": 17, "feature": 154, "bugfix": 2, "performance": 9}, "compatibility_count": 17, "cves": [], "cve_count": 0}, "latest": {"version": "17.11", "build": "17.11", "status": "stable", "date": "2026-08-13", "source_as_of": "", "url": "/docs/compare/?release=17.11", "manual_url": "/docs/17/release-17-11.html", "source_url": "/docs/release/17.11/", "entry_count": 109, "categories": {"security": 29, "bugfix": 49, "improvement": 31}, "compatibility_count": 0, "cves": ["CVE-2025-8714", "CVE-2026-14662", "CVE-2026-14663", "CVE-2026-14664", "CVE-2026-14666", "CVE-2026-14668", "CVE-2026-14669", "CVE-2026-14670", "CVE-2026-14671", "CVE-2026-14672", "CVE-2026-14673", "CVE-2026-14676", "CVE-2026-14677", "CVE-2026-14678", "CVE-2026-14679", "CVE-2026-14680", "CVE-2026-14681", "CVE-2026-15741", "CVE-2026-15742", "CVE-2026-16238", "CVE-2026-16239", "CVE-2026-16241", "CVE-2026-18024", "CVE-2026-18408", "CVE-2026-19385", "CVE-2026-6464", "CVE-2026-6469", "CVE-2026-6470", "CVE-2026-6471", "CVE-2026-6473", "CVE-2026-6637"], "cve_count": 31}, "comparison_url": "/docs/compare/?from=17.0&to=17.11"}, {"branch": "16", "url": "/wiki/versions/16/", "state": "supported", "state_label": "\u652f\u6301\u4e2d", "tag": "", "build": "16.15", "first_release": "2023-09-14", "end_of_life": "2028-11-09", "latest_release_date": "2026-08-13", "manual_url": "/docs/16/index.html", "manual_slug": "16", "manual_pages": 1172, "manual_loaded_at": "2026-09-27T00:10:45.258078", "source_revision": "", "release_count": 16, "entry_count": 930, "initial": {"version": "16.0", "build": "16.0", "status": "stable", "date": "2023-09-14", "source_as_of": "", "url": "/docs/compare/?release=16.0", "manual_url": "/docs/16/release-16.html", "source_url": "/docs/release/16.0/", "entry_count": 206, "categories": {"compatibility": 13, "feature": 175, "performance": 15, "bugfix": 3}, "compatibility_count": 13, "cves": [], "cve_count": 0}, "latest": {"version": "16.15", "build": "16.15", "status": "stable", "date": "2026-08-13", "source_as_of": "", "url": "/docs/compare/?release=16.15", "manual_url": "/docs/16/release-16-15.html", "source_url": "/docs/release/16.15/", "entry_count": 98, "categories": {"security": 29, "bugfix": 42, "improvement": 27}, "compatibility_count": 0, "cves": ["CVE-2025-8714", "CVE-2026-14662", "CVE-2026-14663", "CVE-2026-14664", "CVE-2026-14666", "CVE-2026-14668", "CVE-2026-14669", "CVE-2026-14670", "CVE-2026-14671", "CVE-2026-14672", "CVE-2026-14673", "CVE-2026-14676", "CVE-2026-14677", "CVE-2026-14678", "CVE-2026-14679", "CVE-2026-14680", "CVE-2026-14681", "CVE-2026-15741", "CVE-2026-15742", "CVE-2026-16238", "CVE-2026-16239", "CVE-2026-16241", "CVE-2026-18024", "CVE-2026-18408", "CVE-2026-19385", "CVE-2026-6464", "CVE-2026-6469", "CVE-2026-6470", "CVE-2026-6471", "CVE-2026-6473", "CVE-2026-6637"], "cve_count": 31}, "comparison_url": "/docs/compare/?from=16.0&to=16.15"}, {"branch": "15", "url": "/wiki/versions/15/", "state": "supported", "state_label": "\u652f\u6301\u4e2d", "tag": "", "build": "15.19", "first_release": "2022-10-13", "end_of_life": "2027-11-11", "latest_release_date": "2026-08-13", "manual_url": "/docs/15/index.html", "manual_slug": "15", "manual_pages": 1092, "manual_loaded_at": "2026-09-27T00:10:45.258078", "source_revision": "", "release_count": 20, "entry_count": 1046, "initial": {"version": "15.0", "build": "15.0", "status": "stable", "date": "2022-10-13", "source_as_of": "", "url": "/docs/compare/?release=15.0", "manual_url": "/docs/15/release-15.html", "source_url": "/docs/release/15.0/", "entry_count": 184, "categories": {"security": 1, "compatibility": 30, "feature": 135, "bugfix": 3, "performance": 15}, "compatibility_count": 31, "cves": ["CVE-2018-1058"], "cve_count": 1}, "latest": {"version": "15.19", "build": "15.19", "status": "stable", "date": "2026-08-13", "source_as_of": "", "url": "/docs/compare/?release=15.19", "manual_url": "/docs/15/release-15-19.html", "source_url": "/docs/release/15.19/", "entry_count": 90, "categories": {"security": 29, "bugfix": 36, "improvement": 25}, "compatibility_count": 0, "cves": ["CVE-2025-8714", "CVE-2026-14662", "CVE-2026-14663", "CVE-2026-14664", "CVE-2026-14666", "CVE-2026-14668", "CVE-2026-14669", "CVE-2026-14670", "CVE-2026-14671", "CVE-2026-14672", "CVE-2026-14673", "CVE-2026-14676", "CVE-2026-14677", "CVE-2026-14678", "CVE-2026-14679", "CVE-2026-14680", "CVE-2026-14681", "CVE-2026-15741", "CVE-2026-15742", "CVE-2026-16238", "CVE-2026-16239", "CVE-2026-16241", "CVE-2026-18024", "CVE-2026-18408", "CVE-2026-19385", "CVE-2026-6464", "CVE-2026-6469", "CVE-2026-6470", "CVE-2026-6471", "CVE-2026-6473", "CVE-2026-6637"], "cve_count": 31}, "comparison_url": "/docs/compare/?from=15.0&to=15.19"}, {"branch": "14", "url": "/wiki/versions/14/", "state": "supported", "state_label": "\u652f\u6301\u4e2d", "tag": "", "build": "14.24", "first_release": "2021-09-30", "end_of_life": "2026-11-12", "latest_release_date": "2026-08-13", "manual_url": "/docs/14/index.html", "manual_slug": "14", "manual_pages": 1084, "manual_loaded_at": "2026-09-27T00:10:45.258078", "source_revision": "", "release_count": 25, "entry_count": 1206, "initial": {"version": "14.0", "build": "14.0", "status": "stable", "date": "2021-09-30", "source_as_of": "", "url": "/docs/compare/?release=14.0", "manual_url": "/docs/14/release-14.html", "source_url": "/docs/release/14.0/", "entry_count": 220, "categories": {"compatibility": 27, "feature": 178, "performance": 13, "bugfix": 2}, "compatibility_count": 27, "cves": [], "cve_count": 0}, "latest": {"version": "14.24", "build": "14.24", "status": "stable", "date": "2026-08-13", "source_as_of": "", "url": "/docs/compare/?release=14.24", "manual_url": "/docs/14/release-14-24.html", "source_url": "/docs/release/14.24/", "entry_count": 83, "categories": {"security": 29, "bugfix": 31, "improvement": 23}, "compatibility_count": 0, "cves": ["CVE-2025-8714", "CVE-2026-14662", "CVE-2026-14663", "CVE-2026-14664", "CVE-2026-14666", "CVE-2026-14668", "CVE-2026-14669", "CVE-2026-14670", "CVE-2026-14671", "CVE-2026-14672", "CVE-2026-14673", "CVE-2026-14676", "CVE-2026-14677", "CVE-2026-14678", "CVE-2026-14679", "CVE-2026-14680", "CVE-2026-14681", "CVE-2026-15741", "CVE-2026-15742", "CVE-2026-16238", "CVE-2026-16239", "CVE-2026-16241", "CVE-2026-18024", "CVE-2026-18408", "CVE-2026-19385", "CVE-2026-6464", "CVE-2026-6469", "CVE-2026-6470", "CVE-2026-6471", "CVE-2026-6473", "CVE-2026-6637"], "cve_count": 31}, "comparison_url": "/docs/compare/?from=14.0&to=14.24"}, {"branch": "13", "url": "/wiki/versions/13/", "state": "eol", "state_label": "\u5df2\u505c\u6b62\u652f\u6301", "tag": "", "build": "13.23", "first_release": "2020-09-24", "end_of_life": "2025-11-13", "latest_release_date": "2025-11-13", "manual_url": "/docs/13/index.html", "manual_slug": "13", "manual_pages": 1065, "manual_loaded_at": "2026-09-27T00:10:45.258078", "source_revision": "", "release_count": 24, "entry_count": 1164, "initial": {"version": "13.0", "build": "13.0", "status": "stable", "date": "2020-09-24", "source_as_of": "", "url": "/docs/compare/?release=13.0", "manual_url": "/docs/13/release-13.html", "source_url": "/docs/release/13.0/", "entry_count": 178, "categories": {"compatibility": 15, "feature": 143, "performance": 16, "bugfix": 4}, "compatibility_count": 15, "cves": [], "cve_count": 0}, "latest": {"version": "13.23", "build": "13.23", "status": "stable", "date": "2025-11-13", "source_as_of": "", "url": "/docs/compare/?release=13.23", "manual_url": "/docs/13/release-13-23.html", "source_url": "/docs/release/13.23/", "entry_count": 43, "categories": {"security": 2, "bugfix": 22, "improvement": 19}, "compatibility_count": 0, "cves": ["CVE-2025-12817", "CVE-2025-12818"], "cve_count": 2}, "comparison_url": "/docs/compare/?from=13.0&to=13.23"}, {"branch": "12", "url": "/wiki/versions/12/", "state": "eol", "state_label": "\u5df2\u505c\u6b62\u652f\u6301", "tag": "", "build": "12.22", "first_release": "2019-10-03", "end_of_life": "2024-11-21", "latest_release_date": "2024-11-21", "manual_url": "/docs/12/index.html", "manual_slug": "12", "manual_pages": 1058, "manual_loaded_at": "2026-09-27T00:10:45.258078", "source_revision": "", "release_count": 23, "entry_count": 1181, "initial": {"version": "12.0", "build": "12.0", "status": "stable", "date": "2019-10-03", "source_as_of": "", "url": "/docs/compare/?release=12.0", "manual_url": "/docs/12/release-12.html", "source_url": "/docs/release/12.0/", "entry_count": 180, "categories": {"compatibility": 23, "performance": 14, "feature": 139, "bugfix": 4}, "compatibility_count": 23, "cves": [], "cve_count": 0}, "latest": {"version": "12.22", "build": "12.22", "status": "stable", "date": "2024-11-21", "source_as_of": "", "url": "/docs/compare/?release=12.22", "manual_url": "/docs/12/release-12-22.html", "source_url": "/docs/release/12.22/", "entry_count": 1, "categories": {"security": 1}, "compatibility_count": 0, "cves": ["CVE-2024-10978"], "cve_count": 1}, "comparison_url": "/docs/compare/?from=12.0&to=12.22"}, {"branch": "11", "url": "/wiki/versions/11/", "state": "eol", "state_label": "\u5df2\u505c\u6b62\u652f\u6301", "tag": "", "build": "11.22", "first_release": "2018-10-18", "end_of_life": "2023-11-09", "latest_release_date": "2023-11-09", "manual_url": "/docs/11/index.html", "manual_slug": "11", "manual_pages": 1049, "manual_loaded_at": "2026-09-27T00:10:45.258078", "source_revision": "", "release_count": 23, "entry_count": 1141, "initial": {"version": "11.0", "build": "11.0", "status": "stable", "date": "2018-10-18", "source_as_of": "", "url": "/docs/compare/?release=11.0", "manual_url": "/docs/11/release-11.html", "source_url": "/docs/release/11.0/", "entry_count": 170, "categories": {"compatibility": 20, "feature": 134, "performance": 15, "bugfix": 1}, "compatibility_count": 20, "cves": [], "cve_count": 0}, "latest": {"version": "11.22", "build": "11.22", "status": "stable", "date": "2023-11-09", "source_as_of": "", "url": "/docs/compare/?release=11.22", "manual_url": "/docs/11/release-11-22.html", "source_url": "/docs/release/11.22/", "entry_count": 31, "categories": {"security": 3, "bugfix": 10, "improvement": 18}, "compatibility_count": 0, "cves": ["CVE-2023-5868", "CVE-2023-5869", "CVE-2023-5870"], "cve_count": 3}, "comparison_url": "/docs/compare/?from=11.0&to=11.22"}, {"branch": "10", "url": "/wiki/versions/10/", "state": "eol", "state_label": "\u5df2\u505c\u6b62\u652f\u6301", "tag": "", "build": "10.23", "first_release": "2017-10-05", "end_of_life": "2022-11-10", "latest_release_date": "2022-11-10", "manual_url": "/docs/10/index.html", "manual_slug": "10", "manual_pages": 1011, "manual_loaded_at": "2026-09-27T00:10:45.258078", "source_revision": "", "release_count": 24, "entry_count": 1140, "initial": {"version": "10.0", "build": "10.0", "status": "stable", "date": "2017-10-05", "source_as_of": "", "url": "/docs/compare/?release=10.0", "manual_url": "/docs/10/release-10.html", "source_url": "/docs/release/10.0/", "entry_count": 189, "categories": {"compatibility": 27, "feature": 148, "performance": 12, "bugfix": 2}, "compatibility_count": 27, "cves": [], "cve_count": 0}, "latest": {"version": "10.23", "build": "10.23", "status": "stable", "date": "2022-11-10", "source_as_of": "", "url": "/docs/compare/?release=10.23", "manual_url": "/docs/10/release-10-23.html", "source_url": "/docs/release/10.23/", "entry_count": 29, "categories": {"bugfix": 13, "improvement": 16}, "compatibility_count": 0, "cves": [], "cve_count": 0}, "comparison_url": "/docs/compare/?from=10.0&to=10.23"}, {"branch": "9.6", "url": "/wiki/versions/9.6/", "state": "eol", "state_label": "\u5df2\u505c\u6b62\u652f\u6301", "tag": "", "build": "9.6.24", "first_release": "2016-09-29", "end_of_life": "2021-11-11", "latest_release_date": "2021-11-11", "manual_url": "/docs/9.6/index.html", "manual_slug": "9.6", "manual_pages": 975, "manual_loaded_at": "2026-09-27T00:10:45.258078", "source_revision": "", "release_count": 25, "entry_count": 1105, "initial": {"version": "9.6.0", "build": "9.6.0", "status": "stable", "date": "2016-09-29", "source_as_of": "", "url": "/docs/compare/?release=9.6.0", "manual_url": "/docs/9.6/release-9-6.html", "source_url": "/docs/release/9.6.0/", "entry_count": 214, "categories": {"compatibility": 13, "feature": 169, "performance": 26, "bugfix": 6}, "compatibility_count": 13, "cves": [], "cve_count": 0}, "latest": {"version": "9.6.24", "build": "9.6.24", "status": "stable", "date": "2021-11-11", "source_as_of": "", "url": "/docs/compare/?release=9.6.24", "manual_url": "/docs/9.6/release-9-6-24.html", "source_url": "/docs/release/9.6.24/", "entry_count": 40, "categories": {"security": 2, "bugfix": 18, "improvement": 19, "performance": 1}, "compatibility_count": 0, "cves": ["CVE-2021-23214", "CVE-2021-23222"], "cve_count": 2}, "comparison_url": "/docs/compare/?from=9.6.0&to=9.6.24"}, {"branch": "9.5", "url": "/wiki/versions/9.5/", "state": "eol", "state_label": "\u5df2\u505c\u6b62\u652f\u6301", "tag": "", "build": "9.5.25", "first_release": "2016-01-07", "end_of_life": "2021-02-11", "latest_release_date": "2021-02-11", "manual_url": "/docs/9.5/index.html", "manual_slug": "9.5", "manual_pages": 959, "manual_loaded_at": "2026-09-27T00:10:45.258078", "source_revision": "", "release_count": 26, "entry_count": 1026, "initial": {"version": "9.5.0", "build": "9.5.0", "status": "stable", "date": "2016-01-07", "source_as_of": "", "url": "/docs/compare/?release=9.5.0", "manual_url": "/docs/9.5/release-9-5.html", "source_url": "/docs/release/9.5.0/", "entry_count": 193, "categories": {"compatibility": 12, "feature": 163, "performance": 17, "bugfix": 1}, "compatibility_count": 12, "cves": [], "cve_count": 0}, "latest": {"version": "9.5.25", "build": "9.5.25", "status": "stable", "date": "2021-02-11", "source_as_of": "", "url": "/docs/compare/?release=9.5.25", "manual_url": "/docs/9.5/release-9-5-25.html", "source_url": "/docs/release/9.5.25/", "entry_count": 32, "categories": {"bugfix": 15, "improvement": 17}, "compatibility_count": 0, "cves": [], "cve_count": 0}, "comparison_url": "/docs/compare/?from=9.5.0&to=9.5.25"}, {"branch": "9.4", "url": "/wiki/versions/9.4/", "state": "eol", "state_label": "\u5df2\u505c\u6b62\u652f\u6301", "tag": "", "build": "9.4.26", "first_release": "2014-12-18", "end_of_life": "2020-02-13", "latest_release_date": "2020-02-13", "manual_url": "/docs/9.4/index.html", "manual_slug": "9.4", "manual_pages": 935, "manual_loaded_at": "2026-09-27T00:10:45.258078", "source_revision": "", "release_count": 27, "entry_count": 1007, "initial": {"version": "9.4.0", "build": "9.4.0", "status": "stable", "date": "2014-12-18", "source_as_of": "", "url": "/docs/compare/?release=9.4.0", "manual_url": "/docs/9.4/release-9-4.html", "source_url": "/docs/release/9.4.0/", "entry_count": 211, "categories": {"compatibility": 22, "feature": 171, "bugfix": 6, "performance": 12}, "compatibility_count": 22, "cves": [], "cve_count": 0}, "latest": {"version": "9.4.26", "build": "9.4.26", "status": "stable", "date": "2020-02-13", "source_as_of": "", "url": "/docs/compare/?release=9.4.26", "manual_url": "/docs/9.4/release-9-4-26.html", "source_url": "/docs/release/9.4.26/", "entry_count": 28, "categories": {"improvement": 12, "bugfix": 15, "performance": 1}, "compatibility_count": 0, "cves": [], "cve_count": 0}, "comparison_url": "/docs/compare/?from=9.4.0&to=9.4.26"}, {"branch": "9.3", "url": "/wiki/versions/9.3/", "state": "eol", "state_label": "\u5df2\u505c\u6b62\u652f\u6301", "tag": "", "build": "9.3.25", "first_release": "2013-09-09", "end_of_life": "2018-11-08", "latest_release_date": "2018-11-08", "manual_url": "/docs/9.3/index.html", "manual_slug": "9.3", "manual_pages": 1199, "manual_loaded_at": "2026-09-27T00:10:45.258078", "source_revision": "", "release_count": 26, "entry_count": 968, "initial": {"version": "9.3.0", "build": "9.3.0", "status": "stable", "date": "2013-09-09", "source_as_of": "", "url": "/docs/compare/?release=9.3.0", "manual_url": "/docs/9.3/release-9-3.html", "source_url": "/docs/release/9.3.0/", "entry_count": 177, "categories": {"compatibility": 10, "feature": 148, "performance": 13, "bugfix": 6}, "compatibility_count": 10, "cves": [], "cve_count": 0}, "latest": {"version": "9.3.25", "build": "9.3.25", "status": "stable", "date": "2018-11-08", "source_as_of": "", "url": "/docs/compare/?release=9.3.25", "manual_url": "/docs/9.3/release-9-3-25.html", "source_url": "/docs/release/9.3.25/", "entry_count": 35, "categories": {"bugfix": 17, "improvement": 18}, "compatibility_count": 0, "cves": [], "cve_count": 0}, "comparison_url": "/docs/compare/?from=9.3.0&to=9.3.25"}, {"branch": "9.2", "url": "/wiki/versions/9.2/", "state": "eol", "state_label": "\u5df2\u505c\u6b62\u652f\u6301", "tag": "", "build": "9.2.24", "first_release": "2012-09-10", "end_of_life": "2017-11-09", "latest_release_date": "2017-11-09", "manual_url": "/docs/9.2/index.html", "manual_slug": "9.2", "manual_pages": 1153, "manual_loaded_at": "2026-09-27T00:10:45.258078", "source_revision": "", "release_count": 25, "entry_count": 968, "initial": {"version": "9.2.0", "build": "9.2.0", "status": "stable", "date": "2012-09-10", "source_as_of": "", "url": "/docs/compare/?release=9.2.0", "manual_url": "/docs/9.2/release-9-2.html", "source_url": "/docs/release/9.2.0/", "entry_count": 238, "categories": {"compatibility": 23, "feature": 197, "performance": 12, "bugfix": 6}, "compatibility_count": 23, "cves": [], "cve_count": 0}, "latest": {"version": "9.2.24", "build": "9.2.24", "status": "stable", "date": "2017-11-09", "source_as_of": "", "url": "/docs/compare/?release=9.2.24", "manual_url": "/docs/9.2/release-9-2-24.html", "source_url": "/docs/release/9.2.24/", "entry_count": 13, "categories": {"security": 1, "improvement": 7, "bugfix": 5}, "compatibility_count": 0, "cves": ["CVE-2017-12172"], "cve_count": 1}, "comparison_url": "/docs/compare/?from=9.2.0&to=9.2.24"}, {"branch": "9.1", "url": "/wiki/versions/9.1/", "state": "eol", "state_label": "\u5df2\u505c\u6b62\u652f\u6301", "tag": "", "build": "9.1.24", "first_release": "2011-09-12", "end_of_life": "2016-10-27", "latest_release_date": "2016-10-27", "manual_url": "/docs/9.1/index.html", "manual_slug": "9.1", "manual_pages": 1102, "manual_loaded_at": "2026-09-27T00:10:45.258078", "source_revision": "", "release_count": 25, "entry_count": 895, "initial": {"version": "9.1.0", "build": "9.1.0", "status": "stable", "date": "2011-09-12", "source_as_of": "", "url": "/docs/compare/?release=9.1.0", "manual_url": "/docs/9.1/release-9-1.html", "source_url": "/docs/release/9.1.0/", "entry_count": 203, "categories": {"compatibility": 17, "feature": 174, "performance": 3, "bugfix": 9}, "compatibility_count": 17, "cves": [], "cve_count": 0}, "latest": {"version": "9.1.24", "build": "9.1.24", "status": "stable", "date": "2016-10-27", "source_as_of": "", "url": "/docs/compare/?release=9.1.24", "manual_url": "/docs/9.1/release-9-1-24.html", "source_url": "/docs/release/9.1.24/", "entry_count": 13, "categories": {"bugfix": 7, "improvement": 6}, "compatibility_count": 0, "cves": [], "cve_count": 0}, "comparison_url": "/docs/compare/?from=9.1.0&to=9.1.24"}, {"branch": "9.0", "url": "/wiki/versions/9.0/", "state": "eol", "state_label": "\u5df2\u505c\u6b62\u652f\u6301", "tag": "", "build": "9.0.23", "first_release": "2010-09-20", "end_of_life": "2015-10-08", "latest_release_date": "2015-10-08", "manual_url": "/docs/9.0/index.html", "manual_slug": "9.0", "manual_pages": 1024, "manual_loaded_at": "2026-09-27T00:10:45.258078", "source_revision": "", "release_count": 24, "entry_count": 850, "initial": {"version": "9.0.0", "build": "9.0.0", "status": "stable", "date": "2010-09-20", "source_as_of": "", "url": "/docs/compare/?release=9.0.0", "manual_url": "/docs/9.0/release-9-0.html", "source_url": "/docs/release/9.0.0/", "entry_count": 237, "categories": {"compatibility": 20, "feature": 206, "performance": 6, "bugfix": 5}, "compatibility_count": 20, "cves": [], "cve_count": 0}, "latest": {"version": "9.0.23", "build": "9.0.23", "status": "stable", "date": "2015-10-08", "source_as_of": "", "url": "/docs/compare/?release=9.0.23", "manual_url": "/docs/9.0/release-9-0-23.html", "source_url": "/docs/release/9.0.23/", "entry_count": 47, "categories": {"security": 1, "bugfix": 25, "improvement": 21}, "compatibility_count": 0, "cves": ["CVE-2015-5288"], "cve_count": 1}, "comparison_url": "/docs/compare/?from=9.0.0&to=9.0.23"}, {"branch": "8.4", "url": "/wiki/versions/8.4/", "state": "eol", "state_label": "\u5df2\u505c\u6b62\u652f\u6301", "tag": "", "build": "8.4.22", "first_release": "2009-07-01", "end_of_life": "2014-07-24", "latest_release_date": "2014-07-24", "manual_url": "/docs/8.4/index.html", "manual_slug": "8.4", "manual_pages": 968, "manual_loaded_at": "2026-09-27T00:10:45.258078", "source_revision": "", "release_count": 0, "entry_count": 0, "initial": null, "latest": null, "comparison_url": ""}, {"branch": "8.3", "url": "/wiki/versions/8.3/", "state": "eol", "state_label": "\u5df2\u505c\u6b62\u652f\u6301", "tag": "", "build": "8.3.23", "first_release": "2008-02-04", "end_of_life": "2013-02-07", "latest_release_date": "2013-02-07", "manual_url": "/docs/8.3/index.html", "manual_slug": "8.3", "manual_pages": 913, "manual_loaded_at": "2026-09-27T00:10:45.258078", "source_revision": "", "release_count": 0, "entry_count": 0, "initial": null, "latest": null, "comparison_url": ""}, {"branch": "8.2", "url": "/wiki/versions/8.2/", "state": "eol", "state_label": "\u5df2\u505c\u6b62\u652f\u6301", "tag": "", "build": "8.2.23", "first_release": "2006-12-05", "end_of_life": "2011-12-05", "latest_release_date": "2011-12-05", "manual_url": "/docs/8.2/index.html", "manual_slug": "8.2", "manual_pages": 785, "manual_loaded_at": "2026-09-27T00:10:45.258078", "source_revision": "", "release_count": 0, "entry_count": 0, "initial": null, "latest": null, "comparison_url": ""}, {"branch": "8.1", "url": "/wiki/versions/8.1/", "state": "eol", "state_label": "\u5df2\u505c\u6b62\u652f\u6301", "tag": "", "build": "8.1.23", "first_release": "2005-11-08", "end_of_life": "2010-11-08", "latest_release_date": "2010-12-16", "manual_url": "/docs/8.1/index.html", "manual_slug": "8.1", "manual_pages": 730, "manual_loaded_at": "2026-09-27T00:10:45.258078", "source_revision": "", "release_count": 0, "entry_count": 0, "initial": null, "latest": null, "comparison_url": ""}, {"branch": "8.0", "url": "/wiki/versions/8.0/", "state": "eol", "state_label": "\u5df2\u505c\u6b62\u652f\u6301", "tag": "", "build": "8.0.26", "first_release": "2005-01-19", "end_of_life": "2010-10-01", "latest_release_date": "2010-10-04", "manual_url": "/docs/8.0/index.html", "manual_slug": "8.0", "manual_pages": 664, "manual_loaded_at": "2026-09-27T00:10:45.258078", "source_revision": "", "release_count": 0, "entry_count": 0, "initial": null, "latest": null, "comparison_url": ""}, {"branch": "7.4", "url": "/wiki/versions/7.4/", "state": "eol", "state_label": "\u5df2\u505c\u6b62\u652f\u6301", "tag": "", "build": "7.4.30", "first_release": "2003-11-17", "end_of_life": "2010-10-01", "latest_release_date": "2010-10-04", "manual_url": "/docs/7.4/index.html", "manual_slug": "7.4", "manual_pages": 644, "manual_loaded_at": "2026-09-27T00:10:45.258078", "source_revision": "", "release_count": 0, "entry_count": 0, "initial": null, "latest": null, "comparison_url": ""}, {"branch": "7.3", "url": "/wiki/versions/7.3/", "state": "eol", "state_label": "\u5df2\u505c\u6b62\u652f\u6301", "tag": "", "build": "7.3.21", "first_release": "2002-11-27", "end_of_life": "2007-11-27", "latest_release_date": "2008-01-07", "manual_url": "/docs/7.3/index.html", "manual_slug": "7.3", "manual_pages": 617, "manual_loaded_at": "2026-09-27T00:10:45.258078", "source_revision": "", "release_count": 0, "entry_count": 0, "initial": null, "latest": null, "comparison_url": ""}, {"branch": "7.2", "url": "/wiki/versions/7.2/", "state": "eol", "state_label": "\u5df2\u505c\u6b62\u652f\u6301", "tag": "", "build": "7.2.8", "first_release": "2002-02-04", "end_of_life": "2007-02-04", "latest_release_date": "2005-05-09", "manual_url": "/docs/7.2/index.html", "manual_slug": "7.2", "manual_pages": 553, "manual_loaded_at": "2026-09-27T00:10:45.258078", "source_revision": "", "release_count": 0, "entry_count": 0, "initial": null, "latest": null, "comparison_url": ""}, {"branch": "7.1", "url": "/wiki/versions/7.1/", "state": "eol", "state_label": "\u5df2\u505c\u6b62\u652f\u6301", "tag": "", "build": "7.1.3", "first_release": "2001-04-13", "end_of_life": "2006-04-13", "latest_release_date": "2001-08-17", "manual_url": "/docs/7.1/index.html", "manual_slug": "7.1", "manual_pages": 489, "manual_loaded_at": "2026-09-27T00:10:45.258078", "source_revision": "", "release_count": 0, "entry_count": 0, "initial": null, "latest": null, "comparison_url": ""}, {"branch": "7.0", "url": "/wiki/versions/7.0/", "state": "eol", "state_label": "\u5df2\u505c\u6b62\u652f\u6301", "tag": "", "build": "7.0.3", "first_release": "2000-05-08", "end_of_life": "2005-05-08", "latest_release_date": "2000-11-12", "manual_url": "/docs/7.0/index.html", "manual_slug": "7.0", "manual_pages": 414, "manual_loaded_at": "2026-09-27T00:10:45.258078", "source_revision": "", "release_count": 0, "entry_count": 0, "initial": null, "latest": null, "comparison_url": ""}, {"branch": "6.5", "url": "/wiki/versions/6.5/", "state": "eol", "state_label": "\u5df2\u505c\u6b62\u652f\u6301", "tag": "", "build": "6.5.3", "first_release": "1999-06-09", "end_of_life": "2004-06-09", "latest_release_date": "1999-11-04", "manual_url": "/docs/6.5/index.html", "manual_slug": "6.5", "manual_pages": 371, "manual_loaded_at": "2026-09-27T00:10:45.258078", "source_revision": "", "release_count": 0, "entry_count": 0, "initial": null, "latest": null, "comparison_url": ""}, {"branch": "6.4", "url": "/wiki/versions/6.4/", "state": "eol", "state_label": "\u5df2\u505c\u6b62\u652f\u6301", "tag": "", "build": "6.4.2", "first_release": "1998-10-30", "end_of_life": "2003-10-30", "latest_release_date": "1999-01-03", "manual_url": "/docs/6.4/index.html", "manual_slug": "6.4", "manual_pages": 340, "manual_loaded_at": "2026-09-27T00:10:45.258078", "source_revision": "", "release_count": 0, "entry_count": 0, "initial": null, "latest": null, "comparison_url": ""}, {"branch": "6.3", "url": "/wiki/versions/6.3/", "state": "eol", "state_label": "\u5df2\u505c\u6b62\u652f\u6301", "tag": "", "build": "6.3.2", "first_release": "1998-03-01", "end_of_life": "2003-03-01", "latest_release_date": "", "manual_url": "/docs/6.3/index.html", "manual_slug": "6.3", "manual_pages": 202, "manual_loaded_at": "2026-09-27T00:10:45.258078", "source_revision": "", "release_count": 0, "entry_count": 0, "initial": null, "latest": null, "comparison_url": ""}]}