{"kind": "storage", "major": "18", "item": {"slug": "fork-main", "name": "main 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": "7ae9c9442d25c29671cd6b964beceee6cfb90c90dcedf070453a9617e527e9cb", "versions": {"10": {"facts": [{"label": "\u5173\u7cfb\u5206\u53c9", "value": "main"}], "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": "c97923edeea7f43ea6a06391887629a55bf7f036c2c54df5b45de10f5d3c2c38", "runtime_rerun": false, "authored_translation": "source-derived-identity", "source_facts_revision": "94a4b2528372458e5662c18d406629266667c437198160a18cdfd2c4a4d6eee9"}, "facts_zh": [{"label": "\u5173\u7cfb\u5206\u53c9", "value": "main"}], "sections": [], "center_zh": {"title": "main fork", "locale": "zh-Hans", "source": {"key": "fork-main", "locale": "zh-Hans", "version": "10", "text_hash": "0f0b291d70f4ec0c8b5b7c5002a25e5f46a94daf542cef08f1aa322723489428", "collection": "storage", "dataset_hash": "7c31b524dfe136022d39a6ae8dcfac6b3bbd5f8fdaf422536599981252aff0c9", "source_database": "center", "source_revision": "94a4b2528372458e5662c18d406629266667c437198160a18cdfd2c4a4d6eee9"}, "payload": {"facts": [{"label": "\u5173\u7cfb\u5206\u53c9", "value": "main"}], "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": "c97923edeea7f43ea6a06391887629a55bf7f036c2c54df5b45de10f5d3c2c38", "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-main\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-main\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": "5d31de2f651e6c9a9e2a8239a8e810338452aec1df9bfa4290f6e93c3d6fb9a0", "content_hash": "0f0b291d70f4ec0c8b5b7c5002a25e5f46a94daf542cef08f1aa322723489428", "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": "The pg_relation_filepath() function shows the entire path (relative to PGDATA ) of any relation. It is often useful as a substitute for remembering many of the above rules. But keep in mind that this function just gives the name of the first segment of the main fork of the relation \u2014 you may need to append a segment number and/or _fsm , _vm , or _init to find all the files associated with the relation.", "/versions/10/facts/0/label": "Fork", "/versions/10/related/0/label": "Database file layout"}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "1706a6fcc91b9488a7f18c37ab01fcc9137c733a663464430c42510a498d5795", "canonical_center_text_hash": "0f0b291d70f4ec0c8b5b7c5002a25e5f46a94daf542cef08f1aa322723489428"}, "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": "main"}, "comparison_hash": "9d354a5e3ce1acfea4ce84c5aa725c3ea2533ffd4a9717a0a64fba8f72e4706c", "manual_language": "zh", "description_zh_html": "<p>\u5b58\u50a8\u7ed3\u6784 fork-main\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": "main"}], "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": "35abae4d931c09c1fe025c8965d4c82c59c2d1f423ca927f19f186337ccb1e98", "runtime_rerun": false, "authored_translation": "source-derived-identity", "source_facts_revision": "2cb7c97d7a0d7278851bbc9c61f467b69c094c72b81740b751108e7892ebe1f0"}, "facts_zh": [{"label": "\u5173\u7cfb\u5206\u53c9", "value": "main"}], "sections": [], "center_zh": {"title": "main fork", "locale": "zh-Hans", "source": {"key": "fork-main", "locale": "zh-Hans", "version": "11", "text_hash": "6913ea5987f0f2b6d7762291ded52fb8467421485ef09222cc4e91a25f6cd888", "collection": "storage", "dataset_hash": "7c31b524dfe136022d39a6ae8dcfac6b3bbd5f8fdaf422536599981252aff0c9", "source_database": "center", "source_revision": "2cb7c97d7a0d7278851bbc9c61f467b69c094c72b81740b751108e7892ebe1f0"}, "payload": {"facts": [{"label": "\u5173\u7cfb\u5206\u53c9", "value": "main"}], "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": "35abae4d931c09c1fe025c8965d4c82c59c2d1f423ca927f19f186337ccb1e98", "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-main\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-main\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": "9d61b7973b756fc7c4517bbc595747d1bd18deb64417c46e163812f8d37a5311", "content_hash": "6913ea5987f0f2b6d7762291ded52fb8467421485ef09222cc4e91a25f6cd888", "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": "The pg_relation_filepath() function shows the entire path (relative to PGDATA ) of any relation. It is often useful as a substitute for remembering many of the above rules. But keep in mind that this function just gives the name of the first segment of the main fork of the relation \u2014 you may need to append a segment number and/or _fsm , _vm , or _init to find all the files associated with the relation.", "/versions/11/facts/0/label": "Fork", "/versions/11/related/0/label": "Database file layout"}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "aa9e1d0590a071b0dc52c8e5f0d4f4121a03d0549a2398a7e31b80f9de9752d5", "canonical_center_text_hash": "6913ea5987f0f2b6d7762291ded52fb8467421485ef09222cc4e91a25f6cd888"}, "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": "main"}, "comparison_hash": "9d354a5e3ce1acfea4ce84c5aa725c3ea2533ffd4a9717a0a64fba8f72e4706c", "manual_language": "zh", "description_zh_html": "<p>\u5b58\u50a8\u7ed3\u6784 fork-main\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": "main"}], "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": "a2fa4fceb81da76638081c47faf46a6afd00f2f7788f7e9135d1e73f046c374b", "runtime_rerun": false, "authored_translation": "source-derived-identity", "source_facts_revision": "8df3c0474782589d3c6f374b5133b1bd14d168086edbc13c6e72e67dd4527a3b"}, "facts_zh": [{"label": "\u5173\u7cfb\u5206\u53c9", "value": "main"}], "sections": [], "center_zh": {"title": "main fork", "locale": "zh-Hans", "source": {"key": "fork-main", "locale": "zh-Hans", "version": "12", "text_hash": "70382df648384434fb320fa619967c072e7218a8fb0782dd819700d007d079ea", "collection": "storage", "dataset_hash": "7c31b524dfe136022d39a6ae8dcfac6b3bbd5f8fdaf422536599981252aff0c9", "source_database": "center", "source_revision": "8df3c0474782589d3c6f374b5133b1bd14d168086edbc13c6e72e67dd4527a3b"}, "payload": {"facts": [{"label": "\u5173\u7cfb\u5206\u53c9", "value": "main"}], "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": "a2fa4fceb81da76638081c47faf46a6afd00f2f7788f7e9135d1e73f046c374b", "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-main\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-main\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": "fb8c3307a808d6960e39ad53e122dc5b63117c0d0b3f472e7e75027a654459a1", "content_hash": "70382df648384434fb320fa619967c072e7218a8fb0782dd819700d007d079ea", "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": "The pg_relation_filepath() function shows the entire path (relative to PGDATA ) of any relation. It is often useful as a substitute for remembering many of the above rules. But keep in mind that this function just gives the name of the first segment of the main fork of the relation \u2014 you may need to append a segment number and/or _fsm , _vm , or _init to find all the files associated with the relation.", "/versions/12/facts/0/label": "Fork", "/versions/12/related/0/label": "Database file layout"}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "c8a39a0f101993c59cc95454a48d67c4b08f1f32eb01fe467e265f3d0491713a", "canonical_center_text_hash": "70382df648384434fb320fa619967c072e7218a8fb0782dd819700d007d079ea"}, "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": "main"}, "comparison_hash": "9d354a5e3ce1acfea4ce84c5aa725c3ea2533ffd4a9717a0a64fba8f72e4706c", "manual_language": "zh", "description_zh_html": "<p>\u5b58\u50a8\u7ed3\u6784 fork-main\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": "main"}], "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": "924be18baa14faf178d0b43238b8f272ef663343086e75f6dc8b626b530079e6", "runtime_rerun": false, "authored_translation": "source-derived-identity", "source_facts_revision": "6ec3c82726af92b7dec873fa1cdf881eca92a4219787dfad05acb6b10e041fd6"}, "facts_zh": [{"label": "\u5173\u7cfb\u5206\u53c9", "value": "main"}], "sections": [], "center_zh": {"title": "main fork", "locale": "zh-Hans", "source": {"key": "fork-main", "locale": "zh-Hans", "version": "13", "text_hash": "62689607cd844c76b967e71a20fa46c7fb5b9d3f8945116d15756902212b7b37", "collection": "storage", "dataset_hash": "7c31b524dfe136022d39a6ae8dcfac6b3bbd5f8fdaf422536599981252aff0c9", "source_database": "center", "source_revision": "6ec3c82726af92b7dec873fa1cdf881eca92a4219787dfad05acb6b10e041fd6"}, "payload": {"facts": [{"label": "\u5173\u7cfb\u5206\u53c9", "value": "main"}], "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": "924be18baa14faf178d0b43238b8f272ef663343086e75f6dc8b626b530079e6", "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-main\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-main\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": "006c90bfc703a2890bd1855b39edeb3a7e469aa4a23b3d8d903b7adde8e73547", "content_hash": "62689607cd844c76b967e71a20fa46c7fb5b9d3f8945116d15756902212b7b37", "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": "The pg_relation_filepath() function shows the entire path (relative to PGDATA ) of any relation. It is often useful as a substitute for remembering many of the above rules. But keep in mind that this function just gives the name of the first segment of the main fork of the relation \u2014 you may need to append a segment number and/or _fsm , _vm , or _init to find all the files associated with the relation.", "/versions/13/facts/0/label": "Fork", "/versions/13/related/0/label": "Database file layout"}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "21f3a490707a0cc221d3504e0f5b2fb97db1563364e5bc9d025a688c21146712", "canonical_center_text_hash": "62689607cd844c76b967e71a20fa46c7fb5b9d3f8945116d15756902212b7b37"}, "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": "main"}, "comparison_hash": "9d354a5e3ce1acfea4ce84c5aa725c3ea2533ffd4a9717a0a64fba8f72e4706c", "manual_language": "zh", "description_zh_html": "<p>\u5b58\u50a8\u7ed3\u6784 fork-main\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": "main"}], "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": "c2465157ea37a6d6713be458cc61451c1e8e08f231600544464c64031b3ace3a", "runtime_rerun": false, "authored_translation": "source-derived-identity", "source_facts_revision": "a7fa7ed3d558172355f51406097a7bd4f6b473be80f311ef7cda96bf383d8897"}, "facts_zh": [{"label": "\u5173\u7cfb\u5206\u53c9", "value": "main"}], "sections": [], "center_zh": {"title": "main fork", "locale": "zh-Hans", "source": {"key": "fork-main", "locale": "zh-Hans", "version": "14", "text_hash": "d86f448cc86aeca2dd7672610368a75c35ffb66b4e697c4b7ea9e53b46f212ba", "collection": "storage", "dataset_hash": "7c31b524dfe136022d39a6ae8dcfac6b3bbd5f8fdaf422536599981252aff0c9", "source_database": "center", "source_revision": "a7fa7ed3d558172355f51406097a7bd4f6b473be80f311ef7cda96bf383d8897"}, "payload": {"facts": [{"label": "\u5173\u7cfb\u5206\u53c9", "value": "main"}], "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": "c2465157ea37a6d6713be458cc61451c1e8e08f231600544464c64031b3ace3a", "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-main\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-main\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": "49aabd0e3de3e8576caff629315972189b24b66dabf7079291a8fc0570e9c67d", "content_hash": "d86f448cc86aeca2dd7672610368a75c35ffb66b4e697c4b7ea9e53b46f212ba", "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": "The pg_relation_filepath() function shows the entire path (relative to PGDATA ) of any relation. It is often useful as a substitute for remembering many of the above rules. But keep in mind that this function just gives the name of the first segment of the main fork of the relation \u2014 you may need to append a segment number and/or _fsm , _vm , or _init to find all the files associated with the relation.", "/versions/14/facts/0/label": "Fork", "/versions/14/related/0/label": "Database file layout"}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "b067eea2febc6d64c8cab6aa52995fb41e461d234d5ff641aceead7329db8eab", "canonical_center_text_hash": "d86f448cc86aeca2dd7672610368a75c35ffb66b4e697c4b7ea9e53b46f212ba"}, "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": "main"}, "comparison_hash": "9d354a5e3ce1acfea4ce84c5aa725c3ea2533ffd4a9717a0a64fba8f72e4706c", "manual_language": "zh", "description_zh_html": "<p>\u5b58\u50a8\u7ed3\u6784 fork-main\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": "main"}], "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": "dcca6d19a02b3403ddfb8748ef11eb7c5e1813c76e595c1ceb99bb21b955ef0a", "runtime_rerun": false, "authored_translation": "source-derived-identity", "source_facts_revision": "e1a64a87a46b825b88c082e4518161a47aab53c45694964f8ba1df28f7859f89"}, "facts_zh": [{"label": "\u5173\u7cfb\u5206\u53c9", "value": "main"}], "sections": [], "center_zh": {"title": "main fork", "locale": "zh-Hans", "source": {"key": "fork-main", "locale": "zh-Hans", "version": "15", "text_hash": "a5326b3f8c335646a2b32a96585e4d94561ee246c4fc961c0af5151560e7b07a", "collection": "storage", "dataset_hash": "7c31b524dfe136022d39a6ae8dcfac6b3bbd5f8fdaf422536599981252aff0c9", "source_database": "center", "source_revision": "e1a64a87a46b825b88c082e4518161a47aab53c45694964f8ba1df28f7859f89"}, "payload": {"facts": [{"label": "\u5173\u7cfb\u5206\u53c9", "value": "main"}], "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": "dcca6d19a02b3403ddfb8748ef11eb7c5e1813c76e595c1ceb99bb21b955ef0a", "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-main\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-main\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": "dacb3718a286685dc84afc800a42a36ce50e332203920ce8c826ba395d080a51", "content_hash": "a5326b3f8c335646a2b32a96585e4d94561ee246c4fc961c0af5151560e7b07a", "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": "The pg_relation_filepath() function shows the entire path (relative to PGDATA ) of any relation. It is often useful as a substitute for remembering many of the above rules. But keep in mind that this function just gives the name of the first segment of the main fork of the relation \u2014 you may need to append a segment number and/or _fsm , _vm , or _init to find all the files associated with the relation.", "/versions/15/facts/0/label": "Fork", "/versions/15/related/0/label": "Database file layout"}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "a89d1cdd4f1ba2f7b1645ef4e4eea3f41969164ac45bb76eb1de862b32b59dd6", "canonical_center_text_hash": "a5326b3f8c335646a2b32a96585e4d94561ee246c4fc961c0af5151560e7b07a"}, "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": "main"}, "comparison_hash": "9d354a5e3ce1acfea4ce84c5aa725c3ea2533ffd4a9717a0a64fba8f72e4706c", "manual_language": "zh", "description_zh_html": "<p>\u5b58\u50a8\u7ed3\u6784 fork-main\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": "main"}], "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": "70a2c520b2b5ba3c41477010ee2966dd6b5cc64cea5420eb50d6c362ad01b156", "runtime_rerun": false, "authored_translation": "source-derived-identity", "source_facts_revision": "c1575341fa7bd40f5274ea465b34390f4dc64cdd0770af327005caaeb9f6b7ed"}, "facts_zh": [{"label": "\u5173\u7cfb\u5206\u53c9", "value": "main"}], "sections": [], "center_zh": {"title": "main fork", "locale": "zh-Hans", "source": {"key": "fork-main", "locale": "zh-Hans", "version": "16", "text_hash": "eddb0d1976a60976d2dcb3734b004355b67bae45b0f4524c8fac867f213e1328", "collection": "storage", "dataset_hash": "7c31b524dfe136022d39a6ae8dcfac6b3bbd5f8fdaf422536599981252aff0c9", "source_database": "center", "source_revision": "c1575341fa7bd40f5274ea465b34390f4dc64cdd0770af327005caaeb9f6b7ed"}, "payload": {"facts": [{"label": "\u5173\u7cfb\u5206\u53c9", "value": "main"}], "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": "70a2c520b2b5ba3c41477010ee2966dd6b5cc64cea5420eb50d6c362ad01b156", "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-main\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-main\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": "cbaa8c2d74c60a64bbacb4c3f0be65263f8d79aeac9198352ace165b9eeaf4b8", "content_hash": "eddb0d1976a60976d2dcb3734b004355b67bae45b0f4524c8fac867f213e1328", "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": "The pg_relation_filepath() function shows the entire path (relative to PGDATA ) of any relation. It is often useful as a substitute for remembering many of the above rules. But keep in mind that this function just gives the name of the first segment of the main fork of the relation \u2014 you may need to append a segment number and/or _fsm , _vm , or _init to find all the files associated with the relation.", "/versions/16/facts/0/label": "Fork", "/versions/16/related/0/label": "Database file layout"}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "865727af172c607d22101ce99036544837ddabe5e12034e6cb8cf528b7c5afce", "canonical_center_text_hash": "eddb0d1976a60976d2dcb3734b004355b67bae45b0f4524c8fac867f213e1328"}, "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": "main"}, "comparison_hash": "9d354a5e3ce1acfea4ce84c5aa725c3ea2533ffd4a9717a0a64fba8f72e4706c", "manual_language": "zh", "description_zh_html": "<p>\u5b58\u50a8\u7ed3\u6784 fork-main\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": "main"}], "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": "2802d263b0fcf18fcffac1381f73f8956b122772ec08e4adc6dbe55e57f66eda", "runtime_rerun": false, "authored_translation": "source-derived-identity", "source_facts_revision": "dd27f2b3c59e73ed14aa3324901242bf69a032a6347805f274e6260322d42979"}, "facts_zh": [{"label": "\u5173\u7cfb\u5206\u53c9", "value": "main"}], "sections": [], "center_zh": {"title": "main fork", "locale": "zh-Hans", "source": {"key": "fork-main", "locale": "zh-Hans", "version": "17", "text_hash": "f9218355c270af929e3e0f68740de69dee6d404aacde5cf13e9795443e7c463c", "collection": "storage", "dataset_hash": "7c31b524dfe136022d39a6ae8dcfac6b3bbd5f8fdaf422536599981252aff0c9", "source_database": "center", "source_revision": "dd27f2b3c59e73ed14aa3324901242bf69a032a6347805f274e6260322d42979"}, "payload": {"facts": [{"label": "\u5173\u7cfb\u5206\u53c9", "value": "main"}], "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": "2802d263b0fcf18fcffac1381f73f8956b122772ec08e4adc6dbe55e57f66eda", "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-main\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-main\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": "7f37468859a00d8537b992af1e60c290bc96b48b9649d86627dafe32164324cc", "content_hash": "f9218355c270af929e3e0f68740de69dee6d404aacde5cf13e9795443e7c463c", "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": "The pg_relation_filepath() function shows the entire path (relative to PGDATA ) of any relation. It is often useful as a substitute for remembering many of the above rules. But keep in mind that this function just gives the name of the first segment of the main fork of the relation \u2014 you may need to append a segment number and/or _fsm , _vm , or _init to find all the files associated with the relation.", "/versions/17/facts/0/label": "Fork", "/versions/17/related/0/label": "Database file layout"}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "f8a094a17eb99d584dd26d346a455a4bbe1eed7a67dbfb250b7a993f58108be6", "canonical_center_text_hash": "f9218355c270af929e3e0f68740de69dee6d404aacde5cf13e9795443e7c463c"}, "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": "main"}, "comparison_hash": "9d354a5e3ce1acfea4ce84c5aa725c3ea2533ffd4a9717a0a64fba8f72e4706c", "manual_language": "zh", "description_zh_html": "<p>\u5b58\u50a8\u7ed3\u6784 fork-main\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": "main"}], "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": "f70fa809f3aed2bebb477c6adabd2466b1d2da4e737ed204ddf53aa5b807e3c8", "runtime_rerun": false, "authored_translation": "source-derived-identity", "source_facts_revision": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f"}, "facts_zh": [{"label": "\u5173\u7cfb\u5206\u53c9", "value": "main"}], "sections": [], "center_zh": {"title": "main fork", "locale": "zh-Hans", "source": {"key": "fork-main", "locale": "zh-Hans", "version": "18", "text_hash": "785f61552bca632da9bca4da9b65a521d15b6a75bb96b00971ced74edf07dfce", "collection": "storage", "dataset_hash": "7c31b524dfe136022d39a6ae8dcfac6b3bbd5f8fdaf422536599981252aff0c9", "source_database": "center", "source_revision": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f"}, "payload": {"facts": [{"label": "\u5173\u7cfb\u5206\u53c9", "value": "main"}], "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": "f70fa809f3aed2bebb477c6adabd2466b1d2da4e737ed204ddf53aa5b807e3c8", "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-main\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-main\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": "18d6a7a77230ff11aafd5dc56735d0de9237b896fdb462c06e030de6cc948dd4", "content_hash": "785f61552bca632da9bca4da9b65a521d15b6a75bb96b00971ced74edf07dfce", "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": "The pg_relation_filepath() function shows the entire path (relative to PGDATA ) of any relation. It is often useful as a substitute for remembering many of the above rules. But keep in mind that this function just gives the name of the first segment of the main fork of the relation \u2014 you may need to append a segment number and/or _fsm , _vm , or _init to find all the files associated with the relation.", "/versions/18/facts/0/label": "Fork", "/versions/18/related/0/label": "Database file layout"}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "f8edf53ee2c0aa621d8a7f1bcf834eff5b6d06d46b458f1c29a8b9fd3ec62bc1", "canonical_center_text_hash": "785f61552bca632da9bca4da9b65a521d15b6a75bb96b00971ced74edf07dfce"}, "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": "main"}, "comparison_hash": "9d354a5e3ce1acfea4ce84c5aa725c3ea2533ffd4a9717a0a64fba8f72e4706c", "manual_language": "zh", "description_zh_html": "<p>\u5b58\u50a8\u7ed3\u6784 fork-main\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-main\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": "main"}], "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": "1391aa863a6162eda47ea5fa31800b073ee5858338927ad4cc8df54dfab8db19", "runtime_rerun": false, "authored_translation": "source-derived-identity", "source_facts_revision": "af105fc8e960fc836a09fc2cd7f582b49fd17675d9d36631abe3a565bfd7d701"}, "facts_zh": [{"label": "\u5173\u7cfb\u5206\u53c9", "value": "main"}], "sections": [], "center_zh": {"title": "main fork", "locale": "zh-Hans", "source": {"key": "fork-main", "locale": "zh-Hans", "version": "19", "text_hash": "4df0874cadaefbfb38e3056e284acbcdefa0d752bb171874a8a53023350713fb", "collection": "storage", "dataset_hash": "7c31b524dfe136022d39a6ae8dcfac6b3bbd5f8fdaf422536599981252aff0c9", "source_database": "center", "source_revision": "af105fc8e960fc836a09fc2cd7f582b49fd17675d9d36631abe3a565bfd7d701"}, "payload": {"facts": [{"label": "\u5173\u7cfb\u5206\u53c9", "value": "main"}], "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": "1391aa863a6162eda47ea5fa31800b073ee5858338927ad4cc8df54dfab8db19", "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-main\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-main\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": "6029a4c641dea02c921f02f3c650ee72856c4dc2d71c817269ebad5c64b9427b", "content_hash": "4df0874cadaefbfb38e3056e284acbcdefa0d752bb171874a8a53023350713fb", "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": "The pg_relation_filepath() function shows the entire path (relative to PGDATA ) of any relation. It is often useful as a substitute for remembering many of the above rules. But keep in mind that this function just gives the name of the first segment of the main fork of the relation \u2014 you may need to append a segment number and/or _fsm , _vm , or _init to find all the files associated with the relation.", "/versions/19/facts/0/label": "Fork", "/versions/19/related/0/label": "Database file layout"}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "a4e6385d4809da26b5628e424929b885b1886ea0ab6b580a230ccea2c9358ada", "canonical_center_text_hash": "4df0874cadaefbfb38e3056e284acbcdefa0d752bb171874a8a53023350713fb"}, "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": "main"}, "comparison_hash": "9d354a5e3ce1acfea4ce84c5aa725c3ea2533ffd4a9717a0a64fba8f72e4706c", "manual_language": "zh", "description_zh_html": "<p>\u5b58\u50a8\u7ed3\u6784 fork-main\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": "main"}], "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": "bc5f9012409f870ce6727bc1953ea33548927216a0af3552ed54f6297ff78614", "runtime_rerun": false, "authored_translation": "source-derived-identity", "source_facts_revision": "49c73aa4c9cacef8ca979276a28ac416c08e9e54c9baee4ae5fd116a35fa13ac"}, "facts_zh": [{"label": "\u5173\u7cfb\u5206\u53c9", "value": "main"}], "sections": [], "center_zh": {"title": "main fork", "locale": "zh-Hans", "source": {"key": "fork-main", "locale": "zh-Hans", "version": "20", "text_hash": "4c75b260876e72d89a23cf50c4317f7eb774bd3c1929450ac38ce14bc29f6ff7", "collection": "storage", "dataset_hash": "7c31b524dfe136022d39a6ae8dcfac6b3bbd5f8fdaf422536599981252aff0c9", "source_database": "center", "source_revision": "49c73aa4c9cacef8ca979276a28ac416c08e9e54c9baee4ae5fd116a35fa13ac"}, "payload": {"facts": [{"label": "\u5173\u7cfb\u5206\u53c9", "value": "main"}], "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": "bc5f9012409f870ce6727bc1953ea33548927216a0af3552ed54f6297ff78614", "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-main\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-main\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": "0547d51df85020ba53194c5f37a774ee58d2a4b624215425cc3fddd07b46b553", "content_hash": "4c75b260876e72d89a23cf50c4317f7eb774bd3c1929450ac38ce14bc29f6ff7", "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": "The pg_relation_filepath() function shows the entire path (relative to PGDATA ) of any relation. It is often useful as a substitute for remembering many of the above rules. But keep in mind that this function just gives the name of the first segment of the main fork of the relation \u2014 you may need to append a segment number and/or _fsm , _vm , or _init to find all the files associated with the relation.", "/versions/20/facts/0/label": "Fork", "/versions/20/related/0/label": "Database file layout"}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "c5f3a6527d61a34b1fe1a9e8319fe11ad0d6debb80e47a8de30d1be8322c0e16", "canonical_center_text_hash": "4c75b260876e72d89a23cf50c4317f7eb774bd3c1929450ac38ce14bc29f6ff7"}, "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": "main"}, "comparison_hash": "9d354a5e3ce1acfea4ce84c5aa725c3ea2533ffd4a9717a0a64fba8f72e4706c", "manual_language": "zh", "description_zh_html": "<p>\u5b58\u50a8\u7ed3\u6784 fork-main\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": "main"}], "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": "f70fa809f3aed2bebb477c6adabd2466b1d2da4e737ed204ddf53aa5b807e3c8", "runtime_rerun": false, "authored_translation": "source-derived-identity", "source_facts_revision": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f"}, "facts_zh": [{"label": "\u5173\u7cfb\u5206\u53c9", "value": "main"}], "sections": [], "center_zh": {"title": "main fork", "locale": "zh-Hans", "source": {"key": "fork-main", "locale": "zh-Hans", "version": "18", "text_hash": "785f61552bca632da9bca4da9b65a521d15b6a75bb96b00971ced74edf07dfce", "collection": "storage", "dataset_hash": "7c31b524dfe136022d39a6ae8dcfac6b3bbd5f8fdaf422536599981252aff0c9", "source_database": "center", "source_revision": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f"}, "payload": {"facts": [{"label": "\u5173\u7cfb\u5206\u53c9", "value": "main"}], "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": "f70fa809f3aed2bebb477c6adabd2466b1d2da4e737ed204ddf53aa5b807e3c8", "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-main\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-main\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": "18d6a7a77230ff11aafd5dc56735d0de9237b896fdb462c06e030de6cc948dd4", "content_hash": "785f61552bca632da9bca4da9b65a521d15b6a75bb96b00971ced74edf07dfce", "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": "The pg_relation_filepath() function shows the entire path (relative to PGDATA ) of any relation. It is often useful as a substitute for remembering many of the above rules. But keep in mind that this function just gives the name of the first segment of the main fork of the relation \u2014 you may need to append a segment number and/or _fsm , _vm , or _init to find all the files associated with the relation.", "/versions/18/facts/0/label": "Fork", "/versions/18/related/0/label": "Database file layout"}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "f8edf53ee2c0aa621d8a7f1bcf834eff5b6d06d46b458f1c29a8b9fd3ec62bc1", "canonical_center_text_hash": "785f61552bca632da9bca4da9b65a521d15b6a75bb96b00971ced74edf07dfce"}, "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": "main"}, "comparison_hash": "9d354a5e3ce1acfea4ce84c5aa725c3ea2533ffd4a9717a0a64fba8f72e4706c", "manual_language": "zh", "description_zh_html": "<p>\u5b58\u50a8\u7ed3\u6784 fork-main\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-main\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": ""}}