{"kind": "storage", "major": "18", "item": {"slug": "fork-vm", "name": "vm fork", "name_zh": "", "category": "\u5173\u7cfb\u5206\u53c9", "summary": "\u672c\u8282\u4ece\u6587\u4ef6\u548c\u76ee\u5f55\u7684\u5c42\u6b21\u63cf\u8ff0\u5b58\u50a8\u683c\u5f0f\u3002 \u4f20\u7edf\u4e0a\uff0c\u6570\u636e\u5e93\u96c6\u7c07\u6240\u4f7f\u7528\u7684\u914d\u7f6e\u6587\u4ef6\u548c\u6570\u636e\u6587\u4ef6\u90fd\u5b58\u653e\u5728\u96c6\u7c07\u7684\u6570\u636e\u76ee\u5f55\u4e2d\uff0c\u8fd9\u4e2a\u76ee\u5f55\u901a\u5e38\u79f0\u4e3a PGDATA \uff08\u540d\u5b57\u6765\u81ea\u53ef\u7528\u4e8e\u5b9a\u4e49\u5b83\u7684\u73af\u5883\u53d8\u91cf\uff09\u3002 PGDATA \u7684\u4e00\u4e2a\u5e38\u89c1\u4f4d\u7f6e\u662f /var/lib/pgsql/data \u3002\u540c\u4e00\u53f0\u673a\u5668\u4e0a\u53ef\u4ee5\u5b58\u5728\u591a\u4e2a\u7531\u4e0d\u540c\u670d\u52a1\u5668\u5b9e\u4f8b\u7ba1\u7406\u7684\u96c6\u7c07\u3002 PGDATA \u76ee\u5f55\u5305\u542b\u82e5\u5e72\u5b50\u76ee\u5f55\u548c\u63a7\u5236\u6587\u4ef6\uff0c\u5982 \u8868 66.1 \u6240\u793a\u3002\u9664\u8fd9\u4e9b\u5fc5\u9700\u9879\u4e4b\u5916\uff0c\u96c6\u7c07\u914d\u7f6e\u6587\u4ef6 postgresql.conf \u3001 pg_hba.conf \u548c pg_ident.conf \u4f20\u7edf\u4e0a\u4e5f\u5b58\u653e\u5728 PGDATA \u4e2d\uff0c\u4e0d\u8fc7\u4e5f\u53ef\u4ee5\u628a\u5b83\u4eec\u653e\u5728\u5176\u4ed6\u5730\u65b9\u3002 \u5bf9\u4e8e\u96c6\u7c07\u4e2d\u7684\u6bcf\u4e2a\u6570\u636e\u5e93\uff0c PGDATA /base \u4e2d\u90fd\u6709\u4e00\u4e2a\u5b50\u76ee\u5f55\uff0c\u5176\u540d\u79f0\u662f\u8be5\u6570\u636e\u5e93\u5728 pg_database \u4e2d\u7684 OID\u3002\u8fd9\u4e2a\u5b50\u76ee\u5f55\u662f\u8be5\u6570\u636e\u5e93\u6587\u4ef6\u7684\u9ed8\u8ba4\u4f4d\u7f6e\uff1b\u7279\u522b\u662f\uff0c\u5b83\u7684\u7cfb\u7edf\u76ee\u5f55\u5c31\u5b58\u653e\u5728\u8fd9\u91cc\u3002", "aliases": [], "content_hash": "70fc2bbe07bc6c9db802d0e95a8ed29204b956155cc20d6083e108812ec1b2e1", "versions": {"10": {"facts": [{"label": "\u5173\u7cfb\u5206\u53c9", "value": "vm"}], "tables": [], "related": [{"url": "/wiki/storage/storage-file-layout/?v=10", "label": "\u6570\u636e\u5e93\u6587\u4ef6\u5e03\u5c40"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v10.23/postgresql-10.23.tar.bz2", "label": "10.23", "major": "10", "channel": "stable", "revision": "94a4b2528372458e5662c18d406629266667c437198160a18cdfd2c4a4d6eee9"}, "sources": [{"url": "/docs/10/storage-file-layout.html", "path": "storage-file-layout.html", "label": "PostgreSQL 10 English manual", "sha256": "093b3f235454c71a726c19d2a533af52677d400170ccbc8f4b8cab5cfb19946a"}], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-identity", "manual": {"url": "/zh/docs/10/storage.html#STORAGE-FILE-LAYOUT", "anchor": "STORAGE-FILE-LAYOUT", "locale": "zh-Hans", "version": "10", "build_id": 63, "page_key": "storage.html", "extraction": "concept-introduction", "source_hash": "94af6cdae88f5334832106afdde2481a2ff18e6eb4fbc8aed64df3cb046e721d", "fragment_sha256": "8413a23ee3cfd7f5ed476ecfa4a0a548e1568988344dc64f5820a80df8de7327", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "snapshot:sha256:62997ea80516ad012fbf6359de33f3b016b54c47e2df76e75606116b4baaf8e5", "translated_from_revision": null}, "body_sha256": "24f372598fb7dedbddb9bc84bcf5bf681a266bd8a95d61c2baa564c31230773e", "runtime_rerun": false, "authored_translation": "source-derived-identity", "source_facts_revision": "94a4b2528372458e5662c18d406629266667c437198160a18cdfd2c4a4d6eee9"}, "facts_zh": [{"label": "\u5173\u7cfb\u5206\u53c9", "value": "vm"}], "sections": [], "center_zh": {"title": "vm fork", "locale": "zh-Hans", "source": {"key": "fork-vm", "locale": "zh-Hans", "version": "10", "text_hash": "51d077726297879c37c4d18bde1142ffe5ac86568b3bb99653365c069bbc4827", "collection": "storage", "dataset_hash": "7c31b524dfe136022d39a6ae8dcfac6b3bbd5f8fdaf422536599981252aff0c9", "source_database": "center", "source_revision": "94a4b2528372458e5662c18d406629266667c437198160a18cdfd2c4a4d6eee9"}, "payload": {"facts": [{"label": "\u5173\u7cfb\u5206\u53c9", "value": "vm"}], "tables": [], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-identity", "manual": {"url": "/zh/docs/10/storage.html#STORAGE-FILE-LAYOUT", "anchor": "STORAGE-FILE-LAYOUT", "locale": "zh-Hans", "version": "10", "build_id": 63, "page_key": "storage.html", "extraction": "concept-introduction", "source_hash": "94af6cdae88f5334832106afdde2481a2ff18e6eb4fbc8aed64df3cb046e721d", "fragment_sha256": "8413a23ee3cfd7f5ed476ecfa4a0a548e1568988344dc64f5820a80df8de7327", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "snapshot:sha256:62997ea80516ad012fbf6359de33f3b016b54c47e2df76e75606116b4baaf8e5", "translated_from_revision": null}, "body_sha256": "24f372598fb7dedbddb9bc84bcf5bf681a266bd8a95d61c2baa564c31230773e", "runtime_rerun": false, "authored_translation": "source-derived-identity", "source_facts_revision": "94a4b2528372458e5662c18d406629266667c437198160a18cdfd2c4a4d6eee9"}, "sections": [], "description_zh": "\u672c\u8282\u4ece\u6587\u4ef6\u548c\u76ee\u5f55\u7684\u5c42\u6b21\u63cf\u8ff0\u5b58\u50a8\u683c\u5f0f\u3002 \u4f20\u7edf\u4e0a\uff0c\u6570\u636e\u5e93\u96c6\u7c07\u6240\u4f7f\u7528\u7684\u914d\u7f6e\u6587\u4ef6\u548c\u6570\u636e\u6587\u4ef6\u90fd\u5b58\u653e\u5728\u96c6\u7c07\u7684\u6570\u636e\u76ee\u5f55\u4e2d\uff0c\u8fd9\u4e2a\u76ee\u5f55\u901a\u5e38\u79f0\u4e3a PGDATA \uff08\u540d\u5b57\u6765\u81ea\u53ef\u7528\u4e8e\u5b9a\u4e49\u5b83\u7684\u73af\u5883\u53d8\u91cf\uff09\u3002 PGDATA \u7684\u4e00\u4e2a\u5e38\u89c1\u4f4d\u7f6e\u662f /var/lib/pgsql/data \u3002\u540c\u4e00\u53f0\u673a\u5668\u4e0a\u53ef\u4ee5\u5b58\u5728\u591a\u4e2a\u7531\u4e0d\u540c\u670d\u52a1\u5668\u5b9e\u4f8b\u7ba1\u7406\u7684\u96c6\u7c07\u3002 PGDATA \u76ee\u5f55\u5305\u542b\u82e5\u5e72\u5b50\u76ee\u5f55\u548c\u63a7\u5236\u6587\u4ef6\uff0c\u5982 \u8868 67.1 \u6240\u793a\u3002\u9664\u8fd9\u4e9b\u5fc5\u9700\u9879\u4e4b\u5916\uff0c\u96c6\u7c07\u914d\u7f6e\u6587\u4ef6 postgresql.conf \u3001 pg_hba.conf \u548c pg_ident.conf \u4f20\u7edf\u4e0a\u4e5f\u5b58\u653e\u5728 PGDATA \u4e2d\uff0c\u4e0d\u8fc7\u4e5f\u53ef\u4ee5\u628a\u5b83\u4eec\u653e\u5728\u5176\u4ed6\u5730\u65b9\u3002 \u5bf9\u4e8e\u96c6\u7c07\u4e2d\u7684\u6bcf\u4e2a\u6570\u636e\u5e93\uff0c PGDATA /base \u4e2d\u90fd\u6709\u4e00\u4e2a\u5b50\u76ee\u5f55\uff0c\u5176\u540d\u79f0\u662f\u8be5\u6570\u636e\u5e93\u5728 pg_database \u4e2d\u7684 OID\u3002\u8fd9\u4e2a\u5b50\u76ee\u5f55\u662f\u8be5\u6570\u636e\u5e93\u6587\u4ef6\u7684\u9ed8\u8ba4\u4f4d\u7f6e\uff1b\u7279\u522b\u662f\uff0c\u5b83\u7684\u7cfb\u7edf\u76ee\u5f55\u5c31\u5b58\u653e\u5728\u8fd9\u91cc\u3002", "description_zh_html": "<p>\u5b58\u50a8\u7ed3\u6784 fork-vm\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\u672c\u8282\u4ece\u6587\u4ef6\u548c\u76ee\u5f55\u7684\u5c42\u6b21\u63cf\u8ff0\u5b58\u50a8\u683c\u5f0f\u3002</p><p>\u4f20\u7edf\u4e0a\uff0c\u6570\u636e\u5e93\u96c6\u7c07\u6240\u4f7f\u7528\u7684\u914d\u7f6e\u6587\u4ef6\u548c\u6570\u636e\u6587\u4ef6\u90fd\u5b58\u653e\u5728\u96c6\u7c07\u7684\u6570\u636e\u76ee\u5f55\u4e2d\uff0c\u8fd9\u4e2a\u76ee\u5f55\u901a\u5e38\u79f0\u4e3a <code class=\"varname\">PGDATA</code>\uff08\u540d\u5b57\u6765\u81ea\u53ef\u7528\u4e8e\u5b9a\u4e49\u5b83\u7684\u73af\u5883\u53d8\u91cf\uff09\u3002<code class=\"varname\">PGDATA</code> \u7684\u4e00\u4e2a\u5e38\u89c1\u4f4d\u7f6e\u662f\n<code class=\"filename\">/var/lib/pgsql/data</code>\u3002\u540c\u4e00\u53f0\u673a\u5668\u4e0a\u53ef\u4ee5\u5b58\u5728\u591a\u4e2a\u7531\u4e0d\u540c\u670d\u52a1\u5668\u5b9e\u4f8b\u7ba1\u7406\u7684\u96c6\u7c07\u3002</p><p><code class=\"varname\">PGDATA</code> \u76ee\u5f55\u5305\u542b\u82e5\u5e72\u5b50\u76ee\u5f55\u548c\u63a7\u5236\u6587\u4ef6\uff0c\u5982<a class=\"xref\" href=\"/zh/docs/10/storage.html#PGDATA-CONTENTS-TABLE\">\u8868\u00a067.1</a> \u6240\u793a\u3002\u9664\u8fd9\u4e9b\u5fc5\u9700\u9879\u4e4b\u5916\uff0c\u96c6\u7c07\u914d\u7f6e\u6587\u4ef6\n<code class=\"filename\">postgresql.conf</code>\u3001<code class=\"filename\">pg_hba.conf</code> \u548c\n<code class=\"filename\">pg_ident.conf</code> \u4f20\u7edf\u4e0a\u4e5f\u5b58\u653e\u5728 <code class=\"varname\">PGDATA</code>\n\u4e2d\uff0c\u4e0d\u8fc7\u4e5f\u53ef\u4ee5\u628a\u5b83\u4eec\u653e\u5728\u5176\u4ed6\u5730\u65b9\u3002</p><p>\u5bf9\u4e8e\u96c6\u7c07\u4e2d\u7684\u6bcf\u4e2a\u6570\u636e\u5e93\uff0c<code class=\"varname\">PGDATA</code><code class=\"filename\">/base</code>\n\u4e2d\u90fd\u6709\u4e00\u4e2a\u5b50\u76ee\u5f55\uff0c\u5176\u540d\u79f0\u662f\u8be5\u6570\u636e\u5e93\u5728 <code class=\"structname\">pg_database</code>\n\u4e2d\u7684 OID\u3002\u8fd9\u4e2a\u5b50\u76ee\u5f55\u662f\u8be5\u6570\u636e\u5e93\u6587\u4ef6\u7684\u9ed8\u8ba4\u4f4d\u7f6e\uff1b\u7279\u522b\u662f\uff0c\u5b83\u7684\u7cfb\u7edf\u76ee\u5f55\u5c31\u5b58\u653e\u5728\u8fd9\u91cc\u3002</p><p><a href=\"/zh/docs/10/storage.html#STORAGE-FILE-LAYOUT\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "summary": "\u672c\u8282\u4ece\u6587\u4ef6\u548c\u76ee\u5f55\u7684\u5c42\u6b21\u63cf\u8ff0\u5b58\u50a8\u683c\u5f0f\u3002 \u4f20\u7edf\u4e0a\uff0c\u6570\u636e\u5e93\u96c6\u7c07\u6240\u4f7f\u7528\u7684\u914d\u7f6e\u6587\u4ef6\u548c\u6570\u636e\u6587\u4ef6\u90fd\u5b58\u653e\u5728\u96c6\u7c07\u7684\u6570\u636e\u76ee\u5f55\u4e2d\uff0c\u8fd9\u4e2a\u76ee\u5f55\u901a\u5e38\u79f0\u4e3a PGDATA \uff08\u540d\u5b57\u6765\u81ea\u53ef\u7528\u4e8e\u5b9a\u4e49\u5b83\u7684\u73af\u5883\u53d8\u91cf\uff09\u3002 PGDATA \u7684\u4e00\u4e2a\u5e38\u89c1\u4f4d\u7f6e\u662f /var/lib/pgsql/data \u3002\u540c\u4e00\u53f0\u673a\u5668\u4e0a\u53ef\u4ee5\u5b58\u5728\u591a\u4e2a\u7531\u4e0d\u540c\u670d\u52a1\u5668\u5b9e\u4f8b\u7ba1\u7406\u7684\u96c6\u7c07\u3002 PGDATA \u76ee\u5f55\u5305\u542b\u82e5\u5e72\u5b50\u76ee\u5f55\u548c\u63a7\u5236\u6587\u4ef6\uff0c\u5982 \u8868 67.1 \u6240\u793a\u3002\u9664\u8fd9\u4e9b\u5fc5\u9700\u9879\u4e4b\u5916\uff0c\u96c6\u7c07\u914d\u7f6e\u6587\u4ef6 postgresql.conf \u3001 pg_hba.conf \u548c pg_ident.conf \u4f20\u7edf\u4e0a\u4e5f\u5b58\u653e\u5728 PGDATA \u4e2d\uff0c\u4e0d\u8fc7\u4e5f\u53ef\u4ee5\u628a\u5b83\u4eec\u653e\u5728\u5176\u4ed6\u5730\u65b9\u3002 \u5bf9\u4e8e\u96c6\u7c07\u4e2d\u7684\u6bcf\u4e2a\u6570\u636e\u5e93\uff0c PGDATA /base \u4e2d\u90fd\u6709\u4e00\u4e2a\u5b50\u76ee\u5f55\uff0c\u5176\u540d\u79f0\u662f\u8be5\u6570\u636e\u5e93\u5728 pg_database \u4e2d\u7684 OID\u3002\u8fd9\u4e2a\u5b50\u76ee\u5f55\u662f\u8be5\u6570\u636e\u5e93\u6587\u4ef6\u7684\u9ed8\u8ba4\u4f4d\u7f6e\uff1b\u7279\u522b\u662f\uff0c\u5b83\u7684\u7cfb\u7edf\u76ee\u5f55\u5c31\u5b58\u653e\u5728\u8fd9\u91cc\u3002", "version": "10", "link_map": {"/zh/docs/10/storage.html#STORAGE-FILE-LAYOUT": "/docs/10/storage.html#STORAGE-FILE-LAYOUT", "/zh/docs/10/storage.html#PGDATA-CONTENTS-TABLE": "/docs/10/storage.html#PGDATA-CONTENTS-TABLE"}, "body_html": "<p>\u5b58\u50a8\u7ed3\u6784 fork-vm\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\u672c\u8282\u4ece\u6587\u4ef6\u548c\u76ee\u5f55\u7684\u5c42\u6b21\u63cf\u8ff0\u5b58\u50a8\u683c\u5f0f\u3002</p><p>\u4f20\u7edf\u4e0a\uff0c\u6570\u636e\u5e93\u96c6\u7c07\u6240\u4f7f\u7528\u7684\u914d\u7f6e\u6587\u4ef6\u548c\u6570\u636e\u6587\u4ef6\u90fd\u5b58\u653e\u5728\u96c6\u7c07\u7684\u6570\u636e\u76ee\u5f55\u4e2d\uff0c\u8fd9\u4e2a\u76ee\u5f55\u901a\u5e38\u79f0\u4e3a <code>PGDATA</code>\uff08\u540d\u5b57\u6765\u81ea\u53ef\u7528\u4e8e\u5b9a\u4e49\u5b83\u7684\u73af\u5883\u53d8\u91cf\uff09\u3002<code>PGDATA</code> \u7684\u4e00\u4e2a\u5e38\u89c1\u4f4d\u7f6e\u662f\n<code>/var/lib/pgsql/data</code>\u3002\u540c\u4e00\u53f0\u673a\u5668\u4e0a\u53ef\u4ee5\u5b58\u5728\u591a\u4e2a\u7531\u4e0d\u540c\u670d\u52a1\u5668\u5b9e\u4f8b\u7ba1\u7406\u7684\u96c6\u7c07\u3002</p><p><code>PGDATA</code> \u76ee\u5f55\u5305\u542b\u82e5\u5e72\u5b50\u76ee\u5f55\u548c\u63a7\u5236\u6587\u4ef6\uff0c\u5982<a href=\"/zh/docs/10/storage.html#PGDATA-CONTENTS-TABLE\" rel=\"nofollow\">\u8868\u00a067.1</a> \u6240\u793a\u3002\u9664\u8fd9\u4e9b\u5fc5\u9700\u9879\u4e4b\u5916\uff0c\u96c6\u7c07\u914d\u7f6e\u6587\u4ef6\n<code>postgresql.conf</code>\u3001<code>pg_hba.conf</code> \u548c\n<code>pg_ident.conf</code> \u4f20\u7edf\u4e0a\u4e5f\u5b58\u653e\u5728 <code>PGDATA</code>\n\u4e2d\uff0c\u4e0d\u8fc7\u4e5f\u53ef\u4ee5\u628a\u5b83\u4eec\u653e\u5728\u5176\u4ed6\u5730\u65b9\u3002</p><p>\u5bf9\u4e8e\u96c6\u7c07\u4e2d\u7684\u6bcf\u4e2a\u6570\u636e\u5e93\uff0c<code>PGDATA</code><code>/base</code>\n\u4e2d\u90fd\u6709\u4e00\u4e2a\u5b50\u76ee\u5f55\uff0c\u5176\u540d\u79f0\u662f\u8be5\u6570\u636e\u5e93\u5728 <code>pg_database</code>\n\u4e2d\u7684 OID\u3002\u8fd9\u4e2a\u5b50\u76ee\u5f55\u662f\u8be5\u6570\u636e\u5e93\u6587\u4ef6\u7684\u9ed8\u8ba4\u4f4d\u7f6e\uff1b\u7279\u522b\u662f\uff0c\u5b83\u7684\u7cfb\u7edf\u76ee\u5f55\u5c31\u5b58\u653e\u5728\u8fd9\u91cc\u3002</p><p><a href=\"/zh/docs/10/storage.html#STORAGE-FILE-LAYOUT\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>", "body_sha256": "d8b717904eb6eff03e691d6a7845af3ece24dc6f1e8c407a853778ea82868f2b", "content_hash": "51d077726297879c37c4d18bde1142ffe5ac86568b3bb99653365c069bbc4827", "source_database": "center", "source_revision": "94a4b2528372458e5662c18d406629266667c437198160a18cdfd2c4a4d6eee9"}, "signature": "", "tables_zh": [], "description": ["\u672c\u8282\u4ece\u6587\u4ef6\u548c\u76ee\u5f55\u7684\u5c42\u6b21\u63cf\u8ff0\u5b58\u50a8\u683c\u5f0f\u3002 \u4f20\u7edf\u4e0a\uff0c\u6570\u636e\u5e93\u96c6\u7c07\u6240\u4f7f\u7528\u7684\u914d\u7f6e\u6587\u4ef6\u548c\u6570\u636e\u6587\u4ef6\u90fd\u5b58\u653e\u5728\u96c6\u7c07\u7684\u6570\u636e\u76ee\u5f55\u4e2d\uff0c\u8fd9\u4e2a\u76ee\u5f55\u901a\u5e38\u79f0\u4e3a PGDATA \uff08\u540d\u5b57\u6765\u81ea\u53ef\u7528\u4e8e\u5b9a\u4e49\u5b83\u7684\u73af\u5883\u53d8\u91cf\uff09\u3002 PGDATA \u7684\u4e00\u4e2a\u5e38\u89c1\u4f4d\u7f6e\u662f /var/lib/pgsql/data \u3002\u540c\u4e00\u53f0\u673a\u5668\u4e0a\u53ef\u4ee5\u5b58\u5728\u591a\u4e2a\u7531\u4e0d\u540c\u670d\u52a1\u5668\u5b9e\u4f8b\u7ba1\u7406\u7684\u96c6\u7c07\u3002 PGDATA \u76ee\u5f55\u5305\u542b\u82e5\u5e72\u5b50\u76ee\u5f55\u548c\u63a7\u5236\u6587\u4ef6\uff0c\u5982 \u8868 67.1 \u6240\u793a\u3002\u9664\u8fd9\u4e9b\u5fc5\u9700\u9879\u4e4b\u5916\uff0c\u96c6\u7c07\u914d\u7f6e\u6587\u4ef6 postgresql.conf \u3001 pg_hba.conf \u548c pg_ident.conf \u4f20\u7edf\u4e0a\u4e5f\u5b58\u653e\u5728 PGDATA \u4e2d\uff0c\u4e0d\u8fc7\u4e5f\u53ef\u4ee5\u628a\u5b83\u4eec\u653e\u5728\u5176\u4ed6\u5730\u65b9\u3002 \u5bf9\u4e8e\u96c6\u7c07\u4e2d\u7684\u6bcf\u4e2a\u6570\u636e\u5e93\uff0c PGDATA /base \u4e2d\u90fd\u6709\u4e00\u4e2a\u5b50\u76ee\u5f55\uff0c\u5176\u540d\u79f0\u662f\u8be5\u6570\u636e\u5e93\u5728 pg_database \u4e2d\u7684 OID\u3002\u8fd9\u4e2a\u5b50\u76ee\u5f55\u662f\u8be5\u6570\u636e\u5e93\u6587\u4ef6\u7684\u9ed8\u8ba4\u4f4d\u7f6e\uff1b\u7279\u522b\u662f\uff0c\u5b83\u7684\u7cfb\u7edf\u76ee\u5f55\u5c31\u5b58\u653e\u5728\u8fd9\u91cc\u3002"], "manual_html": "", "manual_path": "/docs/10/storage-file-layout.html", "sections_zh": [], "localization": {"status": "complete", "sources": [], "language": "zh", "original_text": {"/versions/10/description/0": "Each table and index is stored in a separate file. For ordinary relations, these files are named after the table or index's filenode number, which can be found in pg_class . relfilenode . But for temporary relations, the file name is of the form t BBB _ FFF , where BBB is the backend ID of the backend which created the file, and FFF is the filenode number. In either case, in addition to the main file (a/k/a main fork), each table and index has a free space map (see Section 67.3 ), which stores information about free space available in the relation. The free space map is stored in a file named with the filenode number plus the suffix _fsm . Tables also have a visibility map , stored in a fork with the suffix _vm , to track which pages are known to have no dead tuples. The visibility map is described further in Section 67.4 . Unlogged tables and indexes have a third fork, known as the initialization fork, which is stored in a fork with the suffix _init (see Section 67.5 ).", "/versions/10/description/1": "When a table or index exceeds 1 GB, it is divided into gigabyte-sized segments . The first segment's file name is the same as the filenode; subsequent segments are named filenode.1, filenode.2, etc. This arrangement avoids problems on platforms that have file size limitations. (Actually, 1 GB is just the default segment size. The segment size can be adjusted using the configuration option --with-segsize when building PostgreSQL .) In principle, free space map and visibility map forks could require multiple segments as well, though this is unlikely to happen in practice.", "/versions/10/facts/0/label": "Fork", "/versions/10/related/0/label": "Database file layout"}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "fa712fd451d62452af0044e2e8678c819e99d4dcdcadd57441c9b18b4294192f", "canonical_center_text_hash": "51d077726297879c37c4d18bde1142ffe5ac86568b3bb99653365c069bbc4827"}, "description_zh": "\u672c\u8282\u4ece\u6587\u4ef6\u548c\u76ee\u5f55\u7684\u5c42\u6b21\u63cf\u8ff0\u5b58\u50a8\u683c\u5f0f\u3002 \u4f20\u7edf\u4e0a\uff0c\u6570\u636e\u5e93\u96c6\u7c07\u6240\u4f7f\u7528\u7684\u914d\u7f6e\u6587\u4ef6\u548c\u6570\u636e\u6587\u4ef6\u90fd\u5b58\u653e\u5728\u96c6\u7c07\u7684\u6570\u636e\u76ee\u5f55\u4e2d\uff0c\u8fd9\u4e2a\u76ee\u5f55\u901a\u5e38\u79f0\u4e3a PGDATA \uff08\u540d\u5b57\u6765\u81ea\u53ef\u7528\u4e8e\u5b9a\u4e49\u5b83\u7684\u73af\u5883\u53d8\u91cf\uff09\u3002 PGDATA \u7684\u4e00\u4e2a\u5e38\u89c1\u4f4d\u7f6e\u662f /var/lib/pgsql/data \u3002\u540c\u4e00\u53f0\u673a\u5668\u4e0a\u53ef\u4ee5\u5b58\u5728\u591a\u4e2a\u7531\u4e0d\u540c\u670d\u52a1\u5668\u5b9e\u4f8b\u7ba1\u7406\u7684\u96c6\u7c07\u3002 PGDATA \u76ee\u5f55\u5305\u542b\u82e5\u5e72\u5b50\u76ee\u5f55\u548c\u63a7\u5236\u6587\u4ef6\uff0c\u5982 \u8868 67.1 \u6240\u793a\u3002\u9664\u8fd9\u4e9b\u5fc5\u9700\u9879\u4e4b\u5916\uff0c\u96c6\u7c07\u914d\u7f6e\u6587\u4ef6 postgresql.conf \u3001 pg_hba.conf \u548c pg_ident.conf \u4f20\u7edf\u4e0a\u4e5f\u5b58\u653e\u5728 PGDATA \u4e2d\uff0c\u4e0d\u8fc7\u4e5f\u53ef\u4ee5\u628a\u5b83\u4eec\u653e\u5728\u5176\u4ed6\u5730\u65b9\u3002 \u5bf9\u4e8e\u96c6\u7c07\u4e2d\u7684\u6bcf\u4e2a\u6570\u636e\u5e93\uff0c PGDATA /base \u4e2d\u90fd\u6709\u4e00\u4e2a\u5b50\u76ee\u5f55\uff0c\u5176\u540d\u79f0\u662f\u8be5\u6570\u636e\u5e93\u5728 pg_database \u4e2d\u7684 OID\u3002\u8fd9\u4e2a\u5b50\u76ee\u5f55\u662f\u8be5\u6570\u636e\u5e93\u6587\u4ef6\u7684\u9ed8\u8ba4\u4f4d\u7f6e\uff1b\u7279\u522b\u662f\uff0c\u5b83\u7684\u7cfb\u7edf\u76ee\u5f55\u5c31\u5b58\u653e\u5728\u8fd9\u91cc\u3002", "comparison_data": {"fork": "vm"}, "comparison_hash": "0f7e444c74befed2e9e038b208922f35c10a3caa1ec789947fda5dd19339d4d4", "manual_language": "zh", "description_zh_html": "<p>\u5b58\u50a8\u7ed3\u6784 fork-vm\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\u672c\u8282\u4ece\u6587\u4ef6\u548c\u76ee\u5f55\u7684\u5c42\u6b21\u63cf\u8ff0\u5b58\u50a8\u683c\u5f0f\u3002</p><p>\u4f20\u7edf\u4e0a\uff0c\u6570\u636e\u5e93\u96c6\u7c07\u6240\u4f7f\u7528\u7684\u914d\u7f6e\u6587\u4ef6\u548c\u6570\u636e\u6587\u4ef6\u90fd\u5b58\u653e\u5728\u96c6\u7c07\u7684\u6570\u636e\u76ee\u5f55\u4e2d\uff0c\u8fd9\u4e2a\u76ee\u5f55\u901a\u5e38\u79f0\u4e3a <code>PGDATA</code>\uff08\u540d\u5b57\u6765\u81ea\u53ef\u7528\u4e8e\u5b9a\u4e49\u5b83\u7684\u73af\u5883\u53d8\u91cf\uff09\u3002<code>PGDATA</code> \u7684\u4e00\u4e2a\u5e38\u89c1\u4f4d\u7f6e\u662f\n<code>/var/lib/pgsql/data</code>\u3002\u540c\u4e00\u53f0\u673a\u5668\u4e0a\u53ef\u4ee5\u5b58\u5728\u591a\u4e2a\u7531\u4e0d\u540c\u670d\u52a1\u5668\u5b9e\u4f8b\u7ba1\u7406\u7684\u96c6\u7c07\u3002</p><p><code>PGDATA</code> \u76ee\u5f55\u5305\u542b\u82e5\u5e72\u5b50\u76ee\u5f55\u548c\u63a7\u5236\u6587\u4ef6\uff0c\u5982<a href=\"/zh/docs/10/storage.html#PGDATA-CONTENTS-TABLE\" rel=\"nofollow\">\u8868\u00a067.1</a> \u6240\u793a\u3002\u9664\u8fd9\u4e9b\u5fc5\u9700\u9879\u4e4b\u5916\uff0c\u96c6\u7c07\u914d\u7f6e\u6587\u4ef6\n<code>postgresql.conf</code>\u3001<code>pg_hba.conf</code> \u548c\n<code>pg_ident.conf</code> \u4f20\u7edf\u4e0a\u4e5f\u5b58\u653e\u5728 <code>PGDATA</code>\n\u4e2d\uff0c\u4e0d\u8fc7\u4e5f\u53ef\u4ee5\u628a\u5b83\u4eec\u653e\u5728\u5176\u4ed6\u5730\u65b9\u3002</p><p>\u5bf9\u4e8e\u96c6\u7c07\u4e2d\u7684\u6bcf\u4e2a\u6570\u636e\u5e93\uff0c<code>PGDATA</code><code>/base</code>\n\u4e2d\u90fd\u6709\u4e00\u4e2a\u5b50\u76ee\u5f55\uff0c\u5176\u540d\u79f0\u662f\u8be5\u6570\u636e\u5e93\u5728 <code>pg_database</code>\n\u4e2d\u7684 OID\u3002\u8fd9\u4e2a\u5b50\u76ee\u5f55\u662f\u8be5\u6570\u636e\u5e93\u6587\u4ef6\u7684\u9ed8\u8ba4\u4f4d\u7f6e\uff1b\u7279\u522b\u662f\uff0c\u5b83\u7684\u7cfb\u7edf\u76ee\u5f55\u5c31\u5b58\u653e\u5728\u8fd9\u91cc\u3002</p><p><a href=\"/zh/docs/10/storage.html#STORAGE-FILE-LAYOUT\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "11": {"facts": [{"label": "\u5173\u7cfb\u5206\u53c9", "value": "vm"}], "tables": [], "related": [{"url": "/wiki/storage/storage-file-layout/?v=11", "label": "\u6570\u636e\u5e93\u6587\u4ef6\u5e03\u5c40"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v11.22/postgresql-11.22.tar.bz2", "label": "11.22", "major": "11", "channel": "stable", "revision": "2cb7c97d7a0d7278851bbc9c61f467b69c094c72b81740b751108e7892ebe1f0"}, "sources": [{"url": "/docs/11/storage-file-layout.html", "path": "storage-file-layout.html", "label": "PostgreSQL 11 English manual", "sha256": "cbed09542ca2b0c2412d9e0810e5283a7626385224a23e094412d8f62be81985"}], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-identity", "manual": {"url": "/zh/docs/11/storage.html#STORAGE-FILE-LAYOUT", "anchor": "STORAGE-FILE-LAYOUT", "locale": "zh-Hans", "version": "11", "build_id": 64, "page_key": "storage.html", "extraction": "concept-introduction", "source_hash": "bab880b9c4b0458a1292568ff901f9251365930386e436d45fbe7a5fa10a0cf8", "fragment_sha256": "41323feb1c52e61209cdf2a7863eb868c3334c11ae4fc1f2aafc4239573a546c", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "snapshot:sha256:ef5c7bc074acae9795db16e6b7482aea3b222bd4bcce0f76831332b97a21e8a1", "translated_from_revision": null}, "body_sha256": "af164c8d4e01d6b7e2b9c80b7882abf5396f5b9fcecfa37ac7f9272560b6073a", "runtime_rerun": false, "authored_translation": "source-derived-identity", "source_facts_revision": "2cb7c97d7a0d7278851bbc9c61f467b69c094c72b81740b751108e7892ebe1f0"}, "facts_zh": [{"label": "\u5173\u7cfb\u5206\u53c9", "value": "vm"}], "sections": [], "center_zh": {"title": "vm fork", "locale": "zh-Hans", "source": {"key": "fork-vm", "locale": "zh-Hans", "version": "11", "text_hash": "f29309a5eb4a75e4bead1b16bd36c71534962570e32a25ed2cf60bfd920d181a", "collection": "storage", "dataset_hash": "7c31b524dfe136022d39a6ae8dcfac6b3bbd5f8fdaf422536599981252aff0c9", "source_database": "center", "source_revision": "2cb7c97d7a0d7278851bbc9c61f467b69c094c72b81740b751108e7892ebe1f0"}, "payload": {"facts": [{"label": "\u5173\u7cfb\u5206\u53c9", "value": "vm"}], "tables": [], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-identity", "manual": {"url": "/zh/docs/11/storage.html#STORAGE-FILE-LAYOUT", "anchor": "STORAGE-FILE-LAYOUT", "locale": "zh-Hans", "version": "11", "build_id": 64, "page_key": "storage.html", "extraction": "concept-introduction", "source_hash": "bab880b9c4b0458a1292568ff901f9251365930386e436d45fbe7a5fa10a0cf8", "fragment_sha256": "41323feb1c52e61209cdf2a7863eb868c3334c11ae4fc1f2aafc4239573a546c", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "snapshot:sha256:ef5c7bc074acae9795db16e6b7482aea3b222bd4bcce0f76831332b97a21e8a1", "translated_from_revision": null}, "body_sha256": "af164c8d4e01d6b7e2b9c80b7882abf5396f5b9fcecfa37ac7f9272560b6073a", "runtime_rerun": false, "authored_translation": "source-derived-identity", "source_facts_revision": "2cb7c97d7a0d7278851bbc9c61f467b69c094c72b81740b751108e7892ebe1f0"}, "sections": [], "description_zh": "\u672c\u8282\u4ece\u6587\u4ef6\u548c\u76ee\u5f55\u7684\u5c42\u6b21\u63cf\u8ff0\u5b58\u50a8\u683c\u5f0f\u3002 \u4f20\u7edf\u4e0a\uff0c\u6570\u636e\u5e93\u96c6\u7c07\u6240\u4f7f\u7528\u7684\u914d\u7f6e\u6587\u4ef6\u548c\u6570\u636e\u6587\u4ef6\u90fd\u5b58\u653e\u5728\u96c6\u7c07\u7684\u6570\u636e\u76ee\u5f55\u4e2d\uff0c\u8fd9\u4e2a\u76ee\u5f55\u901a\u5e38\u79f0\u4e3a PGDATA \uff08\u540d\u5b57\u6765\u81ea\u53ef\u7528\u4e8e\u5b9a\u4e49\u5b83\u7684\u73af\u5883\u53d8\u91cf\uff09\u3002 PGDATA \u7684\u4e00\u4e2a\u5e38\u89c1\u4f4d\u7f6e\u662f /var/lib/pgsql/data \u3002\u540c\u4e00\u53f0\u673a\u5668\u4e0a\u53ef\u4ee5\u5b58\u5728\u591a\u4e2a\u7531\u4e0d\u540c\u670d\u52a1\u5668\u5b9e\u4f8b\u7ba1\u7406\u7684\u96c6\u7c07\u3002 PGDATA \u76ee\u5f55\u5305\u542b\u82e5\u5e72\u5b50\u76ee\u5f55\u548c\u63a7\u5236\u6587\u4ef6\uff0c\u5982 \u8868 69.1 \u6240\u793a\u3002\u9664\u8fd9\u4e9b\u5fc5\u9700\u9879\u4e4b\u5916\uff0c\u96c6\u7c07\u914d\u7f6e\u6587\u4ef6 postgresql.conf \u3001 pg_hba.conf \u548c pg_ident.conf \u4f20\u7edf\u4e0a\u4e5f\u5b58\u653e\u5728 PGDATA \u4e2d\uff0c\u4e0d\u8fc7\u4e5f\u53ef\u4ee5\u628a\u5b83\u4eec\u653e\u5728\u5176\u4ed6\u5730\u65b9\u3002 \u5bf9\u4e8e\u96c6\u7c07\u4e2d\u7684\u6bcf\u4e2a\u6570\u636e\u5e93\uff0c PGDATA /base \u4e2d\u90fd\u6709\u4e00\u4e2a\u5b50\u76ee\u5f55\uff0c\u5176\u540d\u79f0\u662f\u8be5\u6570\u636e\u5e93\u5728 pg_database \u4e2d\u7684 OID\u3002\u8fd9\u4e2a\u5b50\u76ee\u5f55\u662f\u8be5\u6570\u636e\u5e93\u6587\u4ef6\u7684\u9ed8\u8ba4\u4f4d\u7f6e\uff1b\u7279\u522b\u662f\uff0c\u5b83\u7684\u7cfb\u7edf\u76ee\u5f55\u5c31\u5b58\u653e\u5728\u8fd9\u91cc\u3002", "description_zh_html": "<p>\u5b58\u50a8\u7ed3\u6784 fork-vm\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n\u672c\u8282\u4ece\u6587\u4ef6\u548c\u76ee\u5f55\u7684\u5c42\u6b21\u63cf\u8ff0\u5b58\u50a8\u683c\u5f0f\u3002\n</p><p>\n\u4f20\u7edf\u4e0a\uff0c\u6570\u636e\u5e93\u96c6\u7c07\u6240\u4f7f\u7528\u7684\u914d\u7f6e\u6587\u4ef6\u548c\u6570\u636e\u6587\u4ef6\u90fd\u5b58\u653e\u5728\u96c6\u7c07\u7684\u6570\u636e\u76ee\u5f55\u4e2d\uff0c\u8fd9\u4e2a\u76ee\u5f55\u901a\u5e38\u79f0\u4e3a <code class=\"varname\">PGDATA</code>\uff08\u540d\u5b57\u6765\u81ea\u53ef\u7528\u4e8e\u5b9a\u4e49\u5b83\u7684\u73af\u5883\u53d8\u91cf\uff09\u3002<code class=\"varname\">PGDATA</code> \u7684\u4e00\u4e2a\u5e38\u89c1\u4f4d\u7f6e\u662f\n<code class=\"filename\">/var/lib/pgsql/data</code>\u3002\u540c\u4e00\u53f0\u673a\u5668\u4e0a\u53ef\u4ee5\u5b58\u5728\u591a\u4e2a\u7531\u4e0d\u540c\u670d\u52a1\u5668\u5b9e\u4f8b\u7ba1\u7406\u7684\u96c6\u7c07\u3002\n</p><p>\n<code class=\"varname\">PGDATA</code> \u76ee\u5f55\u5305\u542b\u82e5\u5e72\u5b50\u76ee\u5f55\u548c\u63a7\u5236\u6587\u4ef6\uff0c\u5982<a class=\"xref\" href=\"/zh/docs/11/storage.html#PGDATA-CONTENTS-TABLE\">\u8868\u00a069.1</a> \u6240\u793a\u3002\u9664\u8fd9\u4e9b\u5fc5\u9700\u9879\u4e4b\u5916\uff0c\u96c6\u7c07\u914d\u7f6e\u6587\u4ef6\n<code class=\"filename\">postgresql.conf</code>\u3001<code class=\"filename\">pg_hba.conf</code> \u548c\n<code class=\"filename\">pg_ident.conf</code> \u4f20\u7edf\u4e0a\u4e5f\u5b58\u653e\u5728 <code class=\"varname\">PGDATA</code>\n\u4e2d\uff0c\u4e0d\u8fc7\u4e5f\u53ef\u4ee5\u628a\u5b83\u4eec\u653e\u5728\u5176\u4ed6\u5730\u65b9\u3002\n</p><p>\n\u5bf9\u4e8e\u96c6\u7c07\u4e2d\u7684\u6bcf\u4e2a\u6570\u636e\u5e93\uff0c<code class=\"varname\">PGDATA</code><code class=\"filename\">/base</code>\n\u4e2d\u90fd\u6709\u4e00\u4e2a\u5b50\u76ee\u5f55\uff0c\u5176\u540d\u79f0\u662f\u8be5\u6570\u636e\u5e93\u5728 <code class=\"structname\">pg_database</code>\n\u4e2d\u7684 OID\u3002\u8fd9\u4e2a\u5b50\u76ee\u5f55\u662f\u8be5\u6570\u636e\u5e93\u6587\u4ef6\u7684\u9ed8\u8ba4\u4f4d\u7f6e\uff1b\u7279\u522b\u662f\uff0c\u5b83\u7684\u7cfb\u7edf\u76ee\u5f55\u5c31\u5b58\u653e\u5728\u8fd9\u91cc\u3002\n</p><p><a href=\"/zh/docs/11/storage.html#STORAGE-FILE-LAYOUT\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "summary": "\u672c\u8282\u4ece\u6587\u4ef6\u548c\u76ee\u5f55\u7684\u5c42\u6b21\u63cf\u8ff0\u5b58\u50a8\u683c\u5f0f\u3002 \u4f20\u7edf\u4e0a\uff0c\u6570\u636e\u5e93\u96c6\u7c07\u6240\u4f7f\u7528\u7684\u914d\u7f6e\u6587\u4ef6\u548c\u6570\u636e\u6587\u4ef6\u90fd\u5b58\u653e\u5728\u96c6\u7c07\u7684\u6570\u636e\u76ee\u5f55\u4e2d\uff0c\u8fd9\u4e2a\u76ee\u5f55\u901a\u5e38\u79f0\u4e3a PGDATA \uff08\u540d\u5b57\u6765\u81ea\u53ef\u7528\u4e8e\u5b9a\u4e49\u5b83\u7684\u73af\u5883\u53d8\u91cf\uff09\u3002 PGDATA \u7684\u4e00\u4e2a\u5e38\u89c1\u4f4d\u7f6e\u662f /var/lib/pgsql/data \u3002\u540c\u4e00\u53f0\u673a\u5668\u4e0a\u53ef\u4ee5\u5b58\u5728\u591a\u4e2a\u7531\u4e0d\u540c\u670d\u52a1\u5668\u5b9e\u4f8b\u7ba1\u7406\u7684\u96c6\u7c07\u3002 PGDATA \u76ee\u5f55\u5305\u542b\u82e5\u5e72\u5b50\u76ee\u5f55\u548c\u63a7\u5236\u6587\u4ef6\uff0c\u5982 \u8868 69.1 \u6240\u793a\u3002\u9664\u8fd9\u4e9b\u5fc5\u9700\u9879\u4e4b\u5916\uff0c\u96c6\u7c07\u914d\u7f6e\u6587\u4ef6 postgresql.conf \u3001 pg_hba.conf \u548c pg_ident.conf \u4f20\u7edf\u4e0a\u4e5f\u5b58\u653e\u5728 PGDATA \u4e2d\uff0c\u4e0d\u8fc7\u4e5f\u53ef\u4ee5\u628a\u5b83\u4eec\u653e\u5728\u5176\u4ed6\u5730\u65b9\u3002 \u5bf9\u4e8e\u96c6\u7c07\u4e2d\u7684\u6bcf\u4e2a\u6570\u636e\u5e93\uff0c PGDATA /base \u4e2d\u90fd\u6709\u4e00\u4e2a\u5b50\u76ee\u5f55\uff0c\u5176\u540d\u79f0\u662f\u8be5\u6570\u636e\u5e93\u5728 pg_database \u4e2d\u7684 OID\u3002\u8fd9\u4e2a\u5b50\u76ee\u5f55\u662f\u8be5\u6570\u636e\u5e93\u6587\u4ef6\u7684\u9ed8\u8ba4\u4f4d\u7f6e\uff1b\u7279\u522b\u662f\uff0c\u5b83\u7684\u7cfb\u7edf\u76ee\u5f55\u5c31\u5b58\u653e\u5728\u8fd9\u91cc\u3002", "version": "11", "link_map": {"/zh/docs/11/storage.html#STORAGE-FILE-LAYOUT": "/docs/11/storage.html#STORAGE-FILE-LAYOUT", "/zh/docs/11/storage.html#PGDATA-CONTENTS-TABLE": "/docs/11/storage.html#PGDATA-CONTENTS-TABLE"}, "body_html": "<p>\u5b58\u50a8\u7ed3\u6784 fork-vm\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n\u672c\u8282\u4ece\u6587\u4ef6\u548c\u76ee\u5f55\u7684\u5c42\u6b21\u63cf\u8ff0\u5b58\u50a8\u683c\u5f0f\u3002\n</p><p>\n\u4f20\u7edf\u4e0a\uff0c\u6570\u636e\u5e93\u96c6\u7c07\u6240\u4f7f\u7528\u7684\u914d\u7f6e\u6587\u4ef6\u548c\u6570\u636e\u6587\u4ef6\u90fd\u5b58\u653e\u5728\u96c6\u7c07\u7684\u6570\u636e\u76ee\u5f55\u4e2d\uff0c\u8fd9\u4e2a\u76ee\u5f55\u901a\u5e38\u79f0\u4e3a <code>PGDATA</code>\uff08\u540d\u5b57\u6765\u81ea\u53ef\u7528\u4e8e\u5b9a\u4e49\u5b83\u7684\u73af\u5883\u53d8\u91cf\uff09\u3002<code>PGDATA</code> \u7684\u4e00\u4e2a\u5e38\u89c1\u4f4d\u7f6e\u662f\n<code>/var/lib/pgsql/data</code>\u3002\u540c\u4e00\u53f0\u673a\u5668\u4e0a\u53ef\u4ee5\u5b58\u5728\u591a\u4e2a\u7531\u4e0d\u540c\u670d\u52a1\u5668\u5b9e\u4f8b\u7ba1\u7406\u7684\u96c6\u7c07\u3002\n</p><p>\n<code>PGDATA</code> \u76ee\u5f55\u5305\u542b\u82e5\u5e72\u5b50\u76ee\u5f55\u548c\u63a7\u5236\u6587\u4ef6\uff0c\u5982<a href=\"/zh/docs/11/storage.html#PGDATA-CONTENTS-TABLE\" rel=\"nofollow\">\u8868\u00a069.1</a> \u6240\u793a\u3002\u9664\u8fd9\u4e9b\u5fc5\u9700\u9879\u4e4b\u5916\uff0c\u96c6\u7c07\u914d\u7f6e\u6587\u4ef6\n<code>postgresql.conf</code>\u3001<code>pg_hba.conf</code> \u548c\n<code>pg_ident.conf</code> \u4f20\u7edf\u4e0a\u4e5f\u5b58\u653e\u5728 <code>PGDATA</code>\n\u4e2d\uff0c\u4e0d\u8fc7\u4e5f\u53ef\u4ee5\u628a\u5b83\u4eec\u653e\u5728\u5176\u4ed6\u5730\u65b9\u3002\n</p><p>\n\u5bf9\u4e8e\u96c6\u7c07\u4e2d\u7684\u6bcf\u4e2a\u6570\u636e\u5e93\uff0c<code>PGDATA</code><code>/base</code>\n\u4e2d\u90fd\u6709\u4e00\u4e2a\u5b50\u76ee\u5f55\uff0c\u5176\u540d\u79f0\u662f\u8be5\u6570\u636e\u5e93\u5728 <code>pg_database</code>\n\u4e2d\u7684 OID\u3002\u8fd9\u4e2a\u5b50\u76ee\u5f55\u662f\u8be5\u6570\u636e\u5e93\u6587\u4ef6\u7684\u9ed8\u8ba4\u4f4d\u7f6e\uff1b\u7279\u522b\u662f\uff0c\u5b83\u7684\u7cfb\u7edf\u76ee\u5f55\u5c31\u5b58\u653e\u5728\u8fd9\u91cc\u3002\n</p><p><a href=\"/zh/docs/11/storage.html#STORAGE-FILE-LAYOUT\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>", "body_sha256": "321d195123c494fcbd93aa51a8182ce4bf9773bd751e49f7156ff2ffa7fecb70", "content_hash": "f29309a5eb4a75e4bead1b16bd36c71534962570e32a25ed2cf60bfd920d181a", "source_database": "center", "source_revision": "2cb7c97d7a0d7278851bbc9c61f467b69c094c72b81740b751108e7892ebe1f0"}, "signature": "", "tables_zh": [], "description": ["\u672c\u8282\u4ece\u6587\u4ef6\u548c\u76ee\u5f55\u7684\u5c42\u6b21\u63cf\u8ff0\u5b58\u50a8\u683c\u5f0f\u3002 \u4f20\u7edf\u4e0a\uff0c\u6570\u636e\u5e93\u96c6\u7c07\u6240\u4f7f\u7528\u7684\u914d\u7f6e\u6587\u4ef6\u548c\u6570\u636e\u6587\u4ef6\u90fd\u5b58\u653e\u5728\u96c6\u7c07\u7684\u6570\u636e\u76ee\u5f55\u4e2d\uff0c\u8fd9\u4e2a\u76ee\u5f55\u901a\u5e38\u79f0\u4e3a PGDATA \uff08\u540d\u5b57\u6765\u81ea\u53ef\u7528\u4e8e\u5b9a\u4e49\u5b83\u7684\u73af\u5883\u53d8\u91cf\uff09\u3002 PGDATA \u7684\u4e00\u4e2a\u5e38\u89c1\u4f4d\u7f6e\u662f /var/lib/pgsql/data \u3002\u540c\u4e00\u53f0\u673a\u5668\u4e0a\u53ef\u4ee5\u5b58\u5728\u591a\u4e2a\u7531\u4e0d\u540c\u670d\u52a1\u5668\u5b9e\u4f8b\u7ba1\u7406\u7684\u96c6\u7c07\u3002 PGDATA \u76ee\u5f55\u5305\u542b\u82e5\u5e72\u5b50\u76ee\u5f55\u548c\u63a7\u5236\u6587\u4ef6\uff0c\u5982 \u8868 69.1 \u6240\u793a\u3002\u9664\u8fd9\u4e9b\u5fc5\u9700\u9879\u4e4b\u5916\uff0c\u96c6\u7c07\u914d\u7f6e\u6587\u4ef6 postgresql.conf \u3001 pg_hba.conf \u548c pg_ident.conf \u4f20\u7edf\u4e0a\u4e5f\u5b58\u653e\u5728 PGDATA \u4e2d\uff0c\u4e0d\u8fc7\u4e5f\u53ef\u4ee5\u628a\u5b83\u4eec\u653e\u5728\u5176\u4ed6\u5730\u65b9\u3002 \u5bf9\u4e8e\u96c6\u7c07\u4e2d\u7684\u6bcf\u4e2a\u6570\u636e\u5e93\uff0c PGDATA /base \u4e2d\u90fd\u6709\u4e00\u4e2a\u5b50\u76ee\u5f55\uff0c\u5176\u540d\u79f0\u662f\u8be5\u6570\u636e\u5e93\u5728 pg_database \u4e2d\u7684 OID\u3002\u8fd9\u4e2a\u5b50\u76ee\u5f55\u662f\u8be5\u6570\u636e\u5e93\u6587\u4ef6\u7684\u9ed8\u8ba4\u4f4d\u7f6e\uff1b\u7279\u522b\u662f\uff0c\u5b83\u7684\u7cfb\u7edf\u76ee\u5f55\u5c31\u5b58\u653e\u5728\u8fd9\u91cc\u3002"], "manual_html": "", "manual_path": "/docs/11/storage-file-layout.html", "sections_zh": [], "localization": {"status": "complete", "sources": [], "language": "zh", "original_text": {"/versions/11/description/0": "Each table and index is stored in a separate file. For ordinary relations, these files are named after the table or index's filenode number, which can be found in pg_class . relfilenode . But for temporary relations, the file name is of the form t BBB _ FFF , where BBB is the backend ID of the backend which created the file, and FFF is the filenode number. In either case, in addition to the main file (a/k/a main fork), each table and index has a free space map (see Section 69.3 ), which stores information about free space available in the relation. The free space map is stored in a file named with the filenode number plus the suffix _fsm . Tables also have a visibility map , stored in a fork with the suffix _vm , to track which pages are known to have no dead tuples. The visibility map is described further in Section 69.4 . Unlogged tables and indexes have a third fork, known as the initialization fork, which is stored in a fork with the suffix _init (see Section 69.5 ).", "/versions/11/description/1": "When a table or index exceeds 1 GB, it is divided into gigabyte-sized segments . The first segment's file name is the same as the filenode; subsequent segments are named filenode.1, filenode.2, etc. This arrangement avoids problems on platforms that have file size limitations. (Actually, 1 GB is just the default segment size. The segment size can be adjusted using the configuration option --with-segsize when building PostgreSQL .) In principle, free space map and visibility map forks could require multiple segments as well, though this is unlikely to happen in practice.", "/versions/11/facts/0/label": "Fork", "/versions/11/related/0/label": "Database file layout"}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "cf1adadd2d00c06db59e5ab74cb100acb2a19f381fae650426a376baa660fcba", "canonical_center_text_hash": "f29309a5eb4a75e4bead1b16bd36c71534962570e32a25ed2cf60bfd920d181a"}, "description_zh": "\u672c\u8282\u4ece\u6587\u4ef6\u548c\u76ee\u5f55\u7684\u5c42\u6b21\u63cf\u8ff0\u5b58\u50a8\u683c\u5f0f\u3002 \u4f20\u7edf\u4e0a\uff0c\u6570\u636e\u5e93\u96c6\u7c07\u6240\u4f7f\u7528\u7684\u914d\u7f6e\u6587\u4ef6\u548c\u6570\u636e\u6587\u4ef6\u90fd\u5b58\u653e\u5728\u96c6\u7c07\u7684\u6570\u636e\u76ee\u5f55\u4e2d\uff0c\u8fd9\u4e2a\u76ee\u5f55\u901a\u5e38\u79f0\u4e3a PGDATA \uff08\u540d\u5b57\u6765\u81ea\u53ef\u7528\u4e8e\u5b9a\u4e49\u5b83\u7684\u73af\u5883\u53d8\u91cf\uff09\u3002 PGDATA \u7684\u4e00\u4e2a\u5e38\u89c1\u4f4d\u7f6e\u662f /var/lib/pgsql/data \u3002\u540c\u4e00\u53f0\u673a\u5668\u4e0a\u53ef\u4ee5\u5b58\u5728\u591a\u4e2a\u7531\u4e0d\u540c\u670d\u52a1\u5668\u5b9e\u4f8b\u7ba1\u7406\u7684\u96c6\u7c07\u3002 PGDATA \u76ee\u5f55\u5305\u542b\u82e5\u5e72\u5b50\u76ee\u5f55\u548c\u63a7\u5236\u6587\u4ef6\uff0c\u5982 \u8868 69.1 \u6240\u793a\u3002\u9664\u8fd9\u4e9b\u5fc5\u9700\u9879\u4e4b\u5916\uff0c\u96c6\u7c07\u914d\u7f6e\u6587\u4ef6 postgresql.conf \u3001 pg_hba.conf \u548c pg_ident.conf \u4f20\u7edf\u4e0a\u4e5f\u5b58\u653e\u5728 PGDATA \u4e2d\uff0c\u4e0d\u8fc7\u4e5f\u53ef\u4ee5\u628a\u5b83\u4eec\u653e\u5728\u5176\u4ed6\u5730\u65b9\u3002 \u5bf9\u4e8e\u96c6\u7c07\u4e2d\u7684\u6bcf\u4e2a\u6570\u636e\u5e93\uff0c PGDATA /base \u4e2d\u90fd\u6709\u4e00\u4e2a\u5b50\u76ee\u5f55\uff0c\u5176\u540d\u79f0\u662f\u8be5\u6570\u636e\u5e93\u5728 pg_database \u4e2d\u7684 OID\u3002\u8fd9\u4e2a\u5b50\u76ee\u5f55\u662f\u8be5\u6570\u636e\u5e93\u6587\u4ef6\u7684\u9ed8\u8ba4\u4f4d\u7f6e\uff1b\u7279\u522b\u662f\uff0c\u5b83\u7684\u7cfb\u7edf\u76ee\u5f55\u5c31\u5b58\u653e\u5728\u8fd9\u91cc\u3002", "comparison_data": {"fork": "vm"}, "comparison_hash": "0f7e444c74befed2e9e038b208922f35c10a3caa1ec789947fda5dd19339d4d4", "manual_language": "zh", "description_zh_html": "<p>\u5b58\u50a8\u7ed3\u6784 fork-vm\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n\u672c\u8282\u4ece\u6587\u4ef6\u548c\u76ee\u5f55\u7684\u5c42\u6b21\u63cf\u8ff0\u5b58\u50a8\u683c\u5f0f\u3002\n</p><p>\n\u4f20\u7edf\u4e0a\uff0c\u6570\u636e\u5e93\u96c6\u7c07\u6240\u4f7f\u7528\u7684\u914d\u7f6e\u6587\u4ef6\u548c\u6570\u636e\u6587\u4ef6\u90fd\u5b58\u653e\u5728\u96c6\u7c07\u7684\u6570\u636e\u76ee\u5f55\u4e2d\uff0c\u8fd9\u4e2a\u76ee\u5f55\u901a\u5e38\u79f0\u4e3a <code>PGDATA</code>\uff08\u540d\u5b57\u6765\u81ea\u53ef\u7528\u4e8e\u5b9a\u4e49\u5b83\u7684\u73af\u5883\u53d8\u91cf\uff09\u3002<code>PGDATA</code> \u7684\u4e00\u4e2a\u5e38\u89c1\u4f4d\u7f6e\u662f\n<code>/var/lib/pgsql/data</code>\u3002\u540c\u4e00\u53f0\u673a\u5668\u4e0a\u53ef\u4ee5\u5b58\u5728\u591a\u4e2a\u7531\u4e0d\u540c\u670d\u52a1\u5668\u5b9e\u4f8b\u7ba1\u7406\u7684\u96c6\u7c07\u3002\n</p><p>\n<code>PGDATA</code> \u76ee\u5f55\u5305\u542b\u82e5\u5e72\u5b50\u76ee\u5f55\u548c\u63a7\u5236\u6587\u4ef6\uff0c\u5982<a href=\"/zh/docs/11/storage.html#PGDATA-CONTENTS-TABLE\" rel=\"nofollow\">\u8868\u00a069.1</a> \u6240\u793a\u3002\u9664\u8fd9\u4e9b\u5fc5\u9700\u9879\u4e4b\u5916\uff0c\u96c6\u7c07\u914d\u7f6e\u6587\u4ef6\n<code>postgresql.conf</code>\u3001<code>pg_hba.conf</code> \u548c\n<code>pg_ident.conf</code> \u4f20\u7edf\u4e0a\u4e5f\u5b58\u653e\u5728 <code>PGDATA</code>\n\u4e2d\uff0c\u4e0d\u8fc7\u4e5f\u53ef\u4ee5\u628a\u5b83\u4eec\u653e\u5728\u5176\u4ed6\u5730\u65b9\u3002\n</p><p>\n\u5bf9\u4e8e\u96c6\u7c07\u4e2d\u7684\u6bcf\u4e2a\u6570\u636e\u5e93\uff0c<code>PGDATA</code><code>/base</code>\n\u4e2d\u90fd\u6709\u4e00\u4e2a\u5b50\u76ee\u5f55\uff0c\u5176\u540d\u79f0\u662f\u8be5\u6570\u636e\u5e93\u5728 <code>pg_database</code>\n\u4e2d\u7684 OID\u3002\u8fd9\u4e2a\u5b50\u76ee\u5f55\u662f\u8be5\u6570\u636e\u5e93\u6587\u4ef6\u7684\u9ed8\u8ba4\u4f4d\u7f6e\uff1b\u7279\u522b\u662f\uff0c\u5b83\u7684\u7cfb\u7edf\u76ee\u5f55\u5c31\u5b58\u653e\u5728\u8fd9\u91cc\u3002\n</p><p><a href=\"/zh/docs/11/storage.html#STORAGE-FILE-LAYOUT\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "12": {"facts": [{"label": "\u5173\u7cfb\u5206\u53c9", "value": "vm"}], "tables": [], "related": [{"url": "/wiki/storage/storage-file-layout/?v=12", "label": "\u6570\u636e\u5e93\u6587\u4ef6\u5e03\u5c40"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v12.22/postgresql-12.22.tar.bz2", "label": "12.22", "major": "12", "channel": "stable", "revision": "8df3c0474782589d3c6f374b5133b1bd14d168086edbc13c6e72e67dd4527a3b"}, "sources": [{"url": "/docs/12/storage-file-layout.html", "path": "storage-file-layout.html", "label": "PostgreSQL 12 English manual", "sha256": "cb2e82b933c3712adaf61cc5a26d266e9f007698df549f999db9962bb6f39823"}], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-identity", "manual": {"url": "/zh/docs/12/storage.html#STORAGE-FILE-LAYOUT", "anchor": "STORAGE-FILE-LAYOUT", "locale": "zh-Hans", "version": "12", "build_id": 65, "page_key": "storage.html", "extraction": "concept-introduction", "source_hash": "34b63c2af8603bf1a123e05d5e1a2e513806ca27d457315a04809855c3cb457a", "fragment_sha256": "e38c729c2db8bcd3141f2c984c71866ed14ccd618b58a184a4a3153d1b5b7cb5", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "snapshot:sha256:86d2ff781f93e1de17122ebc514d5e64fcb63fed15941f496d7e146c6dcc7a49", "translated_from_revision": null}, "body_sha256": "a7b6ca8a42768f0a18e2e9acdbb10d51996cb09bb32f680197e2792a51c5fa6b", "runtime_rerun": false, "authored_translation": "source-derived-identity", "source_facts_revision": "8df3c0474782589d3c6f374b5133b1bd14d168086edbc13c6e72e67dd4527a3b"}, "facts_zh": [{"label": "\u5173\u7cfb\u5206\u53c9", "value": "vm"}], "sections": [], "center_zh": {"title": "vm fork", "locale": "zh-Hans", "source": {"key": "fork-vm", "locale": "zh-Hans", "version": "12", "text_hash": "18e24b251c524a7586c429506be541651f12db6a8ade2787e3a070bdb4adab80", "collection": "storage", "dataset_hash": "7c31b524dfe136022d39a6ae8dcfac6b3bbd5f8fdaf422536599981252aff0c9", "source_database": "center", "source_revision": "8df3c0474782589d3c6f374b5133b1bd14d168086edbc13c6e72e67dd4527a3b"}, "payload": {"facts": [{"label": "\u5173\u7cfb\u5206\u53c9", "value": "vm"}], "tables": [], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-identity", "manual": {"url": "/zh/docs/12/storage.html#STORAGE-FILE-LAYOUT", "anchor": "STORAGE-FILE-LAYOUT", "locale": "zh-Hans", "version": "12", "build_id": 65, "page_key": "storage.html", "extraction": "concept-introduction", "source_hash": "34b63c2af8603bf1a123e05d5e1a2e513806ca27d457315a04809855c3cb457a", "fragment_sha256": "e38c729c2db8bcd3141f2c984c71866ed14ccd618b58a184a4a3153d1b5b7cb5", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "snapshot:sha256:86d2ff781f93e1de17122ebc514d5e64fcb63fed15941f496d7e146c6dcc7a49", "translated_from_revision": null}, "body_sha256": "a7b6ca8a42768f0a18e2e9acdbb10d51996cb09bb32f680197e2792a51c5fa6b", "runtime_rerun": false, "authored_translation": "source-derived-identity", "source_facts_revision": "8df3c0474782589d3c6f374b5133b1bd14d168086edbc13c6e72e67dd4527a3b"}, "sections": [], "description_zh": "\u672c\u8282\u4ece\u6587\u4ef6\u548c\u76ee\u5f55\u7684\u5c42\u6b21\u63cf\u8ff0\u5b58\u50a8\u683c\u5f0f\u3002 \u4f20\u7edf\u4e0a\uff0c\u6570\u636e\u5e93\u96c6\u7c07\u6240\u4f7f\u7528\u7684\u914d\u7f6e\u6587\u4ef6\u548c\u6570\u636e\u6587\u4ef6\u90fd\u5b58\u653e\u5728\u96c6\u7c07\u7684\u6570\u636e\u76ee\u5f55\u4e2d\uff0c\u8fd9\u4e2a\u76ee\u5f55\u901a\u5e38\u79f0\u4e3a PGDATA \uff08\u540d\u5b57\u6765\u81ea\u53ef\u7528\u4e8e\u5b9a\u4e49\u5b83\u7684\u73af\u5883\u53d8\u91cf\uff09\u3002 PGDATA \u7684\u4e00\u4e2a\u5e38\u89c1\u4f4d\u7f6e\u662f /var/lib/pgsql/data \u3002\u540c\u4e00\u53f0\u673a\u5668\u4e0a\u53ef\u4ee5\u5b58\u5728\u591a\u4e2a\u7531\u4e0d\u540c\u670d\u52a1\u5668\u5b9e\u4f8b\u7ba1\u7406\u7684\u96c6\u7c07\u3002 PGDATA \u76ee\u5f55\u5305\u542b\u82e5\u5e72\u5b50\u76ee\u5f55\u548c\u63a7\u5236\u6587\u4ef6\uff0c\u5982 \u8868 69.1 \u6240\u793a\u3002\u9664\u8fd9\u4e9b\u5fc5\u9700\u9879\u4e4b\u5916\uff0c\u96c6\u7c07\u914d\u7f6e\u6587\u4ef6 postgresql.conf \u3001 pg_hba.conf \u548c pg_ident.conf \u4f20\u7edf\u4e0a\u4e5f\u5b58\u653e\u5728 PGDATA \u4e2d\uff0c\u4e0d\u8fc7\u4e5f\u53ef\u4ee5\u628a\u5b83\u4eec\u653e\u5728\u5176\u4ed6\u5730\u65b9\u3002 \u5bf9\u4e8e\u96c6\u7c07\u4e2d\u7684\u6bcf\u4e2a\u6570\u636e\u5e93\uff0c PGDATA /base \u4e2d\u90fd\u6709\u4e00\u4e2a\u5b50\u76ee\u5f55\uff0c\u5176\u540d\u79f0\u662f\u8be5\u6570\u636e\u5e93\u5728 pg_database \u4e2d\u7684 OID\u3002\u8fd9\u4e2a\u5b50\u76ee\u5f55\u662f\u8be5\u6570\u636e\u5e93\u6587\u4ef6\u7684\u9ed8\u8ba4\u4f4d\u7f6e\uff1b\u7279\u522b\u662f\uff0c\u5b83\u7684\u7cfb\u7edf\u76ee\u5f55\u5c31\u5b58\u653e\u5728\u8fd9\u91cc\u3002", "description_zh_html": "<p>\u5b58\u50a8\u7ed3\u6784 fork-vm\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n\u672c\u8282\u4ece\u6587\u4ef6\u548c\u76ee\u5f55\u7684\u5c42\u6b21\u63cf\u8ff0\u5b58\u50a8\u683c\u5f0f\u3002\n</p><p>\n\u4f20\u7edf\u4e0a\uff0c\u6570\u636e\u5e93\u96c6\u7c07\u6240\u4f7f\u7528\u7684\u914d\u7f6e\u6587\u4ef6\u548c\u6570\u636e\u6587\u4ef6\u90fd\u5b58\u653e\u5728\u96c6\u7c07\u7684\u6570\u636e\u76ee\u5f55\u4e2d\uff0c\u8fd9\u4e2a\u76ee\u5f55\u901a\u5e38\u79f0\u4e3a <code class=\"varname\">PGDATA</code>\uff08\u540d\u5b57\u6765\u81ea\u53ef\u7528\u4e8e\u5b9a\u4e49\u5b83\u7684\u73af\u5883\u53d8\u91cf\uff09\u3002<code class=\"varname\">PGDATA</code> \u7684\u4e00\u4e2a\u5e38\u89c1\u4f4d\u7f6e\u662f\n<code class=\"filename\">/var/lib/pgsql/data</code>\u3002\u540c\u4e00\u53f0\u673a\u5668\u4e0a\u53ef\u4ee5\u5b58\u5728\u591a\u4e2a\u7531\u4e0d\u540c\u670d\u52a1\u5668\u5b9e\u4f8b\u7ba1\u7406\u7684\u96c6\u7c07\u3002\n</p><p>\n<code class=\"varname\">PGDATA</code> \u76ee\u5f55\u5305\u542b\u82e5\u5e72\u5b50\u76ee\u5f55\u548c\u63a7\u5236\u6587\u4ef6\uff0c\u5982<a class=\"xref\" href=\"/zh/docs/12/storage.html#PGDATA-CONTENTS-TABLE\">\u8868\u00a069.1</a> \u6240\u793a\u3002\u9664\u8fd9\u4e9b\u5fc5\u9700\u9879\u4e4b\u5916\uff0c\u96c6\u7c07\u914d\u7f6e\u6587\u4ef6\n<code class=\"filename\">postgresql.conf</code>\u3001<code class=\"filename\">pg_hba.conf</code> \u548c\n<code class=\"filename\">pg_ident.conf</code> \u4f20\u7edf\u4e0a\u4e5f\u5b58\u653e\u5728 <code class=\"varname\">PGDATA</code>\n\u4e2d\uff0c\u4e0d\u8fc7\u4e5f\u53ef\u4ee5\u628a\u5b83\u4eec\u653e\u5728\u5176\u4ed6\u5730\u65b9\u3002\n</p><p>\n\u5bf9\u4e8e\u96c6\u7c07\u4e2d\u7684\u6bcf\u4e2a\u6570\u636e\u5e93\uff0c<code class=\"varname\">PGDATA</code><code class=\"filename\">/base</code>\n\u4e2d\u90fd\u6709\u4e00\u4e2a\u5b50\u76ee\u5f55\uff0c\u5176\u540d\u79f0\u662f\u8be5\u6570\u636e\u5e93\u5728 <code class=\"structname\">pg_database</code>\n\u4e2d\u7684 OID\u3002\u8fd9\u4e2a\u5b50\u76ee\u5f55\u662f\u8be5\u6570\u636e\u5e93\u6587\u4ef6\u7684\u9ed8\u8ba4\u4f4d\u7f6e\uff1b\u7279\u522b\u662f\uff0c\u5b83\u7684\u7cfb\u7edf\u76ee\u5f55\u5c31\u5b58\u653e\u5728\u8fd9\u91cc\u3002\n</p><p><a href=\"/zh/docs/12/storage.html#STORAGE-FILE-LAYOUT\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "summary": "\u672c\u8282\u4ece\u6587\u4ef6\u548c\u76ee\u5f55\u7684\u5c42\u6b21\u63cf\u8ff0\u5b58\u50a8\u683c\u5f0f\u3002 \u4f20\u7edf\u4e0a\uff0c\u6570\u636e\u5e93\u96c6\u7c07\u6240\u4f7f\u7528\u7684\u914d\u7f6e\u6587\u4ef6\u548c\u6570\u636e\u6587\u4ef6\u90fd\u5b58\u653e\u5728\u96c6\u7c07\u7684\u6570\u636e\u76ee\u5f55\u4e2d\uff0c\u8fd9\u4e2a\u76ee\u5f55\u901a\u5e38\u79f0\u4e3a PGDATA \uff08\u540d\u5b57\u6765\u81ea\u53ef\u7528\u4e8e\u5b9a\u4e49\u5b83\u7684\u73af\u5883\u53d8\u91cf\uff09\u3002 PGDATA \u7684\u4e00\u4e2a\u5e38\u89c1\u4f4d\u7f6e\u662f /var/lib/pgsql/data \u3002\u540c\u4e00\u53f0\u673a\u5668\u4e0a\u53ef\u4ee5\u5b58\u5728\u591a\u4e2a\u7531\u4e0d\u540c\u670d\u52a1\u5668\u5b9e\u4f8b\u7ba1\u7406\u7684\u96c6\u7c07\u3002 PGDATA \u76ee\u5f55\u5305\u542b\u82e5\u5e72\u5b50\u76ee\u5f55\u548c\u63a7\u5236\u6587\u4ef6\uff0c\u5982 \u8868 69.1 \u6240\u793a\u3002\u9664\u8fd9\u4e9b\u5fc5\u9700\u9879\u4e4b\u5916\uff0c\u96c6\u7c07\u914d\u7f6e\u6587\u4ef6 postgresql.conf \u3001 pg_hba.conf \u548c pg_ident.conf \u4f20\u7edf\u4e0a\u4e5f\u5b58\u653e\u5728 PGDATA \u4e2d\uff0c\u4e0d\u8fc7\u4e5f\u53ef\u4ee5\u628a\u5b83\u4eec\u653e\u5728\u5176\u4ed6\u5730\u65b9\u3002 \u5bf9\u4e8e\u96c6\u7c07\u4e2d\u7684\u6bcf\u4e2a\u6570\u636e\u5e93\uff0c PGDATA /base \u4e2d\u90fd\u6709\u4e00\u4e2a\u5b50\u76ee\u5f55\uff0c\u5176\u540d\u79f0\u662f\u8be5\u6570\u636e\u5e93\u5728 pg_database \u4e2d\u7684 OID\u3002\u8fd9\u4e2a\u5b50\u76ee\u5f55\u662f\u8be5\u6570\u636e\u5e93\u6587\u4ef6\u7684\u9ed8\u8ba4\u4f4d\u7f6e\uff1b\u7279\u522b\u662f\uff0c\u5b83\u7684\u7cfb\u7edf\u76ee\u5f55\u5c31\u5b58\u653e\u5728\u8fd9\u91cc\u3002", "version": "12", "link_map": {"/zh/docs/12/storage.html#STORAGE-FILE-LAYOUT": "/docs/12/storage.html#STORAGE-FILE-LAYOUT", "/zh/docs/12/storage.html#PGDATA-CONTENTS-TABLE": "/docs/12/storage.html#PGDATA-CONTENTS-TABLE"}, "body_html": "<p>\u5b58\u50a8\u7ed3\u6784 fork-vm\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n\u672c\u8282\u4ece\u6587\u4ef6\u548c\u76ee\u5f55\u7684\u5c42\u6b21\u63cf\u8ff0\u5b58\u50a8\u683c\u5f0f\u3002\n</p><p>\n\u4f20\u7edf\u4e0a\uff0c\u6570\u636e\u5e93\u96c6\u7c07\u6240\u4f7f\u7528\u7684\u914d\u7f6e\u6587\u4ef6\u548c\u6570\u636e\u6587\u4ef6\u90fd\u5b58\u653e\u5728\u96c6\u7c07\u7684\u6570\u636e\u76ee\u5f55\u4e2d\uff0c\u8fd9\u4e2a\u76ee\u5f55\u901a\u5e38\u79f0\u4e3a <code>PGDATA</code>\uff08\u540d\u5b57\u6765\u81ea\u53ef\u7528\u4e8e\u5b9a\u4e49\u5b83\u7684\u73af\u5883\u53d8\u91cf\uff09\u3002<code>PGDATA</code> \u7684\u4e00\u4e2a\u5e38\u89c1\u4f4d\u7f6e\u662f\n<code>/var/lib/pgsql/data</code>\u3002\u540c\u4e00\u53f0\u673a\u5668\u4e0a\u53ef\u4ee5\u5b58\u5728\u591a\u4e2a\u7531\u4e0d\u540c\u670d\u52a1\u5668\u5b9e\u4f8b\u7ba1\u7406\u7684\u96c6\u7c07\u3002\n</p><p>\n<code>PGDATA</code> \u76ee\u5f55\u5305\u542b\u82e5\u5e72\u5b50\u76ee\u5f55\u548c\u63a7\u5236\u6587\u4ef6\uff0c\u5982<a href=\"/zh/docs/12/storage.html#PGDATA-CONTENTS-TABLE\" rel=\"nofollow\">\u8868\u00a069.1</a> \u6240\u793a\u3002\u9664\u8fd9\u4e9b\u5fc5\u9700\u9879\u4e4b\u5916\uff0c\u96c6\u7c07\u914d\u7f6e\u6587\u4ef6\n<code>postgresql.conf</code>\u3001<code>pg_hba.conf</code> \u548c\n<code>pg_ident.conf</code> \u4f20\u7edf\u4e0a\u4e5f\u5b58\u653e\u5728 <code>PGDATA</code>\n\u4e2d\uff0c\u4e0d\u8fc7\u4e5f\u53ef\u4ee5\u628a\u5b83\u4eec\u653e\u5728\u5176\u4ed6\u5730\u65b9\u3002\n</p><p>\n\u5bf9\u4e8e\u96c6\u7c07\u4e2d\u7684\u6bcf\u4e2a\u6570\u636e\u5e93\uff0c<code>PGDATA</code><code>/base</code>\n\u4e2d\u90fd\u6709\u4e00\u4e2a\u5b50\u76ee\u5f55\uff0c\u5176\u540d\u79f0\u662f\u8be5\u6570\u636e\u5e93\u5728 <code>pg_database</code>\n\u4e2d\u7684 OID\u3002\u8fd9\u4e2a\u5b50\u76ee\u5f55\u662f\u8be5\u6570\u636e\u5e93\u6587\u4ef6\u7684\u9ed8\u8ba4\u4f4d\u7f6e\uff1b\u7279\u522b\u662f\uff0c\u5b83\u7684\u7cfb\u7edf\u76ee\u5f55\u5c31\u5b58\u653e\u5728\u8fd9\u91cc\u3002\n</p><p><a href=\"/zh/docs/12/storage.html#STORAGE-FILE-LAYOUT\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>", "body_sha256": "22353cbb548e37bb4ca5ac702e229c8f843a576926eed07ff325f4592904d5e3", "content_hash": "18e24b251c524a7586c429506be541651f12db6a8ade2787e3a070bdb4adab80", "source_database": "center", "source_revision": "8df3c0474782589d3c6f374b5133b1bd14d168086edbc13c6e72e67dd4527a3b"}, "signature": "", "tables_zh": [], "description": ["\u672c\u8282\u4ece\u6587\u4ef6\u548c\u76ee\u5f55\u7684\u5c42\u6b21\u63cf\u8ff0\u5b58\u50a8\u683c\u5f0f\u3002 \u4f20\u7edf\u4e0a\uff0c\u6570\u636e\u5e93\u96c6\u7c07\u6240\u4f7f\u7528\u7684\u914d\u7f6e\u6587\u4ef6\u548c\u6570\u636e\u6587\u4ef6\u90fd\u5b58\u653e\u5728\u96c6\u7c07\u7684\u6570\u636e\u76ee\u5f55\u4e2d\uff0c\u8fd9\u4e2a\u76ee\u5f55\u901a\u5e38\u79f0\u4e3a PGDATA \uff08\u540d\u5b57\u6765\u81ea\u53ef\u7528\u4e8e\u5b9a\u4e49\u5b83\u7684\u73af\u5883\u53d8\u91cf\uff09\u3002 PGDATA \u7684\u4e00\u4e2a\u5e38\u89c1\u4f4d\u7f6e\u662f /var/lib/pgsql/data \u3002\u540c\u4e00\u53f0\u673a\u5668\u4e0a\u53ef\u4ee5\u5b58\u5728\u591a\u4e2a\u7531\u4e0d\u540c\u670d\u52a1\u5668\u5b9e\u4f8b\u7ba1\u7406\u7684\u96c6\u7c07\u3002 PGDATA \u76ee\u5f55\u5305\u542b\u82e5\u5e72\u5b50\u76ee\u5f55\u548c\u63a7\u5236\u6587\u4ef6\uff0c\u5982 \u8868 69.1 \u6240\u793a\u3002\u9664\u8fd9\u4e9b\u5fc5\u9700\u9879\u4e4b\u5916\uff0c\u96c6\u7c07\u914d\u7f6e\u6587\u4ef6 postgresql.conf \u3001 pg_hba.conf \u548c pg_ident.conf \u4f20\u7edf\u4e0a\u4e5f\u5b58\u653e\u5728 PGDATA \u4e2d\uff0c\u4e0d\u8fc7\u4e5f\u53ef\u4ee5\u628a\u5b83\u4eec\u653e\u5728\u5176\u4ed6\u5730\u65b9\u3002 \u5bf9\u4e8e\u96c6\u7c07\u4e2d\u7684\u6bcf\u4e2a\u6570\u636e\u5e93\uff0c PGDATA /base \u4e2d\u90fd\u6709\u4e00\u4e2a\u5b50\u76ee\u5f55\uff0c\u5176\u540d\u79f0\u662f\u8be5\u6570\u636e\u5e93\u5728 pg_database \u4e2d\u7684 OID\u3002\u8fd9\u4e2a\u5b50\u76ee\u5f55\u662f\u8be5\u6570\u636e\u5e93\u6587\u4ef6\u7684\u9ed8\u8ba4\u4f4d\u7f6e\uff1b\u7279\u522b\u662f\uff0c\u5b83\u7684\u7cfb\u7edf\u76ee\u5f55\u5c31\u5b58\u653e\u5728\u8fd9\u91cc\u3002"], "manual_html": "", "manual_path": "/docs/12/storage-file-layout.html", "sections_zh": [], "localization": {"status": "complete", "sources": [], "language": "zh", "original_text": {"/versions/12/description/0": "Each table and index is stored in a separate file. For ordinary relations, these files are named after the table or index's filenode number, which can be found in pg_class . relfilenode . But for temporary relations, the file name is of the form t BBB _ FFF , where BBB is the backend ID of the backend which created the file, and FFF is the filenode number. In either case, in addition to the main file (a/k/a main fork), each table and index has a free space map (see Section 69.3 ), which stores information about free space available in the relation. The free space map is stored in a file named with the filenode number plus the suffix _fsm . Tables also have a visibility map , stored in a fork with the suffix _vm , to track which pages are known to have no dead tuples. The visibility map is described further in Section 69.4 . Unlogged tables and indexes have a third fork, known as the initialization fork, which is stored in a fork with the suffix _init (see Section 69.5 ).", "/versions/12/description/1": "When a table or index exceeds 1 GB, it is divided into gigabyte-sized segments . The first segment's file name is the same as the filenode; subsequent segments are named filenode.1, filenode.2, etc. This arrangement avoids problems on platforms that have file size limitations. (Actually, 1 GB is just the default segment size. The segment size can be adjusted using the configuration option --with-segsize when building PostgreSQL .) In principle, free space map and visibility map forks could require multiple segments as well, though this is unlikely to happen in practice.", "/versions/12/facts/0/label": "Fork", "/versions/12/related/0/label": "Database file layout"}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "ce3dcddcd8c71d0eee1ceebfaa9aa0e9afd7597abf09ebeb8c669559604b2496", "canonical_center_text_hash": "18e24b251c524a7586c429506be541651f12db6a8ade2787e3a070bdb4adab80"}, "description_zh": "\u672c\u8282\u4ece\u6587\u4ef6\u548c\u76ee\u5f55\u7684\u5c42\u6b21\u63cf\u8ff0\u5b58\u50a8\u683c\u5f0f\u3002 \u4f20\u7edf\u4e0a\uff0c\u6570\u636e\u5e93\u96c6\u7c07\u6240\u4f7f\u7528\u7684\u914d\u7f6e\u6587\u4ef6\u548c\u6570\u636e\u6587\u4ef6\u90fd\u5b58\u653e\u5728\u96c6\u7c07\u7684\u6570\u636e\u76ee\u5f55\u4e2d\uff0c\u8fd9\u4e2a\u76ee\u5f55\u901a\u5e38\u79f0\u4e3a PGDATA \uff08\u540d\u5b57\u6765\u81ea\u53ef\u7528\u4e8e\u5b9a\u4e49\u5b83\u7684\u73af\u5883\u53d8\u91cf\uff09\u3002 PGDATA \u7684\u4e00\u4e2a\u5e38\u89c1\u4f4d\u7f6e\u662f /var/lib/pgsql/data \u3002\u540c\u4e00\u53f0\u673a\u5668\u4e0a\u53ef\u4ee5\u5b58\u5728\u591a\u4e2a\u7531\u4e0d\u540c\u670d\u52a1\u5668\u5b9e\u4f8b\u7ba1\u7406\u7684\u96c6\u7c07\u3002 PGDATA \u76ee\u5f55\u5305\u542b\u82e5\u5e72\u5b50\u76ee\u5f55\u548c\u63a7\u5236\u6587\u4ef6\uff0c\u5982 \u8868 69.1 \u6240\u793a\u3002\u9664\u8fd9\u4e9b\u5fc5\u9700\u9879\u4e4b\u5916\uff0c\u96c6\u7c07\u914d\u7f6e\u6587\u4ef6 postgresql.conf \u3001 pg_hba.conf \u548c pg_ident.conf \u4f20\u7edf\u4e0a\u4e5f\u5b58\u653e\u5728 PGDATA \u4e2d\uff0c\u4e0d\u8fc7\u4e5f\u53ef\u4ee5\u628a\u5b83\u4eec\u653e\u5728\u5176\u4ed6\u5730\u65b9\u3002 \u5bf9\u4e8e\u96c6\u7c07\u4e2d\u7684\u6bcf\u4e2a\u6570\u636e\u5e93\uff0c PGDATA /base \u4e2d\u90fd\u6709\u4e00\u4e2a\u5b50\u76ee\u5f55\uff0c\u5176\u540d\u79f0\u662f\u8be5\u6570\u636e\u5e93\u5728 pg_database \u4e2d\u7684 OID\u3002\u8fd9\u4e2a\u5b50\u76ee\u5f55\u662f\u8be5\u6570\u636e\u5e93\u6587\u4ef6\u7684\u9ed8\u8ba4\u4f4d\u7f6e\uff1b\u7279\u522b\u662f\uff0c\u5b83\u7684\u7cfb\u7edf\u76ee\u5f55\u5c31\u5b58\u653e\u5728\u8fd9\u91cc\u3002", "comparison_data": {"fork": "vm"}, "comparison_hash": "0f7e444c74befed2e9e038b208922f35c10a3caa1ec789947fda5dd19339d4d4", "manual_language": "zh", "description_zh_html": "<p>\u5b58\u50a8\u7ed3\u6784 fork-vm\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n\u672c\u8282\u4ece\u6587\u4ef6\u548c\u76ee\u5f55\u7684\u5c42\u6b21\u63cf\u8ff0\u5b58\u50a8\u683c\u5f0f\u3002\n</p><p>\n\u4f20\u7edf\u4e0a\uff0c\u6570\u636e\u5e93\u96c6\u7c07\u6240\u4f7f\u7528\u7684\u914d\u7f6e\u6587\u4ef6\u548c\u6570\u636e\u6587\u4ef6\u90fd\u5b58\u653e\u5728\u96c6\u7c07\u7684\u6570\u636e\u76ee\u5f55\u4e2d\uff0c\u8fd9\u4e2a\u76ee\u5f55\u901a\u5e38\u79f0\u4e3a <code>PGDATA</code>\uff08\u540d\u5b57\u6765\u81ea\u53ef\u7528\u4e8e\u5b9a\u4e49\u5b83\u7684\u73af\u5883\u53d8\u91cf\uff09\u3002<code>PGDATA</code> \u7684\u4e00\u4e2a\u5e38\u89c1\u4f4d\u7f6e\u662f\n<code>/var/lib/pgsql/data</code>\u3002\u540c\u4e00\u53f0\u673a\u5668\u4e0a\u53ef\u4ee5\u5b58\u5728\u591a\u4e2a\u7531\u4e0d\u540c\u670d\u52a1\u5668\u5b9e\u4f8b\u7ba1\u7406\u7684\u96c6\u7c07\u3002\n</p><p>\n<code>PGDATA</code> \u76ee\u5f55\u5305\u542b\u82e5\u5e72\u5b50\u76ee\u5f55\u548c\u63a7\u5236\u6587\u4ef6\uff0c\u5982<a href=\"/zh/docs/12/storage.html#PGDATA-CONTENTS-TABLE\" rel=\"nofollow\">\u8868\u00a069.1</a> \u6240\u793a\u3002\u9664\u8fd9\u4e9b\u5fc5\u9700\u9879\u4e4b\u5916\uff0c\u96c6\u7c07\u914d\u7f6e\u6587\u4ef6\n<code>postgresql.conf</code>\u3001<code>pg_hba.conf</code> \u548c\n<code>pg_ident.conf</code> \u4f20\u7edf\u4e0a\u4e5f\u5b58\u653e\u5728 <code>PGDATA</code>\n\u4e2d\uff0c\u4e0d\u8fc7\u4e5f\u53ef\u4ee5\u628a\u5b83\u4eec\u653e\u5728\u5176\u4ed6\u5730\u65b9\u3002\n</p><p>\n\u5bf9\u4e8e\u96c6\u7c07\u4e2d\u7684\u6bcf\u4e2a\u6570\u636e\u5e93\uff0c<code>PGDATA</code><code>/base</code>\n\u4e2d\u90fd\u6709\u4e00\u4e2a\u5b50\u76ee\u5f55\uff0c\u5176\u540d\u79f0\u662f\u8be5\u6570\u636e\u5e93\u5728 <code>pg_database</code>\n\u4e2d\u7684 OID\u3002\u8fd9\u4e2a\u5b50\u76ee\u5f55\u662f\u8be5\u6570\u636e\u5e93\u6587\u4ef6\u7684\u9ed8\u8ba4\u4f4d\u7f6e\uff1b\u7279\u522b\u662f\uff0c\u5b83\u7684\u7cfb\u7edf\u76ee\u5f55\u5c31\u5b58\u653e\u5728\u8fd9\u91cc\u3002\n</p><p><a href=\"/zh/docs/12/storage.html#STORAGE-FILE-LAYOUT\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "13": {"facts": [{"label": "\u5173\u7cfb\u5206\u53c9", "value": "vm"}], "tables": [], "related": [{"url": "/wiki/storage/storage-file-layout/?v=13", "label": "\u6570\u636e\u5e93\u6587\u4ef6\u5e03\u5c40"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v13.23/postgresql-13.23.tar.bz2", "label": "13.23", "major": "13", "channel": "stable", "revision": "6ec3c82726af92b7dec873fa1cdf881eca92a4219787dfad05acb6b10e041fd6"}, "sources": [{"url": "/docs/13/storage-file-layout.html", "path": "storage-file-layout.html", "label": "PostgreSQL 13 English manual", "sha256": "2c839dc903912e2950982d087d63ebb1a03d2818c75443e237320784aa6443f8"}], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-identity", "manual": {"url": "/zh/docs/13/storage.html#STORAGE-FILE-LAYOUT", "anchor": "STORAGE-FILE-LAYOUT", "locale": "zh-Hans", "version": "13", "build_id": 66, "page_key": "storage.html", "extraction": "concept-introduction", "source_hash": "efed129aff91f45e831c56ca2e3ffb09a4a8d573ef1140b791d8591907504598", "fragment_sha256": "36f8580507ed8a50ae07a7d827df5bad00f0510ead702e3ad12b756fad9e8447", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "snapshot:sha256:a13a825c39f0268ef1cfe9137e283e38d0da73b2d7894f0733c7b26372a4f6a4", "translated_from_revision": null}, "body_sha256": "e3e3085b228f3600b464ec940971f5d1e0cfb3b8bea5ec389a3930f20ebc5cba", "runtime_rerun": false, "authored_translation": "source-derived-identity", "source_facts_revision": "6ec3c82726af92b7dec873fa1cdf881eca92a4219787dfad05acb6b10e041fd6"}, "facts_zh": [{"label": "\u5173\u7cfb\u5206\u53c9", "value": "vm"}], "sections": [], "center_zh": {"title": "vm fork", "locale": "zh-Hans", "source": {"key": "fork-vm", "locale": "zh-Hans", "version": "13", "text_hash": "9b32e646c83527ec6d5d98a331b9d47b55037af5090516575f78bcb61182f88e", "collection": "storage", "dataset_hash": "7c31b524dfe136022d39a6ae8dcfac6b3bbd5f8fdaf422536599981252aff0c9", "source_database": "center", "source_revision": "6ec3c82726af92b7dec873fa1cdf881eca92a4219787dfad05acb6b10e041fd6"}, "payload": {"facts": [{"label": "\u5173\u7cfb\u5206\u53c9", "value": "vm"}], "tables": [], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-identity", "manual": {"url": "/zh/docs/13/storage.html#STORAGE-FILE-LAYOUT", "anchor": "STORAGE-FILE-LAYOUT", "locale": "zh-Hans", "version": "13", "build_id": 66, "page_key": "storage.html", "extraction": "concept-introduction", "source_hash": "efed129aff91f45e831c56ca2e3ffb09a4a8d573ef1140b791d8591907504598", "fragment_sha256": "36f8580507ed8a50ae07a7d827df5bad00f0510ead702e3ad12b756fad9e8447", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "snapshot:sha256:a13a825c39f0268ef1cfe9137e283e38d0da73b2d7894f0733c7b26372a4f6a4", "translated_from_revision": null}, "body_sha256": "e3e3085b228f3600b464ec940971f5d1e0cfb3b8bea5ec389a3930f20ebc5cba", "runtime_rerun": false, "authored_translation": "source-derived-identity", "source_facts_revision": "6ec3c82726af92b7dec873fa1cdf881eca92a4219787dfad05acb6b10e041fd6"}, "sections": [], "description_zh": "\u672c\u8282\u4ece\u6587\u4ef6\u548c\u76ee\u5f55\u7684\u5c42\u6b21\u63cf\u8ff0\u5b58\u50a8\u683c\u5f0f\u3002 \u4f20\u7edf\u4e0a\uff0c\u6570\u636e\u5e93\u96c6\u7c07\u6240\u4f7f\u7528\u7684\u914d\u7f6e\u6587\u4ef6\u548c\u6570\u636e\u6587\u4ef6\u90fd\u5b58\u653e\u5728\u96c6\u7c07\u7684\u6570\u636e\u76ee\u5f55\u4e2d\uff0c\u8fd9\u4e2a\u76ee\u5f55\u901a\u5e38\u79f0\u4e3a PGDATA \uff08\u540d\u5b57\u6765\u81ea\u53ef\u7528\u4e8e\u5b9a\u4e49\u5b83\u7684\u73af\u5883\u53d8\u91cf\uff09\u3002 PGDATA \u7684\u4e00\u4e2a\u5e38\u89c1\u4f4d\u7f6e\u662f /var/lib/pgsql/data \u3002\u540c\u4e00\u53f0\u673a\u5668\u4e0a\u53ef\u4ee5\u5b58\u5728\u591a\u4e2a\u7531\u4e0d\u540c\u670d\u52a1\u5668\u5b9e\u4f8b\u7ba1\u7406\u7684\u96c6\u7c07\u3002 PGDATA \u76ee\u5f55\u5305\u542b\u82e5\u5e72\u5b50\u76ee\u5f55\u548c\u63a7\u5236\u6587\u4ef6\uff0c\u5982 \u8868 69.1 \u6240\u793a\u3002\u9664\u8fd9\u4e9b\u5fc5\u9700\u9879\u4e4b\u5916\uff0c\u96c6\u7c07\u914d\u7f6e\u6587\u4ef6 postgresql.conf \u3001 pg_hba.conf \u548c pg_ident.conf \u4f20\u7edf\u4e0a\u4e5f\u5b58\u653e\u5728 PGDATA \u4e2d\uff0c\u4e0d\u8fc7\u4e5f\u53ef\u4ee5\u628a\u5b83\u4eec\u653e\u5728\u5176\u4ed6\u5730\u65b9\u3002 \u5bf9\u4e8e\u96c6\u7c07\u4e2d\u7684\u6bcf\u4e2a\u6570\u636e\u5e93\uff0c PGDATA /base \u4e2d\u90fd\u6709\u4e00\u4e2a\u5b50\u76ee\u5f55\uff0c\u5176\u540d\u79f0\u662f\u8be5\u6570\u636e\u5e93\u5728 pg_database \u4e2d\u7684 OID\u3002\u8fd9\u4e2a\u5b50\u76ee\u5f55\u662f\u8be5\u6570\u636e\u5e93\u6587\u4ef6\u7684\u9ed8\u8ba4\u4f4d\u7f6e\uff1b\u7279\u522b\u662f\uff0c\u5b83\u7684\u7cfb\u7edf\u76ee\u5f55\u5c31\u5b58\u653e\u5728\u8fd9\u91cc\u3002", "description_zh_html": "<p>\u5b58\u50a8\u7ed3\u6784 fork-vm\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n\u672c\u8282\u4ece\u6587\u4ef6\u548c\u76ee\u5f55\u7684\u5c42\u6b21\u63cf\u8ff0\u5b58\u50a8\u683c\u5f0f\u3002\n</p><p>\n\u4f20\u7edf\u4e0a\uff0c\u6570\u636e\u5e93\u96c6\u7c07\u6240\u4f7f\u7528\u7684\u914d\u7f6e\u6587\u4ef6\u548c\u6570\u636e\u6587\u4ef6\u90fd\u5b58\u653e\u5728\u96c6\u7c07\u7684\u6570\u636e\u76ee\u5f55\u4e2d\uff0c\u8fd9\u4e2a\u76ee\u5f55\u901a\u5e38\u79f0\u4e3a <code class=\"varname\">PGDATA</code>\uff08\u540d\u5b57\u6765\u81ea\u53ef\u7528\u4e8e\u5b9a\u4e49\u5b83\u7684\u73af\u5883\u53d8\u91cf\uff09\u3002<code class=\"varname\">PGDATA</code> \u7684\u4e00\u4e2a\u5e38\u89c1\u4f4d\u7f6e\u662f\n<code class=\"filename\">/var/lib/pgsql/data</code>\u3002\u540c\u4e00\u53f0\u673a\u5668\u4e0a\u53ef\u4ee5\u5b58\u5728\u591a\u4e2a\u7531\u4e0d\u540c\u670d\u52a1\u5668\u5b9e\u4f8b\u7ba1\u7406\u7684\u96c6\u7c07\u3002\n</p><p>\n<code class=\"varname\">PGDATA</code> \u76ee\u5f55\u5305\u542b\u82e5\u5e72\u5b50\u76ee\u5f55\u548c\u63a7\u5236\u6587\u4ef6\uff0c\u5982<a class=\"xref\" href=\"/zh/docs/13/storage.html#PGDATA-CONTENTS-TABLE\">\u8868\u00a069.1</a> \u6240\u793a\u3002\u9664\u8fd9\u4e9b\u5fc5\u9700\u9879\u4e4b\u5916\uff0c\u96c6\u7c07\u914d\u7f6e\u6587\u4ef6\n<code class=\"filename\">postgresql.conf</code>\u3001<code class=\"filename\">pg_hba.conf</code> \u548c\n<code class=\"filename\">pg_ident.conf</code> \u4f20\u7edf\u4e0a\u4e5f\u5b58\u653e\u5728 <code class=\"varname\">PGDATA</code>\n\u4e2d\uff0c\u4e0d\u8fc7\u4e5f\u53ef\u4ee5\u628a\u5b83\u4eec\u653e\u5728\u5176\u4ed6\u5730\u65b9\u3002\n</p><p>\n\u5bf9\u4e8e\u96c6\u7c07\u4e2d\u7684\u6bcf\u4e2a\u6570\u636e\u5e93\uff0c<code class=\"varname\">PGDATA</code><code class=\"filename\">/base</code>\n\u4e2d\u90fd\u6709\u4e00\u4e2a\u5b50\u76ee\u5f55\uff0c\u5176\u540d\u79f0\u662f\u8be5\u6570\u636e\u5e93\u5728 <code class=\"structname\">pg_database</code>\n\u4e2d\u7684 OID\u3002\u8fd9\u4e2a\u5b50\u76ee\u5f55\u662f\u8be5\u6570\u636e\u5e93\u6587\u4ef6\u7684\u9ed8\u8ba4\u4f4d\u7f6e\uff1b\u7279\u522b\u662f\uff0c\u5b83\u7684\u7cfb\u7edf\u76ee\u5f55\u5c31\u5b58\u653e\u5728\u8fd9\u91cc\u3002\n</p><p><a href=\"/zh/docs/13/storage.html#STORAGE-FILE-LAYOUT\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "summary": "\u672c\u8282\u4ece\u6587\u4ef6\u548c\u76ee\u5f55\u7684\u5c42\u6b21\u63cf\u8ff0\u5b58\u50a8\u683c\u5f0f\u3002 \u4f20\u7edf\u4e0a\uff0c\u6570\u636e\u5e93\u96c6\u7c07\u6240\u4f7f\u7528\u7684\u914d\u7f6e\u6587\u4ef6\u548c\u6570\u636e\u6587\u4ef6\u90fd\u5b58\u653e\u5728\u96c6\u7c07\u7684\u6570\u636e\u76ee\u5f55\u4e2d\uff0c\u8fd9\u4e2a\u76ee\u5f55\u901a\u5e38\u79f0\u4e3a PGDATA \uff08\u540d\u5b57\u6765\u81ea\u53ef\u7528\u4e8e\u5b9a\u4e49\u5b83\u7684\u73af\u5883\u53d8\u91cf\uff09\u3002 PGDATA \u7684\u4e00\u4e2a\u5e38\u89c1\u4f4d\u7f6e\u662f /var/lib/pgsql/data \u3002\u540c\u4e00\u53f0\u673a\u5668\u4e0a\u53ef\u4ee5\u5b58\u5728\u591a\u4e2a\u7531\u4e0d\u540c\u670d\u52a1\u5668\u5b9e\u4f8b\u7ba1\u7406\u7684\u96c6\u7c07\u3002 PGDATA \u76ee\u5f55\u5305\u542b\u82e5\u5e72\u5b50\u76ee\u5f55\u548c\u63a7\u5236\u6587\u4ef6\uff0c\u5982 \u8868 69.1 \u6240\u793a\u3002\u9664\u8fd9\u4e9b\u5fc5\u9700\u9879\u4e4b\u5916\uff0c\u96c6\u7c07\u914d\u7f6e\u6587\u4ef6 postgresql.conf \u3001 pg_hba.conf \u548c pg_ident.conf \u4f20\u7edf\u4e0a\u4e5f\u5b58\u653e\u5728 PGDATA \u4e2d\uff0c\u4e0d\u8fc7\u4e5f\u53ef\u4ee5\u628a\u5b83\u4eec\u653e\u5728\u5176\u4ed6\u5730\u65b9\u3002 \u5bf9\u4e8e\u96c6\u7c07\u4e2d\u7684\u6bcf\u4e2a\u6570\u636e\u5e93\uff0c PGDATA /base \u4e2d\u90fd\u6709\u4e00\u4e2a\u5b50\u76ee\u5f55\uff0c\u5176\u540d\u79f0\u662f\u8be5\u6570\u636e\u5e93\u5728 pg_database \u4e2d\u7684 OID\u3002\u8fd9\u4e2a\u5b50\u76ee\u5f55\u662f\u8be5\u6570\u636e\u5e93\u6587\u4ef6\u7684\u9ed8\u8ba4\u4f4d\u7f6e\uff1b\u7279\u522b\u662f\uff0c\u5b83\u7684\u7cfb\u7edf\u76ee\u5f55\u5c31\u5b58\u653e\u5728\u8fd9\u91cc\u3002", "version": "13", "link_map": {"/zh/docs/13/storage.html#STORAGE-FILE-LAYOUT": "/docs/13/storage.html#STORAGE-FILE-LAYOUT", "/zh/docs/13/storage.html#PGDATA-CONTENTS-TABLE": "/docs/13/storage.html#PGDATA-CONTENTS-TABLE"}, "body_html": "<p>\u5b58\u50a8\u7ed3\u6784 fork-vm\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n\u672c\u8282\u4ece\u6587\u4ef6\u548c\u76ee\u5f55\u7684\u5c42\u6b21\u63cf\u8ff0\u5b58\u50a8\u683c\u5f0f\u3002\n</p><p>\n\u4f20\u7edf\u4e0a\uff0c\u6570\u636e\u5e93\u96c6\u7c07\u6240\u4f7f\u7528\u7684\u914d\u7f6e\u6587\u4ef6\u548c\u6570\u636e\u6587\u4ef6\u90fd\u5b58\u653e\u5728\u96c6\u7c07\u7684\u6570\u636e\u76ee\u5f55\u4e2d\uff0c\u8fd9\u4e2a\u76ee\u5f55\u901a\u5e38\u79f0\u4e3a <code>PGDATA</code>\uff08\u540d\u5b57\u6765\u81ea\u53ef\u7528\u4e8e\u5b9a\u4e49\u5b83\u7684\u73af\u5883\u53d8\u91cf\uff09\u3002<code>PGDATA</code> \u7684\u4e00\u4e2a\u5e38\u89c1\u4f4d\u7f6e\u662f\n<code>/var/lib/pgsql/data</code>\u3002\u540c\u4e00\u53f0\u673a\u5668\u4e0a\u53ef\u4ee5\u5b58\u5728\u591a\u4e2a\u7531\u4e0d\u540c\u670d\u52a1\u5668\u5b9e\u4f8b\u7ba1\u7406\u7684\u96c6\u7c07\u3002\n</p><p>\n<code>PGDATA</code> \u76ee\u5f55\u5305\u542b\u82e5\u5e72\u5b50\u76ee\u5f55\u548c\u63a7\u5236\u6587\u4ef6\uff0c\u5982<a href=\"/zh/docs/13/storage.html#PGDATA-CONTENTS-TABLE\" rel=\"nofollow\">\u8868\u00a069.1</a> \u6240\u793a\u3002\u9664\u8fd9\u4e9b\u5fc5\u9700\u9879\u4e4b\u5916\uff0c\u96c6\u7c07\u914d\u7f6e\u6587\u4ef6\n<code>postgresql.conf</code>\u3001<code>pg_hba.conf</code> \u548c\n<code>pg_ident.conf</code> \u4f20\u7edf\u4e0a\u4e5f\u5b58\u653e\u5728 <code>PGDATA</code>\n\u4e2d\uff0c\u4e0d\u8fc7\u4e5f\u53ef\u4ee5\u628a\u5b83\u4eec\u653e\u5728\u5176\u4ed6\u5730\u65b9\u3002\n</p><p>\n\u5bf9\u4e8e\u96c6\u7c07\u4e2d\u7684\u6bcf\u4e2a\u6570\u636e\u5e93\uff0c<code>PGDATA</code><code>/base</code>\n\u4e2d\u90fd\u6709\u4e00\u4e2a\u5b50\u76ee\u5f55\uff0c\u5176\u540d\u79f0\u662f\u8be5\u6570\u636e\u5e93\u5728 <code>pg_database</code>\n\u4e2d\u7684 OID\u3002\u8fd9\u4e2a\u5b50\u76ee\u5f55\u662f\u8be5\u6570\u636e\u5e93\u6587\u4ef6\u7684\u9ed8\u8ba4\u4f4d\u7f6e\uff1b\u7279\u522b\u662f\uff0c\u5b83\u7684\u7cfb\u7edf\u76ee\u5f55\u5c31\u5b58\u653e\u5728\u8fd9\u91cc\u3002\n</p><p><a href=\"/zh/docs/13/storage.html#STORAGE-FILE-LAYOUT\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>", "body_sha256": "e8647a6a8b4ee5e1f70f87f241548b4e19919e02bb666ec5322edc8a761170ef", "content_hash": "9b32e646c83527ec6d5d98a331b9d47b55037af5090516575f78bcb61182f88e", "source_database": "center", "source_revision": "6ec3c82726af92b7dec873fa1cdf881eca92a4219787dfad05acb6b10e041fd6"}, "signature": "", "tables_zh": [], "description": ["\u672c\u8282\u4ece\u6587\u4ef6\u548c\u76ee\u5f55\u7684\u5c42\u6b21\u63cf\u8ff0\u5b58\u50a8\u683c\u5f0f\u3002 \u4f20\u7edf\u4e0a\uff0c\u6570\u636e\u5e93\u96c6\u7c07\u6240\u4f7f\u7528\u7684\u914d\u7f6e\u6587\u4ef6\u548c\u6570\u636e\u6587\u4ef6\u90fd\u5b58\u653e\u5728\u96c6\u7c07\u7684\u6570\u636e\u76ee\u5f55\u4e2d\uff0c\u8fd9\u4e2a\u76ee\u5f55\u901a\u5e38\u79f0\u4e3a PGDATA \uff08\u540d\u5b57\u6765\u81ea\u53ef\u7528\u4e8e\u5b9a\u4e49\u5b83\u7684\u73af\u5883\u53d8\u91cf\uff09\u3002 PGDATA \u7684\u4e00\u4e2a\u5e38\u89c1\u4f4d\u7f6e\u662f /var/lib/pgsql/data \u3002\u540c\u4e00\u53f0\u673a\u5668\u4e0a\u53ef\u4ee5\u5b58\u5728\u591a\u4e2a\u7531\u4e0d\u540c\u670d\u52a1\u5668\u5b9e\u4f8b\u7ba1\u7406\u7684\u96c6\u7c07\u3002 PGDATA \u76ee\u5f55\u5305\u542b\u82e5\u5e72\u5b50\u76ee\u5f55\u548c\u63a7\u5236\u6587\u4ef6\uff0c\u5982 \u8868 69.1 \u6240\u793a\u3002\u9664\u8fd9\u4e9b\u5fc5\u9700\u9879\u4e4b\u5916\uff0c\u96c6\u7c07\u914d\u7f6e\u6587\u4ef6 postgresql.conf \u3001 pg_hba.conf \u548c pg_ident.conf \u4f20\u7edf\u4e0a\u4e5f\u5b58\u653e\u5728 PGDATA \u4e2d\uff0c\u4e0d\u8fc7\u4e5f\u53ef\u4ee5\u628a\u5b83\u4eec\u653e\u5728\u5176\u4ed6\u5730\u65b9\u3002 \u5bf9\u4e8e\u96c6\u7c07\u4e2d\u7684\u6bcf\u4e2a\u6570\u636e\u5e93\uff0c PGDATA /base \u4e2d\u90fd\u6709\u4e00\u4e2a\u5b50\u76ee\u5f55\uff0c\u5176\u540d\u79f0\u662f\u8be5\u6570\u636e\u5e93\u5728 pg_database \u4e2d\u7684 OID\u3002\u8fd9\u4e2a\u5b50\u76ee\u5f55\u662f\u8be5\u6570\u636e\u5e93\u6587\u4ef6\u7684\u9ed8\u8ba4\u4f4d\u7f6e\uff1b\u7279\u522b\u662f\uff0c\u5b83\u7684\u7cfb\u7edf\u76ee\u5f55\u5c31\u5b58\u653e\u5728\u8fd9\u91cc\u3002"], "manual_html": "", "manual_path": "/docs/13/storage-file-layout.html", "sections_zh": [], "localization": {"status": "complete", "sources": [], "language": "zh", "original_text": {"/versions/13/description/0": "Each table and index is stored in a separate file. For ordinary relations, these files are named after the table or index's filenode number, which can be found in pg_class . relfilenode . But for temporary relations, the file name is of the form t BBB _ FFF , where BBB is the backend ID of the backend which created the file, and FFF is the filenode number. In either case, in addition to the main file (a/k/a main fork), each table and index has a free space map (see Section 69.3 ), which stores information about free space available in the relation. The free space map is stored in a file named with the filenode number plus the suffix _fsm . Tables also have a visibility map , stored in a fork with the suffix _vm , to track which pages are known to have no dead tuples. The visibility map is described further in Section 69.4 . Unlogged tables and indexes have a third fork, known as the initialization fork, which is stored in a fork with the suffix _init (see Section 69.5 ).", "/versions/13/description/1": "When a table or index exceeds 1 GB, it is divided into gigabyte-sized segments . The first segment's file name is the same as the filenode; subsequent segments are named filenode.1, filenode.2, etc. This arrangement avoids problems on platforms that have file size limitations. (Actually, 1 GB is just the default segment size. The segment size can be adjusted using the configuration option --with-segsize when building PostgreSQL .) In principle, free space map and visibility map forks could require multiple segments as well, though this is unlikely to happen in practice.", "/versions/13/facts/0/label": "Fork", "/versions/13/related/0/label": "Database file layout"}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "4c9b6973e1f31eecf21715482a5cc78410409af9acaa67825365088925e40409", "canonical_center_text_hash": "9b32e646c83527ec6d5d98a331b9d47b55037af5090516575f78bcb61182f88e"}, "description_zh": "\u672c\u8282\u4ece\u6587\u4ef6\u548c\u76ee\u5f55\u7684\u5c42\u6b21\u63cf\u8ff0\u5b58\u50a8\u683c\u5f0f\u3002 \u4f20\u7edf\u4e0a\uff0c\u6570\u636e\u5e93\u96c6\u7c07\u6240\u4f7f\u7528\u7684\u914d\u7f6e\u6587\u4ef6\u548c\u6570\u636e\u6587\u4ef6\u90fd\u5b58\u653e\u5728\u96c6\u7c07\u7684\u6570\u636e\u76ee\u5f55\u4e2d\uff0c\u8fd9\u4e2a\u76ee\u5f55\u901a\u5e38\u79f0\u4e3a PGDATA \uff08\u540d\u5b57\u6765\u81ea\u53ef\u7528\u4e8e\u5b9a\u4e49\u5b83\u7684\u73af\u5883\u53d8\u91cf\uff09\u3002 PGDATA \u7684\u4e00\u4e2a\u5e38\u89c1\u4f4d\u7f6e\u662f /var/lib/pgsql/data \u3002\u540c\u4e00\u53f0\u673a\u5668\u4e0a\u53ef\u4ee5\u5b58\u5728\u591a\u4e2a\u7531\u4e0d\u540c\u670d\u52a1\u5668\u5b9e\u4f8b\u7ba1\u7406\u7684\u96c6\u7c07\u3002 PGDATA \u76ee\u5f55\u5305\u542b\u82e5\u5e72\u5b50\u76ee\u5f55\u548c\u63a7\u5236\u6587\u4ef6\uff0c\u5982 \u8868 69.1 \u6240\u793a\u3002\u9664\u8fd9\u4e9b\u5fc5\u9700\u9879\u4e4b\u5916\uff0c\u96c6\u7c07\u914d\u7f6e\u6587\u4ef6 postgresql.conf \u3001 pg_hba.conf \u548c pg_ident.conf \u4f20\u7edf\u4e0a\u4e5f\u5b58\u653e\u5728 PGDATA \u4e2d\uff0c\u4e0d\u8fc7\u4e5f\u53ef\u4ee5\u628a\u5b83\u4eec\u653e\u5728\u5176\u4ed6\u5730\u65b9\u3002 \u5bf9\u4e8e\u96c6\u7c07\u4e2d\u7684\u6bcf\u4e2a\u6570\u636e\u5e93\uff0c PGDATA /base \u4e2d\u90fd\u6709\u4e00\u4e2a\u5b50\u76ee\u5f55\uff0c\u5176\u540d\u79f0\u662f\u8be5\u6570\u636e\u5e93\u5728 pg_database \u4e2d\u7684 OID\u3002\u8fd9\u4e2a\u5b50\u76ee\u5f55\u662f\u8be5\u6570\u636e\u5e93\u6587\u4ef6\u7684\u9ed8\u8ba4\u4f4d\u7f6e\uff1b\u7279\u522b\u662f\uff0c\u5b83\u7684\u7cfb\u7edf\u76ee\u5f55\u5c31\u5b58\u653e\u5728\u8fd9\u91cc\u3002", "comparison_data": {"fork": "vm"}, "comparison_hash": "0f7e444c74befed2e9e038b208922f35c10a3caa1ec789947fda5dd19339d4d4", "manual_language": "zh", "description_zh_html": "<p>\u5b58\u50a8\u7ed3\u6784 fork-vm\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n\u672c\u8282\u4ece\u6587\u4ef6\u548c\u76ee\u5f55\u7684\u5c42\u6b21\u63cf\u8ff0\u5b58\u50a8\u683c\u5f0f\u3002\n</p><p>\n\u4f20\u7edf\u4e0a\uff0c\u6570\u636e\u5e93\u96c6\u7c07\u6240\u4f7f\u7528\u7684\u914d\u7f6e\u6587\u4ef6\u548c\u6570\u636e\u6587\u4ef6\u90fd\u5b58\u653e\u5728\u96c6\u7c07\u7684\u6570\u636e\u76ee\u5f55\u4e2d\uff0c\u8fd9\u4e2a\u76ee\u5f55\u901a\u5e38\u79f0\u4e3a <code>PGDATA</code>\uff08\u540d\u5b57\u6765\u81ea\u53ef\u7528\u4e8e\u5b9a\u4e49\u5b83\u7684\u73af\u5883\u53d8\u91cf\uff09\u3002<code>PGDATA</code> \u7684\u4e00\u4e2a\u5e38\u89c1\u4f4d\u7f6e\u662f\n<code>/var/lib/pgsql/data</code>\u3002\u540c\u4e00\u53f0\u673a\u5668\u4e0a\u53ef\u4ee5\u5b58\u5728\u591a\u4e2a\u7531\u4e0d\u540c\u670d\u52a1\u5668\u5b9e\u4f8b\u7ba1\u7406\u7684\u96c6\u7c07\u3002\n</p><p>\n<code>PGDATA</code> \u76ee\u5f55\u5305\u542b\u82e5\u5e72\u5b50\u76ee\u5f55\u548c\u63a7\u5236\u6587\u4ef6\uff0c\u5982<a href=\"/zh/docs/13/storage.html#PGDATA-CONTENTS-TABLE\" rel=\"nofollow\">\u8868\u00a069.1</a> \u6240\u793a\u3002\u9664\u8fd9\u4e9b\u5fc5\u9700\u9879\u4e4b\u5916\uff0c\u96c6\u7c07\u914d\u7f6e\u6587\u4ef6\n<code>postgresql.conf</code>\u3001<code>pg_hba.conf</code> \u548c\n<code>pg_ident.conf</code> \u4f20\u7edf\u4e0a\u4e5f\u5b58\u653e\u5728 <code>PGDATA</code>\n\u4e2d\uff0c\u4e0d\u8fc7\u4e5f\u53ef\u4ee5\u628a\u5b83\u4eec\u653e\u5728\u5176\u4ed6\u5730\u65b9\u3002\n</p><p>\n\u5bf9\u4e8e\u96c6\u7c07\u4e2d\u7684\u6bcf\u4e2a\u6570\u636e\u5e93\uff0c<code>PGDATA</code><code>/base</code>\n\u4e2d\u90fd\u6709\u4e00\u4e2a\u5b50\u76ee\u5f55\uff0c\u5176\u540d\u79f0\u662f\u8be5\u6570\u636e\u5e93\u5728 <code>pg_database</code>\n\u4e2d\u7684 OID\u3002\u8fd9\u4e2a\u5b50\u76ee\u5f55\u662f\u8be5\u6570\u636e\u5e93\u6587\u4ef6\u7684\u9ed8\u8ba4\u4f4d\u7f6e\uff1b\u7279\u522b\u662f\uff0c\u5b83\u7684\u7cfb\u7edf\u76ee\u5f55\u5c31\u5b58\u653e\u5728\u8fd9\u91cc\u3002\n</p><p><a href=\"/zh/docs/13/storage.html#STORAGE-FILE-LAYOUT\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "14": {"facts": [{"label": "\u5173\u7cfb\u5206\u53c9", "value": "vm"}], "tables": [], "related": [{"url": "/wiki/storage/storage-file-layout/?v=14", "label": "\u6570\u636e\u5e93\u6587\u4ef6\u5e03\u5c40"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v14.24/postgresql-14.24.tar.bz2", "label": "14.24", "major": "14", "channel": "stable", "revision": "a7fa7ed3d558172355f51406097a7bd4f6b473be80f311ef7cda96bf383d8897"}, "sources": [{"url": "/docs/14/storage-file-layout.html", "path": "storage-file-layout.html", "label": "PostgreSQL 14 English manual", "sha256": "6321dbd90cb8a8dfdc90c0e1caeaf3d480705176bba0428510fd986fe681eae3"}], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-identity", "manual": {"url": "/zh/docs/14/storage.html#STORAGE-FILE-LAYOUT", "anchor": "STORAGE-FILE-LAYOUT", "locale": "zh-Hans", "version": "14", "build_id": 99, "page_key": "storage.html", "extraction": "concept-introduction", "source_hash": "3dc0761a8e7141eb56d10a6f2a02ef28cf806c4a3d31fe0e22fd459d9d2bc9bb", "fragment_sha256": "8fa88adce13c16840a57633d5cef3e8698b75083cf224709546b8acf94330e07", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "git:b1b500221dbe5437cfca004d6b04d3f6e422765d;html-sha256:87e6aa4fd6e1ec85c5f4a6de4f5647cfd9e5de734ca2c266d32b6d6192c662ef", "translated_from_revision": null}, "body_sha256": "dca2337182f677b4dba59702c7357fbf5a3df215bb14600ae44c8be162370b24", "runtime_rerun": false, "authored_translation": "source-derived-identity", "source_facts_revision": "a7fa7ed3d558172355f51406097a7bd4f6b473be80f311ef7cda96bf383d8897"}, "facts_zh": [{"label": "\u5173\u7cfb\u5206\u53c9", "value": "vm"}], "sections": [], "center_zh": {"title": "vm fork", "locale": "zh-Hans", "source": {"key": "fork-vm", "locale": "zh-Hans", "version": "14", "text_hash": "3da900ec464fe92c3809f03d4e73ec0d220940a4b2dc2de5e5811145481db93f", "collection": "storage", "dataset_hash": "7c31b524dfe136022d39a6ae8dcfac6b3bbd5f8fdaf422536599981252aff0c9", "source_database": "center", "source_revision": "a7fa7ed3d558172355f51406097a7bd4f6b473be80f311ef7cda96bf383d8897"}, "payload": {"facts": [{"label": "\u5173\u7cfb\u5206\u53c9", "value": "vm"}], "tables": [], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-identity", "manual": {"url": "/zh/docs/14/storage.html#STORAGE-FILE-LAYOUT", "anchor": "STORAGE-FILE-LAYOUT", "locale": "zh-Hans", "version": "14", "build_id": 99, "page_key": "storage.html", "extraction": "concept-introduction", "source_hash": "3dc0761a8e7141eb56d10a6f2a02ef28cf806c4a3d31fe0e22fd459d9d2bc9bb", "fragment_sha256": "8fa88adce13c16840a57633d5cef3e8698b75083cf224709546b8acf94330e07", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "git:b1b500221dbe5437cfca004d6b04d3f6e422765d;html-sha256:87e6aa4fd6e1ec85c5f4a6de4f5647cfd9e5de734ca2c266d32b6d6192c662ef", "translated_from_revision": null}, "body_sha256": "dca2337182f677b4dba59702c7357fbf5a3df215bb14600ae44c8be162370b24", "runtime_rerun": false, "authored_translation": "source-derived-identity", "source_facts_revision": "a7fa7ed3d558172355f51406097a7bd4f6b473be80f311ef7cda96bf383d8897"}, "sections": [], "description_zh": "\u672c\u8282\u4ece\u6587\u4ef6\u548c\u76ee\u5f55\u7684\u5c42\u6b21\u63cf\u8ff0\u5b58\u50a8\u683c\u5f0f\u3002 \u4f20\u7edf\u4e0a\uff0c\u6570\u636e\u5e93\u96c6\u7c07\u6240\u4f7f\u7528\u7684\u914d\u7f6e\u6587\u4ef6\u548c\u6570\u636e\u6587\u4ef6\u90fd\u5b58\u653e\u5728\u96c6\u7c07\u7684\u6570\u636e\u76ee\u5f55\u4e2d\uff0c\u8fd9\u4e2a\u76ee\u5f55\u901a\u5e38\u79f0\u4e3a PGDATA \uff08\u540d\u5b57\u6765\u81ea\u53ef\u7528\u4e8e\u5b9a\u4e49\u5b83\u7684\u73af\u5883\u53d8\u91cf\uff09\u3002 PGDATA \u7684\u4e00\u4e2a\u5e38\u89c1\u4f4d\u7f6e\u662f /var/lib/pgsql/data \u3002\u540c\u4e00\u53f0\u673a\u5668\u4e0a\u53ef\u4ee5\u5b58\u5728\u591a\u4e2a\u7531\u4e0d\u540c\u670d\u52a1\u5668\u5b9e\u4f8b\u7ba1\u7406\u7684\u96c6\u7c07\u3002 PGDATA \u76ee\u5f55\u5305\u542b\u82e5\u5e72\u5b50\u76ee\u5f55\u548c\u63a7\u5236\u6587\u4ef6\uff0c\u5982 \u8868 70.1 \u6240\u793a\u3002\u9664\u8fd9\u4e9b\u5fc5\u9700\u9879\u4e4b\u5916\uff0c\u96c6\u7c07\u914d\u7f6e\u6587\u4ef6 postgresql.conf \u3001 pg_hba.conf \u548c pg_ident.conf \u4f20\u7edf\u4e0a\u4e5f\u5b58\u653e\u5728 PGDATA \u4e2d\uff0c\u4e0d\u8fc7\u4e5f\u53ef\u4ee5\u628a\u5b83\u4eec\u653e\u5728\u5176\u4ed6\u5730\u65b9\u3002 \u5bf9\u4e8e\u96c6\u7c07\u4e2d\u7684\u6bcf\u4e2a\u6570\u636e\u5e93\uff0c PGDATA /base \u4e2d\u90fd\u6709\u4e00\u4e2a\u5b50\u76ee\u5f55\uff0c\u5176\u540d\u79f0\u662f\u8be5\u6570\u636e\u5e93\u5728 pg_database \u4e2d\u7684 OID\u3002\u8fd9\u4e2a\u5b50\u76ee\u5f55\u662f\u8be5\u6570\u636e\u5e93\u6587\u4ef6\u7684\u9ed8\u8ba4\u4f4d\u7f6e\uff1b\u7279\u522b\u662f\uff0c\u5b83\u7684\u7cfb\u7edf\u76ee\u5f55\u5c31\u5b58\u653e\u5728\u8fd9\u91cc\u3002", "description_zh_html": "<p>\u5b58\u50a8\u7ed3\u6784 fork-vm\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n\u672c\u8282\u4ece\u6587\u4ef6\u548c\u76ee\u5f55\u7684\u5c42\u6b21\u63cf\u8ff0\u5b58\u50a8\u683c\u5f0f\u3002\n</p><p>\n\u4f20\u7edf\u4e0a\uff0c\u6570\u636e\u5e93\u96c6\u7c07\u6240\u4f7f\u7528\u7684\u914d\u7f6e\u6587\u4ef6\u548c\u6570\u636e\u6587\u4ef6\u90fd\u5b58\u653e\u5728\u96c6\u7c07\u7684\u6570\u636e\u76ee\u5f55\u4e2d\uff0c\u8fd9\u4e2a\u76ee\u5f55\u901a\u5e38\u79f0\u4e3a <code class=\"varname\">PGDATA</code>\uff08\u540d\u5b57\u6765\u81ea\u53ef\u7528\u4e8e\u5b9a\u4e49\u5b83\u7684\u73af\u5883\u53d8\u91cf\uff09\u3002<code class=\"varname\">PGDATA</code> \u7684\u4e00\u4e2a\u5e38\u89c1\u4f4d\u7f6e\u662f\n<code class=\"filename\">/var/lib/pgsql/data</code>\u3002\u540c\u4e00\u53f0\u673a\u5668\u4e0a\u53ef\u4ee5\u5b58\u5728\u591a\u4e2a\u7531\u4e0d\u540c\u670d\u52a1\u5668\u5b9e\u4f8b\u7ba1\u7406\u7684\u96c6\u7c07\u3002\n</p><p>\n<code class=\"varname\">PGDATA</code> \u76ee\u5f55\u5305\u542b\u82e5\u5e72\u5b50\u76ee\u5f55\u548c\u63a7\u5236\u6587\u4ef6\uff0c\u5982<a class=\"xref\" href=\"/zh/docs/14/storage.html#PGDATA-CONTENTS-TABLE\">\u8868\u00a070.1</a> \u6240\u793a\u3002\u9664\u8fd9\u4e9b\u5fc5\u9700\u9879\u4e4b\u5916\uff0c\u96c6\u7c07\u914d\u7f6e\u6587\u4ef6\n<code class=\"filename\">postgresql.conf</code>\u3001<code class=\"filename\">pg_hba.conf</code> \u548c\n<code class=\"filename\">pg_ident.conf</code> \u4f20\u7edf\u4e0a\u4e5f\u5b58\u653e\u5728 <code class=\"varname\">PGDATA</code>\n\u4e2d\uff0c\u4e0d\u8fc7\u4e5f\u53ef\u4ee5\u628a\u5b83\u4eec\u653e\u5728\u5176\u4ed6\u5730\u65b9\u3002\n</p><p>\n\u5bf9\u4e8e\u96c6\u7c07\u4e2d\u7684\u6bcf\u4e2a\u6570\u636e\u5e93\uff0c<code class=\"varname\">PGDATA</code><code class=\"filename\">/base</code>\n\u4e2d\u90fd\u6709\u4e00\u4e2a\u5b50\u76ee\u5f55\uff0c\u5176\u540d\u79f0\u662f\u8be5\u6570\u636e\u5e93\u5728 <code class=\"structname\">pg_database</code>\n\u4e2d\u7684 OID\u3002\u8fd9\u4e2a\u5b50\u76ee\u5f55\u662f\u8be5\u6570\u636e\u5e93\u6587\u4ef6\u7684\u9ed8\u8ba4\u4f4d\u7f6e\uff1b\u7279\u522b\u662f\uff0c\u5b83\u7684\u7cfb\u7edf\u76ee\u5f55\u5c31\u5b58\u653e\u5728\u8fd9\u91cc\u3002\n</p><p><a href=\"/zh/docs/14/storage.html#STORAGE-FILE-LAYOUT\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "summary": "\u672c\u8282\u4ece\u6587\u4ef6\u548c\u76ee\u5f55\u7684\u5c42\u6b21\u63cf\u8ff0\u5b58\u50a8\u683c\u5f0f\u3002 \u4f20\u7edf\u4e0a\uff0c\u6570\u636e\u5e93\u96c6\u7c07\u6240\u4f7f\u7528\u7684\u914d\u7f6e\u6587\u4ef6\u548c\u6570\u636e\u6587\u4ef6\u90fd\u5b58\u653e\u5728\u96c6\u7c07\u7684\u6570\u636e\u76ee\u5f55\u4e2d\uff0c\u8fd9\u4e2a\u76ee\u5f55\u901a\u5e38\u79f0\u4e3a PGDATA \uff08\u540d\u5b57\u6765\u81ea\u53ef\u7528\u4e8e\u5b9a\u4e49\u5b83\u7684\u73af\u5883\u53d8\u91cf\uff09\u3002 PGDATA \u7684\u4e00\u4e2a\u5e38\u89c1\u4f4d\u7f6e\u662f /var/lib/pgsql/data \u3002\u540c\u4e00\u53f0\u673a\u5668\u4e0a\u53ef\u4ee5\u5b58\u5728\u591a\u4e2a\u7531\u4e0d\u540c\u670d\u52a1\u5668\u5b9e\u4f8b\u7ba1\u7406\u7684\u96c6\u7c07\u3002 PGDATA \u76ee\u5f55\u5305\u542b\u82e5\u5e72\u5b50\u76ee\u5f55\u548c\u63a7\u5236\u6587\u4ef6\uff0c\u5982 \u8868 70.1 \u6240\u793a\u3002\u9664\u8fd9\u4e9b\u5fc5\u9700\u9879\u4e4b\u5916\uff0c\u96c6\u7c07\u914d\u7f6e\u6587\u4ef6 postgresql.conf \u3001 pg_hba.conf \u548c pg_ident.conf \u4f20\u7edf\u4e0a\u4e5f\u5b58\u653e\u5728 PGDATA \u4e2d\uff0c\u4e0d\u8fc7\u4e5f\u53ef\u4ee5\u628a\u5b83\u4eec\u653e\u5728\u5176\u4ed6\u5730\u65b9\u3002 \u5bf9\u4e8e\u96c6\u7c07\u4e2d\u7684\u6bcf\u4e2a\u6570\u636e\u5e93\uff0c PGDATA /base \u4e2d\u90fd\u6709\u4e00\u4e2a\u5b50\u76ee\u5f55\uff0c\u5176\u540d\u79f0\u662f\u8be5\u6570\u636e\u5e93\u5728 pg_database \u4e2d\u7684 OID\u3002\u8fd9\u4e2a\u5b50\u76ee\u5f55\u662f\u8be5\u6570\u636e\u5e93\u6587\u4ef6\u7684\u9ed8\u8ba4\u4f4d\u7f6e\uff1b\u7279\u522b\u662f\uff0c\u5b83\u7684\u7cfb\u7edf\u76ee\u5f55\u5c31\u5b58\u653e\u5728\u8fd9\u91cc\u3002", "version": "14", "link_map": {"/zh/docs/14/storage.html#STORAGE-FILE-LAYOUT": "/docs/14/storage.html#STORAGE-FILE-LAYOUT", "/zh/docs/14/storage.html#PGDATA-CONTENTS-TABLE": "/docs/14/storage.html#PGDATA-CONTENTS-TABLE"}, "body_html": "<p>\u5b58\u50a8\u7ed3\u6784 fork-vm\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n\u672c\u8282\u4ece\u6587\u4ef6\u548c\u76ee\u5f55\u7684\u5c42\u6b21\u63cf\u8ff0\u5b58\u50a8\u683c\u5f0f\u3002\n</p><p>\n\u4f20\u7edf\u4e0a\uff0c\u6570\u636e\u5e93\u96c6\u7c07\u6240\u4f7f\u7528\u7684\u914d\u7f6e\u6587\u4ef6\u548c\u6570\u636e\u6587\u4ef6\u90fd\u5b58\u653e\u5728\u96c6\u7c07\u7684\u6570\u636e\u76ee\u5f55\u4e2d\uff0c\u8fd9\u4e2a\u76ee\u5f55\u901a\u5e38\u79f0\u4e3a <code>PGDATA</code>\uff08\u540d\u5b57\u6765\u81ea\u53ef\u7528\u4e8e\u5b9a\u4e49\u5b83\u7684\u73af\u5883\u53d8\u91cf\uff09\u3002<code>PGDATA</code> \u7684\u4e00\u4e2a\u5e38\u89c1\u4f4d\u7f6e\u662f\n<code>/var/lib/pgsql/data</code>\u3002\u540c\u4e00\u53f0\u673a\u5668\u4e0a\u53ef\u4ee5\u5b58\u5728\u591a\u4e2a\u7531\u4e0d\u540c\u670d\u52a1\u5668\u5b9e\u4f8b\u7ba1\u7406\u7684\u96c6\u7c07\u3002\n</p><p>\n<code>PGDATA</code> \u76ee\u5f55\u5305\u542b\u82e5\u5e72\u5b50\u76ee\u5f55\u548c\u63a7\u5236\u6587\u4ef6\uff0c\u5982<a href=\"/zh/docs/14/storage.html#PGDATA-CONTENTS-TABLE\" rel=\"nofollow\">\u8868\u00a070.1</a> \u6240\u793a\u3002\u9664\u8fd9\u4e9b\u5fc5\u9700\u9879\u4e4b\u5916\uff0c\u96c6\u7c07\u914d\u7f6e\u6587\u4ef6\n<code>postgresql.conf</code>\u3001<code>pg_hba.conf</code> \u548c\n<code>pg_ident.conf</code> \u4f20\u7edf\u4e0a\u4e5f\u5b58\u653e\u5728 <code>PGDATA</code>\n\u4e2d\uff0c\u4e0d\u8fc7\u4e5f\u53ef\u4ee5\u628a\u5b83\u4eec\u653e\u5728\u5176\u4ed6\u5730\u65b9\u3002\n</p><p>\n\u5bf9\u4e8e\u96c6\u7c07\u4e2d\u7684\u6bcf\u4e2a\u6570\u636e\u5e93\uff0c<code>PGDATA</code><code>/base</code>\n\u4e2d\u90fd\u6709\u4e00\u4e2a\u5b50\u76ee\u5f55\uff0c\u5176\u540d\u79f0\u662f\u8be5\u6570\u636e\u5e93\u5728 <code>pg_database</code>\n\u4e2d\u7684 OID\u3002\u8fd9\u4e2a\u5b50\u76ee\u5f55\u662f\u8be5\u6570\u636e\u5e93\u6587\u4ef6\u7684\u9ed8\u8ba4\u4f4d\u7f6e\uff1b\u7279\u522b\u662f\uff0c\u5b83\u7684\u7cfb\u7edf\u76ee\u5f55\u5c31\u5b58\u653e\u5728\u8fd9\u91cc\u3002\n</p><p><a href=\"/zh/docs/14/storage.html#STORAGE-FILE-LAYOUT\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>", "body_sha256": "a3e362c77878868c170e6ff53c33d41871cb1041fb0eb9292d239102302a857d", "content_hash": "3da900ec464fe92c3809f03d4e73ec0d220940a4b2dc2de5e5811145481db93f", "source_database": "center", "source_revision": "a7fa7ed3d558172355f51406097a7bd4f6b473be80f311ef7cda96bf383d8897"}, "signature": "", "tables_zh": [], "description": ["\u672c\u8282\u4ece\u6587\u4ef6\u548c\u76ee\u5f55\u7684\u5c42\u6b21\u63cf\u8ff0\u5b58\u50a8\u683c\u5f0f\u3002 \u4f20\u7edf\u4e0a\uff0c\u6570\u636e\u5e93\u96c6\u7c07\u6240\u4f7f\u7528\u7684\u914d\u7f6e\u6587\u4ef6\u548c\u6570\u636e\u6587\u4ef6\u90fd\u5b58\u653e\u5728\u96c6\u7c07\u7684\u6570\u636e\u76ee\u5f55\u4e2d\uff0c\u8fd9\u4e2a\u76ee\u5f55\u901a\u5e38\u79f0\u4e3a PGDATA \uff08\u540d\u5b57\u6765\u81ea\u53ef\u7528\u4e8e\u5b9a\u4e49\u5b83\u7684\u73af\u5883\u53d8\u91cf\uff09\u3002 PGDATA \u7684\u4e00\u4e2a\u5e38\u89c1\u4f4d\u7f6e\u662f /var/lib/pgsql/data \u3002\u540c\u4e00\u53f0\u673a\u5668\u4e0a\u53ef\u4ee5\u5b58\u5728\u591a\u4e2a\u7531\u4e0d\u540c\u670d\u52a1\u5668\u5b9e\u4f8b\u7ba1\u7406\u7684\u96c6\u7c07\u3002 PGDATA \u76ee\u5f55\u5305\u542b\u82e5\u5e72\u5b50\u76ee\u5f55\u548c\u63a7\u5236\u6587\u4ef6\uff0c\u5982 \u8868 70.1 \u6240\u793a\u3002\u9664\u8fd9\u4e9b\u5fc5\u9700\u9879\u4e4b\u5916\uff0c\u96c6\u7c07\u914d\u7f6e\u6587\u4ef6 postgresql.conf \u3001 pg_hba.conf \u548c pg_ident.conf \u4f20\u7edf\u4e0a\u4e5f\u5b58\u653e\u5728 PGDATA \u4e2d\uff0c\u4e0d\u8fc7\u4e5f\u53ef\u4ee5\u628a\u5b83\u4eec\u653e\u5728\u5176\u4ed6\u5730\u65b9\u3002 \u5bf9\u4e8e\u96c6\u7c07\u4e2d\u7684\u6bcf\u4e2a\u6570\u636e\u5e93\uff0c PGDATA /base \u4e2d\u90fd\u6709\u4e00\u4e2a\u5b50\u76ee\u5f55\uff0c\u5176\u540d\u79f0\u662f\u8be5\u6570\u636e\u5e93\u5728 pg_database \u4e2d\u7684 OID\u3002\u8fd9\u4e2a\u5b50\u76ee\u5f55\u662f\u8be5\u6570\u636e\u5e93\u6587\u4ef6\u7684\u9ed8\u8ba4\u4f4d\u7f6e\uff1b\u7279\u522b\u662f\uff0c\u5b83\u7684\u7cfb\u7edf\u76ee\u5f55\u5c31\u5b58\u653e\u5728\u8fd9\u91cc\u3002"], "manual_html": "", "manual_path": "/docs/14/storage-file-layout.html", "sections_zh": [], "localization": {"status": "complete", "sources": [], "language": "zh", "original_text": {"/versions/14/description/0": "Each table and index is stored in a separate file. For ordinary relations, these files are named after the table or index's filenode number, which can be found in pg_class . relfilenode . But for temporary relations, the file name is of the form t BBB _ FFF , where BBB is the backend ID of the backend which created the file, and FFF is the filenode number. In either case, in addition to the main file (a/k/a main fork), each table and index has a free space map (see Section 70.3 ), which stores information about free space available in the relation. The free space map is stored in a file named with the filenode number plus the suffix _fsm . Tables also have a visibility map , stored in a fork with the suffix _vm , to track which pages are known to have no dead tuples. The visibility map is described further in Section 70.4 . Unlogged tables and indexes have a third fork, known as the initialization fork, which is stored in a fork with the suffix _init (see Section 70.5 ).", "/versions/14/description/1": "When a table or index exceeds 1 GB, it is divided into gigabyte-sized segments . The first segment's file name is the same as the filenode; subsequent segments are named filenode.1, filenode.2, etc. This arrangement avoids problems on platforms that have file size limitations. (Actually, 1 GB is just the default segment size. The segment size can be adjusted using the configuration option --with-segsize when building PostgreSQL .) In principle, free space map and visibility map forks could require multiple segments as well, though this is unlikely to happen in practice.", "/versions/14/facts/0/label": "Fork", "/versions/14/related/0/label": "Database file layout"}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "b8d57d9936d426efaf9f8b7f880eced623dec63b91f61c4b7e8001c5adcb984a", "canonical_center_text_hash": "3da900ec464fe92c3809f03d4e73ec0d220940a4b2dc2de5e5811145481db93f"}, "description_zh": "\u672c\u8282\u4ece\u6587\u4ef6\u548c\u76ee\u5f55\u7684\u5c42\u6b21\u63cf\u8ff0\u5b58\u50a8\u683c\u5f0f\u3002 \u4f20\u7edf\u4e0a\uff0c\u6570\u636e\u5e93\u96c6\u7c07\u6240\u4f7f\u7528\u7684\u914d\u7f6e\u6587\u4ef6\u548c\u6570\u636e\u6587\u4ef6\u90fd\u5b58\u653e\u5728\u96c6\u7c07\u7684\u6570\u636e\u76ee\u5f55\u4e2d\uff0c\u8fd9\u4e2a\u76ee\u5f55\u901a\u5e38\u79f0\u4e3a PGDATA \uff08\u540d\u5b57\u6765\u81ea\u53ef\u7528\u4e8e\u5b9a\u4e49\u5b83\u7684\u73af\u5883\u53d8\u91cf\uff09\u3002 PGDATA \u7684\u4e00\u4e2a\u5e38\u89c1\u4f4d\u7f6e\u662f /var/lib/pgsql/data \u3002\u540c\u4e00\u53f0\u673a\u5668\u4e0a\u53ef\u4ee5\u5b58\u5728\u591a\u4e2a\u7531\u4e0d\u540c\u670d\u52a1\u5668\u5b9e\u4f8b\u7ba1\u7406\u7684\u96c6\u7c07\u3002 PGDATA \u76ee\u5f55\u5305\u542b\u82e5\u5e72\u5b50\u76ee\u5f55\u548c\u63a7\u5236\u6587\u4ef6\uff0c\u5982 \u8868 70.1 \u6240\u793a\u3002\u9664\u8fd9\u4e9b\u5fc5\u9700\u9879\u4e4b\u5916\uff0c\u96c6\u7c07\u914d\u7f6e\u6587\u4ef6 postgresql.conf \u3001 pg_hba.conf \u548c pg_ident.conf \u4f20\u7edf\u4e0a\u4e5f\u5b58\u653e\u5728 PGDATA \u4e2d\uff0c\u4e0d\u8fc7\u4e5f\u53ef\u4ee5\u628a\u5b83\u4eec\u653e\u5728\u5176\u4ed6\u5730\u65b9\u3002 \u5bf9\u4e8e\u96c6\u7c07\u4e2d\u7684\u6bcf\u4e2a\u6570\u636e\u5e93\uff0c PGDATA /base \u4e2d\u90fd\u6709\u4e00\u4e2a\u5b50\u76ee\u5f55\uff0c\u5176\u540d\u79f0\u662f\u8be5\u6570\u636e\u5e93\u5728 pg_database \u4e2d\u7684 OID\u3002\u8fd9\u4e2a\u5b50\u76ee\u5f55\u662f\u8be5\u6570\u636e\u5e93\u6587\u4ef6\u7684\u9ed8\u8ba4\u4f4d\u7f6e\uff1b\u7279\u522b\u662f\uff0c\u5b83\u7684\u7cfb\u7edf\u76ee\u5f55\u5c31\u5b58\u653e\u5728\u8fd9\u91cc\u3002", "comparison_data": {"fork": "vm"}, "comparison_hash": "0f7e444c74befed2e9e038b208922f35c10a3caa1ec789947fda5dd19339d4d4", "manual_language": "zh", "description_zh_html": "<p>\u5b58\u50a8\u7ed3\u6784 fork-vm\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n\u672c\u8282\u4ece\u6587\u4ef6\u548c\u76ee\u5f55\u7684\u5c42\u6b21\u63cf\u8ff0\u5b58\u50a8\u683c\u5f0f\u3002\n</p><p>\n\u4f20\u7edf\u4e0a\uff0c\u6570\u636e\u5e93\u96c6\u7c07\u6240\u4f7f\u7528\u7684\u914d\u7f6e\u6587\u4ef6\u548c\u6570\u636e\u6587\u4ef6\u90fd\u5b58\u653e\u5728\u96c6\u7c07\u7684\u6570\u636e\u76ee\u5f55\u4e2d\uff0c\u8fd9\u4e2a\u76ee\u5f55\u901a\u5e38\u79f0\u4e3a <code>PGDATA</code>\uff08\u540d\u5b57\u6765\u81ea\u53ef\u7528\u4e8e\u5b9a\u4e49\u5b83\u7684\u73af\u5883\u53d8\u91cf\uff09\u3002<code>PGDATA</code> \u7684\u4e00\u4e2a\u5e38\u89c1\u4f4d\u7f6e\u662f\n<code>/var/lib/pgsql/data</code>\u3002\u540c\u4e00\u53f0\u673a\u5668\u4e0a\u53ef\u4ee5\u5b58\u5728\u591a\u4e2a\u7531\u4e0d\u540c\u670d\u52a1\u5668\u5b9e\u4f8b\u7ba1\u7406\u7684\u96c6\u7c07\u3002\n</p><p>\n<code>PGDATA</code> \u76ee\u5f55\u5305\u542b\u82e5\u5e72\u5b50\u76ee\u5f55\u548c\u63a7\u5236\u6587\u4ef6\uff0c\u5982<a href=\"/zh/docs/14/storage.html#PGDATA-CONTENTS-TABLE\" rel=\"nofollow\">\u8868\u00a070.1</a> \u6240\u793a\u3002\u9664\u8fd9\u4e9b\u5fc5\u9700\u9879\u4e4b\u5916\uff0c\u96c6\u7c07\u914d\u7f6e\u6587\u4ef6\n<code>postgresql.conf</code>\u3001<code>pg_hba.conf</code> \u548c\n<code>pg_ident.conf</code> \u4f20\u7edf\u4e0a\u4e5f\u5b58\u653e\u5728 <code>PGDATA</code>\n\u4e2d\uff0c\u4e0d\u8fc7\u4e5f\u53ef\u4ee5\u628a\u5b83\u4eec\u653e\u5728\u5176\u4ed6\u5730\u65b9\u3002\n</p><p>\n\u5bf9\u4e8e\u96c6\u7c07\u4e2d\u7684\u6bcf\u4e2a\u6570\u636e\u5e93\uff0c<code>PGDATA</code><code>/base</code>\n\u4e2d\u90fd\u6709\u4e00\u4e2a\u5b50\u76ee\u5f55\uff0c\u5176\u540d\u79f0\u662f\u8be5\u6570\u636e\u5e93\u5728 <code>pg_database</code>\n\u4e2d\u7684 OID\u3002\u8fd9\u4e2a\u5b50\u76ee\u5f55\u662f\u8be5\u6570\u636e\u5e93\u6587\u4ef6\u7684\u9ed8\u8ba4\u4f4d\u7f6e\uff1b\u7279\u522b\u662f\uff0c\u5b83\u7684\u7cfb\u7edf\u76ee\u5f55\u5c31\u5b58\u653e\u5728\u8fd9\u91cc\u3002\n</p><p><a href=\"/zh/docs/14/storage.html#STORAGE-FILE-LAYOUT\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "15": {"facts": [{"label": "\u5173\u7cfb\u5206\u53c9", "value": "vm"}], "tables": [], "related": [{"url": "/wiki/storage/storage-file-layout/?v=15", "label": "\u6570\u636e\u5e93\u6587\u4ef6\u5e03\u5c40"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v15.19/postgresql-15.19.tar.bz2", "label": "15.19", "major": "15", "channel": "stable", "revision": "e1a64a87a46b825b88c082e4518161a47aab53c45694964f8ba1df28f7859f89"}, "sources": [{"url": "/docs/15/storage-file-layout.html", "path": "storage-file-layout.html", "label": "PostgreSQL 15 English manual", "sha256": "01868f8e03e8749d2c1b113ab2988c459ac44259ce7416677e981e41e33015ea"}], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-identity", "manual": {"url": "/zh/docs/15/storage.html#STORAGE-FILE-LAYOUT", "anchor": "STORAGE-FILE-LAYOUT", "locale": "zh-Hans", "version": "15", "build_id": 101, "page_key": "storage.html", "extraction": "concept-introduction", "source_hash": "56436f3504bf627a4cde8c272b488c76f635fa209816b310eb3db961f737bf83", "fragment_sha256": "787461c4cdd1a6137baff0a8819bad051bf27396fd93265fe65e8be31f568588", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "git:b1b500221dbe5437cfca004d6b04d3f6e422765d;html-sha256:6bce1a2df9170cb1146a1411c5547190856638221a6539e618ee1016c9f493ad", "translated_from_revision": null}, "body_sha256": "e7ad53319447d9c7f3ec2530051f139bf4bb48fbb749f89cf09fa965d0413dab", "runtime_rerun": false, "authored_translation": "source-derived-identity", "source_facts_revision": "e1a64a87a46b825b88c082e4518161a47aab53c45694964f8ba1df28f7859f89"}, "facts_zh": [{"label": "\u5173\u7cfb\u5206\u53c9", "value": "vm"}], "sections": [], "center_zh": {"title": "vm fork", "locale": "zh-Hans", "source": {"key": "fork-vm", "locale": "zh-Hans", "version": "15", "text_hash": "61eaa1373def7ee99ec5ed2b327f16209895f002cdf2e83e27f06ca7c971550d", "collection": "storage", "dataset_hash": "7c31b524dfe136022d39a6ae8dcfac6b3bbd5f8fdaf422536599981252aff0c9", "source_database": "center", "source_revision": "e1a64a87a46b825b88c082e4518161a47aab53c45694964f8ba1df28f7859f89"}, "payload": {"facts": [{"label": "\u5173\u7cfb\u5206\u53c9", "value": "vm"}], "tables": [], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-identity", "manual": {"url": "/zh/docs/15/storage.html#STORAGE-FILE-LAYOUT", "anchor": "STORAGE-FILE-LAYOUT", "locale": "zh-Hans", "version": "15", "build_id": 101, "page_key": "storage.html", "extraction": "concept-introduction", "source_hash": "56436f3504bf627a4cde8c272b488c76f635fa209816b310eb3db961f737bf83", "fragment_sha256": "787461c4cdd1a6137baff0a8819bad051bf27396fd93265fe65e8be31f568588", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "git:b1b500221dbe5437cfca004d6b04d3f6e422765d;html-sha256:6bce1a2df9170cb1146a1411c5547190856638221a6539e618ee1016c9f493ad", "translated_from_revision": null}, "body_sha256": "e7ad53319447d9c7f3ec2530051f139bf4bb48fbb749f89cf09fa965d0413dab", "runtime_rerun": false, "authored_translation": "source-derived-identity", "source_facts_revision": "e1a64a87a46b825b88c082e4518161a47aab53c45694964f8ba1df28f7859f89"}, "sections": [], "description_zh": "\u672c\u8282\u4ece\u6587\u4ef6\u548c\u76ee\u5f55\u7684\u5c42\u6b21\u63cf\u8ff0\u5b58\u50a8\u683c\u5f0f\u3002 \u4f20\u7edf\u4e0a\uff0c\u6570\u636e\u5e93\u96c6\u7c07\u6240\u4f7f\u7528\u7684\u914d\u7f6e\u6587\u4ef6\u548c\u6570\u636e\u6587\u4ef6\u90fd\u5b58\u653e\u5728\u96c6\u7c07\u7684\u6570\u636e\u76ee\u5f55\u4e2d\uff0c\u8fd9\u4e2a\u76ee\u5f55\u901a\u5e38\u79f0\u4e3a PGDATA \uff08\u540d\u5b57\u6765\u81ea\u53ef\u7528\u4e8e\u5b9a\u4e49\u5b83\u7684\u73af\u5883\u53d8\u91cf\uff09\u3002 PGDATA \u7684\u4e00\u4e2a\u5e38\u89c1\u4f4d\u7f6e\u662f /var/lib/pgsql/data \u3002\u540c\u4e00\u53f0\u673a\u5668\u4e0a\u53ef\u4ee5\u5b58\u5728\u591a\u4e2a\u7531\u4e0d\u540c\u670d\u52a1\u5668\u5b9e\u4f8b\u7ba1\u7406\u7684\u96c6\u7c07\u3002 PGDATA \u76ee\u5f55\u5305\u542b\u82e5\u5e72\u5b50\u76ee\u5f55\u548c\u63a7\u5236\u6587\u4ef6\uff0c\u5982 \u8868 73.1 \u6240\u793a\u3002\u9664\u8fd9\u4e9b\u5fc5\u9700\u9879\u4e4b\u5916\uff0c\u96c6\u7c07\u914d\u7f6e\u6587\u4ef6 postgresql.conf \u3001 pg_hba.conf \u548c pg_ident.conf \u4f20\u7edf\u4e0a\u4e5f\u5b58\u653e\u5728 PGDATA \u4e2d\uff0c\u4e0d\u8fc7\u4e5f\u53ef\u4ee5\u628a\u5b83\u4eec\u653e\u5728\u5176\u4ed6\u5730\u65b9\u3002 \u5bf9\u4e8e\u96c6\u7c07\u4e2d\u7684\u6bcf\u4e2a\u6570\u636e\u5e93\uff0c PGDATA /base \u4e2d\u90fd\u6709\u4e00\u4e2a\u5b50\u76ee\u5f55\uff0c\u5176\u540d\u79f0\u662f\u8be5\u6570\u636e\u5e93\u5728 pg_database \u4e2d\u7684 OID\u3002\u8fd9\u4e2a\u5b50\u76ee\u5f55\u662f\u8be5\u6570\u636e\u5e93\u6587\u4ef6\u7684\u9ed8\u8ba4\u4f4d\u7f6e\uff1b\u7279\u522b\u662f\uff0c\u5b83\u7684\u7cfb\u7edf\u76ee\u5f55\u5c31\u5b58\u653e\u5728\u8fd9\u91cc\u3002", "description_zh_html": "<p>\u5b58\u50a8\u7ed3\u6784 fork-vm\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n\u672c\u8282\u4ece\u6587\u4ef6\u548c\u76ee\u5f55\u7684\u5c42\u6b21\u63cf\u8ff0\u5b58\u50a8\u683c\u5f0f\u3002\n</p><p>\n\u4f20\u7edf\u4e0a\uff0c\u6570\u636e\u5e93\u96c6\u7c07\u6240\u4f7f\u7528\u7684\u914d\u7f6e\u6587\u4ef6\u548c\u6570\u636e\u6587\u4ef6\u90fd\u5b58\u653e\u5728\u96c6\u7c07\u7684\u6570\u636e\u76ee\u5f55\u4e2d\uff0c\u8fd9\u4e2a\u76ee\u5f55\u901a\u5e38\u79f0\u4e3a <code class=\"varname\">PGDATA</code>\uff08\u540d\u5b57\u6765\u81ea\u53ef\u7528\u4e8e\u5b9a\u4e49\u5b83\u7684\u73af\u5883\u53d8\u91cf\uff09\u3002<code class=\"varname\">PGDATA</code> \u7684\u4e00\u4e2a\u5e38\u89c1\u4f4d\u7f6e\u662f\n<code class=\"filename\">/var/lib/pgsql/data</code>\u3002\u540c\u4e00\u53f0\u673a\u5668\u4e0a\u53ef\u4ee5\u5b58\u5728\u591a\u4e2a\u7531\u4e0d\u540c\u670d\u52a1\u5668\u5b9e\u4f8b\u7ba1\u7406\u7684\u96c6\u7c07\u3002\n</p><p>\n<code class=\"varname\">PGDATA</code> \u76ee\u5f55\u5305\u542b\u82e5\u5e72\u5b50\u76ee\u5f55\u548c\u63a7\u5236\u6587\u4ef6\uff0c\u5982<a class=\"xref\" href=\"/zh/docs/15/storage.html#PGDATA-CONTENTS-TABLE\">\u8868\u00a073.1</a> \u6240\u793a\u3002\u9664\u8fd9\u4e9b\u5fc5\u9700\u9879\u4e4b\u5916\uff0c\u96c6\u7c07\u914d\u7f6e\u6587\u4ef6\n<code class=\"filename\">postgresql.conf</code>\u3001<code class=\"filename\">pg_hba.conf</code> \u548c\n<code class=\"filename\">pg_ident.conf</code> \u4f20\u7edf\u4e0a\u4e5f\u5b58\u653e\u5728 <code class=\"varname\">PGDATA</code>\n\u4e2d\uff0c\u4e0d\u8fc7\u4e5f\u53ef\u4ee5\u628a\u5b83\u4eec\u653e\u5728\u5176\u4ed6\u5730\u65b9\u3002\n</p><p>\n\u5bf9\u4e8e\u96c6\u7c07\u4e2d\u7684\u6bcf\u4e2a\u6570\u636e\u5e93\uff0c<code class=\"varname\">PGDATA</code><code class=\"filename\">/base</code>\n\u4e2d\u90fd\u6709\u4e00\u4e2a\u5b50\u76ee\u5f55\uff0c\u5176\u540d\u79f0\u662f\u8be5\u6570\u636e\u5e93\u5728 <code class=\"structname\">pg_database</code>\n\u4e2d\u7684 OID\u3002\u8fd9\u4e2a\u5b50\u76ee\u5f55\u662f\u8be5\u6570\u636e\u5e93\u6587\u4ef6\u7684\u9ed8\u8ba4\u4f4d\u7f6e\uff1b\u7279\u522b\u662f\uff0c\u5b83\u7684\u7cfb\u7edf\u76ee\u5f55\u5c31\u5b58\u653e\u5728\u8fd9\u91cc\u3002\n</p><p><a href=\"/zh/docs/15/storage.html#STORAGE-FILE-LAYOUT\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "summary": "\u672c\u8282\u4ece\u6587\u4ef6\u548c\u76ee\u5f55\u7684\u5c42\u6b21\u63cf\u8ff0\u5b58\u50a8\u683c\u5f0f\u3002 \u4f20\u7edf\u4e0a\uff0c\u6570\u636e\u5e93\u96c6\u7c07\u6240\u4f7f\u7528\u7684\u914d\u7f6e\u6587\u4ef6\u548c\u6570\u636e\u6587\u4ef6\u90fd\u5b58\u653e\u5728\u96c6\u7c07\u7684\u6570\u636e\u76ee\u5f55\u4e2d\uff0c\u8fd9\u4e2a\u76ee\u5f55\u901a\u5e38\u79f0\u4e3a PGDATA \uff08\u540d\u5b57\u6765\u81ea\u53ef\u7528\u4e8e\u5b9a\u4e49\u5b83\u7684\u73af\u5883\u53d8\u91cf\uff09\u3002 PGDATA \u7684\u4e00\u4e2a\u5e38\u89c1\u4f4d\u7f6e\u662f /var/lib/pgsql/data \u3002\u540c\u4e00\u53f0\u673a\u5668\u4e0a\u53ef\u4ee5\u5b58\u5728\u591a\u4e2a\u7531\u4e0d\u540c\u670d\u52a1\u5668\u5b9e\u4f8b\u7ba1\u7406\u7684\u96c6\u7c07\u3002 PGDATA \u76ee\u5f55\u5305\u542b\u82e5\u5e72\u5b50\u76ee\u5f55\u548c\u63a7\u5236\u6587\u4ef6\uff0c\u5982 \u8868 73.1 \u6240\u793a\u3002\u9664\u8fd9\u4e9b\u5fc5\u9700\u9879\u4e4b\u5916\uff0c\u96c6\u7c07\u914d\u7f6e\u6587\u4ef6 postgresql.conf \u3001 pg_hba.conf \u548c pg_ident.conf \u4f20\u7edf\u4e0a\u4e5f\u5b58\u653e\u5728 PGDATA \u4e2d\uff0c\u4e0d\u8fc7\u4e5f\u53ef\u4ee5\u628a\u5b83\u4eec\u653e\u5728\u5176\u4ed6\u5730\u65b9\u3002 \u5bf9\u4e8e\u96c6\u7c07\u4e2d\u7684\u6bcf\u4e2a\u6570\u636e\u5e93\uff0c PGDATA /base \u4e2d\u90fd\u6709\u4e00\u4e2a\u5b50\u76ee\u5f55\uff0c\u5176\u540d\u79f0\u662f\u8be5\u6570\u636e\u5e93\u5728 pg_database \u4e2d\u7684 OID\u3002\u8fd9\u4e2a\u5b50\u76ee\u5f55\u662f\u8be5\u6570\u636e\u5e93\u6587\u4ef6\u7684\u9ed8\u8ba4\u4f4d\u7f6e\uff1b\u7279\u522b\u662f\uff0c\u5b83\u7684\u7cfb\u7edf\u76ee\u5f55\u5c31\u5b58\u653e\u5728\u8fd9\u91cc\u3002", "version": "15", "link_map": {"/zh/docs/15/storage.html#STORAGE-FILE-LAYOUT": "/docs/15/storage.html#STORAGE-FILE-LAYOUT", "/zh/docs/15/storage.html#PGDATA-CONTENTS-TABLE": "/docs/15/storage.html#PGDATA-CONTENTS-TABLE"}, "body_html": "<p>\u5b58\u50a8\u7ed3\u6784 fork-vm\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n\u672c\u8282\u4ece\u6587\u4ef6\u548c\u76ee\u5f55\u7684\u5c42\u6b21\u63cf\u8ff0\u5b58\u50a8\u683c\u5f0f\u3002\n</p><p>\n\u4f20\u7edf\u4e0a\uff0c\u6570\u636e\u5e93\u96c6\u7c07\u6240\u4f7f\u7528\u7684\u914d\u7f6e\u6587\u4ef6\u548c\u6570\u636e\u6587\u4ef6\u90fd\u5b58\u653e\u5728\u96c6\u7c07\u7684\u6570\u636e\u76ee\u5f55\u4e2d\uff0c\u8fd9\u4e2a\u76ee\u5f55\u901a\u5e38\u79f0\u4e3a <code>PGDATA</code>\uff08\u540d\u5b57\u6765\u81ea\u53ef\u7528\u4e8e\u5b9a\u4e49\u5b83\u7684\u73af\u5883\u53d8\u91cf\uff09\u3002<code>PGDATA</code> \u7684\u4e00\u4e2a\u5e38\u89c1\u4f4d\u7f6e\u662f\n<code>/var/lib/pgsql/data</code>\u3002\u540c\u4e00\u53f0\u673a\u5668\u4e0a\u53ef\u4ee5\u5b58\u5728\u591a\u4e2a\u7531\u4e0d\u540c\u670d\u52a1\u5668\u5b9e\u4f8b\u7ba1\u7406\u7684\u96c6\u7c07\u3002\n</p><p>\n<code>PGDATA</code> \u76ee\u5f55\u5305\u542b\u82e5\u5e72\u5b50\u76ee\u5f55\u548c\u63a7\u5236\u6587\u4ef6\uff0c\u5982<a href=\"/zh/docs/15/storage.html#PGDATA-CONTENTS-TABLE\" rel=\"nofollow\">\u8868\u00a073.1</a> \u6240\u793a\u3002\u9664\u8fd9\u4e9b\u5fc5\u9700\u9879\u4e4b\u5916\uff0c\u96c6\u7c07\u914d\u7f6e\u6587\u4ef6\n<code>postgresql.conf</code>\u3001<code>pg_hba.conf</code> \u548c\n<code>pg_ident.conf</code> \u4f20\u7edf\u4e0a\u4e5f\u5b58\u653e\u5728 <code>PGDATA</code>\n\u4e2d\uff0c\u4e0d\u8fc7\u4e5f\u53ef\u4ee5\u628a\u5b83\u4eec\u653e\u5728\u5176\u4ed6\u5730\u65b9\u3002\n</p><p>\n\u5bf9\u4e8e\u96c6\u7c07\u4e2d\u7684\u6bcf\u4e2a\u6570\u636e\u5e93\uff0c<code>PGDATA</code><code>/base</code>\n\u4e2d\u90fd\u6709\u4e00\u4e2a\u5b50\u76ee\u5f55\uff0c\u5176\u540d\u79f0\u662f\u8be5\u6570\u636e\u5e93\u5728 <code>pg_database</code>\n\u4e2d\u7684 OID\u3002\u8fd9\u4e2a\u5b50\u76ee\u5f55\u662f\u8be5\u6570\u636e\u5e93\u6587\u4ef6\u7684\u9ed8\u8ba4\u4f4d\u7f6e\uff1b\u7279\u522b\u662f\uff0c\u5b83\u7684\u7cfb\u7edf\u76ee\u5f55\u5c31\u5b58\u653e\u5728\u8fd9\u91cc\u3002\n</p><p><a href=\"/zh/docs/15/storage.html#STORAGE-FILE-LAYOUT\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>", "body_sha256": "5454a4327c6e540a278500214734f55dbeab4ebb365a48b86e9d9aef4d20007d", "content_hash": "61eaa1373def7ee99ec5ed2b327f16209895f002cdf2e83e27f06ca7c971550d", "source_database": "center", "source_revision": "e1a64a87a46b825b88c082e4518161a47aab53c45694964f8ba1df28f7859f89"}, "signature": "", "tables_zh": [], "description": ["\u672c\u8282\u4ece\u6587\u4ef6\u548c\u76ee\u5f55\u7684\u5c42\u6b21\u63cf\u8ff0\u5b58\u50a8\u683c\u5f0f\u3002 \u4f20\u7edf\u4e0a\uff0c\u6570\u636e\u5e93\u96c6\u7c07\u6240\u4f7f\u7528\u7684\u914d\u7f6e\u6587\u4ef6\u548c\u6570\u636e\u6587\u4ef6\u90fd\u5b58\u653e\u5728\u96c6\u7c07\u7684\u6570\u636e\u76ee\u5f55\u4e2d\uff0c\u8fd9\u4e2a\u76ee\u5f55\u901a\u5e38\u79f0\u4e3a PGDATA \uff08\u540d\u5b57\u6765\u81ea\u53ef\u7528\u4e8e\u5b9a\u4e49\u5b83\u7684\u73af\u5883\u53d8\u91cf\uff09\u3002 PGDATA \u7684\u4e00\u4e2a\u5e38\u89c1\u4f4d\u7f6e\u662f /var/lib/pgsql/data \u3002\u540c\u4e00\u53f0\u673a\u5668\u4e0a\u53ef\u4ee5\u5b58\u5728\u591a\u4e2a\u7531\u4e0d\u540c\u670d\u52a1\u5668\u5b9e\u4f8b\u7ba1\u7406\u7684\u96c6\u7c07\u3002 PGDATA \u76ee\u5f55\u5305\u542b\u82e5\u5e72\u5b50\u76ee\u5f55\u548c\u63a7\u5236\u6587\u4ef6\uff0c\u5982 \u8868 73.1 \u6240\u793a\u3002\u9664\u8fd9\u4e9b\u5fc5\u9700\u9879\u4e4b\u5916\uff0c\u96c6\u7c07\u914d\u7f6e\u6587\u4ef6 postgresql.conf \u3001 pg_hba.conf \u548c pg_ident.conf \u4f20\u7edf\u4e0a\u4e5f\u5b58\u653e\u5728 PGDATA \u4e2d\uff0c\u4e0d\u8fc7\u4e5f\u53ef\u4ee5\u628a\u5b83\u4eec\u653e\u5728\u5176\u4ed6\u5730\u65b9\u3002 \u5bf9\u4e8e\u96c6\u7c07\u4e2d\u7684\u6bcf\u4e2a\u6570\u636e\u5e93\uff0c PGDATA /base \u4e2d\u90fd\u6709\u4e00\u4e2a\u5b50\u76ee\u5f55\uff0c\u5176\u540d\u79f0\u662f\u8be5\u6570\u636e\u5e93\u5728 pg_database \u4e2d\u7684 OID\u3002\u8fd9\u4e2a\u5b50\u76ee\u5f55\u662f\u8be5\u6570\u636e\u5e93\u6587\u4ef6\u7684\u9ed8\u8ba4\u4f4d\u7f6e\uff1b\u7279\u522b\u662f\uff0c\u5b83\u7684\u7cfb\u7edf\u76ee\u5f55\u5c31\u5b58\u653e\u5728\u8fd9\u91cc\u3002"], "manual_html": "", "manual_path": "/docs/15/storage-file-layout.html", "sections_zh": [], "localization": {"status": "complete", "sources": [], "language": "zh", "original_text": {"/versions/15/description/0": "Each table and index is stored in a separate file. For ordinary relations, these files are named after the table or index's filenode number, which can be found in pg_class . relfilenode . But for temporary relations, the file name is of the form t BBB _ FFF , where BBB is the backend ID of the backend which created the file, and FFF is the filenode number. In either case, in addition to the main file (a/k/a main fork), each table and index has a free space map (see Section 73.3 ), which stores information about free space available in the relation. The free space map is stored in a file named with the filenode number plus the suffix _fsm . Tables also have a visibility map , stored in a fork with the suffix _vm , to track which pages are known to have no dead tuples. The visibility map is described further in Section 73.4 . Unlogged tables and indexes have a third fork, known as the initialization fork, which is stored in a fork with the suffix _init (see Section 73.5 ).", "/versions/15/description/1": "When a table or index exceeds 1 GB, it is divided into gigabyte-sized segments . The first segment's file name is the same as the filenode; subsequent segments are named filenode.1, filenode.2, etc. This arrangement avoids problems on platforms that have file size limitations. (Actually, 1 GB is just the default segment size. The segment size can be adjusted using the configuration option --with-segsize when building PostgreSQL .) In principle, free space map and visibility map forks could require multiple segments as well, though this is unlikely to happen in practice.", "/versions/15/facts/0/label": "Fork", "/versions/15/related/0/label": "Database file layout"}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "2267d4be0f47ac5a7aef18bef291c26428ddb4e0d5f0ebfffd8e76b430f4a93b", "canonical_center_text_hash": "61eaa1373def7ee99ec5ed2b327f16209895f002cdf2e83e27f06ca7c971550d"}, "description_zh": "\u672c\u8282\u4ece\u6587\u4ef6\u548c\u76ee\u5f55\u7684\u5c42\u6b21\u63cf\u8ff0\u5b58\u50a8\u683c\u5f0f\u3002 \u4f20\u7edf\u4e0a\uff0c\u6570\u636e\u5e93\u96c6\u7c07\u6240\u4f7f\u7528\u7684\u914d\u7f6e\u6587\u4ef6\u548c\u6570\u636e\u6587\u4ef6\u90fd\u5b58\u653e\u5728\u96c6\u7c07\u7684\u6570\u636e\u76ee\u5f55\u4e2d\uff0c\u8fd9\u4e2a\u76ee\u5f55\u901a\u5e38\u79f0\u4e3a PGDATA \uff08\u540d\u5b57\u6765\u81ea\u53ef\u7528\u4e8e\u5b9a\u4e49\u5b83\u7684\u73af\u5883\u53d8\u91cf\uff09\u3002 PGDATA \u7684\u4e00\u4e2a\u5e38\u89c1\u4f4d\u7f6e\u662f /var/lib/pgsql/data \u3002\u540c\u4e00\u53f0\u673a\u5668\u4e0a\u53ef\u4ee5\u5b58\u5728\u591a\u4e2a\u7531\u4e0d\u540c\u670d\u52a1\u5668\u5b9e\u4f8b\u7ba1\u7406\u7684\u96c6\u7c07\u3002 PGDATA \u76ee\u5f55\u5305\u542b\u82e5\u5e72\u5b50\u76ee\u5f55\u548c\u63a7\u5236\u6587\u4ef6\uff0c\u5982 \u8868 73.1 \u6240\u793a\u3002\u9664\u8fd9\u4e9b\u5fc5\u9700\u9879\u4e4b\u5916\uff0c\u96c6\u7c07\u914d\u7f6e\u6587\u4ef6 postgresql.conf \u3001 pg_hba.conf \u548c pg_ident.conf \u4f20\u7edf\u4e0a\u4e5f\u5b58\u653e\u5728 PGDATA \u4e2d\uff0c\u4e0d\u8fc7\u4e5f\u53ef\u4ee5\u628a\u5b83\u4eec\u653e\u5728\u5176\u4ed6\u5730\u65b9\u3002 \u5bf9\u4e8e\u96c6\u7c07\u4e2d\u7684\u6bcf\u4e2a\u6570\u636e\u5e93\uff0c PGDATA /base \u4e2d\u90fd\u6709\u4e00\u4e2a\u5b50\u76ee\u5f55\uff0c\u5176\u540d\u79f0\u662f\u8be5\u6570\u636e\u5e93\u5728 pg_database \u4e2d\u7684 OID\u3002\u8fd9\u4e2a\u5b50\u76ee\u5f55\u662f\u8be5\u6570\u636e\u5e93\u6587\u4ef6\u7684\u9ed8\u8ba4\u4f4d\u7f6e\uff1b\u7279\u522b\u662f\uff0c\u5b83\u7684\u7cfb\u7edf\u76ee\u5f55\u5c31\u5b58\u653e\u5728\u8fd9\u91cc\u3002", "comparison_data": {"fork": "vm"}, "comparison_hash": "0f7e444c74befed2e9e038b208922f35c10a3caa1ec789947fda5dd19339d4d4", "manual_language": "zh", "description_zh_html": "<p>\u5b58\u50a8\u7ed3\u6784 fork-vm\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n\u672c\u8282\u4ece\u6587\u4ef6\u548c\u76ee\u5f55\u7684\u5c42\u6b21\u63cf\u8ff0\u5b58\u50a8\u683c\u5f0f\u3002\n</p><p>\n\u4f20\u7edf\u4e0a\uff0c\u6570\u636e\u5e93\u96c6\u7c07\u6240\u4f7f\u7528\u7684\u914d\u7f6e\u6587\u4ef6\u548c\u6570\u636e\u6587\u4ef6\u90fd\u5b58\u653e\u5728\u96c6\u7c07\u7684\u6570\u636e\u76ee\u5f55\u4e2d\uff0c\u8fd9\u4e2a\u76ee\u5f55\u901a\u5e38\u79f0\u4e3a <code>PGDATA</code>\uff08\u540d\u5b57\u6765\u81ea\u53ef\u7528\u4e8e\u5b9a\u4e49\u5b83\u7684\u73af\u5883\u53d8\u91cf\uff09\u3002<code>PGDATA</code> \u7684\u4e00\u4e2a\u5e38\u89c1\u4f4d\u7f6e\u662f\n<code>/var/lib/pgsql/data</code>\u3002\u540c\u4e00\u53f0\u673a\u5668\u4e0a\u53ef\u4ee5\u5b58\u5728\u591a\u4e2a\u7531\u4e0d\u540c\u670d\u52a1\u5668\u5b9e\u4f8b\u7ba1\u7406\u7684\u96c6\u7c07\u3002\n</p><p>\n<code>PGDATA</code> \u76ee\u5f55\u5305\u542b\u82e5\u5e72\u5b50\u76ee\u5f55\u548c\u63a7\u5236\u6587\u4ef6\uff0c\u5982<a href=\"/zh/docs/15/storage.html#PGDATA-CONTENTS-TABLE\" rel=\"nofollow\">\u8868\u00a073.1</a> \u6240\u793a\u3002\u9664\u8fd9\u4e9b\u5fc5\u9700\u9879\u4e4b\u5916\uff0c\u96c6\u7c07\u914d\u7f6e\u6587\u4ef6\n<code>postgresql.conf</code>\u3001<code>pg_hba.conf</code> \u548c\n<code>pg_ident.conf</code> \u4f20\u7edf\u4e0a\u4e5f\u5b58\u653e\u5728 <code>PGDATA</code>\n\u4e2d\uff0c\u4e0d\u8fc7\u4e5f\u53ef\u4ee5\u628a\u5b83\u4eec\u653e\u5728\u5176\u4ed6\u5730\u65b9\u3002\n</p><p>\n\u5bf9\u4e8e\u96c6\u7c07\u4e2d\u7684\u6bcf\u4e2a\u6570\u636e\u5e93\uff0c<code>PGDATA</code><code>/base</code>\n\u4e2d\u90fd\u6709\u4e00\u4e2a\u5b50\u76ee\u5f55\uff0c\u5176\u540d\u79f0\u662f\u8be5\u6570\u636e\u5e93\u5728 <code>pg_database</code>\n\u4e2d\u7684 OID\u3002\u8fd9\u4e2a\u5b50\u76ee\u5f55\u662f\u8be5\u6570\u636e\u5e93\u6587\u4ef6\u7684\u9ed8\u8ba4\u4f4d\u7f6e\uff1b\u7279\u522b\u662f\uff0c\u5b83\u7684\u7cfb\u7edf\u76ee\u5f55\u5c31\u5b58\u653e\u5728\u8fd9\u91cc\u3002\n</p><p><a href=\"/zh/docs/15/storage.html#STORAGE-FILE-LAYOUT\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "16": {"facts": [{"label": "\u5173\u7cfb\u5206\u53c9", "value": "vm"}], "tables": [], "related": [{"url": "/wiki/storage/storage-file-layout/?v=16", "label": "\u6570\u636e\u5e93\u6587\u4ef6\u5e03\u5c40"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v16.15/postgresql-16.15.tar.bz2", "label": "16.15", "major": "16", "channel": "stable", "revision": "c1575341fa7bd40f5274ea465b34390f4dc64cdd0770af327005caaeb9f6b7ed"}, "sources": [{"url": "/docs/16/storage-file-layout.html", "path": "storage-file-layout.html", "label": "PostgreSQL 16 English manual", "sha256": "f03daad7b39b5df902b4bc6e6f856e65af368a8507ffbf02199804aa4b0d0bd5"}], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-identity", "manual": {"url": "/zh/docs/16/storage-file-layout.html", "anchor": "", "locale": "zh-Hans", "version": "16", "build_id": 103, "page_key": "storage-file-layout.html", "extraction": "concept-introduction", "source_hash": "3c7e10a573ed356405b27aa7cf16673df9178d044d2e80985d79b139ccc5c113", "fragment_sha256": "cbddc0dff20de9c7e4b9fbd292b1cf71d8bfa69f9f68c0daa3a0ec5ed01c3d24", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "git:b1b500221dbe5437cfca004d6b04d3f6e422765d;html-sha256:80579a071736780f9c4022bb5148e1fb1256f1a33591306af67816e9e9bf3a9b", "translated_from_revision": null}, "body_sha256": "31cc8a0288c32536537017fde88b99be516799243989076fd5e50567a26aedf6", "runtime_rerun": false, "authored_translation": "source-derived-identity", "source_facts_revision": "c1575341fa7bd40f5274ea465b34390f4dc64cdd0770af327005caaeb9f6b7ed"}, "facts_zh": [{"label": "\u5173\u7cfb\u5206\u53c9", "value": "vm"}], "sections": [], "center_zh": {"title": "vm fork", "locale": "zh-Hans", "source": {"key": "fork-vm", "locale": "zh-Hans", "version": "16", "text_hash": "1eb5cdeca79d7e4953697f6eea22e4bcda5a9db66b67d41f0ea2943f17818fc7", "collection": "storage", "dataset_hash": "7c31b524dfe136022d39a6ae8dcfac6b3bbd5f8fdaf422536599981252aff0c9", "source_database": "center", "source_revision": "c1575341fa7bd40f5274ea465b34390f4dc64cdd0770af327005caaeb9f6b7ed"}, "payload": {"facts": [{"label": "\u5173\u7cfb\u5206\u53c9", "value": "vm"}], "tables": [], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-identity", "manual": {"url": "/zh/docs/16/storage-file-layout.html", "anchor": "", "locale": "zh-Hans", "version": "16", "build_id": 103, "page_key": "storage-file-layout.html", "extraction": "concept-introduction", "source_hash": "3c7e10a573ed356405b27aa7cf16673df9178d044d2e80985d79b139ccc5c113", "fragment_sha256": "cbddc0dff20de9c7e4b9fbd292b1cf71d8bfa69f9f68c0daa3a0ec5ed01c3d24", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "git:b1b500221dbe5437cfca004d6b04d3f6e422765d;html-sha256:80579a071736780f9c4022bb5148e1fb1256f1a33591306af67816e9e9bf3a9b", "translated_from_revision": null}, "body_sha256": "31cc8a0288c32536537017fde88b99be516799243989076fd5e50567a26aedf6", "runtime_rerun": false, "authored_translation": "source-derived-identity", "source_facts_revision": "c1575341fa7bd40f5274ea465b34390f4dc64cdd0770af327005caaeb9f6b7ed"}, "sections": [], "description_zh": "\u672c\u8282\u4ece\u6587\u4ef6\u548c\u76ee\u5f55\u7684\u5c42\u6b21\u63cf\u8ff0\u5b58\u50a8\u683c\u5f0f\u3002 \u4f20\u7edf\u4e0a\uff0c\u6570\u636e\u5e93\u96c6\u7c07\u6240\u4f7f\u7528\u7684\u914d\u7f6e\u6587\u4ef6\u548c\u6570\u636e\u6587\u4ef6\u90fd\u5b58\u653e\u5728\u96c6\u7c07\u7684\u6570\u636e\u76ee\u5f55\u4e2d\uff0c\u8fd9\u4e2a\u76ee\u5f55\u901a\u5e38\u79f0\u4e3a PGDATA \uff08\u540d\u5b57\u6765\u81ea\u53ef\u7528\u4e8e\u5b9a\u4e49\u5b83\u7684\u73af\u5883\u53d8\u91cf\uff09\u3002 PGDATA \u7684\u4e00\u4e2a\u5e38\u89c1\u4f4d\u7f6e\u662f /var/lib/pgsql/data \u3002\u540c\u4e00\u53f0\u673a\u5668\u4e0a\u53ef\u4ee5\u5b58\u5728\u591a\u4e2a\u7531\u4e0d\u540c\u670d\u52a1\u5668\u5b9e\u4f8b\u7ba1\u7406\u7684\u96c6\u7c07\u3002 PGDATA \u76ee\u5f55\u5305\u542b\u82e5\u5e72\u5b50\u76ee\u5f55\u548c\u63a7\u5236\u6587\u4ef6\uff0c\u5982 \u8868 73.1 \u6240\u793a\u3002\u9664\u8fd9\u4e9b\u5fc5\u9700\u9879\u4e4b\u5916\uff0c\u96c6\u7c07\u914d\u7f6e\u6587\u4ef6 postgresql.conf \u3001 pg_hba.conf \u548c pg_ident.conf \u4f20\u7edf\u4e0a\u4e5f\u5b58\u653e\u5728 PGDATA \u4e2d\uff0c\u4e0d\u8fc7\u4e5f\u53ef\u4ee5\u628a\u5b83\u4eec\u653e\u5728\u5176\u4ed6\u5730\u65b9\u3002 \u5bf9\u4e8e\u96c6\u7c07\u4e2d\u7684\u6bcf\u4e2a\u6570\u636e\u5e93\uff0c PGDATA /base \u4e2d\u90fd\u6709\u4e00\u4e2a\u5b50\u76ee\u5f55\uff0c\u5176\u540d\u79f0\u662f\u8be5\u6570\u636e\u5e93\u5728 pg_database \u4e2d\u7684 OID\u3002\u8fd9\u4e2a\u5b50\u76ee\u5f55\u662f\u8be5\u6570\u636e\u5e93\u6587\u4ef6\u7684\u9ed8\u8ba4\u4f4d\u7f6e\uff1b\u7279\u522b\u662f\uff0c\u5b83\u7684\u7cfb\u7edf\u76ee\u5f55\u5c31\u5b58\u653e\u5728\u8fd9\u91cc\u3002", "description_zh_html": "<p>\u5b58\u50a8\u7ed3\u6784 fork-vm\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n\u672c\u8282\u4ece\u6587\u4ef6\u548c\u76ee\u5f55\u7684\u5c42\u6b21\u63cf\u8ff0\u5b58\u50a8\u683c\u5f0f\u3002\n</p><p>\n\u4f20\u7edf\u4e0a\uff0c\u6570\u636e\u5e93\u96c6\u7c07\u6240\u4f7f\u7528\u7684\u914d\u7f6e\u6587\u4ef6\u548c\u6570\u636e\u6587\u4ef6\u90fd\u5b58\u653e\u5728\u96c6\u7c07\u7684\u6570\u636e\u76ee\u5f55\u4e2d\uff0c\u8fd9\u4e2a\u76ee\u5f55\u901a\u5e38\u79f0\u4e3a <code class=\"varname\">PGDATA</code>\uff08\u540d\u5b57\u6765\u81ea\u53ef\u7528\u4e8e\u5b9a\u4e49\u5b83\u7684\u73af\u5883\u53d8\u91cf\uff09\u3002<code class=\"varname\">PGDATA</code> \u7684\u4e00\u4e2a\u5e38\u89c1\u4f4d\u7f6e\u662f\n<code class=\"filename\">/var/lib/pgsql/data</code>\u3002\u540c\u4e00\u53f0\u673a\u5668\u4e0a\u53ef\u4ee5\u5b58\u5728\u591a\u4e2a\u7531\u4e0d\u540c\u670d\u52a1\u5668\u5b9e\u4f8b\u7ba1\u7406\u7684\u96c6\u7c07\u3002\n</p><p>\n<code class=\"varname\">PGDATA</code> \u76ee\u5f55\u5305\u542b\u82e5\u5e72\u5b50\u76ee\u5f55\u548c\u63a7\u5236\u6587\u4ef6\uff0c\u5982<a class=\"xref\" href=\"/zh/docs/16/storage-file-layout.html#PGDATA-CONTENTS-TABLE\">\u8868\u00a073.1</a> \u6240\u793a\u3002\u9664\u8fd9\u4e9b\u5fc5\u9700\u9879\u4e4b\u5916\uff0c\u96c6\u7c07\u914d\u7f6e\u6587\u4ef6\n<code class=\"filename\">postgresql.conf</code>\u3001<code class=\"filename\">pg_hba.conf</code> \u548c\n<code class=\"filename\">pg_ident.conf</code> \u4f20\u7edf\u4e0a\u4e5f\u5b58\u653e\u5728 <code class=\"varname\">PGDATA</code>\n\u4e2d\uff0c\u4e0d\u8fc7\u4e5f\u53ef\u4ee5\u628a\u5b83\u4eec\u653e\u5728\u5176\u4ed6\u5730\u65b9\u3002\n</p><p>\n\u5bf9\u4e8e\u96c6\u7c07\u4e2d\u7684\u6bcf\u4e2a\u6570\u636e\u5e93\uff0c<code class=\"varname\">PGDATA</code><code class=\"filename\">/base</code>\n\u4e2d\u90fd\u6709\u4e00\u4e2a\u5b50\u76ee\u5f55\uff0c\u5176\u540d\u79f0\u662f\u8be5\u6570\u636e\u5e93\u5728 <code class=\"structname\">pg_database</code>\n\u4e2d\u7684 OID\u3002\u8fd9\u4e2a\u5b50\u76ee\u5f55\u662f\u8be5\u6570\u636e\u5e93\u6587\u4ef6\u7684\u9ed8\u8ba4\u4f4d\u7f6e\uff1b\u7279\u522b\u662f\uff0c\u5b83\u7684\u7cfb\u7edf\u76ee\u5f55\u5c31\u5b58\u653e\u5728\u8fd9\u91cc\u3002\n</p><p><a href=\"/zh/docs/16/storage-file-layout.html\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "summary": "\u672c\u8282\u4ece\u6587\u4ef6\u548c\u76ee\u5f55\u7684\u5c42\u6b21\u63cf\u8ff0\u5b58\u50a8\u683c\u5f0f\u3002 \u4f20\u7edf\u4e0a\uff0c\u6570\u636e\u5e93\u96c6\u7c07\u6240\u4f7f\u7528\u7684\u914d\u7f6e\u6587\u4ef6\u548c\u6570\u636e\u6587\u4ef6\u90fd\u5b58\u653e\u5728\u96c6\u7c07\u7684\u6570\u636e\u76ee\u5f55\u4e2d\uff0c\u8fd9\u4e2a\u76ee\u5f55\u901a\u5e38\u79f0\u4e3a PGDATA \uff08\u540d\u5b57\u6765\u81ea\u53ef\u7528\u4e8e\u5b9a\u4e49\u5b83\u7684\u73af\u5883\u53d8\u91cf\uff09\u3002 PGDATA \u7684\u4e00\u4e2a\u5e38\u89c1\u4f4d\u7f6e\u662f /var/lib/pgsql/data \u3002\u540c\u4e00\u53f0\u673a\u5668\u4e0a\u53ef\u4ee5\u5b58\u5728\u591a\u4e2a\u7531\u4e0d\u540c\u670d\u52a1\u5668\u5b9e\u4f8b\u7ba1\u7406\u7684\u96c6\u7c07\u3002 PGDATA \u76ee\u5f55\u5305\u542b\u82e5\u5e72\u5b50\u76ee\u5f55\u548c\u63a7\u5236\u6587\u4ef6\uff0c\u5982 \u8868 73.1 \u6240\u793a\u3002\u9664\u8fd9\u4e9b\u5fc5\u9700\u9879\u4e4b\u5916\uff0c\u96c6\u7c07\u914d\u7f6e\u6587\u4ef6 postgresql.conf \u3001 pg_hba.conf \u548c pg_ident.conf \u4f20\u7edf\u4e0a\u4e5f\u5b58\u653e\u5728 PGDATA \u4e2d\uff0c\u4e0d\u8fc7\u4e5f\u53ef\u4ee5\u628a\u5b83\u4eec\u653e\u5728\u5176\u4ed6\u5730\u65b9\u3002 \u5bf9\u4e8e\u96c6\u7c07\u4e2d\u7684\u6bcf\u4e2a\u6570\u636e\u5e93\uff0c PGDATA /base \u4e2d\u90fd\u6709\u4e00\u4e2a\u5b50\u76ee\u5f55\uff0c\u5176\u540d\u79f0\u662f\u8be5\u6570\u636e\u5e93\u5728 pg_database \u4e2d\u7684 OID\u3002\u8fd9\u4e2a\u5b50\u76ee\u5f55\u662f\u8be5\u6570\u636e\u5e93\u6587\u4ef6\u7684\u9ed8\u8ba4\u4f4d\u7f6e\uff1b\u7279\u522b\u662f\uff0c\u5b83\u7684\u7cfb\u7edf\u76ee\u5f55\u5c31\u5b58\u653e\u5728\u8fd9\u91cc\u3002", "version": "16", "link_map": {"/zh/docs/16/storage-file-layout.html": "/docs/16/storage-file-layout.html", "/zh/docs/16/storage-file-layout.html#PGDATA-CONTENTS-TABLE": "/docs/16/storage-file-layout.html#PGDATA-CONTENTS-TABLE"}, "body_html": "<p>\u5b58\u50a8\u7ed3\u6784 fork-vm\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n\u672c\u8282\u4ece\u6587\u4ef6\u548c\u76ee\u5f55\u7684\u5c42\u6b21\u63cf\u8ff0\u5b58\u50a8\u683c\u5f0f\u3002\n</p><p>\n\u4f20\u7edf\u4e0a\uff0c\u6570\u636e\u5e93\u96c6\u7c07\u6240\u4f7f\u7528\u7684\u914d\u7f6e\u6587\u4ef6\u548c\u6570\u636e\u6587\u4ef6\u90fd\u5b58\u653e\u5728\u96c6\u7c07\u7684\u6570\u636e\u76ee\u5f55\u4e2d\uff0c\u8fd9\u4e2a\u76ee\u5f55\u901a\u5e38\u79f0\u4e3a <code>PGDATA</code>\uff08\u540d\u5b57\u6765\u81ea\u53ef\u7528\u4e8e\u5b9a\u4e49\u5b83\u7684\u73af\u5883\u53d8\u91cf\uff09\u3002<code>PGDATA</code> \u7684\u4e00\u4e2a\u5e38\u89c1\u4f4d\u7f6e\u662f\n<code>/var/lib/pgsql/data</code>\u3002\u540c\u4e00\u53f0\u673a\u5668\u4e0a\u53ef\u4ee5\u5b58\u5728\u591a\u4e2a\u7531\u4e0d\u540c\u670d\u52a1\u5668\u5b9e\u4f8b\u7ba1\u7406\u7684\u96c6\u7c07\u3002\n</p><p>\n<code>PGDATA</code> \u76ee\u5f55\u5305\u542b\u82e5\u5e72\u5b50\u76ee\u5f55\u548c\u63a7\u5236\u6587\u4ef6\uff0c\u5982<a href=\"/zh/docs/16/storage-file-layout.html#PGDATA-CONTENTS-TABLE\" rel=\"nofollow\">\u8868\u00a073.1</a> \u6240\u793a\u3002\u9664\u8fd9\u4e9b\u5fc5\u9700\u9879\u4e4b\u5916\uff0c\u96c6\u7c07\u914d\u7f6e\u6587\u4ef6\n<code>postgresql.conf</code>\u3001<code>pg_hba.conf</code> \u548c\n<code>pg_ident.conf</code> \u4f20\u7edf\u4e0a\u4e5f\u5b58\u653e\u5728 <code>PGDATA</code>\n\u4e2d\uff0c\u4e0d\u8fc7\u4e5f\u53ef\u4ee5\u628a\u5b83\u4eec\u653e\u5728\u5176\u4ed6\u5730\u65b9\u3002\n</p><p>\n\u5bf9\u4e8e\u96c6\u7c07\u4e2d\u7684\u6bcf\u4e2a\u6570\u636e\u5e93\uff0c<code>PGDATA</code><code>/base</code>\n\u4e2d\u90fd\u6709\u4e00\u4e2a\u5b50\u76ee\u5f55\uff0c\u5176\u540d\u79f0\u662f\u8be5\u6570\u636e\u5e93\u5728 <code>pg_database</code>\n\u4e2d\u7684 OID\u3002\u8fd9\u4e2a\u5b50\u76ee\u5f55\u662f\u8be5\u6570\u636e\u5e93\u6587\u4ef6\u7684\u9ed8\u8ba4\u4f4d\u7f6e\uff1b\u7279\u522b\u662f\uff0c\u5b83\u7684\u7cfb\u7edf\u76ee\u5f55\u5c31\u5b58\u653e\u5728\u8fd9\u91cc\u3002\n</p><p><a href=\"/zh/docs/16/storage-file-layout.html\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>", "body_sha256": "b0617b0fd17d5fe29da12a0fb8a0a2b3abe36cf4329e245f5268464f4f787dfd", "content_hash": "1eb5cdeca79d7e4953697f6eea22e4bcda5a9db66b67d41f0ea2943f17818fc7", "source_database": "center", "source_revision": "c1575341fa7bd40f5274ea465b34390f4dc64cdd0770af327005caaeb9f6b7ed"}, "signature": "", "tables_zh": [], "description": ["\u672c\u8282\u4ece\u6587\u4ef6\u548c\u76ee\u5f55\u7684\u5c42\u6b21\u63cf\u8ff0\u5b58\u50a8\u683c\u5f0f\u3002 \u4f20\u7edf\u4e0a\uff0c\u6570\u636e\u5e93\u96c6\u7c07\u6240\u4f7f\u7528\u7684\u914d\u7f6e\u6587\u4ef6\u548c\u6570\u636e\u6587\u4ef6\u90fd\u5b58\u653e\u5728\u96c6\u7c07\u7684\u6570\u636e\u76ee\u5f55\u4e2d\uff0c\u8fd9\u4e2a\u76ee\u5f55\u901a\u5e38\u79f0\u4e3a PGDATA \uff08\u540d\u5b57\u6765\u81ea\u53ef\u7528\u4e8e\u5b9a\u4e49\u5b83\u7684\u73af\u5883\u53d8\u91cf\uff09\u3002 PGDATA \u7684\u4e00\u4e2a\u5e38\u89c1\u4f4d\u7f6e\u662f /var/lib/pgsql/data \u3002\u540c\u4e00\u53f0\u673a\u5668\u4e0a\u53ef\u4ee5\u5b58\u5728\u591a\u4e2a\u7531\u4e0d\u540c\u670d\u52a1\u5668\u5b9e\u4f8b\u7ba1\u7406\u7684\u96c6\u7c07\u3002 PGDATA \u76ee\u5f55\u5305\u542b\u82e5\u5e72\u5b50\u76ee\u5f55\u548c\u63a7\u5236\u6587\u4ef6\uff0c\u5982 \u8868 73.1 \u6240\u793a\u3002\u9664\u8fd9\u4e9b\u5fc5\u9700\u9879\u4e4b\u5916\uff0c\u96c6\u7c07\u914d\u7f6e\u6587\u4ef6 postgresql.conf \u3001 pg_hba.conf \u548c pg_ident.conf \u4f20\u7edf\u4e0a\u4e5f\u5b58\u653e\u5728 PGDATA \u4e2d\uff0c\u4e0d\u8fc7\u4e5f\u53ef\u4ee5\u628a\u5b83\u4eec\u653e\u5728\u5176\u4ed6\u5730\u65b9\u3002 \u5bf9\u4e8e\u96c6\u7c07\u4e2d\u7684\u6bcf\u4e2a\u6570\u636e\u5e93\uff0c PGDATA /base \u4e2d\u90fd\u6709\u4e00\u4e2a\u5b50\u76ee\u5f55\uff0c\u5176\u540d\u79f0\u662f\u8be5\u6570\u636e\u5e93\u5728 pg_database \u4e2d\u7684 OID\u3002\u8fd9\u4e2a\u5b50\u76ee\u5f55\u662f\u8be5\u6570\u636e\u5e93\u6587\u4ef6\u7684\u9ed8\u8ba4\u4f4d\u7f6e\uff1b\u7279\u522b\u662f\uff0c\u5b83\u7684\u7cfb\u7edf\u76ee\u5f55\u5c31\u5b58\u653e\u5728\u8fd9\u91cc\u3002"], "manual_html": "", "manual_path": "/docs/16/storage-file-layout.html", "sections_zh": [], "localization": {"status": "complete", "sources": [], "language": "zh", "original_text": {"/versions/16/description/0": "Each table and index is stored in a separate file. For ordinary relations, these files are named after the table or index's filenode number, which can be found in pg_class . relfilenode . But for temporary relations, the file name is of the form t BBB _ FFF , where BBB is the backend ID of the backend which created the file, and FFF is the filenode number. In either case, in addition to the main file (a/k/a main fork), each table and index has a free space map (see Section 73.3 ), which stores information about free space available in the relation. The free space map is stored in a file named with the filenode number plus the suffix _fsm . Tables also have a visibility map , stored in a fork with the suffix _vm , to track which pages are known to have no dead tuples. The visibility map is described further in Section 73.4 . Unlogged tables and indexes have a third fork, known as the initialization fork, which is stored in a fork with the suffix _init (see Section 73.5 ).", "/versions/16/description/1": "When a table or index exceeds 1 GB, it is divided into gigabyte-sized segments . The first segment's file name is the same as the filenode; subsequent segments are named filenode.1, filenode.2, etc. This arrangement avoids problems on platforms that have file size limitations. (Actually, 1 GB is just the default segment size. The segment size can be adjusted using the configuration option --with-segsize when building PostgreSQL .) In principle, free space map and visibility map forks could require multiple segments as well, though this is unlikely to happen in practice.", "/versions/16/facts/0/label": "Fork", "/versions/16/related/0/label": "Database file layout"}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "525351114d31cc3070310b9ba126eb35ad889ab96b476e230ca115b45306fa0a", "canonical_center_text_hash": "1eb5cdeca79d7e4953697f6eea22e4bcda5a9db66b67d41f0ea2943f17818fc7"}, "description_zh": "\u672c\u8282\u4ece\u6587\u4ef6\u548c\u76ee\u5f55\u7684\u5c42\u6b21\u63cf\u8ff0\u5b58\u50a8\u683c\u5f0f\u3002 \u4f20\u7edf\u4e0a\uff0c\u6570\u636e\u5e93\u96c6\u7c07\u6240\u4f7f\u7528\u7684\u914d\u7f6e\u6587\u4ef6\u548c\u6570\u636e\u6587\u4ef6\u90fd\u5b58\u653e\u5728\u96c6\u7c07\u7684\u6570\u636e\u76ee\u5f55\u4e2d\uff0c\u8fd9\u4e2a\u76ee\u5f55\u901a\u5e38\u79f0\u4e3a PGDATA \uff08\u540d\u5b57\u6765\u81ea\u53ef\u7528\u4e8e\u5b9a\u4e49\u5b83\u7684\u73af\u5883\u53d8\u91cf\uff09\u3002 PGDATA \u7684\u4e00\u4e2a\u5e38\u89c1\u4f4d\u7f6e\u662f /var/lib/pgsql/data \u3002\u540c\u4e00\u53f0\u673a\u5668\u4e0a\u53ef\u4ee5\u5b58\u5728\u591a\u4e2a\u7531\u4e0d\u540c\u670d\u52a1\u5668\u5b9e\u4f8b\u7ba1\u7406\u7684\u96c6\u7c07\u3002 PGDATA \u76ee\u5f55\u5305\u542b\u82e5\u5e72\u5b50\u76ee\u5f55\u548c\u63a7\u5236\u6587\u4ef6\uff0c\u5982 \u8868 73.1 \u6240\u793a\u3002\u9664\u8fd9\u4e9b\u5fc5\u9700\u9879\u4e4b\u5916\uff0c\u96c6\u7c07\u914d\u7f6e\u6587\u4ef6 postgresql.conf \u3001 pg_hba.conf \u548c pg_ident.conf \u4f20\u7edf\u4e0a\u4e5f\u5b58\u653e\u5728 PGDATA \u4e2d\uff0c\u4e0d\u8fc7\u4e5f\u53ef\u4ee5\u628a\u5b83\u4eec\u653e\u5728\u5176\u4ed6\u5730\u65b9\u3002 \u5bf9\u4e8e\u96c6\u7c07\u4e2d\u7684\u6bcf\u4e2a\u6570\u636e\u5e93\uff0c PGDATA /base \u4e2d\u90fd\u6709\u4e00\u4e2a\u5b50\u76ee\u5f55\uff0c\u5176\u540d\u79f0\u662f\u8be5\u6570\u636e\u5e93\u5728 pg_database \u4e2d\u7684 OID\u3002\u8fd9\u4e2a\u5b50\u76ee\u5f55\u662f\u8be5\u6570\u636e\u5e93\u6587\u4ef6\u7684\u9ed8\u8ba4\u4f4d\u7f6e\uff1b\u7279\u522b\u662f\uff0c\u5b83\u7684\u7cfb\u7edf\u76ee\u5f55\u5c31\u5b58\u653e\u5728\u8fd9\u91cc\u3002", "comparison_data": {"fork": "vm"}, "comparison_hash": "0f7e444c74befed2e9e038b208922f35c10a3caa1ec789947fda5dd19339d4d4", "manual_language": "zh", "description_zh_html": "<p>\u5b58\u50a8\u7ed3\u6784 fork-vm\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n\u672c\u8282\u4ece\u6587\u4ef6\u548c\u76ee\u5f55\u7684\u5c42\u6b21\u63cf\u8ff0\u5b58\u50a8\u683c\u5f0f\u3002\n</p><p>\n\u4f20\u7edf\u4e0a\uff0c\u6570\u636e\u5e93\u96c6\u7c07\u6240\u4f7f\u7528\u7684\u914d\u7f6e\u6587\u4ef6\u548c\u6570\u636e\u6587\u4ef6\u90fd\u5b58\u653e\u5728\u96c6\u7c07\u7684\u6570\u636e\u76ee\u5f55\u4e2d\uff0c\u8fd9\u4e2a\u76ee\u5f55\u901a\u5e38\u79f0\u4e3a <code>PGDATA</code>\uff08\u540d\u5b57\u6765\u81ea\u53ef\u7528\u4e8e\u5b9a\u4e49\u5b83\u7684\u73af\u5883\u53d8\u91cf\uff09\u3002<code>PGDATA</code> \u7684\u4e00\u4e2a\u5e38\u89c1\u4f4d\u7f6e\u662f\n<code>/var/lib/pgsql/data</code>\u3002\u540c\u4e00\u53f0\u673a\u5668\u4e0a\u53ef\u4ee5\u5b58\u5728\u591a\u4e2a\u7531\u4e0d\u540c\u670d\u52a1\u5668\u5b9e\u4f8b\u7ba1\u7406\u7684\u96c6\u7c07\u3002\n</p><p>\n<code>PGDATA</code> \u76ee\u5f55\u5305\u542b\u82e5\u5e72\u5b50\u76ee\u5f55\u548c\u63a7\u5236\u6587\u4ef6\uff0c\u5982<a href=\"/zh/docs/16/storage-file-layout.html#PGDATA-CONTENTS-TABLE\" rel=\"nofollow\">\u8868\u00a073.1</a> \u6240\u793a\u3002\u9664\u8fd9\u4e9b\u5fc5\u9700\u9879\u4e4b\u5916\uff0c\u96c6\u7c07\u914d\u7f6e\u6587\u4ef6\n<code>postgresql.conf</code>\u3001<code>pg_hba.conf</code> \u548c\n<code>pg_ident.conf</code> \u4f20\u7edf\u4e0a\u4e5f\u5b58\u653e\u5728 <code>PGDATA</code>\n\u4e2d\uff0c\u4e0d\u8fc7\u4e5f\u53ef\u4ee5\u628a\u5b83\u4eec\u653e\u5728\u5176\u4ed6\u5730\u65b9\u3002\n</p><p>\n\u5bf9\u4e8e\u96c6\u7c07\u4e2d\u7684\u6bcf\u4e2a\u6570\u636e\u5e93\uff0c<code>PGDATA</code><code>/base</code>\n\u4e2d\u90fd\u6709\u4e00\u4e2a\u5b50\u76ee\u5f55\uff0c\u5176\u540d\u79f0\u662f\u8be5\u6570\u636e\u5e93\u5728 <code>pg_database</code>\n\u4e2d\u7684 OID\u3002\u8fd9\u4e2a\u5b50\u76ee\u5f55\u662f\u8be5\u6570\u636e\u5e93\u6587\u4ef6\u7684\u9ed8\u8ba4\u4f4d\u7f6e\uff1b\u7279\u522b\u662f\uff0c\u5b83\u7684\u7cfb\u7edf\u76ee\u5f55\u5c31\u5b58\u653e\u5728\u8fd9\u91cc\u3002\n</p><p><a href=\"/zh/docs/16/storage-file-layout.html\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "17": {"facts": [{"label": "\u5173\u7cfb\u5206\u53c9", "value": "vm"}], "tables": [], "related": [{"url": "/wiki/storage/storage-file-layout/?v=17", "label": "\u6570\u636e\u5e93\u6587\u4ef6\u5e03\u5c40"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v17.11/postgresql-17.11.tar.bz2", "label": "17.11", "major": "17", "channel": "stable", "revision": "dd27f2b3c59e73ed14aa3324901242bf69a032a6347805f274e6260322d42979"}, "sources": [{"url": "/docs/17/storage-file-layout.html", "path": "storage-file-layout.html", "label": "PostgreSQL 17 English manual", "sha256": "f3de9587ca7d02f068a4307639ba9e24f7e90a722f8e71b496428de6aaba8652"}], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-identity", "manual": {"url": "/zh/docs/17/storage-file-layout.html", "anchor": "", "locale": "zh-Hans", "version": "17", "build_id": 105, "page_key": "storage-file-layout.html", "extraction": "concept-introduction", "source_hash": "b604b572b86df5108ce198470c4f4890ba9dfac7574692e171ee471a106fcce0", "fragment_sha256": "f478df8c8ce97b75c7bcd9f10806b0b847f00fc353ae813b575fde736ffce24e", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "git:b1b500221dbe5437cfca004d6b04d3f6e422765d;html-sha256:7340767258d21c21b36f373f1fff6bab2be18e0daca13a865129db6105c09efd", "translated_from_revision": null}, "body_sha256": "14cff1c243d85296792617c280fab1ff76c2fa4a909d9e1fda6efee8711ff67b", "runtime_rerun": false, "authored_translation": "source-derived-identity", "source_facts_revision": "dd27f2b3c59e73ed14aa3324901242bf69a032a6347805f274e6260322d42979"}, "facts_zh": [{"label": "\u5173\u7cfb\u5206\u53c9", "value": "vm"}], "sections": [], "center_zh": {"title": "vm fork", "locale": "zh-Hans", "source": {"key": "fork-vm", "locale": "zh-Hans", "version": "17", "text_hash": "7407cced28698fc779a266647543223938f23995b0f77719627b09af5f179c71", "collection": "storage", "dataset_hash": "7c31b524dfe136022d39a6ae8dcfac6b3bbd5f8fdaf422536599981252aff0c9", "source_database": "center", "source_revision": "dd27f2b3c59e73ed14aa3324901242bf69a032a6347805f274e6260322d42979"}, "payload": {"facts": [{"label": "\u5173\u7cfb\u5206\u53c9", "value": "vm"}], "tables": [], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-identity", "manual": {"url": "/zh/docs/17/storage-file-layout.html", "anchor": "", "locale": "zh-Hans", "version": "17", "build_id": 105, "page_key": "storage-file-layout.html", "extraction": "concept-introduction", "source_hash": "b604b572b86df5108ce198470c4f4890ba9dfac7574692e171ee471a106fcce0", "fragment_sha256": "f478df8c8ce97b75c7bcd9f10806b0b847f00fc353ae813b575fde736ffce24e", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "git:b1b500221dbe5437cfca004d6b04d3f6e422765d;html-sha256:7340767258d21c21b36f373f1fff6bab2be18e0daca13a865129db6105c09efd", "translated_from_revision": null}, "body_sha256": "14cff1c243d85296792617c280fab1ff76c2fa4a909d9e1fda6efee8711ff67b", "runtime_rerun": false, "authored_translation": "source-derived-identity", "source_facts_revision": "dd27f2b3c59e73ed14aa3324901242bf69a032a6347805f274e6260322d42979"}, "sections": [], "description_zh": "\u672c\u8282\u4ece\u6587\u4ef6\u548c\u76ee\u5f55\u7684\u5c42\u6b21\u63cf\u8ff0\u5b58\u50a8\u683c\u5f0f\u3002 \u4f20\u7edf\u4e0a\uff0c\u6570\u636e\u5e93\u96c6\u7c07\u6240\u4f7f\u7528\u7684\u914d\u7f6e\u6587\u4ef6\u548c\u6570\u636e\u6587\u4ef6\u90fd\u5b58\u653e\u5728\u96c6\u7c07\u7684\u6570\u636e\u76ee\u5f55\u4e2d\uff0c\u8fd9\u4e2a\u76ee\u5f55\u901a\u5e38\u79f0\u4e3a PGDATA \uff08\u540d\u5b57\u6765\u81ea\u53ef\u7528\u4e8e\u5b9a\u4e49\u5b83\u7684\u73af\u5883\u53d8\u91cf\uff09\u3002 PGDATA \u7684\u4e00\u4e2a\u5e38\u89c1\u4f4d\u7f6e\u662f /var/lib/pgsql/data \u3002\u540c\u4e00\u53f0\u673a\u5668\u4e0a\u53ef\u4ee5\u5b58\u5728\u591a\u4e2a\u7531\u4e0d\u540c\u670d\u52a1\u5668\u5b9e\u4f8b\u7ba1\u7406\u7684\u96c6\u7c07\u3002 PGDATA \u76ee\u5f55\u5305\u542b\u82e5\u5e72\u5b50\u76ee\u5f55\u548c\u63a7\u5236\u6587\u4ef6\uff0c\u5982 \u8868 65.1 \u6240\u793a\u3002\u9664\u8fd9\u4e9b\u5fc5\u9700\u9879\u4e4b\u5916\uff0c\u96c6\u7c07\u914d\u7f6e\u6587\u4ef6 postgresql.conf \u3001 pg_hba.conf \u548c pg_ident.conf \u4f20\u7edf\u4e0a\u4e5f\u5b58\u653e\u5728 PGDATA \u4e2d\uff0c\u4e0d\u8fc7\u4e5f\u53ef\u4ee5\u628a\u5b83\u4eec\u653e\u5728\u5176\u4ed6\u5730\u65b9\u3002 \u5bf9\u4e8e\u96c6\u7c07\u4e2d\u7684\u6bcf\u4e2a\u6570\u636e\u5e93\uff0c PGDATA /base \u4e2d\u90fd\u6709\u4e00\u4e2a\u5b50\u76ee\u5f55\uff0c\u5176\u540d\u79f0\u662f\u8be5\u6570\u636e\u5e93\u5728 pg_database \u4e2d\u7684 OID\u3002\u8fd9\u4e2a\u5b50\u76ee\u5f55\u662f\u8be5\u6570\u636e\u5e93\u6587\u4ef6\u7684\u9ed8\u8ba4\u4f4d\u7f6e\uff1b\u7279\u522b\u662f\uff0c\u5b83\u7684\u7cfb\u7edf\u76ee\u5f55\u5c31\u5b58\u653e\u5728\u8fd9\u91cc\u3002", "description_zh_html": "<p>\u5b58\u50a8\u7ed3\u6784 fork-vm\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n\u672c\u8282\u4ece\u6587\u4ef6\u548c\u76ee\u5f55\u7684\u5c42\u6b21\u63cf\u8ff0\u5b58\u50a8\u683c\u5f0f\u3002\n</p><p>\n\u4f20\u7edf\u4e0a\uff0c\u6570\u636e\u5e93\u96c6\u7c07\u6240\u4f7f\u7528\u7684\u914d\u7f6e\u6587\u4ef6\u548c\u6570\u636e\u6587\u4ef6\u90fd\u5b58\u653e\u5728\u96c6\u7c07\u7684\u6570\u636e\u76ee\u5f55\u4e2d\uff0c\u8fd9\u4e2a\u76ee\u5f55\u901a\u5e38\u79f0\u4e3a <code class=\"varname\">PGDATA</code>\uff08\u540d\u5b57\u6765\u81ea\u53ef\u7528\u4e8e\u5b9a\u4e49\u5b83\u7684\u73af\u5883\u53d8\u91cf\uff09\u3002<code class=\"varname\">PGDATA</code> \u7684\u4e00\u4e2a\u5e38\u89c1\u4f4d\u7f6e\u662f\n<code class=\"filename\">/var/lib/pgsql/data</code>\u3002\u540c\u4e00\u53f0\u673a\u5668\u4e0a\u53ef\u4ee5\u5b58\u5728\u591a\u4e2a\u7531\u4e0d\u540c\u670d\u52a1\u5668\u5b9e\u4f8b\u7ba1\u7406\u7684\u96c6\u7c07\u3002\n</p><p>\n<code class=\"varname\">PGDATA</code> \u76ee\u5f55\u5305\u542b\u82e5\u5e72\u5b50\u76ee\u5f55\u548c\u63a7\u5236\u6587\u4ef6\uff0c\u5982<a class=\"xref\" href=\"/zh/docs/17/storage-file-layout.html#PGDATA-CONTENTS-TABLE\">\u8868\u00a065.1</a> \u6240\u793a\u3002\u9664\u8fd9\u4e9b\u5fc5\u9700\u9879\u4e4b\u5916\uff0c\u96c6\u7c07\u914d\u7f6e\u6587\u4ef6\n<code class=\"filename\">postgresql.conf</code>\u3001<code class=\"filename\">pg_hba.conf</code> \u548c\n<code class=\"filename\">pg_ident.conf</code> \u4f20\u7edf\u4e0a\u4e5f\u5b58\u653e\u5728 <code class=\"varname\">PGDATA</code>\n\u4e2d\uff0c\u4e0d\u8fc7\u4e5f\u53ef\u4ee5\u628a\u5b83\u4eec\u653e\u5728\u5176\u4ed6\u5730\u65b9\u3002\n</p><p>\n\u5bf9\u4e8e\u96c6\u7c07\u4e2d\u7684\u6bcf\u4e2a\u6570\u636e\u5e93\uff0c<code class=\"varname\">PGDATA</code><code class=\"filename\">/base</code>\n\u4e2d\u90fd\u6709\u4e00\u4e2a\u5b50\u76ee\u5f55\uff0c\u5176\u540d\u79f0\u662f\u8be5\u6570\u636e\u5e93\u5728 <code class=\"structname\">pg_database</code>\n\u4e2d\u7684 OID\u3002\u8fd9\u4e2a\u5b50\u76ee\u5f55\u662f\u8be5\u6570\u636e\u5e93\u6587\u4ef6\u7684\u9ed8\u8ba4\u4f4d\u7f6e\uff1b\u7279\u522b\u662f\uff0c\u5b83\u7684\u7cfb\u7edf\u76ee\u5f55\u5c31\u5b58\u653e\u5728\u8fd9\u91cc\u3002\n</p><p><a href=\"/zh/docs/17/storage-file-layout.html\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "summary": "\u672c\u8282\u4ece\u6587\u4ef6\u548c\u76ee\u5f55\u7684\u5c42\u6b21\u63cf\u8ff0\u5b58\u50a8\u683c\u5f0f\u3002 \u4f20\u7edf\u4e0a\uff0c\u6570\u636e\u5e93\u96c6\u7c07\u6240\u4f7f\u7528\u7684\u914d\u7f6e\u6587\u4ef6\u548c\u6570\u636e\u6587\u4ef6\u90fd\u5b58\u653e\u5728\u96c6\u7c07\u7684\u6570\u636e\u76ee\u5f55\u4e2d\uff0c\u8fd9\u4e2a\u76ee\u5f55\u901a\u5e38\u79f0\u4e3a PGDATA \uff08\u540d\u5b57\u6765\u81ea\u53ef\u7528\u4e8e\u5b9a\u4e49\u5b83\u7684\u73af\u5883\u53d8\u91cf\uff09\u3002 PGDATA \u7684\u4e00\u4e2a\u5e38\u89c1\u4f4d\u7f6e\u662f /var/lib/pgsql/data \u3002\u540c\u4e00\u53f0\u673a\u5668\u4e0a\u53ef\u4ee5\u5b58\u5728\u591a\u4e2a\u7531\u4e0d\u540c\u670d\u52a1\u5668\u5b9e\u4f8b\u7ba1\u7406\u7684\u96c6\u7c07\u3002 PGDATA \u76ee\u5f55\u5305\u542b\u82e5\u5e72\u5b50\u76ee\u5f55\u548c\u63a7\u5236\u6587\u4ef6\uff0c\u5982 \u8868 65.1 \u6240\u793a\u3002\u9664\u8fd9\u4e9b\u5fc5\u9700\u9879\u4e4b\u5916\uff0c\u96c6\u7c07\u914d\u7f6e\u6587\u4ef6 postgresql.conf \u3001 pg_hba.conf \u548c pg_ident.conf \u4f20\u7edf\u4e0a\u4e5f\u5b58\u653e\u5728 PGDATA \u4e2d\uff0c\u4e0d\u8fc7\u4e5f\u53ef\u4ee5\u628a\u5b83\u4eec\u653e\u5728\u5176\u4ed6\u5730\u65b9\u3002 \u5bf9\u4e8e\u96c6\u7c07\u4e2d\u7684\u6bcf\u4e2a\u6570\u636e\u5e93\uff0c PGDATA /base \u4e2d\u90fd\u6709\u4e00\u4e2a\u5b50\u76ee\u5f55\uff0c\u5176\u540d\u79f0\u662f\u8be5\u6570\u636e\u5e93\u5728 pg_database \u4e2d\u7684 OID\u3002\u8fd9\u4e2a\u5b50\u76ee\u5f55\u662f\u8be5\u6570\u636e\u5e93\u6587\u4ef6\u7684\u9ed8\u8ba4\u4f4d\u7f6e\uff1b\u7279\u522b\u662f\uff0c\u5b83\u7684\u7cfb\u7edf\u76ee\u5f55\u5c31\u5b58\u653e\u5728\u8fd9\u91cc\u3002", "version": "17", "link_map": {"/zh/docs/17/storage-file-layout.html": "/docs/17/storage-file-layout.html", "/zh/docs/17/storage-file-layout.html#PGDATA-CONTENTS-TABLE": "/docs/17/storage-file-layout.html#PGDATA-CONTENTS-TABLE"}, "body_html": "<p>\u5b58\u50a8\u7ed3\u6784 fork-vm\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n\u672c\u8282\u4ece\u6587\u4ef6\u548c\u76ee\u5f55\u7684\u5c42\u6b21\u63cf\u8ff0\u5b58\u50a8\u683c\u5f0f\u3002\n</p><p>\n\u4f20\u7edf\u4e0a\uff0c\u6570\u636e\u5e93\u96c6\u7c07\u6240\u4f7f\u7528\u7684\u914d\u7f6e\u6587\u4ef6\u548c\u6570\u636e\u6587\u4ef6\u90fd\u5b58\u653e\u5728\u96c6\u7c07\u7684\u6570\u636e\u76ee\u5f55\u4e2d\uff0c\u8fd9\u4e2a\u76ee\u5f55\u901a\u5e38\u79f0\u4e3a <code>PGDATA</code>\uff08\u540d\u5b57\u6765\u81ea\u53ef\u7528\u4e8e\u5b9a\u4e49\u5b83\u7684\u73af\u5883\u53d8\u91cf\uff09\u3002<code>PGDATA</code> \u7684\u4e00\u4e2a\u5e38\u89c1\u4f4d\u7f6e\u662f\n<code>/var/lib/pgsql/data</code>\u3002\u540c\u4e00\u53f0\u673a\u5668\u4e0a\u53ef\u4ee5\u5b58\u5728\u591a\u4e2a\u7531\u4e0d\u540c\u670d\u52a1\u5668\u5b9e\u4f8b\u7ba1\u7406\u7684\u96c6\u7c07\u3002\n</p><p>\n<code>PGDATA</code> \u76ee\u5f55\u5305\u542b\u82e5\u5e72\u5b50\u76ee\u5f55\u548c\u63a7\u5236\u6587\u4ef6\uff0c\u5982<a href=\"/zh/docs/17/storage-file-layout.html#PGDATA-CONTENTS-TABLE\" rel=\"nofollow\">\u8868\u00a065.1</a> \u6240\u793a\u3002\u9664\u8fd9\u4e9b\u5fc5\u9700\u9879\u4e4b\u5916\uff0c\u96c6\u7c07\u914d\u7f6e\u6587\u4ef6\n<code>postgresql.conf</code>\u3001<code>pg_hba.conf</code> \u548c\n<code>pg_ident.conf</code> \u4f20\u7edf\u4e0a\u4e5f\u5b58\u653e\u5728 <code>PGDATA</code>\n\u4e2d\uff0c\u4e0d\u8fc7\u4e5f\u53ef\u4ee5\u628a\u5b83\u4eec\u653e\u5728\u5176\u4ed6\u5730\u65b9\u3002\n</p><p>\n\u5bf9\u4e8e\u96c6\u7c07\u4e2d\u7684\u6bcf\u4e2a\u6570\u636e\u5e93\uff0c<code>PGDATA</code><code>/base</code>\n\u4e2d\u90fd\u6709\u4e00\u4e2a\u5b50\u76ee\u5f55\uff0c\u5176\u540d\u79f0\u662f\u8be5\u6570\u636e\u5e93\u5728 <code>pg_database</code>\n\u4e2d\u7684 OID\u3002\u8fd9\u4e2a\u5b50\u76ee\u5f55\u662f\u8be5\u6570\u636e\u5e93\u6587\u4ef6\u7684\u9ed8\u8ba4\u4f4d\u7f6e\uff1b\u7279\u522b\u662f\uff0c\u5b83\u7684\u7cfb\u7edf\u76ee\u5f55\u5c31\u5b58\u653e\u5728\u8fd9\u91cc\u3002\n</p><p><a href=\"/zh/docs/17/storage-file-layout.html\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>", "body_sha256": "f5e7a8bd5c24510f7dcd648d8d23bed7e1b0d516633be9af43b70d346976d714", "content_hash": "7407cced28698fc779a266647543223938f23995b0f77719627b09af5f179c71", "source_database": "center", "source_revision": "dd27f2b3c59e73ed14aa3324901242bf69a032a6347805f274e6260322d42979"}, "signature": "", "tables_zh": [], "description": ["\u672c\u8282\u4ece\u6587\u4ef6\u548c\u76ee\u5f55\u7684\u5c42\u6b21\u63cf\u8ff0\u5b58\u50a8\u683c\u5f0f\u3002 \u4f20\u7edf\u4e0a\uff0c\u6570\u636e\u5e93\u96c6\u7c07\u6240\u4f7f\u7528\u7684\u914d\u7f6e\u6587\u4ef6\u548c\u6570\u636e\u6587\u4ef6\u90fd\u5b58\u653e\u5728\u96c6\u7c07\u7684\u6570\u636e\u76ee\u5f55\u4e2d\uff0c\u8fd9\u4e2a\u76ee\u5f55\u901a\u5e38\u79f0\u4e3a PGDATA \uff08\u540d\u5b57\u6765\u81ea\u53ef\u7528\u4e8e\u5b9a\u4e49\u5b83\u7684\u73af\u5883\u53d8\u91cf\uff09\u3002 PGDATA \u7684\u4e00\u4e2a\u5e38\u89c1\u4f4d\u7f6e\u662f /var/lib/pgsql/data \u3002\u540c\u4e00\u53f0\u673a\u5668\u4e0a\u53ef\u4ee5\u5b58\u5728\u591a\u4e2a\u7531\u4e0d\u540c\u670d\u52a1\u5668\u5b9e\u4f8b\u7ba1\u7406\u7684\u96c6\u7c07\u3002 PGDATA \u76ee\u5f55\u5305\u542b\u82e5\u5e72\u5b50\u76ee\u5f55\u548c\u63a7\u5236\u6587\u4ef6\uff0c\u5982 \u8868 65.1 \u6240\u793a\u3002\u9664\u8fd9\u4e9b\u5fc5\u9700\u9879\u4e4b\u5916\uff0c\u96c6\u7c07\u914d\u7f6e\u6587\u4ef6 postgresql.conf \u3001 pg_hba.conf \u548c pg_ident.conf \u4f20\u7edf\u4e0a\u4e5f\u5b58\u653e\u5728 PGDATA \u4e2d\uff0c\u4e0d\u8fc7\u4e5f\u53ef\u4ee5\u628a\u5b83\u4eec\u653e\u5728\u5176\u4ed6\u5730\u65b9\u3002 \u5bf9\u4e8e\u96c6\u7c07\u4e2d\u7684\u6bcf\u4e2a\u6570\u636e\u5e93\uff0c PGDATA /base \u4e2d\u90fd\u6709\u4e00\u4e2a\u5b50\u76ee\u5f55\uff0c\u5176\u540d\u79f0\u662f\u8be5\u6570\u636e\u5e93\u5728 pg_database \u4e2d\u7684 OID\u3002\u8fd9\u4e2a\u5b50\u76ee\u5f55\u662f\u8be5\u6570\u636e\u5e93\u6587\u4ef6\u7684\u9ed8\u8ba4\u4f4d\u7f6e\uff1b\u7279\u522b\u662f\uff0c\u5b83\u7684\u7cfb\u7edf\u76ee\u5f55\u5c31\u5b58\u653e\u5728\u8fd9\u91cc\u3002"], "manual_html": "", "manual_path": "/docs/17/storage-file-layout.html", "sections_zh": [], "localization": {"status": "complete", "sources": [{"url": "/docs/17/storage-file-layout.html", "method": "same-major semantic node", "sha256": "560012604ef3e72433d00f8d7c10e196fc8d62ce42f886a6d72b9471e74a6257", "language": "zh", "matched_nodes": ["#STORAGE-FILE-LAYOUT/p[8]"]}], "language": "zh", "original_text": {"/versions/17/description/0": "Each table and index is stored in a separate file. For ordinary relations, these files are named after the table or index's filenode number, which can be found in pg_class . relfilenode . But for temporary relations, the file name is of the form t BBB _ FFF , where BBB is the process number of the backend which created the file, and FFF is the filenode number. In either case, in addition to the main file (a/k/a main fork), each table and index has a free space map (see Section 65.3 ), which stores information about free space available in the relation. The free space map is stored in a file named with the filenode number plus the suffix _fsm . Tables also have a visibility map , stored in a fork with the suffix _vm , to track which pages are known to have no dead tuples. The visibility map is described further in Section 65.4 . Unlogged tables and indexes have a third fork, known as the initialization fork, which is stored in a fork with the suffix _init (see Section 65.5 ).", "/versions/17/description/1": "When a table or index exceeds 1 GB, it is divided into gigabyte-sized segments . The first segment's file name is the same as the filenode; subsequent segments are named filenode.1, filenode.2, etc. This arrangement avoids problems on platforms that have file size limitations. (Actually, 1 GB is just the default segment size. The segment size can be adjusted using the configuration option --with-segsize when building PostgreSQL .) In principle, free space map and visibility map forks could require multiple segments as well, though this is unlikely to happen in practice.", "/versions/17/facts/0/label": "Fork", "/versions/17/related/0/label": "Database file layout"}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "3fc5d89c41628689a88f3ae2f788418afd603f6fefa27e1a5e44064e08d5cf3a", "canonical_center_text_hash": "7407cced28698fc779a266647543223938f23995b0f77719627b09af5f179c71"}, "description_zh": "\u672c\u8282\u4ece\u6587\u4ef6\u548c\u76ee\u5f55\u7684\u5c42\u6b21\u63cf\u8ff0\u5b58\u50a8\u683c\u5f0f\u3002 \u4f20\u7edf\u4e0a\uff0c\u6570\u636e\u5e93\u96c6\u7c07\u6240\u4f7f\u7528\u7684\u914d\u7f6e\u6587\u4ef6\u548c\u6570\u636e\u6587\u4ef6\u90fd\u5b58\u653e\u5728\u96c6\u7c07\u7684\u6570\u636e\u76ee\u5f55\u4e2d\uff0c\u8fd9\u4e2a\u76ee\u5f55\u901a\u5e38\u79f0\u4e3a PGDATA \uff08\u540d\u5b57\u6765\u81ea\u53ef\u7528\u4e8e\u5b9a\u4e49\u5b83\u7684\u73af\u5883\u53d8\u91cf\uff09\u3002 PGDATA \u7684\u4e00\u4e2a\u5e38\u89c1\u4f4d\u7f6e\u662f /var/lib/pgsql/data \u3002\u540c\u4e00\u53f0\u673a\u5668\u4e0a\u53ef\u4ee5\u5b58\u5728\u591a\u4e2a\u7531\u4e0d\u540c\u670d\u52a1\u5668\u5b9e\u4f8b\u7ba1\u7406\u7684\u96c6\u7c07\u3002 PGDATA \u76ee\u5f55\u5305\u542b\u82e5\u5e72\u5b50\u76ee\u5f55\u548c\u63a7\u5236\u6587\u4ef6\uff0c\u5982 \u8868 65.1 \u6240\u793a\u3002\u9664\u8fd9\u4e9b\u5fc5\u9700\u9879\u4e4b\u5916\uff0c\u96c6\u7c07\u914d\u7f6e\u6587\u4ef6 postgresql.conf \u3001 pg_hba.conf \u548c pg_ident.conf \u4f20\u7edf\u4e0a\u4e5f\u5b58\u653e\u5728 PGDATA \u4e2d\uff0c\u4e0d\u8fc7\u4e5f\u53ef\u4ee5\u628a\u5b83\u4eec\u653e\u5728\u5176\u4ed6\u5730\u65b9\u3002 \u5bf9\u4e8e\u96c6\u7c07\u4e2d\u7684\u6bcf\u4e2a\u6570\u636e\u5e93\uff0c PGDATA /base \u4e2d\u90fd\u6709\u4e00\u4e2a\u5b50\u76ee\u5f55\uff0c\u5176\u540d\u79f0\u662f\u8be5\u6570\u636e\u5e93\u5728 pg_database \u4e2d\u7684 OID\u3002\u8fd9\u4e2a\u5b50\u76ee\u5f55\u662f\u8be5\u6570\u636e\u5e93\u6587\u4ef6\u7684\u9ed8\u8ba4\u4f4d\u7f6e\uff1b\u7279\u522b\u662f\uff0c\u5b83\u7684\u7cfb\u7edf\u76ee\u5f55\u5c31\u5b58\u653e\u5728\u8fd9\u91cc\u3002", "comparison_data": {"fork": "vm"}, "comparison_hash": "0f7e444c74befed2e9e038b208922f35c10a3caa1ec789947fda5dd19339d4d4", "manual_language": "zh", "description_zh_html": "<p>\u5b58\u50a8\u7ed3\u6784 fork-vm\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n\u672c\u8282\u4ece\u6587\u4ef6\u548c\u76ee\u5f55\u7684\u5c42\u6b21\u63cf\u8ff0\u5b58\u50a8\u683c\u5f0f\u3002\n</p><p>\n\u4f20\u7edf\u4e0a\uff0c\u6570\u636e\u5e93\u96c6\u7c07\u6240\u4f7f\u7528\u7684\u914d\u7f6e\u6587\u4ef6\u548c\u6570\u636e\u6587\u4ef6\u90fd\u5b58\u653e\u5728\u96c6\u7c07\u7684\u6570\u636e\u76ee\u5f55\u4e2d\uff0c\u8fd9\u4e2a\u76ee\u5f55\u901a\u5e38\u79f0\u4e3a <code>PGDATA</code>\uff08\u540d\u5b57\u6765\u81ea\u53ef\u7528\u4e8e\u5b9a\u4e49\u5b83\u7684\u73af\u5883\u53d8\u91cf\uff09\u3002<code>PGDATA</code> \u7684\u4e00\u4e2a\u5e38\u89c1\u4f4d\u7f6e\u662f\n<code>/var/lib/pgsql/data</code>\u3002\u540c\u4e00\u53f0\u673a\u5668\u4e0a\u53ef\u4ee5\u5b58\u5728\u591a\u4e2a\u7531\u4e0d\u540c\u670d\u52a1\u5668\u5b9e\u4f8b\u7ba1\u7406\u7684\u96c6\u7c07\u3002\n</p><p>\n<code>PGDATA</code> \u76ee\u5f55\u5305\u542b\u82e5\u5e72\u5b50\u76ee\u5f55\u548c\u63a7\u5236\u6587\u4ef6\uff0c\u5982<a href=\"/zh/docs/17/storage-file-layout.html#PGDATA-CONTENTS-TABLE\" rel=\"nofollow\">\u8868\u00a065.1</a> \u6240\u793a\u3002\u9664\u8fd9\u4e9b\u5fc5\u9700\u9879\u4e4b\u5916\uff0c\u96c6\u7c07\u914d\u7f6e\u6587\u4ef6\n<code>postgresql.conf</code>\u3001<code>pg_hba.conf</code> \u548c\n<code>pg_ident.conf</code> \u4f20\u7edf\u4e0a\u4e5f\u5b58\u653e\u5728 <code>PGDATA</code>\n\u4e2d\uff0c\u4e0d\u8fc7\u4e5f\u53ef\u4ee5\u628a\u5b83\u4eec\u653e\u5728\u5176\u4ed6\u5730\u65b9\u3002\n</p><p>\n\u5bf9\u4e8e\u96c6\u7c07\u4e2d\u7684\u6bcf\u4e2a\u6570\u636e\u5e93\uff0c<code>PGDATA</code><code>/base</code>\n\u4e2d\u90fd\u6709\u4e00\u4e2a\u5b50\u76ee\u5f55\uff0c\u5176\u540d\u79f0\u662f\u8be5\u6570\u636e\u5e93\u5728 <code>pg_database</code>\n\u4e2d\u7684 OID\u3002\u8fd9\u4e2a\u5b50\u76ee\u5f55\u662f\u8be5\u6570\u636e\u5e93\u6587\u4ef6\u7684\u9ed8\u8ba4\u4f4d\u7f6e\uff1b\u7279\u522b\u662f\uff0c\u5b83\u7684\u7cfb\u7edf\u76ee\u5f55\u5c31\u5b58\u653e\u5728\u8fd9\u91cc\u3002\n</p><p><a href=\"/zh/docs/17/storage-file-layout.html\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "18": {"facts": [{"label": "\u5173\u7cfb\u5206\u53c9", "value": "vm"}], "tables": [], "related": [{"url": "/wiki/storage/storage-file-layout/?v=18", "label": "\u6570\u636e\u5e93\u6587\u4ef6\u5e03\u5c40"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2", "label": "18.6", "major": "18", "channel": "stable", "revision": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f"}, "sources": [{"url": "/docs/18/storage-file-layout.html", "path": "storage-file-layout.html", "label": "PostgreSQL 18 English manual", "sha256": "8cdf46b5af669f41f0a77c2541863d63454ef8fbb44d22a75e576cf1a7efc9c9"}], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-identity", "manual": {"url": "/zh/docs/18/storage-file-layout.html", "anchor": "", "locale": "zh-Hans", "version": "18", "build_id": 107, "page_key": "storage-file-layout.html", "extraction": "concept-introduction", "source_hash": "b919cbcb8aedb49e32e5185e2c7753b075945bb7c0e00c59b81974d853143a0a", "fragment_sha256": "257fb050d6193b915e73cee0d717b72f3e9e669fd98d6e4cebef2941b6a6378b", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "git:b1b500221dbe5437cfca004d6b04d3f6e422765d;html-sha256:08e987a66af27b98444a8057c256314eafa13611a3fb9e888214fc436824244b", "translated_from_revision": null}, "body_sha256": "5f038f4d6f99a8251c67297a88728f15fc048eb1fe67b2b55a31eb99719d0934", "runtime_rerun": false, "authored_translation": "source-derived-identity", "source_facts_revision": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f"}, "facts_zh": [{"label": "\u5173\u7cfb\u5206\u53c9", "value": "vm"}], "sections": [], "center_zh": {"title": "vm fork", "locale": "zh-Hans", "source": {"key": "fork-vm", "locale": "zh-Hans", "version": "18", "text_hash": "1f982325d18dc74fe3f0ead236663eb2726565a6adcc3867e98a6235d82f866a", "collection": "storage", "dataset_hash": "7c31b524dfe136022d39a6ae8dcfac6b3bbd5f8fdaf422536599981252aff0c9", "source_database": "center", "source_revision": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f"}, "payload": {"facts": [{"label": "\u5173\u7cfb\u5206\u53c9", "value": "vm"}], "tables": [], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-identity", "manual": {"url": "/zh/docs/18/storage-file-layout.html", "anchor": "", "locale": "zh-Hans", "version": "18", "build_id": 107, "page_key": "storage-file-layout.html", "extraction": "concept-introduction", "source_hash": "b919cbcb8aedb49e32e5185e2c7753b075945bb7c0e00c59b81974d853143a0a", "fragment_sha256": "257fb050d6193b915e73cee0d717b72f3e9e669fd98d6e4cebef2941b6a6378b", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "git:b1b500221dbe5437cfca004d6b04d3f6e422765d;html-sha256:08e987a66af27b98444a8057c256314eafa13611a3fb9e888214fc436824244b", "translated_from_revision": null}, "body_sha256": "5f038f4d6f99a8251c67297a88728f15fc048eb1fe67b2b55a31eb99719d0934", "runtime_rerun": false, "authored_translation": "source-derived-identity", "source_facts_revision": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f"}, "sections": [], "description_zh": "\u672c\u8282\u4ece\u6587\u4ef6\u548c\u76ee\u5f55\u7684\u5c42\u6b21\u63cf\u8ff0\u5b58\u50a8\u683c\u5f0f\u3002 \u4f20\u7edf\u4e0a\uff0c\u6570\u636e\u5e93\u96c6\u7c07\u6240\u4f7f\u7528\u7684\u914d\u7f6e\u6587\u4ef6\u548c\u6570\u636e\u6587\u4ef6\u90fd\u5b58\u653e\u5728\u96c6\u7c07\u7684\u6570\u636e\u76ee\u5f55\u4e2d\uff0c\u8fd9\u4e2a\u76ee\u5f55\u901a\u5e38\u79f0\u4e3a PGDATA \uff08\u540d\u5b57\u6765\u81ea\u53ef\u7528\u4e8e\u5b9a\u4e49\u5b83\u7684\u73af\u5883\u53d8\u91cf\uff09\u3002 PGDATA \u7684\u4e00\u4e2a\u5e38\u89c1\u4f4d\u7f6e\u662f /var/lib/pgsql/data \u3002\u540c\u4e00\u53f0\u673a\u5668\u4e0a\u53ef\u4ee5\u5b58\u5728\u591a\u4e2a\u7531\u4e0d\u540c\u670d\u52a1\u5668\u5b9e\u4f8b\u7ba1\u7406\u7684\u96c6\u7c07\u3002 PGDATA \u76ee\u5f55\u5305\u542b\u82e5\u5e72\u5b50\u76ee\u5f55\u548c\u63a7\u5236\u6587\u4ef6\uff0c\u5982 \u8868 66.1 \u6240\u793a\u3002\u9664\u8fd9\u4e9b\u5fc5\u9700\u9879\u4e4b\u5916\uff0c\u96c6\u7c07\u914d\u7f6e\u6587\u4ef6 postgresql.conf \u3001 pg_hba.conf \u548c pg_ident.conf \u4f20\u7edf\u4e0a\u4e5f\u5b58\u653e\u5728 PGDATA \u4e2d\uff0c\u4e0d\u8fc7\u4e5f\u53ef\u4ee5\u628a\u5b83\u4eec\u653e\u5728\u5176\u4ed6\u5730\u65b9\u3002 \u5bf9\u4e8e\u96c6\u7c07\u4e2d\u7684\u6bcf\u4e2a\u6570\u636e\u5e93\uff0c PGDATA /base \u4e2d\u90fd\u6709\u4e00\u4e2a\u5b50\u76ee\u5f55\uff0c\u5176\u540d\u79f0\u662f\u8be5\u6570\u636e\u5e93\u5728 pg_database \u4e2d\u7684 OID\u3002\u8fd9\u4e2a\u5b50\u76ee\u5f55\u662f\u8be5\u6570\u636e\u5e93\u6587\u4ef6\u7684\u9ed8\u8ba4\u4f4d\u7f6e\uff1b\u7279\u522b\u662f\uff0c\u5b83\u7684\u7cfb\u7edf\u76ee\u5f55\u5c31\u5b58\u653e\u5728\u8fd9\u91cc\u3002", "description_zh_html": "<p>\u5b58\u50a8\u7ed3\u6784 fork-vm\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n\u672c\u8282\u4ece\u6587\u4ef6\u548c\u76ee\u5f55\u7684\u5c42\u6b21\u63cf\u8ff0\u5b58\u50a8\u683c\u5f0f\u3002\n</p><p>\n\u4f20\u7edf\u4e0a\uff0c\u6570\u636e\u5e93\u96c6\u7c07\u6240\u4f7f\u7528\u7684\u914d\u7f6e\u6587\u4ef6\u548c\u6570\u636e\u6587\u4ef6\u90fd\u5b58\u653e\u5728\u96c6\u7c07\u7684\u6570\u636e\u76ee\u5f55\u4e2d\uff0c\u8fd9\u4e2a\u76ee\u5f55\u901a\u5e38\u79f0\u4e3a <code class=\"varname\">PGDATA</code>\uff08\u540d\u5b57\u6765\u81ea\u53ef\u7528\u4e8e\u5b9a\u4e49\u5b83\u7684\u73af\u5883\u53d8\u91cf\uff09\u3002<code class=\"varname\">PGDATA</code> \u7684\u4e00\u4e2a\u5e38\u89c1\u4f4d\u7f6e\u662f\n<code class=\"filename\">/var/lib/pgsql/data</code>\u3002\u540c\u4e00\u53f0\u673a\u5668\u4e0a\u53ef\u4ee5\u5b58\u5728\u591a\u4e2a\u7531\u4e0d\u540c\u670d\u52a1\u5668\u5b9e\u4f8b\u7ba1\u7406\u7684\u96c6\u7c07\u3002\n</p><p>\n<code class=\"varname\">PGDATA</code> \u76ee\u5f55\u5305\u542b\u82e5\u5e72\u5b50\u76ee\u5f55\u548c\u63a7\u5236\u6587\u4ef6\uff0c\u5982<a class=\"xref\" href=\"/zh/docs/18/storage-file-layout.html#PGDATA-CONTENTS-TABLE\">\u8868\u00a066.1</a> \u6240\u793a\u3002\u9664\u8fd9\u4e9b\u5fc5\u9700\u9879\u4e4b\u5916\uff0c\u96c6\u7c07\u914d\u7f6e\u6587\u4ef6\n<code class=\"filename\">postgresql.conf</code>\u3001<code class=\"filename\">pg_hba.conf</code> \u548c\n<code class=\"filename\">pg_ident.conf</code> \u4f20\u7edf\u4e0a\u4e5f\u5b58\u653e\u5728 <code class=\"varname\">PGDATA</code>\n\u4e2d\uff0c\u4e0d\u8fc7\u4e5f\u53ef\u4ee5\u628a\u5b83\u4eec\u653e\u5728\u5176\u4ed6\u5730\u65b9\u3002\n</p><p>\n\u5bf9\u4e8e\u96c6\u7c07\u4e2d\u7684\u6bcf\u4e2a\u6570\u636e\u5e93\uff0c<code class=\"varname\">PGDATA</code><code class=\"filename\">/base</code>\n\u4e2d\u90fd\u6709\u4e00\u4e2a\u5b50\u76ee\u5f55\uff0c\u5176\u540d\u79f0\u662f\u8be5\u6570\u636e\u5e93\u5728 <code class=\"structname\">pg_database</code>\n\u4e2d\u7684 OID\u3002\u8fd9\u4e2a\u5b50\u76ee\u5f55\u662f\u8be5\u6570\u636e\u5e93\u6587\u4ef6\u7684\u9ed8\u8ba4\u4f4d\u7f6e\uff1b\u7279\u522b\u662f\uff0c\u5b83\u7684\u7cfb\u7edf\u76ee\u5f55\u5c31\u5b58\u653e\u5728\u8fd9\u91cc\u3002\n</p><p><a href=\"/zh/docs/18/storage-file-layout.html\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "summary": "\u672c\u8282\u4ece\u6587\u4ef6\u548c\u76ee\u5f55\u7684\u5c42\u6b21\u63cf\u8ff0\u5b58\u50a8\u683c\u5f0f\u3002 \u4f20\u7edf\u4e0a\uff0c\u6570\u636e\u5e93\u96c6\u7c07\u6240\u4f7f\u7528\u7684\u914d\u7f6e\u6587\u4ef6\u548c\u6570\u636e\u6587\u4ef6\u90fd\u5b58\u653e\u5728\u96c6\u7c07\u7684\u6570\u636e\u76ee\u5f55\u4e2d\uff0c\u8fd9\u4e2a\u76ee\u5f55\u901a\u5e38\u79f0\u4e3a PGDATA \uff08\u540d\u5b57\u6765\u81ea\u53ef\u7528\u4e8e\u5b9a\u4e49\u5b83\u7684\u73af\u5883\u53d8\u91cf\uff09\u3002 PGDATA \u7684\u4e00\u4e2a\u5e38\u89c1\u4f4d\u7f6e\u662f /var/lib/pgsql/data \u3002\u540c\u4e00\u53f0\u673a\u5668\u4e0a\u53ef\u4ee5\u5b58\u5728\u591a\u4e2a\u7531\u4e0d\u540c\u670d\u52a1\u5668\u5b9e\u4f8b\u7ba1\u7406\u7684\u96c6\u7c07\u3002 PGDATA \u76ee\u5f55\u5305\u542b\u82e5\u5e72\u5b50\u76ee\u5f55\u548c\u63a7\u5236\u6587\u4ef6\uff0c\u5982 \u8868 66.1 \u6240\u793a\u3002\u9664\u8fd9\u4e9b\u5fc5\u9700\u9879\u4e4b\u5916\uff0c\u96c6\u7c07\u914d\u7f6e\u6587\u4ef6 postgresql.conf \u3001 pg_hba.conf \u548c pg_ident.conf \u4f20\u7edf\u4e0a\u4e5f\u5b58\u653e\u5728 PGDATA \u4e2d\uff0c\u4e0d\u8fc7\u4e5f\u53ef\u4ee5\u628a\u5b83\u4eec\u653e\u5728\u5176\u4ed6\u5730\u65b9\u3002 \u5bf9\u4e8e\u96c6\u7c07\u4e2d\u7684\u6bcf\u4e2a\u6570\u636e\u5e93\uff0c PGDATA /base \u4e2d\u90fd\u6709\u4e00\u4e2a\u5b50\u76ee\u5f55\uff0c\u5176\u540d\u79f0\u662f\u8be5\u6570\u636e\u5e93\u5728 pg_database \u4e2d\u7684 OID\u3002\u8fd9\u4e2a\u5b50\u76ee\u5f55\u662f\u8be5\u6570\u636e\u5e93\u6587\u4ef6\u7684\u9ed8\u8ba4\u4f4d\u7f6e\uff1b\u7279\u522b\u662f\uff0c\u5b83\u7684\u7cfb\u7edf\u76ee\u5f55\u5c31\u5b58\u653e\u5728\u8fd9\u91cc\u3002", "version": "18", "link_map": {"/zh/docs/18/storage-file-layout.html": "/docs/18/storage-file-layout.html", "/zh/docs/18/storage-file-layout.html#PGDATA-CONTENTS-TABLE": "/docs/18/storage-file-layout.html#PGDATA-CONTENTS-TABLE"}, "body_html": "<p>\u5b58\u50a8\u7ed3\u6784 fork-vm\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n\u672c\u8282\u4ece\u6587\u4ef6\u548c\u76ee\u5f55\u7684\u5c42\u6b21\u63cf\u8ff0\u5b58\u50a8\u683c\u5f0f\u3002\n</p><p>\n\u4f20\u7edf\u4e0a\uff0c\u6570\u636e\u5e93\u96c6\u7c07\u6240\u4f7f\u7528\u7684\u914d\u7f6e\u6587\u4ef6\u548c\u6570\u636e\u6587\u4ef6\u90fd\u5b58\u653e\u5728\u96c6\u7c07\u7684\u6570\u636e\u76ee\u5f55\u4e2d\uff0c\u8fd9\u4e2a\u76ee\u5f55\u901a\u5e38\u79f0\u4e3a <code>PGDATA</code>\uff08\u540d\u5b57\u6765\u81ea\u53ef\u7528\u4e8e\u5b9a\u4e49\u5b83\u7684\u73af\u5883\u53d8\u91cf\uff09\u3002<code>PGDATA</code> \u7684\u4e00\u4e2a\u5e38\u89c1\u4f4d\u7f6e\u662f\n<code>/var/lib/pgsql/data</code>\u3002\u540c\u4e00\u53f0\u673a\u5668\u4e0a\u53ef\u4ee5\u5b58\u5728\u591a\u4e2a\u7531\u4e0d\u540c\u670d\u52a1\u5668\u5b9e\u4f8b\u7ba1\u7406\u7684\u96c6\u7c07\u3002\n</p><p>\n<code>PGDATA</code> \u76ee\u5f55\u5305\u542b\u82e5\u5e72\u5b50\u76ee\u5f55\u548c\u63a7\u5236\u6587\u4ef6\uff0c\u5982<a href=\"/zh/docs/18/storage-file-layout.html#PGDATA-CONTENTS-TABLE\" rel=\"nofollow\">\u8868\u00a066.1</a> \u6240\u793a\u3002\u9664\u8fd9\u4e9b\u5fc5\u9700\u9879\u4e4b\u5916\uff0c\u96c6\u7c07\u914d\u7f6e\u6587\u4ef6\n<code>postgresql.conf</code>\u3001<code>pg_hba.conf</code> \u548c\n<code>pg_ident.conf</code> \u4f20\u7edf\u4e0a\u4e5f\u5b58\u653e\u5728 <code>PGDATA</code>\n\u4e2d\uff0c\u4e0d\u8fc7\u4e5f\u53ef\u4ee5\u628a\u5b83\u4eec\u653e\u5728\u5176\u4ed6\u5730\u65b9\u3002\n</p><p>\n\u5bf9\u4e8e\u96c6\u7c07\u4e2d\u7684\u6bcf\u4e2a\u6570\u636e\u5e93\uff0c<code>PGDATA</code><code>/base</code>\n\u4e2d\u90fd\u6709\u4e00\u4e2a\u5b50\u76ee\u5f55\uff0c\u5176\u540d\u79f0\u662f\u8be5\u6570\u636e\u5e93\u5728 <code>pg_database</code>\n\u4e2d\u7684 OID\u3002\u8fd9\u4e2a\u5b50\u76ee\u5f55\u662f\u8be5\u6570\u636e\u5e93\u6587\u4ef6\u7684\u9ed8\u8ba4\u4f4d\u7f6e\uff1b\u7279\u522b\u662f\uff0c\u5b83\u7684\u7cfb\u7edf\u76ee\u5f55\u5c31\u5b58\u653e\u5728\u8fd9\u91cc\u3002\n</p><p><a href=\"/zh/docs/18/storage-file-layout.html\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>", "body_sha256": "a82c867f0a19c893eb457d9c0f00a53ff647991d73f7d577cd4b53ee6756de3a", "content_hash": "1f982325d18dc74fe3f0ead236663eb2726565a6adcc3867e98a6235d82f866a", "source_database": "center", "source_revision": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f"}, "signature": "", "tables_zh": [], "description": ["\u672c\u8282\u4ece\u6587\u4ef6\u548c\u76ee\u5f55\u7684\u5c42\u6b21\u63cf\u8ff0\u5b58\u50a8\u683c\u5f0f\u3002 \u4f20\u7edf\u4e0a\uff0c\u6570\u636e\u5e93\u96c6\u7c07\u6240\u4f7f\u7528\u7684\u914d\u7f6e\u6587\u4ef6\u548c\u6570\u636e\u6587\u4ef6\u90fd\u5b58\u653e\u5728\u96c6\u7c07\u7684\u6570\u636e\u76ee\u5f55\u4e2d\uff0c\u8fd9\u4e2a\u76ee\u5f55\u901a\u5e38\u79f0\u4e3a PGDATA \uff08\u540d\u5b57\u6765\u81ea\u53ef\u7528\u4e8e\u5b9a\u4e49\u5b83\u7684\u73af\u5883\u53d8\u91cf\uff09\u3002 PGDATA \u7684\u4e00\u4e2a\u5e38\u89c1\u4f4d\u7f6e\u662f /var/lib/pgsql/data \u3002\u540c\u4e00\u53f0\u673a\u5668\u4e0a\u53ef\u4ee5\u5b58\u5728\u591a\u4e2a\u7531\u4e0d\u540c\u670d\u52a1\u5668\u5b9e\u4f8b\u7ba1\u7406\u7684\u96c6\u7c07\u3002 PGDATA \u76ee\u5f55\u5305\u542b\u82e5\u5e72\u5b50\u76ee\u5f55\u548c\u63a7\u5236\u6587\u4ef6\uff0c\u5982 \u8868 66.1 \u6240\u793a\u3002\u9664\u8fd9\u4e9b\u5fc5\u9700\u9879\u4e4b\u5916\uff0c\u96c6\u7c07\u914d\u7f6e\u6587\u4ef6 postgresql.conf \u3001 pg_hba.conf \u548c pg_ident.conf \u4f20\u7edf\u4e0a\u4e5f\u5b58\u653e\u5728 PGDATA \u4e2d\uff0c\u4e0d\u8fc7\u4e5f\u53ef\u4ee5\u628a\u5b83\u4eec\u653e\u5728\u5176\u4ed6\u5730\u65b9\u3002 \u5bf9\u4e8e\u96c6\u7c07\u4e2d\u7684\u6bcf\u4e2a\u6570\u636e\u5e93\uff0c PGDATA /base \u4e2d\u90fd\u6709\u4e00\u4e2a\u5b50\u76ee\u5f55\uff0c\u5176\u540d\u79f0\u662f\u8be5\u6570\u636e\u5e93\u5728 pg_database \u4e2d\u7684 OID\u3002\u8fd9\u4e2a\u5b50\u76ee\u5f55\u662f\u8be5\u6570\u636e\u5e93\u6587\u4ef6\u7684\u9ed8\u8ba4\u4f4d\u7f6e\uff1b\u7279\u522b\u662f\uff0c\u5b83\u7684\u7cfb\u7edf\u76ee\u5f55\u5c31\u5b58\u653e\u5728\u8fd9\u91cc\u3002"], "manual_html": "", "manual_path": "/docs/18/storage-file-layout.html", "sections_zh": [], "localization": {"status": "complete", "sources": [{"url": "/docs/18/storage-file-layout.html", "method": "same-major semantic node", "sha256": "55056edf7352b4e414c1366406a307a72af33aeda7854ef3a8cc1fa5c0db23ad", "language": "zh", "matched_nodes": ["#STORAGE-FILE-LAYOUT/p[8]"]}], "language": "zh", "original_text": {"/versions/18/description/0": "Each table and index is stored in a separate file. For ordinary relations, these files are named after the table or index's filenode number, which can be found in pg_class . relfilenode . But for temporary relations, the file name is of the form t BBB _ FFF , where BBB is the process number of the backend which created the file, and FFF is the filenode number. In either case, in addition to the main file (a/k/a main fork), each table and index has a free space map (see Section 66.3 ), which stores information about free space available in the relation. The free space map is stored in a file named with the filenode number plus the suffix _fsm . Tables also have a visibility map , stored in a fork with the suffix _vm , to track which pages are known to have no dead tuples. The visibility map is described further in Section 66.4 . Unlogged tables and indexes have a third fork, known as the initialization fork, which is stored in a fork with the suffix _init (see Section 66.5 ).", "/versions/18/description/1": "When a table or index exceeds 1 GB, it is divided into gigabyte-sized segments . The first segment's file name is the same as the filenode; subsequent segments are named filenode.1, filenode.2, etc. This arrangement avoids problems on platforms that have file size limitations. (Actually, 1 GB is just the default segment size. The segment size can be adjusted using the configuration option --with-segsize when building PostgreSQL .) In principle, free space map and visibility map forks could require multiple segments as well, though this is unlikely to happen in practice.", "/versions/18/facts/0/label": "Fork", "/versions/18/related/0/label": "Database file layout"}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "bc8a83b17a765d74e4370a07dbb0da7d951e57d581cc3dedd912405dfad93922", "canonical_center_text_hash": "1f982325d18dc74fe3f0ead236663eb2726565a6adcc3867e98a6235d82f866a"}, "description_zh": "\u672c\u8282\u4ece\u6587\u4ef6\u548c\u76ee\u5f55\u7684\u5c42\u6b21\u63cf\u8ff0\u5b58\u50a8\u683c\u5f0f\u3002 \u4f20\u7edf\u4e0a\uff0c\u6570\u636e\u5e93\u96c6\u7c07\u6240\u4f7f\u7528\u7684\u914d\u7f6e\u6587\u4ef6\u548c\u6570\u636e\u6587\u4ef6\u90fd\u5b58\u653e\u5728\u96c6\u7c07\u7684\u6570\u636e\u76ee\u5f55\u4e2d\uff0c\u8fd9\u4e2a\u76ee\u5f55\u901a\u5e38\u79f0\u4e3a PGDATA \uff08\u540d\u5b57\u6765\u81ea\u53ef\u7528\u4e8e\u5b9a\u4e49\u5b83\u7684\u73af\u5883\u53d8\u91cf\uff09\u3002 PGDATA \u7684\u4e00\u4e2a\u5e38\u89c1\u4f4d\u7f6e\u662f /var/lib/pgsql/data \u3002\u540c\u4e00\u53f0\u673a\u5668\u4e0a\u53ef\u4ee5\u5b58\u5728\u591a\u4e2a\u7531\u4e0d\u540c\u670d\u52a1\u5668\u5b9e\u4f8b\u7ba1\u7406\u7684\u96c6\u7c07\u3002 PGDATA \u76ee\u5f55\u5305\u542b\u82e5\u5e72\u5b50\u76ee\u5f55\u548c\u63a7\u5236\u6587\u4ef6\uff0c\u5982 \u8868 66.1 \u6240\u793a\u3002\u9664\u8fd9\u4e9b\u5fc5\u9700\u9879\u4e4b\u5916\uff0c\u96c6\u7c07\u914d\u7f6e\u6587\u4ef6 postgresql.conf \u3001 pg_hba.conf \u548c pg_ident.conf \u4f20\u7edf\u4e0a\u4e5f\u5b58\u653e\u5728 PGDATA \u4e2d\uff0c\u4e0d\u8fc7\u4e5f\u53ef\u4ee5\u628a\u5b83\u4eec\u653e\u5728\u5176\u4ed6\u5730\u65b9\u3002 \u5bf9\u4e8e\u96c6\u7c07\u4e2d\u7684\u6bcf\u4e2a\u6570\u636e\u5e93\uff0c PGDATA /base \u4e2d\u90fd\u6709\u4e00\u4e2a\u5b50\u76ee\u5f55\uff0c\u5176\u540d\u79f0\u662f\u8be5\u6570\u636e\u5e93\u5728 pg_database \u4e2d\u7684 OID\u3002\u8fd9\u4e2a\u5b50\u76ee\u5f55\u662f\u8be5\u6570\u636e\u5e93\u6587\u4ef6\u7684\u9ed8\u8ba4\u4f4d\u7f6e\uff1b\u7279\u522b\u662f\uff0c\u5b83\u7684\u7cfb\u7edf\u76ee\u5f55\u5c31\u5b58\u653e\u5728\u8fd9\u91cc\u3002", "comparison_data": {"fork": "vm"}, "comparison_hash": "0f7e444c74befed2e9e038b208922f35c10a3caa1ec789947fda5dd19339d4d4", "manual_language": "zh", "description_zh_html": "<p>\u5b58\u50a8\u7ed3\u6784 fork-vm\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n\u672c\u8282\u4ece\u6587\u4ef6\u548c\u76ee\u5f55\u7684\u5c42\u6b21\u63cf\u8ff0\u5b58\u50a8\u683c\u5f0f\u3002\n</p><p>\n\u4f20\u7edf\u4e0a\uff0c\u6570\u636e\u5e93\u96c6\u7c07\u6240\u4f7f\u7528\u7684\u914d\u7f6e\u6587\u4ef6\u548c\u6570\u636e\u6587\u4ef6\u90fd\u5b58\u653e\u5728\u96c6\u7c07\u7684\u6570\u636e\u76ee\u5f55\u4e2d\uff0c\u8fd9\u4e2a\u76ee\u5f55\u901a\u5e38\u79f0\u4e3a <code>PGDATA</code>\uff08\u540d\u5b57\u6765\u81ea\u53ef\u7528\u4e8e\u5b9a\u4e49\u5b83\u7684\u73af\u5883\u53d8\u91cf\uff09\u3002<code>PGDATA</code> \u7684\u4e00\u4e2a\u5e38\u89c1\u4f4d\u7f6e\u662f\n<code>/var/lib/pgsql/data</code>\u3002\u540c\u4e00\u53f0\u673a\u5668\u4e0a\u53ef\u4ee5\u5b58\u5728\u591a\u4e2a\u7531\u4e0d\u540c\u670d\u52a1\u5668\u5b9e\u4f8b\u7ba1\u7406\u7684\u96c6\u7c07\u3002\n</p><p>\n<code>PGDATA</code> \u76ee\u5f55\u5305\u542b\u82e5\u5e72\u5b50\u76ee\u5f55\u548c\u63a7\u5236\u6587\u4ef6\uff0c\u5982<a href=\"/zh/docs/18/storage-file-layout.html#PGDATA-CONTENTS-TABLE\" rel=\"nofollow\">\u8868\u00a066.1</a> \u6240\u793a\u3002\u9664\u8fd9\u4e9b\u5fc5\u9700\u9879\u4e4b\u5916\uff0c\u96c6\u7c07\u914d\u7f6e\u6587\u4ef6\n<code>postgresql.conf</code>\u3001<code>pg_hba.conf</code> \u548c\n<code>pg_ident.conf</code> \u4f20\u7edf\u4e0a\u4e5f\u5b58\u653e\u5728 <code>PGDATA</code>\n\u4e2d\uff0c\u4e0d\u8fc7\u4e5f\u53ef\u4ee5\u628a\u5b83\u4eec\u653e\u5728\u5176\u4ed6\u5730\u65b9\u3002\n</p><p>\n\u5bf9\u4e8e\u96c6\u7c07\u4e2d\u7684\u6bcf\u4e2a\u6570\u636e\u5e93\uff0c<code>PGDATA</code><code>/base</code>\n\u4e2d\u90fd\u6709\u4e00\u4e2a\u5b50\u76ee\u5f55\uff0c\u5176\u540d\u79f0\u662f\u8be5\u6570\u636e\u5e93\u5728 <code>pg_database</code>\n\u4e2d\u7684 OID\u3002\u8fd9\u4e2a\u5b50\u76ee\u5f55\u662f\u8be5\u6570\u636e\u5e93\u6587\u4ef6\u7684\u9ed8\u8ba4\u4f4d\u7f6e\uff1b\u7279\u522b\u662f\uff0c\u5b83\u7684\u7cfb\u7edf\u76ee\u5f55\u5c31\u5b58\u653e\u5728\u8fd9\u91cc\u3002\n</p><p><a href=\"/zh/docs/18/storage-file-layout.html\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>", "center_zh_rendered": "<p>\u5b58\u50a8\u7ed3\u6784 fork-vm\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n\u672c\u8282\u4ece\u6587\u4ef6\u548c\u76ee\u5f55\u7684\u5c42\u6b21\u63cf\u8ff0\u5b58\u50a8\u683c\u5f0f\u3002\n</p><p>\n\u4f20\u7edf\u4e0a\uff0c\u6570\u636e\u5e93\u96c6\u7c07\u6240\u4f7f\u7528\u7684\u914d\u7f6e\u6587\u4ef6\u548c\u6570\u636e\u6587\u4ef6\u90fd\u5b58\u653e\u5728\u96c6\u7c07\u7684\u6570\u636e\u76ee\u5f55\u4e2d\uff0c\u8fd9\u4e2a\u76ee\u5f55\u901a\u5e38\u79f0\u4e3a <code>PGDATA</code>\uff08\u540d\u5b57\u6765\u81ea\u53ef\u7528\u4e8e\u5b9a\u4e49\u5b83\u7684\u73af\u5883\u53d8\u91cf\uff09\u3002<code>PGDATA</code> \u7684\u4e00\u4e2a\u5e38\u89c1\u4f4d\u7f6e\u662f\n<code>/var/lib/pgsql/data</code>\u3002\u540c\u4e00\u53f0\u673a\u5668\u4e0a\u53ef\u4ee5\u5b58\u5728\u591a\u4e2a\u7531\u4e0d\u540c\u670d\u52a1\u5668\u5b9e\u4f8b\u7ba1\u7406\u7684\u96c6\u7c07\u3002\n</p><p>\n<code>PGDATA</code> \u76ee\u5f55\u5305\u542b\u82e5\u5e72\u5b50\u76ee\u5f55\u548c\u63a7\u5236\u6587\u4ef6\uff0c\u5982<a href=\"/docs/18/storage-file-layout.html#PGDATA-CONTENTS-TABLE\">\u8868\u00a066.1</a> \u6240\u793a\u3002\u9664\u8fd9\u4e9b\u5fc5\u9700\u9879\u4e4b\u5916\uff0c\u96c6\u7c07\u914d\u7f6e\u6587\u4ef6\n<code>postgresql.conf</code>\u3001<code>pg_hba.conf</code> \u548c\n<code>pg_ident.conf</code> \u4f20\u7edf\u4e0a\u4e5f\u5b58\u653e\u5728 <code>PGDATA</code>\n\u4e2d\uff0c\u4e0d\u8fc7\u4e5f\u53ef\u4ee5\u628a\u5b83\u4eec\u653e\u5728\u5176\u4ed6\u5730\u65b9\u3002\n</p><p>\n\u5bf9\u4e8e\u96c6\u7c07\u4e2d\u7684\u6bcf\u4e2a\u6570\u636e\u5e93\uff0c<code>PGDATA</code><code>/base</code>\n\u4e2d\u90fd\u6709\u4e00\u4e2a\u5b50\u76ee\u5f55\uff0c\u5176\u540d\u79f0\u662f\u8be5\u6570\u636e\u5e93\u5728 <code>pg_database</code>\n\u4e2d\u7684 OID\u3002\u8fd9\u4e2a\u5b50\u76ee\u5f55\u662f\u8be5\u6570\u636e\u5e93\u6587\u4ef6\u7684\u9ed8\u8ba4\u4f4d\u7f6e\uff1b\u7279\u522b\u662f\uff0c\u5b83\u7684\u7cfb\u7edf\u76ee\u5f55\u5c31\u5b58\u653e\u5728\u8fd9\u91cc\u3002\n</p><p><a href=\"/docs/18/storage-file-layout.html\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "19": {"facts": [{"label": "\u5173\u7cfb\u5206\u53c9", "value": "vm"}], "tables": [], "related": [{"url": "/wiki/storage/storage-file-layout/?v=19", "label": "\u6570\u636e\u5e93\u6587\u4ef6\u5e03\u5c40"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v19rc1/postgresql-19rc1.tar.bz2", "label": "19rc1", "major": "19", "channel": "preview", "revision": "af105fc8e960fc836a09fc2cd7f582b49fd17675d9d36631abe3a565bfd7d701"}, "sources": [{"url": "/docs/19/storage-file-layout.html", "path": "storage-file-layout.html", "label": "PostgreSQL 19 English manual", "sha256": "628996446c17dc27f581a5f3a9686a23124a9e9054ebd91e05102268155ff139"}], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-identity", "manual": {"url": "/zh/docs/19/storage-file-layout.html", "anchor": "", "locale": "zh-Hans", "version": "19", "build_id": 109, "page_key": "storage-file-layout.html", "extraction": "concept-introduction", "source_hash": "f6e631b917f227057ee82b298b6f3c8e4b0d41412bf3f05307bf17353b8b3d2d", "fragment_sha256": "55664dc7fcb3a6d96522818960b039803e0152ead6fe00062bee6180b4d68f92", "source_revision": "sha256:af105fc8e960fc836a09fc2cd7f582b49fd17675d9d36631abe3a565bfd7d701", "translation_revision": "git:b1b500221dbe5437cfca004d6b04d3f6e422765d;html-sha256:65fda1f1b62a89992b84014c9157e61b67dbe8190e93945826efec668fad038c", "translated_from_revision": "sha256:af105fc8e960fc836a09fc2cd7f582b49fd17675d9d36631abe3a565bfd7d701"}, "body_sha256": "3c011a908d8ee01b12b4b93f31388f0fcb856b8780d7f83a485f0674f0b4edce", "runtime_rerun": false, "authored_translation": "source-derived-identity", "source_facts_revision": "af105fc8e960fc836a09fc2cd7f582b49fd17675d9d36631abe3a565bfd7d701"}, "facts_zh": [{"label": "\u5173\u7cfb\u5206\u53c9", "value": "vm"}], "sections": [], "center_zh": {"title": "vm fork", "locale": "zh-Hans", "source": {"key": "fork-vm", "locale": "zh-Hans", "version": "19", "text_hash": "b523c2585414ec4b55e0753f711efbd8a43d8b142a38867aecaa72a803b12c41", "collection": "storage", "dataset_hash": "7c31b524dfe136022d39a6ae8dcfac6b3bbd5f8fdaf422536599981252aff0c9", "source_database": "center", "source_revision": "af105fc8e960fc836a09fc2cd7f582b49fd17675d9d36631abe3a565bfd7d701"}, "payload": {"facts": [{"label": "\u5173\u7cfb\u5206\u53c9", "value": "vm"}], "tables": [], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-identity", "manual": {"url": "/zh/docs/19/storage-file-layout.html", "anchor": "", "locale": "zh-Hans", "version": "19", "build_id": 109, "page_key": "storage-file-layout.html", "extraction": "concept-introduction", "source_hash": "f6e631b917f227057ee82b298b6f3c8e4b0d41412bf3f05307bf17353b8b3d2d", "fragment_sha256": "55664dc7fcb3a6d96522818960b039803e0152ead6fe00062bee6180b4d68f92", "source_revision": "sha256:af105fc8e960fc836a09fc2cd7f582b49fd17675d9d36631abe3a565bfd7d701", "translation_revision": "git:b1b500221dbe5437cfca004d6b04d3f6e422765d;html-sha256:65fda1f1b62a89992b84014c9157e61b67dbe8190e93945826efec668fad038c", "translated_from_revision": "sha256:af105fc8e960fc836a09fc2cd7f582b49fd17675d9d36631abe3a565bfd7d701"}, "body_sha256": "3c011a908d8ee01b12b4b93f31388f0fcb856b8780d7f83a485f0674f0b4edce", "runtime_rerun": false, "authored_translation": "source-derived-identity", "source_facts_revision": "af105fc8e960fc836a09fc2cd7f582b49fd17675d9d36631abe3a565bfd7d701"}, "sections": [], "description_zh": "\u672c\u8282\u4ece\u6587\u4ef6\u548c\u76ee\u5f55\u7684\u5c42\u6b21\u63cf\u8ff0\u5b58\u50a8\u683c\u5f0f\u3002 \u4f20\u7edf\u4e0a\uff0c\u6570\u636e\u5e93\u96c6\u7c07\u6240\u4f7f\u7528\u7684\u914d\u7f6e\u6587\u4ef6\u548c\u6570\u636e\u6587\u4ef6\u90fd\u5b58\u653e\u5728\u96c6\u7c07\u7684\u6570\u636e\u76ee\u5f55\u4e2d\uff0c\u8fd9\u4e2a\u76ee\u5f55\u901a\u5e38\u79f0\u4e3a PGDATA \uff08\u540d\u5b57\u6765\u81ea\u53ef\u7528\u4e8e\u5b9a\u4e49\u5b83\u7684\u73af\u5883\u53d8\u91cf\uff09\u3002 PGDATA \u7684\u4e00\u4e2a\u5e38\u89c1\u4f4d\u7f6e\u662f /var/lib/pgsql/data \u3002\u540c\u4e00\u53f0\u673a\u5668\u4e0a\u53ef\u4ee5\u5b58\u5728\u591a\u4e2a\u7531\u4e0d\u540c\u670d\u52a1\u5668\u5b9e\u4f8b\u7ba1\u7406\u7684\u96c6\u7c07\u3002 PGDATA \u76ee\u5f55\u5305\u542b\u82e5\u5e72\u5b50\u76ee\u5f55\u548c\u63a7\u5236\u6587\u4ef6\uff0c\u5982 \u8868 66.1 \u6240\u793a\u3002\u9664\u8fd9\u4e9b\u5fc5\u9700\u9879\u4e4b\u5916\uff0c\u96c6\u7c07\u914d\u7f6e\u6587\u4ef6 postgresql.conf \u3001 pg_hba.conf \u548c pg_ident.conf \u4f20\u7edf\u4e0a\u4e5f\u5b58\u653e\u5728 PGDATA \u4e2d\uff0c\u4e0d\u8fc7\u4e5f\u53ef\u4ee5\u628a\u5b83\u4eec\u653e\u5728\u5176\u4ed6\u5730\u65b9\u3002 \u5bf9\u4e8e\u96c6\u7c07\u4e2d\u7684\u6bcf\u4e2a\u6570\u636e\u5e93\uff0c PGDATA /base \u4e2d\u90fd\u6709\u4e00\u4e2a\u5b50\u76ee\u5f55\uff0c\u5176\u540d\u79f0\u662f\u8be5\u6570\u636e\u5e93\u5728 pg_database \u4e2d\u7684 OID\u3002\u8fd9\u4e2a\u5b50\u76ee\u5f55\u662f\u8be5\u6570\u636e\u5e93\u6587\u4ef6\u7684\u9ed8\u8ba4\u4f4d\u7f6e\uff1b\u7279\u522b\u662f\uff0c\u5b83\u7684\u7cfb\u7edf\u76ee\u5f55\u5c31\u5b58\u653e\u5728\u8fd9\u91cc\u3002", "description_zh_html": "<p>\u5b58\u50a8\u7ed3\u6784 fork-vm\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n\u672c\u8282\u4ece\u6587\u4ef6\u548c\u76ee\u5f55\u7684\u5c42\u6b21\u63cf\u8ff0\u5b58\u50a8\u683c\u5f0f\u3002\n</p><p>\n\u4f20\u7edf\u4e0a\uff0c\u6570\u636e\u5e93\u96c6\u7c07\u6240\u4f7f\u7528\u7684\u914d\u7f6e\u6587\u4ef6\u548c\u6570\u636e\u6587\u4ef6\u90fd\u5b58\u653e\u5728\u96c6\u7c07\u7684\u6570\u636e\u76ee\u5f55\u4e2d\uff0c\u8fd9\u4e2a\u76ee\u5f55\u901a\u5e38\u79f0\u4e3a <code class=\"varname\">PGDATA</code>\uff08\u540d\u5b57\u6765\u81ea\u53ef\u7528\u4e8e\u5b9a\u4e49\u5b83\u7684\u73af\u5883\u53d8\u91cf\uff09\u3002<code class=\"varname\">PGDATA</code> \u7684\u4e00\u4e2a\u5e38\u89c1\u4f4d\u7f6e\u662f\n<code class=\"filename\">/var/lib/pgsql/data</code>\u3002\u540c\u4e00\u53f0\u673a\u5668\u4e0a\u53ef\u4ee5\u5b58\u5728\u591a\u4e2a\u7531\u4e0d\u540c\u670d\u52a1\u5668\u5b9e\u4f8b\u7ba1\u7406\u7684\u96c6\u7c07\u3002\n</p><p>\n<code class=\"varname\">PGDATA</code> \u76ee\u5f55\u5305\u542b\u82e5\u5e72\u5b50\u76ee\u5f55\u548c\u63a7\u5236\u6587\u4ef6\uff0c\u5982<a class=\"xref\" href=\"/zh/docs/19/storage-file-layout.html#PGDATA-CONTENTS-TABLE\">\u8868\u00a066.1</a> \u6240\u793a\u3002\u9664\u8fd9\u4e9b\u5fc5\u9700\u9879\u4e4b\u5916\uff0c\u96c6\u7c07\u914d\u7f6e\u6587\u4ef6\n<code class=\"filename\">postgresql.conf</code>\u3001<code class=\"filename\">pg_hba.conf</code> \u548c\n<code class=\"filename\">pg_ident.conf</code> \u4f20\u7edf\u4e0a\u4e5f\u5b58\u653e\u5728 <code class=\"varname\">PGDATA</code>\n\u4e2d\uff0c\u4e0d\u8fc7\u4e5f\u53ef\u4ee5\u628a\u5b83\u4eec\u653e\u5728\u5176\u4ed6\u5730\u65b9\u3002\n</p><p>\n\u5bf9\u4e8e\u96c6\u7c07\u4e2d\u7684\u6bcf\u4e2a\u6570\u636e\u5e93\uff0c<code class=\"varname\">PGDATA</code><code class=\"filename\">/base</code>\n\u4e2d\u90fd\u6709\u4e00\u4e2a\u5b50\u76ee\u5f55\uff0c\u5176\u540d\u79f0\u662f\u8be5\u6570\u636e\u5e93\u5728 <code class=\"structname\">pg_database</code>\n\u4e2d\u7684 OID\u3002\u8fd9\u4e2a\u5b50\u76ee\u5f55\u662f\u8be5\u6570\u636e\u5e93\u6587\u4ef6\u7684\u9ed8\u8ba4\u4f4d\u7f6e\uff1b\u7279\u522b\u662f\uff0c\u5b83\u7684\u7cfb\u7edf\u76ee\u5f55\u5c31\u5b58\u653e\u5728\u8fd9\u91cc\u3002\n</p><p><a href=\"/zh/docs/19/storage-file-layout.html\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "summary": "\u672c\u8282\u4ece\u6587\u4ef6\u548c\u76ee\u5f55\u7684\u5c42\u6b21\u63cf\u8ff0\u5b58\u50a8\u683c\u5f0f\u3002 \u4f20\u7edf\u4e0a\uff0c\u6570\u636e\u5e93\u96c6\u7c07\u6240\u4f7f\u7528\u7684\u914d\u7f6e\u6587\u4ef6\u548c\u6570\u636e\u6587\u4ef6\u90fd\u5b58\u653e\u5728\u96c6\u7c07\u7684\u6570\u636e\u76ee\u5f55\u4e2d\uff0c\u8fd9\u4e2a\u76ee\u5f55\u901a\u5e38\u79f0\u4e3a PGDATA \uff08\u540d\u5b57\u6765\u81ea\u53ef\u7528\u4e8e\u5b9a\u4e49\u5b83\u7684\u73af\u5883\u53d8\u91cf\uff09\u3002 PGDATA \u7684\u4e00\u4e2a\u5e38\u89c1\u4f4d\u7f6e\u662f /var/lib/pgsql/data \u3002\u540c\u4e00\u53f0\u673a\u5668\u4e0a\u53ef\u4ee5\u5b58\u5728\u591a\u4e2a\u7531\u4e0d\u540c\u670d\u52a1\u5668\u5b9e\u4f8b\u7ba1\u7406\u7684\u96c6\u7c07\u3002 PGDATA \u76ee\u5f55\u5305\u542b\u82e5\u5e72\u5b50\u76ee\u5f55\u548c\u63a7\u5236\u6587\u4ef6\uff0c\u5982 \u8868 66.1 \u6240\u793a\u3002\u9664\u8fd9\u4e9b\u5fc5\u9700\u9879\u4e4b\u5916\uff0c\u96c6\u7c07\u914d\u7f6e\u6587\u4ef6 postgresql.conf \u3001 pg_hba.conf \u548c pg_ident.conf \u4f20\u7edf\u4e0a\u4e5f\u5b58\u653e\u5728 PGDATA \u4e2d\uff0c\u4e0d\u8fc7\u4e5f\u53ef\u4ee5\u628a\u5b83\u4eec\u653e\u5728\u5176\u4ed6\u5730\u65b9\u3002 \u5bf9\u4e8e\u96c6\u7c07\u4e2d\u7684\u6bcf\u4e2a\u6570\u636e\u5e93\uff0c PGDATA /base \u4e2d\u90fd\u6709\u4e00\u4e2a\u5b50\u76ee\u5f55\uff0c\u5176\u540d\u79f0\u662f\u8be5\u6570\u636e\u5e93\u5728 pg_database \u4e2d\u7684 OID\u3002\u8fd9\u4e2a\u5b50\u76ee\u5f55\u662f\u8be5\u6570\u636e\u5e93\u6587\u4ef6\u7684\u9ed8\u8ba4\u4f4d\u7f6e\uff1b\u7279\u522b\u662f\uff0c\u5b83\u7684\u7cfb\u7edf\u76ee\u5f55\u5c31\u5b58\u653e\u5728\u8fd9\u91cc\u3002", "version": "19", "link_map": {"/zh/docs/19/storage-file-layout.html": "/docs/19/storage-file-layout.html", "/zh/docs/19/storage-file-layout.html#PGDATA-CONTENTS-TABLE": "/docs/19/storage-file-layout.html#PGDATA-CONTENTS-TABLE"}, "body_html": "<p>\u5b58\u50a8\u7ed3\u6784 fork-vm\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n\u672c\u8282\u4ece\u6587\u4ef6\u548c\u76ee\u5f55\u7684\u5c42\u6b21\u63cf\u8ff0\u5b58\u50a8\u683c\u5f0f\u3002\n</p><p>\n\u4f20\u7edf\u4e0a\uff0c\u6570\u636e\u5e93\u96c6\u7c07\u6240\u4f7f\u7528\u7684\u914d\u7f6e\u6587\u4ef6\u548c\u6570\u636e\u6587\u4ef6\u90fd\u5b58\u653e\u5728\u96c6\u7c07\u7684\u6570\u636e\u76ee\u5f55\u4e2d\uff0c\u8fd9\u4e2a\u76ee\u5f55\u901a\u5e38\u79f0\u4e3a <code>PGDATA</code>\uff08\u540d\u5b57\u6765\u81ea\u53ef\u7528\u4e8e\u5b9a\u4e49\u5b83\u7684\u73af\u5883\u53d8\u91cf\uff09\u3002<code>PGDATA</code> \u7684\u4e00\u4e2a\u5e38\u89c1\u4f4d\u7f6e\u662f\n<code>/var/lib/pgsql/data</code>\u3002\u540c\u4e00\u53f0\u673a\u5668\u4e0a\u53ef\u4ee5\u5b58\u5728\u591a\u4e2a\u7531\u4e0d\u540c\u670d\u52a1\u5668\u5b9e\u4f8b\u7ba1\u7406\u7684\u96c6\u7c07\u3002\n</p><p>\n<code>PGDATA</code> \u76ee\u5f55\u5305\u542b\u82e5\u5e72\u5b50\u76ee\u5f55\u548c\u63a7\u5236\u6587\u4ef6\uff0c\u5982<a href=\"/zh/docs/19/storage-file-layout.html#PGDATA-CONTENTS-TABLE\" rel=\"nofollow\">\u8868\u00a066.1</a> \u6240\u793a\u3002\u9664\u8fd9\u4e9b\u5fc5\u9700\u9879\u4e4b\u5916\uff0c\u96c6\u7c07\u914d\u7f6e\u6587\u4ef6\n<code>postgresql.conf</code>\u3001<code>pg_hba.conf</code> \u548c\n<code>pg_ident.conf</code> \u4f20\u7edf\u4e0a\u4e5f\u5b58\u653e\u5728 <code>PGDATA</code>\n\u4e2d\uff0c\u4e0d\u8fc7\u4e5f\u53ef\u4ee5\u628a\u5b83\u4eec\u653e\u5728\u5176\u4ed6\u5730\u65b9\u3002\n</p><p>\n\u5bf9\u4e8e\u96c6\u7c07\u4e2d\u7684\u6bcf\u4e2a\u6570\u636e\u5e93\uff0c<code>PGDATA</code><code>/base</code>\n\u4e2d\u90fd\u6709\u4e00\u4e2a\u5b50\u76ee\u5f55\uff0c\u5176\u540d\u79f0\u662f\u8be5\u6570\u636e\u5e93\u5728 <code>pg_database</code>\n\u4e2d\u7684 OID\u3002\u8fd9\u4e2a\u5b50\u76ee\u5f55\u662f\u8be5\u6570\u636e\u5e93\u6587\u4ef6\u7684\u9ed8\u8ba4\u4f4d\u7f6e\uff1b\u7279\u522b\u662f\uff0c\u5b83\u7684\u7cfb\u7edf\u76ee\u5f55\u5c31\u5b58\u653e\u5728\u8fd9\u91cc\u3002\n</p><p><a href=\"/zh/docs/19/storage-file-layout.html\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>", "body_sha256": "849653bffa31edace4cf42a0fb57b4fc36959d2982615ce94cc3786ec4520543", "content_hash": "b523c2585414ec4b55e0753f711efbd8a43d8b142a38867aecaa72a803b12c41", "source_database": "center", "source_revision": "af105fc8e960fc836a09fc2cd7f582b49fd17675d9d36631abe3a565bfd7d701"}, "signature": "", "tables_zh": [], "description": ["\u672c\u8282\u4ece\u6587\u4ef6\u548c\u76ee\u5f55\u7684\u5c42\u6b21\u63cf\u8ff0\u5b58\u50a8\u683c\u5f0f\u3002 \u4f20\u7edf\u4e0a\uff0c\u6570\u636e\u5e93\u96c6\u7c07\u6240\u4f7f\u7528\u7684\u914d\u7f6e\u6587\u4ef6\u548c\u6570\u636e\u6587\u4ef6\u90fd\u5b58\u653e\u5728\u96c6\u7c07\u7684\u6570\u636e\u76ee\u5f55\u4e2d\uff0c\u8fd9\u4e2a\u76ee\u5f55\u901a\u5e38\u79f0\u4e3a PGDATA \uff08\u540d\u5b57\u6765\u81ea\u53ef\u7528\u4e8e\u5b9a\u4e49\u5b83\u7684\u73af\u5883\u53d8\u91cf\uff09\u3002 PGDATA \u7684\u4e00\u4e2a\u5e38\u89c1\u4f4d\u7f6e\u662f /var/lib/pgsql/data \u3002\u540c\u4e00\u53f0\u673a\u5668\u4e0a\u53ef\u4ee5\u5b58\u5728\u591a\u4e2a\u7531\u4e0d\u540c\u670d\u52a1\u5668\u5b9e\u4f8b\u7ba1\u7406\u7684\u96c6\u7c07\u3002 PGDATA \u76ee\u5f55\u5305\u542b\u82e5\u5e72\u5b50\u76ee\u5f55\u548c\u63a7\u5236\u6587\u4ef6\uff0c\u5982 \u8868 66.1 \u6240\u793a\u3002\u9664\u8fd9\u4e9b\u5fc5\u9700\u9879\u4e4b\u5916\uff0c\u96c6\u7c07\u914d\u7f6e\u6587\u4ef6 postgresql.conf \u3001 pg_hba.conf \u548c pg_ident.conf \u4f20\u7edf\u4e0a\u4e5f\u5b58\u653e\u5728 PGDATA \u4e2d\uff0c\u4e0d\u8fc7\u4e5f\u53ef\u4ee5\u628a\u5b83\u4eec\u653e\u5728\u5176\u4ed6\u5730\u65b9\u3002 \u5bf9\u4e8e\u96c6\u7c07\u4e2d\u7684\u6bcf\u4e2a\u6570\u636e\u5e93\uff0c PGDATA /base \u4e2d\u90fd\u6709\u4e00\u4e2a\u5b50\u76ee\u5f55\uff0c\u5176\u540d\u79f0\u662f\u8be5\u6570\u636e\u5e93\u5728 pg_database \u4e2d\u7684 OID\u3002\u8fd9\u4e2a\u5b50\u76ee\u5f55\u662f\u8be5\u6570\u636e\u5e93\u6587\u4ef6\u7684\u9ed8\u8ba4\u4f4d\u7f6e\uff1b\u7279\u522b\u662f\uff0c\u5b83\u7684\u7cfb\u7edf\u76ee\u5f55\u5c31\u5b58\u653e\u5728\u8fd9\u91cc\u3002"], "manual_html": "", "manual_path": "/docs/19/storage-file-layout.html", "sections_zh": [], "localization": {"status": "complete", "sources": [{"url": "/docs/19/storage-file-layout.html", "method": "same-major semantic node", "sha256": "9a13b1f05755a7031d551a429c6d21bff35d965f098909408a39259ca751f156", "language": "zh", "matched_nodes": ["#STORAGE-FILE-LAYOUT/p[8]"]}], "language": "zh", "original_text": {"/versions/19/description/0": "Each table and index is stored in a separate file. For ordinary relations, these files are named after the table or index's filenode number, which can be found in pg_class . relfilenode . But for temporary relations, the file name is of the form t BBB _ FFF , where BBB is the process number of the backend which created the file, and FFF is the filenode number. In either case, in addition to the main file (a/k/a main fork), each table and index has a free space map (see Section 66.3 ), which stores information about free space available in the relation. The free space map is stored in a file named with the filenode number plus the suffix _fsm . Tables also have a visibility map , stored in a fork with the suffix _vm , to track which pages are known to have no dead tuples. The visibility map is described further in Section 66.4 . Unlogged tables and indexes have a third fork, known as the initialization fork, which is stored in a fork with the suffix _init (see Section 66.5 ).", "/versions/19/description/1": "When a table or index exceeds 1 GB, it is divided into gigabyte-sized segments . The first segment's file name is the same as the filenode; subsequent segments are named filenode.1, filenode.2, etc. This arrangement avoids problems on platforms that have file size limitations. (Actually, 1 GB is just the default segment size. The segment size can be adjusted using the configuration option --with-segsize when building PostgreSQL .) In principle, free space map and visibility map forks could require multiple segments as well, though this is unlikely to happen in practice.", "/versions/19/facts/0/label": "Fork", "/versions/19/related/0/label": "Database file layout"}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "047ff7592d2c1edcf047a2451bd70c151d369a1b66856f3842b1e8f40295ad21", "canonical_center_text_hash": "b523c2585414ec4b55e0753f711efbd8a43d8b142a38867aecaa72a803b12c41"}, "description_zh": "\u672c\u8282\u4ece\u6587\u4ef6\u548c\u76ee\u5f55\u7684\u5c42\u6b21\u63cf\u8ff0\u5b58\u50a8\u683c\u5f0f\u3002 \u4f20\u7edf\u4e0a\uff0c\u6570\u636e\u5e93\u96c6\u7c07\u6240\u4f7f\u7528\u7684\u914d\u7f6e\u6587\u4ef6\u548c\u6570\u636e\u6587\u4ef6\u90fd\u5b58\u653e\u5728\u96c6\u7c07\u7684\u6570\u636e\u76ee\u5f55\u4e2d\uff0c\u8fd9\u4e2a\u76ee\u5f55\u901a\u5e38\u79f0\u4e3a PGDATA \uff08\u540d\u5b57\u6765\u81ea\u53ef\u7528\u4e8e\u5b9a\u4e49\u5b83\u7684\u73af\u5883\u53d8\u91cf\uff09\u3002 PGDATA \u7684\u4e00\u4e2a\u5e38\u89c1\u4f4d\u7f6e\u662f /var/lib/pgsql/data \u3002\u540c\u4e00\u53f0\u673a\u5668\u4e0a\u53ef\u4ee5\u5b58\u5728\u591a\u4e2a\u7531\u4e0d\u540c\u670d\u52a1\u5668\u5b9e\u4f8b\u7ba1\u7406\u7684\u96c6\u7c07\u3002 PGDATA \u76ee\u5f55\u5305\u542b\u82e5\u5e72\u5b50\u76ee\u5f55\u548c\u63a7\u5236\u6587\u4ef6\uff0c\u5982 \u8868 66.1 \u6240\u793a\u3002\u9664\u8fd9\u4e9b\u5fc5\u9700\u9879\u4e4b\u5916\uff0c\u96c6\u7c07\u914d\u7f6e\u6587\u4ef6 postgresql.conf \u3001 pg_hba.conf \u548c pg_ident.conf \u4f20\u7edf\u4e0a\u4e5f\u5b58\u653e\u5728 PGDATA \u4e2d\uff0c\u4e0d\u8fc7\u4e5f\u53ef\u4ee5\u628a\u5b83\u4eec\u653e\u5728\u5176\u4ed6\u5730\u65b9\u3002 \u5bf9\u4e8e\u96c6\u7c07\u4e2d\u7684\u6bcf\u4e2a\u6570\u636e\u5e93\uff0c PGDATA /base \u4e2d\u90fd\u6709\u4e00\u4e2a\u5b50\u76ee\u5f55\uff0c\u5176\u540d\u79f0\u662f\u8be5\u6570\u636e\u5e93\u5728 pg_database \u4e2d\u7684 OID\u3002\u8fd9\u4e2a\u5b50\u76ee\u5f55\u662f\u8be5\u6570\u636e\u5e93\u6587\u4ef6\u7684\u9ed8\u8ba4\u4f4d\u7f6e\uff1b\u7279\u522b\u662f\uff0c\u5b83\u7684\u7cfb\u7edf\u76ee\u5f55\u5c31\u5b58\u653e\u5728\u8fd9\u91cc\u3002", "comparison_data": {"fork": "vm"}, "comparison_hash": "0f7e444c74befed2e9e038b208922f35c10a3caa1ec789947fda5dd19339d4d4", "manual_language": "zh", "description_zh_html": "<p>\u5b58\u50a8\u7ed3\u6784 fork-vm\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n\u672c\u8282\u4ece\u6587\u4ef6\u548c\u76ee\u5f55\u7684\u5c42\u6b21\u63cf\u8ff0\u5b58\u50a8\u683c\u5f0f\u3002\n</p><p>\n\u4f20\u7edf\u4e0a\uff0c\u6570\u636e\u5e93\u96c6\u7c07\u6240\u4f7f\u7528\u7684\u914d\u7f6e\u6587\u4ef6\u548c\u6570\u636e\u6587\u4ef6\u90fd\u5b58\u653e\u5728\u96c6\u7c07\u7684\u6570\u636e\u76ee\u5f55\u4e2d\uff0c\u8fd9\u4e2a\u76ee\u5f55\u901a\u5e38\u79f0\u4e3a <code>PGDATA</code>\uff08\u540d\u5b57\u6765\u81ea\u53ef\u7528\u4e8e\u5b9a\u4e49\u5b83\u7684\u73af\u5883\u53d8\u91cf\uff09\u3002<code>PGDATA</code> \u7684\u4e00\u4e2a\u5e38\u89c1\u4f4d\u7f6e\u662f\n<code>/var/lib/pgsql/data</code>\u3002\u540c\u4e00\u53f0\u673a\u5668\u4e0a\u53ef\u4ee5\u5b58\u5728\u591a\u4e2a\u7531\u4e0d\u540c\u670d\u52a1\u5668\u5b9e\u4f8b\u7ba1\u7406\u7684\u96c6\u7c07\u3002\n</p><p>\n<code>PGDATA</code> \u76ee\u5f55\u5305\u542b\u82e5\u5e72\u5b50\u76ee\u5f55\u548c\u63a7\u5236\u6587\u4ef6\uff0c\u5982<a href=\"/zh/docs/19/storage-file-layout.html#PGDATA-CONTENTS-TABLE\" rel=\"nofollow\">\u8868\u00a066.1</a> \u6240\u793a\u3002\u9664\u8fd9\u4e9b\u5fc5\u9700\u9879\u4e4b\u5916\uff0c\u96c6\u7c07\u914d\u7f6e\u6587\u4ef6\n<code>postgresql.conf</code>\u3001<code>pg_hba.conf</code> \u548c\n<code>pg_ident.conf</code> \u4f20\u7edf\u4e0a\u4e5f\u5b58\u653e\u5728 <code>PGDATA</code>\n\u4e2d\uff0c\u4e0d\u8fc7\u4e5f\u53ef\u4ee5\u628a\u5b83\u4eec\u653e\u5728\u5176\u4ed6\u5730\u65b9\u3002\n</p><p>\n\u5bf9\u4e8e\u96c6\u7c07\u4e2d\u7684\u6bcf\u4e2a\u6570\u636e\u5e93\uff0c<code>PGDATA</code><code>/base</code>\n\u4e2d\u90fd\u6709\u4e00\u4e2a\u5b50\u76ee\u5f55\uff0c\u5176\u540d\u79f0\u662f\u8be5\u6570\u636e\u5e93\u5728 <code>pg_database</code>\n\u4e2d\u7684 OID\u3002\u8fd9\u4e2a\u5b50\u76ee\u5f55\u662f\u8be5\u6570\u636e\u5e93\u6587\u4ef6\u7684\u9ed8\u8ba4\u4f4d\u7f6e\uff1b\u7279\u522b\u662f\uff0c\u5b83\u7684\u7cfb\u7edf\u76ee\u5f55\u5c31\u5b58\u653e\u5728\u8fd9\u91cc\u3002\n</p><p><a href=\"/zh/docs/19/storage-file-layout.html\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>", "source_revalidation": {"kind": "static-same-version-source-and-manual-replay", "audit": "wiki-audit-20261023", "runtime_rerun": false, "compared_fields": "entity membership and source-derived facts; presentation markup normalized", "source_revision": "af105fc8e960fc836a09fc2cd7f582b49fd17675d9d36631abe3a565bfd7d701", "previous_source_revision": "83157ee9c599d03b2f7a3d73ef3a56ec24e0e79cc2b3501a64d1364f56398c86"}}, "20": {"facts": [{"label": "\u5173\u7cfb\u5206\u53c9", "value": "vm"}], "tables": [], "related": [{"url": "/wiki/storage/storage-file-layout/?v=20", "label": "\u6570\u636e\u5e93\u6587\u4ef6\u5e03\u5c40"}], "release": {"ref": "https://ftp.postgresql.org/pub/snapshot/dev/postgresql-snapshot.tar.bz2", "label": "20devel", "major": "20", "channel": "devel", "revision": "49c73aa4c9cacef8ca979276a28ac416c08e9e54c9baee4ae5fd116a35fa13ac"}, "sources": [{"url": "/docs/devel/storage-file-layout.html", "path": "storage-file-layout.html", "label": "PostgreSQL 20 English manual", "sha256": "385ac3f959e9f95fdfb8048a6ca4058330dbe7b5b87c109015b1e800c40615ad"}], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-identity", "manual": {"url": "/zh/docs/devel/storage-file-layout.html", "anchor": "", "locale": "zh-Hans", "version": "20", "build_id": 111, "page_key": "storage-file-layout.html", "extraction": "concept-introduction", "source_hash": "7b2d4aa0007100fe3f3cd28777f7bb94cbf0f1fe1c209a6ce2a1991aed1c8055", "fragment_sha256": "75cccea55320b48d9b18a16895bc2eab9984e7b238f7f0af81cbc71e86b8f4f9", "source_revision": "sha256:49c73aa4c9cacef8ca979276a28ac416c08e9e54c9baee4ae5fd116a35fa13ac", "translation_revision": "git:b1b500221dbe5437cfca004d6b04d3f6e422765d;html-sha256:98c980963b401d40bd50df72b909e7523e3148b8fdb48edd897de2efb67e5235", "translated_from_revision": "sha256:49c73aa4c9cacef8ca979276a28ac416c08e9e54c9baee4ae5fd116a35fa13ac"}, "body_sha256": "5ed253289a40a104f6860baa804f6f5de7ee959b4cd32e1b8f59ed1aa8e55c81", "runtime_rerun": false, "authored_translation": "source-derived-identity", "source_facts_revision": "49c73aa4c9cacef8ca979276a28ac416c08e9e54c9baee4ae5fd116a35fa13ac"}, "facts_zh": [{"label": "\u5173\u7cfb\u5206\u53c9", "value": "vm"}], "sections": [], "center_zh": {"title": "vm fork", "locale": "zh-Hans", "source": {"key": "fork-vm", "locale": "zh-Hans", "version": "20", "text_hash": "d17e5cb6fe3313332c67ca736fd981b92ff2487ba9cfc486e53639b4b0087b9b", "collection": "storage", "dataset_hash": "7c31b524dfe136022d39a6ae8dcfac6b3bbd5f8fdaf422536599981252aff0c9", "source_database": "center", "source_revision": "49c73aa4c9cacef8ca979276a28ac416c08e9e54c9baee4ae5fd116a35fa13ac"}, "payload": {"facts": [{"label": "\u5173\u7cfb\u5206\u53c9", "value": "vm"}], "tables": [], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-identity", "manual": {"url": "/zh/docs/devel/storage-file-layout.html", "anchor": "", "locale": "zh-Hans", "version": "20", "build_id": 111, "page_key": "storage-file-layout.html", "extraction": "concept-introduction", "source_hash": "7b2d4aa0007100fe3f3cd28777f7bb94cbf0f1fe1c209a6ce2a1991aed1c8055", "fragment_sha256": "75cccea55320b48d9b18a16895bc2eab9984e7b238f7f0af81cbc71e86b8f4f9", "source_revision": "sha256:49c73aa4c9cacef8ca979276a28ac416c08e9e54c9baee4ae5fd116a35fa13ac", "translation_revision": "git:b1b500221dbe5437cfca004d6b04d3f6e422765d;html-sha256:98c980963b401d40bd50df72b909e7523e3148b8fdb48edd897de2efb67e5235", "translated_from_revision": "sha256:49c73aa4c9cacef8ca979276a28ac416c08e9e54c9baee4ae5fd116a35fa13ac"}, "body_sha256": "5ed253289a40a104f6860baa804f6f5de7ee959b4cd32e1b8f59ed1aa8e55c81", "runtime_rerun": false, "authored_translation": "source-derived-identity", "source_facts_revision": "49c73aa4c9cacef8ca979276a28ac416c08e9e54c9baee4ae5fd116a35fa13ac"}, "sections": [], "description_zh": "\u672c\u8282\u4ece\u6587\u4ef6\u548c\u76ee\u5f55\u7684\u5c42\u6b21\u63cf\u8ff0\u5b58\u50a8\u683c\u5f0f\u3002 \u4f20\u7edf\u4e0a\uff0c\u6570\u636e\u5e93\u96c6\u7c07\u6240\u4f7f\u7528\u7684\u914d\u7f6e\u6587\u4ef6\u548c\u6570\u636e\u6587\u4ef6\u90fd\u5b58\u653e\u5728\u96c6\u7c07\u7684\u6570\u636e\u76ee\u5f55\u4e2d\uff0c\u8fd9\u4e2a\u76ee\u5f55\u901a\u5e38\u79f0\u4e3a PGDATA \uff08\u540d\u5b57\u6765\u81ea\u53ef\u7528\u4e8e\u5b9a\u4e49\u5b83\u7684\u73af\u5883\u53d8\u91cf\uff09\u3002 PGDATA \u7684\u4e00\u4e2a\u5e38\u89c1\u4f4d\u7f6e\u662f /var/lib/pgsql/data \u3002\u540c\u4e00\u53f0\u673a\u5668\u4e0a\u53ef\u4ee5\u5b58\u5728\u591a\u4e2a\u7531\u4e0d\u540c\u670d\u52a1\u5668\u5b9e\u4f8b\u7ba1\u7406\u7684\u96c6\u7c07\u3002 PGDATA \u76ee\u5f55\u5305\u542b\u82e5\u5e72\u5b50\u76ee\u5f55\u548c\u63a7\u5236\u6587\u4ef6\uff0c\u5982 \u8868 66.1 \u6240\u793a\u3002\u9664\u8fd9\u4e9b\u5fc5\u9700\u9879\u4e4b\u5916\uff0c\u96c6\u7c07\u914d\u7f6e\u6587\u4ef6 postgresql.conf \u3001 pg_hba.conf \u548c pg_ident.conf \u4f20\u7edf\u4e0a\u4e5f\u5b58\u653e\u5728 PGDATA \u4e2d\uff0c\u4e0d\u8fc7\u4e5f\u53ef\u4ee5\u628a\u5b83\u4eec\u653e\u5728\u5176\u4ed6\u5730\u65b9\u3002 \u5bf9\u4e8e\u96c6\u7c07\u4e2d\u7684\u6bcf\u4e2a\u6570\u636e\u5e93\uff0c PGDATA /base \u4e2d\u90fd\u6709\u4e00\u4e2a\u5b50\u76ee\u5f55\uff0c\u5176\u540d\u79f0\u662f\u8be5\u6570\u636e\u5e93\u5728 pg_database \u4e2d\u7684 OID\u3002\u8fd9\u4e2a\u5b50\u76ee\u5f55\u662f\u8be5\u6570\u636e\u5e93\u6587\u4ef6\u7684\u9ed8\u8ba4\u4f4d\u7f6e\uff1b\u7279\u522b\u662f\uff0c\u5b83\u7684\u7cfb\u7edf\u76ee\u5f55\u5c31\u5b58\u653e\u5728\u8fd9\u91cc\u3002", "description_zh_html": "<p>\u5b58\u50a8\u7ed3\u6784 fork-vm\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n\u672c\u8282\u4ece\u6587\u4ef6\u548c\u76ee\u5f55\u7684\u5c42\u6b21\u63cf\u8ff0\u5b58\u50a8\u683c\u5f0f\u3002\n</p><p>\n\u4f20\u7edf\u4e0a\uff0c\u6570\u636e\u5e93\u96c6\u7c07\u6240\u4f7f\u7528\u7684\u914d\u7f6e\u6587\u4ef6\u548c\u6570\u636e\u6587\u4ef6\u90fd\u5b58\u653e\u5728\u96c6\u7c07\u7684\u6570\u636e\u76ee\u5f55\u4e2d\uff0c\u8fd9\u4e2a\u76ee\u5f55\u901a\u5e38\u79f0\u4e3a <code class=\"varname\">PGDATA</code>\uff08\u540d\u5b57\u6765\u81ea\u53ef\u7528\u4e8e\u5b9a\u4e49\u5b83\u7684\u73af\u5883\u53d8\u91cf\uff09\u3002<code class=\"varname\">PGDATA</code> \u7684\u4e00\u4e2a\u5e38\u89c1\u4f4d\u7f6e\u662f\n<code class=\"filename\">/var/lib/pgsql/data</code>\u3002\u540c\u4e00\u53f0\u673a\u5668\u4e0a\u53ef\u4ee5\u5b58\u5728\u591a\u4e2a\u7531\u4e0d\u540c\u670d\u52a1\u5668\u5b9e\u4f8b\u7ba1\u7406\u7684\u96c6\u7c07\u3002\n</p><p>\n<code class=\"varname\">PGDATA</code> \u76ee\u5f55\u5305\u542b\u82e5\u5e72\u5b50\u76ee\u5f55\u548c\u63a7\u5236\u6587\u4ef6\uff0c\u5982<a class=\"xref\" href=\"/zh/docs/devel/storage-file-layout.html#PGDATA-CONTENTS-TABLE\">\u8868\u00a066.1</a> \u6240\u793a\u3002\u9664\u8fd9\u4e9b\u5fc5\u9700\u9879\u4e4b\u5916\uff0c\u96c6\u7c07\u914d\u7f6e\u6587\u4ef6\n<code class=\"filename\">postgresql.conf</code>\u3001<code class=\"filename\">pg_hba.conf</code> \u548c\n<code class=\"filename\">pg_ident.conf</code> \u4f20\u7edf\u4e0a\u4e5f\u5b58\u653e\u5728 <code class=\"varname\">PGDATA</code>\n\u4e2d\uff0c\u4e0d\u8fc7\u4e5f\u53ef\u4ee5\u628a\u5b83\u4eec\u653e\u5728\u5176\u4ed6\u5730\u65b9\u3002\n</p><p>\n\u5bf9\u4e8e\u96c6\u7c07\u4e2d\u7684\u6bcf\u4e2a\u6570\u636e\u5e93\uff0c<code class=\"varname\">PGDATA</code><code class=\"filename\">/base</code>\n\u4e2d\u90fd\u6709\u4e00\u4e2a\u5b50\u76ee\u5f55\uff0c\u5176\u540d\u79f0\u662f\u8be5\u6570\u636e\u5e93\u5728 <code class=\"structname\">pg_database</code>\n\u4e2d\u7684 OID\u3002\u8fd9\u4e2a\u5b50\u76ee\u5f55\u662f\u8be5\u6570\u636e\u5e93\u6587\u4ef6\u7684\u9ed8\u8ba4\u4f4d\u7f6e\uff1b\u7279\u522b\u662f\uff0c\u5b83\u7684\u7cfb\u7edf\u76ee\u5f55\u5c31\u5b58\u653e\u5728\u8fd9\u91cc\u3002\n</p><p><a href=\"/zh/docs/devel/storage-file-layout.html\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "summary": "\u672c\u8282\u4ece\u6587\u4ef6\u548c\u76ee\u5f55\u7684\u5c42\u6b21\u63cf\u8ff0\u5b58\u50a8\u683c\u5f0f\u3002 \u4f20\u7edf\u4e0a\uff0c\u6570\u636e\u5e93\u96c6\u7c07\u6240\u4f7f\u7528\u7684\u914d\u7f6e\u6587\u4ef6\u548c\u6570\u636e\u6587\u4ef6\u90fd\u5b58\u653e\u5728\u96c6\u7c07\u7684\u6570\u636e\u76ee\u5f55\u4e2d\uff0c\u8fd9\u4e2a\u76ee\u5f55\u901a\u5e38\u79f0\u4e3a PGDATA \uff08\u540d\u5b57\u6765\u81ea\u53ef\u7528\u4e8e\u5b9a\u4e49\u5b83\u7684\u73af\u5883\u53d8\u91cf\uff09\u3002 PGDATA \u7684\u4e00\u4e2a\u5e38\u89c1\u4f4d\u7f6e\u662f /var/lib/pgsql/data \u3002\u540c\u4e00\u53f0\u673a\u5668\u4e0a\u53ef\u4ee5\u5b58\u5728\u591a\u4e2a\u7531\u4e0d\u540c\u670d\u52a1\u5668\u5b9e\u4f8b\u7ba1\u7406\u7684\u96c6\u7c07\u3002 PGDATA \u76ee\u5f55\u5305\u542b\u82e5\u5e72\u5b50\u76ee\u5f55\u548c\u63a7\u5236\u6587\u4ef6\uff0c\u5982 \u8868 66.1 \u6240\u793a\u3002\u9664\u8fd9\u4e9b\u5fc5\u9700\u9879\u4e4b\u5916\uff0c\u96c6\u7c07\u914d\u7f6e\u6587\u4ef6 postgresql.conf \u3001 pg_hba.conf \u548c pg_ident.conf \u4f20\u7edf\u4e0a\u4e5f\u5b58\u653e\u5728 PGDATA \u4e2d\uff0c\u4e0d\u8fc7\u4e5f\u53ef\u4ee5\u628a\u5b83\u4eec\u653e\u5728\u5176\u4ed6\u5730\u65b9\u3002 \u5bf9\u4e8e\u96c6\u7c07\u4e2d\u7684\u6bcf\u4e2a\u6570\u636e\u5e93\uff0c PGDATA /base \u4e2d\u90fd\u6709\u4e00\u4e2a\u5b50\u76ee\u5f55\uff0c\u5176\u540d\u79f0\u662f\u8be5\u6570\u636e\u5e93\u5728 pg_database \u4e2d\u7684 OID\u3002\u8fd9\u4e2a\u5b50\u76ee\u5f55\u662f\u8be5\u6570\u636e\u5e93\u6587\u4ef6\u7684\u9ed8\u8ba4\u4f4d\u7f6e\uff1b\u7279\u522b\u662f\uff0c\u5b83\u7684\u7cfb\u7edf\u76ee\u5f55\u5c31\u5b58\u653e\u5728\u8fd9\u91cc\u3002", "version": "20", "link_map": {"/zh/docs/devel/storage-file-layout.html": "/docs/devel/storage-file-layout.html", "/zh/docs/devel/storage-file-layout.html#PGDATA-CONTENTS-TABLE": "/docs/devel/storage-file-layout.html#PGDATA-CONTENTS-TABLE"}, "body_html": "<p>\u5b58\u50a8\u7ed3\u6784 fork-vm\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n\u672c\u8282\u4ece\u6587\u4ef6\u548c\u76ee\u5f55\u7684\u5c42\u6b21\u63cf\u8ff0\u5b58\u50a8\u683c\u5f0f\u3002\n</p><p>\n\u4f20\u7edf\u4e0a\uff0c\u6570\u636e\u5e93\u96c6\u7c07\u6240\u4f7f\u7528\u7684\u914d\u7f6e\u6587\u4ef6\u548c\u6570\u636e\u6587\u4ef6\u90fd\u5b58\u653e\u5728\u96c6\u7c07\u7684\u6570\u636e\u76ee\u5f55\u4e2d\uff0c\u8fd9\u4e2a\u76ee\u5f55\u901a\u5e38\u79f0\u4e3a <code>PGDATA</code>\uff08\u540d\u5b57\u6765\u81ea\u53ef\u7528\u4e8e\u5b9a\u4e49\u5b83\u7684\u73af\u5883\u53d8\u91cf\uff09\u3002<code>PGDATA</code> \u7684\u4e00\u4e2a\u5e38\u89c1\u4f4d\u7f6e\u662f\n<code>/var/lib/pgsql/data</code>\u3002\u540c\u4e00\u53f0\u673a\u5668\u4e0a\u53ef\u4ee5\u5b58\u5728\u591a\u4e2a\u7531\u4e0d\u540c\u670d\u52a1\u5668\u5b9e\u4f8b\u7ba1\u7406\u7684\u96c6\u7c07\u3002\n</p><p>\n<code>PGDATA</code> \u76ee\u5f55\u5305\u542b\u82e5\u5e72\u5b50\u76ee\u5f55\u548c\u63a7\u5236\u6587\u4ef6\uff0c\u5982<a href=\"/zh/docs/devel/storage-file-layout.html#PGDATA-CONTENTS-TABLE\" rel=\"nofollow\">\u8868\u00a066.1</a> \u6240\u793a\u3002\u9664\u8fd9\u4e9b\u5fc5\u9700\u9879\u4e4b\u5916\uff0c\u96c6\u7c07\u914d\u7f6e\u6587\u4ef6\n<code>postgresql.conf</code>\u3001<code>pg_hba.conf</code> \u548c\n<code>pg_ident.conf</code> \u4f20\u7edf\u4e0a\u4e5f\u5b58\u653e\u5728 <code>PGDATA</code>\n\u4e2d\uff0c\u4e0d\u8fc7\u4e5f\u53ef\u4ee5\u628a\u5b83\u4eec\u653e\u5728\u5176\u4ed6\u5730\u65b9\u3002\n</p><p>\n\u5bf9\u4e8e\u96c6\u7c07\u4e2d\u7684\u6bcf\u4e2a\u6570\u636e\u5e93\uff0c<code>PGDATA</code><code>/base</code>\n\u4e2d\u90fd\u6709\u4e00\u4e2a\u5b50\u76ee\u5f55\uff0c\u5176\u540d\u79f0\u662f\u8be5\u6570\u636e\u5e93\u5728 <code>pg_database</code>\n\u4e2d\u7684 OID\u3002\u8fd9\u4e2a\u5b50\u76ee\u5f55\u662f\u8be5\u6570\u636e\u5e93\u6587\u4ef6\u7684\u9ed8\u8ba4\u4f4d\u7f6e\uff1b\u7279\u522b\u662f\uff0c\u5b83\u7684\u7cfb\u7edf\u76ee\u5f55\u5c31\u5b58\u653e\u5728\u8fd9\u91cc\u3002\n</p><p><a href=\"/zh/docs/devel/storage-file-layout.html\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>", "body_sha256": "1cc9c07c2b4b05dfc03b18083a2fa2693af92a345989301005eb3d0545038d51", "content_hash": "d17e5cb6fe3313332c67ca736fd981b92ff2487ba9cfc486e53639b4b0087b9b", "source_database": "center", "source_revision": "49c73aa4c9cacef8ca979276a28ac416c08e9e54c9baee4ae5fd116a35fa13ac"}, "signature": "", "tables_zh": [], "description": ["\u672c\u8282\u4ece\u6587\u4ef6\u548c\u76ee\u5f55\u7684\u5c42\u6b21\u63cf\u8ff0\u5b58\u50a8\u683c\u5f0f\u3002 \u4f20\u7edf\u4e0a\uff0c\u6570\u636e\u5e93\u96c6\u7c07\u6240\u4f7f\u7528\u7684\u914d\u7f6e\u6587\u4ef6\u548c\u6570\u636e\u6587\u4ef6\u90fd\u5b58\u653e\u5728\u96c6\u7c07\u7684\u6570\u636e\u76ee\u5f55\u4e2d\uff0c\u8fd9\u4e2a\u76ee\u5f55\u901a\u5e38\u79f0\u4e3a PGDATA \uff08\u540d\u5b57\u6765\u81ea\u53ef\u7528\u4e8e\u5b9a\u4e49\u5b83\u7684\u73af\u5883\u53d8\u91cf\uff09\u3002 PGDATA \u7684\u4e00\u4e2a\u5e38\u89c1\u4f4d\u7f6e\u662f /var/lib/pgsql/data \u3002\u540c\u4e00\u53f0\u673a\u5668\u4e0a\u53ef\u4ee5\u5b58\u5728\u591a\u4e2a\u7531\u4e0d\u540c\u670d\u52a1\u5668\u5b9e\u4f8b\u7ba1\u7406\u7684\u96c6\u7c07\u3002 PGDATA \u76ee\u5f55\u5305\u542b\u82e5\u5e72\u5b50\u76ee\u5f55\u548c\u63a7\u5236\u6587\u4ef6\uff0c\u5982 \u8868 66.1 \u6240\u793a\u3002\u9664\u8fd9\u4e9b\u5fc5\u9700\u9879\u4e4b\u5916\uff0c\u96c6\u7c07\u914d\u7f6e\u6587\u4ef6 postgresql.conf \u3001 pg_hba.conf \u548c pg_ident.conf \u4f20\u7edf\u4e0a\u4e5f\u5b58\u653e\u5728 PGDATA \u4e2d\uff0c\u4e0d\u8fc7\u4e5f\u53ef\u4ee5\u628a\u5b83\u4eec\u653e\u5728\u5176\u4ed6\u5730\u65b9\u3002 \u5bf9\u4e8e\u96c6\u7c07\u4e2d\u7684\u6bcf\u4e2a\u6570\u636e\u5e93\uff0c PGDATA /base \u4e2d\u90fd\u6709\u4e00\u4e2a\u5b50\u76ee\u5f55\uff0c\u5176\u540d\u79f0\u662f\u8be5\u6570\u636e\u5e93\u5728 pg_database \u4e2d\u7684 OID\u3002\u8fd9\u4e2a\u5b50\u76ee\u5f55\u662f\u8be5\u6570\u636e\u5e93\u6587\u4ef6\u7684\u9ed8\u8ba4\u4f4d\u7f6e\uff1b\u7279\u522b\u662f\uff0c\u5b83\u7684\u7cfb\u7edf\u76ee\u5f55\u5c31\u5b58\u653e\u5728\u8fd9\u91cc\u3002"], "manual_html": "", "manual_path": "/docs/devel/storage-file-layout.html", "sections_zh": [], "localization": {"status": "complete", "sources": [{"url": "/docs/devel/storage-file-layout.html", "method": "same-major semantic node", "sha256": "b9b6648fd2b429a3ecdd8415a850a0a45442ec89c62b4df06cbd7805b21a9363", "language": "zh", "matched_nodes": ["#STORAGE-FILE-LAYOUT/p[8]"]}], "language": "zh", "original_text": {"/summary": "Each table and index is stored in a separate file. For ordinary relations, these files are named after the table or index's filenode number, which can be found in pg_class . relfilenode . But for temporary relations, the file name is of the form t BBB _ FFF , where BBB is the process number of the backend which created the file, and FFF is the filenode number. In either case, in addition to the main file (a/k/a main fork), each table and index has a free space map (see Section 66.3 ), which stores information about free space available in the relation. The free space map is stored in a file named with the filenode number plus the suffix _fsm . Tables also have a visibility map , stored in a fork with the suffix _vm , to track which pages are known to have no dead tuples. The visibility map is described further in Section 66.4 . Unlogged tables and indexes have a third fork, known as the initialization fork, which is stored in a fork with the suffix _init (see Section 66.5 ).", "/category": "Relation forks", "/versions/20/description/0": "Each table and index is stored in a separate file. For ordinary relations, these files are named after the table or index's filenode number, which can be found in pg_class . relfilenode . But for temporary relations, the file name is of the form t BBB _ FFF , where BBB is the process number of the backend which created the file, and FFF is the filenode number. In either case, in addition to the main file (a/k/a main fork), each table and index has a free space map (see Section 66.3 ), which stores information about free space available in the relation. The free space map is stored in a file named with the filenode number plus the suffix _fsm . Tables also have a visibility map , stored in a fork with the suffix _vm , to track which pages are known to have no dead tuples. The visibility map is described further in Section 66.4 . Unlogged tables and indexes have a third fork, known as the initialization fork, which is stored in a fork with the suffix _init (see Section 66.5 ).", "/versions/20/description/1": "When a table or index exceeds 1 GB, it is divided into gigabyte-sized segments . The first segment's file name is the same as the filenode; subsequent segments are named filenode.1, filenode.2, etc. This arrangement avoids problems on platforms that have file size limitations. (Actually, 1 GB is just the default segment size. The segment size can be adjusted using the configuration option --with-segsize when building PostgreSQL .) In principle, free space map and visibility map forks could require multiple segments as well, though this is unlikely to happen in practice.", "/versions/20/facts/0/label": "Fork", "/versions/20/related/0/label": "Database file layout"}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "051871baa36399755f87de0b67715fbb5f5f6c09bda5c54e8b26b8819ab37adf", "canonical_center_text_hash": "d17e5cb6fe3313332c67ca736fd981b92ff2487ba9cfc486e53639b4b0087b9b"}, "description_zh": "\u672c\u8282\u4ece\u6587\u4ef6\u548c\u76ee\u5f55\u7684\u5c42\u6b21\u63cf\u8ff0\u5b58\u50a8\u683c\u5f0f\u3002 \u4f20\u7edf\u4e0a\uff0c\u6570\u636e\u5e93\u96c6\u7c07\u6240\u4f7f\u7528\u7684\u914d\u7f6e\u6587\u4ef6\u548c\u6570\u636e\u6587\u4ef6\u90fd\u5b58\u653e\u5728\u96c6\u7c07\u7684\u6570\u636e\u76ee\u5f55\u4e2d\uff0c\u8fd9\u4e2a\u76ee\u5f55\u901a\u5e38\u79f0\u4e3a PGDATA \uff08\u540d\u5b57\u6765\u81ea\u53ef\u7528\u4e8e\u5b9a\u4e49\u5b83\u7684\u73af\u5883\u53d8\u91cf\uff09\u3002 PGDATA \u7684\u4e00\u4e2a\u5e38\u89c1\u4f4d\u7f6e\u662f /var/lib/pgsql/data \u3002\u540c\u4e00\u53f0\u673a\u5668\u4e0a\u53ef\u4ee5\u5b58\u5728\u591a\u4e2a\u7531\u4e0d\u540c\u670d\u52a1\u5668\u5b9e\u4f8b\u7ba1\u7406\u7684\u96c6\u7c07\u3002 PGDATA \u76ee\u5f55\u5305\u542b\u82e5\u5e72\u5b50\u76ee\u5f55\u548c\u63a7\u5236\u6587\u4ef6\uff0c\u5982 \u8868 66.1 \u6240\u793a\u3002\u9664\u8fd9\u4e9b\u5fc5\u9700\u9879\u4e4b\u5916\uff0c\u96c6\u7c07\u914d\u7f6e\u6587\u4ef6 postgresql.conf \u3001 pg_hba.conf \u548c pg_ident.conf \u4f20\u7edf\u4e0a\u4e5f\u5b58\u653e\u5728 PGDATA \u4e2d\uff0c\u4e0d\u8fc7\u4e5f\u53ef\u4ee5\u628a\u5b83\u4eec\u653e\u5728\u5176\u4ed6\u5730\u65b9\u3002 \u5bf9\u4e8e\u96c6\u7c07\u4e2d\u7684\u6bcf\u4e2a\u6570\u636e\u5e93\uff0c PGDATA /base \u4e2d\u90fd\u6709\u4e00\u4e2a\u5b50\u76ee\u5f55\uff0c\u5176\u540d\u79f0\u662f\u8be5\u6570\u636e\u5e93\u5728 pg_database \u4e2d\u7684 OID\u3002\u8fd9\u4e2a\u5b50\u76ee\u5f55\u662f\u8be5\u6570\u636e\u5e93\u6587\u4ef6\u7684\u9ed8\u8ba4\u4f4d\u7f6e\uff1b\u7279\u522b\u662f\uff0c\u5b83\u7684\u7cfb\u7edf\u76ee\u5f55\u5c31\u5b58\u653e\u5728\u8fd9\u91cc\u3002", "comparison_data": {"fork": "vm"}, "comparison_hash": "0f7e444c74befed2e9e038b208922f35c10a3caa1ec789947fda5dd19339d4d4", "manual_language": "zh", "description_zh_html": "<p>\u5b58\u50a8\u7ed3\u6784 fork-vm\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n\u672c\u8282\u4ece\u6587\u4ef6\u548c\u76ee\u5f55\u7684\u5c42\u6b21\u63cf\u8ff0\u5b58\u50a8\u683c\u5f0f\u3002\n</p><p>\n\u4f20\u7edf\u4e0a\uff0c\u6570\u636e\u5e93\u96c6\u7c07\u6240\u4f7f\u7528\u7684\u914d\u7f6e\u6587\u4ef6\u548c\u6570\u636e\u6587\u4ef6\u90fd\u5b58\u653e\u5728\u96c6\u7c07\u7684\u6570\u636e\u76ee\u5f55\u4e2d\uff0c\u8fd9\u4e2a\u76ee\u5f55\u901a\u5e38\u79f0\u4e3a <code>PGDATA</code>\uff08\u540d\u5b57\u6765\u81ea\u53ef\u7528\u4e8e\u5b9a\u4e49\u5b83\u7684\u73af\u5883\u53d8\u91cf\uff09\u3002<code>PGDATA</code> \u7684\u4e00\u4e2a\u5e38\u89c1\u4f4d\u7f6e\u662f\n<code>/var/lib/pgsql/data</code>\u3002\u540c\u4e00\u53f0\u673a\u5668\u4e0a\u53ef\u4ee5\u5b58\u5728\u591a\u4e2a\u7531\u4e0d\u540c\u670d\u52a1\u5668\u5b9e\u4f8b\u7ba1\u7406\u7684\u96c6\u7c07\u3002\n</p><p>\n<code>PGDATA</code> \u76ee\u5f55\u5305\u542b\u82e5\u5e72\u5b50\u76ee\u5f55\u548c\u63a7\u5236\u6587\u4ef6\uff0c\u5982<a href=\"/zh/docs/devel/storage-file-layout.html#PGDATA-CONTENTS-TABLE\" rel=\"nofollow\">\u8868\u00a066.1</a> \u6240\u793a\u3002\u9664\u8fd9\u4e9b\u5fc5\u9700\u9879\u4e4b\u5916\uff0c\u96c6\u7c07\u914d\u7f6e\u6587\u4ef6\n<code>postgresql.conf</code>\u3001<code>pg_hba.conf</code> \u548c\n<code>pg_ident.conf</code> \u4f20\u7edf\u4e0a\u4e5f\u5b58\u653e\u5728 <code>PGDATA</code>\n\u4e2d\uff0c\u4e0d\u8fc7\u4e5f\u53ef\u4ee5\u628a\u5b83\u4eec\u653e\u5728\u5176\u4ed6\u5730\u65b9\u3002\n</p><p>\n\u5bf9\u4e8e\u96c6\u7c07\u4e2d\u7684\u6bcf\u4e2a\u6570\u636e\u5e93\uff0c<code>PGDATA</code><code>/base</code>\n\u4e2d\u90fd\u6709\u4e00\u4e2a\u5b50\u76ee\u5f55\uff0c\u5176\u540d\u79f0\u662f\u8be5\u6570\u636e\u5e93\u5728 <code>pg_database</code>\n\u4e2d\u7684 OID\u3002\u8fd9\u4e2a\u5b50\u76ee\u5f55\u662f\u8be5\u6570\u636e\u5e93\u6587\u4ef6\u7684\u9ed8\u8ba4\u4f4d\u7f6e\uff1b\u7279\u522b\u662f\uff0c\u5b83\u7684\u7cfb\u7edf\u76ee\u5f55\u5c31\u5b58\u653e\u5728\u8fd9\u91cc\u3002\n</p><p><a href=\"/zh/docs/devel/storage-file-layout.html\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>", "source_revalidation": {"kind": "static-same-version-source-and-manual-replay", "audit": "wiki-audit-20261023", "runtime_rerun": false, "compared_fields": "entity membership and source-derived facts; presentation markup normalized", "source_revision": "49c73aa4c9cacef8ca979276a28ac416c08e9e54c9baee4ae5fd116a35fa13ac", "previous_source_revision": "4d3346909b201ac1648232cf290462a7070c119326f56196f1f0253ed80fae41"}}}}, "snapshot": {"facts": [{"label": "\u5173\u7cfb\u5206\u53c9", "value": "vm"}], "tables": [], "related": [{"url": "/wiki/storage/storage-file-layout/?v=18", "label": "\u6570\u636e\u5e93\u6587\u4ef6\u5e03\u5c40"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2", "label": "18.6", "major": "18", "channel": "stable", "revision": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f"}, "sources": [{"url": "/docs/18/storage-file-layout.html", "path": "storage-file-layout.html", "label": "PostgreSQL 18 English manual", "sha256": "8cdf46b5af669f41f0a77c2541863d63454ef8fbb44d22a75e576cf1a7efc9c9"}], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-identity", "manual": {"url": "/zh/docs/18/storage-file-layout.html", "anchor": "", "locale": "zh-Hans", "version": "18", "build_id": 107, "page_key": "storage-file-layout.html", "extraction": "concept-introduction", "source_hash": "b919cbcb8aedb49e32e5185e2c7753b075945bb7c0e00c59b81974d853143a0a", "fragment_sha256": "257fb050d6193b915e73cee0d717b72f3e9e669fd98d6e4cebef2941b6a6378b", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "git:b1b500221dbe5437cfca004d6b04d3f6e422765d;html-sha256:08e987a66af27b98444a8057c256314eafa13611a3fb9e888214fc436824244b", "translated_from_revision": null}, "body_sha256": "5f038f4d6f99a8251c67297a88728f15fc048eb1fe67b2b55a31eb99719d0934", "runtime_rerun": false, "authored_translation": "source-derived-identity", "source_facts_revision": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f"}, "facts_zh": [{"label": "\u5173\u7cfb\u5206\u53c9", "value": "vm"}], "sections": [], "center_zh": {"title": "vm fork", "locale": "zh-Hans", "source": {"key": "fork-vm", "locale": "zh-Hans", "version": "18", "text_hash": "1f982325d18dc74fe3f0ead236663eb2726565a6adcc3867e98a6235d82f866a", "collection": "storage", "dataset_hash": "7c31b524dfe136022d39a6ae8dcfac6b3bbd5f8fdaf422536599981252aff0c9", "source_database": "center", "source_revision": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f"}, "payload": {"facts": [{"label": "\u5173\u7cfb\u5206\u53c9", "value": "vm"}], "tables": [], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-identity", "manual": {"url": "/zh/docs/18/storage-file-layout.html", "anchor": "", "locale": "zh-Hans", "version": "18", "build_id": 107, "page_key": "storage-file-layout.html", "extraction": "concept-introduction", "source_hash": "b919cbcb8aedb49e32e5185e2c7753b075945bb7c0e00c59b81974d853143a0a", "fragment_sha256": "257fb050d6193b915e73cee0d717b72f3e9e669fd98d6e4cebef2941b6a6378b", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "git:b1b500221dbe5437cfca004d6b04d3f6e422765d;html-sha256:08e987a66af27b98444a8057c256314eafa13611a3fb9e888214fc436824244b", "translated_from_revision": null}, "body_sha256": "5f038f4d6f99a8251c67297a88728f15fc048eb1fe67b2b55a31eb99719d0934", "runtime_rerun": false, "authored_translation": "source-derived-identity", "source_facts_revision": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f"}, "sections": [], "description_zh": "\u672c\u8282\u4ece\u6587\u4ef6\u548c\u76ee\u5f55\u7684\u5c42\u6b21\u63cf\u8ff0\u5b58\u50a8\u683c\u5f0f\u3002 \u4f20\u7edf\u4e0a\uff0c\u6570\u636e\u5e93\u96c6\u7c07\u6240\u4f7f\u7528\u7684\u914d\u7f6e\u6587\u4ef6\u548c\u6570\u636e\u6587\u4ef6\u90fd\u5b58\u653e\u5728\u96c6\u7c07\u7684\u6570\u636e\u76ee\u5f55\u4e2d\uff0c\u8fd9\u4e2a\u76ee\u5f55\u901a\u5e38\u79f0\u4e3a PGDATA \uff08\u540d\u5b57\u6765\u81ea\u53ef\u7528\u4e8e\u5b9a\u4e49\u5b83\u7684\u73af\u5883\u53d8\u91cf\uff09\u3002 PGDATA \u7684\u4e00\u4e2a\u5e38\u89c1\u4f4d\u7f6e\u662f /var/lib/pgsql/data \u3002\u540c\u4e00\u53f0\u673a\u5668\u4e0a\u53ef\u4ee5\u5b58\u5728\u591a\u4e2a\u7531\u4e0d\u540c\u670d\u52a1\u5668\u5b9e\u4f8b\u7ba1\u7406\u7684\u96c6\u7c07\u3002 PGDATA \u76ee\u5f55\u5305\u542b\u82e5\u5e72\u5b50\u76ee\u5f55\u548c\u63a7\u5236\u6587\u4ef6\uff0c\u5982 \u8868 66.1 \u6240\u793a\u3002\u9664\u8fd9\u4e9b\u5fc5\u9700\u9879\u4e4b\u5916\uff0c\u96c6\u7c07\u914d\u7f6e\u6587\u4ef6 postgresql.conf \u3001 pg_hba.conf \u548c pg_ident.conf \u4f20\u7edf\u4e0a\u4e5f\u5b58\u653e\u5728 PGDATA \u4e2d\uff0c\u4e0d\u8fc7\u4e5f\u53ef\u4ee5\u628a\u5b83\u4eec\u653e\u5728\u5176\u4ed6\u5730\u65b9\u3002 \u5bf9\u4e8e\u96c6\u7c07\u4e2d\u7684\u6bcf\u4e2a\u6570\u636e\u5e93\uff0c PGDATA /base \u4e2d\u90fd\u6709\u4e00\u4e2a\u5b50\u76ee\u5f55\uff0c\u5176\u540d\u79f0\u662f\u8be5\u6570\u636e\u5e93\u5728 pg_database \u4e2d\u7684 OID\u3002\u8fd9\u4e2a\u5b50\u76ee\u5f55\u662f\u8be5\u6570\u636e\u5e93\u6587\u4ef6\u7684\u9ed8\u8ba4\u4f4d\u7f6e\uff1b\u7279\u522b\u662f\uff0c\u5b83\u7684\u7cfb\u7edf\u76ee\u5f55\u5c31\u5b58\u653e\u5728\u8fd9\u91cc\u3002", "description_zh_html": "<p>\u5b58\u50a8\u7ed3\u6784 fork-vm\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n\u672c\u8282\u4ece\u6587\u4ef6\u548c\u76ee\u5f55\u7684\u5c42\u6b21\u63cf\u8ff0\u5b58\u50a8\u683c\u5f0f\u3002\n</p><p>\n\u4f20\u7edf\u4e0a\uff0c\u6570\u636e\u5e93\u96c6\u7c07\u6240\u4f7f\u7528\u7684\u914d\u7f6e\u6587\u4ef6\u548c\u6570\u636e\u6587\u4ef6\u90fd\u5b58\u653e\u5728\u96c6\u7c07\u7684\u6570\u636e\u76ee\u5f55\u4e2d\uff0c\u8fd9\u4e2a\u76ee\u5f55\u901a\u5e38\u79f0\u4e3a <code class=\"varname\">PGDATA</code>\uff08\u540d\u5b57\u6765\u81ea\u53ef\u7528\u4e8e\u5b9a\u4e49\u5b83\u7684\u73af\u5883\u53d8\u91cf\uff09\u3002<code class=\"varname\">PGDATA</code> \u7684\u4e00\u4e2a\u5e38\u89c1\u4f4d\u7f6e\u662f\n<code class=\"filename\">/var/lib/pgsql/data</code>\u3002\u540c\u4e00\u53f0\u673a\u5668\u4e0a\u53ef\u4ee5\u5b58\u5728\u591a\u4e2a\u7531\u4e0d\u540c\u670d\u52a1\u5668\u5b9e\u4f8b\u7ba1\u7406\u7684\u96c6\u7c07\u3002\n</p><p>\n<code class=\"varname\">PGDATA</code> \u76ee\u5f55\u5305\u542b\u82e5\u5e72\u5b50\u76ee\u5f55\u548c\u63a7\u5236\u6587\u4ef6\uff0c\u5982<a class=\"xref\" href=\"/zh/docs/18/storage-file-layout.html#PGDATA-CONTENTS-TABLE\">\u8868\u00a066.1</a> \u6240\u793a\u3002\u9664\u8fd9\u4e9b\u5fc5\u9700\u9879\u4e4b\u5916\uff0c\u96c6\u7c07\u914d\u7f6e\u6587\u4ef6\n<code class=\"filename\">postgresql.conf</code>\u3001<code class=\"filename\">pg_hba.conf</code> \u548c\n<code class=\"filename\">pg_ident.conf</code> \u4f20\u7edf\u4e0a\u4e5f\u5b58\u653e\u5728 <code class=\"varname\">PGDATA</code>\n\u4e2d\uff0c\u4e0d\u8fc7\u4e5f\u53ef\u4ee5\u628a\u5b83\u4eec\u653e\u5728\u5176\u4ed6\u5730\u65b9\u3002\n</p><p>\n\u5bf9\u4e8e\u96c6\u7c07\u4e2d\u7684\u6bcf\u4e2a\u6570\u636e\u5e93\uff0c<code class=\"varname\">PGDATA</code><code class=\"filename\">/base</code>\n\u4e2d\u90fd\u6709\u4e00\u4e2a\u5b50\u76ee\u5f55\uff0c\u5176\u540d\u79f0\u662f\u8be5\u6570\u636e\u5e93\u5728 <code class=\"structname\">pg_database</code>\n\u4e2d\u7684 OID\u3002\u8fd9\u4e2a\u5b50\u76ee\u5f55\u662f\u8be5\u6570\u636e\u5e93\u6587\u4ef6\u7684\u9ed8\u8ba4\u4f4d\u7f6e\uff1b\u7279\u522b\u662f\uff0c\u5b83\u7684\u7cfb\u7edf\u76ee\u5f55\u5c31\u5b58\u653e\u5728\u8fd9\u91cc\u3002\n</p><p><a href=\"/zh/docs/18/storage-file-layout.html\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "summary": "\u672c\u8282\u4ece\u6587\u4ef6\u548c\u76ee\u5f55\u7684\u5c42\u6b21\u63cf\u8ff0\u5b58\u50a8\u683c\u5f0f\u3002 \u4f20\u7edf\u4e0a\uff0c\u6570\u636e\u5e93\u96c6\u7c07\u6240\u4f7f\u7528\u7684\u914d\u7f6e\u6587\u4ef6\u548c\u6570\u636e\u6587\u4ef6\u90fd\u5b58\u653e\u5728\u96c6\u7c07\u7684\u6570\u636e\u76ee\u5f55\u4e2d\uff0c\u8fd9\u4e2a\u76ee\u5f55\u901a\u5e38\u79f0\u4e3a PGDATA \uff08\u540d\u5b57\u6765\u81ea\u53ef\u7528\u4e8e\u5b9a\u4e49\u5b83\u7684\u73af\u5883\u53d8\u91cf\uff09\u3002 PGDATA \u7684\u4e00\u4e2a\u5e38\u89c1\u4f4d\u7f6e\u662f /var/lib/pgsql/data \u3002\u540c\u4e00\u53f0\u673a\u5668\u4e0a\u53ef\u4ee5\u5b58\u5728\u591a\u4e2a\u7531\u4e0d\u540c\u670d\u52a1\u5668\u5b9e\u4f8b\u7ba1\u7406\u7684\u96c6\u7c07\u3002 PGDATA \u76ee\u5f55\u5305\u542b\u82e5\u5e72\u5b50\u76ee\u5f55\u548c\u63a7\u5236\u6587\u4ef6\uff0c\u5982 \u8868 66.1 \u6240\u793a\u3002\u9664\u8fd9\u4e9b\u5fc5\u9700\u9879\u4e4b\u5916\uff0c\u96c6\u7c07\u914d\u7f6e\u6587\u4ef6 postgresql.conf \u3001 pg_hba.conf \u548c pg_ident.conf \u4f20\u7edf\u4e0a\u4e5f\u5b58\u653e\u5728 PGDATA \u4e2d\uff0c\u4e0d\u8fc7\u4e5f\u53ef\u4ee5\u628a\u5b83\u4eec\u653e\u5728\u5176\u4ed6\u5730\u65b9\u3002 \u5bf9\u4e8e\u96c6\u7c07\u4e2d\u7684\u6bcf\u4e2a\u6570\u636e\u5e93\uff0c PGDATA /base \u4e2d\u90fd\u6709\u4e00\u4e2a\u5b50\u76ee\u5f55\uff0c\u5176\u540d\u79f0\u662f\u8be5\u6570\u636e\u5e93\u5728 pg_database \u4e2d\u7684 OID\u3002\u8fd9\u4e2a\u5b50\u76ee\u5f55\u662f\u8be5\u6570\u636e\u5e93\u6587\u4ef6\u7684\u9ed8\u8ba4\u4f4d\u7f6e\uff1b\u7279\u522b\u662f\uff0c\u5b83\u7684\u7cfb\u7edf\u76ee\u5f55\u5c31\u5b58\u653e\u5728\u8fd9\u91cc\u3002", "version": "18", "link_map": {"/zh/docs/18/storage-file-layout.html": "/docs/18/storage-file-layout.html", "/zh/docs/18/storage-file-layout.html#PGDATA-CONTENTS-TABLE": "/docs/18/storage-file-layout.html#PGDATA-CONTENTS-TABLE"}, "body_html": "<p>\u5b58\u50a8\u7ed3\u6784 fork-vm\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n\u672c\u8282\u4ece\u6587\u4ef6\u548c\u76ee\u5f55\u7684\u5c42\u6b21\u63cf\u8ff0\u5b58\u50a8\u683c\u5f0f\u3002\n</p><p>\n\u4f20\u7edf\u4e0a\uff0c\u6570\u636e\u5e93\u96c6\u7c07\u6240\u4f7f\u7528\u7684\u914d\u7f6e\u6587\u4ef6\u548c\u6570\u636e\u6587\u4ef6\u90fd\u5b58\u653e\u5728\u96c6\u7c07\u7684\u6570\u636e\u76ee\u5f55\u4e2d\uff0c\u8fd9\u4e2a\u76ee\u5f55\u901a\u5e38\u79f0\u4e3a <code>PGDATA</code>\uff08\u540d\u5b57\u6765\u81ea\u53ef\u7528\u4e8e\u5b9a\u4e49\u5b83\u7684\u73af\u5883\u53d8\u91cf\uff09\u3002<code>PGDATA</code> \u7684\u4e00\u4e2a\u5e38\u89c1\u4f4d\u7f6e\u662f\n<code>/var/lib/pgsql/data</code>\u3002\u540c\u4e00\u53f0\u673a\u5668\u4e0a\u53ef\u4ee5\u5b58\u5728\u591a\u4e2a\u7531\u4e0d\u540c\u670d\u52a1\u5668\u5b9e\u4f8b\u7ba1\u7406\u7684\u96c6\u7c07\u3002\n</p><p>\n<code>PGDATA</code> \u76ee\u5f55\u5305\u542b\u82e5\u5e72\u5b50\u76ee\u5f55\u548c\u63a7\u5236\u6587\u4ef6\uff0c\u5982<a href=\"/zh/docs/18/storage-file-layout.html#PGDATA-CONTENTS-TABLE\" rel=\"nofollow\">\u8868\u00a066.1</a> \u6240\u793a\u3002\u9664\u8fd9\u4e9b\u5fc5\u9700\u9879\u4e4b\u5916\uff0c\u96c6\u7c07\u914d\u7f6e\u6587\u4ef6\n<code>postgresql.conf</code>\u3001<code>pg_hba.conf</code> \u548c\n<code>pg_ident.conf</code> \u4f20\u7edf\u4e0a\u4e5f\u5b58\u653e\u5728 <code>PGDATA</code>\n\u4e2d\uff0c\u4e0d\u8fc7\u4e5f\u53ef\u4ee5\u628a\u5b83\u4eec\u653e\u5728\u5176\u4ed6\u5730\u65b9\u3002\n</p><p>\n\u5bf9\u4e8e\u96c6\u7c07\u4e2d\u7684\u6bcf\u4e2a\u6570\u636e\u5e93\uff0c<code>PGDATA</code><code>/base</code>\n\u4e2d\u90fd\u6709\u4e00\u4e2a\u5b50\u76ee\u5f55\uff0c\u5176\u540d\u79f0\u662f\u8be5\u6570\u636e\u5e93\u5728 <code>pg_database</code>\n\u4e2d\u7684 OID\u3002\u8fd9\u4e2a\u5b50\u76ee\u5f55\u662f\u8be5\u6570\u636e\u5e93\u6587\u4ef6\u7684\u9ed8\u8ba4\u4f4d\u7f6e\uff1b\u7279\u522b\u662f\uff0c\u5b83\u7684\u7cfb\u7edf\u76ee\u5f55\u5c31\u5b58\u653e\u5728\u8fd9\u91cc\u3002\n</p><p><a href=\"/zh/docs/18/storage-file-layout.html\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>", "body_sha256": "a82c867f0a19c893eb457d9c0f00a53ff647991d73f7d577cd4b53ee6756de3a", "content_hash": "1f982325d18dc74fe3f0ead236663eb2726565a6adcc3867e98a6235d82f866a", "source_database": "center", "source_revision": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f"}, "signature": "", "tables_zh": [], "description": ["\u672c\u8282\u4ece\u6587\u4ef6\u548c\u76ee\u5f55\u7684\u5c42\u6b21\u63cf\u8ff0\u5b58\u50a8\u683c\u5f0f\u3002 \u4f20\u7edf\u4e0a\uff0c\u6570\u636e\u5e93\u96c6\u7c07\u6240\u4f7f\u7528\u7684\u914d\u7f6e\u6587\u4ef6\u548c\u6570\u636e\u6587\u4ef6\u90fd\u5b58\u653e\u5728\u96c6\u7c07\u7684\u6570\u636e\u76ee\u5f55\u4e2d\uff0c\u8fd9\u4e2a\u76ee\u5f55\u901a\u5e38\u79f0\u4e3a PGDATA \uff08\u540d\u5b57\u6765\u81ea\u53ef\u7528\u4e8e\u5b9a\u4e49\u5b83\u7684\u73af\u5883\u53d8\u91cf\uff09\u3002 PGDATA \u7684\u4e00\u4e2a\u5e38\u89c1\u4f4d\u7f6e\u662f /var/lib/pgsql/data \u3002\u540c\u4e00\u53f0\u673a\u5668\u4e0a\u53ef\u4ee5\u5b58\u5728\u591a\u4e2a\u7531\u4e0d\u540c\u670d\u52a1\u5668\u5b9e\u4f8b\u7ba1\u7406\u7684\u96c6\u7c07\u3002 PGDATA \u76ee\u5f55\u5305\u542b\u82e5\u5e72\u5b50\u76ee\u5f55\u548c\u63a7\u5236\u6587\u4ef6\uff0c\u5982 \u8868 66.1 \u6240\u793a\u3002\u9664\u8fd9\u4e9b\u5fc5\u9700\u9879\u4e4b\u5916\uff0c\u96c6\u7c07\u914d\u7f6e\u6587\u4ef6 postgresql.conf \u3001 pg_hba.conf \u548c pg_ident.conf \u4f20\u7edf\u4e0a\u4e5f\u5b58\u653e\u5728 PGDATA \u4e2d\uff0c\u4e0d\u8fc7\u4e5f\u53ef\u4ee5\u628a\u5b83\u4eec\u653e\u5728\u5176\u4ed6\u5730\u65b9\u3002 \u5bf9\u4e8e\u96c6\u7c07\u4e2d\u7684\u6bcf\u4e2a\u6570\u636e\u5e93\uff0c PGDATA /base \u4e2d\u90fd\u6709\u4e00\u4e2a\u5b50\u76ee\u5f55\uff0c\u5176\u540d\u79f0\u662f\u8be5\u6570\u636e\u5e93\u5728 pg_database \u4e2d\u7684 OID\u3002\u8fd9\u4e2a\u5b50\u76ee\u5f55\u662f\u8be5\u6570\u636e\u5e93\u6587\u4ef6\u7684\u9ed8\u8ba4\u4f4d\u7f6e\uff1b\u7279\u522b\u662f\uff0c\u5b83\u7684\u7cfb\u7edf\u76ee\u5f55\u5c31\u5b58\u653e\u5728\u8fd9\u91cc\u3002"], "manual_html": "", "manual_path": "/docs/18/storage-file-layout.html", "sections_zh": [], "localization": {"status": "complete", "sources": [{"url": "/docs/18/storage-file-layout.html", "method": "same-major semantic node", "sha256": "55056edf7352b4e414c1366406a307a72af33aeda7854ef3a8cc1fa5c0db23ad", "language": "zh", "matched_nodes": ["#STORAGE-FILE-LAYOUT/p[8]"]}], "language": "zh", "original_text": {"/versions/18/description/0": "Each table and index is stored in a separate file. For ordinary relations, these files are named after the table or index's filenode number, which can be found in pg_class . relfilenode . But for temporary relations, the file name is of the form t BBB _ FFF , where BBB is the process number of the backend which created the file, and FFF is the filenode number. In either case, in addition to the main file (a/k/a main fork), each table and index has a free space map (see Section 66.3 ), which stores information about free space available in the relation. The free space map is stored in a file named with the filenode number plus the suffix _fsm . Tables also have a visibility map , stored in a fork with the suffix _vm , to track which pages are known to have no dead tuples. The visibility map is described further in Section 66.4 . Unlogged tables and indexes have a third fork, known as the initialization fork, which is stored in a fork with the suffix _init (see Section 66.5 ).", "/versions/18/description/1": "When a table or index exceeds 1 GB, it is divided into gigabyte-sized segments . The first segment's file name is the same as the filenode; subsequent segments are named filenode.1, filenode.2, etc. This arrangement avoids problems on platforms that have file size limitations. (Actually, 1 GB is just the default segment size. The segment size can be adjusted using the configuration option --with-segsize when building PostgreSQL .) In principle, free space map and visibility map forks could require multiple segments as well, though this is unlikely to happen in practice.", "/versions/18/facts/0/label": "Fork", "/versions/18/related/0/label": "Database file layout"}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "bc8a83b17a765d74e4370a07dbb0da7d951e57d581cc3dedd912405dfad93922", "canonical_center_text_hash": "1f982325d18dc74fe3f0ead236663eb2726565a6adcc3867e98a6235d82f866a"}, "description_zh": "\u672c\u8282\u4ece\u6587\u4ef6\u548c\u76ee\u5f55\u7684\u5c42\u6b21\u63cf\u8ff0\u5b58\u50a8\u683c\u5f0f\u3002 \u4f20\u7edf\u4e0a\uff0c\u6570\u636e\u5e93\u96c6\u7c07\u6240\u4f7f\u7528\u7684\u914d\u7f6e\u6587\u4ef6\u548c\u6570\u636e\u6587\u4ef6\u90fd\u5b58\u653e\u5728\u96c6\u7c07\u7684\u6570\u636e\u76ee\u5f55\u4e2d\uff0c\u8fd9\u4e2a\u76ee\u5f55\u901a\u5e38\u79f0\u4e3a PGDATA \uff08\u540d\u5b57\u6765\u81ea\u53ef\u7528\u4e8e\u5b9a\u4e49\u5b83\u7684\u73af\u5883\u53d8\u91cf\uff09\u3002 PGDATA \u7684\u4e00\u4e2a\u5e38\u89c1\u4f4d\u7f6e\u662f /var/lib/pgsql/data \u3002\u540c\u4e00\u53f0\u673a\u5668\u4e0a\u53ef\u4ee5\u5b58\u5728\u591a\u4e2a\u7531\u4e0d\u540c\u670d\u52a1\u5668\u5b9e\u4f8b\u7ba1\u7406\u7684\u96c6\u7c07\u3002 PGDATA \u76ee\u5f55\u5305\u542b\u82e5\u5e72\u5b50\u76ee\u5f55\u548c\u63a7\u5236\u6587\u4ef6\uff0c\u5982 \u8868 66.1 \u6240\u793a\u3002\u9664\u8fd9\u4e9b\u5fc5\u9700\u9879\u4e4b\u5916\uff0c\u96c6\u7c07\u914d\u7f6e\u6587\u4ef6 postgresql.conf \u3001 pg_hba.conf \u548c pg_ident.conf \u4f20\u7edf\u4e0a\u4e5f\u5b58\u653e\u5728 PGDATA \u4e2d\uff0c\u4e0d\u8fc7\u4e5f\u53ef\u4ee5\u628a\u5b83\u4eec\u653e\u5728\u5176\u4ed6\u5730\u65b9\u3002 \u5bf9\u4e8e\u96c6\u7c07\u4e2d\u7684\u6bcf\u4e2a\u6570\u636e\u5e93\uff0c PGDATA /base \u4e2d\u90fd\u6709\u4e00\u4e2a\u5b50\u76ee\u5f55\uff0c\u5176\u540d\u79f0\u662f\u8be5\u6570\u636e\u5e93\u5728 pg_database \u4e2d\u7684 OID\u3002\u8fd9\u4e2a\u5b50\u76ee\u5f55\u662f\u8be5\u6570\u636e\u5e93\u6587\u4ef6\u7684\u9ed8\u8ba4\u4f4d\u7f6e\uff1b\u7279\u522b\u662f\uff0c\u5b83\u7684\u7cfb\u7edf\u76ee\u5f55\u5c31\u5b58\u653e\u5728\u8fd9\u91cc\u3002", "comparison_data": {"fork": "vm"}, "comparison_hash": "0f7e444c74befed2e9e038b208922f35c10a3caa1ec789947fda5dd19339d4d4", "manual_language": "zh", "description_zh_html": "<p>\u5b58\u50a8\u7ed3\u6784 fork-vm\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n\u672c\u8282\u4ece\u6587\u4ef6\u548c\u76ee\u5f55\u7684\u5c42\u6b21\u63cf\u8ff0\u5b58\u50a8\u683c\u5f0f\u3002\n</p><p>\n\u4f20\u7edf\u4e0a\uff0c\u6570\u636e\u5e93\u96c6\u7c07\u6240\u4f7f\u7528\u7684\u914d\u7f6e\u6587\u4ef6\u548c\u6570\u636e\u6587\u4ef6\u90fd\u5b58\u653e\u5728\u96c6\u7c07\u7684\u6570\u636e\u76ee\u5f55\u4e2d\uff0c\u8fd9\u4e2a\u76ee\u5f55\u901a\u5e38\u79f0\u4e3a <code>PGDATA</code>\uff08\u540d\u5b57\u6765\u81ea\u53ef\u7528\u4e8e\u5b9a\u4e49\u5b83\u7684\u73af\u5883\u53d8\u91cf\uff09\u3002<code>PGDATA</code> \u7684\u4e00\u4e2a\u5e38\u89c1\u4f4d\u7f6e\u662f\n<code>/var/lib/pgsql/data</code>\u3002\u540c\u4e00\u53f0\u673a\u5668\u4e0a\u53ef\u4ee5\u5b58\u5728\u591a\u4e2a\u7531\u4e0d\u540c\u670d\u52a1\u5668\u5b9e\u4f8b\u7ba1\u7406\u7684\u96c6\u7c07\u3002\n</p><p>\n<code>PGDATA</code> \u76ee\u5f55\u5305\u542b\u82e5\u5e72\u5b50\u76ee\u5f55\u548c\u63a7\u5236\u6587\u4ef6\uff0c\u5982<a href=\"/zh/docs/18/storage-file-layout.html#PGDATA-CONTENTS-TABLE\" rel=\"nofollow\">\u8868\u00a066.1</a> \u6240\u793a\u3002\u9664\u8fd9\u4e9b\u5fc5\u9700\u9879\u4e4b\u5916\uff0c\u96c6\u7c07\u914d\u7f6e\u6587\u4ef6\n<code>postgresql.conf</code>\u3001<code>pg_hba.conf</code> \u548c\n<code>pg_ident.conf</code> \u4f20\u7edf\u4e0a\u4e5f\u5b58\u653e\u5728 <code>PGDATA</code>\n\u4e2d\uff0c\u4e0d\u8fc7\u4e5f\u53ef\u4ee5\u628a\u5b83\u4eec\u653e\u5728\u5176\u4ed6\u5730\u65b9\u3002\n</p><p>\n\u5bf9\u4e8e\u96c6\u7c07\u4e2d\u7684\u6bcf\u4e2a\u6570\u636e\u5e93\uff0c<code>PGDATA</code><code>/base</code>\n\u4e2d\u90fd\u6709\u4e00\u4e2a\u5b50\u76ee\u5f55\uff0c\u5176\u540d\u79f0\u662f\u8be5\u6570\u636e\u5e93\u5728 <code>pg_database</code>\n\u4e2d\u7684 OID\u3002\u8fd9\u4e2a\u5b50\u76ee\u5f55\u662f\u8be5\u6570\u636e\u5e93\u6587\u4ef6\u7684\u9ed8\u8ba4\u4f4d\u7f6e\uff1b\u7279\u522b\u662f\uff0c\u5b83\u7684\u7cfb\u7edf\u76ee\u5f55\u5c31\u5b58\u653e\u5728\u8fd9\u91cc\u3002\n</p><p><a href=\"/zh/docs/18/storage-file-layout.html\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>", "center_zh_rendered": "<p>\u5b58\u50a8\u7ed3\u6784 fork-vm\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n\u672c\u8282\u4ece\u6587\u4ef6\u548c\u76ee\u5f55\u7684\u5c42\u6b21\u63cf\u8ff0\u5b58\u50a8\u683c\u5f0f\u3002\n</p><p>\n\u4f20\u7edf\u4e0a\uff0c\u6570\u636e\u5e93\u96c6\u7c07\u6240\u4f7f\u7528\u7684\u914d\u7f6e\u6587\u4ef6\u548c\u6570\u636e\u6587\u4ef6\u90fd\u5b58\u653e\u5728\u96c6\u7c07\u7684\u6570\u636e\u76ee\u5f55\u4e2d\uff0c\u8fd9\u4e2a\u76ee\u5f55\u901a\u5e38\u79f0\u4e3a <code>PGDATA</code>\uff08\u540d\u5b57\u6765\u81ea\u53ef\u7528\u4e8e\u5b9a\u4e49\u5b83\u7684\u73af\u5883\u53d8\u91cf\uff09\u3002<code>PGDATA</code> \u7684\u4e00\u4e2a\u5e38\u89c1\u4f4d\u7f6e\u662f\n<code>/var/lib/pgsql/data</code>\u3002\u540c\u4e00\u53f0\u673a\u5668\u4e0a\u53ef\u4ee5\u5b58\u5728\u591a\u4e2a\u7531\u4e0d\u540c\u670d\u52a1\u5668\u5b9e\u4f8b\u7ba1\u7406\u7684\u96c6\u7c07\u3002\n</p><p>\n<code>PGDATA</code> \u76ee\u5f55\u5305\u542b\u82e5\u5e72\u5b50\u76ee\u5f55\u548c\u63a7\u5236\u6587\u4ef6\uff0c\u5982<a href=\"/docs/18/storage-file-layout.html#PGDATA-CONTENTS-TABLE\">\u8868\u00a066.1</a> \u6240\u793a\u3002\u9664\u8fd9\u4e9b\u5fc5\u9700\u9879\u4e4b\u5916\uff0c\u96c6\u7c07\u914d\u7f6e\u6587\u4ef6\n<code>postgresql.conf</code>\u3001<code>pg_hba.conf</code> \u548c\n<code>pg_ident.conf</code> \u4f20\u7edf\u4e0a\u4e5f\u5b58\u653e\u5728 <code>PGDATA</code>\n\u4e2d\uff0c\u4e0d\u8fc7\u4e5f\u53ef\u4ee5\u628a\u5b83\u4eec\u653e\u5728\u5176\u4ed6\u5730\u65b9\u3002\n</p><p>\n\u5bf9\u4e8e\u96c6\u7c07\u4e2d\u7684\u6bcf\u4e2a\u6570\u636e\u5e93\uff0c<code>PGDATA</code><code>/base</code>\n\u4e2d\u90fd\u6709\u4e00\u4e2a\u5b50\u76ee\u5f55\uff0c\u5176\u540d\u79f0\u662f\u8be5\u6570\u636e\u5e93\u5728 <code>pg_database</code>\n\u4e2d\u7684 OID\u3002\u8fd9\u4e2a\u5b50\u76ee\u5f55\u662f\u8be5\u6570\u636e\u5e93\u6587\u4ef6\u7684\u9ed8\u8ba4\u4f4d\u7f6e\uff1b\u7279\u522b\u662f\uff0c\u5b83\u7684\u7cfb\u7edf\u76ee\u5f55\u5c31\u5b58\u653e\u5728\u8fd9\u91cc\u3002\n</p><p><a href=\"/docs/18/storage-file-layout.html\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "comparison": {"left": "17", "right": "18", "status": "unchanged", "diff": ""}}