{"kind": "storage", "major": "18", "item": {"slug": "storage-page-layout", "name": "Database Page Layout", "name_zh": "", "category": "\u7269\u7406\u7ed3\u6784", "summary": "\u672c\u8282\u6982\u8ff0 PostgreSQL \u8868\u548c\u7d22\u5f15\u5185\u90e8\u6240\u4f7f\u7528\u7684\u9875\u9762\u683c\u5f0f\u3002 [19] \u5e8f\u5217\u548c TOAST \u8868\u7684\u683c\u5f0f\u4e0e\u666e\u901a\u8868\u76f8\u540c\u3002 \u5728\u4e0b\u9762\u7684\u8bf4\u660e\u4e2d\uff0c\u5047\u5b9a\u4e00\u4e2a \u5b57\u8282 \u5305\u542b 8 \u4e2a\u4f4d\u3002\u53e6\u5916\uff0c\u672f\u8bed \u9879 \u6307\u7684\u662f\u5b58\u50a8\u5728\u9875\u9762\u4e0a\u7684\u5355\u4e2a\u6570\u636e\u503c\u3002\u5728\u8868\u4e2d\uff0c\u9879\u662f\u4e00\u884c\uff1b\u5728\u7d22\u5f15\u4e2d\uff0c\u9879\u662f\u4e00\u6761\u7d22\u5f15\u6761\u76ee\u3002 \u6bcf\u4e2a\u8868\u548c\u7d22\u5f15\u90fd\u5b58\u50a8\u4e3a\u56fa\u5b9a\u5927\u5c0f\u7684 \u9875\u9762 \u6570\u7ec4\uff08\u901a\u5e38\u4e3a 8 kB\uff0c\u4e0d\u8fc7\u5728\u7f16\u8bd1\u670d\u52a1\u5668\u65f6\u53ef\u4ee5\u9009\u62e9\u4e0d\u540c\u7684\u9875\u9762\u5927\u5c0f\uff09\u3002\u5728\u8868\u4e2d\uff0c\u6240\u6709\u9875\u9762\u5728\u903b\u8f91\u4e0a\u90fd\u662f\u7b49\u4ef7\u7684\uff0c\u56e0\u6b64\u67d0\u4e2a\u7279\u5b9a\u9879\uff08\u884c\uff09\u53ef\u4ee5\u5b58\u653e\u5728\u4efb\u610f\u9875\u9762\u4e2d\u3002\u5728\u7d22\u5f15\u4e2d\uff0c\u7b2c\u4e00\u9875\u901a\u5e38\u4fdd\u7559\u4e3a \u5143\u9875 \uff0c\u7528\u4e8e\u4fdd\u5b58\u63a7\u5236\u4fe1\u606f\uff1b\u5e76\u4e14\u6839\u636e\u7d22\u5f15\u8bbf\u95ee\u65b9\u6cd5\u7684\u4e0d\u540c\uff0c\u7d22\u5f15\u4e2d\u8fd8\u53ef\u80fd\u5b58\u5728\u4e0d\u540c\u7c7b\u578b\u7684\u9875\u9762\u3002 \u8868 66.2 \u5c55\u793a\u4e86\u9875\u9762\u7684\u603b\u4f53\u5e03\u5c40\u3002\u6bcf\u4e2a\u9875\u9762\u5305\u542b\u4e94\u4e2a\u90e8\u5206\u3002", "aliases": [], "content_hash": "845228547f5615cea132a748465b179f6ae7dcd8d2a11405887e74118b1d044e", "versions": {"10": {"facts": [{"label": "\u5b9a\u4e49\u8303\u56f4", "value": "\u540c\u7248\u672c\u6838\u5fc3\u7269\u7406\u5b58\u50a8\u6587\u6863"}], "tables": [{"key": "layout-0", "rows": [{"c0": "PageHeaderData", "c1": "\u957f 24 \u5b57\u8282\uff0c\u5305\u542b\u9875\u9762\u7684\u901a\u7528\u4fe1\u606f\uff0c\u4f8b\u5982\u7a7a\u95f2\u7a7a\u95f4\u6307\u9488\u3002"}, {"c0": "ItemIdData", "c1": "\u6307\u5411\u5b9e\u9645\u6570\u636e\u9879\u7684\u884c\u6307\u9488\u6570\u7ec4\u3002\u6bcf\u9879\u4e3a\u4e00\u4e2a\uff08\u504f\u79fb\uff0c\u957f\u5ea6\uff09\u5bf9\uff0c\u5360 4 \u5b57\u8282\u3002"}, {"c0": "\u7a7a\u95f2\u7a7a\u95f4", "c1": "\u5c1a\u672a\u5206\u914d\u7684\u7a7a\u95f4\u3002\u65b0\u884c\u6307\u9488\u4ece\u8be5\u533a\u57df\u7684\u8d77\u59cb\u5904\u5206\u914d\uff0c\u65b0\u6570\u636e\u9879\u4ece\u672b\u5c3e\u5904\u5206\u914d\u3002"}, {"c0": "\u9879", "c1": "\u5b9e\u9645\u7684\u6570\u636e\u9879\u672c\u8eab\u3002"}, {"c0": "\u7279\u6b8a\u7a7a\u95f4", "c1": "\u7d22\u5f15\u8bbf\u95ee\u65b9\u6cd5\u4e13\u7528\u6570\u636e\u3002\u4e0d\u540c\u65b9\u6cd5\u5b58\u50a8\u7684\u5185\u5bb9\u4e0d\u540c\uff0c\u666e\u901a\u8868\u4e2d\u6b64\u533a\u57df\u4e3a\u7a7a\u3002"}], "title": "\u9875\u9762\u603b\u4f53\u5e03\u5c40", "columns": [{"key": "c0", "label": "\u9879\u76ee"}, {"key": "c1", "label": "\u8bf4\u660e"}]}, {"key": "layout-1", "rows": [{"c0": "pd_lsn", "c1": "PageXLogRecPtr", "c2": "8 \u5b57\u8282", "c3": "LSN\uff1a\u8be5\u9875\u6700\u540e\u4e00\u6b21\u53d8\u5316\u6240\u5bf9\u5e94 WAL \u8bb0\u5f55\u7684\u6700\u540e\u4e00\u4e2a\u5b57\u8282\u4e4b\u540e\u7684\u4f4d\u7f6e\u3002"}, {"c0": "pd_checksum", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u9875\u9762\u6821\u9a8c\u548c"}, {"c0": "pd_flags", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u6807\u5fd7\u4f4d"}, {"c0": "pd_lower", "c1": "LocationIndex", "c2": "2 \u5b57\u8282", "c3": "\u7a7a\u95f2\u7a7a\u95f4\u8d77\u59cb\u4f4d\u7f6e\u7684\u504f\u79fb\u91cf"}, {"c0": "pd_upper", "c1": "LocationIndex", "c2": "2 \u5b57\u8282", "c3": "\u7a7a\u95f2\u7a7a\u95f4\u7ed3\u675f\u4f4d\u7f6e\u7684\u504f\u79fb\u91cf"}, {"c0": "pd_special", "c1": "LocationIndex", "c2": "2 \u5b57\u8282", "c3": "\u7279\u6b8a\u7a7a\u95f4\u8d77\u59cb\u4f4d\u7f6e\u7684\u504f\u79fb\u91cf"}, {"c0": "pd_pagesize_version", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u9875\u9762\u5927\u5c0f\u4e0e\u5e03\u5c40\u7248\u672c\u53f7\u4fe1\u606f"}, {"c0": "pd_prune_xid", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "\u9875\u9762\u4e0a\u6700\u65e9\u7684\u5c1a\u672a\u4fee\u526a\u7684 XMAX\uff1b\u6ca1\u6709\u5219\u4e3a\u96f6"}], "title": "PageHeaderData \u5e03\u5c40", "columns": [{"key": "c0", "label": "\u5b57\u6bb5"}, {"key": "c1", "label": "\u7c7b\u578b"}, {"key": "c2", "label": "\u957f\u5ea6"}, {"key": "c3", "label": "\u8bf4\u660e"}]}, {"key": "layout-2", "rows": [{"c0": "t_xmin", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "\u63d2\u5165\u4e8b\u52a1\u7684 XID"}, {"c0": "t_xmax", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "\u5220\u9664\u4e8b\u52a1\u7684 XID"}, {"c0": "t_cid", "c1": "CommandId", "c2": "4 \u5b57\u8282", "c3": "\u63d2\u5165\u548c\uff0f\u6216\u5220\u9664\u547d\u4ee4\u7684 CID\uff0c\u4e0e t_xvac \u5171\u7528\u5b58\u50a8\u4f4d\u7f6e"}, {"c0": "t_xvac", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "VACUUM \u64cd\u4f5c\u79fb\u52a8\u884c\u7248\u672c\u65f6\u4f7f\u7528\u7684 XID"}, {"c0": "t_ctid", "c1": "ItemPointerData", "c2": "6 \u5b57\u8282", "c3": "\u672c\u884c\u7248\u672c\u6216\u8f83\u65b0\u884c\u7248\u672c\u7684\u5f53\u524d TID"}, {"c0": "t_infomask2", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u5c5e\u6027\u6570\u91cf\u53ca\u5404\u79cd\u6807\u5fd7\u4f4d"}, {"c0": "t_infomask", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u5404\u79cd\u6807\u5fd7\u4f4d"}, {"c0": "t_hoff", "c1": "uint8", "c2": "1 \u5b57\u8282", "c3": "\u7528\u6237\u6570\u636e\u7684\u504f\u79fb\u91cf"}], "title": "HeapTupleHeaderData \u5e03\u5c40", "columns": [{"key": "c0", "label": "\u5b57\u6bb5"}, {"key": "c1", "label": "\u7c7b\u578b"}, {"key": "c2", "label": "\u957f\u5ea6"}, {"key": "c3", "label": "\u8bf4\u660e"}]}], "diagram": "page-layout", "related": [{"url": "/wiki/relopts/?v=10", "label": "\u5b58\u50a8\u53c2\u6570"}], "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-page-layout.html", "path": "storage-page-layout.html", "label": "PostgreSQL 10 English manual", "sha256": "d3caf82da1c279a219594b5caf0d00338c183e5d44c9f7ce07977a92e83010a5"}], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-identity", "manual": {"url": "/zh/docs/10/storage-page-layout.html", "anchor": "", "locale": "zh-Hans", "version": "10", "build_id": 63, "page_key": "storage-page-layout.html", "extraction": "concept-introduction", "source_hash": "b8949b26fdf21380f1b2b39201a3f23ceaf12617f02f0099d2cdaccacb0d45eb", "fragment_sha256": "514e2e3466980f414b9d97354c1d95b6733a9fb86be8f308fa7e9608a9ff95f7", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "snapshot:sha256:62997ea80516ad012fbf6359de33f3b016b54c47e2df76e75606116b4baaf8e5", "translated_from_revision": null}, "body_sha256": "8f35ee0c3602516d3a047010c6b6a46d1fe718965dd62ac62509b3f8c91490d1", "runtime_rerun": false, "authored_translation": "source-derived-identity", "source_facts_revision": "94a4b2528372458e5662c18d406629266667c437198160a18cdfd2c4a4d6eee9"}, "facts_zh": [{"label": "\u5b9a\u4e49\u8303\u56f4", "value": "\u540c\u7248\u672c\u6838\u5fc3\u7269\u7406\u5b58\u50a8\u6587\u6863"}], "sections": [], "center_zh": {"title": "Database Page Layout", "locale": "zh-Hans", "source": {"key": "storage-page-layout", "locale": "zh-Hans", "version": "10", "text_hash": "e332b253ca55b48836038ce0dfbe1e023942f07dc8ddda753368185a8d085525", "collection": "storage", "dataset_hash": "7c31b524dfe136022d39a6ae8dcfac6b3bbd5f8fdaf422536599981252aff0c9", "source_database": "center", "source_revision": "94a4b2528372458e5662c18d406629266667c437198160a18cdfd2c4a4d6eee9"}, "payload": {"facts": [{"label": "\u5b9a\u4e49\u8303\u56f4", "value": "\u540c\u7248\u672c\u6838\u5fc3\u7269\u7406\u5b58\u50a8\u6587\u6863"}], "tables": [{"key": "layout-0", "rows": [{"c0": "PageHeaderData", "c1": "\u957f 24 \u5b57\u8282\uff0c\u5305\u542b\u9875\u9762\u7684\u901a\u7528\u4fe1\u606f\uff0c\u4f8b\u5982\u7a7a\u95f2\u7a7a\u95f4\u6307\u9488\u3002"}, {"c0": "ItemIdData", "c1": "\u6307\u5411\u5b9e\u9645\u6570\u636e\u9879\u7684\u884c\u6307\u9488\u6570\u7ec4\u3002\u6bcf\u9879\u4e3a\u4e00\u4e2a\uff08\u504f\u79fb\uff0c\u957f\u5ea6\uff09\u5bf9\uff0c\u5360 4 \u5b57\u8282\u3002"}, {"c0": "\u7a7a\u95f2\u7a7a\u95f4", "c1": "\u5c1a\u672a\u5206\u914d\u7684\u7a7a\u95f4\u3002\u65b0\u884c\u6307\u9488\u4ece\u8be5\u533a\u57df\u7684\u8d77\u59cb\u5904\u5206\u914d\uff0c\u65b0\u6570\u636e\u9879\u4ece\u672b\u5c3e\u5904\u5206\u914d\u3002"}, {"c0": "\u9879", "c1": "\u5b9e\u9645\u7684\u6570\u636e\u9879\u672c\u8eab\u3002"}, {"c0": "\u7279\u6b8a\u7a7a\u95f4", "c1": "\u7d22\u5f15\u8bbf\u95ee\u65b9\u6cd5\u4e13\u7528\u6570\u636e\u3002\u4e0d\u540c\u65b9\u6cd5\u5b58\u50a8\u7684\u5185\u5bb9\u4e0d\u540c\uff0c\u666e\u901a\u8868\u4e2d\u6b64\u533a\u57df\u4e3a\u7a7a\u3002"}], "title": "\u9875\u9762\u603b\u4f53\u5e03\u5c40", "columns": [{"key": "c0", "label": "\u9879\u76ee"}, {"key": "c1", "label": "\u8bf4\u660e"}]}, {"key": "layout-1", "rows": [{"c0": "pd_lsn", "c1": "PageXLogRecPtr", "c2": "8 \u5b57\u8282", "c3": "LSN\uff1a\u8be5\u9875\u6700\u540e\u4e00\u6b21\u53d8\u5316\u6240\u5bf9\u5e94 WAL \u8bb0\u5f55\u7684\u6700\u540e\u4e00\u4e2a\u5b57\u8282\u4e4b\u540e\u7684\u4f4d\u7f6e\u3002"}, {"c0": "pd_checksum", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u9875\u9762\u6821\u9a8c\u548c"}, {"c0": "pd_flags", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u6807\u5fd7\u4f4d"}, {"c0": "pd_lower", "c1": "LocationIndex", "c2": "2 \u5b57\u8282", "c3": "\u7a7a\u95f2\u7a7a\u95f4\u8d77\u59cb\u4f4d\u7f6e\u7684\u504f\u79fb\u91cf"}, {"c0": "pd_upper", "c1": "LocationIndex", "c2": "2 \u5b57\u8282", "c3": "\u7a7a\u95f2\u7a7a\u95f4\u7ed3\u675f\u4f4d\u7f6e\u7684\u504f\u79fb\u91cf"}, {"c0": "pd_special", "c1": "LocationIndex", "c2": "2 \u5b57\u8282", "c3": "\u7279\u6b8a\u7a7a\u95f4\u8d77\u59cb\u4f4d\u7f6e\u7684\u504f\u79fb\u91cf"}, {"c0": "pd_pagesize_version", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u9875\u9762\u5927\u5c0f\u4e0e\u5e03\u5c40\u7248\u672c\u53f7\u4fe1\u606f"}, {"c0": "pd_prune_xid", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "\u9875\u9762\u4e0a\u6700\u65e9\u7684\u5c1a\u672a\u4fee\u526a\u7684 XMAX\uff1b\u6ca1\u6709\u5219\u4e3a\u96f6"}], "title": "PageHeaderData \u5e03\u5c40", "columns": [{"key": "c0", "label": "\u5b57\u6bb5"}, {"key": "c1", "label": "\u7c7b\u578b"}, {"key": "c2", "label": "\u957f\u5ea6"}, {"key": "c3", "label": "\u8bf4\u660e"}]}, {"key": "layout-2", "rows": [{"c0": "t_xmin", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "\u63d2\u5165\u4e8b\u52a1\u7684 XID"}, {"c0": "t_xmax", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "\u5220\u9664\u4e8b\u52a1\u7684 XID"}, {"c0": "t_cid", "c1": "CommandId", "c2": "4 \u5b57\u8282", "c3": "\u63d2\u5165\u548c\uff0f\u6216\u5220\u9664\u547d\u4ee4\u7684 CID\uff0c\u4e0e t_xvac \u5171\u7528\u5b58\u50a8\u4f4d\u7f6e"}, {"c0": "t_xvac", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "VACUUM \u64cd\u4f5c\u79fb\u52a8\u884c\u7248\u672c\u65f6\u4f7f\u7528\u7684 XID"}, {"c0": "t_ctid", "c1": "ItemPointerData", "c2": "6 \u5b57\u8282", "c3": "\u672c\u884c\u7248\u672c\u6216\u8f83\u65b0\u884c\u7248\u672c\u7684\u5f53\u524d TID"}, {"c0": "t_infomask2", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u5c5e\u6027\u6570\u91cf\u53ca\u5404\u79cd\u6807\u5fd7\u4f4d"}, {"c0": "t_infomask", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u5404\u79cd\u6807\u5fd7\u4f4d"}, {"c0": "t_hoff", "c1": "uint8", "c2": "1 \u5b57\u8282", "c3": "\u7528\u6237\u6570\u636e\u7684\u504f\u79fb\u91cf"}], "title": "HeapTupleHeaderData \u5e03\u5c40", "columns": [{"key": "c0", "label": "\u5b57\u6bb5"}, {"key": "c1", "label": "\u7c7b\u578b"}, {"key": "c2", "label": "\u957f\u5ea6"}, {"key": "c3", "label": "\u8bf4\u660e"}]}], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-identity", "manual": {"url": "/zh/docs/10/storage-page-layout.html", "anchor": "", "locale": "zh-Hans", "version": "10", "build_id": 63, "page_key": "storage-page-layout.html", "extraction": "concept-introduction", "source_hash": "b8949b26fdf21380f1b2b39201a3f23ceaf12617f02f0099d2cdaccacb0d45eb", "fragment_sha256": "514e2e3466980f414b9d97354c1d95b6733a9fb86be8f308fa7e9608a9ff95f7", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "snapshot:sha256:62997ea80516ad012fbf6359de33f3b016b54c47e2df76e75606116b4baaf8e5", "translated_from_revision": null}, "body_sha256": "8f35ee0c3602516d3a047010c6b6a46d1fe718965dd62ac62509b3f8c91490d1", "runtime_rerun": false, "authored_translation": "source-derived-identity", "source_facts_revision": "94a4b2528372458e5662c18d406629266667c437198160a18cdfd2c4a4d6eee9"}, "sections": [], "description_zh": "\u672c\u8282\u6982\u8ff0 PostgreSQL \u8868\u548c\u7d22\u5f15\u5185\u90e8\u6240\u4f7f\u7528\u7684\u9875\u9762\u683c\u5f0f\u3002 [15] \u5e8f\u5217\u548c TOAST \u8868\u7684\u683c\u5f0f\u4e0e\u666e\u901a\u8868\u76f8\u540c\u3002 \u5728\u4e0b\u9762\u7684\u8bf4\u660e\u4e2d\uff0c\u5047\u5b9a\u4e00\u4e2a \u5b57\u8282 \u5305\u542b 8 \u4e2a\u4f4d\u3002\u53e6\u5916\uff0c\u672f\u8bed \u9879 \u6307\u7684\u662f\u5b58\u50a8\u5728\u9875\u9762\u4e0a\u7684\u5355\u4e2a\u6570\u636e\u503c\u3002\u5728\u8868\u4e2d\uff0c\u9879\u662f\u4e00\u884c\uff1b\u5728\u7d22\u5f15\u4e2d\uff0c\u9879\u662f\u4e00\u6761\u7d22\u5f15\u6761\u76ee\u3002 \u6bcf\u4e2a\u8868\u548c\u7d22\u5f15\u90fd\u5b58\u50a8\u4e3a\u56fa\u5b9a\u5927\u5c0f\u7684 \u9875\u9762 \u6570\u7ec4\uff08\u901a\u5e38\u4e3a 8 kB\uff0c\u4e0d\u8fc7\u5728\u7f16\u8bd1\u670d\u52a1\u5668\u65f6\u53ef\u4ee5\u9009\u62e9\u4e0d\u540c\u7684\u9875\u9762\u5927\u5c0f\uff09\u3002\u5728\u8868\u4e2d\uff0c\u6240\u6709\u9875\u9762\u5728\u903b\u8f91\u4e0a\u90fd\u662f\u7b49\u4ef7\u7684\uff0c\u56e0\u6b64\u67d0\u4e2a\u7279\u5b9a\u9879\uff08\u884c\uff09\u53ef\u4ee5\u5b58\u653e\u5728\u4efb\u610f\u9875\u9762\u4e2d\u3002\u5728\u7d22\u5f15\u4e2d\uff0c\u7b2c\u4e00\u9875\u901a\u5e38\u4fdd\u7559\u4e3a \u5143\u9875 \uff0c\u7528\u4e8e\u4fdd\u5b58\u63a7\u5236\u4fe1\u606f\uff1b\u5e76\u4e14\u6839\u636e\u7d22\u5f15\u8bbf\u95ee\u65b9\u6cd5\u7684\u4e0d\u540c\uff0c\u7d22\u5f15\u4e2d\u8fd8\u53ef\u80fd\u5b58\u5728\u4e0d\u540c\u7c7b\u578b\u7684\u9875\u9762\u3002 \u8868 67.2 \u5c55\u793a\u4e86\u9875\u9762\u7684\u603b\u4f53\u5e03\u5c40\u3002\u6bcf\u4e2a\u9875\u9762\u5305\u542b\u4e94\u4e2a\u90e8\u5206\u3002", "description_zh_html": "<p>\u5b58\u50a8\u7ed3\u6784 storage-page-layout\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\u672c\u8282\u6982\u8ff0 <span class=\"productname\">PostgreSQL</span> \u8868\u548c\u7d22\u5f15\u5185\u90e8\u6240\u4f7f\u7528\u7684\u9875\u9762\u683c\u5f0f\u3002<a class=\"footnote\" href=\"/zh/docs/10/storage-page-layout.html#ftn.id-1.10.20.8.2.2\"><sup class=\"footnote\">[15]</sup></a>\n\u5e8f\u5217\u548c <acronym class=\"acronym\">TOAST</acronym> \u8868\u7684\u683c\u5f0f\u4e0e\u666e\u901a\u8868\u76f8\u540c\u3002</p><p>\u5728\u4e0b\u9762\u7684\u8bf4\u660e\u4e2d\uff0c\u5047\u5b9a\u4e00\u4e2a<em class=\"firstterm\">\u5b57\u8282</em>\u5305\u542b 8 \u4e2a\u4f4d\u3002\u53e6\u5916\uff0c\u672f\u8bed<em class=\"firstterm\">\u9879</em>\u6307\u7684\u662f\u5b58\u50a8\u5728\u9875\u9762\u4e0a\u7684\u5355\u4e2a\u6570\u636e\u503c\u3002\u5728\u8868\u4e2d\uff0c\u9879\u662f\u4e00\u884c\uff1b\u5728\u7d22\u5f15\u4e2d\uff0c\u9879\u662f\u4e00\u6761\u7d22\u5f15\u6761\u76ee\u3002</p><p>\u6bcf\u4e2a\u8868\u548c\u7d22\u5f15\u90fd\u5b58\u50a8\u4e3a\u56fa\u5b9a\u5927\u5c0f\u7684<em class=\"firstterm\">\u9875\u9762</em>\u6570\u7ec4\uff08\u901a\u5e38\u4e3a 8 kB\uff0c\u4e0d\u8fc7\u5728\u7f16\u8bd1\u670d\u52a1\u5668\u65f6\u53ef\u4ee5\u9009\u62e9\u4e0d\u540c\u7684\u9875\u9762\u5927\u5c0f\uff09\u3002\u5728\u8868\u4e2d\uff0c\u6240\u6709\u9875\u9762\u5728\u903b\u8f91\u4e0a\u90fd\u662f\u7b49\u4ef7\u7684\uff0c\u56e0\u6b64\u67d0\u4e2a\u7279\u5b9a\u9879\uff08\u884c\uff09\u53ef\u4ee5\u5b58\u653e\u5728\u4efb\u610f\u9875\u9762\u4e2d\u3002\u5728\u7d22\u5f15\u4e2d\uff0c\u7b2c\u4e00\u9875\u901a\u5e38\u4fdd\u7559\u4e3a<em class=\"firstterm\">\u5143\u9875</em>\uff0c\u7528\u4e8e\u4fdd\u5b58\u63a7\u5236\u4fe1\u606f\uff1b\u5e76\u4e14\u6839\u636e\u7d22\u5f15\u8bbf\u95ee\u65b9\u6cd5\u7684\u4e0d\u540c\uff0c\u7d22\u5f15\u4e2d\u8fd8\u53ef\u80fd\u5b58\u5728\u4e0d\u540c\u7c7b\u578b\u7684\u9875\u9762\u3002</p><p><a class=\"xref\" href=\"/zh/docs/10/storage-page-layout.html#PAGE-TABLE\">\u8868\u00a067.2</a> \u5c55\u793a\u4e86\u9875\u9762\u7684\u603b\u4f53\u5e03\u5c40\u3002\u6bcf\u4e2a\u9875\u9762\u5305\u542b\u4e94\u4e2a\u90e8\u5206\u3002</p><p><a href=\"/zh/docs/10/storage-page-layout.html\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "summary": "\u672c\u8282\u6982\u8ff0 PostgreSQL \u8868\u548c\u7d22\u5f15\u5185\u90e8\u6240\u4f7f\u7528\u7684\u9875\u9762\u683c\u5f0f\u3002 [15] \u5e8f\u5217\u548c TOAST \u8868\u7684\u683c\u5f0f\u4e0e\u666e\u901a\u8868\u76f8\u540c\u3002 \u5728\u4e0b\u9762\u7684\u8bf4\u660e\u4e2d\uff0c\u5047\u5b9a\u4e00\u4e2a \u5b57\u8282 \u5305\u542b 8 \u4e2a\u4f4d\u3002\u53e6\u5916\uff0c\u672f\u8bed \u9879 \u6307\u7684\u662f\u5b58\u50a8\u5728\u9875\u9762\u4e0a\u7684\u5355\u4e2a\u6570\u636e\u503c\u3002\u5728\u8868\u4e2d\uff0c\u9879\u662f\u4e00\u884c\uff1b\u5728\u7d22\u5f15\u4e2d\uff0c\u9879\u662f\u4e00\u6761\u7d22\u5f15\u6761\u76ee\u3002 \u6bcf\u4e2a\u8868\u548c\u7d22\u5f15\u90fd\u5b58\u50a8\u4e3a\u56fa\u5b9a\u5927\u5c0f\u7684 \u9875\u9762 \u6570\u7ec4\uff08\u901a\u5e38\u4e3a 8 kB\uff0c\u4e0d\u8fc7\u5728\u7f16\u8bd1\u670d\u52a1\u5668\u65f6\u53ef\u4ee5\u9009\u62e9\u4e0d\u540c\u7684\u9875\u9762\u5927\u5c0f\uff09\u3002\u5728\u8868\u4e2d\uff0c\u6240\u6709\u9875\u9762\u5728\u903b\u8f91\u4e0a\u90fd\u662f\u7b49\u4ef7\u7684\uff0c\u56e0\u6b64\u67d0\u4e2a\u7279\u5b9a\u9879\uff08\u884c\uff09\u53ef\u4ee5\u5b58\u653e\u5728\u4efb\u610f\u9875\u9762\u4e2d\u3002\u5728\u7d22\u5f15\u4e2d\uff0c\u7b2c\u4e00\u9875\u901a\u5e38\u4fdd\u7559\u4e3a \u5143\u9875 \uff0c\u7528\u4e8e\u4fdd\u5b58\u63a7\u5236\u4fe1\u606f\uff1b\u5e76\u4e14\u6839\u636e\u7d22\u5f15\u8bbf\u95ee\u65b9\u6cd5\u7684\u4e0d\u540c\uff0c\u7d22\u5f15\u4e2d\u8fd8\u53ef\u80fd\u5b58\u5728\u4e0d\u540c\u7c7b\u578b\u7684\u9875\u9762\u3002 \u8868 67.2 \u5c55\u793a\u4e86\u9875\u9762\u7684\u603b\u4f53\u5e03\u5c40\u3002\u6bcf\u4e2a\u9875\u9762\u5305\u542b\u4e94\u4e2a\u90e8\u5206\u3002", "version": "10", "link_map": {"/zh/docs/10/storage-page-layout.html": "/docs/10/storage-page-layout.html", "/zh/docs/10/storage-page-layout.html#PAGE-TABLE": "/docs/10/storage-page-layout.html#PAGE-TABLE", "/zh/docs/10/storage-page-layout.html#ftn.id-1.10.20.8.2.2": "/docs/10/storage-page-layout.html#ftn.id-1.10.20.8.2.2"}, "body_html": "<p>\u5b58\u50a8\u7ed3\u6784 storage-page-layout\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\u672c\u8282\u6982\u8ff0 <span>PostgreSQL</span> \u8868\u548c\u7d22\u5f15\u5185\u90e8\u6240\u4f7f\u7528\u7684\u9875\u9762\u683c\u5f0f\u3002<a href=\"/zh/docs/10/storage-page-layout.html#ftn.id-1.10.20.8.2.2\" rel=\"nofollow\"><sup>[15]</sup></a>\n\u5e8f\u5217\u548c <acronym>TOAST</acronym> \u8868\u7684\u683c\u5f0f\u4e0e\u666e\u901a\u8868\u76f8\u540c\u3002</p><p>\u5728\u4e0b\u9762\u7684\u8bf4\u660e\u4e2d\uff0c\u5047\u5b9a\u4e00\u4e2a<em>\u5b57\u8282</em>\u5305\u542b 8 \u4e2a\u4f4d\u3002\u53e6\u5916\uff0c\u672f\u8bed<em>\u9879</em>\u6307\u7684\u662f\u5b58\u50a8\u5728\u9875\u9762\u4e0a\u7684\u5355\u4e2a\u6570\u636e\u503c\u3002\u5728\u8868\u4e2d\uff0c\u9879\u662f\u4e00\u884c\uff1b\u5728\u7d22\u5f15\u4e2d\uff0c\u9879\u662f\u4e00\u6761\u7d22\u5f15\u6761\u76ee\u3002</p><p>\u6bcf\u4e2a\u8868\u548c\u7d22\u5f15\u90fd\u5b58\u50a8\u4e3a\u56fa\u5b9a\u5927\u5c0f\u7684<em>\u9875\u9762</em>\u6570\u7ec4\uff08\u901a\u5e38\u4e3a 8 kB\uff0c\u4e0d\u8fc7\u5728\u7f16\u8bd1\u670d\u52a1\u5668\u65f6\u53ef\u4ee5\u9009\u62e9\u4e0d\u540c\u7684\u9875\u9762\u5927\u5c0f\uff09\u3002\u5728\u8868\u4e2d\uff0c\u6240\u6709\u9875\u9762\u5728\u903b\u8f91\u4e0a\u90fd\u662f\u7b49\u4ef7\u7684\uff0c\u56e0\u6b64\u67d0\u4e2a\u7279\u5b9a\u9879\uff08\u884c\uff09\u53ef\u4ee5\u5b58\u653e\u5728\u4efb\u610f\u9875\u9762\u4e2d\u3002\u5728\u7d22\u5f15\u4e2d\uff0c\u7b2c\u4e00\u9875\u901a\u5e38\u4fdd\u7559\u4e3a<em>\u5143\u9875</em>\uff0c\u7528\u4e8e\u4fdd\u5b58\u63a7\u5236\u4fe1\u606f\uff1b\u5e76\u4e14\u6839\u636e\u7d22\u5f15\u8bbf\u95ee\u65b9\u6cd5\u7684\u4e0d\u540c\uff0c\u7d22\u5f15\u4e2d\u8fd8\u53ef\u80fd\u5b58\u5728\u4e0d\u540c\u7c7b\u578b\u7684\u9875\u9762\u3002</p><p><a href=\"/zh/docs/10/storage-page-layout.html#PAGE-TABLE\" rel=\"nofollow\">\u8868\u00a067.2</a> \u5c55\u793a\u4e86\u9875\u9762\u7684\u603b\u4f53\u5e03\u5c40\u3002\u6bcf\u4e2a\u9875\u9762\u5305\u542b\u4e94\u4e2a\u90e8\u5206\u3002</p><p><a href=\"/zh/docs/10/storage-page-layout.html\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>", "body_sha256": "50aef33d2f0b3d41b2d55c2d2b9fbf922f60c558fa50876c656b311ee535028a", "content_hash": "e332b253ca55b48836038ce0dfbe1e023942f07dc8ddda753368185a8d085525", "source_database": "center", "source_revision": "94a4b2528372458e5662c18d406629266667c437198160a18cdfd2c4a4d6eee9"}, "signature": "", "tables_zh": [{"key": "layout-0", "rows": [{"c0": "PageHeaderData", "c1": "\u957f 24 \u5b57\u8282\uff0c\u5305\u542b\u9875\u9762\u7684\u901a\u7528\u4fe1\u606f\uff0c\u4f8b\u5982\u7a7a\u95f2\u7a7a\u95f4\u6307\u9488\u3002"}, {"c0": "ItemIdData", "c1": "\u6307\u5411\u5b9e\u9645\u6570\u636e\u9879\u7684\u884c\u6307\u9488\u6570\u7ec4\u3002\u6bcf\u9879\u4e3a\u4e00\u4e2a\uff08\u504f\u79fb\uff0c\u957f\u5ea6\uff09\u5bf9\uff0c\u5360 4 \u5b57\u8282\u3002"}, {"c0": "\u7a7a\u95f2\u7a7a\u95f4", "c1": "\u5c1a\u672a\u5206\u914d\u7684\u7a7a\u95f4\u3002\u65b0\u884c\u6307\u9488\u4ece\u8be5\u533a\u57df\u7684\u8d77\u59cb\u5904\u5206\u914d\uff0c\u65b0\u6570\u636e\u9879\u4ece\u672b\u5c3e\u5904\u5206\u914d\u3002"}, {"c0": "\u9879", "c1": "\u5b9e\u9645\u7684\u6570\u636e\u9879\u672c\u8eab\u3002"}, {"c0": "\u7279\u6b8a\u7a7a\u95f4", "c1": "\u7d22\u5f15\u8bbf\u95ee\u65b9\u6cd5\u4e13\u7528\u6570\u636e\u3002\u4e0d\u540c\u65b9\u6cd5\u5b58\u50a8\u7684\u5185\u5bb9\u4e0d\u540c\uff0c\u666e\u901a\u8868\u4e2d\u6b64\u533a\u57df\u4e3a\u7a7a\u3002"}], "title": "\u9875\u9762\u603b\u4f53\u5e03\u5c40", "columns": [{"key": "c0", "label": "\u9879\u76ee"}, {"key": "c1", "label": "\u8bf4\u660e"}]}, {"key": "layout-1", "rows": [{"c0": "pd_lsn", "c1": "PageXLogRecPtr", "c2": "8 \u5b57\u8282", "c3": "LSN\uff1a\u8be5\u9875\u6700\u540e\u4e00\u6b21\u53d8\u5316\u6240\u5bf9\u5e94 WAL \u8bb0\u5f55\u7684\u6700\u540e\u4e00\u4e2a\u5b57\u8282\u4e4b\u540e\u7684\u4f4d\u7f6e\u3002"}, {"c0": "pd_checksum", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u9875\u9762\u6821\u9a8c\u548c"}, {"c0": "pd_flags", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u6807\u5fd7\u4f4d"}, {"c0": "pd_lower", "c1": "LocationIndex", "c2": "2 \u5b57\u8282", "c3": "\u7a7a\u95f2\u7a7a\u95f4\u8d77\u59cb\u4f4d\u7f6e\u7684\u504f\u79fb\u91cf"}, {"c0": "pd_upper", "c1": "LocationIndex", "c2": "2 \u5b57\u8282", "c3": "\u7a7a\u95f2\u7a7a\u95f4\u7ed3\u675f\u4f4d\u7f6e\u7684\u504f\u79fb\u91cf"}, {"c0": "pd_special", "c1": "LocationIndex", "c2": "2 \u5b57\u8282", "c3": "\u7279\u6b8a\u7a7a\u95f4\u8d77\u59cb\u4f4d\u7f6e\u7684\u504f\u79fb\u91cf"}, {"c0": "pd_pagesize_version", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u9875\u9762\u5927\u5c0f\u4e0e\u5e03\u5c40\u7248\u672c\u53f7\u4fe1\u606f"}, {"c0": "pd_prune_xid", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "\u9875\u9762\u4e0a\u6700\u65e9\u7684\u5c1a\u672a\u4fee\u526a\u7684 XMAX\uff1b\u6ca1\u6709\u5219\u4e3a\u96f6"}], "title": "PageHeaderData \u5e03\u5c40", "columns": [{"key": "c0", "label": "\u5b57\u6bb5"}, {"key": "c1", "label": "\u7c7b\u578b"}, {"key": "c2", "label": "\u957f\u5ea6"}, {"key": "c3", "label": "\u8bf4\u660e"}]}, {"key": "layout-2", "rows": [{"c0": "t_xmin", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "\u63d2\u5165\u4e8b\u52a1\u7684 XID"}, {"c0": "t_xmax", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "\u5220\u9664\u4e8b\u52a1\u7684 XID"}, {"c0": "t_cid", "c1": "CommandId", "c2": "4 \u5b57\u8282", "c3": "\u63d2\u5165\u548c\uff0f\u6216\u5220\u9664\u547d\u4ee4\u7684 CID\uff0c\u4e0e t_xvac \u5171\u7528\u5b58\u50a8\u4f4d\u7f6e"}, {"c0": "t_xvac", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "VACUUM \u64cd\u4f5c\u79fb\u52a8\u884c\u7248\u672c\u65f6\u4f7f\u7528\u7684 XID"}, {"c0": "t_ctid", "c1": "ItemPointerData", "c2": "6 \u5b57\u8282", "c3": "\u672c\u884c\u7248\u672c\u6216\u8f83\u65b0\u884c\u7248\u672c\u7684\u5f53\u524d TID"}, {"c0": "t_infomask2", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u5c5e\u6027\u6570\u91cf\u53ca\u5404\u79cd\u6807\u5fd7\u4f4d"}, {"c0": "t_infomask", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u5404\u79cd\u6807\u5fd7\u4f4d"}, {"c0": "t_hoff", "c1": "uint8", "c2": "1 \u5b57\u8282", "c3": "\u7528\u6237\u6570\u636e\u7684\u504f\u79fb\u91cf"}], "title": "HeapTupleHeaderData \u5e03\u5c40", "columns": [{"key": "c0", "label": "\u5b57\u6bb5"}, {"key": "c1", "label": "\u7c7b\u578b"}, {"key": "c2", "label": "\u957f\u5ea6"}, {"key": "c3", "label": "\u8bf4\u660e"}]}], "description": ["\u672c\u8282\u6982\u8ff0 PostgreSQL \u8868\u548c\u7d22\u5f15\u5185\u90e8\u6240\u4f7f\u7528\u7684\u9875\u9762\u683c\u5f0f\u3002 [15] \u5e8f\u5217\u548c TOAST \u8868\u7684\u683c\u5f0f\u4e0e\u666e\u901a\u8868\u76f8\u540c\u3002 \u5728\u4e0b\u9762\u7684\u8bf4\u660e\u4e2d\uff0c\u5047\u5b9a\u4e00\u4e2a \u5b57\u8282 \u5305\u542b 8 \u4e2a\u4f4d\u3002\u53e6\u5916\uff0c\u672f\u8bed \u9879 \u6307\u7684\u662f\u5b58\u50a8\u5728\u9875\u9762\u4e0a\u7684\u5355\u4e2a\u6570\u636e\u503c\u3002\u5728\u8868\u4e2d\uff0c\u9879\u662f\u4e00\u884c\uff1b\u5728\u7d22\u5f15\u4e2d\uff0c\u9879\u662f\u4e00\u6761\u7d22\u5f15\u6761\u76ee\u3002 \u6bcf\u4e2a\u8868\u548c\u7d22\u5f15\u90fd\u5b58\u50a8\u4e3a\u56fa\u5b9a\u5927\u5c0f\u7684 \u9875\u9762 \u6570\u7ec4\uff08\u901a\u5e38\u4e3a 8 kB\uff0c\u4e0d\u8fc7\u5728\u7f16\u8bd1\u670d\u52a1\u5668\u65f6\u53ef\u4ee5\u9009\u62e9\u4e0d\u540c\u7684\u9875\u9762\u5927\u5c0f\uff09\u3002\u5728\u8868\u4e2d\uff0c\u6240\u6709\u9875\u9762\u5728\u903b\u8f91\u4e0a\u90fd\u662f\u7b49\u4ef7\u7684\uff0c\u56e0\u6b64\u67d0\u4e2a\u7279\u5b9a\u9879\uff08\u884c\uff09\u53ef\u4ee5\u5b58\u653e\u5728\u4efb\u610f\u9875\u9762\u4e2d\u3002\u5728\u7d22\u5f15\u4e2d\uff0c\u7b2c\u4e00\u9875\u901a\u5e38\u4fdd\u7559\u4e3a \u5143\u9875 \uff0c\u7528\u4e8e\u4fdd\u5b58\u63a7\u5236\u4fe1\u606f\uff1b\u5e76\u4e14\u6839\u636e\u7d22\u5f15\u8bbf\u95ee\u65b9\u6cd5\u7684\u4e0d\u540c\uff0c\u7d22\u5f15\u4e2d\u8fd8\u53ef\u80fd\u5b58\u5728\u4e0d\u540c\u7c7b\u578b\u7684\u9875\u9762\u3002 \u8868 67.2 \u5c55\u793a\u4e86\u9875\u9762\u7684\u603b\u4f53\u5e03\u5c40\u3002\u6bcf\u4e2a\u9875\u9762\u5305\u542b\u4e94\u4e2a\u90e8\u5206\u3002"], "manual_html": "", "manual_path": "/docs/10/storage-page-layout.html", "sections_zh": [], "localization": {"status": "complete", "sources": [{"url": "/docs/10/storage-page-layout.html", "method": "same-major semantic node", "sha256": "f5196eab2ac06b79d682b4ac96c0eb75f7b928846063df4001b7428eaece9bfc", "language": "zh", "matched_nodes": ["#STORAGE-PAGE-LAYOUT/div[0]", "#STORAGE-PAGE-LAYOUT/div[15]/p[0]", "#STORAGE-PAGE-LAYOUT/div[20]", "#STORAGE-PAGE-LAYOUT/div[5]/div[1]/table[0]/tbody[2]/tr[3]/td[0]", "#STORAGE-PAGE-LAYOUT/div[5]/p[0]", "#STORAGE-PAGE-LAYOUT/div[8]/div[1]/table[0]/tbody[2]/tr[0]/td[2]", "#STORAGE-PAGE-LAYOUT/div[8]/p[0]", "#STORAGE-PAGE-LAYOUT/p[10]", "#STORAGE-PAGE-LAYOUT/p[11]", "#STORAGE-PAGE-LAYOUT/p[12]", "#STORAGE-PAGE-LAYOUT/p[13]", "#STORAGE-PAGE-LAYOUT/p[14]", "#STORAGE-PAGE-LAYOUT/p[17]", "#STORAGE-PAGE-LAYOUT/p[18]", "#STORAGE-PAGE-LAYOUT/p[19]", "#STORAGE-PAGE-LAYOUT/p[1]", "#STORAGE-PAGE-LAYOUT/p[2]", "#STORAGE-PAGE-LAYOUT/p[3]", "#STORAGE-PAGE-LAYOUT/p[4]"]}], "language": "zh", "original_text": {"/versions/10/description/0": "This section provides an overview of the page format used within PostgreSQL tables and indexes. [15] Sequences and TOAST tables are formatted just like a regular table.", "/versions/10/facts/0/label": "Definition scope", "/versions/10/facts/0/value": "Same-version core physical storage documentation", "/versions/10/tables/0/title": "Overall Page Layout", "/versions/10/tables/1/title": "PageHeaderData Layout", "/versions/10/tables/2/title": "HeapTupleHeaderData Layout", "/versions/10/related/0/label": "Storage Parameters", "/versions/10/tables/0/rows/0/c1": "24 bytes long. Contains general information about the page, including free space pointers.", "/versions/10/tables/0/rows/1/c1": "Array of item identifiers pointing to the actual items. Each entry is an (offset,length) pair. 4 bytes per item.", "/versions/10/tables/0/rows/2/c0": "Free space", "/versions/10/tables/0/rows/2/c1": "The unallocated space. New item identifiers are allocated from the start of this area, new items from the end.", "/versions/10/tables/0/rows/3/c0": "Items", "/versions/10/tables/0/rows/3/c1": "The actual items themselves.", "/versions/10/tables/0/rows/4/c0": "Special space", "/versions/10/tables/0/rows/4/c1": "Index access method specific data. Different methods store different data. Empty in ordinary tables.", "/versions/10/tables/1/rows/0/c2": "8 bytes", "/versions/10/tables/1/rows/0/c3": "LSN: next byte after last byte of WAL record for last change to this page", "/versions/10/tables/1/rows/1/c2": "2 bytes", "/versions/10/tables/1/rows/1/c3": "Page checksum", "/versions/10/tables/1/rows/2/c2": "2 bytes", "/versions/10/tables/1/rows/2/c3": "Flag bits", "/versions/10/tables/1/rows/3/c2": "2 bytes", "/versions/10/tables/1/rows/3/c3": "Offset to start of free space", "/versions/10/tables/1/rows/4/c2": "2 bytes", "/versions/10/tables/1/rows/4/c3": "Offset to end of free space", "/versions/10/tables/1/rows/5/c2": "2 bytes", "/versions/10/tables/1/rows/5/c3": "Offset to start of special space", "/versions/10/tables/1/rows/6/c2": "2 bytes", "/versions/10/tables/1/rows/6/c3": "Page size and layout version number information", "/versions/10/tables/1/rows/7/c2": "4 bytes", "/versions/10/tables/1/rows/7/c3": "Oldest unpruned XMAX on page, or zero if none", "/versions/10/tables/2/rows/0/c2": "4 bytes", "/versions/10/tables/2/rows/0/c3": "insert XID stamp", "/versions/10/tables/2/rows/1/c2": "4 bytes", "/versions/10/tables/2/rows/1/c3": "delete XID stamp", "/versions/10/tables/2/rows/2/c2": "4 bytes", "/versions/10/tables/2/rows/2/c3": "insert and/or delete CID stamp (overlays with t_xvac)", "/versions/10/tables/2/rows/3/c2": "4 bytes", "/versions/10/tables/2/rows/3/c3": "XID for VACUUM operation moving a row version", "/versions/10/tables/2/rows/4/c2": "6 bytes", "/versions/10/tables/2/rows/4/c3": "current TID of this or newer row version", "/versions/10/tables/2/rows/5/c2": "2 bytes", "/versions/10/tables/2/rows/5/c3": "number of attributes, plus various flag bits", "/versions/10/tables/2/rows/6/c2": "2 bytes", "/versions/10/tables/2/rows/6/c3": "various flag bits", "/versions/10/tables/2/rows/7/c2": "1 byte", "/versions/10/tables/2/rows/7/c3": "offset to user data", "/versions/10/tables/0/columns/0/label": "Item", "/versions/10/tables/0/columns/1/label": "Description", "/versions/10/tables/1/columns/0/label": "Field", "/versions/10/tables/1/columns/1/label": "Type", "/versions/10/tables/1/columns/2/label": "Length", "/versions/10/tables/1/columns/3/label": "Description", "/versions/10/tables/2/columns/0/label": "Field", "/versions/10/tables/2/columns/1/label": "Type", "/versions/10/tables/2/columns/2/label": "Length", "/versions/10/tables/2/columns/3/label": "Description"}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "fe2b9d2b77c105987a22b829bed820e3f8dcedf242947648e1ae576491e537ad", "canonical_center_text_hash": "e332b253ca55b48836038ce0dfbe1e023942f07dc8ddda753368185a8d085525"}, "description_zh": "\u672c\u8282\u6982\u8ff0 PostgreSQL \u8868\u548c\u7d22\u5f15\u5185\u90e8\u6240\u4f7f\u7528\u7684\u9875\u9762\u683c\u5f0f\u3002 [15] \u5e8f\u5217\u548c TOAST \u8868\u7684\u683c\u5f0f\u4e0e\u666e\u901a\u8868\u76f8\u540c\u3002 \u5728\u4e0b\u9762\u7684\u8bf4\u660e\u4e2d\uff0c\u5047\u5b9a\u4e00\u4e2a \u5b57\u8282 \u5305\u542b 8 \u4e2a\u4f4d\u3002\u53e6\u5916\uff0c\u672f\u8bed \u9879 \u6307\u7684\u662f\u5b58\u50a8\u5728\u9875\u9762\u4e0a\u7684\u5355\u4e2a\u6570\u636e\u503c\u3002\u5728\u8868\u4e2d\uff0c\u9879\u662f\u4e00\u884c\uff1b\u5728\u7d22\u5f15\u4e2d\uff0c\u9879\u662f\u4e00\u6761\u7d22\u5f15\u6761\u76ee\u3002 \u6bcf\u4e2a\u8868\u548c\u7d22\u5f15\u90fd\u5b58\u50a8\u4e3a\u56fa\u5b9a\u5927\u5c0f\u7684 \u9875\u9762 \u6570\u7ec4\uff08\u901a\u5e38\u4e3a 8 kB\uff0c\u4e0d\u8fc7\u5728\u7f16\u8bd1\u670d\u52a1\u5668\u65f6\u53ef\u4ee5\u9009\u62e9\u4e0d\u540c\u7684\u9875\u9762\u5927\u5c0f\uff09\u3002\u5728\u8868\u4e2d\uff0c\u6240\u6709\u9875\u9762\u5728\u903b\u8f91\u4e0a\u90fd\u662f\u7b49\u4ef7\u7684\uff0c\u56e0\u6b64\u67d0\u4e2a\u7279\u5b9a\u9879\uff08\u884c\uff09\u53ef\u4ee5\u5b58\u653e\u5728\u4efb\u610f\u9875\u9762\u4e2d\u3002\u5728\u7d22\u5f15\u4e2d\uff0c\u7b2c\u4e00\u9875\u901a\u5e38\u4fdd\u7559\u4e3a \u5143\u9875 \uff0c\u7528\u4e8e\u4fdd\u5b58\u63a7\u5236\u4fe1\u606f\uff1b\u5e76\u4e14\u6839\u636e\u7d22\u5f15\u8bbf\u95ee\u65b9\u6cd5\u7684\u4e0d\u540c\uff0c\u7d22\u5f15\u4e2d\u8fd8\u53ef\u80fd\u5b58\u5728\u4e0d\u540c\u7c7b\u578b\u7684\u9875\u9762\u3002 \u8868 67.2 \u5c55\u793a\u4e86\u9875\u9762\u7684\u603b\u4f53\u5e03\u5c40\u3002\u6bcf\u4e2a\u9875\u9762\u5305\u542b\u4e94\u4e2a\u90e8\u5206\u3002", "comparison_data": {"layouts": [{"key": "layout-0", "rows": [{"c0": "PageHeaderData", "c1": "24 bytes long. Contains general information about the page, including free space pointers."}, {"c0": "ItemIdData", "c1": "Array of item identifiers pointing to the actual items. Each entry is an (offset,length) pair. 4 bytes per item."}, {"c0": "Free space", "c1": "The unallocated space. New item identifiers are allocated from the start of this area, new items from the end."}, {"c0": "Items", "c1": "The actual items themselves."}, {"c0": "Special space", "c1": "Index access method specific data. Different methods store different data. Empty in ordinary tables."}], "title": "Overall Page Layout", "columns": [{"key": "c0", "label": "Item"}, {"key": "c1", "label": "Description"}]}, {"key": "layout-1", "rows": [{"c0": "pd_lsn", "c1": "PageXLogRecPtr", "c2": "8 bytes", "c3": "LSN: next byte after last byte of WAL record for last change to this page"}, {"c0": "pd_checksum", "c1": "uint16", "c2": "2 bytes", "c3": "Page checksum"}, {"c0": "pd_flags", "c1": "uint16", "c2": "2 bytes", "c3": "Flag bits"}, {"c0": "pd_lower", "c1": "LocationIndex", "c2": "2 bytes", "c3": "Offset to start of free space"}, {"c0": "pd_upper", "c1": "LocationIndex", "c2": "2 bytes", "c3": "Offset to end of free space"}, {"c0": "pd_special", "c1": "LocationIndex", "c2": "2 bytes", "c3": "Offset to start of special space"}, {"c0": "pd_pagesize_version", "c1": "uint16", "c2": "2 bytes", "c3": "Page size and layout version number information"}, {"c0": "pd_prune_xid", "c1": "TransactionId", "c2": "4 bytes", "c3": "Oldest unpruned XMAX on page, or zero if none"}], "title": "PageHeaderData Layout", "columns": [{"key": "c0", "label": "Field"}, {"key": "c1", "label": "Type"}, {"key": "c2", "label": "Length"}, {"key": "c3", "label": "Description"}]}, {"key": "layout-2", "rows": [{"c0": "t_xmin", "c1": "TransactionId", "c2": "4 bytes", "c3": "insert XID stamp"}, {"c0": "t_xmax", "c1": "TransactionId", "c2": "4 bytes", "c3": "delete XID stamp"}, {"c0": "t_cid", "c1": "CommandId", "c2": "4 bytes", "c3": "insert and/or delete CID stamp (overlays with t_xvac)"}, {"c0": "t_xvac", "c1": "TransactionId", "c2": "4 bytes", "c3": "XID for VACUUM operation moving a row version"}, {"c0": "t_ctid", "c1": "ItemPointerData", "c2": "6 bytes", "c3": "current TID of this or newer row version"}, {"c0": "t_infomask2", "c1": "uint16", "c2": "2 bytes", "c3": "number of attributes, plus various flag bits"}, {"c0": "t_infomask", "c1": "uint16", "c2": "2 bytes", "c3": "various flag bits"}, {"c0": "t_hoff", "c1": "uint8", "c2": "1 byte", "c3": "offset to user data"}], "title": "HeapTupleHeaderData Layout", "columns": [{"key": "c0", "label": "Field"}, {"key": "c1", "label": "Type"}, {"key": "c2", "label": "Length"}, {"key": "c3", "label": "Description"}]}]}, "comparison_hash": "b621fa85b3be27a0eb0d82986e9524f2ef0a776761901f0d429826eec4822d0a", "manual_language": "zh", "description_zh_html": "<p>\u5b58\u50a8\u7ed3\u6784 storage-page-layout\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\u672c\u8282\u6982\u8ff0 <span>PostgreSQL</span> \u8868\u548c\u7d22\u5f15\u5185\u90e8\u6240\u4f7f\u7528\u7684\u9875\u9762\u683c\u5f0f\u3002<a href=\"/zh/docs/10/storage-page-layout.html#ftn.id-1.10.20.8.2.2\" rel=\"nofollow\"><sup>[15]</sup></a>\n\u5e8f\u5217\u548c <acronym>TOAST</acronym> \u8868\u7684\u683c\u5f0f\u4e0e\u666e\u901a\u8868\u76f8\u540c\u3002</p><p>\u5728\u4e0b\u9762\u7684\u8bf4\u660e\u4e2d\uff0c\u5047\u5b9a\u4e00\u4e2a<em>\u5b57\u8282</em>\u5305\u542b 8 \u4e2a\u4f4d\u3002\u53e6\u5916\uff0c\u672f\u8bed<em>\u9879</em>\u6307\u7684\u662f\u5b58\u50a8\u5728\u9875\u9762\u4e0a\u7684\u5355\u4e2a\u6570\u636e\u503c\u3002\u5728\u8868\u4e2d\uff0c\u9879\u662f\u4e00\u884c\uff1b\u5728\u7d22\u5f15\u4e2d\uff0c\u9879\u662f\u4e00\u6761\u7d22\u5f15\u6761\u76ee\u3002</p><p>\u6bcf\u4e2a\u8868\u548c\u7d22\u5f15\u90fd\u5b58\u50a8\u4e3a\u56fa\u5b9a\u5927\u5c0f\u7684<em>\u9875\u9762</em>\u6570\u7ec4\uff08\u901a\u5e38\u4e3a 8 kB\uff0c\u4e0d\u8fc7\u5728\u7f16\u8bd1\u670d\u52a1\u5668\u65f6\u53ef\u4ee5\u9009\u62e9\u4e0d\u540c\u7684\u9875\u9762\u5927\u5c0f\uff09\u3002\u5728\u8868\u4e2d\uff0c\u6240\u6709\u9875\u9762\u5728\u903b\u8f91\u4e0a\u90fd\u662f\u7b49\u4ef7\u7684\uff0c\u56e0\u6b64\u67d0\u4e2a\u7279\u5b9a\u9879\uff08\u884c\uff09\u53ef\u4ee5\u5b58\u653e\u5728\u4efb\u610f\u9875\u9762\u4e2d\u3002\u5728\u7d22\u5f15\u4e2d\uff0c\u7b2c\u4e00\u9875\u901a\u5e38\u4fdd\u7559\u4e3a<em>\u5143\u9875</em>\uff0c\u7528\u4e8e\u4fdd\u5b58\u63a7\u5236\u4fe1\u606f\uff1b\u5e76\u4e14\u6839\u636e\u7d22\u5f15\u8bbf\u95ee\u65b9\u6cd5\u7684\u4e0d\u540c\uff0c\u7d22\u5f15\u4e2d\u8fd8\u53ef\u80fd\u5b58\u5728\u4e0d\u540c\u7c7b\u578b\u7684\u9875\u9762\u3002</p><p><a href=\"/zh/docs/10/storage-page-layout.html#PAGE-TABLE\" rel=\"nofollow\">\u8868\u00a067.2</a> \u5c55\u793a\u4e86\u9875\u9762\u7684\u603b\u4f53\u5e03\u5c40\u3002\u6bcf\u4e2a\u9875\u9762\u5305\u542b\u4e94\u4e2a\u90e8\u5206\u3002</p><p><a href=\"/zh/docs/10/storage-page-layout.html\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "11": {"facts": [{"label": "\u5b9a\u4e49\u8303\u56f4", "value": "\u540c\u7248\u672c\u6838\u5fc3\u7269\u7406\u5b58\u50a8\u6587\u6863"}], "tables": [{"key": "layout-0", "rows": [{"c0": "PageHeaderData", "c1": "\u957f 24 \u5b57\u8282\uff0c\u5305\u542b\u9875\u9762\u7684\u901a\u7528\u4fe1\u606f\uff0c\u4f8b\u5982\u7a7a\u95f2\u7a7a\u95f4\u6307\u9488\u3002"}, {"c0": "ItemIdData", "c1": "\u6307\u5411\u5b9e\u9645\u6570\u636e\u9879\u7684\u884c\u6307\u9488\u6570\u7ec4\u3002\u6bcf\u9879\u4e3a\u4e00\u4e2a\uff08\u504f\u79fb\uff0c\u957f\u5ea6\uff09\u5bf9\uff0c\u5360 4 \u5b57\u8282\u3002"}, {"c0": "\u7a7a\u95f2\u7a7a\u95f4", "c1": "\u5c1a\u672a\u5206\u914d\u7684\u7a7a\u95f4\u3002\u65b0\u884c\u6307\u9488\u4ece\u8be5\u533a\u57df\u7684\u8d77\u59cb\u5904\u5206\u914d\uff0c\u65b0\u6570\u636e\u9879\u4ece\u672b\u5c3e\u5904\u5206\u914d\u3002"}, {"c0": "\u9879", "c1": "\u5b9e\u9645\u7684\u6570\u636e\u9879\u672c\u8eab\u3002"}, {"c0": "\u7279\u6b8a\u7a7a\u95f4", "c1": "\u7d22\u5f15\u8bbf\u95ee\u65b9\u6cd5\u4e13\u7528\u6570\u636e\u3002\u4e0d\u540c\u65b9\u6cd5\u5b58\u50a8\u7684\u5185\u5bb9\u4e0d\u540c\uff0c\u666e\u901a\u8868\u4e2d\u6b64\u533a\u57df\u4e3a\u7a7a\u3002"}], "title": "\u9875\u9762\u603b\u4f53\u5e03\u5c40", "columns": [{"key": "c0", "label": "\u9879\u76ee"}, {"key": "c1", "label": "\u8bf4\u660e"}]}, {"key": "layout-1", "rows": [{"c0": "pd_lsn", "c1": "PageXLogRecPtr", "c2": "8 \u5b57\u8282", "c3": "LSN\uff1a\u8be5\u9875\u6700\u540e\u4e00\u6b21\u53d8\u5316\u6240\u5bf9\u5e94 WAL \u8bb0\u5f55\u7684\u6700\u540e\u4e00\u4e2a\u5b57\u8282\u4e4b\u540e\u7684\u4f4d\u7f6e\u3002"}, {"c0": "pd_checksum", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u9875\u9762\u6821\u9a8c\u548c"}, {"c0": "pd_flags", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u6807\u5fd7\u4f4d"}, {"c0": "pd_lower", "c1": "LocationIndex", "c2": "2 \u5b57\u8282", "c3": "\u7a7a\u95f2\u7a7a\u95f4\u8d77\u59cb\u4f4d\u7f6e\u7684\u504f\u79fb\u91cf"}, {"c0": "pd_upper", "c1": "LocationIndex", "c2": "2 \u5b57\u8282", "c3": "\u7a7a\u95f2\u7a7a\u95f4\u7ed3\u675f\u4f4d\u7f6e\u7684\u504f\u79fb\u91cf"}, {"c0": "pd_special", "c1": "LocationIndex", "c2": "2 \u5b57\u8282", "c3": "\u7279\u6b8a\u7a7a\u95f4\u8d77\u59cb\u4f4d\u7f6e\u7684\u504f\u79fb\u91cf"}, {"c0": "pd_pagesize_version", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u9875\u9762\u5927\u5c0f\u4e0e\u5e03\u5c40\u7248\u672c\u53f7\u4fe1\u606f"}, {"c0": "pd_prune_xid", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "\u9875\u9762\u4e0a\u6700\u65e9\u7684\u5c1a\u672a\u4fee\u526a\u7684 XMAX\uff1b\u6ca1\u6709\u5219\u4e3a\u96f6"}], "title": "PageHeaderData \u5e03\u5c40", "columns": [{"key": "c0", "label": "\u5b57\u6bb5"}, {"key": "c1", "label": "\u7c7b\u578b"}, {"key": "c2", "label": "\u957f\u5ea6"}, {"key": "c3", "label": "\u8bf4\u660e"}]}, {"key": "layout-2", "rows": [{"c0": "t_xmin", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "\u63d2\u5165\u4e8b\u52a1\u7684 XID"}, {"c0": "t_xmax", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "\u5220\u9664\u4e8b\u52a1\u7684 XID"}, {"c0": "t_cid", "c1": "CommandId", "c2": "4 \u5b57\u8282", "c3": "\u63d2\u5165\u548c\uff0f\u6216\u5220\u9664\u547d\u4ee4\u7684 CID\uff0c\u4e0e t_xvac \u5171\u7528\u5b58\u50a8\u4f4d\u7f6e"}, {"c0": "t_xvac", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "VACUUM \u64cd\u4f5c\u79fb\u52a8\u884c\u7248\u672c\u65f6\u4f7f\u7528\u7684 XID"}, {"c0": "t_ctid", "c1": "ItemPointerData", "c2": "6 \u5b57\u8282", "c3": "\u672c\u884c\u7248\u672c\u6216\u8f83\u65b0\u884c\u7248\u672c\u7684\u5f53\u524d TID"}, {"c0": "t_infomask2", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u5c5e\u6027\u6570\u91cf\u53ca\u5404\u79cd\u6807\u5fd7\u4f4d"}, {"c0": "t_infomask", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u5404\u79cd\u6807\u5fd7\u4f4d"}, {"c0": "t_hoff", "c1": "uint8", "c2": "1 \u5b57\u8282", "c3": "\u7528\u6237\u6570\u636e\u7684\u504f\u79fb\u91cf"}], "title": "HeapTupleHeaderData \u5e03\u5c40", "columns": [{"key": "c0", "label": "\u5b57\u6bb5"}, {"key": "c1", "label": "\u7c7b\u578b"}, {"key": "c2", "label": "\u957f\u5ea6"}, {"key": "c3", "label": "\u8bf4\u660e"}]}], "diagram": "page-layout", "related": [{"url": "/wiki/relopts/?v=11", "label": "\u5b58\u50a8\u53c2\u6570"}], "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-page-layout.html", "path": "storage-page-layout.html", "label": "PostgreSQL 11 English manual", "sha256": "89ae53d52323261bb09214babd110c76bde78e92234cbea4a8e51c5548a1073b"}], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-identity", "manual": {"url": "/zh/docs/11/storage-page-layout.html", "anchor": "", "locale": "zh-Hans", "version": "11", "build_id": 64, "page_key": "storage-page-layout.html", "extraction": "concept-introduction", "source_hash": "36073b16310278ae2829bfdc274829bc423e7a22e5518c87b1ecab9cd4856bab", "fragment_sha256": "6cde87876b8a10130f7f0fc98d37cf88a0e3172c29fa3462aae7d13c8f4f7829", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "snapshot:sha256:ef5c7bc074acae9795db16e6b7482aea3b222bd4bcce0f76831332b97a21e8a1", "translated_from_revision": null}, "body_sha256": "da238a18441eb9edbf8ae3973d01e14acdd5367582bef065c34b39cf97e16ced", "runtime_rerun": false, "authored_translation": "source-derived-identity", "source_facts_revision": "2cb7c97d7a0d7278851bbc9c61f467b69c094c72b81740b751108e7892ebe1f0"}, "facts_zh": [{"label": "\u5b9a\u4e49\u8303\u56f4", "value": "\u540c\u7248\u672c\u6838\u5fc3\u7269\u7406\u5b58\u50a8\u6587\u6863"}], "sections": [], "center_zh": {"title": "Database Page Layout", "locale": "zh-Hans", "source": {"key": "storage-page-layout", "locale": "zh-Hans", "version": "11", "text_hash": "e6b82c5fca8d6cdf1f67739a12ca9d6be82f540470c7b88f61b37136f38bcb1d", "collection": "storage", "dataset_hash": "7c31b524dfe136022d39a6ae8dcfac6b3bbd5f8fdaf422536599981252aff0c9", "source_database": "center", "source_revision": "2cb7c97d7a0d7278851bbc9c61f467b69c094c72b81740b751108e7892ebe1f0"}, "payload": {"facts": [{"label": "\u5b9a\u4e49\u8303\u56f4", "value": "\u540c\u7248\u672c\u6838\u5fc3\u7269\u7406\u5b58\u50a8\u6587\u6863"}], "tables": [{"key": "layout-0", "rows": [{"c0": "PageHeaderData", "c1": "\u957f 24 \u5b57\u8282\uff0c\u5305\u542b\u9875\u9762\u7684\u901a\u7528\u4fe1\u606f\uff0c\u4f8b\u5982\u7a7a\u95f2\u7a7a\u95f4\u6307\u9488\u3002"}, {"c0": "ItemIdData", "c1": "\u6307\u5411\u5b9e\u9645\u6570\u636e\u9879\u7684\u884c\u6307\u9488\u6570\u7ec4\u3002\u6bcf\u9879\u4e3a\u4e00\u4e2a\uff08\u504f\u79fb\uff0c\u957f\u5ea6\uff09\u5bf9\uff0c\u5360 4 \u5b57\u8282\u3002"}, {"c0": "\u7a7a\u95f2\u7a7a\u95f4", "c1": "\u5c1a\u672a\u5206\u914d\u7684\u7a7a\u95f4\u3002\u65b0\u884c\u6307\u9488\u4ece\u8be5\u533a\u57df\u7684\u8d77\u59cb\u5904\u5206\u914d\uff0c\u65b0\u6570\u636e\u9879\u4ece\u672b\u5c3e\u5904\u5206\u914d\u3002"}, {"c0": "\u9879", "c1": "\u5b9e\u9645\u7684\u6570\u636e\u9879\u672c\u8eab\u3002"}, {"c0": "\u7279\u6b8a\u7a7a\u95f4", "c1": "\u7d22\u5f15\u8bbf\u95ee\u65b9\u6cd5\u4e13\u7528\u6570\u636e\u3002\u4e0d\u540c\u65b9\u6cd5\u5b58\u50a8\u7684\u5185\u5bb9\u4e0d\u540c\uff0c\u666e\u901a\u8868\u4e2d\u6b64\u533a\u57df\u4e3a\u7a7a\u3002"}], "title": "\u9875\u9762\u603b\u4f53\u5e03\u5c40", "columns": [{"key": "c0", "label": "\u9879\u76ee"}, {"key": "c1", "label": "\u8bf4\u660e"}]}, {"key": "layout-1", "rows": [{"c0": "pd_lsn", "c1": "PageXLogRecPtr", "c2": "8 \u5b57\u8282", "c3": "LSN\uff1a\u8be5\u9875\u6700\u540e\u4e00\u6b21\u53d8\u5316\u6240\u5bf9\u5e94 WAL \u8bb0\u5f55\u7684\u6700\u540e\u4e00\u4e2a\u5b57\u8282\u4e4b\u540e\u7684\u4f4d\u7f6e\u3002"}, {"c0": "pd_checksum", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u9875\u9762\u6821\u9a8c\u548c"}, {"c0": "pd_flags", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u6807\u5fd7\u4f4d"}, {"c0": "pd_lower", "c1": "LocationIndex", "c2": "2 \u5b57\u8282", "c3": "\u7a7a\u95f2\u7a7a\u95f4\u8d77\u59cb\u4f4d\u7f6e\u7684\u504f\u79fb\u91cf"}, {"c0": "pd_upper", "c1": "LocationIndex", "c2": "2 \u5b57\u8282", "c3": "\u7a7a\u95f2\u7a7a\u95f4\u7ed3\u675f\u4f4d\u7f6e\u7684\u504f\u79fb\u91cf"}, {"c0": "pd_special", "c1": "LocationIndex", "c2": "2 \u5b57\u8282", "c3": "\u7279\u6b8a\u7a7a\u95f4\u8d77\u59cb\u4f4d\u7f6e\u7684\u504f\u79fb\u91cf"}, {"c0": "pd_pagesize_version", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u9875\u9762\u5927\u5c0f\u4e0e\u5e03\u5c40\u7248\u672c\u53f7\u4fe1\u606f"}, {"c0": "pd_prune_xid", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "\u9875\u9762\u4e0a\u6700\u65e9\u7684\u5c1a\u672a\u4fee\u526a\u7684 XMAX\uff1b\u6ca1\u6709\u5219\u4e3a\u96f6"}], "title": "PageHeaderData \u5e03\u5c40", "columns": [{"key": "c0", "label": "\u5b57\u6bb5"}, {"key": "c1", "label": "\u7c7b\u578b"}, {"key": "c2", "label": "\u957f\u5ea6"}, {"key": "c3", "label": "\u8bf4\u660e"}]}, {"key": "layout-2", "rows": [{"c0": "t_xmin", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "\u63d2\u5165\u4e8b\u52a1\u7684 XID"}, {"c0": "t_xmax", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "\u5220\u9664\u4e8b\u52a1\u7684 XID"}, {"c0": "t_cid", "c1": "CommandId", "c2": "4 \u5b57\u8282", "c3": "\u63d2\u5165\u548c\uff0f\u6216\u5220\u9664\u547d\u4ee4\u7684 CID\uff0c\u4e0e t_xvac \u5171\u7528\u5b58\u50a8\u4f4d\u7f6e"}, {"c0": "t_xvac", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "VACUUM \u64cd\u4f5c\u79fb\u52a8\u884c\u7248\u672c\u65f6\u4f7f\u7528\u7684 XID"}, {"c0": "t_ctid", "c1": "ItemPointerData", "c2": "6 \u5b57\u8282", "c3": "\u672c\u884c\u7248\u672c\u6216\u8f83\u65b0\u884c\u7248\u672c\u7684\u5f53\u524d TID"}, {"c0": "t_infomask2", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u5c5e\u6027\u6570\u91cf\u53ca\u5404\u79cd\u6807\u5fd7\u4f4d"}, {"c0": "t_infomask", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u5404\u79cd\u6807\u5fd7\u4f4d"}, {"c0": "t_hoff", "c1": "uint8", "c2": "1 \u5b57\u8282", "c3": "\u7528\u6237\u6570\u636e\u7684\u504f\u79fb\u91cf"}], "title": "HeapTupleHeaderData \u5e03\u5c40", "columns": [{"key": "c0", "label": "\u5b57\u6bb5"}, {"key": "c1", "label": "\u7c7b\u578b"}, {"key": "c2", "label": "\u957f\u5ea6"}, {"key": "c3", "label": "\u8bf4\u660e"}]}], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-identity", "manual": {"url": "/zh/docs/11/storage-page-layout.html", "anchor": "", "locale": "zh-Hans", "version": "11", "build_id": 64, "page_key": "storage-page-layout.html", "extraction": "concept-introduction", "source_hash": "36073b16310278ae2829bfdc274829bc423e7a22e5518c87b1ecab9cd4856bab", "fragment_sha256": "6cde87876b8a10130f7f0fc98d37cf88a0e3172c29fa3462aae7d13c8f4f7829", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "snapshot:sha256:ef5c7bc074acae9795db16e6b7482aea3b222bd4bcce0f76831332b97a21e8a1", "translated_from_revision": null}, "body_sha256": "da238a18441eb9edbf8ae3973d01e14acdd5367582bef065c34b39cf97e16ced", "runtime_rerun": false, "authored_translation": "source-derived-identity", "source_facts_revision": "2cb7c97d7a0d7278851bbc9c61f467b69c094c72b81740b751108e7892ebe1f0"}, "sections": [], "description_zh": "\u672c\u8282\u6982\u8ff0 PostgreSQL \u8868\u548c\u7d22\u5f15\u5185\u90e8\u6240\u4f7f\u7528\u7684\u9875\u9762\u683c\u5f0f\u3002 [15] \u5e8f\u5217\u548c TOAST \u8868\u7684\u683c\u5f0f\u4e0e\u666e\u901a\u8868\u76f8\u540c\u3002 \u5728\u4e0b\u9762\u7684\u8bf4\u660e\u4e2d\uff0c\u5047\u5b9a\u4e00\u4e2a \u5b57\u8282 \u5305\u542b 8 \u4e2a\u4f4d\u3002\u53e6\u5916\uff0c\u672f\u8bed \u9879 \u6307\u7684\u662f\u5b58\u50a8\u5728\u9875\u9762\u4e0a\u7684\u5355\u4e2a\u6570\u636e\u503c\u3002\u5728\u8868\u4e2d\uff0c\u9879\u662f\u4e00\u884c\uff1b\u5728\u7d22\u5f15\u4e2d\uff0c\u9879\u662f\u4e00\u6761\u7d22\u5f15\u6761\u76ee\u3002 \u6bcf\u4e2a\u8868\u548c\u7d22\u5f15\u90fd\u5b58\u50a8\u4e3a\u56fa\u5b9a\u5927\u5c0f\u7684 \u9875\u9762 \u6570\u7ec4\uff08\u901a\u5e38\u4e3a 8 kB\uff0c\u4e0d\u8fc7\u5728\u7f16\u8bd1\u670d\u52a1\u5668\u65f6\u53ef\u4ee5\u9009\u62e9\u4e0d\u540c\u7684\u9875\u9762\u5927\u5c0f\uff09\u3002\u5728\u8868\u4e2d\uff0c\u6240\u6709\u9875\u9762\u5728\u903b\u8f91\u4e0a\u90fd\u662f\u7b49\u4ef7\u7684\uff0c\u56e0\u6b64\u67d0\u4e2a\u7279\u5b9a\u9879\uff08\u884c\uff09\u53ef\u4ee5\u5b58\u653e\u5728\u4efb\u610f\u9875\u9762\u4e2d\u3002\u5728\u7d22\u5f15\u4e2d\uff0c\u7b2c\u4e00\u9875\u901a\u5e38\u4fdd\u7559\u4e3a \u5143\u9875 \uff0c\u7528\u4e8e\u4fdd\u5b58\u63a7\u5236\u4fe1\u606f\uff1b\u5e76\u4e14\u6839\u636e\u7d22\u5f15\u8bbf\u95ee\u65b9\u6cd5\u7684\u4e0d\u540c\uff0c\u7d22\u5f15\u4e2d\u8fd8\u53ef\u80fd\u5b58\u5728\u4e0d\u540c\u7c7b\u578b\u7684\u9875\u9762\u3002 \u8868 69.2 \u5c55\u793a\u4e86\u9875\u9762\u7684\u603b\u4f53\u5e03\u5c40\u3002\u6bcf\u4e2a\u9875\u9762\u5305\u542b\u4e94\u4e2a\u90e8\u5206\u3002", "description_zh_html": "<p>\u5b58\u50a8\u7ed3\u6784 storage-page-layout\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n\u672c\u8282\u6982\u8ff0 <span class=\"productname\">PostgreSQL</span> \u8868\u548c\u7d22\u5f15\u5185\u90e8\u6240\u4f7f\u7528\u7684\u9875\u9762\u683c\u5f0f\u3002<a class=\"footnote\" href=\"/zh/docs/11/storage-page-layout.html#ftn.id-1.10.21.8.2.2\"><sup class=\"footnote\">[15]</sup></a>\n\u5e8f\u5217\u548c <acronym class=\"acronym\">TOAST</acronym> \u8868\u7684\u683c\u5f0f\u4e0e\u666e\u901a\u8868\u76f8\u540c\u3002\n</p><p>\n\u5728\u4e0b\u9762\u7684\u8bf4\u660e\u4e2d\uff0c\u5047\u5b9a\u4e00\u4e2a<em class=\"firstterm\">\u5b57\u8282</em>\u5305\u542b 8 \u4e2a\u4f4d\u3002\u53e6\u5916\uff0c\u672f\u8bed<em class=\"firstterm\">\u9879</em>\u6307\u7684\u662f\u5b58\u50a8\u5728\u9875\u9762\u4e0a\u7684\u5355\u4e2a\u6570\u636e\u503c\u3002\u5728\u8868\u4e2d\uff0c\u9879\u662f\u4e00\u884c\uff1b\u5728\u7d22\u5f15\u4e2d\uff0c\u9879\u662f\u4e00\u6761\u7d22\u5f15\u6761\u76ee\u3002\n</p><p>\n\u6bcf\u4e2a\u8868\u548c\u7d22\u5f15\u90fd\u5b58\u50a8\u4e3a\u56fa\u5b9a\u5927\u5c0f\u7684<em class=\"firstterm\">\u9875\u9762</em>\u6570\u7ec4\uff08\u901a\u5e38\u4e3a 8 kB\uff0c\u4e0d\u8fc7\u5728\u7f16\u8bd1\u670d\u52a1\u5668\u65f6\u53ef\u4ee5\u9009\u62e9\u4e0d\u540c\u7684\u9875\u9762\u5927\u5c0f\uff09\u3002\u5728\u8868\u4e2d\uff0c\u6240\u6709\u9875\u9762\u5728\u903b\u8f91\u4e0a\u90fd\u662f\u7b49\u4ef7\u7684\uff0c\u56e0\u6b64\u67d0\u4e2a\u7279\u5b9a\u9879\uff08\u884c\uff09\u53ef\u4ee5\u5b58\u653e\u5728\u4efb\u610f\u9875\u9762\u4e2d\u3002\u5728\u7d22\u5f15\u4e2d\uff0c\u7b2c\u4e00\u9875\u901a\u5e38\u4fdd\u7559\u4e3a<em class=\"firstterm\">\u5143\u9875</em>\uff0c\u7528\u4e8e\u4fdd\u5b58\u63a7\u5236\u4fe1\u606f\uff1b\u5e76\u4e14\u6839\u636e\u7d22\u5f15\u8bbf\u95ee\u65b9\u6cd5\u7684\u4e0d\u540c\uff0c\u7d22\u5f15\u4e2d\u8fd8\u53ef\u80fd\u5b58\u5728\u4e0d\u540c\u7c7b\u578b\u7684\u9875\u9762\u3002\n</p><p>\n<a class=\"xref\" href=\"/zh/docs/11/storage-page-layout.html#PAGE-TABLE\">\u8868\u00a069.2</a> \u5c55\u793a\u4e86\u9875\u9762\u7684\u603b\u4f53\u5e03\u5c40\u3002\u6bcf\u4e2a\u9875\u9762\u5305\u542b\u4e94\u4e2a\u90e8\u5206\u3002\n</p><p><a href=\"/zh/docs/11/storage-page-layout.html\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "summary": "\u672c\u8282\u6982\u8ff0 PostgreSQL \u8868\u548c\u7d22\u5f15\u5185\u90e8\u6240\u4f7f\u7528\u7684\u9875\u9762\u683c\u5f0f\u3002 [15] \u5e8f\u5217\u548c TOAST \u8868\u7684\u683c\u5f0f\u4e0e\u666e\u901a\u8868\u76f8\u540c\u3002 \u5728\u4e0b\u9762\u7684\u8bf4\u660e\u4e2d\uff0c\u5047\u5b9a\u4e00\u4e2a \u5b57\u8282 \u5305\u542b 8 \u4e2a\u4f4d\u3002\u53e6\u5916\uff0c\u672f\u8bed \u9879 \u6307\u7684\u662f\u5b58\u50a8\u5728\u9875\u9762\u4e0a\u7684\u5355\u4e2a\u6570\u636e\u503c\u3002\u5728\u8868\u4e2d\uff0c\u9879\u662f\u4e00\u884c\uff1b\u5728\u7d22\u5f15\u4e2d\uff0c\u9879\u662f\u4e00\u6761\u7d22\u5f15\u6761\u76ee\u3002 \u6bcf\u4e2a\u8868\u548c\u7d22\u5f15\u90fd\u5b58\u50a8\u4e3a\u56fa\u5b9a\u5927\u5c0f\u7684 \u9875\u9762 \u6570\u7ec4\uff08\u901a\u5e38\u4e3a 8 kB\uff0c\u4e0d\u8fc7\u5728\u7f16\u8bd1\u670d\u52a1\u5668\u65f6\u53ef\u4ee5\u9009\u62e9\u4e0d\u540c\u7684\u9875\u9762\u5927\u5c0f\uff09\u3002\u5728\u8868\u4e2d\uff0c\u6240\u6709\u9875\u9762\u5728\u903b\u8f91\u4e0a\u90fd\u662f\u7b49\u4ef7\u7684\uff0c\u56e0\u6b64\u67d0\u4e2a\u7279\u5b9a\u9879\uff08\u884c\uff09\u53ef\u4ee5\u5b58\u653e\u5728\u4efb\u610f\u9875\u9762\u4e2d\u3002\u5728\u7d22\u5f15\u4e2d\uff0c\u7b2c\u4e00\u9875\u901a\u5e38\u4fdd\u7559\u4e3a \u5143\u9875 \uff0c\u7528\u4e8e\u4fdd\u5b58\u63a7\u5236\u4fe1\u606f\uff1b\u5e76\u4e14\u6839\u636e\u7d22\u5f15\u8bbf\u95ee\u65b9\u6cd5\u7684\u4e0d\u540c\uff0c\u7d22\u5f15\u4e2d\u8fd8\u53ef\u80fd\u5b58\u5728\u4e0d\u540c\u7c7b\u578b\u7684\u9875\u9762\u3002 \u8868 69.2 \u5c55\u793a\u4e86\u9875\u9762\u7684\u603b\u4f53\u5e03\u5c40\u3002\u6bcf\u4e2a\u9875\u9762\u5305\u542b\u4e94\u4e2a\u90e8\u5206\u3002", "version": "11", "link_map": {"/zh/docs/11/storage-page-layout.html": "/docs/11/storage-page-layout.html", "/zh/docs/11/storage-page-layout.html#PAGE-TABLE": "/docs/11/storage-page-layout.html#PAGE-TABLE", "/zh/docs/11/storage-page-layout.html#ftn.id-1.10.21.8.2.2": "/docs/11/storage-page-layout.html#ftn.id-1.10.21.8.2.2"}, "body_html": "<p>\u5b58\u50a8\u7ed3\u6784 storage-page-layout\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n\u672c\u8282\u6982\u8ff0 <span>PostgreSQL</span> \u8868\u548c\u7d22\u5f15\u5185\u90e8\u6240\u4f7f\u7528\u7684\u9875\u9762\u683c\u5f0f\u3002<a href=\"/zh/docs/11/storage-page-layout.html#ftn.id-1.10.21.8.2.2\" rel=\"nofollow\"><sup>[15]</sup></a>\n\u5e8f\u5217\u548c <acronym>TOAST</acronym> \u8868\u7684\u683c\u5f0f\u4e0e\u666e\u901a\u8868\u76f8\u540c\u3002\n</p><p>\n\u5728\u4e0b\u9762\u7684\u8bf4\u660e\u4e2d\uff0c\u5047\u5b9a\u4e00\u4e2a<em>\u5b57\u8282</em>\u5305\u542b 8 \u4e2a\u4f4d\u3002\u53e6\u5916\uff0c\u672f\u8bed<em>\u9879</em>\u6307\u7684\u662f\u5b58\u50a8\u5728\u9875\u9762\u4e0a\u7684\u5355\u4e2a\u6570\u636e\u503c\u3002\u5728\u8868\u4e2d\uff0c\u9879\u662f\u4e00\u884c\uff1b\u5728\u7d22\u5f15\u4e2d\uff0c\u9879\u662f\u4e00\u6761\u7d22\u5f15\u6761\u76ee\u3002\n</p><p>\n\u6bcf\u4e2a\u8868\u548c\u7d22\u5f15\u90fd\u5b58\u50a8\u4e3a\u56fa\u5b9a\u5927\u5c0f\u7684<em>\u9875\u9762</em>\u6570\u7ec4\uff08\u901a\u5e38\u4e3a 8 kB\uff0c\u4e0d\u8fc7\u5728\u7f16\u8bd1\u670d\u52a1\u5668\u65f6\u53ef\u4ee5\u9009\u62e9\u4e0d\u540c\u7684\u9875\u9762\u5927\u5c0f\uff09\u3002\u5728\u8868\u4e2d\uff0c\u6240\u6709\u9875\u9762\u5728\u903b\u8f91\u4e0a\u90fd\u662f\u7b49\u4ef7\u7684\uff0c\u56e0\u6b64\u67d0\u4e2a\u7279\u5b9a\u9879\uff08\u884c\uff09\u53ef\u4ee5\u5b58\u653e\u5728\u4efb\u610f\u9875\u9762\u4e2d\u3002\u5728\u7d22\u5f15\u4e2d\uff0c\u7b2c\u4e00\u9875\u901a\u5e38\u4fdd\u7559\u4e3a<em>\u5143\u9875</em>\uff0c\u7528\u4e8e\u4fdd\u5b58\u63a7\u5236\u4fe1\u606f\uff1b\u5e76\u4e14\u6839\u636e\u7d22\u5f15\u8bbf\u95ee\u65b9\u6cd5\u7684\u4e0d\u540c\uff0c\u7d22\u5f15\u4e2d\u8fd8\u53ef\u80fd\u5b58\u5728\u4e0d\u540c\u7c7b\u578b\u7684\u9875\u9762\u3002\n</p><p>\n<a href=\"/zh/docs/11/storage-page-layout.html#PAGE-TABLE\" rel=\"nofollow\">\u8868\u00a069.2</a> \u5c55\u793a\u4e86\u9875\u9762\u7684\u603b\u4f53\u5e03\u5c40\u3002\u6bcf\u4e2a\u9875\u9762\u5305\u542b\u4e94\u4e2a\u90e8\u5206\u3002\n</p><p><a href=\"/zh/docs/11/storage-page-layout.html\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>", "body_sha256": "6520e0100b0d2986db1efbf6939c306cb5c9163a689295d2da63f3189d9df1fc", "content_hash": "e6b82c5fca8d6cdf1f67739a12ca9d6be82f540470c7b88f61b37136f38bcb1d", "source_database": "center", "source_revision": "2cb7c97d7a0d7278851bbc9c61f467b69c094c72b81740b751108e7892ebe1f0"}, "signature": "", "tables_zh": [{"key": "layout-0", "rows": [{"c0": "PageHeaderData", "c1": "\u957f 24 \u5b57\u8282\uff0c\u5305\u542b\u9875\u9762\u7684\u901a\u7528\u4fe1\u606f\uff0c\u4f8b\u5982\u7a7a\u95f2\u7a7a\u95f4\u6307\u9488\u3002"}, {"c0": "ItemIdData", "c1": "\u6307\u5411\u5b9e\u9645\u6570\u636e\u9879\u7684\u884c\u6307\u9488\u6570\u7ec4\u3002\u6bcf\u9879\u4e3a\u4e00\u4e2a\uff08\u504f\u79fb\uff0c\u957f\u5ea6\uff09\u5bf9\uff0c\u5360 4 \u5b57\u8282\u3002"}, {"c0": "\u7a7a\u95f2\u7a7a\u95f4", "c1": "\u5c1a\u672a\u5206\u914d\u7684\u7a7a\u95f4\u3002\u65b0\u884c\u6307\u9488\u4ece\u8be5\u533a\u57df\u7684\u8d77\u59cb\u5904\u5206\u914d\uff0c\u65b0\u6570\u636e\u9879\u4ece\u672b\u5c3e\u5904\u5206\u914d\u3002"}, {"c0": "\u9879", "c1": "\u5b9e\u9645\u7684\u6570\u636e\u9879\u672c\u8eab\u3002"}, {"c0": "\u7279\u6b8a\u7a7a\u95f4", "c1": "\u7d22\u5f15\u8bbf\u95ee\u65b9\u6cd5\u4e13\u7528\u6570\u636e\u3002\u4e0d\u540c\u65b9\u6cd5\u5b58\u50a8\u7684\u5185\u5bb9\u4e0d\u540c\uff0c\u666e\u901a\u8868\u4e2d\u6b64\u533a\u57df\u4e3a\u7a7a\u3002"}], "title": "\u9875\u9762\u603b\u4f53\u5e03\u5c40", "columns": [{"key": "c0", "label": "\u9879\u76ee"}, {"key": "c1", "label": "\u8bf4\u660e"}]}, {"key": "layout-1", "rows": [{"c0": "pd_lsn", "c1": "PageXLogRecPtr", "c2": "8 \u5b57\u8282", "c3": "LSN\uff1a\u8be5\u9875\u6700\u540e\u4e00\u6b21\u53d8\u5316\u6240\u5bf9\u5e94 WAL \u8bb0\u5f55\u7684\u6700\u540e\u4e00\u4e2a\u5b57\u8282\u4e4b\u540e\u7684\u4f4d\u7f6e\u3002"}, {"c0": "pd_checksum", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u9875\u9762\u6821\u9a8c\u548c"}, {"c0": "pd_flags", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u6807\u5fd7\u4f4d"}, {"c0": "pd_lower", "c1": "LocationIndex", "c2": "2 \u5b57\u8282", "c3": "\u7a7a\u95f2\u7a7a\u95f4\u8d77\u59cb\u4f4d\u7f6e\u7684\u504f\u79fb\u91cf"}, {"c0": "pd_upper", "c1": "LocationIndex", "c2": "2 \u5b57\u8282", "c3": "\u7a7a\u95f2\u7a7a\u95f4\u7ed3\u675f\u4f4d\u7f6e\u7684\u504f\u79fb\u91cf"}, {"c0": "pd_special", "c1": "LocationIndex", "c2": "2 \u5b57\u8282", "c3": "\u7279\u6b8a\u7a7a\u95f4\u8d77\u59cb\u4f4d\u7f6e\u7684\u504f\u79fb\u91cf"}, {"c0": "pd_pagesize_version", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u9875\u9762\u5927\u5c0f\u4e0e\u5e03\u5c40\u7248\u672c\u53f7\u4fe1\u606f"}, {"c0": "pd_prune_xid", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "\u9875\u9762\u4e0a\u6700\u65e9\u7684\u5c1a\u672a\u4fee\u526a\u7684 XMAX\uff1b\u6ca1\u6709\u5219\u4e3a\u96f6"}], "title": "PageHeaderData \u5e03\u5c40", "columns": [{"key": "c0", "label": "\u5b57\u6bb5"}, {"key": "c1", "label": "\u7c7b\u578b"}, {"key": "c2", "label": "\u957f\u5ea6"}, {"key": "c3", "label": "\u8bf4\u660e"}]}, {"key": "layout-2", "rows": [{"c0": "t_xmin", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "\u63d2\u5165\u4e8b\u52a1\u7684 XID"}, {"c0": "t_xmax", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "\u5220\u9664\u4e8b\u52a1\u7684 XID"}, {"c0": "t_cid", "c1": "CommandId", "c2": "4 \u5b57\u8282", "c3": "\u63d2\u5165\u548c\uff0f\u6216\u5220\u9664\u547d\u4ee4\u7684 CID\uff0c\u4e0e t_xvac \u5171\u7528\u5b58\u50a8\u4f4d\u7f6e"}, {"c0": "t_xvac", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "VACUUM \u64cd\u4f5c\u79fb\u52a8\u884c\u7248\u672c\u65f6\u4f7f\u7528\u7684 XID"}, {"c0": "t_ctid", "c1": "ItemPointerData", "c2": "6 \u5b57\u8282", "c3": "\u672c\u884c\u7248\u672c\u6216\u8f83\u65b0\u884c\u7248\u672c\u7684\u5f53\u524d TID"}, {"c0": "t_infomask2", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u5c5e\u6027\u6570\u91cf\u53ca\u5404\u79cd\u6807\u5fd7\u4f4d"}, {"c0": "t_infomask", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u5404\u79cd\u6807\u5fd7\u4f4d"}, {"c0": "t_hoff", "c1": "uint8", "c2": "1 \u5b57\u8282", "c3": "\u7528\u6237\u6570\u636e\u7684\u504f\u79fb\u91cf"}], "title": "HeapTupleHeaderData \u5e03\u5c40", "columns": [{"key": "c0", "label": "\u5b57\u6bb5"}, {"key": "c1", "label": "\u7c7b\u578b"}, {"key": "c2", "label": "\u957f\u5ea6"}, {"key": "c3", "label": "\u8bf4\u660e"}]}], "description": ["\u672c\u8282\u6982\u8ff0 PostgreSQL \u8868\u548c\u7d22\u5f15\u5185\u90e8\u6240\u4f7f\u7528\u7684\u9875\u9762\u683c\u5f0f\u3002 [15] \u5e8f\u5217\u548c TOAST \u8868\u7684\u683c\u5f0f\u4e0e\u666e\u901a\u8868\u76f8\u540c\u3002 \u5728\u4e0b\u9762\u7684\u8bf4\u660e\u4e2d\uff0c\u5047\u5b9a\u4e00\u4e2a \u5b57\u8282 \u5305\u542b 8 \u4e2a\u4f4d\u3002\u53e6\u5916\uff0c\u672f\u8bed \u9879 \u6307\u7684\u662f\u5b58\u50a8\u5728\u9875\u9762\u4e0a\u7684\u5355\u4e2a\u6570\u636e\u503c\u3002\u5728\u8868\u4e2d\uff0c\u9879\u662f\u4e00\u884c\uff1b\u5728\u7d22\u5f15\u4e2d\uff0c\u9879\u662f\u4e00\u6761\u7d22\u5f15\u6761\u76ee\u3002 \u6bcf\u4e2a\u8868\u548c\u7d22\u5f15\u90fd\u5b58\u50a8\u4e3a\u56fa\u5b9a\u5927\u5c0f\u7684 \u9875\u9762 \u6570\u7ec4\uff08\u901a\u5e38\u4e3a 8 kB\uff0c\u4e0d\u8fc7\u5728\u7f16\u8bd1\u670d\u52a1\u5668\u65f6\u53ef\u4ee5\u9009\u62e9\u4e0d\u540c\u7684\u9875\u9762\u5927\u5c0f\uff09\u3002\u5728\u8868\u4e2d\uff0c\u6240\u6709\u9875\u9762\u5728\u903b\u8f91\u4e0a\u90fd\u662f\u7b49\u4ef7\u7684\uff0c\u56e0\u6b64\u67d0\u4e2a\u7279\u5b9a\u9879\uff08\u884c\uff09\u53ef\u4ee5\u5b58\u653e\u5728\u4efb\u610f\u9875\u9762\u4e2d\u3002\u5728\u7d22\u5f15\u4e2d\uff0c\u7b2c\u4e00\u9875\u901a\u5e38\u4fdd\u7559\u4e3a \u5143\u9875 \uff0c\u7528\u4e8e\u4fdd\u5b58\u63a7\u5236\u4fe1\u606f\uff1b\u5e76\u4e14\u6839\u636e\u7d22\u5f15\u8bbf\u95ee\u65b9\u6cd5\u7684\u4e0d\u540c\uff0c\u7d22\u5f15\u4e2d\u8fd8\u53ef\u80fd\u5b58\u5728\u4e0d\u540c\u7c7b\u578b\u7684\u9875\u9762\u3002 \u8868 69.2 \u5c55\u793a\u4e86\u9875\u9762\u7684\u603b\u4f53\u5e03\u5c40\u3002\u6bcf\u4e2a\u9875\u9762\u5305\u542b\u4e94\u4e2a\u90e8\u5206\u3002"], "manual_html": "", "manual_path": "/docs/11/storage-page-layout.html", "sections_zh": [], "localization": {"status": "complete", "sources": [{"url": "/docs/11/storage-page-layout.html", "method": "same-major semantic node", "sha256": "2e786c1b60ec8abf4a16033196a1e0170710e61ad0177788b174748ccda0ac62", "language": "zh", "matched_nodes": ["#STORAGE-PAGE-LAYOUT/div[0]", "#STORAGE-PAGE-LAYOUT/div[15]/div[2]/p[0]", "#STORAGE-PAGE-LAYOUT/div[15]/p[1]", "#STORAGE-PAGE-LAYOUT/div[15]/p[4]", "#STORAGE-PAGE-LAYOUT/div[15]/p[5]", "#STORAGE-PAGE-LAYOUT/div[15]/p[6]", "#STORAGE-PAGE-LAYOUT/div[16]", "#STORAGE-PAGE-LAYOUT/div[1]", "#STORAGE-PAGE-LAYOUT/div[6]/div[1]/table[0]/tbody[2]/tr[3]/td[0]", "#STORAGE-PAGE-LAYOUT/div[6]/p[0]", "#STORAGE-PAGE-LAYOUT/div[9]/div[1]/table[0]/tbody[2]/tr[0]/td[2]", "#STORAGE-PAGE-LAYOUT/div[9]/p[0]", "#STORAGE-PAGE-LAYOUT/p[11]", "#STORAGE-PAGE-LAYOUT/p[12]", "#STORAGE-PAGE-LAYOUT/p[13]", "#STORAGE-PAGE-LAYOUT/p[14]", "#STORAGE-PAGE-LAYOUT/p[2]", "#STORAGE-PAGE-LAYOUT/p[3]", "#STORAGE-PAGE-LAYOUT/p[4]", "#STORAGE-PAGE-LAYOUT/p[5]"]}], "language": "zh", "original_text": {"/versions/11/description/0": "This section provides an overview of the page format used within PostgreSQL tables and indexes. [15] Sequences and TOAST tables are formatted just like a regular table.", "/versions/11/facts/0/label": "Definition scope", "/versions/11/facts/0/value": "Same-version core physical storage documentation", "/versions/11/tables/0/title": "Overall Page Layout", "/versions/11/tables/1/title": "PageHeaderData Layout", "/versions/11/tables/2/title": "HeapTupleHeaderData Layout", "/versions/11/related/0/label": "Storage Parameters", "/versions/11/tables/0/rows/0/c1": "24 bytes long. Contains general information about the page, including free space pointers.", "/versions/11/tables/0/rows/1/c1": "Array of item identifiers pointing to the actual items. Each entry is an (offset,length) pair. 4 bytes per item.", "/versions/11/tables/0/rows/2/c0": "Free space", "/versions/11/tables/0/rows/2/c1": "The unallocated space. New item identifiers are allocated from the start of this area, new items from the end.", "/versions/11/tables/0/rows/3/c0": "Items", "/versions/11/tables/0/rows/3/c1": "The actual items themselves.", "/versions/11/tables/0/rows/4/c0": "Special space", "/versions/11/tables/0/rows/4/c1": "Index access method specific data. Different methods store different data. Empty in ordinary tables.", "/versions/11/tables/1/rows/0/c2": "8 bytes", "/versions/11/tables/1/rows/0/c3": "LSN: next byte after last byte of WAL record for last change to this page", "/versions/11/tables/1/rows/1/c2": "2 bytes", "/versions/11/tables/1/rows/1/c3": "Page checksum", "/versions/11/tables/1/rows/2/c2": "2 bytes", "/versions/11/tables/1/rows/2/c3": "Flag bits", "/versions/11/tables/1/rows/3/c2": "2 bytes", "/versions/11/tables/1/rows/3/c3": "Offset to start of free space", "/versions/11/tables/1/rows/4/c2": "2 bytes", "/versions/11/tables/1/rows/4/c3": "Offset to end of free space", "/versions/11/tables/1/rows/5/c2": "2 bytes", "/versions/11/tables/1/rows/5/c3": "Offset to start of special space", "/versions/11/tables/1/rows/6/c2": "2 bytes", "/versions/11/tables/1/rows/6/c3": "Page size and layout version number information", "/versions/11/tables/1/rows/7/c2": "4 bytes", "/versions/11/tables/1/rows/7/c3": "Oldest unpruned XMAX on page, or zero if none", "/versions/11/tables/2/rows/0/c2": "4 bytes", "/versions/11/tables/2/rows/0/c3": "insert XID stamp", "/versions/11/tables/2/rows/1/c2": "4 bytes", "/versions/11/tables/2/rows/1/c3": "delete XID stamp", "/versions/11/tables/2/rows/2/c2": "4 bytes", "/versions/11/tables/2/rows/2/c3": "insert and/or delete CID stamp (overlays with t_xvac)", "/versions/11/tables/2/rows/3/c2": "4 bytes", "/versions/11/tables/2/rows/3/c3": "XID for VACUUM operation moving a row version", "/versions/11/tables/2/rows/4/c2": "6 bytes", "/versions/11/tables/2/rows/4/c3": "current TID of this or newer row version", "/versions/11/tables/2/rows/5/c2": "2 bytes", "/versions/11/tables/2/rows/5/c3": "number of attributes, plus various flag bits", "/versions/11/tables/2/rows/6/c2": "2 bytes", "/versions/11/tables/2/rows/6/c3": "various flag bits", "/versions/11/tables/2/rows/7/c2": "1 byte", "/versions/11/tables/2/rows/7/c3": "offset to user data", "/versions/11/tables/0/columns/0/label": "Item", "/versions/11/tables/0/columns/1/label": "Description", "/versions/11/tables/1/columns/0/label": "Field", "/versions/11/tables/1/columns/1/label": "Type", "/versions/11/tables/1/columns/2/label": "Length", "/versions/11/tables/1/columns/3/label": "Description", "/versions/11/tables/2/columns/0/label": "Field", "/versions/11/tables/2/columns/1/label": "Type", "/versions/11/tables/2/columns/2/label": "Length", "/versions/11/tables/2/columns/3/label": "Description"}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "abf4d2c58772e88c62776b87290103a269cfe0dd53268ed18cc3914679c483bc", "canonical_center_text_hash": "e6b82c5fca8d6cdf1f67739a12ca9d6be82f540470c7b88f61b37136f38bcb1d"}, "description_zh": "\u672c\u8282\u6982\u8ff0 PostgreSQL \u8868\u548c\u7d22\u5f15\u5185\u90e8\u6240\u4f7f\u7528\u7684\u9875\u9762\u683c\u5f0f\u3002 [15] \u5e8f\u5217\u548c TOAST \u8868\u7684\u683c\u5f0f\u4e0e\u666e\u901a\u8868\u76f8\u540c\u3002 \u5728\u4e0b\u9762\u7684\u8bf4\u660e\u4e2d\uff0c\u5047\u5b9a\u4e00\u4e2a \u5b57\u8282 \u5305\u542b 8 \u4e2a\u4f4d\u3002\u53e6\u5916\uff0c\u672f\u8bed \u9879 \u6307\u7684\u662f\u5b58\u50a8\u5728\u9875\u9762\u4e0a\u7684\u5355\u4e2a\u6570\u636e\u503c\u3002\u5728\u8868\u4e2d\uff0c\u9879\u662f\u4e00\u884c\uff1b\u5728\u7d22\u5f15\u4e2d\uff0c\u9879\u662f\u4e00\u6761\u7d22\u5f15\u6761\u76ee\u3002 \u6bcf\u4e2a\u8868\u548c\u7d22\u5f15\u90fd\u5b58\u50a8\u4e3a\u56fa\u5b9a\u5927\u5c0f\u7684 \u9875\u9762 \u6570\u7ec4\uff08\u901a\u5e38\u4e3a 8 kB\uff0c\u4e0d\u8fc7\u5728\u7f16\u8bd1\u670d\u52a1\u5668\u65f6\u53ef\u4ee5\u9009\u62e9\u4e0d\u540c\u7684\u9875\u9762\u5927\u5c0f\uff09\u3002\u5728\u8868\u4e2d\uff0c\u6240\u6709\u9875\u9762\u5728\u903b\u8f91\u4e0a\u90fd\u662f\u7b49\u4ef7\u7684\uff0c\u56e0\u6b64\u67d0\u4e2a\u7279\u5b9a\u9879\uff08\u884c\uff09\u53ef\u4ee5\u5b58\u653e\u5728\u4efb\u610f\u9875\u9762\u4e2d\u3002\u5728\u7d22\u5f15\u4e2d\uff0c\u7b2c\u4e00\u9875\u901a\u5e38\u4fdd\u7559\u4e3a \u5143\u9875 \uff0c\u7528\u4e8e\u4fdd\u5b58\u63a7\u5236\u4fe1\u606f\uff1b\u5e76\u4e14\u6839\u636e\u7d22\u5f15\u8bbf\u95ee\u65b9\u6cd5\u7684\u4e0d\u540c\uff0c\u7d22\u5f15\u4e2d\u8fd8\u53ef\u80fd\u5b58\u5728\u4e0d\u540c\u7c7b\u578b\u7684\u9875\u9762\u3002 \u8868 69.2 \u5c55\u793a\u4e86\u9875\u9762\u7684\u603b\u4f53\u5e03\u5c40\u3002\u6bcf\u4e2a\u9875\u9762\u5305\u542b\u4e94\u4e2a\u90e8\u5206\u3002", "comparison_data": {"layouts": [{"key": "layout-0", "rows": [{"c0": "PageHeaderData", "c1": "24 bytes long. Contains general information about the page, including free space pointers."}, {"c0": "ItemIdData", "c1": "Array of item identifiers pointing to the actual items. Each entry is an (offset,length) pair. 4 bytes per item."}, {"c0": "Free space", "c1": "The unallocated space. New item identifiers are allocated from the start of this area, new items from the end."}, {"c0": "Items", "c1": "The actual items themselves."}, {"c0": "Special space", "c1": "Index access method specific data. Different methods store different data. Empty in ordinary tables."}], "title": "Overall Page Layout", "columns": [{"key": "c0", "label": "Item"}, {"key": "c1", "label": "Description"}]}, {"key": "layout-1", "rows": [{"c0": "pd_lsn", "c1": "PageXLogRecPtr", "c2": "8 bytes", "c3": "LSN: next byte after last byte of WAL record for last change to this page"}, {"c0": "pd_checksum", "c1": "uint16", "c2": "2 bytes", "c3": "Page checksum"}, {"c0": "pd_flags", "c1": "uint16", "c2": "2 bytes", "c3": "Flag bits"}, {"c0": "pd_lower", "c1": "LocationIndex", "c2": "2 bytes", "c3": "Offset to start of free space"}, {"c0": "pd_upper", "c1": "LocationIndex", "c2": "2 bytes", "c3": "Offset to end of free space"}, {"c0": "pd_special", "c1": "LocationIndex", "c2": "2 bytes", "c3": "Offset to start of special space"}, {"c0": "pd_pagesize_version", "c1": "uint16", "c2": "2 bytes", "c3": "Page size and layout version number information"}, {"c0": "pd_prune_xid", "c1": "TransactionId", "c2": "4 bytes", "c3": "Oldest unpruned XMAX on page, or zero if none"}], "title": "PageHeaderData Layout", "columns": [{"key": "c0", "label": "Field"}, {"key": "c1", "label": "Type"}, {"key": "c2", "label": "Length"}, {"key": "c3", "label": "Description"}]}, {"key": "layout-2", "rows": [{"c0": "t_xmin", "c1": "TransactionId", "c2": "4 bytes", "c3": "insert XID stamp"}, {"c0": "t_xmax", "c1": "TransactionId", "c2": "4 bytes", "c3": "delete XID stamp"}, {"c0": "t_cid", "c1": "CommandId", "c2": "4 bytes", "c3": "insert and/or delete CID stamp (overlays with t_xvac)"}, {"c0": "t_xvac", "c1": "TransactionId", "c2": "4 bytes", "c3": "XID for VACUUM operation moving a row version"}, {"c0": "t_ctid", "c1": "ItemPointerData", "c2": "6 bytes", "c3": "current TID of this or newer row version"}, {"c0": "t_infomask2", "c1": "uint16", "c2": "2 bytes", "c3": "number of attributes, plus various flag bits"}, {"c0": "t_infomask", "c1": "uint16", "c2": "2 bytes", "c3": "various flag bits"}, {"c0": "t_hoff", "c1": "uint8", "c2": "1 byte", "c3": "offset to user data"}], "title": "HeapTupleHeaderData Layout", "columns": [{"key": "c0", "label": "Field"}, {"key": "c1", "label": "Type"}, {"key": "c2", "label": "Length"}, {"key": "c3", "label": "Description"}]}]}, "comparison_hash": "b621fa85b3be27a0eb0d82986e9524f2ef0a776761901f0d429826eec4822d0a", "manual_language": "zh", "description_zh_html": "<p>\u5b58\u50a8\u7ed3\u6784 storage-page-layout\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n\u672c\u8282\u6982\u8ff0 <span>PostgreSQL</span> \u8868\u548c\u7d22\u5f15\u5185\u90e8\u6240\u4f7f\u7528\u7684\u9875\u9762\u683c\u5f0f\u3002<a href=\"/zh/docs/11/storage-page-layout.html#ftn.id-1.10.21.8.2.2\" rel=\"nofollow\"><sup>[15]</sup></a>\n\u5e8f\u5217\u548c <acronym>TOAST</acronym> \u8868\u7684\u683c\u5f0f\u4e0e\u666e\u901a\u8868\u76f8\u540c\u3002\n</p><p>\n\u5728\u4e0b\u9762\u7684\u8bf4\u660e\u4e2d\uff0c\u5047\u5b9a\u4e00\u4e2a<em>\u5b57\u8282</em>\u5305\u542b 8 \u4e2a\u4f4d\u3002\u53e6\u5916\uff0c\u672f\u8bed<em>\u9879</em>\u6307\u7684\u662f\u5b58\u50a8\u5728\u9875\u9762\u4e0a\u7684\u5355\u4e2a\u6570\u636e\u503c\u3002\u5728\u8868\u4e2d\uff0c\u9879\u662f\u4e00\u884c\uff1b\u5728\u7d22\u5f15\u4e2d\uff0c\u9879\u662f\u4e00\u6761\u7d22\u5f15\u6761\u76ee\u3002\n</p><p>\n\u6bcf\u4e2a\u8868\u548c\u7d22\u5f15\u90fd\u5b58\u50a8\u4e3a\u56fa\u5b9a\u5927\u5c0f\u7684<em>\u9875\u9762</em>\u6570\u7ec4\uff08\u901a\u5e38\u4e3a 8 kB\uff0c\u4e0d\u8fc7\u5728\u7f16\u8bd1\u670d\u52a1\u5668\u65f6\u53ef\u4ee5\u9009\u62e9\u4e0d\u540c\u7684\u9875\u9762\u5927\u5c0f\uff09\u3002\u5728\u8868\u4e2d\uff0c\u6240\u6709\u9875\u9762\u5728\u903b\u8f91\u4e0a\u90fd\u662f\u7b49\u4ef7\u7684\uff0c\u56e0\u6b64\u67d0\u4e2a\u7279\u5b9a\u9879\uff08\u884c\uff09\u53ef\u4ee5\u5b58\u653e\u5728\u4efb\u610f\u9875\u9762\u4e2d\u3002\u5728\u7d22\u5f15\u4e2d\uff0c\u7b2c\u4e00\u9875\u901a\u5e38\u4fdd\u7559\u4e3a<em>\u5143\u9875</em>\uff0c\u7528\u4e8e\u4fdd\u5b58\u63a7\u5236\u4fe1\u606f\uff1b\u5e76\u4e14\u6839\u636e\u7d22\u5f15\u8bbf\u95ee\u65b9\u6cd5\u7684\u4e0d\u540c\uff0c\u7d22\u5f15\u4e2d\u8fd8\u53ef\u80fd\u5b58\u5728\u4e0d\u540c\u7c7b\u578b\u7684\u9875\u9762\u3002\n</p><p>\n<a href=\"/zh/docs/11/storage-page-layout.html#PAGE-TABLE\" rel=\"nofollow\">\u8868\u00a069.2</a> \u5c55\u793a\u4e86\u9875\u9762\u7684\u603b\u4f53\u5e03\u5c40\u3002\u6bcf\u4e2a\u9875\u9762\u5305\u542b\u4e94\u4e2a\u90e8\u5206\u3002\n</p><p><a href=\"/zh/docs/11/storage-page-layout.html\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "12": {"facts": [{"label": "\u5b9a\u4e49\u8303\u56f4", "value": "\u540c\u7248\u672c\u6838\u5fc3\u7269\u7406\u5b58\u50a8\u6587\u6863"}], "tables": [{"key": "layout-0", "rows": [{"c0": "PageHeaderData", "c1": "\u957f 24 \u5b57\u8282\uff0c\u5305\u542b\u9875\u9762\u7684\u901a\u7528\u4fe1\u606f\uff0c\u4f8b\u5982\u7a7a\u95f2\u7a7a\u95f4\u6307\u9488\u3002"}, {"c0": "ItemIdData", "c1": "\u6307\u5411\u5b9e\u9645\u6570\u636e\u9879\u7684\u884c\u6307\u9488\u6570\u7ec4\u3002\u6bcf\u9879\u4e3a\u4e00\u4e2a\uff08\u504f\u79fb\uff0c\u957f\u5ea6\uff09\u5bf9\uff0c\u5360 4 \u5b57\u8282\u3002"}, {"c0": "\u7a7a\u95f2\u7a7a\u95f4", "c1": "\u5c1a\u672a\u5206\u914d\u7684\u7a7a\u95f4\u3002\u65b0\u884c\u6307\u9488\u4ece\u8be5\u533a\u57df\u7684\u8d77\u59cb\u5904\u5206\u914d\uff0c\u65b0\u6570\u636e\u9879\u4ece\u672b\u5c3e\u5904\u5206\u914d\u3002"}, {"c0": "\u9879", "c1": "\u5b9e\u9645\u7684\u6570\u636e\u9879\u672c\u8eab\u3002"}, {"c0": "\u7279\u6b8a\u7a7a\u95f4", "c1": "\u7d22\u5f15\u8bbf\u95ee\u65b9\u6cd5\u4e13\u7528\u6570\u636e\u3002\u4e0d\u540c\u65b9\u6cd5\u5b58\u50a8\u7684\u5185\u5bb9\u4e0d\u540c\uff0c\u666e\u901a\u8868\u4e2d\u6b64\u533a\u57df\u4e3a\u7a7a\u3002"}], "title": "\u9875\u9762\u603b\u4f53\u5e03\u5c40", "columns": [{"key": "c0", "label": "\u9879\u76ee"}, {"key": "c1", "label": "\u8bf4\u660e"}]}, {"key": "layout-1", "rows": [{"c0": "pd_lsn", "c1": "PageXLogRecPtr", "c2": "8 \u5b57\u8282", "c3": "LSN\uff1a\u8be5\u9875\u6700\u540e\u4e00\u6b21\u53d8\u5316\u6240\u5bf9\u5e94 WAL \u8bb0\u5f55\u7684\u6700\u540e\u4e00\u4e2a\u5b57\u8282\u4e4b\u540e\u7684\u4f4d\u7f6e\u3002"}, {"c0": "pd_checksum", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u9875\u9762\u6821\u9a8c\u548c"}, {"c0": "pd_flags", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u6807\u5fd7\u4f4d"}, {"c0": "pd_lower", "c1": "LocationIndex", "c2": "2 \u5b57\u8282", "c3": "\u7a7a\u95f2\u7a7a\u95f4\u8d77\u59cb\u4f4d\u7f6e\u7684\u504f\u79fb\u91cf"}, {"c0": "pd_upper", "c1": "LocationIndex", "c2": "2 \u5b57\u8282", "c3": "\u7a7a\u95f2\u7a7a\u95f4\u7ed3\u675f\u4f4d\u7f6e\u7684\u504f\u79fb\u91cf"}, {"c0": "pd_special", "c1": "LocationIndex", "c2": "2 \u5b57\u8282", "c3": "\u7279\u6b8a\u7a7a\u95f4\u8d77\u59cb\u4f4d\u7f6e\u7684\u504f\u79fb\u91cf"}, {"c0": "pd_pagesize_version", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u9875\u9762\u5927\u5c0f\u4e0e\u5e03\u5c40\u7248\u672c\u53f7\u4fe1\u606f"}, {"c0": "pd_prune_xid", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "\u9875\u9762\u4e0a\u6700\u65e9\u7684\u5c1a\u672a\u4fee\u526a\u7684 XMAX\uff1b\u6ca1\u6709\u5219\u4e3a\u96f6"}], "title": "PageHeaderData \u5e03\u5c40", "columns": [{"key": "c0", "label": "\u5b57\u6bb5"}, {"key": "c1", "label": "\u7c7b\u578b"}, {"key": "c2", "label": "\u957f\u5ea6"}, {"key": "c3", "label": "\u8bf4\u660e"}]}, {"key": "layout-2", "rows": [{"c0": "t_xmin", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "\u63d2\u5165\u4e8b\u52a1\u7684 XID"}, {"c0": "t_xmax", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "\u5220\u9664\u4e8b\u52a1\u7684 XID"}, {"c0": "t_cid", "c1": "CommandId", "c2": "4 \u5b57\u8282", "c3": "\u63d2\u5165\u548c\uff0f\u6216\u5220\u9664\u547d\u4ee4\u7684 CID\uff0c\u4e0e t_xvac \u5171\u7528\u5b58\u50a8\u4f4d\u7f6e"}, {"c0": "t_xvac", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "VACUUM \u64cd\u4f5c\u79fb\u52a8\u884c\u7248\u672c\u65f6\u4f7f\u7528\u7684 XID"}, {"c0": "t_ctid", "c1": "ItemPointerData", "c2": "6 \u5b57\u8282", "c3": "\u672c\u884c\u7248\u672c\u6216\u8f83\u65b0\u884c\u7248\u672c\u7684\u5f53\u524d TID"}, {"c0": "t_infomask2", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u5c5e\u6027\u6570\u91cf\u53ca\u5404\u79cd\u6807\u5fd7\u4f4d"}, {"c0": "t_infomask", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u5404\u79cd\u6807\u5fd7\u4f4d"}, {"c0": "t_hoff", "c1": "uint8", "c2": "1 \u5b57\u8282", "c3": "\u7528\u6237\u6570\u636e\u7684\u504f\u79fb\u91cf"}], "title": "HeapTupleHeaderData \u5e03\u5c40", "columns": [{"key": "c0", "label": "\u5b57\u6bb5"}, {"key": "c1", "label": "\u7c7b\u578b"}, {"key": "c2", "label": "\u957f\u5ea6"}, {"key": "c3", "label": "\u8bf4\u660e"}]}], "diagram": "page-layout", "related": [{"url": "/wiki/tableam/?v=12", "label": "Table AM"}, {"url": "/wiki/relopts/?v=12", "label": "\u5b58\u50a8\u53c2\u6570"}], "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-page-layout.html", "path": "storage-page-layout.html", "label": "PostgreSQL 12 English manual", "sha256": "f485389ef7d0b5fd0a2ba4d0199308aac99fa413f8bdca01c3dab726841ee224"}], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-identity", "manual": {"url": "/zh/docs/12/storage-page-layout.html", "anchor": "", "locale": "zh-Hans", "version": "12", "build_id": 65, "page_key": "storage-page-layout.html", "extraction": "concept-introduction", "source_hash": "3cc93e63844cdbe7334fc1e9124fba844e5baa971775b04f93ca30e8d738ad5b", "fragment_sha256": "03d6ed83582dc7921f19e33eedba802ac678c29cbf113ca44ac558c8164261a4", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "snapshot:sha256:86d2ff781f93e1de17122ebc514d5e64fcb63fed15941f496d7e146c6dcc7a49", "translated_from_revision": null}, "body_sha256": "cfd617f0d3e9a975177fdd56b7b4fd526a666acd03e6f219533691d2152bc725", "runtime_rerun": false, "authored_translation": "source-derived-identity", "source_facts_revision": "8df3c0474782589d3c6f374b5133b1bd14d168086edbc13c6e72e67dd4527a3b"}, "facts_zh": [{"label": "\u5b9a\u4e49\u8303\u56f4", "value": "\u540c\u7248\u672c\u6838\u5fc3\u7269\u7406\u5b58\u50a8\u6587\u6863"}], "sections": [], "center_zh": {"title": "Database Page Layout", "locale": "zh-Hans", "source": {"key": "storage-page-layout", "locale": "zh-Hans", "version": "12", "text_hash": "609b6f40b7e0b32505fc1d82d31ae27f3447cfc73f9dbcdd649859d8194723a5", "collection": "storage", "dataset_hash": "7c31b524dfe136022d39a6ae8dcfac6b3bbd5f8fdaf422536599981252aff0c9", "source_database": "center", "source_revision": "8df3c0474782589d3c6f374b5133b1bd14d168086edbc13c6e72e67dd4527a3b"}, "payload": {"facts": [{"label": "\u5b9a\u4e49\u8303\u56f4", "value": "\u540c\u7248\u672c\u6838\u5fc3\u7269\u7406\u5b58\u50a8\u6587\u6863"}], "tables": [{"key": "layout-0", "rows": [{"c0": "PageHeaderData", "c1": "\u957f 24 \u5b57\u8282\uff0c\u5305\u542b\u9875\u9762\u7684\u901a\u7528\u4fe1\u606f\uff0c\u4f8b\u5982\u7a7a\u95f2\u7a7a\u95f4\u6307\u9488\u3002"}, {"c0": "ItemIdData", "c1": "\u6307\u5411\u5b9e\u9645\u6570\u636e\u9879\u7684\u884c\u6307\u9488\u6570\u7ec4\u3002\u6bcf\u9879\u4e3a\u4e00\u4e2a\uff08\u504f\u79fb\uff0c\u957f\u5ea6\uff09\u5bf9\uff0c\u5360 4 \u5b57\u8282\u3002"}, {"c0": "\u7a7a\u95f2\u7a7a\u95f4", "c1": "\u5c1a\u672a\u5206\u914d\u7684\u7a7a\u95f4\u3002\u65b0\u884c\u6307\u9488\u4ece\u8be5\u533a\u57df\u7684\u8d77\u59cb\u5904\u5206\u914d\uff0c\u65b0\u6570\u636e\u9879\u4ece\u672b\u5c3e\u5904\u5206\u914d\u3002"}, {"c0": "\u9879", "c1": "\u5b9e\u9645\u7684\u6570\u636e\u9879\u672c\u8eab\u3002"}, {"c0": "\u7279\u6b8a\u7a7a\u95f4", "c1": "\u7d22\u5f15\u8bbf\u95ee\u65b9\u6cd5\u4e13\u7528\u6570\u636e\u3002\u4e0d\u540c\u65b9\u6cd5\u5b58\u50a8\u7684\u5185\u5bb9\u4e0d\u540c\uff0c\u666e\u901a\u8868\u4e2d\u6b64\u533a\u57df\u4e3a\u7a7a\u3002"}], "title": "\u9875\u9762\u603b\u4f53\u5e03\u5c40", "columns": [{"key": "c0", "label": "\u9879\u76ee"}, {"key": "c1", "label": "\u8bf4\u660e"}]}, {"key": "layout-1", "rows": [{"c0": "pd_lsn", "c1": "PageXLogRecPtr", "c2": "8 \u5b57\u8282", "c3": "LSN\uff1a\u8be5\u9875\u6700\u540e\u4e00\u6b21\u53d8\u5316\u6240\u5bf9\u5e94 WAL \u8bb0\u5f55\u7684\u6700\u540e\u4e00\u4e2a\u5b57\u8282\u4e4b\u540e\u7684\u4f4d\u7f6e\u3002"}, {"c0": "pd_checksum", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u9875\u9762\u6821\u9a8c\u548c"}, {"c0": "pd_flags", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u6807\u5fd7\u4f4d"}, {"c0": "pd_lower", "c1": "LocationIndex", "c2": "2 \u5b57\u8282", "c3": "\u7a7a\u95f2\u7a7a\u95f4\u8d77\u59cb\u4f4d\u7f6e\u7684\u504f\u79fb\u91cf"}, {"c0": "pd_upper", "c1": "LocationIndex", "c2": "2 \u5b57\u8282", "c3": "\u7a7a\u95f2\u7a7a\u95f4\u7ed3\u675f\u4f4d\u7f6e\u7684\u504f\u79fb\u91cf"}, {"c0": "pd_special", "c1": "LocationIndex", "c2": "2 \u5b57\u8282", "c3": "\u7279\u6b8a\u7a7a\u95f4\u8d77\u59cb\u4f4d\u7f6e\u7684\u504f\u79fb\u91cf"}, {"c0": "pd_pagesize_version", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u9875\u9762\u5927\u5c0f\u4e0e\u5e03\u5c40\u7248\u672c\u53f7\u4fe1\u606f"}, {"c0": "pd_prune_xid", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "\u9875\u9762\u4e0a\u6700\u65e9\u7684\u5c1a\u672a\u4fee\u526a\u7684 XMAX\uff1b\u6ca1\u6709\u5219\u4e3a\u96f6"}], "title": "PageHeaderData \u5e03\u5c40", "columns": [{"key": "c0", "label": "\u5b57\u6bb5"}, {"key": "c1", "label": "\u7c7b\u578b"}, {"key": "c2", "label": "\u957f\u5ea6"}, {"key": "c3", "label": "\u8bf4\u660e"}]}, {"key": "layout-2", "rows": [{"c0": "t_xmin", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "\u63d2\u5165\u4e8b\u52a1\u7684 XID"}, {"c0": "t_xmax", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "\u5220\u9664\u4e8b\u52a1\u7684 XID"}, {"c0": "t_cid", "c1": "CommandId", "c2": "4 \u5b57\u8282", "c3": "\u63d2\u5165\u548c\uff0f\u6216\u5220\u9664\u547d\u4ee4\u7684 CID\uff0c\u4e0e t_xvac \u5171\u7528\u5b58\u50a8\u4f4d\u7f6e"}, {"c0": "t_xvac", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "VACUUM \u64cd\u4f5c\u79fb\u52a8\u884c\u7248\u672c\u65f6\u4f7f\u7528\u7684 XID"}, {"c0": "t_ctid", "c1": "ItemPointerData", "c2": "6 \u5b57\u8282", "c3": "\u672c\u884c\u7248\u672c\u6216\u8f83\u65b0\u884c\u7248\u672c\u7684\u5f53\u524d TID"}, {"c0": "t_infomask2", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u5c5e\u6027\u6570\u91cf\u53ca\u5404\u79cd\u6807\u5fd7\u4f4d"}, {"c0": "t_infomask", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u5404\u79cd\u6807\u5fd7\u4f4d"}, {"c0": "t_hoff", "c1": "uint8", "c2": "1 \u5b57\u8282", "c3": "\u7528\u6237\u6570\u636e\u7684\u504f\u79fb\u91cf"}], "title": "HeapTupleHeaderData \u5e03\u5c40", "columns": [{"key": "c0", "label": "\u5b57\u6bb5"}, {"key": "c1", "label": "\u7c7b\u578b"}, {"key": "c2", "label": "\u957f\u5ea6"}, {"key": "c3", "label": "\u8bf4\u660e"}]}], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-identity", "manual": {"url": "/zh/docs/12/storage-page-layout.html", "anchor": "", "locale": "zh-Hans", "version": "12", "build_id": 65, "page_key": "storage-page-layout.html", "extraction": "concept-introduction", "source_hash": "3cc93e63844cdbe7334fc1e9124fba844e5baa971775b04f93ca30e8d738ad5b", "fragment_sha256": "03d6ed83582dc7921f19e33eedba802ac678c29cbf113ca44ac558c8164261a4", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "snapshot:sha256:86d2ff781f93e1de17122ebc514d5e64fcb63fed15941f496d7e146c6dcc7a49", "translated_from_revision": null}, "body_sha256": "cfd617f0d3e9a975177fdd56b7b4fd526a666acd03e6f219533691d2152bc725", "runtime_rerun": false, "authored_translation": "source-derived-identity", "source_facts_revision": "8df3c0474782589d3c6f374b5133b1bd14d168086edbc13c6e72e67dd4527a3b"}, "sections": [], "description_zh": "\u672c\u8282\u6982\u8ff0 PostgreSQL \u8868\u548c\u7d22\u5f15\u5185\u90e8\u6240\u4f7f\u7528\u7684\u9875\u9762\u683c\u5f0f\u3002 [16] \u5e8f\u5217\u548c TOAST \u8868\u7684\u683c\u5f0f\u4e0e\u666e\u901a\u8868\u76f8\u540c\u3002 \u5728\u4e0b\u9762\u7684\u8bf4\u660e\u4e2d\uff0c\u5047\u5b9a\u4e00\u4e2a \u5b57\u8282 \u5305\u542b 8 \u4e2a\u4f4d\u3002\u53e6\u5916\uff0c\u672f\u8bed \u9879 \u6307\u7684\u662f\u5b58\u50a8\u5728\u9875\u9762\u4e0a\u7684\u5355\u4e2a\u6570\u636e\u503c\u3002\u5728\u8868\u4e2d\uff0c\u9879\u662f\u4e00\u884c\uff1b\u5728\u7d22\u5f15\u4e2d\uff0c\u9879\u662f\u4e00\u6761\u7d22\u5f15\u6761\u76ee\u3002 \u6bcf\u4e2a\u8868\u548c\u7d22\u5f15\u90fd\u5b58\u50a8\u4e3a\u56fa\u5b9a\u5927\u5c0f\u7684 \u9875\u9762 \u6570\u7ec4\uff08\u901a\u5e38\u4e3a 8 kB\uff0c\u4e0d\u8fc7\u5728\u7f16\u8bd1\u670d\u52a1\u5668\u65f6\u53ef\u4ee5\u9009\u62e9\u4e0d\u540c\u7684\u9875\u9762\u5927\u5c0f\uff09\u3002\u5728\u8868\u4e2d\uff0c\u6240\u6709\u9875\u9762\u5728\u903b\u8f91\u4e0a\u90fd\u662f\u7b49\u4ef7\u7684\uff0c\u56e0\u6b64\u67d0\u4e2a\u7279\u5b9a\u9879\uff08\u884c\uff09\u53ef\u4ee5\u5b58\u653e\u5728\u4efb\u610f\u9875\u9762\u4e2d\u3002\u5728\u7d22\u5f15\u4e2d\uff0c\u7b2c\u4e00\u9875\u901a\u5e38\u4fdd\u7559\u4e3a \u5143\u9875 \uff0c\u7528\u4e8e\u4fdd\u5b58\u63a7\u5236\u4fe1\u606f\uff1b\u5e76\u4e14\u6839\u636e\u7d22\u5f15\u8bbf\u95ee\u65b9\u6cd5\u7684\u4e0d\u540c\uff0c\u7d22\u5f15\u4e2d\u8fd8\u53ef\u80fd\u5b58\u5728\u4e0d\u540c\u7c7b\u578b\u7684\u9875\u9762\u3002 \u8868 69.2 \u5c55\u793a\u4e86\u9875\u9762\u7684\u603b\u4f53\u5e03\u5c40\u3002\u6bcf\u4e2a\u9875\u9762\u5305\u542b\u4e94\u4e2a\u90e8\u5206\u3002", "description_zh_html": "<p>\u5b58\u50a8\u7ed3\u6784 storage-page-layout\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n\u672c\u8282\u6982\u8ff0 <span class=\"productname\">PostgreSQL</span> \u8868\u548c\u7d22\u5f15\u5185\u90e8\u6240\u4f7f\u7528\u7684\u9875\u9762\u683c\u5f0f\u3002<a class=\"footnote\" href=\"/zh/docs/12/storage-page-layout.html#ftn.id-1.10.22.8.2.2\"><sup class=\"footnote\">[16]</sup></a>\n\u5e8f\u5217\u548c <acronym class=\"acronym\">TOAST</acronym> \u8868\u7684\u683c\u5f0f\u4e0e\u666e\u901a\u8868\u76f8\u540c\u3002\n</p><p>\n\u5728\u4e0b\u9762\u7684\u8bf4\u660e\u4e2d\uff0c\u5047\u5b9a\u4e00\u4e2a<em class=\"firstterm\">\u5b57\u8282</em>\u5305\u542b 8 \u4e2a\u4f4d\u3002\u53e6\u5916\uff0c\u672f\u8bed<em class=\"firstterm\">\u9879</em>\u6307\u7684\u662f\u5b58\u50a8\u5728\u9875\u9762\u4e0a\u7684\u5355\u4e2a\u6570\u636e\u503c\u3002\u5728\u8868\u4e2d\uff0c\u9879\u662f\u4e00\u884c\uff1b\u5728\u7d22\u5f15\u4e2d\uff0c\u9879\u662f\u4e00\u6761\u7d22\u5f15\u6761\u76ee\u3002\n</p><p>\n\u6bcf\u4e2a\u8868\u548c\u7d22\u5f15\u90fd\u5b58\u50a8\u4e3a\u56fa\u5b9a\u5927\u5c0f\u7684<em class=\"firstterm\">\u9875\u9762</em>\u6570\u7ec4\uff08\u901a\u5e38\u4e3a 8 kB\uff0c\u4e0d\u8fc7\u5728\u7f16\u8bd1\u670d\u52a1\u5668\u65f6\u53ef\u4ee5\u9009\u62e9\u4e0d\u540c\u7684\u9875\u9762\u5927\u5c0f\uff09\u3002\u5728\u8868\u4e2d\uff0c\u6240\u6709\u9875\u9762\u5728\u903b\u8f91\u4e0a\u90fd\u662f\u7b49\u4ef7\u7684\uff0c\u56e0\u6b64\u67d0\u4e2a\u7279\u5b9a\u9879\uff08\u884c\uff09\u53ef\u4ee5\u5b58\u653e\u5728\u4efb\u610f\u9875\u9762\u4e2d\u3002\u5728\u7d22\u5f15\u4e2d\uff0c\u7b2c\u4e00\u9875\u901a\u5e38\u4fdd\u7559\u4e3a<em class=\"firstterm\">\u5143\u9875</em>\uff0c\u7528\u4e8e\u4fdd\u5b58\u63a7\u5236\u4fe1\u606f\uff1b\u5e76\u4e14\u6839\u636e\u7d22\u5f15\u8bbf\u95ee\u65b9\u6cd5\u7684\u4e0d\u540c\uff0c\u7d22\u5f15\u4e2d\u8fd8\u53ef\u80fd\u5b58\u5728\u4e0d\u540c\u7c7b\u578b\u7684\u9875\u9762\u3002\n</p><p>\n<a class=\"xref\" href=\"/zh/docs/12/storage-page-layout.html#PAGE-TABLE\">\u8868\u00a069.2</a> \u5c55\u793a\u4e86\u9875\u9762\u7684\u603b\u4f53\u5e03\u5c40\u3002\u6bcf\u4e2a\u9875\u9762\u5305\u542b\u4e94\u4e2a\u90e8\u5206\u3002\n</p><p><a href=\"/zh/docs/12/storage-page-layout.html\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "summary": "\u672c\u8282\u6982\u8ff0 PostgreSQL \u8868\u548c\u7d22\u5f15\u5185\u90e8\u6240\u4f7f\u7528\u7684\u9875\u9762\u683c\u5f0f\u3002 [16] \u5e8f\u5217\u548c TOAST \u8868\u7684\u683c\u5f0f\u4e0e\u666e\u901a\u8868\u76f8\u540c\u3002 \u5728\u4e0b\u9762\u7684\u8bf4\u660e\u4e2d\uff0c\u5047\u5b9a\u4e00\u4e2a \u5b57\u8282 \u5305\u542b 8 \u4e2a\u4f4d\u3002\u53e6\u5916\uff0c\u672f\u8bed \u9879 \u6307\u7684\u662f\u5b58\u50a8\u5728\u9875\u9762\u4e0a\u7684\u5355\u4e2a\u6570\u636e\u503c\u3002\u5728\u8868\u4e2d\uff0c\u9879\u662f\u4e00\u884c\uff1b\u5728\u7d22\u5f15\u4e2d\uff0c\u9879\u662f\u4e00\u6761\u7d22\u5f15\u6761\u76ee\u3002 \u6bcf\u4e2a\u8868\u548c\u7d22\u5f15\u90fd\u5b58\u50a8\u4e3a\u56fa\u5b9a\u5927\u5c0f\u7684 \u9875\u9762 \u6570\u7ec4\uff08\u901a\u5e38\u4e3a 8 kB\uff0c\u4e0d\u8fc7\u5728\u7f16\u8bd1\u670d\u52a1\u5668\u65f6\u53ef\u4ee5\u9009\u62e9\u4e0d\u540c\u7684\u9875\u9762\u5927\u5c0f\uff09\u3002\u5728\u8868\u4e2d\uff0c\u6240\u6709\u9875\u9762\u5728\u903b\u8f91\u4e0a\u90fd\u662f\u7b49\u4ef7\u7684\uff0c\u56e0\u6b64\u67d0\u4e2a\u7279\u5b9a\u9879\uff08\u884c\uff09\u53ef\u4ee5\u5b58\u653e\u5728\u4efb\u610f\u9875\u9762\u4e2d\u3002\u5728\u7d22\u5f15\u4e2d\uff0c\u7b2c\u4e00\u9875\u901a\u5e38\u4fdd\u7559\u4e3a \u5143\u9875 \uff0c\u7528\u4e8e\u4fdd\u5b58\u63a7\u5236\u4fe1\u606f\uff1b\u5e76\u4e14\u6839\u636e\u7d22\u5f15\u8bbf\u95ee\u65b9\u6cd5\u7684\u4e0d\u540c\uff0c\u7d22\u5f15\u4e2d\u8fd8\u53ef\u80fd\u5b58\u5728\u4e0d\u540c\u7c7b\u578b\u7684\u9875\u9762\u3002 \u8868 69.2 \u5c55\u793a\u4e86\u9875\u9762\u7684\u603b\u4f53\u5e03\u5c40\u3002\u6bcf\u4e2a\u9875\u9762\u5305\u542b\u4e94\u4e2a\u90e8\u5206\u3002", "version": "12", "link_map": {"/zh/docs/12/storage-page-layout.html": "/docs/12/storage-page-layout.html", "/zh/docs/12/storage-page-layout.html#PAGE-TABLE": "/docs/12/storage-page-layout.html#PAGE-TABLE", "/zh/docs/12/storage-page-layout.html#ftn.id-1.10.22.8.2.2": "/docs/12/storage-page-layout.html#ftn.id-1.10.22.8.2.2"}, "body_html": "<p>\u5b58\u50a8\u7ed3\u6784 storage-page-layout\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n\u672c\u8282\u6982\u8ff0 <span>PostgreSQL</span> \u8868\u548c\u7d22\u5f15\u5185\u90e8\u6240\u4f7f\u7528\u7684\u9875\u9762\u683c\u5f0f\u3002<a href=\"/zh/docs/12/storage-page-layout.html#ftn.id-1.10.22.8.2.2\" rel=\"nofollow\"><sup>[16]</sup></a>\n\u5e8f\u5217\u548c <acronym>TOAST</acronym> \u8868\u7684\u683c\u5f0f\u4e0e\u666e\u901a\u8868\u76f8\u540c\u3002\n</p><p>\n\u5728\u4e0b\u9762\u7684\u8bf4\u660e\u4e2d\uff0c\u5047\u5b9a\u4e00\u4e2a<em>\u5b57\u8282</em>\u5305\u542b 8 \u4e2a\u4f4d\u3002\u53e6\u5916\uff0c\u672f\u8bed<em>\u9879</em>\u6307\u7684\u662f\u5b58\u50a8\u5728\u9875\u9762\u4e0a\u7684\u5355\u4e2a\u6570\u636e\u503c\u3002\u5728\u8868\u4e2d\uff0c\u9879\u662f\u4e00\u884c\uff1b\u5728\u7d22\u5f15\u4e2d\uff0c\u9879\u662f\u4e00\u6761\u7d22\u5f15\u6761\u76ee\u3002\n</p><p>\n\u6bcf\u4e2a\u8868\u548c\u7d22\u5f15\u90fd\u5b58\u50a8\u4e3a\u56fa\u5b9a\u5927\u5c0f\u7684<em>\u9875\u9762</em>\u6570\u7ec4\uff08\u901a\u5e38\u4e3a 8 kB\uff0c\u4e0d\u8fc7\u5728\u7f16\u8bd1\u670d\u52a1\u5668\u65f6\u53ef\u4ee5\u9009\u62e9\u4e0d\u540c\u7684\u9875\u9762\u5927\u5c0f\uff09\u3002\u5728\u8868\u4e2d\uff0c\u6240\u6709\u9875\u9762\u5728\u903b\u8f91\u4e0a\u90fd\u662f\u7b49\u4ef7\u7684\uff0c\u56e0\u6b64\u67d0\u4e2a\u7279\u5b9a\u9879\uff08\u884c\uff09\u53ef\u4ee5\u5b58\u653e\u5728\u4efb\u610f\u9875\u9762\u4e2d\u3002\u5728\u7d22\u5f15\u4e2d\uff0c\u7b2c\u4e00\u9875\u901a\u5e38\u4fdd\u7559\u4e3a<em>\u5143\u9875</em>\uff0c\u7528\u4e8e\u4fdd\u5b58\u63a7\u5236\u4fe1\u606f\uff1b\u5e76\u4e14\u6839\u636e\u7d22\u5f15\u8bbf\u95ee\u65b9\u6cd5\u7684\u4e0d\u540c\uff0c\u7d22\u5f15\u4e2d\u8fd8\u53ef\u80fd\u5b58\u5728\u4e0d\u540c\u7c7b\u578b\u7684\u9875\u9762\u3002\n</p><p>\n<a href=\"/zh/docs/12/storage-page-layout.html#PAGE-TABLE\" rel=\"nofollow\">\u8868\u00a069.2</a> \u5c55\u793a\u4e86\u9875\u9762\u7684\u603b\u4f53\u5e03\u5c40\u3002\u6bcf\u4e2a\u9875\u9762\u5305\u542b\u4e94\u4e2a\u90e8\u5206\u3002\n</p><p><a href=\"/zh/docs/12/storage-page-layout.html\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>", "body_sha256": "fbaa1d454ceb25b83f93acee17e07a2be95ae2da24b08e017817fdc340b1b50f", "content_hash": "609b6f40b7e0b32505fc1d82d31ae27f3447cfc73f9dbcdd649859d8194723a5", "source_database": "center", "source_revision": "8df3c0474782589d3c6f374b5133b1bd14d168086edbc13c6e72e67dd4527a3b"}, "signature": "", "tables_zh": [{"key": "layout-0", "rows": [{"c0": "PageHeaderData", "c1": "\u957f 24 \u5b57\u8282\uff0c\u5305\u542b\u9875\u9762\u7684\u901a\u7528\u4fe1\u606f\uff0c\u4f8b\u5982\u7a7a\u95f2\u7a7a\u95f4\u6307\u9488\u3002"}, {"c0": "ItemIdData", "c1": "\u6307\u5411\u5b9e\u9645\u6570\u636e\u9879\u7684\u884c\u6307\u9488\u6570\u7ec4\u3002\u6bcf\u9879\u4e3a\u4e00\u4e2a\uff08\u504f\u79fb\uff0c\u957f\u5ea6\uff09\u5bf9\uff0c\u5360 4 \u5b57\u8282\u3002"}, {"c0": "\u7a7a\u95f2\u7a7a\u95f4", "c1": "\u5c1a\u672a\u5206\u914d\u7684\u7a7a\u95f4\u3002\u65b0\u884c\u6307\u9488\u4ece\u8be5\u533a\u57df\u7684\u8d77\u59cb\u5904\u5206\u914d\uff0c\u65b0\u6570\u636e\u9879\u4ece\u672b\u5c3e\u5904\u5206\u914d\u3002"}, {"c0": "\u9879", "c1": "\u5b9e\u9645\u7684\u6570\u636e\u9879\u672c\u8eab\u3002"}, {"c0": "\u7279\u6b8a\u7a7a\u95f4", "c1": "\u7d22\u5f15\u8bbf\u95ee\u65b9\u6cd5\u4e13\u7528\u6570\u636e\u3002\u4e0d\u540c\u65b9\u6cd5\u5b58\u50a8\u7684\u5185\u5bb9\u4e0d\u540c\uff0c\u666e\u901a\u8868\u4e2d\u6b64\u533a\u57df\u4e3a\u7a7a\u3002"}], "title": "\u9875\u9762\u603b\u4f53\u5e03\u5c40", "columns": [{"key": "c0", "label": "\u9879\u76ee"}, {"key": "c1", "label": "\u8bf4\u660e"}]}, {"key": "layout-1", "rows": [{"c0": "pd_lsn", "c1": "PageXLogRecPtr", "c2": "8 \u5b57\u8282", "c3": "LSN\uff1a\u8be5\u9875\u6700\u540e\u4e00\u6b21\u53d8\u5316\u6240\u5bf9\u5e94 WAL \u8bb0\u5f55\u7684\u6700\u540e\u4e00\u4e2a\u5b57\u8282\u4e4b\u540e\u7684\u4f4d\u7f6e\u3002"}, {"c0": "pd_checksum", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u9875\u9762\u6821\u9a8c\u548c"}, {"c0": "pd_flags", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u6807\u5fd7\u4f4d"}, {"c0": "pd_lower", "c1": "LocationIndex", "c2": "2 \u5b57\u8282", "c3": "\u7a7a\u95f2\u7a7a\u95f4\u8d77\u59cb\u4f4d\u7f6e\u7684\u504f\u79fb\u91cf"}, {"c0": "pd_upper", "c1": "LocationIndex", "c2": "2 \u5b57\u8282", "c3": "\u7a7a\u95f2\u7a7a\u95f4\u7ed3\u675f\u4f4d\u7f6e\u7684\u504f\u79fb\u91cf"}, {"c0": "pd_special", "c1": "LocationIndex", "c2": "2 \u5b57\u8282", "c3": "\u7279\u6b8a\u7a7a\u95f4\u8d77\u59cb\u4f4d\u7f6e\u7684\u504f\u79fb\u91cf"}, {"c0": "pd_pagesize_version", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u9875\u9762\u5927\u5c0f\u4e0e\u5e03\u5c40\u7248\u672c\u53f7\u4fe1\u606f"}, {"c0": "pd_prune_xid", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "\u9875\u9762\u4e0a\u6700\u65e9\u7684\u5c1a\u672a\u4fee\u526a\u7684 XMAX\uff1b\u6ca1\u6709\u5219\u4e3a\u96f6"}], "title": "PageHeaderData \u5e03\u5c40", "columns": [{"key": "c0", "label": "\u5b57\u6bb5"}, {"key": "c1", "label": "\u7c7b\u578b"}, {"key": "c2", "label": "\u957f\u5ea6"}, {"key": "c3", "label": "\u8bf4\u660e"}]}, {"key": "layout-2", "rows": [{"c0": "t_xmin", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "\u63d2\u5165\u4e8b\u52a1\u7684 XID"}, {"c0": "t_xmax", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "\u5220\u9664\u4e8b\u52a1\u7684 XID"}, {"c0": "t_cid", "c1": "CommandId", "c2": "4 \u5b57\u8282", "c3": "\u63d2\u5165\u548c\uff0f\u6216\u5220\u9664\u547d\u4ee4\u7684 CID\uff0c\u4e0e t_xvac \u5171\u7528\u5b58\u50a8\u4f4d\u7f6e"}, {"c0": "t_xvac", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "VACUUM \u64cd\u4f5c\u79fb\u52a8\u884c\u7248\u672c\u65f6\u4f7f\u7528\u7684 XID"}, {"c0": "t_ctid", "c1": "ItemPointerData", "c2": "6 \u5b57\u8282", "c3": "\u672c\u884c\u7248\u672c\u6216\u8f83\u65b0\u884c\u7248\u672c\u7684\u5f53\u524d TID"}, {"c0": "t_infomask2", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u5c5e\u6027\u6570\u91cf\u53ca\u5404\u79cd\u6807\u5fd7\u4f4d"}, {"c0": "t_infomask", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u5404\u79cd\u6807\u5fd7\u4f4d"}, {"c0": "t_hoff", "c1": "uint8", "c2": "1 \u5b57\u8282", "c3": "\u7528\u6237\u6570\u636e\u7684\u504f\u79fb\u91cf"}], "title": "HeapTupleHeaderData \u5e03\u5c40", "columns": [{"key": "c0", "label": "\u5b57\u6bb5"}, {"key": "c1", "label": "\u7c7b\u578b"}, {"key": "c2", "label": "\u957f\u5ea6"}, {"key": "c3", "label": "\u8bf4\u660e"}]}], "description": ["\u672c\u8282\u6982\u8ff0 PostgreSQL \u8868\u548c\u7d22\u5f15\u5185\u90e8\u6240\u4f7f\u7528\u7684\u9875\u9762\u683c\u5f0f\u3002 [16] \u5e8f\u5217\u548c TOAST \u8868\u7684\u683c\u5f0f\u4e0e\u666e\u901a\u8868\u76f8\u540c\u3002 \u5728\u4e0b\u9762\u7684\u8bf4\u660e\u4e2d\uff0c\u5047\u5b9a\u4e00\u4e2a \u5b57\u8282 \u5305\u542b 8 \u4e2a\u4f4d\u3002\u53e6\u5916\uff0c\u672f\u8bed \u9879 \u6307\u7684\u662f\u5b58\u50a8\u5728\u9875\u9762\u4e0a\u7684\u5355\u4e2a\u6570\u636e\u503c\u3002\u5728\u8868\u4e2d\uff0c\u9879\u662f\u4e00\u884c\uff1b\u5728\u7d22\u5f15\u4e2d\uff0c\u9879\u662f\u4e00\u6761\u7d22\u5f15\u6761\u76ee\u3002 \u6bcf\u4e2a\u8868\u548c\u7d22\u5f15\u90fd\u5b58\u50a8\u4e3a\u56fa\u5b9a\u5927\u5c0f\u7684 \u9875\u9762 \u6570\u7ec4\uff08\u901a\u5e38\u4e3a 8 kB\uff0c\u4e0d\u8fc7\u5728\u7f16\u8bd1\u670d\u52a1\u5668\u65f6\u53ef\u4ee5\u9009\u62e9\u4e0d\u540c\u7684\u9875\u9762\u5927\u5c0f\uff09\u3002\u5728\u8868\u4e2d\uff0c\u6240\u6709\u9875\u9762\u5728\u903b\u8f91\u4e0a\u90fd\u662f\u7b49\u4ef7\u7684\uff0c\u56e0\u6b64\u67d0\u4e2a\u7279\u5b9a\u9879\uff08\u884c\uff09\u53ef\u4ee5\u5b58\u653e\u5728\u4efb\u610f\u9875\u9762\u4e2d\u3002\u5728\u7d22\u5f15\u4e2d\uff0c\u7b2c\u4e00\u9875\u901a\u5e38\u4fdd\u7559\u4e3a \u5143\u9875 \uff0c\u7528\u4e8e\u4fdd\u5b58\u63a7\u5236\u4fe1\u606f\uff1b\u5e76\u4e14\u6839\u636e\u7d22\u5f15\u8bbf\u95ee\u65b9\u6cd5\u7684\u4e0d\u540c\uff0c\u7d22\u5f15\u4e2d\u8fd8\u53ef\u80fd\u5b58\u5728\u4e0d\u540c\u7c7b\u578b\u7684\u9875\u9762\u3002 \u8868 69.2 \u5c55\u793a\u4e86\u9875\u9762\u7684\u603b\u4f53\u5e03\u5c40\u3002\u6bcf\u4e2a\u9875\u9762\u5305\u542b\u4e94\u4e2a\u90e8\u5206\u3002"], "manual_html": "", "manual_path": "/docs/12/storage-page-layout.html", "sections_zh": [], "localization": {"status": "complete", "sources": [{"url": "/docs/12/storage-page-layout.html", "method": "same-major semantic node", "sha256": "f61914805748cb00cfee1c774b88cde0c23c3383ac638b65752b83955e547bb3", "language": "zh", "matched_nodes": ["#STORAGE-PAGE-LAYOUT/div[0]", "#STORAGE-PAGE-LAYOUT/div[16]", "#STORAGE-PAGE-LAYOUT/div[18]/div[2]/p[0]", "#STORAGE-PAGE-LAYOUT/div[18]/p[1]", "#STORAGE-PAGE-LAYOUT/div[18]/p[4]", "#STORAGE-PAGE-LAYOUT/div[18]/p[5]", "#STORAGE-PAGE-LAYOUT/div[18]/p[6]", "#STORAGE-PAGE-LAYOUT/div[19]", "#STORAGE-PAGE-LAYOUT/div[1]", "#STORAGE-PAGE-LAYOUT/div[6]/div[1]/table[0]/tbody[2]/tr[3]/td[0]", "#STORAGE-PAGE-LAYOUT/div[6]/p[0]", "#STORAGE-PAGE-LAYOUT/div[9]/div[1]/table[0]/tbody[2]/tr[0]/td[2]", "#STORAGE-PAGE-LAYOUT/div[9]/p[0]", "#STORAGE-PAGE-LAYOUT/p[11]", "#STORAGE-PAGE-LAYOUT/p[12]", "#STORAGE-PAGE-LAYOUT/p[13]", "#STORAGE-PAGE-LAYOUT/p[14]", "#STORAGE-PAGE-LAYOUT/p[15]", "#STORAGE-PAGE-LAYOUT/p[2]", "#STORAGE-PAGE-LAYOUT/p[3]", "#STORAGE-PAGE-LAYOUT/p[4]", "#STORAGE-PAGE-LAYOUT/p[5]"]}], "language": "zh", "original_text": {"/versions/12/description/0": "This section provides an overview of the page format used within PostgreSQL tables and indexes. [16] Sequences and TOAST tables are formatted just like a regular table.", "/versions/12/facts/0/label": "Definition scope", "/versions/12/facts/0/value": "Same-version core physical storage documentation", "/versions/12/tables/0/title": "Overall Page Layout", "/versions/12/tables/1/title": "PageHeaderData Layout", "/versions/12/tables/2/title": "HeapTupleHeaderData Layout", "/versions/12/related/1/label": "Storage Parameters", "/versions/12/tables/0/rows/0/c1": "24 bytes long. Contains general information about the page, including free space pointers.", "/versions/12/tables/0/rows/1/c1": "Array of item identifiers pointing to the actual items. Each entry is an (offset,length) pair. 4 bytes per item.", "/versions/12/tables/0/rows/2/c0": "Free space", "/versions/12/tables/0/rows/2/c1": "The unallocated space. New item identifiers are allocated from the start of this area, new items from the end.", "/versions/12/tables/0/rows/3/c0": "Items", "/versions/12/tables/0/rows/3/c1": "The actual items themselves.", "/versions/12/tables/0/rows/4/c0": "Special space", "/versions/12/tables/0/rows/4/c1": "Index access method specific data. Different methods store different data. Empty in ordinary tables.", "/versions/12/tables/1/rows/0/c2": "8 bytes", "/versions/12/tables/1/rows/0/c3": "LSN: next byte after last byte of WAL record for last change to this page", "/versions/12/tables/1/rows/1/c2": "2 bytes", "/versions/12/tables/1/rows/1/c3": "Page checksum", "/versions/12/tables/1/rows/2/c2": "2 bytes", "/versions/12/tables/1/rows/2/c3": "Flag bits", "/versions/12/tables/1/rows/3/c2": "2 bytes", "/versions/12/tables/1/rows/3/c3": "Offset to start of free space", "/versions/12/tables/1/rows/4/c2": "2 bytes", "/versions/12/tables/1/rows/4/c3": "Offset to end of free space", "/versions/12/tables/1/rows/5/c2": "2 bytes", "/versions/12/tables/1/rows/5/c3": "Offset to start of special space", "/versions/12/tables/1/rows/6/c2": "2 bytes", "/versions/12/tables/1/rows/6/c3": "Page size and layout version number information", "/versions/12/tables/1/rows/7/c2": "4 bytes", "/versions/12/tables/1/rows/7/c3": "Oldest unpruned XMAX on page, or zero if none", "/versions/12/tables/2/rows/0/c2": "4 bytes", "/versions/12/tables/2/rows/0/c3": "insert XID stamp", "/versions/12/tables/2/rows/1/c2": "4 bytes", "/versions/12/tables/2/rows/1/c3": "delete XID stamp", "/versions/12/tables/2/rows/2/c2": "4 bytes", "/versions/12/tables/2/rows/2/c3": "insert and/or delete CID stamp (overlays with t_xvac)", "/versions/12/tables/2/rows/3/c2": "4 bytes", "/versions/12/tables/2/rows/3/c3": "XID for VACUUM operation moving a row version", "/versions/12/tables/2/rows/4/c2": "6 bytes", "/versions/12/tables/2/rows/4/c3": "current TID of this or newer row version", "/versions/12/tables/2/rows/5/c2": "2 bytes", "/versions/12/tables/2/rows/5/c3": "number of attributes, plus various flag bits", "/versions/12/tables/2/rows/6/c2": "2 bytes", "/versions/12/tables/2/rows/6/c3": "various flag bits", "/versions/12/tables/2/rows/7/c2": "1 byte", "/versions/12/tables/2/rows/7/c3": "offset to user data", "/versions/12/tables/0/columns/0/label": "Item", "/versions/12/tables/0/columns/1/label": "Description", "/versions/12/tables/1/columns/0/label": "Field", "/versions/12/tables/1/columns/1/label": "Type", "/versions/12/tables/1/columns/2/label": "Length", "/versions/12/tables/1/columns/3/label": "Description", "/versions/12/tables/2/columns/0/label": "Field", "/versions/12/tables/2/columns/1/label": "Type", "/versions/12/tables/2/columns/2/label": "Length", "/versions/12/tables/2/columns/3/label": "Description"}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "e894e6a105e507df6ac503e64e7fb30cf607c12d222c495c9eae8c840695c6d4", "canonical_center_text_hash": "609b6f40b7e0b32505fc1d82d31ae27f3447cfc73f9dbcdd649859d8194723a5"}, "description_zh": "\u672c\u8282\u6982\u8ff0 PostgreSQL \u8868\u548c\u7d22\u5f15\u5185\u90e8\u6240\u4f7f\u7528\u7684\u9875\u9762\u683c\u5f0f\u3002 [16] \u5e8f\u5217\u548c TOAST \u8868\u7684\u683c\u5f0f\u4e0e\u666e\u901a\u8868\u76f8\u540c\u3002 \u5728\u4e0b\u9762\u7684\u8bf4\u660e\u4e2d\uff0c\u5047\u5b9a\u4e00\u4e2a \u5b57\u8282 \u5305\u542b 8 \u4e2a\u4f4d\u3002\u53e6\u5916\uff0c\u672f\u8bed \u9879 \u6307\u7684\u662f\u5b58\u50a8\u5728\u9875\u9762\u4e0a\u7684\u5355\u4e2a\u6570\u636e\u503c\u3002\u5728\u8868\u4e2d\uff0c\u9879\u662f\u4e00\u884c\uff1b\u5728\u7d22\u5f15\u4e2d\uff0c\u9879\u662f\u4e00\u6761\u7d22\u5f15\u6761\u76ee\u3002 \u6bcf\u4e2a\u8868\u548c\u7d22\u5f15\u90fd\u5b58\u50a8\u4e3a\u56fa\u5b9a\u5927\u5c0f\u7684 \u9875\u9762 \u6570\u7ec4\uff08\u901a\u5e38\u4e3a 8 kB\uff0c\u4e0d\u8fc7\u5728\u7f16\u8bd1\u670d\u52a1\u5668\u65f6\u53ef\u4ee5\u9009\u62e9\u4e0d\u540c\u7684\u9875\u9762\u5927\u5c0f\uff09\u3002\u5728\u8868\u4e2d\uff0c\u6240\u6709\u9875\u9762\u5728\u903b\u8f91\u4e0a\u90fd\u662f\u7b49\u4ef7\u7684\uff0c\u56e0\u6b64\u67d0\u4e2a\u7279\u5b9a\u9879\uff08\u884c\uff09\u53ef\u4ee5\u5b58\u653e\u5728\u4efb\u610f\u9875\u9762\u4e2d\u3002\u5728\u7d22\u5f15\u4e2d\uff0c\u7b2c\u4e00\u9875\u901a\u5e38\u4fdd\u7559\u4e3a \u5143\u9875 \uff0c\u7528\u4e8e\u4fdd\u5b58\u63a7\u5236\u4fe1\u606f\uff1b\u5e76\u4e14\u6839\u636e\u7d22\u5f15\u8bbf\u95ee\u65b9\u6cd5\u7684\u4e0d\u540c\uff0c\u7d22\u5f15\u4e2d\u8fd8\u53ef\u80fd\u5b58\u5728\u4e0d\u540c\u7c7b\u578b\u7684\u9875\u9762\u3002 \u8868 69.2 \u5c55\u793a\u4e86\u9875\u9762\u7684\u603b\u4f53\u5e03\u5c40\u3002\u6bcf\u4e2a\u9875\u9762\u5305\u542b\u4e94\u4e2a\u90e8\u5206\u3002", "comparison_data": {"layouts": [{"key": "layout-0", "rows": [{"c0": "PageHeaderData", "c1": "24 bytes long. Contains general information about the page, including free space pointers."}, {"c0": "ItemIdData", "c1": "Array of item identifiers pointing to the actual items. Each entry is an (offset,length) pair. 4 bytes per item."}, {"c0": "Free space", "c1": "The unallocated space. New item identifiers are allocated from the start of this area, new items from the end."}, {"c0": "Items", "c1": "The actual items themselves."}, {"c0": "Special space", "c1": "Index access method specific data. Different methods store different data. Empty in ordinary tables."}], "title": "Overall Page Layout", "columns": [{"key": "c0", "label": "Item"}, {"key": "c1", "label": "Description"}]}, {"key": "layout-1", "rows": [{"c0": "pd_lsn", "c1": "PageXLogRecPtr", "c2": "8 bytes", "c3": "LSN: next byte after last byte of WAL record for last change to this page"}, {"c0": "pd_checksum", "c1": "uint16", "c2": "2 bytes", "c3": "Page checksum"}, {"c0": "pd_flags", "c1": "uint16", "c2": "2 bytes", "c3": "Flag bits"}, {"c0": "pd_lower", "c1": "LocationIndex", "c2": "2 bytes", "c3": "Offset to start of free space"}, {"c0": "pd_upper", "c1": "LocationIndex", "c2": "2 bytes", "c3": "Offset to end of free space"}, {"c0": "pd_special", "c1": "LocationIndex", "c2": "2 bytes", "c3": "Offset to start of special space"}, {"c0": "pd_pagesize_version", "c1": "uint16", "c2": "2 bytes", "c3": "Page size and layout version number information"}, {"c0": "pd_prune_xid", "c1": "TransactionId", "c2": "4 bytes", "c3": "Oldest unpruned XMAX on page, or zero if none"}], "title": "PageHeaderData Layout", "columns": [{"key": "c0", "label": "Field"}, {"key": "c1", "label": "Type"}, {"key": "c2", "label": "Length"}, {"key": "c3", "label": "Description"}]}, {"key": "layout-2", "rows": [{"c0": "t_xmin", "c1": "TransactionId", "c2": "4 bytes", "c3": "insert XID stamp"}, {"c0": "t_xmax", "c1": "TransactionId", "c2": "4 bytes", "c3": "delete XID stamp"}, {"c0": "t_cid", "c1": "CommandId", "c2": "4 bytes", "c3": "insert and/or delete CID stamp (overlays with t_xvac)"}, {"c0": "t_xvac", "c1": "TransactionId", "c2": "4 bytes", "c3": "XID for VACUUM operation moving a row version"}, {"c0": "t_ctid", "c1": "ItemPointerData", "c2": "6 bytes", "c3": "current TID of this or newer row version"}, {"c0": "t_infomask2", "c1": "uint16", "c2": "2 bytes", "c3": "number of attributes, plus various flag bits"}, {"c0": "t_infomask", "c1": "uint16", "c2": "2 bytes", "c3": "various flag bits"}, {"c0": "t_hoff", "c1": "uint8", "c2": "1 byte", "c3": "offset to user data"}], "title": "HeapTupleHeaderData Layout", "columns": [{"key": "c0", "label": "Field"}, {"key": "c1", "label": "Type"}, {"key": "c2", "label": "Length"}, {"key": "c3", "label": "Description"}]}]}, "comparison_hash": "b621fa85b3be27a0eb0d82986e9524f2ef0a776761901f0d429826eec4822d0a", "manual_language": "zh", "description_zh_html": "<p>\u5b58\u50a8\u7ed3\u6784 storage-page-layout\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n\u672c\u8282\u6982\u8ff0 <span>PostgreSQL</span> \u8868\u548c\u7d22\u5f15\u5185\u90e8\u6240\u4f7f\u7528\u7684\u9875\u9762\u683c\u5f0f\u3002<a href=\"/zh/docs/12/storage-page-layout.html#ftn.id-1.10.22.8.2.2\" rel=\"nofollow\"><sup>[16]</sup></a>\n\u5e8f\u5217\u548c <acronym>TOAST</acronym> \u8868\u7684\u683c\u5f0f\u4e0e\u666e\u901a\u8868\u76f8\u540c\u3002\n</p><p>\n\u5728\u4e0b\u9762\u7684\u8bf4\u660e\u4e2d\uff0c\u5047\u5b9a\u4e00\u4e2a<em>\u5b57\u8282</em>\u5305\u542b 8 \u4e2a\u4f4d\u3002\u53e6\u5916\uff0c\u672f\u8bed<em>\u9879</em>\u6307\u7684\u662f\u5b58\u50a8\u5728\u9875\u9762\u4e0a\u7684\u5355\u4e2a\u6570\u636e\u503c\u3002\u5728\u8868\u4e2d\uff0c\u9879\u662f\u4e00\u884c\uff1b\u5728\u7d22\u5f15\u4e2d\uff0c\u9879\u662f\u4e00\u6761\u7d22\u5f15\u6761\u76ee\u3002\n</p><p>\n\u6bcf\u4e2a\u8868\u548c\u7d22\u5f15\u90fd\u5b58\u50a8\u4e3a\u56fa\u5b9a\u5927\u5c0f\u7684<em>\u9875\u9762</em>\u6570\u7ec4\uff08\u901a\u5e38\u4e3a 8 kB\uff0c\u4e0d\u8fc7\u5728\u7f16\u8bd1\u670d\u52a1\u5668\u65f6\u53ef\u4ee5\u9009\u62e9\u4e0d\u540c\u7684\u9875\u9762\u5927\u5c0f\uff09\u3002\u5728\u8868\u4e2d\uff0c\u6240\u6709\u9875\u9762\u5728\u903b\u8f91\u4e0a\u90fd\u662f\u7b49\u4ef7\u7684\uff0c\u56e0\u6b64\u67d0\u4e2a\u7279\u5b9a\u9879\uff08\u884c\uff09\u53ef\u4ee5\u5b58\u653e\u5728\u4efb\u610f\u9875\u9762\u4e2d\u3002\u5728\u7d22\u5f15\u4e2d\uff0c\u7b2c\u4e00\u9875\u901a\u5e38\u4fdd\u7559\u4e3a<em>\u5143\u9875</em>\uff0c\u7528\u4e8e\u4fdd\u5b58\u63a7\u5236\u4fe1\u606f\uff1b\u5e76\u4e14\u6839\u636e\u7d22\u5f15\u8bbf\u95ee\u65b9\u6cd5\u7684\u4e0d\u540c\uff0c\u7d22\u5f15\u4e2d\u8fd8\u53ef\u80fd\u5b58\u5728\u4e0d\u540c\u7c7b\u578b\u7684\u9875\u9762\u3002\n</p><p>\n<a href=\"/zh/docs/12/storage-page-layout.html#PAGE-TABLE\" rel=\"nofollow\">\u8868\u00a069.2</a> \u5c55\u793a\u4e86\u9875\u9762\u7684\u603b\u4f53\u5e03\u5c40\u3002\u6bcf\u4e2a\u9875\u9762\u5305\u542b\u4e94\u4e2a\u90e8\u5206\u3002\n</p><p><a href=\"/zh/docs/12/storage-page-layout.html\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "13": {"facts": [{"label": "\u5b9a\u4e49\u8303\u56f4", "value": "\u540c\u7248\u672c\u6838\u5fc3\u7269\u7406\u5b58\u50a8\u6587\u6863"}], "tables": [{"key": "layout-0", "rows": [{"c0": "PageHeaderData", "c1": "\u957f 24 \u5b57\u8282\uff0c\u5305\u542b\u9875\u9762\u7684\u901a\u7528\u4fe1\u606f\uff0c\u4f8b\u5982\u7a7a\u95f2\u7a7a\u95f4\u6307\u9488\u3002"}, {"c0": "ItemIdData", "c1": "\u6307\u5411\u5b9e\u9645\u6570\u636e\u9879\u7684\u884c\u6307\u9488\u6570\u7ec4\u3002\u6bcf\u9879\u4e3a\u4e00\u4e2a\uff08\u504f\u79fb\uff0c\u957f\u5ea6\uff09\u5bf9\uff0c\u5360 4 \u5b57\u8282\u3002"}, {"c0": "\u7a7a\u95f2\u7a7a\u95f4", "c1": "\u5c1a\u672a\u5206\u914d\u7684\u7a7a\u95f4\u3002\u65b0\u884c\u6307\u9488\u4ece\u8be5\u533a\u57df\u7684\u8d77\u59cb\u5904\u5206\u914d\uff0c\u65b0\u6570\u636e\u9879\u4ece\u672b\u5c3e\u5904\u5206\u914d\u3002"}, {"c0": "\u9879", "c1": "\u5b9e\u9645\u7684\u6570\u636e\u9879\u672c\u8eab\u3002"}, {"c0": "\u7279\u6b8a\u7a7a\u95f4", "c1": "\u7d22\u5f15\u8bbf\u95ee\u65b9\u6cd5\u4e13\u7528\u6570\u636e\u3002\u4e0d\u540c\u65b9\u6cd5\u5b58\u50a8\u7684\u5185\u5bb9\u4e0d\u540c\uff0c\u666e\u901a\u8868\u4e2d\u6b64\u533a\u57df\u4e3a\u7a7a\u3002"}], "title": "\u9875\u9762\u603b\u4f53\u5e03\u5c40", "columns": [{"key": "c0", "label": "\u9879\u76ee"}, {"key": "c1", "label": "\u8bf4\u660e"}]}, {"key": "layout-1", "rows": [{"c0": "pd_lsn", "c1": "PageXLogRecPtr", "c2": "8 \u5b57\u8282", "c3": "LSN\uff1a\u8be5\u9875\u6700\u540e\u4e00\u6b21\u53d8\u5316\u6240\u5bf9\u5e94 WAL \u8bb0\u5f55\u7684\u6700\u540e\u4e00\u4e2a\u5b57\u8282\u4e4b\u540e\u7684\u4f4d\u7f6e\u3002"}, {"c0": "pd_checksum", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u9875\u9762\u6821\u9a8c\u548c"}, {"c0": "pd_flags", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u6807\u5fd7\u4f4d"}, {"c0": "pd_lower", "c1": "LocationIndex", "c2": "2 \u5b57\u8282", "c3": "\u7a7a\u95f2\u7a7a\u95f4\u8d77\u59cb\u4f4d\u7f6e\u7684\u504f\u79fb\u91cf"}, {"c0": "pd_upper", "c1": "LocationIndex", "c2": "2 \u5b57\u8282", "c3": "\u7a7a\u95f2\u7a7a\u95f4\u7ed3\u675f\u4f4d\u7f6e\u7684\u504f\u79fb\u91cf"}, {"c0": "pd_special", "c1": "LocationIndex", "c2": "2 \u5b57\u8282", "c3": "\u7279\u6b8a\u7a7a\u95f4\u8d77\u59cb\u4f4d\u7f6e\u7684\u504f\u79fb\u91cf"}, {"c0": "pd_pagesize_version", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u9875\u9762\u5927\u5c0f\u4e0e\u5e03\u5c40\u7248\u672c\u53f7\u4fe1\u606f"}, {"c0": "pd_prune_xid", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "\u9875\u9762\u4e0a\u6700\u65e9\u7684\u5c1a\u672a\u4fee\u526a\u7684 XMAX\uff1b\u6ca1\u6709\u5219\u4e3a\u96f6"}], "title": "PageHeaderData \u5e03\u5c40", "columns": [{"key": "c0", "label": "\u5b57\u6bb5"}, {"key": "c1", "label": "\u7c7b\u578b"}, {"key": "c2", "label": "\u957f\u5ea6"}, {"key": "c3", "label": "\u8bf4\u660e"}]}, {"key": "layout-2", "rows": [{"c0": "t_xmin", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "\u63d2\u5165\u4e8b\u52a1\u7684 XID"}, {"c0": "t_xmax", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "\u5220\u9664\u4e8b\u52a1\u7684 XID"}, {"c0": "t_cid", "c1": "CommandId", "c2": "4 \u5b57\u8282", "c3": "\u63d2\u5165\u548c\uff0f\u6216\u5220\u9664\u547d\u4ee4\u7684 CID\uff0c\u4e0e t_xvac \u5171\u7528\u5b58\u50a8\u4f4d\u7f6e"}, {"c0": "t_xvac", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "VACUUM \u64cd\u4f5c\u79fb\u52a8\u884c\u7248\u672c\u65f6\u4f7f\u7528\u7684 XID"}, {"c0": "t_ctid", "c1": "ItemPointerData", "c2": "6 \u5b57\u8282", "c3": "\u672c\u884c\u7248\u672c\u6216\u8f83\u65b0\u884c\u7248\u672c\u7684\u5f53\u524d TID"}, {"c0": "t_infomask2", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u5c5e\u6027\u6570\u91cf\u53ca\u5404\u79cd\u6807\u5fd7\u4f4d"}, {"c0": "t_infomask", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u5404\u79cd\u6807\u5fd7\u4f4d"}, {"c0": "t_hoff", "c1": "uint8", "c2": "1 \u5b57\u8282", "c3": "\u7528\u6237\u6570\u636e\u7684\u504f\u79fb\u91cf"}], "title": "HeapTupleHeaderData \u5e03\u5c40", "columns": [{"key": "c0", "label": "\u5b57\u6bb5"}, {"key": "c1", "label": "\u7c7b\u578b"}, {"key": "c2", "label": "\u957f\u5ea6"}, {"key": "c3", "label": "\u8bf4\u660e"}]}], "diagram": "page-layout", "related": [{"url": "/wiki/tableam/?v=13", "label": "Table AM"}, {"url": "/wiki/relopts/?v=13", "label": "\u5b58\u50a8\u53c2\u6570"}], "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-page-layout.html", "path": "storage-page-layout.html", "label": "PostgreSQL 13 English manual", "sha256": "80fe3b574871fad132942884c7d87a14369d6abc77a38aba7ba3fa84abca6a37"}], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-identity", "manual": {"url": "/zh/docs/13/storage-page-layout.html", "anchor": "", "locale": "zh-Hans", "version": "13", "build_id": 66, "page_key": "storage-page-layout.html", "extraction": "concept-introduction", "source_hash": "fcbfe7625f40522324a335ccf94df452400b4ba5d42040d397728fe773004f7b", "fragment_sha256": "634b76e89edce9f9974cfd8bf22afc15e68d1fd4b90c37e764d180bb584d735f", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "snapshot:sha256:a13a825c39f0268ef1cfe9137e283e38d0da73b2d7894f0733c7b26372a4f6a4", "translated_from_revision": null}, "body_sha256": "b478baa9faa1f9e454981cf25528d5bf5415b6c8e84fd71c95417966c86aebf5", "runtime_rerun": false, "authored_translation": "source-derived-identity", "source_facts_revision": "6ec3c82726af92b7dec873fa1cdf881eca92a4219787dfad05acb6b10e041fd6"}, "facts_zh": [{"label": "\u5b9a\u4e49\u8303\u56f4", "value": "\u540c\u7248\u672c\u6838\u5fc3\u7269\u7406\u5b58\u50a8\u6587\u6863"}], "sections": [], "center_zh": {"title": "Database Page Layout", "locale": "zh-Hans", "source": {"key": "storage-page-layout", "locale": "zh-Hans", "version": "13", "text_hash": "58c74d51a3a167c24af092c23e7885324f54de3c95004d4188d10a48adb6b52f", "collection": "storage", "dataset_hash": "7c31b524dfe136022d39a6ae8dcfac6b3bbd5f8fdaf422536599981252aff0c9", "source_database": "center", "source_revision": "6ec3c82726af92b7dec873fa1cdf881eca92a4219787dfad05acb6b10e041fd6"}, "payload": {"facts": [{"label": "\u5b9a\u4e49\u8303\u56f4", "value": "\u540c\u7248\u672c\u6838\u5fc3\u7269\u7406\u5b58\u50a8\u6587\u6863"}], "tables": [{"key": "layout-0", "rows": [{"c0": "PageHeaderData", "c1": "\u957f 24 \u5b57\u8282\uff0c\u5305\u542b\u9875\u9762\u7684\u901a\u7528\u4fe1\u606f\uff0c\u4f8b\u5982\u7a7a\u95f2\u7a7a\u95f4\u6307\u9488\u3002"}, {"c0": "ItemIdData", "c1": "\u6307\u5411\u5b9e\u9645\u6570\u636e\u9879\u7684\u884c\u6307\u9488\u6570\u7ec4\u3002\u6bcf\u9879\u4e3a\u4e00\u4e2a\uff08\u504f\u79fb\uff0c\u957f\u5ea6\uff09\u5bf9\uff0c\u5360 4 \u5b57\u8282\u3002"}, {"c0": "\u7a7a\u95f2\u7a7a\u95f4", "c1": "\u5c1a\u672a\u5206\u914d\u7684\u7a7a\u95f4\u3002\u65b0\u884c\u6307\u9488\u4ece\u8be5\u533a\u57df\u7684\u8d77\u59cb\u5904\u5206\u914d\uff0c\u65b0\u6570\u636e\u9879\u4ece\u672b\u5c3e\u5904\u5206\u914d\u3002"}, {"c0": "\u9879", "c1": "\u5b9e\u9645\u7684\u6570\u636e\u9879\u672c\u8eab\u3002"}, {"c0": "\u7279\u6b8a\u7a7a\u95f4", "c1": "\u7d22\u5f15\u8bbf\u95ee\u65b9\u6cd5\u4e13\u7528\u6570\u636e\u3002\u4e0d\u540c\u65b9\u6cd5\u5b58\u50a8\u7684\u5185\u5bb9\u4e0d\u540c\uff0c\u666e\u901a\u8868\u4e2d\u6b64\u533a\u57df\u4e3a\u7a7a\u3002"}], "title": "\u9875\u9762\u603b\u4f53\u5e03\u5c40", "columns": [{"key": "c0", "label": "\u9879\u76ee"}, {"key": "c1", "label": "\u8bf4\u660e"}]}, {"key": "layout-1", "rows": [{"c0": "pd_lsn", "c1": "PageXLogRecPtr", "c2": "8 \u5b57\u8282", "c3": "LSN\uff1a\u8be5\u9875\u6700\u540e\u4e00\u6b21\u53d8\u5316\u6240\u5bf9\u5e94 WAL \u8bb0\u5f55\u7684\u6700\u540e\u4e00\u4e2a\u5b57\u8282\u4e4b\u540e\u7684\u4f4d\u7f6e\u3002"}, {"c0": "pd_checksum", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u9875\u9762\u6821\u9a8c\u548c"}, {"c0": "pd_flags", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u6807\u5fd7\u4f4d"}, {"c0": "pd_lower", "c1": "LocationIndex", "c2": "2 \u5b57\u8282", "c3": "\u7a7a\u95f2\u7a7a\u95f4\u8d77\u59cb\u4f4d\u7f6e\u7684\u504f\u79fb\u91cf"}, {"c0": "pd_upper", "c1": "LocationIndex", "c2": "2 \u5b57\u8282", "c3": "\u7a7a\u95f2\u7a7a\u95f4\u7ed3\u675f\u4f4d\u7f6e\u7684\u504f\u79fb\u91cf"}, {"c0": "pd_special", "c1": "LocationIndex", "c2": "2 \u5b57\u8282", "c3": "\u7279\u6b8a\u7a7a\u95f4\u8d77\u59cb\u4f4d\u7f6e\u7684\u504f\u79fb\u91cf"}, {"c0": "pd_pagesize_version", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u9875\u9762\u5927\u5c0f\u4e0e\u5e03\u5c40\u7248\u672c\u53f7\u4fe1\u606f"}, {"c0": "pd_prune_xid", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "\u9875\u9762\u4e0a\u6700\u65e9\u7684\u5c1a\u672a\u4fee\u526a\u7684 XMAX\uff1b\u6ca1\u6709\u5219\u4e3a\u96f6"}], "title": "PageHeaderData \u5e03\u5c40", "columns": [{"key": "c0", "label": "\u5b57\u6bb5"}, {"key": "c1", "label": "\u7c7b\u578b"}, {"key": "c2", "label": "\u957f\u5ea6"}, {"key": "c3", "label": "\u8bf4\u660e"}]}, {"key": "layout-2", "rows": [{"c0": "t_xmin", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "\u63d2\u5165\u4e8b\u52a1\u7684 XID"}, {"c0": "t_xmax", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "\u5220\u9664\u4e8b\u52a1\u7684 XID"}, {"c0": "t_cid", "c1": "CommandId", "c2": "4 \u5b57\u8282", "c3": "\u63d2\u5165\u548c\uff0f\u6216\u5220\u9664\u547d\u4ee4\u7684 CID\uff0c\u4e0e t_xvac \u5171\u7528\u5b58\u50a8\u4f4d\u7f6e"}, {"c0": "t_xvac", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "VACUUM \u64cd\u4f5c\u79fb\u52a8\u884c\u7248\u672c\u65f6\u4f7f\u7528\u7684 XID"}, {"c0": "t_ctid", "c1": "ItemPointerData", "c2": "6 \u5b57\u8282", "c3": "\u672c\u884c\u7248\u672c\u6216\u8f83\u65b0\u884c\u7248\u672c\u7684\u5f53\u524d TID"}, {"c0": "t_infomask2", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u5c5e\u6027\u6570\u91cf\u53ca\u5404\u79cd\u6807\u5fd7\u4f4d"}, {"c0": "t_infomask", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u5404\u79cd\u6807\u5fd7\u4f4d"}, {"c0": "t_hoff", "c1": "uint8", "c2": "1 \u5b57\u8282", "c3": "\u7528\u6237\u6570\u636e\u7684\u504f\u79fb\u91cf"}], "title": "HeapTupleHeaderData \u5e03\u5c40", "columns": [{"key": "c0", "label": "\u5b57\u6bb5"}, {"key": "c1", "label": "\u7c7b\u578b"}, {"key": "c2", "label": "\u957f\u5ea6"}, {"key": "c3", "label": "\u8bf4\u660e"}]}], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-identity", "manual": {"url": "/zh/docs/13/storage-page-layout.html", "anchor": "", "locale": "zh-Hans", "version": "13", "build_id": 66, "page_key": "storage-page-layout.html", "extraction": "concept-introduction", "source_hash": "fcbfe7625f40522324a335ccf94df452400b4ba5d42040d397728fe773004f7b", "fragment_sha256": "634b76e89edce9f9974cfd8bf22afc15e68d1fd4b90c37e764d180bb584d735f", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "snapshot:sha256:a13a825c39f0268ef1cfe9137e283e38d0da73b2d7894f0733c7b26372a4f6a4", "translated_from_revision": null}, "body_sha256": "b478baa9faa1f9e454981cf25528d5bf5415b6c8e84fd71c95417966c86aebf5", "runtime_rerun": false, "authored_translation": "source-derived-identity", "source_facts_revision": "6ec3c82726af92b7dec873fa1cdf881eca92a4219787dfad05acb6b10e041fd6"}, "sections": [], "description_zh": "\u672c\u8282\u6982\u8ff0 PostgreSQL \u8868\u548c\u7d22\u5f15\u5185\u90e8\u6240\u4f7f\u7528\u7684\u9875\u9762\u683c\u5f0f\u3002 [15] \u5e8f\u5217\u548c TOAST \u8868\u7684\u683c\u5f0f\u4e0e\u666e\u901a\u8868\u76f8\u540c\u3002 \u5728\u4e0b\u9762\u7684\u8bf4\u660e\u4e2d\uff0c\u5047\u5b9a\u4e00\u4e2a \u5b57\u8282 \u5305\u542b 8 \u4e2a\u4f4d\u3002\u53e6\u5916\uff0c\u672f\u8bed \u9879 \u6307\u7684\u662f\u5b58\u50a8\u5728\u9875\u9762\u4e0a\u7684\u5355\u4e2a\u6570\u636e\u503c\u3002\u5728\u8868\u4e2d\uff0c\u9879\u662f\u4e00\u884c\uff1b\u5728\u7d22\u5f15\u4e2d\uff0c\u9879\u662f\u4e00\u6761\u7d22\u5f15\u6761\u76ee\u3002 \u6bcf\u4e2a\u8868\u548c\u7d22\u5f15\u90fd\u5b58\u50a8\u4e3a\u56fa\u5b9a\u5927\u5c0f\u7684 \u9875\u9762 \u6570\u7ec4\uff08\u901a\u5e38\u4e3a 8 kB\uff0c\u4e0d\u8fc7\u5728\u7f16\u8bd1\u670d\u52a1\u5668\u65f6\u53ef\u4ee5\u9009\u62e9\u4e0d\u540c\u7684\u9875\u9762\u5927\u5c0f\uff09\u3002\u5728\u8868\u4e2d\uff0c\u6240\u6709\u9875\u9762\u5728\u903b\u8f91\u4e0a\u90fd\u662f\u7b49\u4ef7\u7684\uff0c\u56e0\u6b64\u67d0\u4e2a\u7279\u5b9a\u9879\uff08\u884c\uff09\u53ef\u4ee5\u5b58\u653e\u5728\u4efb\u610f\u9875\u9762\u4e2d\u3002\u5728\u7d22\u5f15\u4e2d\uff0c\u7b2c\u4e00\u9875\u901a\u5e38\u4fdd\u7559\u4e3a \u5143\u9875 \uff0c\u7528\u4e8e\u4fdd\u5b58\u63a7\u5236\u4fe1\u606f\uff1b\u5e76\u4e14\u6839\u636e\u7d22\u5f15\u8bbf\u95ee\u65b9\u6cd5\u7684\u4e0d\u540c\uff0c\u7d22\u5f15\u4e2d\u8fd8\u53ef\u80fd\u5b58\u5728\u4e0d\u540c\u7c7b\u578b\u7684\u9875\u9762\u3002 \u8868 69.2 \u5c55\u793a\u4e86\u9875\u9762\u7684\u603b\u4f53\u5e03\u5c40\u3002\u6bcf\u4e2a\u9875\u9762\u5305\u542b\u4e94\u4e2a\u90e8\u5206\u3002", "description_zh_html": "<p>\u5b58\u50a8\u7ed3\u6784 storage-page-layout\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n\u672c\u8282\u6982\u8ff0 <span class=\"productname\">PostgreSQL</span> \u8868\u548c\u7d22\u5f15\u5185\u90e8\u6240\u4f7f\u7528\u7684\u9875\u9762\u683c\u5f0f\u3002<a class=\"footnote\" href=\"/zh/docs/13/storage-page-layout.html#ftn.id-1.10.22.8.2.2\"><sup class=\"footnote\">[15]</sup></a>\n\u5e8f\u5217\u548c <acronym class=\"acronym\">TOAST</acronym> \u8868\u7684\u683c\u5f0f\u4e0e\u666e\u901a\u8868\u76f8\u540c\u3002\n</p><p>\n\u5728\u4e0b\u9762\u7684\u8bf4\u660e\u4e2d\uff0c\u5047\u5b9a\u4e00\u4e2a<em class=\"firstterm\">\u5b57\u8282</em>\u5305\u542b 8 \u4e2a\u4f4d\u3002\u53e6\u5916\uff0c\u672f\u8bed<em class=\"firstterm\">\u9879</em>\u6307\u7684\u662f\u5b58\u50a8\u5728\u9875\u9762\u4e0a\u7684\u5355\u4e2a\u6570\u636e\u503c\u3002\u5728\u8868\u4e2d\uff0c\u9879\u662f\u4e00\u884c\uff1b\u5728\u7d22\u5f15\u4e2d\uff0c\u9879\u662f\u4e00\u6761\u7d22\u5f15\u6761\u76ee\u3002\n</p><p>\n\u6bcf\u4e2a\u8868\u548c\u7d22\u5f15\u90fd\u5b58\u50a8\u4e3a\u56fa\u5b9a\u5927\u5c0f\u7684<em class=\"firstterm\">\u9875\u9762</em>\u6570\u7ec4\uff08\u901a\u5e38\u4e3a 8 kB\uff0c\u4e0d\u8fc7\u5728\u7f16\u8bd1\u670d\u52a1\u5668\u65f6\u53ef\u4ee5\u9009\u62e9\u4e0d\u540c\u7684\u9875\u9762\u5927\u5c0f\uff09\u3002\u5728\u8868\u4e2d\uff0c\u6240\u6709\u9875\u9762\u5728\u903b\u8f91\u4e0a\u90fd\u662f\u7b49\u4ef7\u7684\uff0c\u56e0\u6b64\u67d0\u4e2a\u7279\u5b9a\u9879\uff08\u884c\uff09\u53ef\u4ee5\u5b58\u653e\u5728\u4efb\u610f\u9875\u9762\u4e2d\u3002\u5728\u7d22\u5f15\u4e2d\uff0c\u7b2c\u4e00\u9875\u901a\u5e38\u4fdd\u7559\u4e3a<em class=\"firstterm\">\u5143\u9875</em>\uff0c\u7528\u4e8e\u4fdd\u5b58\u63a7\u5236\u4fe1\u606f\uff1b\u5e76\u4e14\u6839\u636e\u7d22\u5f15\u8bbf\u95ee\u65b9\u6cd5\u7684\u4e0d\u540c\uff0c\u7d22\u5f15\u4e2d\u8fd8\u53ef\u80fd\u5b58\u5728\u4e0d\u540c\u7c7b\u578b\u7684\u9875\u9762\u3002\n</p><p>\n<a class=\"xref\" href=\"/zh/docs/13/storage-page-layout.html#PAGE-TABLE\">\u8868\u00a069.2</a> \u5c55\u793a\u4e86\u9875\u9762\u7684\u603b\u4f53\u5e03\u5c40\u3002\u6bcf\u4e2a\u9875\u9762\u5305\u542b\u4e94\u4e2a\u90e8\u5206\u3002\n</p><p><a href=\"/zh/docs/13/storage-page-layout.html\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "summary": "\u672c\u8282\u6982\u8ff0 PostgreSQL \u8868\u548c\u7d22\u5f15\u5185\u90e8\u6240\u4f7f\u7528\u7684\u9875\u9762\u683c\u5f0f\u3002 [15] \u5e8f\u5217\u548c TOAST \u8868\u7684\u683c\u5f0f\u4e0e\u666e\u901a\u8868\u76f8\u540c\u3002 \u5728\u4e0b\u9762\u7684\u8bf4\u660e\u4e2d\uff0c\u5047\u5b9a\u4e00\u4e2a \u5b57\u8282 \u5305\u542b 8 \u4e2a\u4f4d\u3002\u53e6\u5916\uff0c\u672f\u8bed \u9879 \u6307\u7684\u662f\u5b58\u50a8\u5728\u9875\u9762\u4e0a\u7684\u5355\u4e2a\u6570\u636e\u503c\u3002\u5728\u8868\u4e2d\uff0c\u9879\u662f\u4e00\u884c\uff1b\u5728\u7d22\u5f15\u4e2d\uff0c\u9879\u662f\u4e00\u6761\u7d22\u5f15\u6761\u76ee\u3002 \u6bcf\u4e2a\u8868\u548c\u7d22\u5f15\u90fd\u5b58\u50a8\u4e3a\u56fa\u5b9a\u5927\u5c0f\u7684 \u9875\u9762 \u6570\u7ec4\uff08\u901a\u5e38\u4e3a 8 kB\uff0c\u4e0d\u8fc7\u5728\u7f16\u8bd1\u670d\u52a1\u5668\u65f6\u53ef\u4ee5\u9009\u62e9\u4e0d\u540c\u7684\u9875\u9762\u5927\u5c0f\uff09\u3002\u5728\u8868\u4e2d\uff0c\u6240\u6709\u9875\u9762\u5728\u903b\u8f91\u4e0a\u90fd\u662f\u7b49\u4ef7\u7684\uff0c\u56e0\u6b64\u67d0\u4e2a\u7279\u5b9a\u9879\uff08\u884c\uff09\u53ef\u4ee5\u5b58\u653e\u5728\u4efb\u610f\u9875\u9762\u4e2d\u3002\u5728\u7d22\u5f15\u4e2d\uff0c\u7b2c\u4e00\u9875\u901a\u5e38\u4fdd\u7559\u4e3a \u5143\u9875 \uff0c\u7528\u4e8e\u4fdd\u5b58\u63a7\u5236\u4fe1\u606f\uff1b\u5e76\u4e14\u6839\u636e\u7d22\u5f15\u8bbf\u95ee\u65b9\u6cd5\u7684\u4e0d\u540c\uff0c\u7d22\u5f15\u4e2d\u8fd8\u53ef\u80fd\u5b58\u5728\u4e0d\u540c\u7c7b\u578b\u7684\u9875\u9762\u3002 \u8868 69.2 \u5c55\u793a\u4e86\u9875\u9762\u7684\u603b\u4f53\u5e03\u5c40\u3002\u6bcf\u4e2a\u9875\u9762\u5305\u542b\u4e94\u4e2a\u90e8\u5206\u3002", "version": "13", "link_map": {"/zh/docs/13/storage-page-layout.html": "/docs/13/storage-page-layout.html", "/zh/docs/13/storage-page-layout.html#PAGE-TABLE": "/docs/13/storage-page-layout.html#PAGE-TABLE", "/zh/docs/13/storage-page-layout.html#ftn.id-1.10.22.8.2.2": "/docs/13/storage-page-layout.html#ftn.id-1.10.22.8.2.2"}, "body_html": "<p>\u5b58\u50a8\u7ed3\u6784 storage-page-layout\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n\u672c\u8282\u6982\u8ff0 <span>PostgreSQL</span> \u8868\u548c\u7d22\u5f15\u5185\u90e8\u6240\u4f7f\u7528\u7684\u9875\u9762\u683c\u5f0f\u3002<a href=\"/zh/docs/13/storage-page-layout.html#ftn.id-1.10.22.8.2.2\" rel=\"nofollow\"><sup>[15]</sup></a>\n\u5e8f\u5217\u548c <acronym>TOAST</acronym> \u8868\u7684\u683c\u5f0f\u4e0e\u666e\u901a\u8868\u76f8\u540c\u3002\n</p><p>\n\u5728\u4e0b\u9762\u7684\u8bf4\u660e\u4e2d\uff0c\u5047\u5b9a\u4e00\u4e2a<em>\u5b57\u8282</em>\u5305\u542b 8 \u4e2a\u4f4d\u3002\u53e6\u5916\uff0c\u672f\u8bed<em>\u9879</em>\u6307\u7684\u662f\u5b58\u50a8\u5728\u9875\u9762\u4e0a\u7684\u5355\u4e2a\u6570\u636e\u503c\u3002\u5728\u8868\u4e2d\uff0c\u9879\u662f\u4e00\u884c\uff1b\u5728\u7d22\u5f15\u4e2d\uff0c\u9879\u662f\u4e00\u6761\u7d22\u5f15\u6761\u76ee\u3002\n</p><p>\n\u6bcf\u4e2a\u8868\u548c\u7d22\u5f15\u90fd\u5b58\u50a8\u4e3a\u56fa\u5b9a\u5927\u5c0f\u7684<em>\u9875\u9762</em>\u6570\u7ec4\uff08\u901a\u5e38\u4e3a 8 kB\uff0c\u4e0d\u8fc7\u5728\u7f16\u8bd1\u670d\u52a1\u5668\u65f6\u53ef\u4ee5\u9009\u62e9\u4e0d\u540c\u7684\u9875\u9762\u5927\u5c0f\uff09\u3002\u5728\u8868\u4e2d\uff0c\u6240\u6709\u9875\u9762\u5728\u903b\u8f91\u4e0a\u90fd\u662f\u7b49\u4ef7\u7684\uff0c\u56e0\u6b64\u67d0\u4e2a\u7279\u5b9a\u9879\uff08\u884c\uff09\u53ef\u4ee5\u5b58\u653e\u5728\u4efb\u610f\u9875\u9762\u4e2d\u3002\u5728\u7d22\u5f15\u4e2d\uff0c\u7b2c\u4e00\u9875\u901a\u5e38\u4fdd\u7559\u4e3a<em>\u5143\u9875</em>\uff0c\u7528\u4e8e\u4fdd\u5b58\u63a7\u5236\u4fe1\u606f\uff1b\u5e76\u4e14\u6839\u636e\u7d22\u5f15\u8bbf\u95ee\u65b9\u6cd5\u7684\u4e0d\u540c\uff0c\u7d22\u5f15\u4e2d\u8fd8\u53ef\u80fd\u5b58\u5728\u4e0d\u540c\u7c7b\u578b\u7684\u9875\u9762\u3002\n</p><p>\n<a href=\"/zh/docs/13/storage-page-layout.html#PAGE-TABLE\" rel=\"nofollow\">\u8868\u00a069.2</a> \u5c55\u793a\u4e86\u9875\u9762\u7684\u603b\u4f53\u5e03\u5c40\u3002\u6bcf\u4e2a\u9875\u9762\u5305\u542b\u4e94\u4e2a\u90e8\u5206\u3002\n</p><p><a href=\"/zh/docs/13/storage-page-layout.html\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>", "body_sha256": "72c9b5531eb3e22d9a34bff7c2f0c6872ce59d6c49ef9d0787b7b99612391d69", "content_hash": "58c74d51a3a167c24af092c23e7885324f54de3c95004d4188d10a48adb6b52f", "source_database": "center", "source_revision": "6ec3c82726af92b7dec873fa1cdf881eca92a4219787dfad05acb6b10e041fd6"}, "signature": "", "tables_zh": [{"key": "layout-0", "rows": [{"c0": "PageHeaderData", "c1": "\u957f 24 \u5b57\u8282\uff0c\u5305\u542b\u9875\u9762\u7684\u901a\u7528\u4fe1\u606f\uff0c\u4f8b\u5982\u7a7a\u95f2\u7a7a\u95f4\u6307\u9488\u3002"}, {"c0": "ItemIdData", "c1": "\u6307\u5411\u5b9e\u9645\u6570\u636e\u9879\u7684\u884c\u6307\u9488\u6570\u7ec4\u3002\u6bcf\u9879\u4e3a\u4e00\u4e2a\uff08\u504f\u79fb\uff0c\u957f\u5ea6\uff09\u5bf9\uff0c\u5360 4 \u5b57\u8282\u3002"}, {"c0": "\u7a7a\u95f2\u7a7a\u95f4", "c1": "\u5c1a\u672a\u5206\u914d\u7684\u7a7a\u95f4\u3002\u65b0\u884c\u6307\u9488\u4ece\u8be5\u533a\u57df\u7684\u8d77\u59cb\u5904\u5206\u914d\uff0c\u65b0\u6570\u636e\u9879\u4ece\u672b\u5c3e\u5904\u5206\u914d\u3002"}, {"c0": "\u9879", "c1": "\u5b9e\u9645\u7684\u6570\u636e\u9879\u672c\u8eab\u3002"}, {"c0": "\u7279\u6b8a\u7a7a\u95f4", "c1": "\u7d22\u5f15\u8bbf\u95ee\u65b9\u6cd5\u4e13\u7528\u6570\u636e\u3002\u4e0d\u540c\u65b9\u6cd5\u5b58\u50a8\u7684\u5185\u5bb9\u4e0d\u540c\uff0c\u666e\u901a\u8868\u4e2d\u6b64\u533a\u57df\u4e3a\u7a7a\u3002"}], "title": "\u9875\u9762\u603b\u4f53\u5e03\u5c40", "columns": [{"key": "c0", "label": "\u9879\u76ee"}, {"key": "c1", "label": "\u8bf4\u660e"}]}, {"key": "layout-1", "rows": [{"c0": "pd_lsn", "c1": "PageXLogRecPtr", "c2": "8 \u5b57\u8282", "c3": "LSN\uff1a\u8be5\u9875\u6700\u540e\u4e00\u6b21\u53d8\u5316\u6240\u5bf9\u5e94 WAL \u8bb0\u5f55\u7684\u6700\u540e\u4e00\u4e2a\u5b57\u8282\u4e4b\u540e\u7684\u4f4d\u7f6e\u3002"}, {"c0": "pd_checksum", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u9875\u9762\u6821\u9a8c\u548c"}, {"c0": "pd_flags", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u6807\u5fd7\u4f4d"}, {"c0": "pd_lower", "c1": "LocationIndex", "c2": "2 \u5b57\u8282", "c3": "\u7a7a\u95f2\u7a7a\u95f4\u8d77\u59cb\u4f4d\u7f6e\u7684\u504f\u79fb\u91cf"}, {"c0": "pd_upper", "c1": "LocationIndex", "c2": "2 \u5b57\u8282", "c3": "\u7a7a\u95f2\u7a7a\u95f4\u7ed3\u675f\u4f4d\u7f6e\u7684\u504f\u79fb\u91cf"}, {"c0": "pd_special", "c1": "LocationIndex", "c2": "2 \u5b57\u8282", "c3": "\u7279\u6b8a\u7a7a\u95f4\u8d77\u59cb\u4f4d\u7f6e\u7684\u504f\u79fb\u91cf"}, {"c0": "pd_pagesize_version", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u9875\u9762\u5927\u5c0f\u4e0e\u5e03\u5c40\u7248\u672c\u53f7\u4fe1\u606f"}, {"c0": "pd_prune_xid", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "\u9875\u9762\u4e0a\u6700\u65e9\u7684\u5c1a\u672a\u4fee\u526a\u7684 XMAX\uff1b\u6ca1\u6709\u5219\u4e3a\u96f6"}], "title": "PageHeaderData \u5e03\u5c40", "columns": [{"key": "c0", "label": "\u5b57\u6bb5"}, {"key": "c1", "label": "\u7c7b\u578b"}, {"key": "c2", "label": "\u957f\u5ea6"}, {"key": "c3", "label": "\u8bf4\u660e"}]}, {"key": "layout-2", "rows": [{"c0": "t_xmin", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "\u63d2\u5165\u4e8b\u52a1\u7684 XID"}, {"c0": "t_xmax", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "\u5220\u9664\u4e8b\u52a1\u7684 XID"}, {"c0": "t_cid", "c1": "CommandId", "c2": "4 \u5b57\u8282", "c3": "\u63d2\u5165\u548c\uff0f\u6216\u5220\u9664\u547d\u4ee4\u7684 CID\uff0c\u4e0e t_xvac \u5171\u7528\u5b58\u50a8\u4f4d\u7f6e"}, {"c0": "t_xvac", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "VACUUM \u64cd\u4f5c\u79fb\u52a8\u884c\u7248\u672c\u65f6\u4f7f\u7528\u7684 XID"}, {"c0": "t_ctid", "c1": "ItemPointerData", "c2": "6 \u5b57\u8282", "c3": "\u672c\u884c\u7248\u672c\u6216\u8f83\u65b0\u884c\u7248\u672c\u7684\u5f53\u524d TID"}, {"c0": "t_infomask2", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u5c5e\u6027\u6570\u91cf\u53ca\u5404\u79cd\u6807\u5fd7\u4f4d"}, {"c0": "t_infomask", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u5404\u79cd\u6807\u5fd7\u4f4d"}, {"c0": "t_hoff", "c1": "uint8", "c2": "1 \u5b57\u8282", "c3": "\u7528\u6237\u6570\u636e\u7684\u504f\u79fb\u91cf"}], "title": "HeapTupleHeaderData \u5e03\u5c40", "columns": [{"key": "c0", "label": "\u5b57\u6bb5"}, {"key": "c1", "label": "\u7c7b\u578b"}, {"key": "c2", "label": "\u957f\u5ea6"}, {"key": "c3", "label": "\u8bf4\u660e"}]}], "description": ["\u672c\u8282\u6982\u8ff0 PostgreSQL \u8868\u548c\u7d22\u5f15\u5185\u90e8\u6240\u4f7f\u7528\u7684\u9875\u9762\u683c\u5f0f\u3002 [15] \u5e8f\u5217\u548c TOAST \u8868\u7684\u683c\u5f0f\u4e0e\u666e\u901a\u8868\u76f8\u540c\u3002 \u5728\u4e0b\u9762\u7684\u8bf4\u660e\u4e2d\uff0c\u5047\u5b9a\u4e00\u4e2a \u5b57\u8282 \u5305\u542b 8 \u4e2a\u4f4d\u3002\u53e6\u5916\uff0c\u672f\u8bed \u9879 \u6307\u7684\u662f\u5b58\u50a8\u5728\u9875\u9762\u4e0a\u7684\u5355\u4e2a\u6570\u636e\u503c\u3002\u5728\u8868\u4e2d\uff0c\u9879\u662f\u4e00\u884c\uff1b\u5728\u7d22\u5f15\u4e2d\uff0c\u9879\u662f\u4e00\u6761\u7d22\u5f15\u6761\u76ee\u3002 \u6bcf\u4e2a\u8868\u548c\u7d22\u5f15\u90fd\u5b58\u50a8\u4e3a\u56fa\u5b9a\u5927\u5c0f\u7684 \u9875\u9762 \u6570\u7ec4\uff08\u901a\u5e38\u4e3a 8 kB\uff0c\u4e0d\u8fc7\u5728\u7f16\u8bd1\u670d\u52a1\u5668\u65f6\u53ef\u4ee5\u9009\u62e9\u4e0d\u540c\u7684\u9875\u9762\u5927\u5c0f\uff09\u3002\u5728\u8868\u4e2d\uff0c\u6240\u6709\u9875\u9762\u5728\u903b\u8f91\u4e0a\u90fd\u662f\u7b49\u4ef7\u7684\uff0c\u56e0\u6b64\u67d0\u4e2a\u7279\u5b9a\u9879\uff08\u884c\uff09\u53ef\u4ee5\u5b58\u653e\u5728\u4efb\u610f\u9875\u9762\u4e2d\u3002\u5728\u7d22\u5f15\u4e2d\uff0c\u7b2c\u4e00\u9875\u901a\u5e38\u4fdd\u7559\u4e3a \u5143\u9875 \uff0c\u7528\u4e8e\u4fdd\u5b58\u63a7\u5236\u4fe1\u606f\uff1b\u5e76\u4e14\u6839\u636e\u7d22\u5f15\u8bbf\u95ee\u65b9\u6cd5\u7684\u4e0d\u540c\uff0c\u7d22\u5f15\u4e2d\u8fd8\u53ef\u80fd\u5b58\u5728\u4e0d\u540c\u7c7b\u578b\u7684\u9875\u9762\u3002 \u8868 69.2 \u5c55\u793a\u4e86\u9875\u9762\u7684\u603b\u4f53\u5e03\u5c40\u3002\u6bcf\u4e2a\u9875\u9762\u5305\u542b\u4e94\u4e2a\u90e8\u5206\u3002"], "manual_html": "", "manual_path": "/docs/13/storage-page-layout.html", "sections_zh": [], "localization": {"status": "complete", "sources": [{"url": "/docs/13/storage-page-layout.html", "method": "same-major semantic node", "sha256": "8f345d33cebccf663d12f0103dacc41820cd492d575b5faf6bcab66832f8ba39", "language": "zh", "matched_nodes": ["#STORAGE-PAGE-LAYOUT/div[0]", "#STORAGE-PAGE-LAYOUT/div[16]", "#STORAGE-PAGE-LAYOUT/div[18]/div[2]/p[0]", "#STORAGE-PAGE-LAYOUT/div[18]/p[1]", "#STORAGE-PAGE-LAYOUT/div[18]/p[4]", "#STORAGE-PAGE-LAYOUT/div[18]/p[5]", "#STORAGE-PAGE-LAYOUT/div[18]/p[6]", "#STORAGE-PAGE-LAYOUT/div[19]", "#STORAGE-PAGE-LAYOUT/div[1]", "#STORAGE-PAGE-LAYOUT/div[6]/div[1]/table[0]/tbody[2]/tr[3]/td[0]", "#STORAGE-PAGE-LAYOUT/div[6]/p[0]", "#STORAGE-PAGE-LAYOUT/div[9]/div[1]/table[0]/tbody[2]/tr[0]/td[2]", "#STORAGE-PAGE-LAYOUT/div[9]/p[0]", "#STORAGE-PAGE-LAYOUT/p[11]", "#STORAGE-PAGE-LAYOUT/p[12]", "#STORAGE-PAGE-LAYOUT/p[13]", "#STORAGE-PAGE-LAYOUT/p[14]", "#STORAGE-PAGE-LAYOUT/p[15]", "#STORAGE-PAGE-LAYOUT/p[2]", "#STORAGE-PAGE-LAYOUT/p[3]", "#STORAGE-PAGE-LAYOUT/p[4]", "#STORAGE-PAGE-LAYOUT/p[5]"]}], "language": "zh", "original_text": {"/versions/13/description/0": "This section provides an overview of the page format used within PostgreSQL tables and indexes. [15] Sequences and TOAST tables are formatted just like a regular table.", "/versions/13/facts/0/label": "Definition scope", "/versions/13/facts/0/value": "Same-version core physical storage documentation", "/versions/13/tables/0/title": "Overall Page Layout", "/versions/13/tables/1/title": "PageHeaderData Layout", "/versions/13/tables/2/title": "HeapTupleHeaderData Layout", "/versions/13/related/1/label": "Storage Parameters", "/versions/13/tables/0/rows/0/c1": "24 bytes long. Contains general information about the page, including free space pointers.", "/versions/13/tables/0/rows/1/c1": "Array of item identifiers pointing to the actual items. Each entry is an (offset,length) pair. 4 bytes per item.", "/versions/13/tables/0/rows/2/c0": "Free space", "/versions/13/tables/0/rows/2/c1": "The unallocated space. New item identifiers are allocated from the start of this area, new items from the end.", "/versions/13/tables/0/rows/3/c0": "Items", "/versions/13/tables/0/rows/3/c1": "The actual items themselves.", "/versions/13/tables/0/rows/4/c0": "Special space", "/versions/13/tables/0/rows/4/c1": "Index access method specific data. Different methods store different data. Empty in ordinary tables.", "/versions/13/tables/1/rows/0/c2": "8 bytes", "/versions/13/tables/1/rows/0/c3": "LSN: next byte after last byte of WAL record for last change to this page", "/versions/13/tables/1/rows/1/c2": "2 bytes", "/versions/13/tables/1/rows/1/c3": "Page checksum", "/versions/13/tables/1/rows/2/c2": "2 bytes", "/versions/13/tables/1/rows/2/c3": "Flag bits", "/versions/13/tables/1/rows/3/c2": "2 bytes", "/versions/13/tables/1/rows/3/c3": "Offset to start of free space", "/versions/13/tables/1/rows/4/c2": "2 bytes", "/versions/13/tables/1/rows/4/c3": "Offset to end of free space", "/versions/13/tables/1/rows/5/c2": "2 bytes", "/versions/13/tables/1/rows/5/c3": "Offset to start of special space", "/versions/13/tables/1/rows/6/c2": "2 bytes", "/versions/13/tables/1/rows/6/c3": "Page size and layout version number information", "/versions/13/tables/1/rows/7/c2": "4 bytes", "/versions/13/tables/1/rows/7/c3": "Oldest unpruned XMAX on page, or zero if none", "/versions/13/tables/2/rows/0/c2": "4 bytes", "/versions/13/tables/2/rows/0/c3": "insert XID stamp", "/versions/13/tables/2/rows/1/c2": "4 bytes", "/versions/13/tables/2/rows/1/c3": "delete XID stamp", "/versions/13/tables/2/rows/2/c2": "4 bytes", "/versions/13/tables/2/rows/2/c3": "insert and/or delete CID stamp (overlays with t_xvac)", "/versions/13/tables/2/rows/3/c2": "4 bytes", "/versions/13/tables/2/rows/3/c3": "XID for VACUUM operation moving a row version", "/versions/13/tables/2/rows/4/c2": "6 bytes", "/versions/13/tables/2/rows/4/c3": "current TID of this or newer row version", "/versions/13/tables/2/rows/5/c2": "2 bytes", "/versions/13/tables/2/rows/5/c3": "number of attributes, plus various flag bits", "/versions/13/tables/2/rows/6/c2": "2 bytes", "/versions/13/tables/2/rows/6/c3": "various flag bits", "/versions/13/tables/2/rows/7/c2": "1 byte", "/versions/13/tables/2/rows/7/c3": "offset to user data", "/versions/13/tables/0/columns/0/label": "Item", "/versions/13/tables/0/columns/1/label": "Description", "/versions/13/tables/1/columns/0/label": "Field", "/versions/13/tables/1/columns/1/label": "Type", "/versions/13/tables/1/columns/2/label": "Length", "/versions/13/tables/1/columns/3/label": "Description", "/versions/13/tables/2/columns/0/label": "Field", "/versions/13/tables/2/columns/1/label": "Type", "/versions/13/tables/2/columns/2/label": "Length", "/versions/13/tables/2/columns/3/label": "Description"}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "11ca5bd7cdf60a5af2d848c365c069eb58cf427693a4d274a462832b386e46eb", "canonical_center_text_hash": "58c74d51a3a167c24af092c23e7885324f54de3c95004d4188d10a48adb6b52f"}, "description_zh": "\u672c\u8282\u6982\u8ff0 PostgreSQL \u8868\u548c\u7d22\u5f15\u5185\u90e8\u6240\u4f7f\u7528\u7684\u9875\u9762\u683c\u5f0f\u3002 [15] \u5e8f\u5217\u548c TOAST \u8868\u7684\u683c\u5f0f\u4e0e\u666e\u901a\u8868\u76f8\u540c\u3002 \u5728\u4e0b\u9762\u7684\u8bf4\u660e\u4e2d\uff0c\u5047\u5b9a\u4e00\u4e2a \u5b57\u8282 \u5305\u542b 8 \u4e2a\u4f4d\u3002\u53e6\u5916\uff0c\u672f\u8bed \u9879 \u6307\u7684\u662f\u5b58\u50a8\u5728\u9875\u9762\u4e0a\u7684\u5355\u4e2a\u6570\u636e\u503c\u3002\u5728\u8868\u4e2d\uff0c\u9879\u662f\u4e00\u884c\uff1b\u5728\u7d22\u5f15\u4e2d\uff0c\u9879\u662f\u4e00\u6761\u7d22\u5f15\u6761\u76ee\u3002 \u6bcf\u4e2a\u8868\u548c\u7d22\u5f15\u90fd\u5b58\u50a8\u4e3a\u56fa\u5b9a\u5927\u5c0f\u7684 \u9875\u9762 \u6570\u7ec4\uff08\u901a\u5e38\u4e3a 8 kB\uff0c\u4e0d\u8fc7\u5728\u7f16\u8bd1\u670d\u52a1\u5668\u65f6\u53ef\u4ee5\u9009\u62e9\u4e0d\u540c\u7684\u9875\u9762\u5927\u5c0f\uff09\u3002\u5728\u8868\u4e2d\uff0c\u6240\u6709\u9875\u9762\u5728\u903b\u8f91\u4e0a\u90fd\u662f\u7b49\u4ef7\u7684\uff0c\u56e0\u6b64\u67d0\u4e2a\u7279\u5b9a\u9879\uff08\u884c\uff09\u53ef\u4ee5\u5b58\u653e\u5728\u4efb\u610f\u9875\u9762\u4e2d\u3002\u5728\u7d22\u5f15\u4e2d\uff0c\u7b2c\u4e00\u9875\u901a\u5e38\u4fdd\u7559\u4e3a \u5143\u9875 \uff0c\u7528\u4e8e\u4fdd\u5b58\u63a7\u5236\u4fe1\u606f\uff1b\u5e76\u4e14\u6839\u636e\u7d22\u5f15\u8bbf\u95ee\u65b9\u6cd5\u7684\u4e0d\u540c\uff0c\u7d22\u5f15\u4e2d\u8fd8\u53ef\u80fd\u5b58\u5728\u4e0d\u540c\u7c7b\u578b\u7684\u9875\u9762\u3002 \u8868 69.2 \u5c55\u793a\u4e86\u9875\u9762\u7684\u603b\u4f53\u5e03\u5c40\u3002\u6bcf\u4e2a\u9875\u9762\u5305\u542b\u4e94\u4e2a\u90e8\u5206\u3002", "comparison_data": {"layouts": [{"key": "layout-0", "rows": [{"c0": "PageHeaderData", "c1": "24 bytes long. Contains general information about the page, including free space pointers."}, {"c0": "ItemIdData", "c1": "Array of item identifiers pointing to the actual items. Each entry is an (offset,length) pair. 4 bytes per item."}, {"c0": "Free space", "c1": "The unallocated space. New item identifiers are allocated from the start of this area, new items from the end."}, {"c0": "Items", "c1": "The actual items themselves."}, {"c0": "Special space", "c1": "Index access method specific data. Different methods store different data. Empty in ordinary tables."}], "title": "Overall Page Layout", "columns": [{"key": "c0", "label": "Item"}, {"key": "c1", "label": "Description"}]}, {"key": "layout-1", "rows": [{"c0": "pd_lsn", "c1": "PageXLogRecPtr", "c2": "8 bytes", "c3": "LSN: next byte after last byte of WAL record for last change to this page"}, {"c0": "pd_checksum", "c1": "uint16", "c2": "2 bytes", "c3": "Page checksum"}, {"c0": "pd_flags", "c1": "uint16", "c2": "2 bytes", "c3": "Flag bits"}, {"c0": "pd_lower", "c1": "LocationIndex", "c2": "2 bytes", "c3": "Offset to start of free space"}, {"c0": "pd_upper", "c1": "LocationIndex", "c2": "2 bytes", "c3": "Offset to end of free space"}, {"c0": "pd_special", "c1": "LocationIndex", "c2": "2 bytes", "c3": "Offset to start of special space"}, {"c0": "pd_pagesize_version", "c1": "uint16", "c2": "2 bytes", "c3": "Page size and layout version number information"}, {"c0": "pd_prune_xid", "c1": "TransactionId", "c2": "4 bytes", "c3": "Oldest unpruned XMAX on page, or zero if none"}], "title": "PageHeaderData Layout", "columns": [{"key": "c0", "label": "Field"}, {"key": "c1", "label": "Type"}, {"key": "c2", "label": "Length"}, {"key": "c3", "label": "Description"}]}, {"key": "layout-2", "rows": [{"c0": "t_xmin", "c1": "TransactionId", "c2": "4 bytes", "c3": "insert XID stamp"}, {"c0": "t_xmax", "c1": "TransactionId", "c2": "4 bytes", "c3": "delete XID stamp"}, {"c0": "t_cid", "c1": "CommandId", "c2": "4 bytes", "c3": "insert and/or delete CID stamp (overlays with t_xvac)"}, {"c0": "t_xvac", "c1": "TransactionId", "c2": "4 bytes", "c3": "XID for VACUUM operation moving a row version"}, {"c0": "t_ctid", "c1": "ItemPointerData", "c2": "6 bytes", "c3": "current TID of this or newer row version"}, {"c0": "t_infomask2", "c1": "uint16", "c2": "2 bytes", "c3": "number of attributes, plus various flag bits"}, {"c0": "t_infomask", "c1": "uint16", "c2": "2 bytes", "c3": "various flag bits"}, {"c0": "t_hoff", "c1": "uint8", "c2": "1 byte", "c3": "offset to user data"}], "title": "HeapTupleHeaderData Layout", "columns": [{"key": "c0", "label": "Field"}, {"key": "c1", "label": "Type"}, {"key": "c2", "label": "Length"}, {"key": "c3", "label": "Description"}]}]}, "comparison_hash": "b621fa85b3be27a0eb0d82986e9524f2ef0a776761901f0d429826eec4822d0a", "manual_language": "zh", "description_zh_html": "<p>\u5b58\u50a8\u7ed3\u6784 storage-page-layout\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n\u672c\u8282\u6982\u8ff0 <span>PostgreSQL</span> \u8868\u548c\u7d22\u5f15\u5185\u90e8\u6240\u4f7f\u7528\u7684\u9875\u9762\u683c\u5f0f\u3002<a href=\"/zh/docs/13/storage-page-layout.html#ftn.id-1.10.22.8.2.2\" rel=\"nofollow\"><sup>[15]</sup></a>\n\u5e8f\u5217\u548c <acronym>TOAST</acronym> \u8868\u7684\u683c\u5f0f\u4e0e\u666e\u901a\u8868\u76f8\u540c\u3002\n</p><p>\n\u5728\u4e0b\u9762\u7684\u8bf4\u660e\u4e2d\uff0c\u5047\u5b9a\u4e00\u4e2a<em>\u5b57\u8282</em>\u5305\u542b 8 \u4e2a\u4f4d\u3002\u53e6\u5916\uff0c\u672f\u8bed<em>\u9879</em>\u6307\u7684\u662f\u5b58\u50a8\u5728\u9875\u9762\u4e0a\u7684\u5355\u4e2a\u6570\u636e\u503c\u3002\u5728\u8868\u4e2d\uff0c\u9879\u662f\u4e00\u884c\uff1b\u5728\u7d22\u5f15\u4e2d\uff0c\u9879\u662f\u4e00\u6761\u7d22\u5f15\u6761\u76ee\u3002\n</p><p>\n\u6bcf\u4e2a\u8868\u548c\u7d22\u5f15\u90fd\u5b58\u50a8\u4e3a\u56fa\u5b9a\u5927\u5c0f\u7684<em>\u9875\u9762</em>\u6570\u7ec4\uff08\u901a\u5e38\u4e3a 8 kB\uff0c\u4e0d\u8fc7\u5728\u7f16\u8bd1\u670d\u52a1\u5668\u65f6\u53ef\u4ee5\u9009\u62e9\u4e0d\u540c\u7684\u9875\u9762\u5927\u5c0f\uff09\u3002\u5728\u8868\u4e2d\uff0c\u6240\u6709\u9875\u9762\u5728\u903b\u8f91\u4e0a\u90fd\u662f\u7b49\u4ef7\u7684\uff0c\u56e0\u6b64\u67d0\u4e2a\u7279\u5b9a\u9879\uff08\u884c\uff09\u53ef\u4ee5\u5b58\u653e\u5728\u4efb\u610f\u9875\u9762\u4e2d\u3002\u5728\u7d22\u5f15\u4e2d\uff0c\u7b2c\u4e00\u9875\u901a\u5e38\u4fdd\u7559\u4e3a<em>\u5143\u9875</em>\uff0c\u7528\u4e8e\u4fdd\u5b58\u63a7\u5236\u4fe1\u606f\uff1b\u5e76\u4e14\u6839\u636e\u7d22\u5f15\u8bbf\u95ee\u65b9\u6cd5\u7684\u4e0d\u540c\uff0c\u7d22\u5f15\u4e2d\u8fd8\u53ef\u80fd\u5b58\u5728\u4e0d\u540c\u7c7b\u578b\u7684\u9875\u9762\u3002\n</p><p>\n<a href=\"/zh/docs/13/storage-page-layout.html#PAGE-TABLE\" rel=\"nofollow\">\u8868\u00a069.2</a> \u5c55\u793a\u4e86\u9875\u9762\u7684\u603b\u4f53\u5e03\u5c40\u3002\u6bcf\u4e2a\u9875\u9762\u5305\u542b\u4e94\u4e2a\u90e8\u5206\u3002\n</p><p><a href=\"/zh/docs/13/storage-page-layout.html\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "14": {"facts": [{"label": "\u5b9a\u4e49\u8303\u56f4", "value": "\u540c\u7248\u672c\u6838\u5fc3\u7269\u7406\u5b58\u50a8\u6587\u6863"}], "tables": [{"key": "layout-0", "rows": [{"c0": "PageHeaderData", "c1": "\u957f 24 \u5b57\u8282\uff0c\u5305\u542b\u9875\u9762\u7684\u901a\u7528\u4fe1\u606f\uff0c\u4f8b\u5982\u7a7a\u95f2\u7a7a\u95f4\u6307\u9488\u3002"}, {"c0": "ItemIdData", "c1": "\u6307\u5411\u5b9e\u9645\u6570\u636e\u9879\u7684\u884c\u6307\u9488\u6570\u7ec4\u3002\u6bcf\u9879\u4e3a\u4e00\u4e2a\uff08\u504f\u79fb\uff0c\u957f\u5ea6\uff09\u5bf9\uff0c\u5360 4 \u5b57\u8282\u3002"}, {"c0": "\u7a7a\u95f2\u7a7a\u95f4", "c1": "\u5c1a\u672a\u5206\u914d\u7684\u7a7a\u95f4\u3002\u65b0\u884c\u6307\u9488\u4ece\u8be5\u533a\u57df\u7684\u8d77\u59cb\u5904\u5206\u914d\uff0c\u65b0\u6570\u636e\u9879\u4ece\u672b\u5c3e\u5904\u5206\u914d\u3002"}, {"c0": "\u9879", "c1": "\u5b9e\u9645\u7684\u6570\u636e\u9879\u672c\u8eab\u3002"}, {"c0": "\u7279\u6b8a\u7a7a\u95f4", "c1": "\u7d22\u5f15\u8bbf\u95ee\u65b9\u6cd5\u4e13\u7528\u6570\u636e\u3002\u4e0d\u540c\u65b9\u6cd5\u5b58\u50a8\u7684\u5185\u5bb9\u4e0d\u540c\uff0c\u666e\u901a\u8868\u4e2d\u6b64\u533a\u57df\u4e3a\u7a7a\u3002"}], "title": "\u9875\u9762\u603b\u4f53\u5e03\u5c40", "columns": [{"key": "c0", "label": "\u9879\u76ee"}, {"key": "c1", "label": "\u8bf4\u660e"}]}, {"key": "layout-1", "rows": [{"c0": "pd_lsn", "c1": "PageXLogRecPtr", "c2": "8 \u5b57\u8282", "c3": "LSN\uff1a\u8be5\u9875\u6700\u540e\u4e00\u6b21\u53d8\u5316\u6240\u5bf9\u5e94 WAL \u8bb0\u5f55\u7684\u6700\u540e\u4e00\u4e2a\u5b57\u8282\u4e4b\u540e\u7684\u4f4d\u7f6e\u3002"}, {"c0": "pd_checksum", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u9875\u9762\u6821\u9a8c\u548c"}, {"c0": "pd_flags", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u6807\u5fd7\u4f4d"}, {"c0": "pd_lower", "c1": "LocationIndex", "c2": "2 \u5b57\u8282", "c3": "\u7a7a\u95f2\u7a7a\u95f4\u8d77\u59cb\u4f4d\u7f6e\u7684\u504f\u79fb\u91cf"}, {"c0": "pd_upper", "c1": "LocationIndex", "c2": "2 \u5b57\u8282", "c3": "\u7a7a\u95f2\u7a7a\u95f4\u7ed3\u675f\u4f4d\u7f6e\u7684\u504f\u79fb\u91cf"}, {"c0": "pd_special", "c1": "LocationIndex", "c2": "2 \u5b57\u8282", "c3": "\u7279\u6b8a\u7a7a\u95f4\u8d77\u59cb\u4f4d\u7f6e\u7684\u504f\u79fb\u91cf"}, {"c0": "pd_pagesize_version", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u9875\u9762\u5927\u5c0f\u4e0e\u5e03\u5c40\u7248\u672c\u53f7\u4fe1\u606f"}, {"c0": "pd_prune_xid", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "\u9875\u9762\u4e0a\u6700\u65e9\u7684\u5c1a\u672a\u4fee\u526a\u7684 XMAX\uff1b\u6ca1\u6709\u5219\u4e3a\u96f6"}], "title": "PageHeaderData \u5e03\u5c40", "columns": [{"key": "c0", "label": "\u5b57\u6bb5"}, {"key": "c1", "label": "\u7c7b\u578b"}, {"key": "c2", "label": "\u957f\u5ea6"}, {"key": "c3", "label": "\u8bf4\u660e"}]}, {"key": "layout-2", "rows": [{"c0": "t_xmin", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "\u63d2\u5165\u4e8b\u52a1\u7684 XID"}, {"c0": "t_xmax", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "\u5220\u9664\u4e8b\u52a1\u7684 XID"}, {"c0": "t_cid", "c1": "CommandId", "c2": "4 \u5b57\u8282", "c3": "\u63d2\u5165\u548c\uff0f\u6216\u5220\u9664\u547d\u4ee4\u7684 CID\uff0c\u4e0e t_xvac \u5171\u7528\u5b58\u50a8\u4f4d\u7f6e"}, {"c0": "t_xvac", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "VACUUM \u64cd\u4f5c\u79fb\u52a8\u884c\u7248\u672c\u65f6\u4f7f\u7528\u7684 XID"}, {"c0": "t_ctid", "c1": "ItemPointerData", "c2": "6 \u5b57\u8282", "c3": "\u672c\u884c\u7248\u672c\u6216\u8f83\u65b0\u884c\u7248\u672c\u7684\u5f53\u524d TID"}, {"c0": "t_infomask2", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u5c5e\u6027\u6570\u91cf\u53ca\u5404\u79cd\u6807\u5fd7\u4f4d"}, {"c0": "t_infomask", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u5404\u79cd\u6807\u5fd7\u4f4d"}, {"c0": "t_hoff", "c1": "uint8", "c2": "1 \u5b57\u8282", "c3": "\u7528\u6237\u6570\u636e\u7684\u504f\u79fb\u91cf"}], "title": "HeapTupleHeaderData \u5e03\u5c40", "columns": [{"key": "c0", "label": "\u5b57\u6bb5"}, {"key": "c1", "label": "\u7c7b\u578b"}, {"key": "c2", "label": "\u957f\u5ea6"}, {"key": "c3", "label": "\u8bf4\u660e"}]}], "diagram": "page-layout", "related": [{"url": "/wiki/tableam/?v=14", "label": "Table AM"}, {"url": "/wiki/relopts/?v=14", "label": "\u5b58\u50a8\u53c2\u6570"}], "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-page-layout.html", "path": "storage-page-layout.html", "label": "PostgreSQL 14 English manual", "sha256": "0086151fad97655a71308a5389066374e3e178c423cb855b4084e7a2c3b078c5"}], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-identity", "manual": {"url": "/zh/docs/14/storage-page-layout.html", "anchor": "", "locale": "zh-Hans", "version": "14", "build_id": 99, "page_key": "storage-page-layout.html", "extraction": "concept-introduction", "source_hash": "8a32af698668a200a4d74e19d629b93fef645528e97fe599521760691245921b", "fragment_sha256": "cd73e445c97021eb59980b047d377a113b2e002e3e9b4eacc897ecbb8a148ccd", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "git:b1b500221dbe5437cfca004d6b04d3f6e422765d;html-sha256:87e6aa4fd6e1ec85c5f4a6de4f5647cfd9e5de734ca2c266d32b6d6192c662ef", "translated_from_revision": null}, "body_sha256": "9c2f53e32df8d4256d892bbba3396fbf3332be8950db210ade6b91ef02ecfb17", "runtime_rerun": false, "authored_translation": "source-derived-identity", "source_facts_revision": "a7fa7ed3d558172355f51406097a7bd4f6b473be80f311ef7cda96bf383d8897"}, "facts_zh": [{"label": "\u5b9a\u4e49\u8303\u56f4", "value": "\u540c\u7248\u672c\u6838\u5fc3\u7269\u7406\u5b58\u50a8\u6587\u6863"}], "sections": [], "center_zh": {"title": "Database Page Layout", "locale": "zh-Hans", "source": {"key": "storage-page-layout", "locale": "zh-Hans", "version": "14", "text_hash": "28e448a502e254a06c6988c5daeec1bc45af557d6a1b83eed7b76ed4cd0a7fab", "collection": "storage", "dataset_hash": "7c31b524dfe136022d39a6ae8dcfac6b3bbd5f8fdaf422536599981252aff0c9", "source_database": "center", "source_revision": "a7fa7ed3d558172355f51406097a7bd4f6b473be80f311ef7cda96bf383d8897"}, "payload": {"facts": [{"label": "\u5b9a\u4e49\u8303\u56f4", "value": "\u540c\u7248\u672c\u6838\u5fc3\u7269\u7406\u5b58\u50a8\u6587\u6863"}], "tables": [{"key": "layout-0", "rows": [{"c0": "PageHeaderData", "c1": "\u957f 24 \u5b57\u8282\uff0c\u5305\u542b\u9875\u9762\u7684\u901a\u7528\u4fe1\u606f\uff0c\u4f8b\u5982\u7a7a\u95f2\u7a7a\u95f4\u6307\u9488\u3002"}, {"c0": "ItemIdData", "c1": "\u6307\u5411\u5b9e\u9645\u6570\u636e\u9879\u7684\u884c\u6307\u9488\u6570\u7ec4\u3002\u6bcf\u9879\u4e3a\u4e00\u4e2a\uff08\u504f\u79fb\uff0c\u957f\u5ea6\uff09\u5bf9\uff0c\u5360 4 \u5b57\u8282\u3002"}, {"c0": "\u7a7a\u95f2\u7a7a\u95f4", "c1": "\u5c1a\u672a\u5206\u914d\u7684\u7a7a\u95f4\u3002\u65b0\u884c\u6307\u9488\u4ece\u8be5\u533a\u57df\u7684\u8d77\u59cb\u5904\u5206\u914d\uff0c\u65b0\u6570\u636e\u9879\u4ece\u672b\u5c3e\u5904\u5206\u914d\u3002"}, {"c0": "\u9879", "c1": "\u5b9e\u9645\u7684\u6570\u636e\u9879\u672c\u8eab\u3002"}, {"c0": "\u7279\u6b8a\u7a7a\u95f4", "c1": "\u7d22\u5f15\u8bbf\u95ee\u65b9\u6cd5\u4e13\u7528\u6570\u636e\u3002\u4e0d\u540c\u65b9\u6cd5\u5b58\u50a8\u7684\u5185\u5bb9\u4e0d\u540c\uff0c\u666e\u901a\u8868\u4e2d\u6b64\u533a\u57df\u4e3a\u7a7a\u3002"}], "title": "\u9875\u9762\u603b\u4f53\u5e03\u5c40", "columns": [{"key": "c0", "label": "\u9879\u76ee"}, {"key": "c1", "label": "\u8bf4\u660e"}]}, {"key": "layout-1", "rows": [{"c0": "pd_lsn", "c1": "PageXLogRecPtr", "c2": "8 \u5b57\u8282", "c3": "LSN\uff1a\u8be5\u9875\u6700\u540e\u4e00\u6b21\u53d8\u5316\u6240\u5bf9\u5e94 WAL \u8bb0\u5f55\u7684\u6700\u540e\u4e00\u4e2a\u5b57\u8282\u4e4b\u540e\u7684\u4f4d\u7f6e\u3002"}, {"c0": "pd_checksum", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u9875\u9762\u6821\u9a8c\u548c"}, {"c0": "pd_flags", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u6807\u5fd7\u4f4d"}, {"c0": "pd_lower", "c1": "LocationIndex", "c2": "2 \u5b57\u8282", "c3": "\u7a7a\u95f2\u7a7a\u95f4\u8d77\u59cb\u4f4d\u7f6e\u7684\u504f\u79fb\u91cf"}, {"c0": "pd_upper", "c1": "LocationIndex", "c2": "2 \u5b57\u8282", "c3": "\u7a7a\u95f2\u7a7a\u95f4\u7ed3\u675f\u4f4d\u7f6e\u7684\u504f\u79fb\u91cf"}, {"c0": "pd_special", "c1": "LocationIndex", "c2": "2 \u5b57\u8282", "c3": "\u7279\u6b8a\u7a7a\u95f4\u8d77\u59cb\u4f4d\u7f6e\u7684\u504f\u79fb\u91cf"}, {"c0": "pd_pagesize_version", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u9875\u9762\u5927\u5c0f\u4e0e\u5e03\u5c40\u7248\u672c\u53f7\u4fe1\u606f"}, {"c0": "pd_prune_xid", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "\u9875\u9762\u4e0a\u6700\u65e9\u7684\u5c1a\u672a\u4fee\u526a\u7684 XMAX\uff1b\u6ca1\u6709\u5219\u4e3a\u96f6"}], "title": "PageHeaderData \u5e03\u5c40", "columns": [{"key": "c0", "label": "\u5b57\u6bb5"}, {"key": "c1", "label": "\u7c7b\u578b"}, {"key": "c2", "label": "\u957f\u5ea6"}, {"key": "c3", "label": "\u8bf4\u660e"}]}, {"key": "layout-2", "rows": [{"c0": "t_xmin", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "\u63d2\u5165\u4e8b\u52a1\u7684 XID"}, {"c0": "t_xmax", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "\u5220\u9664\u4e8b\u52a1\u7684 XID"}, {"c0": "t_cid", "c1": "CommandId", "c2": "4 \u5b57\u8282", "c3": "\u63d2\u5165\u548c\uff0f\u6216\u5220\u9664\u547d\u4ee4\u7684 CID\uff0c\u4e0e t_xvac \u5171\u7528\u5b58\u50a8\u4f4d\u7f6e"}, {"c0": "t_xvac", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "VACUUM \u64cd\u4f5c\u79fb\u52a8\u884c\u7248\u672c\u65f6\u4f7f\u7528\u7684 XID"}, {"c0": "t_ctid", "c1": "ItemPointerData", "c2": "6 \u5b57\u8282", "c3": "\u672c\u884c\u7248\u672c\u6216\u8f83\u65b0\u884c\u7248\u672c\u7684\u5f53\u524d TID"}, {"c0": "t_infomask2", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u5c5e\u6027\u6570\u91cf\u53ca\u5404\u79cd\u6807\u5fd7\u4f4d"}, {"c0": "t_infomask", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u5404\u79cd\u6807\u5fd7\u4f4d"}, {"c0": "t_hoff", "c1": "uint8", "c2": "1 \u5b57\u8282", "c3": "\u7528\u6237\u6570\u636e\u7684\u504f\u79fb\u91cf"}], "title": "HeapTupleHeaderData \u5e03\u5c40", "columns": [{"key": "c0", "label": "\u5b57\u6bb5"}, {"key": "c1", "label": "\u7c7b\u578b"}, {"key": "c2", "label": "\u957f\u5ea6"}, {"key": "c3", "label": "\u8bf4\u660e"}]}], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-identity", "manual": {"url": "/zh/docs/14/storage-page-layout.html", "anchor": "", "locale": "zh-Hans", "version": "14", "build_id": 99, "page_key": "storage-page-layout.html", "extraction": "concept-introduction", "source_hash": "8a32af698668a200a4d74e19d629b93fef645528e97fe599521760691245921b", "fragment_sha256": "cd73e445c97021eb59980b047d377a113b2e002e3e9b4eacc897ecbb8a148ccd", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "git:b1b500221dbe5437cfca004d6b04d3f6e422765d;html-sha256:87e6aa4fd6e1ec85c5f4a6de4f5647cfd9e5de734ca2c266d32b6d6192c662ef", "translated_from_revision": null}, "body_sha256": "9c2f53e32df8d4256d892bbba3396fbf3332be8950db210ade6b91ef02ecfb17", "runtime_rerun": false, "authored_translation": "source-derived-identity", "source_facts_revision": "a7fa7ed3d558172355f51406097a7bd4f6b473be80f311ef7cda96bf383d8897"}, "sections": [], "description_zh": "\u672c\u8282\u6982\u8ff0 PostgreSQL \u8868\u548c\u7d22\u5f15\u5185\u90e8\u6240\u4f7f\u7528\u7684\u9875\u9762\u683c\u5f0f\u3002 [17] \u5e8f\u5217\u548c TOAST \u8868\u7684\u683c\u5f0f\u4e0e\u666e\u901a\u8868\u76f8\u540c\u3002 \u5728\u4e0b\u9762\u7684\u8bf4\u660e\u4e2d\uff0c\u5047\u5b9a\u4e00\u4e2a \u5b57\u8282 \u5305\u542b 8 \u4e2a\u4f4d\u3002\u53e6\u5916\uff0c\u672f\u8bed \u9879 \u6307\u7684\u662f\u5b58\u50a8\u5728\u9875\u9762\u4e0a\u7684\u5355\u4e2a\u6570\u636e\u503c\u3002\u5728\u8868\u4e2d\uff0c\u9879\u662f\u4e00\u884c\uff1b\u5728\u7d22\u5f15\u4e2d\uff0c\u9879\u662f\u4e00\u6761\u7d22\u5f15\u6761\u76ee\u3002 \u6bcf\u4e2a\u8868\u548c\u7d22\u5f15\u90fd\u5b58\u50a8\u4e3a\u56fa\u5b9a\u5927\u5c0f\u7684 \u9875\u9762 \u6570\u7ec4\uff08\u901a\u5e38\u4e3a 8 kB\uff0c\u4e0d\u8fc7\u5728\u7f16\u8bd1\u670d\u52a1\u5668\u65f6\u53ef\u4ee5\u9009\u62e9\u4e0d\u540c\u7684\u9875\u9762\u5927\u5c0f\uff09\u3002\u5728\u8868\u4e2d\uff0c\u6240\u6709\u9875\u9762\u5728\u903b\u8f91\u4e0a\u90fd\u662f\u7b49\u4ef7\u7684\uff0c\u56e0\u6b64\u67d0\u4e2a\u7279\u5b9a\u9879\uff08\u884c\uff09\u53ef\u4ee5\u5b58\u653e\u5728\u4efb\u610f\u9875\u9762\u4e2d\u3002\u5728\u7d22\u5f15\u4e2d\uff0c\u7b2c\u4e00\u9875\u901a\u5e38\u4fdd\u7559\u4e3a \u5143\u9875 \uff0c\u7528\u4e8e\u4fdd\u5b58\u63a7\u5236\u4fe1\u606f\uff1b\u5e76\u4e14\u6839\u636e\u7d22\u5f15\u8bbf\u95ee\u65b9\u6cd5\u7684\u4e0d\u540c\uff0c\u7d22\u5f15\u4e2d\u8fd8\u53ef\u80fd\u5b58\u5728\u4e0d\u540c\u7c7b\u578b\u7684\u9875\u9762\u3002 \u8868 70.2 \u5c55\u793a\u4e86\u9875\u9762\u7684\u603b\u4f53\u5e03\u5c40\u3002\u6bcf\u4e2a\u9875\u9762\u5305\u542b\u4e94\u4e2a\u90e8\u5206\u3002", "description_zh_html": "<p>\u5b58\u50a8\u7ed3\u6784 storage-page-layout\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n\u672c\u8282\u6982\u8ff0 <span class=\"productname\">PostgreSQL</span> \u8868\u548c\u7d22\u5f15\u5185\u90e8\u6240\u4f7f\u7528\u7684\u9875\u9762\u683c\u5f0f\u3002<a class=\"footnote\" href=\"/zh/docs/14/storage-page-layout.html#ftn.id-1.10.22.8.2.2\"><sup class=\"footnote\">[17]</sup></a>\n\u5e8f\u5217\u548c <acronym class=\"acronym\">TOAST</acronym> \u8868\u7684\u683c\u5f0f\u4e0e\u666e\u901a\u8868\u76f8\u540c\u3002\n</p><p>\n\u5728\u4e0b\u9762\u7684\u8bf4\u660e\u4e2d\uff0c\u5047\u5b9a\u4e00\u4e2a<em class=\"firstterm\">\u5b57\u8282</em>\u5305\u542b 8 \u4e2a\u4f4d\u3002\u53e6\u5916\uff0c\u672f\u8bed<em class=\"firstterm\">\u9879</em>\u6307\u7684\u662f\u5b58\u50a8\u5728\u9875\u9762\u4e0a\u7684\u5355\u4e2a\u6570\u636e\u503c\u3002\u5728\u8868\u4e2d\uff0c\u9879\u662f\u4e00\u884c\uff1b\u5728\u7d22\u5f15\u4e2d\uff0c\u9879\u662f\u4e00\u6761\u7d22\u5f15\u6761\u76ee\u3002\n</p><p>\n\u6bcf\u4e2a\u8868\u548c\u7d22\u5f15\u90fd\u5b58\u50a8\u4e3a\u56fa\u5b9a\u5927\u5c0f\u7684<em class=\"firstterm\">\u9875\u9762</em>\u6570\u7ec4\uff08\u901a\u5e38\u4e3a 8 kB\uff0c\u4e0d\u8fc7\u5728\u7f16\u8bd1\u670d\u52a1\u5668\u65f6\u53ef\u4ee5\u9009\u62e9\u4e0d\u540c\u7684\u9875\u9762\u5927\u5c0f\uff09\u3002\u5728\u8868\u4e2d\uff0c\u6240\u6709\u9875\u9762\u5728\u903b\u8f91\u4e0a\u90fd\u662f\u7b49\u4ef7\u7684\uff0c\u56e0\u6b64\u67d0\u4e2a\u7279\u5b9a\u9879\uff08\u884c\uff09\u53ef\u4ee5\u5b58\u653e\u5728\u4efb\u610f\u9875\u9762\u4e2d\u3002\u5728\u7d22\u5f15\u4e2d\uff0c\u7b2c\u4e00\u9875\u901a\u5e38\u4fdd\u7559\u4e3a<em class=\"firstterm\">\u5143\u9875</em>\uff0c\u7528\u4e8e\u4fdd\u5b58\u63a7\u5236\u4fe1\u606f\uff1b\u5e76\u4e14\u6839\u636e\u7d22\u5f15\u8bbf\u95ee\u65b9\u6cd5\u7684\u4e0d\u540c\uff0c\u7d22\u5f15\u4e2d\u8fd8\u53ef\u80fd\u5b58\u5728\u4e0d\u540c\u7c7b\u578b\u7684\u9875\u9762\u3002\n</p><p>\n<a class=\"xref\" href=\"/zh/docs/14/storage-page-layout.html#PAGE-TABLE\">\u8868\u00a070.2</a> \u5c55\u793a\u4e86\u9875\u9762\u7684\u603b\u4f53\u5e03\u5c40\u3002\u6bcf\u4e2a\u9875\u9762\u5305\u542b\u4e94\u4e2a\u90e8\u5206\u3002\n</p><p><a href=\"/zh/docs/14/storage-page-layout.html\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "summary": "\u672c\u8282\u6982\u8ff0 PostgreSQL \u8868\u548c\u7d22\u5f15\u5185\u90e8\u6240\u4f7f\u7528\u7684\u9875\u9762\u683c\u5f0f\u3002 [17] \u5e8f\u5217\u548c TOAST \u8868\u7684\u683c\u5f0f\u4e0e\u666e\u901a\u8868\u76f8\u540c\u3002 \u5728\u4e0b\u9762\u7684\u8bf4\u660e\u4e2d\uff0c\u5047\u5b9a\u4e00\u4e2a \u5b57\u8282 \u5305\u542b 8 \u4e2a\u4f4d\u3002\u53e6\u5916\uff0c\u672f\u8bed \u9879 \u6307\u7684\u662f\u5b58\u50a8\u5728\u9875\u9762\u4e0a\u7684\u5355\u4e2a\u6570\u636e\u503c\u3002\u5728\u8868\u4e2d\uff0c\u9879\u662f\u4e00\u884c\uff1b\u5728\u7d22\u5f15\u4e2d\uff0c\u9879\u662f\u4e00\u6761\u7d22\u5f15\u6761\u76ee\u3002 \u6bcf\u4e2a\u8868\u548c\u7d22\u5f15\u90fd\u5b58\u50a8\u4e3a\u56fa\u5b9a\u5927\u5c0f\u7684 \u9875\u9762 \u6570\u7ec4\uff08\u901a\u5e38\u4e3a 8 kB\uff0c\u4e0d\u8fc7\u5728\u7f16\u8bd1\u670d\u52a1\u5668\u65f6\u53ef\u4ee5\u9009\u62e9\u4e0d\u540c\u7684\u9875\u9762\u5927\u5c0f\uff09\u3002\u5728\u8868\u4e2d\uff0c\u6240\u6709\u9875\u9762\u5728\u903b\u8f91\u4e0a\u90fd\u662f\u7b49\u4ef7\u7684\uff0c\u56e0\u6b64\u67d0\u4e2a\u7279\u5b9a\u9879\uff08\u884c\uff09\u53ef\u4ee5\u5b58\u653e\u5728\u4efb\u610f\u9875\u9762\u4e2d\u3002\u5728\u7d22\u5f15\u4e2d\uff0c\u7b2c\u4e00\u9875\u901a\u5e38\u4fdd\u7559\u4e3a \u5143\u9875 \uff0c\u7528\u4e8e\u4fdd\u5b58\u63a7\u5236\u4fe1\u606f\uff1b\u5e76\u4e14\u6839\u636e\u7d22\u5f15\u8bbf\u95ee\u65b9\u6cd5\u7684\u4e0d\u540c\uff0c\u7d22\u5f15\u4e2d\u8fd8\u53ef\u80fd\u5b58\u5728\u4e0d\u540c\u7c7b\u578b\u7684\u9875\u9762\u3002 \u8868 70.2 \u5c55\u793a\u4e86\u9875\u9762\u7684\u603b\u4f53\u5e03\u5c40\u3002\u6bcf\u4e2a\u9875\u9762\u5305\u542b\u4e94\u4e2a\u90e8\u5206\u3002", "version": "14", "link_map": {"/zh/docs/14/storage-page-layout.html": "/docs/14/storage-page-layout.html", "/zh/docs/14/storage-page-layout.html#PAGE-TABLE": "/docs/14/storage-page-layout.html#PAGE-TABLE", "/zh/docs/14/storage-page-layout.html#ftn.id-1.10.22.8.2.2": "/docs/14/storage-page-layout.html#ftn.id-1.10.22.8.2.2"}, "body_html": "<p>\u5b58\u50a8\u7ed3\u6784 storage-page-layout\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n\u672c\u8282\u6982\u8ff0 <span>PostgreSQL</span> \u8868\u548c\u7d22\u5f15\u5185\u90e8\u6240\u4f7f\u7528\u7684\u9875\u9762\u683c\u5f0f\u3002<a href=\"/zh/docs/14/storage-page-layout.html#ftn.id-1.10.22.8.2.2\" rel=\"nofollow\"><sup>[17]</sup></a>\n\u5e8f\u5217\u548c <acronym>TOAST</acronym> \u8868\u7684\u683c\u5f0f\u4e0e\u666e\u901a\u8868\u76f8\u540c\u3002\n</p><p>\n\u5728\u4e0b\u9762\u7684\u8bf4\u660e\u4e2d\uff0c\u5047\u5b9a\u4e00\u4e2a<em>\u5b57\u8282</em>\u5305\u542b 8 \u4e2a\u4f4d\u3002\u53e6\u5916\uff0c\u672f\u8bed<em>\u9879</em>\u6307\u7684\u662f\u5b58\u50a8\u5728\u9875\u9762\u4e0a\u7684\u5355\u4e2a\u6570\u636e\u503c\u3002\u5728\u8868\u4e2d\uff0c\u9879\u662f\u4e00\u884c\uff1b\u5728\u7d22\u5f15\u4e2d\uff0c\u9879\u662f\u4e00\u6761\u7d22\u5f15\u6761\u76ee\u3002\n</p><p>\n\u6bcf\u4e2a\u8868\u548c\u7d22\u5f15\u90fd\u5b58\u50a8\u4e3a\u56fa\u5b9a\u5927\u5c0f\u7684<em>\u9875\u9762</em>\u6570\u7ec4\uff08\u901a\u5e38\u4e3a 8 kB\uff0c\u4e0d\u8fc7\u5728\u7f16\u8bd1\u670d\u52a1\u5668\u65f6\u53ef\u4ee5\u9009\u62e9\u4e0d\u540c\u7684\u9875\u9762\u5927\u5c0f\uff09\u3002\u5728\u8868\u4e2d\uff0c\u6240\u6709\u9875\u9762\u5728\u903b\u8f91\u4e0a\u90fd\u662f\u7b49\u4ef7\u7684\uff0c\u56e0\u6b64\u67d0\u4e2a\u7279\u5b9a\u9879\uff08\u884c\uff09\u53ef\u4ee5\u5b58\u653e\u5728\u4efb\u610f\u9875\u9762\u4e2d\u3002\u5728\u7d22\u5f15\u4e2d\uff0c\u7b2c\u4e00\u9875\u901a\u5e38\u4fdd\u7559\u4e3a<em>\u5143\u9875</em>\uff0c\u7528\u4e8e\u4fdd\u5b58\u63a7\u5236\u4fe1\u606f\uff1b\u5e76\u4e14\u6839\u636e\u7d22\u5f15\u8bbf\u95ee\u65b9\u6cd5\u7684\u4e0d\u540c\uff0c\u7d22\u5f15\u4e2d\u8fd8\u53ef\u80fd\u5b58\u5728\u4e0d\u540c\u7c7b\u578b\u7684\u9875\u9762\u3002\n</p><p>\n<a href=\"/zh/docs/14/storage-page-layout.html#PAGE-TABLE\" rel=\"nofollow\">\u8868\u00a070.2</a> \u5c55\u793a\u4e86\u9875\u9762\u7684\u603b\u4f53\u5e03\u5c40\u3002\u6bcf\u4e2a\u9875\u9762\u5305\u542b\u4e94\u4e2a\u90e8\u5206\u3002\n</p><p><a href=\"/zh/docs/14/storage-page-layout.html\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>", "body_sha256": "2a7c4f4d5c6a78a7a3497c6257293c0fef64d44f2696631fbdb78e0afaa92767", "content_hash": "28e448a502e254a06c6988c5daeec1bc45af557d6a1b83eed7b76ed4cd0a7fab", "source_database": "center", "source_revision": "a7fa7ed3d558172355f51406097a7bd4f6b473be80f311ef7cda96bf383d8897"}, "signature": "", "tables_zh": [{"key": "layout-0", "rows": [{"c0": "PageHeaderData", "c1": "\u957f 24 \u5b57\u8282\uff0c\u5305\u542b\u9875\u9762\u7684\u901a\u7528\u4fe1\u606f\uff0c\u4f8b\u5982\u7a7a\u95f2\u7a7a\u95f4\u6307\u9488\u3002"}, {"c0": "ItemIdData", "c1": "\u6307\u5411\u5b9e\u9645\u6570\u636e\u9879\u7684\u884c\u6307\u9488\u6570\u7ec4\u3002\u6bcf\u9879\u4e3a\u4e00\u4e2a\uff08\u504f\u79fb\uff0c\u957f\u5ea6\uff09\u5bf9\uff0c\u5360 4 \u5b57\u8282\u3002"}, {"c0": "\u7a7a\u95f2\u7a7a\u95f4", "c1": "\u5c1a\u672a\u5206\u914d\u7684\u7a7a\u95f4\u3002\u65b0\u884c\u6307\u9488\u4ece\u8be5\u533a\u57df\u7684\u8d77\u59cb\u5904\u5206\u914d\uff0c\u65b0\u6570\u636e\u9879\u4ece\u672b\u5c3e\u5904\u5206\u914d\u3002"}, {"c0": "\u9879", "c1": "\u5b9e\u9645\u7684\u6570\u636e\u9879\u672c\u8eab\u3002"}, {"c0": "\u7279\u6b8a\u7a7a\u95f4", "c1": "\u7d22\u5f15\u8bbf\u95ee\u65b9\u6cd5\u4e13\u7528\u6570\u636e\u3002\u4e0d\u540c\u65b9\u6cd5\u5b58\u50a8\u7684\u5185\u5bb9\u4e0d\u540c\uff0c\u666e\u901a\u8868\u4e2d\u6b64\u533a\u57df\u4e3a\u7a7a\u3002"}], "title": "\u9875\u9762\u603b\u4f53\u5e03\u5c40", "columns": [{"key": "c0", "label": "\u9879\u76ee"}, {"key": "c1", "label": "\u8bf4\u660e"}]}, {"key": "layout-1", "rows": [{"c0": "pd_lsn", "c1": "PageXLogRecPtr", "c2": "8 \u5b57\u8282", "c3": "LSN\uff1a\u8be5\u9875\u6700\u540e\u4e00\u6b21\u53d8\u5316\u6240\u5bf9\u5e94 WAL \u8bb0\u5f55\u7684\u6700\u540e\u4e00\u4e2a\u5b57\u8282\u4e4b\u540e\u7684\u4f4d\u7f6e\u3002"}, {"c0": "pd_checksum", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u9875\u9762\u6821\u9a8c\u548c"}, {"c0": "pd_flags", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u6807\u5fd7\u4f4d"}, {"c0": "pd_lower", "c1": "LocationIndex", "c2": "2 \u5b57\u8282", "c3": "\u7a7a\u95f2\u7a7a\u95f4\u8d77\u59cb\u4f4d\u7f6e\u7684\u504f\u79fb\u91cf"}, {"c0": "pd_upper", "c1": "LocationIndex", "c2": "2 \u5b57\u8282", "c3": "\u7a7a\u95f2\u7a7a\u95f4\u7ed3\u675f\u4f4d\u7f6e\u7684\u504f\u79fb\u91cf"}, {"c0": "pd_special", "c1": "LocationIndex", "c2": "2 \u5b57\u8282", "c3": "\u7279\u6b8a\u7a7a\u95f4\u8d77\u59cb\u4f4d\u7f6e\u7684\u504f\u79fb\u91cf"}, {"c0": "pd_pagesize_version", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u9875\u9762\u5927\u5c0f\u4e0e\u5e03\u5c40\u7248\u672c\u53f7\u4fe1\u606f"}, {"c0": "pd_prune_xid", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "\u9875\u9762\u4e0a\u6700\u65e9\u7684\u5c1a\u672a\u4fee\u526a\u7684 XMAX\uff1b\u6ca1\u6709\u5219\u4e3a\u96f6"}], "title": "PageHeaderData \u5e03\u5c40", "columns": [{"key": "c0", "label": "\u5b57\u6bb5"}, {"key": "c1", "label": "\u7c7b\u578b"}, {"key": "c2", "label": "\u957f\u5ea6"}, {"key": "c3", "label": "\u8bf4\u660e"}]}, {"key": "layout-2", "rows": [{"c0": "t_xmin", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "\u63d2\u5165\u4e8b\u52a1\u7684 XID"}, {"c0": "t_xmax", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "\u5220\u9664\u4e8b\u52a1\u7684 XID"}, {"c0": "t_cid", "c1": "CommandId", "c2": "4 \u5b57\u8282", "c3": "\u63d2\u5165\u548c\uff0f\u6216\u5220\u9664\u547d\u4ee4\u7684 CID\uff0c\u4e0e t_xvac \u5171\u7528\u5b58\u50a8\u4f4d\u7f6e"}, {"c0": "t_xvac", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "VACUUM \u64cd\u4f5c\u79fb\u52a8\u884c\u7248\u672c\u65f6\u4f7f\u7528\u7684 XID"}, {"c0": "t_ctid", "c1": "ItemPointerData", "c2": "6 \u5b57\u8282", "c3": "\u672c\u884c\u7248\u672c\u6216\u8f83\u65b0\u884c\u7248\u672c\u7684\u5f53\u524d TID"}, {"c0": "t_infomask2", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u5c5e\u6027\u6570\u91cf\u53ca\u5404\u79cd\u6807\u5fd7\u4f4d"}, {"c0": "t_infomask", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u5404\u79cd\u6807\u5fd7\u4f4d"}, {"c0": "t_hoff", "c1": "uint8", "c2": "1 \u5b57\u8282", "c3": "\u7528\u6237\u6570\u636e\u7684\u504f\u79fb\u91cf"}], "title": "HeapTupleHeaderData \u5e03\u5c40", "columns": [{"key": "c0", "label": "\u5b57\u6bb5"}, {"key": "c1", "label": "\u7c7b\u578b"}, {"key": "c2", "label": "\u957f\u5ea6"}, {"key": "c3", "label": "\u8bf4\u660e"}]}], "description": ["\u672c\u8282\u6982\u8ff0 PostgreSQL \u8868\u548c\u7d22\u5f15\u5185\u90e8\u6240\u4f7f\u7528\u7684\u9875\u9762\u683c\u5f0f\u3002 [17] \u5e8f\u5217\u548c TOAST \u8868\u7684\u683c\u5f0f\u4e0e\u666e\u901a\u8868\u76f8\u540c\u3002 \u5728\u4e0b\u9762\u7684\u8bf4\u660e\u4e2d\uff0c\u5047\u5b9a\u4e00\u4e2a \u5b57\u8282 \u5305\u542b 8 \u4e2a\u4f4d\u3002\u53e6\u5916\uff0c\u672f\u8bed \u9879 \u6307\u7684\u662f\u5b58\u50a8\u5728\u9875\u9762\u4e0a\u7684\u5355\u4e2a\u6570\u636e\u503c\u3002\u5728\u8868\u4e2d\uff0c\u9879\u662f\u4e00\u884c\uff1b\u5728\u7d22\u5f15\u4e2d\uff0c\u9879\u662f\u4e00\u6761\u7d22\u5f15\u6761\u76ee\u3002 \u6bcf\u4e2a\u8868\u548c\u7d22\u5f15\u90fd\u5b58\u50a8\u4e3a\u56fa\u5b9a\u5927\u5c0f\u7684 \u9875\u9762 \u6570\u7ec4\uff08\u901a\u5e38\u4e3a 8 kB\uff0c\u4e0d\u8fc7\u5728\u7f16\u8bd1\u670d\u52a1\u5668\u65f6\u53ef\u4ee5\u9009\u62e9\u4e0d\u540c\u7684\u9875\u9762\u5927\u5c0f\uff09\u3002\u5728\u8868\u4e2d\uff0c\u6240\u6709\u9875\u9762\u5728\u903b\u8f91\u4e0a\u90fd\u662f\u7b49\u4ef7\u7684\uff0c\u56e0\u6b64\u67d0\u4e2a\u7279\u5b9a\u9879\uff08\u884c\uff09\u53ef\u4ee5\u5b58\u653e\u5728\u4efb\u610f\u9875\u9762\u4e2d\u3002\u5728\u7d22\u5f15\u4e2d\uff0c\u7b2c\u4e00\u9875\u901a\u5e38\u4fdd\u7559\u4e3a \u5143\u9875 \uff0c\u7528\u4e8e\u4fdd\u5b58\u63a7\u5236\u4fe1\u606f\uff1b\u5e76\u4e14\u6839\u636e\u7d22\u5f15\u8bbf\u95ee\u65b9\u6cd5\u7684\u4e0d\u540c\uff0c\u7d22\u5f15\u4e2d\u8fd8\u53ef\u80fd\u5b58\u5728\u4e0d\u540c\u7c7b\u578b\u7684\u9875\u9762\u3002 \u8868 70.2 \u5c55\u793a\u4e86\u9875\u9762\u7684\u603b\u4f53\u5e03\u5c40\u3002\u6bcf\u4e2a\u9875\u9762\u5305\u542b\u4e94\u4e2a\u90e8\u5206\u3002"], "manual_html": "", "manual_path": "/docs/14/storage-page-layout.html", "sections_zh": [], "localization": {"status": "complete", "sources": [{"url": "/docs/14/storage-page-layout.html", "method": "same-major semantic node", "sha256": "715a2f826a4e1ec9a3eae2da9e5746928bdaf5a5b7e05ee60ed9eedf4ab90747", "language": "zh", "matched_nodes": ["#STORAGE-PAGE-LAYOUT/div[0]", "#STORAGE-PAGE-LAYOUT/div[16]", "#STORAGE-PAGE-LAYOUT/div[18]/div[2]/p[0]", "#STORAGE-PAGE-LAYOUT/div[18]/p[1]", "#STORAGE-PAGE-LAYOUT/div[18]/p[4]", "#STORAGE-PAGE-LAYOUT/div[18]/p[5]", "#STORAGE-PAGE-LAYOUT/div[18]/p[6]", "#STORAGE-PAGE-LAYOUT/div[19]", "#STORAGE-PAGE-LAYOUT/div[1]", "#STORAGE-PAGE-LAYOUT/div[6]/div[1]/table[0]/tbody[2]/tr[3]/td[0]", "#STORAGE-PAGE-LAYOUT/div[6]/p[0]", "#STORAGE-PAGE-LAYOUT/div[9]/div[1]/table[0]/tbody[2]/tr[0]/td[2]", "#STORAGE-PAGE-LAYOUT/div[9]/p[0]", "#STORAGE-PAGE-LAYOUT/p[11]", "#STORAGE-PAGE-LAYOUT/p[12]", "#STORAGE-PAGE-LAYOUT/p[13]", "#STORAGE-PAGE-LAYOUT/p[14]", "#STORAGE-PAGE-LAYOUT/p[15]", "#STORAGE-PAGE-LAYOUT/p[2]", "#STORAGE-PAGE-LAYOUT/p[3]", "#STORAGE-PAGE-LAYOUT/p[4]", "#STORAGE-PAGE-LAYOUT/p[5]"]}], "language": "zh", "original_text": {"/versions/14/description/0": "This section provides an overview of the page format used within PostgreSQL tables and indexes. [17] Sequences and TOAST tables are formatted just like a regular table.", "/versions/14/facts/0/label": "Definition scope", "/versions/14/facts/0/value": "Same-version core physical storage documentation", "/versions/14/tables/0/title": "Overall Page Layout", "/versions/14/tables/1/title": "PageHeaderData Layout", "/versions/14/tables/2/title": "HeapTupleHeaderData Layout", "/versions/14/related/1/label": "Storage Parameters", "/versions/14/tables/0/rows/0/c1": "24 bytes long. Contains general information about the page, including free space pointers.", "/versions/14/tables/0/rows/1/c1": "Array of item identifiers pointing to the actual items. Each entry is an (offset,length) pair. 4 bytes per item.", "/versions/14/tables/0/rows/2/c0": "Free space", "/versions/14/tables/0/rows/2/c1": "The unallocated space. New item identifiers are allocated from the start of this area, new items from the end.", "/versions/14/tables/0/rows/3/c0": "Items", "/versions/14/tables/0/rows/3/c1": "The actual items themselves.", "/versions/14/tables/0/rows/4/c0": "Special space", "/versions/14/tables/0/rows/4/c1": "Index access method specific data. Different methods store different data. Empty in ordinary tables.", "/versions/14/tables/1/rows/0/c2": "8 bytes", "/versions/14/tables/1/rows/0/c3": "LSN: next byte after last byte of WAL record for last change to this page", "/versions/14/tables/1/rows/1/c2": "2 bytes", "/versions/14/tables/1/rows/1/c3": "Page checksum", "/versions/14/tables/1/rows/2/c2": "2 bytes", "/versions/14/tables/1/rows/2/c3": "Flag bits", "/versions/14/tables/1/rows/3/c2": "2 bytes", "/versions/14/tables/1/rows/3/c3": "Offset to start of free space", "/versions/14/tables/1/rows/4/c2": "2 bytes", "/versions/14/tables/1/rows/4/c3": "Offset to end of free space", "/versions/14/tables/1/rows/5/c2": "2 bytes", "/versions/14/tables/1/rows/5/c3": "Offset to start of special space", "/versions/14/tables/1/rows/6/c2": "2 bytes", "/versions/14/tables/1/rows/6/c3": "Page size and layout version number information", "/versions/14/tables/1/rows/7/c2": "4 bytes", "/versions/14/tables/1/rows/7/c3": "Oldest unpruned XMAX on page, or zero if none", "/versions/14/tables/2/rows/0/c2": "4 bytes", "/versions/14/tables/2/rows/0/c3": "insert XID stamp", "/versions/14/tables/2/rows/1/c2": "4 bytes", "/versions/14/tables/2/rows/1/c3": "delete XID stamp", "/versions/14/tables/2/rows/2/c2": "4 bytes", "/versions/14/tables/2/rows/2/c3": "insert and/or delete CID stamp (overlays with t_xvac)", "/versions/14/tables/2/rows/3/c2": "4 bytes", "/versions/14/tables/2/rows/3/c3": "XID for VACUUM operation moving a row version", "/versions/14/tables/2/rows/4/c2": "6 bytes", "/versions/14/tables/2/rows/4/c3": "current TID of this or newer row version", "/versions/14/tables/2/rows/5/c2": "2 bytes", "/versions/14/tables/2/rows/5/c3": "number of attributes, plus various flag bits", "/versions/14/tables/2/rows/6/c2": "2 bytes", "/versions/14/tables/2/rows/6/c3": "various flag bits", "/versions/14/tables/2/rows/7/c2": "1 byte", "/versions/14/tables/2/rows/7/c3": "offset to user data", "/versions/14/tables/0/columns/0/label": "Item", "/versions/14/tables/0/columns/1/label": "Description", "/versions/14/tables/1/columns/0/label": "Field", "/versions/14/tables/1/columns/1/label": "Type", "/versions/14/tables/1/columns/2/label": "Length", "/versions/14/tables/1/columns/3/label": "Description", "/versions/14/tables/2/columns/0/label": "Field", "/versions/14/tables/2/columns/1/label": "Type", "/versions/14/tables/2/columns/2/label": "Length", "/versions/14/tables/2/columns/3/label": "Description"}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "d8a9500aec1fb565a19e9ffdc490074c420a72baa8dec05432da16302224ccf7", "canonical_center_text_hash": "28e448a502e254a06c6988c5daeec1bc45af557d6a1b83eed7b76ed4cd0a7fab"}, "description_zh": "\u672c\u8282\u6982\u8ff0 PostgreSQL \u8868\u548c\u7d22\u5f15\u5185\u90e8\u6240\u4f7f\u7528\u7684\u9875\u9762\u683c\u5f0f\u3002 [17] \u5e8f\u5217\u548c TOAST \u8868\u7684\u683c\u5f0f\u4e0e\u666e\u901a\u8868\u76f8\u540c\u3002 \u5728\u4e0b\u9762\u7684\u8bf4\u660e\u4e2d\uff0c\u5047\u5b9a\u4e00\u4e2a \u5b57\u8282 \u5305\u542b 8 \u4e2a\u4f4d\u3002\u53e6\u5916\uff0c\u672f\u8bed \u9879 \u6307\u7684\u662f\u5b58\u50a8\u5728\u9875\u9762\u4e0a\u7684\u5355\u4e2a\u6570\u636e\u503c\u3002\u5728\u8868\u4e2d\uff0c\u9879\u662f\u4e00\u884c\uff1b\u5728\u7d22\u5f15\u4e2d\uff0c\u9879\u662f\u4e00\u6761\u7d22\u5f15\u6761\u76ee\u3002 \u6bcf\u4e2a\u8868\u548c\u7d22\u5f15\u90fd\u5b58\u50a8\u4e3a\u56fa\u5b9a\u5927\u5c0f\u7684 \u9875\u9762 \u6570\u7ec4\uff08\u901a\u5e38\u4e3a 8 kB\uff0c\u4e0d\u8fc7\u5728\u7f16\u8bd1\u670d\u52a1\u5668\u65f6\u53ef\u4ee5\u9009\u62e9\u4e0d\u540c\u7684\u9875\u9762\u5927\u5c0f\uff09\u3002\u5728\u8868\u4e2d\uff0c\u6240\u6709\u9875\u9762\u5728\u903b\u8f91\u4e0a\u90fd\u662f\u7b49\u4ef7\u7684\uff0c\u56e0\u6b64\u67d0\u4e2a\u7279\u5b9a\u9879\uff08\u884c\uff09\u53ef\u4ee5\u5b58\u653e\u5728\u4efb\u610f\u9875\u9762\u4e2d\u3002\u5728\u7d22\u5f15\u4e2d\uff0c\u7b2c\u4e00\u9875\u901a\u5e38\u4fdd\u7559\u4e3a \u5143\u9875 \uff0c\u7528\u4e8e\u4fdd\u5b58\u63a7\u5236\u4fe1\u606f\uff1b\u5e76\u4e14\u6839\u636e\u7d22\u5f15\u8bbf\u95ee\u65b9\u6cd5\u7684\u4e0d\u540c\uff0c\u7d22\u5f15\u4e2d\u8fd8\u53ef\u80fd\u5b58\u5728\u4e0d\u540c\u7c7b\u578b\u7684\u9875\u9762\u3002 \u8868 70.2 \u5c55\u793a\u4e86\u9875\u9762\u7684\u603b\u4f53\u5e03\u5c40\u3002\u6bcf\u4e2a\u9875\u9762\u5305\u542b\u4e94\u4e2a\u90e8\u5206\u3002", "comparison_data": {"layouts": [{"key": "layout-0", "rows": [{"c0": "PageHeaderData", "c1": "24 bytes long. Contains general information about the page, including free space pointers."}, {"c0": "ItemIdData", "c1": "Array of item identifiers pointing to the actual items. Each entry is an (offset,length) pair. 4 bytes per item."}, {"c0": "Free space", "c1": "The unallocated space. New item identifiers are allocated from the start of this area, new items from the end."}, {"c0": "Items", "c1": "The actual items themselves."}, {"c0": "Special space", "c1": "Index access method specific data. Different methods store different data. Empty in ordinary tables."}], "title": "Overall Page Layout", "columns": [{"key": "c0", "label": "Item"}, {"key": "c1", "label": "Description"}]}, {"key": "layout-1", "rows": [{"c0": "pd_lsn", "c1": "PageXLogRecPtr", "c2": "8 bytes", "c3": "LSN: next byte after last byte of WAL record for last change to this page"}, {"c0": "pd_checksum", "c1": "uint16", "c2": "2 bytes", "c3": "Page checksum"}, {"c0": "pd_flags", "c1": "uint16", "c2": "2 bytes", "c3": "Flag bits"}, {"c0": "pd_lower", "c1": "LocationIndex", "c2": "2 bytes", "c3": "Offset to start of free space"}, {"c0": "pd_upper", "c1": "LocationIndex", "c2": "2 bytes", "c3": "Offset to end of free space"}, {"c0": "pd_special", "c1": "LocationIndex", "c2": "2 bytes", "c3": "Offset to start of special space"}, {"c0": "pd_pagesize_version", "c1": "uint16", "c2": "2 bytes", "c3": "Page size and layout version number information"}, {"c0": "pd_prune_xid", "c1": "TransactionId", "c2": "4 bytes", "c3": "Oldest unpruned XMAX on page, or zero if none"}], "title": "PageHeaderData Layout", "columns": [{"key": "c0", "label": "Field"}, {"key": "c1", "label": "Type"}, {"key": "c2", "label": "Length"}, {"key": "c3", "label": "Description"}]}, {"key": "layout-2", "rows": [{"c0": "t_xmin", "c1": "TransactionId", "c2": "4 bytes", "c3": "insert XID stamp"}, {"c0": "t_xmax", "c1": "TransactionId", "c2": "4 bytes", "c3": "delete XID stamp"}, {"c0": "t_cid", "c1": "CommandId", "c2": "4 bytes", "c3": "insert and/or delete CID stamp (overlays with t_xvac)"}, {"c0": "t_xvac", "c1": "TransactionId", "c2": "4 bytes", "c3": "XID for VACUUM operation moving a row version"}, {"c0": "t_ctid", "c1": "ItemPointerData", "c2": "6 bytes", "c3": "current TID of this or newer row version"}, {"c0": "t_infomask2", "c1": "uint16", "c2": "2 bytes", "c3": "number of attributes, plus various flag bits"}, {"c0": "t_infomask", "c1": "uint16", "c2": "2 bytes", "c3": "various flag bits"}, {"c0": "t_hoff", "c1": "uint8", "c2": "1 byte", "c3": "offset to user data"}], "title": "HeapTupleHeaderData Layout", "columns": [{"key": "c0", "label": "Field"}, {"key": "c1", "label": "Type"}, {"key": "c2", "label": "Length"}, {"key": "c3", "label": "Description"}]}]}, "comparison_hash": "b621fa85b3be27a0eb0d82986e9524f2ef0a776761901f0d429826eec4822d0a", "manual_language": "zh", "description_zh_html": "<p>\u5b58\u50a8\u7ed3\u6784 storage-page-layout\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n\u672c\u8282\u6982\u8ff0 <span>PostgreSQL</span> \u8868\u548c\u7d22\u5f15\u5185\u90e8\u6240\u4f7f\u7528\u7684\u9875\u9762\u683c\u5f0f\u3002<a href=\"/zh/docs/14/storage-page-layout.html#ftn.id-1.10.22.8.2.2\" rel=\"nofollow\"><sup>[17]</sup></a>\n\u5e8f\u5217\u548c <acronym>TOAST</acronym> \u8868\u7684\u683c\u5f0f\u4e0e\u666e\u901a\u8868\u76f8\u540c\u3002\n</p><p>\n\u5728\u4e0b\u9762\u7684\u8bf4\u660e\u4e2d\uff0c\u5047\u5b9a\u4e00\u4e2a<em>\u5b57\u8282</em>\u5305\u542b 8 \u4e2a\u4f4d\u3002\u53e6\u5916\uff0c\u672f\u8bed<em>\u9879</em>\u6307\u7684\u662f\u5b58\u50a8\u5728\u9875\u9762\u4e0a\u7684\u5355\u4e2a\u6570\u636e\u503c\u3002\u5728\u8868\u4e2d\uff0c\u9879\u662f\u4e00\u884c\uff1b\u5728\u7d22\u5f15\u4e2d\uff0c\u9879\u662f\u4e00\u6761\u7d22\u5f15\u6761\u76ee\u3002\n</p><p>\n\u6bcf\u4e2a\u8868\u548c\u7d22\u5f15\u90fd\u5b58\u50a8\u4e3a\u56fa\u5b9a\u5927\u5c0f\u7684<em>\u9875\u9762</em>\u6570\u7ec4\uff08\u901a\u5e38\u4e3a 8 kB\uff0c\u4e0d\u8fc7\u5728\u7f16\u8bd1\u670d\u52a1\u5668\u65f6\u53ef\u4ee5\u9009\u62e9\u4e0d\u540c\u7684\u9875\u9762\u5927\u5c0f\uff09\u3002\u5728\u8868\u4e2d\uff0c\u6240\u6709\u9875\u9762\u5728\u903b\u8f91\u4e0a\u90fd\u662f\u7b49\u4ef7\u7684\uff0c\u56e0\u6b64\u67d0\u4e2a\u7279\u5b9a\u9879\uff08\u884c\uff09\u53ef\u4ee5\u5b58\u653e\u5728\u4efb\u610f\u9875\u9762\u4e2d\u3002\u5728\u7d22\u5f15\u4e2d\uff0c\u7b2c\u4e00\u9875\u901a\u5e38\u4fdd\u7559\u4e3a<em>\u5143\u9875</em>\uff0c\u7528\u4e8e\u4fdd\u5b58\u63a7\u5236\u4fe1\u606f\uff1b\u5e76\u4e14\u6839\u636e\u7d22\u5f15\u8bbf\u95ee\u65b9\u6cd5\u7684\u4e0d\u540c\uff0c\u7d22\u5f15\u4e2d\u8fd8\u53ef\u80fd\u5b58\u5728\u4e0d\u540c\u7c7b\u578b\u7684\u9875\u9762\u3002\n</p><p>\n<a href=\"/zh/docs/14/storage-page-layout.html#PAGE-TABLE\" rel=\"nofollow\">\u8868\u00a070.2</a> \u5c55\u793a\u4e86\u9875\u9762\u7684\u603b\u4f53\u5e03\u5c40\u3002\u6bcf\u4e2a\u9875\u9762\u5305\u542b\u4e94\u4e2a\u90e8\u5206\u3002\n</p><p><a href=\"/zh/docs/14/storage-page-layout.html\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "15": {"facts": [{"label": "\u5b9a\u4e49\u8303\u56f4", "value": "\u540c\u7248\u672c\u6838\u5fc3\u7269\u7406\u5b58\u50a8\u6587\u6863"}], "tables": [{"key": "layout-0", "rows": [{"c0": "PageHeaderData", "c1": "\u957f 24 \u5b57\u8282\uff0c\u5305\u542b\u9875\u9762\u7684\u901a\u7528\u4fe1\u606f\uff0c\u4f8b\u5982\u7a7a\u95f2\u7a7a\u95f4\u6307\u9488\u3002"}, {"c0": "ItemIdData", "c1": "\u6307\u5411\u5b9e\u9645\u6570\u636e\u9879\u7684\u884c\u6307\u9488\u6570\u7ec4\u3002\u6bcf\u9879\u4e3a\u4e00\u4e2a\uff08\u504f\u79fb\uff0c\u957f\u5ea6\uff09\u5bf9\uff0c\u5360 4 \u5b57\u8282\u3002"}, {"c0": "\u7a7a\u95f2\u7a7a\u95f4", "c1": "\u5c1a\u672a\u5206\u914d\u7684\u7a7a\u95f4\u3002\u65b0\u884c\u6307\u9488\u4ece\u8be5\u533a\u57df\u7684\u8d77\u59cb\u5904\u5206\u914d\uff0c\u65b0\u6570\u636e\u9879\u4ece\u672b\u5c3e\u5904\u5206\u914d\u3002"}, {"c0": "\u9879", "c1": "\u5b9e\u9645\u7684\u6570\u636e\u9879\u672c\u8eab\u3002"}, {"c0": "\u7279\u6b8a\u7a7a\u95f4", "c1": "\u7d22\u5f15\u8bbf\u95ee\u65b9\u6cd5\u4e13\u7528\u6570\u636e\u3002\u4e0d\u540c\u65b9\u6cd5\u5b58\u50a8\u7684\u5185\u5bb9\u4e0d\u540c\uff0c\u666e\u901a\u8868\u4e2d\u6b64\u533a\u57df\u4e3a\u7a7a\u3002"}], "title": "\u9875\u9762\u603b\u4f53\u5e03\u5c40", "columns": [{"key": "c0", "label": "\u9879\u76ee"}, {"key": "c1", "label": "\u8bf4\u660e"}]}, {"key": "layout-1", "rows": [{"c0": "pd_lsn", "c1": "PageXLogRecPtr", "c2": "8 \u5b57\u8282", "c3": "LSN\uff1a\u8be5\u9875\u6700\u540e\u4e00\u6b21\u53d8\u5316\u6240\u5bf9\u5e94 WAL \u8bb0\u5f55\u7684\u6700\u540e\u4e00\u4e2a\u5b57\u8282\u4e4b\u540e\u7684\u4f4d\u7f6e\u3002"}, {"c0": "pd_checksum", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u9875\u9762\u6821\u9a8c\u548c"}, {"c0": "pd_flags", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u6807\u5fd7\u4f4d"}, {"c0": "pd_lower", "c1": "LocationIndex", "c2": "2 \u5b57\u8282", "c3": "\u7a7a\u95f2\u7a7a\u95f4\u8d77\u59cb\u4f4d\u7f6e\u7684\u504f\u79fb\u91cf"}, {"c0": "pd_upper", "c1": "LocationIndex", "c2": "2 \u5b57\u8282", "c3": "\u7a7a\u95f2\u7a7a\u95f4\u7ed3\u675f\u4f4d\u7f6e\u7684\u504f\u79fb\u91cf"}, {"c0": "pd_special", "c1": "LocationIndex", "c2": "2 \u5b57\u8282", "c3": "\u7279\u6b8a\u7a7a\u95f4\u8d77\u59cb\u4f4d\u7f6e\u7684\u504f\u79fb\u91cf"}, {"c0": "pd_pagesize_version", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u9875\u9762\u5927\u5c0f\u4e0e\u5e03\u5c40\u7248\u672c\u53f7\u4fe1\u606f"}, {"c0": "pd_prune_xid", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "\u9875\u9762\u4e0a\u6700\u65e9\u7684\u5c1a\u672a\u4fee\u526a\u7684 XMAX\uff1b\u6ca1\u6709\u5219\u4e3a\u96f6"}], "title": "PageHeaderData \u5e03\u5c40", "columns": [{"key": "c0", "label": "\u5b57\u6bb5"}, {"key": "c1", "label": "\u7c7b\u578b"}, {"key": "c2", "label": "\u957f\u5ea6"}, {"key": "c3", "label": "\u8bf4\u660e"}]}, {"key": "layout-2", "rows": [{"c0": "t_xmin", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "\u63d2\u5165\u4e8b\u52a1\u7684 XID"}, {"c0": "t_xmax", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "\u5220\u9664\u4e8b\u52a1\u7684 XID"}, {"c0": "t_cid", "c1": "CommandId", "c2": "4 \u5b57\u8282", "c3": "\u63d2\u5165\u548c\uff0f\u6216\u5220\u9664\u547d\u4ee4\u7684 CID\uff0c\u4e0e t_xvac \u5171\u7528\u5b58\u50a8\u4f4d\u7f6e"}, {"c0": "t_xvac", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "VACUUM \u64cd\u4f5c\u79fb\u52a8\u884c\u7248\u672c\u65f6\u4f7f\u7528\u7684 XID"}, {"c0": "t_ctid", "c1": "ItemPointerData", "c2": "6 \u5b57\u8282", "c3": "\u672c\u884c\u7248\u672c\u6216\u8f83\u65b0\u884c\u7248\u672c\u7684\u5f53\u524d TID"}, {"c0": "t_infomask2", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u5c5e\u6027\u6570\u91cf\u53ca\u5404\u79cd\u6807\u5fd7\u4f4d"}, {"c0": "t_infomask", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u5404\u79cd\u6807\u5fd7\u4f4d"}, {"c0": "t_hoff", "c1": "uint8", "c2": "1 \u5b57\u8282", "c3": "\u7528\u6237\u6570\u636e\u7684\u504f\u79fb\u91cf"}], "title": "HeapTupleHeaderData \u5e03\u5c40", "columns": [{"key": "c0", "label": "\u5b57\u6bb5"}, {"key": "c1", "label": "\u7c7b\u578b"}, {"key": "c2", "label": "\u957f\u5ea6"}, {"key": "c3", "label": "\u8bf4\u660e"}]}], "diagram": "page-layout", "related": [{"url": "/wiki/tableam/?v=15", "label": "Table AM"}, {"url": "/wiki/relopts/?v=15", "label": "\u5b58\u50a8\u53c2\u6570"}], "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-page-layout.html", "path": "storage-page-layout.html", "label": "PostgreSQL 15 English manual", "sha256": "88f0ede4c4e120bd501055521215dd74f073965c658098e4b694f28e5fb427b5"}], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-identity", "manual": {"url": "/zh/docs/15/storage-page-layout.html", "anchor": "", "locale": "zh-Hans", "version": "15", "build_id": 101, "page_key": "storage-page-layout.html", "extraction": "concept-introduction", "source_hash": "b52478b89edd91bb6162f45dad8afd2c9b126315c9dac17fc704e26431844249", "fragment_sha256": "67a82f80bf4c3734bc14fceea1c9b751f37acbaf43411621847f9401eec04a0b", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "git:b1b500221dbe5437cfca004d6b04d3f6e422765d;html-sha256:6bce1a2df9170cb1146a1411c5547190856638221a6539e618ee1016c9f493ad", "translated_from_revision": null}, "body_sha256": "bbd74bba8bbd5ef3329daccbfeddbe15524597d733fdf4a0922c623ecf05e50e", "runtime_rerun": false, "authored_translation": "source-derived-identity", "source_facts_revision": "e1a64a87a46b825b88c082e4518161a47aab53c45694964f8ba1df28f7859f89"}, "facts_zh": [{"label": "\u5b9a\u4e49\u8303\u56f4", "value": "\u540c\u7248\u672c\u6838\u5fc3\u7269\u7406\u5b58\u50a8\u6587\u6863"}], "sections": [], "center_zh": {"title": "Database Page Layout", "locale": "zh-Hans", "source": {"key": "storage-page-layout", "locale": "zh-Hans", "version": "15", "text_hash": "5db29c8f81ab86ef20d384a9f8d6a51d2617af45581d810b2a3885d830f6cf7c", "collection": "storage", "dataset_hash": "7c31b524dfe136022d39a6ae8dcfac6b3bbd5f8fdaf422536599981252aff0c9", "source_database": "center", "source_revision": "e1a64a87a46b825b88c082e4518161a47aab53c45694964f8ba1df28f7859f89"}, "payload": {"facts": [{"label": "\u5b9a\u4e49\u8303\u56f4", "value": "\u540c\u7248\u672c\u6838\u5fc3\u7269\u7406\u5b58\u50a8\u6587\u6863"}], "tables": [{"key": "layout-0", "rows": [{"c0": "PageHeaderData", "c1": "\u957f 24 \u5b57\u8282\uff0c\u5305\u542b\u9875\u9762\u7684\u901a\u7528\u4fe1\u606f\uff0c\u4f8b\u5982\u7a7a\u95f2\u7a7a\u95f4\u6307\u9488\u3002"}, {"c0": "ItemIdData", "c1": "\u6307\u5411\u5b9e\u9645\u6570\u636e\u9879\u7684\u884c\u6307\u9488\u6570\u7ec4\u3002\u6bcf\u9879\u4e3a\u4e00\u4e2a\uff08\u504f\u79fb\uff0c\u957f\u5ea6\uff09\u5bf9\uff0c\u5360 4 \u5b57\u8282\u3002"}, {"c0": "\u7a7a\u95f2\u7a7a\u95f4", "c1": "\u5c1a\u672a\u5206\u914d\u7684\u7a7a\u95f4\u3002\u65b0\u884c\u6307\u9488\u4ece\u8be5\u533a\u57df\u7684\u8d77\u59cb\u5904\u5206\u914d\uff0c\u65b0\u6570\u636e\u9879\u4ece\u672b\u5c3e\u5904\u5206\u914d\u3002"}, {"c0": "\u9879", "c1": "\u5b9e\u9645\u7684\u6570\u636e\u9879\u672c\u8eab\u3002"}, {"c0": "\u7279\u6b8a\u7a7a\u95f4", "c1": "\u7d22\u5f15\u8bbf\u95ee\u65b9\u6cd5\u4e13\u7528\u6570\u636e\u3002\u4e0d\u540c\u65b9\u6cd5\u5b58\u50a8\u7684\u5185\u5bb9\u4e0d\u540c\uff0c\u666e\u901a\u8868\u4e2d\u6b64\u533a\u57df\u4e3a\u7a7a\u3002"}], "title": "\u9875\u9762\u603b\u4f53\u5e03\u5c40", "columns": [{"key": "c0", "label": "\u9879\u76ee"}, {"key": "c1", "label": "\u8bf4\u660e"}]}, {"key": "layout-1", "rows": [{"c0": "pd_lsn", "c1": "PageXLogRecPtr", "c2": "8 \u5b57\u8282", "c3": "LSN\uff1a\u8be5\u9875\u6700\u540e\u4e00\u6b21\u53d8\u5316\u6240\u5bf9\u5e94 WAL \u8bb0\u5f55\u7684\u6700\u540e\u4e00\u4e2a\u5b57\u8282\u4e4b\u540e\u7684\u4f4d\u7f6e\u3002"}, {"c0": "pd_checksum", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u9875\u9762\u6821\u9a8c\u548c"}, {"c0": "pd_flags", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u6807\u5fd7\u4f4d"}, {"c0": "pd_lower", "c1": "LocationIndex", "c2": "2 \u5b57\u8282", "c3": "\u7a7a\u95f2\u7a7a\u95f4\u8d77\u59cb\u4f4d\u7f6e\u7684\u504f\u79fb\u91cf"}, {"c0": "pd_upper", "c1": "LocationIndex", "c2": "2 \u5b57\u8282", "c3": "\u7a7a\u95f2\u7a7a\u95f4\u7ed3\u675f\u4f4d\u7f6e\u7684\u504f\u79fb\u91cf"}, {"c0": "pd_special", "c1": "LocationIndex", "c2": "2 \u5b57\u8282", "c3": "\u7279\u6b8a\u7a7a\u95f4\u8d77\u59cb\u4f4d\u7f6e\u7684\u504f\u79fb\u91cf"}, {"c0": "pd_pagesize_version", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u9875\u9762\u5927\u5c0f\u4e0e\u5e03\u5c40\u7248\u672c\u53f7\u4fe1\u606f"}, {"c0": "pd_prune_xid", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "\u9875\u9762\u4e0a\u6700\u65e9\u7684\u5c1a\u672a\u4fee\u526a\u7684 XMAX\uff1b\u6ca1\u6709\u5219\u4e3a\u96f6"}], "title": "PageHeaderData \u5e03\u5c40", "columns": [{"key": "c0", "label": "\u5b57\u6bb5"}, {"key": "c1", "label": "\u7c7b\u578b"}, {"key": "c2", "label": "\u957f\u5ea6"}, {"key": "c3", "label": "\u8bf4\u660e"}]}, {"key": "layout-2", "rows": [{"c0": "t_xmin", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "\u63d2\u5165\u4e8b\u52a1\u7684 XID"}, {"c0": "t_xmax", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "\u5220\u9664\u4e8b\u52a1\u7684 XID"}, {"c0": "t_cid", "c1": "CommandId", "c2": "4 \u5b57\u8282", "c3": "\u63d2\u5165\u548c\uff0f\u6216\u5220\u9664\u547d\u4ee4\u7684 CID\uff0c\u4e0e t_xvac \u5171\u7528\u5b58\u50a8\u4f4d\u7f6e"}, {"c0": "t_xvac", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "VACUUM \u64cd\u4f5c\u79fb\u52a8\u884c\u7248\u672c\u65f6\u4f7f\u7528\u7684 XID"}, {"c0": "t_ctid", "c1": "ItemPointerData", "c2": "6 \u5b57\u8282", "c3": "\u672c\u884c\u7248\u672c\u6216\u8f83\u65b0\u884c\u7248\u672c\u7684\u5f53\u524d TID"}, {"c0": "t_infomask2", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u5c5e\u6027\u6570\u91cf\u53ca\u5404\u79cd\u6807\u5fd7\u4f4d"}, {"c0": "t_infomask", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u5404\u79cd\u6807\u5fd7\u4f4d"}, {"c0": "t_hoff", "c1": "uint8", "c2": "1 \u5b57\u8282", "c3": "\u7528\u6237\u6570\u636e\u7684\u504f\u79fb\u91cf"}], "title": "HeapTupleHeaderData \u5e03\u5c40", "columns": [{"key": "c0", "label": "\u5b57\u6bb5"}, {"key": "c1", "label": "\u7c7b\u578b"}, {"key": "c2", "label": "\u957f\u5ea6"}, {"key": "c3", "label": "\u8bf4\u660e"}]}], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-identity", "manual": {"url": "/zh/docs/15/storage-page-layout.html", "anchor": "", "locale": "zh-Hans", "version": "15", "build_id": 101, "page_key": "storage-page-layout.html", "extraction": "concept-introduction", "source_hash": "b52478b89edd91bb6162f45dad8afd2c9b126315c9dac17fc704e26431844249", "fragment_sha256": "67a82f80bf4c3734bc14fceea1c9b751f37acbaf43411621847f9401eec04a0b", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "git:b1b500221dbe5437cfca004d6b04d3f6e422765d;html-sha256:6bce1a2df9170cb1146a1411c5547190856638221a6539e618ee1016c9f493ad", "translated_from_revision": null}, "body_sha256": "bbd74bba8bbd5ef3329daccbfeddbe15524597d733fdf4a0922c623ecf05e50e", "runtime_rerun": false, "authored_translation": "source-derived-identity", "source_facts_revision": "e1a64a87a46b825b88c082e4518161a47aab53c45694964f8ba1df28f7859f89"}, "sections": [], "description_zh": "\u672c\u8282\u6982\u8ff0 PostgreSQL \u8868\u548c\u7d22\u5f15\u5185\u90e8\u6240\u4f7f\u7528\u7684\u9875\u9762\u683c\u5f0f\u3002 [17] \u5e8f\u5217\u548c TOAST \u8868\u7684\u683c\u5f0f\u4e0e\u666e\u901a\u8868\u76f8\u540c\u3002 \u5728\u4e0b\u9762\u7684\u8bf4\u660e\u4e2d\uff0c\u5047\u5b9a\u4e00\u4e2a \u5b57\u8282 \u5305\u542b 8 \u4e2a\u4f4d\u3002\u53e6\u5916\uff0c\u672f\u8bed \u9879 \u6307\u7684\u662f\u5b58\u50a8\u5728\u9875\u9762\u4e0a\u7684\u5355\u4e2a\u6570\u636e\u503c\u3002\u5728\u8868\u4e2d\uff0c\u9879\u662f\u4e00\u884c\uff1b\u5728\u7d22\u5f15\u4e2d\uff0c\u9879\u662f\u4e00\u6761\u7d22\u5f15\u6761\u76ee\u3002 \u6bcf\u4e2a\u8868\u548c\u7d22\u5f15\u90fd\u5b58\u50a8\u4e3a\u56fa\u5b9a\u5927\u5c0f\u7684 \u9875\u9762 \u6570\u7ec4\uff08\u901a\u5e38\u4e3a 8 kB\uff0c\u4e0d\u8fc7\u5728\u7f16\u8bd1\u670d\u52a1\u5668\u65f6\u53ef\u4ee5\u9009\u62e9\u4e0d\u540c\u7684\u9875\u9762\u5927\u5c0f\uff09\u3002\u5728\u8868\u4e2d\uff0c\u6240\u6709\u9875\u9762\u5728\u903b\u8f91\u4e0a\u90fd\u662f\u7b49\u4ef7\u7684\uff0c\u56e0\u6b64\u67d0\u4e2a\u7279\u5b9a\u9879\uff08\u884c\uff09\u53ef\u4ee5\u5b58\u653e\u5728\u4efb\u610f\u9875\u9762\u4e2d\u3002\u5728\u7d22\u5f15\u4e2d\uff0c\u7b2c\u4e00\u9875\u901a\u5e38\u4fdd\u7559\u4e3a \u5143\u9875 \uff0c\u7528\u4e8e\u4fdd\u5b58\u63a7\u5236\u4fe1\u606f\uff1b\u5e76\u4e14\u6839\u636e\u7d22\u5f15\u8bbf\u95ee\u65b9\u6cd5\u7684\u4e0d\u540c\uff0c\u7d22\u5f15\u4e2d\u8fd8\u53ef\u80fd\u5b58\u5728\u4e0d\u540c\u7c7b\u578b\u7684\u9875\u9762\u3002 \u8868 73.2 \u5c55\u793a\u4e86\u9875\u9762\u7684\u603b\u4f53\u5e03\u5c40\u3002\u6bcf\u4e2a\u9875\u9762\u5305\u542b\u4e94\u4e2a\u90e8\u5206\u3002", "description_zh_html": "<p>\u5b58\u50a8\u7ed3\u6784 storage-page-layout\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n\u672c\u8282\u6982\u8ff0 <span class=\"productname\">PostgreSQL</span> \u8868\u548c\u7d22\u5f15\u5185\u90e8\u6240\u4f7f\u7528\u7684\u9875\u9762\u683c\u5f0f\u3002<a class=\"footnote\" href=\"/zh/docs/15/storage-page-layout.html#ftn.id-1.10.24.8.2.2\"><sup class=\"footnote\">[17]</sup></a>\n\u5e8f\u5217\u548c <acronym class=\"acronym\">TOAST</acronym> \u8868\u7684\u683c\u5f0f\u4e0e\u666e\u901a\u8868\u76f8\u540c\u3002\n</p><p>\n\u5728\u4e0b\u9762\u7684\u8bf4\u660e\u4e2d\uff0c\u5047\u5b9a\u4e00\u4e2a<em class=\"firstterm\">\u5b57\u8282</em>\u5305\u542b 8 \u4e2a\u4f4d\u3002\u53e6\u5916\uff0c\u672f\u8bed<em class=\"firstterm\">\u9879</em>\u6307\u7684\u662f\u5b58\u50a8\u5728\u9875\u9762\u4e0a\u7684\u5355\u4e2a\u6570\u636e\u503c\u3002\u5728\u8868\u4e2d\uff0c\u9879\u662f\u4e00\u884c\uff1b\u5728\u7d22\u5f15\u4e2d\uff0c\u9879\u662f\u4e00\u6761\u7d22\u5f15\u6761\u76ee\u3002\n</p><p>\n\u6bcf\u4e2a\u8868\u548c\u7d22\u5f15\u90fd\u5b58\u50a8\u4e3a\u56fa\u5b9a\u5927\u5c0f\u7684<em class=\"firstterm\">\u9875\u9762</em>\u6570\u7ec4\uff08\u901a\u5e38\u4e3a 8 kB\uff0c\u4e0d\u8fc7\u5728\u7f16\u8bd1\u670d\u52a1\u5668\u65f6\u53ef\u4ee5\u9009\u62e9\u4e0d\u540c\u7684\u9875\u9762\u5927\u5c0f\uff09\u3002\u5728\u8868\u4e2d\uff0c\u6240\u6709\u9875\u9762\u5728\u903b\u8f91\u4e0a\u90fd\u662f\u7b49\u4ef7\u7684\uff0c\u56e0\u6b64\u67d0\u4e2a\u7279\u5b9a\u9879\uff08\u884c\uff09\u53ef\u4ee5\u5b58\u653e\u5728\u4efb\u610f\u9875\u9762\u4e2d\u3002\u5728\u7d22\u5f15\u4e2d\uff0c\u7b2c\u4e00\u9875\u901a\u5e38\u4fdd\u7559\u4e3a<em class=\"firstterm\">\u5143\u9875</em>\uff0c\u7528\u4e8e\u4fdd\u5b58\u63a7\u5236\u4fe1\u606f\uff1b\u5e76\u4e14\u6839\u636e\u7d22\u5f15\u8bbf\u95ee\u65b9\u6cd5\u7684\u4e0d\u540c\uff0c\u7d22\u5f15\u4e2d\u8fd8\u53ef\u80fd\u5b58\u5728\u4e0d\u540c\u7c7b\u578b\u7684\u9875\u9762\u3002\n</p><p>\n<a class=\"xref\" href=\"/zh/docs/15/storage-page-layout.html#PAGE-TABLE\">\u8868\u00a073.2</a> \u5c55\u793a\u4e86\u9875\u9762\u7684\u603b\u4f53\u5e03\u5c40\u3002\u6bcf\u4e2a\u9875\u9762\u5305\u542b\u4e94\u4e2a\u90e8\u5206\u3002\n</p><p><a href=\"/zh/docs/15/storage-page-layout.html\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "summary": "\u672c\u8282\u6982\u8ff0 PostgreSQL \u8868\u548c\u7d22\u5f15\u5185\u90e8\u6240\u4f7f\u7528\u7684\u9875\u9762\u683c\u5f0f\u3002 [17] \u5e8f\u5217\u548c TOAST \u8868\u7684\u683c\u5f0f\u4e0e\u666e\u901a\u8868\u76f8\u540c\u3002 \u5728\u4e0b\u9762\u7684\u8bf4\u660e\u4e2d\uff0c\u5047\u5b9a\u4e00\u4e2a \u5b57\u8282 \u5305\u542b 8 \u4e2a\u4f4d\u3002\u53e6\u5916\uff0c\u672f\u8bed \u9879 \u6307\u7684\u662f\u5b58\u50a8\u5728\u9875\u9762\u4e0a\u7684\u5355\u4e2a\u6570\u636e\u503c\u3002\u5728\u8868\u4e2d\uff0c\u9879\u662f\u4e00\u884c\uff1b\u5728\u7d22\u5f15\u4e2d\uff0c\u9879\u662f\u4e00\u6761\u7d22\u5f15\u6761\u76ee\u3002 \u6bcf\u4e2a\u8868\u548c\u7d22\u5f15\u90fd\u5b58\u50a8\u4e3a\u56fa\u5b9a\u5927\u5c0f\u7684 \u9875\u9762 \u6570\u7ec4\uff08\u901a\u5e38\u4e3a 8 kB\uff0c\u4e0d\u8fc7\u5728\u7f16\u8bd1\u670d\u52a1\u5668\u65f6\u53ef\u4ee5\u9009\u62e9\u4e0d\u540c\u7684\u9875\u9762\u5927\u5c0f\uff09\u3002\u5728\u8868\u4e2d\uff0c\u6240\u6709\u9875\u9762\u5728\u903b\u8f91\u4e0a\u90fd\u662f\u7b49\u4ef7\u7684\uff0c\u56e0\u6b64\u67d0\u4e2a\u7279\u5b9a\u9879\uff08\u884c\uff09\u53ef\u4ee5\u5b58\u653e\u5728\u4efb\u610f\u9875\u9762\u4e2d\u3002\u5728\u7d22\u5f15\u4e2d\uff0c\u7b2c\u4e00\u9875\u901a\u5e38\u4fdd\u7559\u4e3a \u5143\u9875 \uff0c\u7528\u4e8e\u4fdd\u5b58\u63a7\u5236\u4fe1\u606f\uff1b\u5e76\u4e14\u6839\u636e\u7d22\u5f15\u8bbf\u95ee\u65b9\u6cd5\u7684\u4e0d\u540c\uff0c\u7d22\u5f15\u4e2d\u8fd8\u53ef\u80fd\u5b58\u5728\u4e0d\u540c\u7c7b\u578b\u7684\u9875\u9762\u3002 \u8868 73.2 \u5c55\u793a\u4e86\u9875\u9762\u7684\u603b\u4f53\u5e03\u5c40\u3002\u6bcf\u4e2a\u9875\u9762\u5305\u542b\u4e94\u4e2a\u90e8\u5206\u3002", "version": "15", "link_map": {"/zh/docs/15/storage-page-layout.html": "/docs/15/storage-page-layout.html", "/zh/docs/15/storage-page-layout.html#PAGE-TABLE": "/docs/15/storage-page-layout.html#PAGE-TABLE", "/zh/docs/15/storage-page-layout.html#ftn.id-1.10.24.8.2.2": "/docs/15/storage-page-layout.html#ftn.id-1.10.24.8.2.2"}, "body_html": "<p>\u5b58\u50a8\u7ed3\u6784 storage-page-layout\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n\u672c\u8282\u6982\u8ff0 <span>PostgreSQL</span> \u8868\u548c\u7d22\u5f15\u5185\u90e8\u6240\u4f7f\u7528\u7684\u9875\u9762\u683c\u5f0f\u3002<a href=\"/zh/docs/15/storage-page-layout.html#ftn.id-1.10.24.8.2.2\" rel=\"nofollow\"><sup>[17]</sup></a>\n\u5e8f\u5217\u548c <acronym>TOAST</acronym> \u8868\u7684\u683c\u5f0f\u4e0e\u666e\u901a\u8868\u76f8\u540c\u3002\n</p><p>\n\u5728\u4e0b\u9762\u7684\u8bf4\u660e\u4e2d\uff0c\u5047\u5b9a\u4e00\u4e2a<em>\u5b57\u8282</em>\u5305\u542b 8 \u4e2a\u4f4d\u3002\u53e6\u5916\uff0c\u672f\u8bed<em>\u9879</em>\u6307\u7684\u662f\u5b58\u50a8\u5728\u9875\u9762\u4e0a\u7684\u5355\u4e2a\u6570\u636e\u503c\u3002\u5728\u8868\u4e2d\uff0c\u9879\u662f\u4e00\u884c\uff1b\u5728\u7d22\u5f15\u4e2d\uff0c\u9879\u662f\u4e00\u6761\u7d22\u5f15\u6761\u76ee\u3002\n</p><p>\n\u6bcf\u4e2a\u8868\u548c\u7d22\u5f15\u90fd\u5b58\u50a8\u4e3a\u56fa\u5b9a\u5927\u5c0f\u7684<em>\u9875\u9762</em>\u6570\u7ec4\uff08\u901a\u5e38\u4e3a 8 kB\uff0c\u4e0d\u8fc7\u5728\u7f16\u8bd1\u670d\u52a1\u5668\u65f6\u53ef\u4ee5\u9009\u62e9\u4e0d\u540c\u7684\u9875\u9762\u5927\u5c0f\uff09\u3002\u5728\u8868\u4e2d\uff0c\u6240\u6709\u9875\u9762\u5728\u903b\u8f91\u4e0a\u90fd\u662f\u7b49\u4ef7\u7684\uff0c\u56e0\u6b64\u67d0\u4e2a\u7279\u5b9a\u9879\uff08\u884c\uff09\u53ef\u4ee5\u5b58\u653e\u5728\u4efb\u610f\u9875\u9762\u4e2d\u3002\u5728\u7d22\u5f15\u4e2d\uff0c\u7b2c\u4e00\u9875\u901a\u5e38\u4fdd\u7559\u4e3a<em>\u5143\u9875</em>\uff0c\u7528\u4e8e\u4fdd\u5b58\u63a7\u5236\u4fe1\u606f\uff1b\u5e76\u4e14\u6839\u636e\u7d22\u5f15\u8bbf\u95ee\u65b9\u6cd5\u7684\u4e0d\u540c\uff0c\u7d22\u5f15\u4e2d\u8fd8\u53ef\u80fd\u5b58\u5728\u4e0d\u540c\u7c7b\u578b\u7684\u9875\u9762\u3002\n</p><p>\n<a href=\"/zh/docs/15/storage-page-layout.html#PAGE-TABLE\" rel=\"nofollow\">\u8868\u00a073.2</a> \u5c55\u793a\u4e86\u9875\u9762\u7684\u603b\u4f53\u5e03\u5c40\u3002\u6bcf\u4e2a\u9875\u9762\u5305\u542b\u4e94\u4e2a\u90e8\u5206\u3002\n</p><p><a href=\"/zh/docs/15/storage-page-layout.html\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>", "body_sha256": "561a5fe5596b531f4e23765b04ba270d6670f4ebdb289d8b7180d473d7644140", "content_hash": "5db29c8f81ab86ef20d384a9f8d6a51d2617af45581d810b2a3885d830f6cf7c", "source_database": "center", "source_revision": "e1a64a87a46b825b88c082e4518161a47aab53c45694964f8ba1df28f7859f89"}, "signature": "", "tables_zh": [{"key": "layout-0", "rows": [{"c0": "PageHeaderData", "c1": "\u957f 24 \u5b57\u8282\uff0c\u5305\u542b\u9875\u9762\u7684\u901a\u7528\u4fe1\u606f\uff0c\u4f8b\u5982\u7a7a\u95f2\u7a7a\u95f4\u6307\u9488\u3002"}, {"c0": "ItemIdData", "c1": "\u6307\u5411\u5b9e\u9645\u6570\u636e\u9879\u7684\u884c\u6307\u9488\u6570\u7ec4\u3002\u6bcf\u9879\u4e3a\u4e00\u4e2a\uff08\u504f\u79fb\uff0c\u957f\u5ea6\uff09\u5bf9\uff0c\u5360 4 \u5b57\u8282\u3002"}, {"c0": "\u7a7a\u95f2\u7a7a\u95f4", "c1": "\u5c1a\u672a\u5206\u914d\u7684\u7a7a\u95f4\u3002\u65b0\u884c\u6307\u9488\u4ece\u8be5\u533a\u57df\u7684\u8d77\u59cb\u5904\u5206\u914d\uff0c\u65b0\u6570\u636e\u9879\u4ece\u672b\u5c3e\u5904\u5206\u914d\u3002"}, {"c0": "\u9879", "c1": "\u5b9e\u9645\u7684\u6570\u636e\u9879\u672c\u8eab\u3002"}, {"c0": "\u7279\u6b8a\u7a7a\u95f4", "c1": "\u7d22\u5f15\u8bbf\u95ee\u65b9\u6cd5\u4e13\u7528\u6570\u636e\u3002\u4e0d\u540c\u65b9\u6cd5\u5b58\u50a8\u7684\u5185\u5bb9\u4e0d\u540c\uff0c\u666e\u901a\u8868\u4e2d\u6b64\u533a\u57df\u4e3a\u7a7a\u3002"}], "title": "\u9875\u9762\u603b\u4f53\u5e03\u5c40", "columns": [{"key": "c0", "label": "\u9879\u76ee"}, {"key": "c1", "label": "\u8bf4\u660e"}]}, {"key": "layout-1", "rows": [{"c0": "pd_lsn", "c1": "PageXLogRecPtr", "c2": "8 \u5b57\u8282", "c3": "LSN\uff1a\u8be5\u9875\u6700\u540e\u4e00\u6b21\u53d8\u5316\u6240\u5bf9\u5e94 WAL \u8bb0\u5f55\u7684\u6700\u540e\u4e00\u4e2a\u5b57\u8282\u4e4b\u540e\u7684\u4f4d\u7f6e\u3002"}, {"c0": "pd_checksum", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u9875\u9762\u6821\u9a8c\u548c"}, {"c0": "pd_flags", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u6807\u5fd7\u4f4d"}, {"c0": "pd_lower", "c1": "LocationIndex", "c2": "2 \u5b57\u8282", "c3": "\u7a7a\u95f2\u7a7a\u95f4\u8d77\u59cb\u4f4d\u7f6e\u7684\u504f\u79fb\u91cf"}, {"c0": "pd_upper", "c1": "LocationIndex", "c2": "2 \u5b57\u8282", "c3": "\u7a7a\u95f2\u7a7a\u95f4\u7ed3\u675f\u4f4d\u7f6e\u7684\u504f\u79fb\u91cf"}, {"c0": "pd_special", "c1": "LocationIndex", "c2": "2 \u5b57\u8282", "c3": "\u7279\u6b8a\u7a7a\u95f4\u8d77\u59cb\u4f4d\u7f6e\u7684\u504f\u79fb\u91cf"}, {"c0": "pd_pagesize_version", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u9875\u9762\u5927\u5c0f\u4e0e\u5e03\u5c40\u7248\u672c\u53f7\u4fe1\u606f"}, {"c0": "pd_prune_xid", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "\u9875\u9762\u4e0a\u6700\u65e9\u7684\u5c1a\u672a\u4fee\u526a\u7684 XMAX\uff1b\u6ca1\u6709\u5219\u4e3a\u96f6"}], "title": "PageHeaderData \u5e03\u5c40", "columns": [{"key": "c0", "label": "\u5b57\u6bb5"}, {"key": "c1", "label": "\u7c7b\u578b"}, {"key": "c2", "label": "\u957f\u5ea6"}, {"key": "c3", "label": "\u8bf4\u660e"}]}, {"key": "layout-2", "rows": [{"c0": "t_xmin", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "\u63d2\u5165\u4e8b\u52a1\u7684 XID"}, {"c0": "t_xmax", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "\u5220\u9664\u4e8b\u52a1\u7684 XID"}, {"c0": "t_cid", "c1": "CommandId", "c2": "4 \u5b57\u8282", "c3": "\u63d2\u5165\u548c\uff0f\u6216\u5220\u9664\u547d\u4ee4\u7684 CID\uff0c\u4e0e t_xvac \u5171\u7528\u5b58\u50a8\u4f4d\u7f6e"}, {"c0": "t_xvac", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "VACUUM \u64cd\u4f5c\u79fb\u52a8\u884c\u7248\u672c\u65f6\u4f7f\u7528\u7684 XID"}, {"c0": "t_ctid", "c1": "ItemPointerData", "c2": "6 \u5b57\u8282", "c3": "\u672c\u884c\u7248\u672c\u6216\u8f83\u65b0\u884c\u7248\u672c\u7684\u5f53\u524d TID"}, {"c0": "t_infomask2", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u5c5e\u6027\u6570\u91cf\u53ca\u5404\u79cd\u6807\u5fd7\u4f4d"}, {"c0": "t_infomask", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u5404\u79cd\u6807\u5fd7\u4f4d"}, {"c0": "t_hoff", "c1": "uint8", "c2": "1 \u5b57\u8282", "c3": "\u7528\u6237\u6570\u636e\u7684\u504f\u79fb\u91cf"}], "title": "HeapTupleHeaderData \u5e03\u5c40", "columns": [{"key": "c0", "label": "\u5b57\u6bb5"}, {"key": "c1", "label": "\u7c7b\u578b"}, {"key": "c2", "label": "\u957f\u5ea6"}, {"key": "c3", "label": "\u8bf4\u660e"}]}], "description": ["\u672c\u8282\u6982\u8ff0 PostgreSQL \u8868\u548c\u7d22\u5f15\u5185\u90e8\u6240\u4f7f\u7528\u7684\u9875\u9762\u683c\u5f0f\u3002 [17] \u5e8f\u5217\u548c TOAST \u8868\u7684\u683c\u5f0f\u4e0e\u666e\u901a\u8868\u76f8\u540c\u3002 \u5728\u4e0b\u9762\u7684\u8bf4\u660e\u4e2d\uff0c\u5047\u5b9a\u4e00\u4e2a \u5b57\u8282 \u5305\u542b 8 \u4e2a\u4f4d\u3002\u53e6\u5916\uff0c\u672f\u8bed \u9879 \u6307\u7684\u662f\u5b58\u50a8\u5728\u9875\u9762\u4e0a\u7684\u5355\u4e2a\u6570\u636e\u503c\u3002\u5728\u8868\u4e2d\uff0c\u9879\u662f\u4e00\u884c\uff1b\u5728\u7d22\u5f15\u4e2d\uff0c\u9879\u662f\u4e00\u6761\u7d22\u5f15\u6761\u76ee\u3002 \u6bcf\u4e2a\u8868\u548c\u7d22\u5f15\u90fd\u5b58\u50a8\u4e3a\u56fa\u5b9a\u5927\u5c0f\u7684 \u9875\u9762 \u6570\u7ec4\uff08\u901a\u5e38\u4e3a 8 kB\uff0c\u4e0d\u8fc7\u5728\u7f16\u8bd1\u670d\u52a1\u5668\u65f6\u53ef\u4ee5\u9009\u62e9\u4e0d\u540c\u7684\u9875\u9762\u5927\u5c0f\uff09\u3002\u5728\u8868\u4e2d\uff0c\u6240\u6709\u9875\u9762\u5728\u903b\u8f91\u4e0a\u90fd\u662f\u7b49\u4ef7\u7684\uff0c\u56e0\u6b64\u67d0\u4e2a\u7279\u5b9a\u9879\uff08\u884c\uff09\u53ef\u4ee5\u5b58\u653e\u5728\u4efb\u610f\u9875\u9762\u4e2d\u3002\u5728\u7d22\u5f15\u4e2d\uff0c\u7b2c\u4e00\u9875\u901a\u5e38\u4fdd\u7559\u4e3a \u5143\u9875 \uff0c\u7528\u4e8e\u4fdd\u5b58\u63a7\u5236\u4fe1\u606f\uff1b\u5e76\u4e14\u6839\u636e\u7d22\u5f15\u8bbf\u95ee\u65b9\u6cd5\u7684\u4e0d\u540c\uff0c\u7d22\u5f15\u4e2d\u8fd8\u53ef\u80fd\u5b58\u5728\u4e0d\u540c\u7c7b\u578b\u7684\u9875\u9762\u3002 \u8868 73.2 \u5c55\u793a\u4e86\u9875\u9762\u7684\u603b\u4f53\u5e03\u5c40\u3002\u6bcf\u4e2a\u9875\u9762\u5305\u542b\u4e94\u4e2a\u90e8\u5206\u3002"], "manual_html": "", "manual_path": "/docs/15/storage-page-layout.html", "sections_zh": [], "localization": {"status": "complete", "sources": [{"url": "/docs/15/storage-page-layout.html", "method": "same-major semantic node", "sha256": "2c2602d84ed184bdd78e6473fd991c8f64d4e6921371324f0d349f423eba5718", "language": "zh", "matched_nodes": ["#STORAGE-PAGE-LAYOUT/div[0]", "#STORAGE-PAGE-LAYOUT/div[16]", "#STORAGE-PAGE-LAYOUT/div[18]/div[2]/p[0]", "#STORAGE-PAGE-LAYOUT/div[18]/p[1]", "#STORAGE-PAGE-LAYOUT/div[18]/p[4]", "#STORAGE-PAGE-LAYOUT/div[18]/p[5]", "#STORAGE-PAGE-LAYOUT/div[18]/p[6]", "#STORAGE-PAGE-LAYOUT/div[19]", "#STORAGE-PAGE-LAYOUT/div[1]", "#STORAGE-PAGE-LAYOUT/div[6]/div[1]/table[0]/tbody[2]/tr[3]/td[0]", "#STORAGE-PAGE-LAYOUT/div[6]/p[0]", "#STORAGE-PAGE-LAYOUT/div[9]/div[1]/table[0]/tbody[2]/tr[0]/td[2]", "#STORAGE-PAGE-LAYOUT/div[9]/p[0]", "#STORAGE-PAGE-LAYOUT/p[11]", "#STORAGE-PAGE-LAYOUT/p[12]", "#STORAGE-PAGE-LAYOUT/p[13]", "#STORAGE-PAGE-LAYOUT/p[14]", "#STORAGE-PAGE-LAYOUT/p[15]", "#STORAGE-PAGE-LAYOUT/p[2]", "#STORAGE-PAGE-LAYOUT/p[3]", "#STORAGE-PAGE-LAYOUT/p[4]", "#STORAGE-PAGE-LAYOUT/p[5]"]}], "language": "zh", "original_text": {"/versions/15/description/0": "This section provides an overview of the page format used within PostgreSQL tables and indexes. [17] Sequences and TOAST tables are formatted just like a regular table.", "/versions/15/facts/0/label": "Definition scope", "/versions/15/facts/0/value": "Same-version core physical storage documentation", "/versions/15/tables/0/title": "Overall Page Layout", "/versions/15/tables/1/title": "PageHeaderData Layout", "/versions/15/tables/2/title": "HeapTupleHeaderData Layout", "/versions/15/related/1/label": "Storage Parameters", "/versions/15/tables/0/rows/0/c1": "24 bytes long. Contains general information about the page, including free space pointers.", "/versions/15/tables/0/rows/1/c1": "Array of item identifiers pointing to the actual items. Each entry is an (offset,length) pair. 4 bytes per item.", "/versions/15/tables/0/rows/2/c0": "Free space", "/versions/15/tables/0/rows/2/c1": "The unallocated space. New item identifiers are allocated from the start of this area, new items from the end.", "/versions/15/tables/0/rows/3/c0": "Items", "/versions/15/tables/0/rows/3/c1": "The actual items themselves.", "/versions/15/tables/0/rows/4/c0": "Special space", "/versions/15/tables/0/rows/4/c1": "Index access method specific data. Different methods store different data. Empty in ordinary tables.", "/versions/15/tables/1/rows/0/c2": "8 bytes", "/versions/15/tables/1/rows/0/c3": "LSN: next byte after last byte of WAL record for last change to this page", "/versions/15/tables/1/rows/1/c2": "2 bytes", "/versions/15/tables/1/rows/1/c3": "Page checksum", "/versions/15/tables/1/rows/2/c2": "2 bytes", "/versions/15/tables/1/rows/2/c3": "Flag bits", "/versions/15/tables/1/rows/3/c2": "2 bytes", "/versions/15/tables/1/rows/3/c3": "Offset to start of free space", "/versions/15/tables/1/rows/4/c2": "2 bytes", "/versions/15/tables/1/rows/4/c3": "Offset to end of free space", "/versions/15/tables/1/rows/5/c2": "2 bytes", "/versions/15/tables/1/rows/5/c3": "Offset to start of special space", "/versions/15/tables/1/rows/6/c2": "2 bytes", "/versions/15/tables/1/rows/6/c3": "Page size and layout version number information", "/versions/15/tables/1/rows/7/c2": "4 bytes", "/versions/15/tables/1/rows/7/c3": "Oldest unpruned XMAX on page, or zero if none", "/versions/15/tables/2/rows/0/c2": "4 bytes", "/versions/15/tables/2/rows/0/c3": "insert XID stamp", "/versions/15/tables/2/rows/1/c2": "4 bytes", "/versions/15/tables/2/rows/1/c3": "delete XID stamp", "/versions/15/tables/2/rows/2/c2": "4 bytes", "/versions/15/tables/2/rows/2/c3": "insert and/or delete CID stamp (overlays with t_xvac)", "/versions/15/tables/2/rows/3/c2": "4 bytes", "/versions/15/tables/2/rows/3/c3": "XID for VACUUM operation moving a row version", "/versions/15/tables/2/rows/4/c2": "6 bytes", "/versions/15/tables/2/rows/4/c3": "current TID of this or newer row version", "/versions/15/tables/2/rows/5/c2": "2 bytes", "/versions/15/tables/2/rows/5/c3": "number of attributes, plus various flag bits", "/versions/15/tables/2/rows/6/c2": "2 bytes", "/versions/15/tables/2/rows/6/c3": "various flag bits", "/versions/15/tables/2/rows/7/c2": "1 byte", "/versions/15/tables/2/rows/7/c3": "offset to user data", "/versions/15/tables/0/columns/0/label": "Item", "/versions/15/tables/0/columns/1/label": "Description", "/versions/15/tables/1/columns/0/label": "Field", "/versions/15/tables/1/columns/1/label": "Type", "/versions/15/tables/1/columns/2/label": "Length", "/versions/15/tables/1/columns/3/label": "Description", "/versions/15/tables/2/columns/0/label": "Field", "/versions/15/tables/2/columns/1/label": "Type", "/versions/15/tables/2/columns/2/label": "Length", "/versions/15/tables/2/columns/3/label": "Description"}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "e61fd3c3f0927e4b772c8a656200291beeebf0e12e44a082a829a312d18d8f64", "canonical_center_text_hash": "5db29c8f81ab86ef20d384a9f8d6a51d2617af45581d810b2a3885d830f6cf7c"}, "description_zh": "\u672c\u8282\u6982\u8ff0 PostgreSQL \u8868\u548c\u7d22\u5f15\u5185\u90e8\u6240\u4f7f\u7528\u7684\u9875\u9762\u683c\u5f0f\u3002 [17] \u5e8f\u5217\u548c TOAST \u8868\u7684\u683c\u5f0f\u4e0e\u666e\u901a\u8868\u76f8\u540c\u3002 \u5728\u4e0b\u9762\u7684\u8bf4\u660e\u4e2d\uff0c\u5047\u5b9a\u4e00\u4e2a \u5b57\u8282 \u5305\u542b 8 \u4e2a\u4f4d\u3002\u53e6\u5916\uff0c\u672f\u8bed \u9879 \u6307\u7684\u662f\u5b58\u50a8\u5728\u9875\u9762\u4e0a\u7684\u5355\u4e2a\u6570\u636e\u503c\u3002\u5728\u8868\u4e2d\uff0c\u9879\u662f\u4e00\u884c\uff1b\u5728\u7d22\u5f15\u4e2d\uff0c\u9879\u662f\u4e00\u6761\u7d22\u5f15\u6761\u76ee\u3002 \u6bcf\u4e2a\u8868\u548c\u7d22\u5f15\u90fd\u5b58\u50a8\u4e3a\u56fa\u5b9a\u5927\u5c0f\u7684 \u9875\u9762 \u6570\u7ec4\uff08\u901a\u5e38\u4e3a 8 kB\uff0c\u4e0d\u8fc7\u5728\u7f16\u8bd1\u670d\u52a1\u5668\u65f6\u53ef\u4ee5\u9009\u62e9\u4e0d\u540c\u7684\u9875\u9762\u5927\u5c0f\uff09\u3002\u5728\u8868\u4e2d\uff0c\u6240\u6709\u9875\u9762\u5728\u903b\u8f91\u4e0a\u90fd\u662f\u7b49\u4ef7\u7684\uff0c\u56e0\u6b64\u67d0\u4e2a\u7279\u5b9a\u9879\uff08\u884c\uff09\u53ef\u4ee5\u5b58\u653e\u5728\u4efb\u610f\u9875\u9762\u4e2d\u3002\u5728\u7d22\u5f15\u4e2d\uff0c\u7b2c\u4e00\u9875\u901a\u5e38\u4fdd\u7559\u4e3a \u5143\u9875 \uff0c\u7528\u4e8e\u4fdd\u5b58\u63a7\u5236\u4fe1\u606f\uff1b\u5e76\u4e14\u6839\u636e\u7d22\u5f15\u8bbf\u95ee\u65b9\u6cd5\u7684\u4e0d\u540c\uff0c\u7d22\u5f15\u4e2d\u8fd8\u53ef\u80fd\u5b58\u5728\u4e0d\u540c\u7c7b\u578b\u7684\u9875\u9762\u3002 \u8868 73.2 \u5c55\u793a\u4e86\u9875\u9762\u7684\u603b\u4f53\u5e03\u5c40\u3002\u6bcf\u4e2a\u9875\u9762\u5305\u542b\u4e94\u4e2a\u90e8\u5206\u3002", "comparison_data": {"layouts": [{"key": "layout-0", "rows": [{"c0": "PageHeaderData", "c1": "24 bytes long. Contains general information about the page, including free space pointers."}, {"c0": "ItemIdData", "c1": "Array of item identifiers pointing to the actual items. Each entry is an (offset,length) pair. 4 bytes per item."}, {"c0": "Free space", "c1": "The unallocated space. New item identifiers are allocated from the start of this area, new items from the end."}, {"c0": "Items", "c1": "The actual items themselves."}, {"c0": "Special space", "c1": "Index access method specific data. Different methods store different data. Empty in ordinary tables."}], "title": "Overall Page Layout", "columns": [{"key": "c0", "label": "Item"}, {"key": "c1", "label": "Description"}]}, {"key": "layout-1", "rows": [{"c0": "pd_lsn", "c1": "PageXLogRecPtr", "c2": "8 bytes", "c3": "LSN: next byte after last byte of WAL record for last change to this page"}, {"c0": "pd_checksum", "c1": "uint16", "c2": "2 bytes", "c3": "Page checksum"}, {"c0": "pd_flags", "c1": "uint16", "c2": "2 bytes", "c3": "Flag bits"}, {"c0": "pd_lower", "c1": "LocationIndex", "c2": "2 bytes", "c3": "Offset to start of free space"}, {"c0": "pd_upper", "c1": "LocationIndex", "c2": "2 bytes", "c3": "Offset to end of free space"}, {"c0": "pd_special", "c1": "LocationIndex", "c2": "2 bytes", "c3": "Offset to start of special space"}, {"c0": "pd_pagesize_version", "c1": "uint16", "c2": "2 bytes", "c3": "Page size and layout version number information"}, {"c0": "pd_prune_xid", "c1": "TransactionId", "c2": "4 bytes", "c3": "Oldest unpruned XMAX on page, or zero if none"}], "title": "PageHeaderData Layout", "columns": [{"key": "c0", "label": "Field"}, {"key": "c1", "label": "Type"}, {"key": "c2", "label": "Length"}, {"key": "c3", "label": "Description"}]}, {"key": "layout-2", "rows": [{"c0": "t_xmin", "c1": "TransactionId", "c2": "4 bytes", "c3": "insert XID stamp"}, {"c0": "t_xmax", "c1": "TransactionId", "c2": "4 bytes", "c3": "delete XID stamp"}, {"c0": "t_cid", "c1": "CommandId", "c2": "4 bytes", "c3": "insert and/or delete CID stamp (overlays with t_xvac)"}, {"c0": "t_xvac", "c1": "TransactionId", "c2": "4 bytes", "c3": "XID for VACUUM operation moving a row version"}, {"c0": "t_ctid", "c1": "ItemPointerData", "c2": "6 bytes", "c3": "current TID of this or newer row version"}, {"c0": "t_infomask2", "c1": "uint16", "c2": "2 bytes", "c3": "number of attributes, plus various flag bits"}, {"c0": "t_infomask", "c1": "uint16", "c2": "2 bytes", "c3": "various flag bits"}, {"c0": "t_hoff", "c1": "uint8", "c2": "1 byte", "c3": "offset to user data"}], "title": "HeapTupleHeaderData Layout", "columns": [{"key": "c0", "label": "Field"}, {"key": "c1", "label": "Type"}, {"key": "c2", "label": "Length"}, {"key": "c3", "label": "Description"}]}]}, "comparison_hash": "b621fa85b3be27a0eb0d82986e9524f2ef0a776761901f0d429826eec4822d0a", "manual_language": "zh", "description_zh_html": "<p>\u5b58\u50a8\u7ed3\u6784 storage-page-layout\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n\u672c\u8282\u6982\u8ff0 <span>PostgreSQL</span> \u8868\u548c\u7d22\u5f15\u5185\u90e8\u6240\u4f7f\u7528\u7684\u9875\u9762\u683c\u5f0f\u3002<a href=\"/zh/docs/15/storage-page-layout.html#ftn.id-1.10.24.8.2.2\" rel=\"nofollow\"><sup>[17]</sup></a>\n\u5e8f\u5217\u548c <acronym>TOAST</acronym> \u8868\u7684\u683c\u5f0f\u4e0e\u666e\u901a\u8868\u76f8\u540c\u3002\n</p><p>\n\u5728\u4e0b\u9762\u7684\u8bf4\u660e\u4e2d\uff0c\u5047\u5b9a\u4e00\u4e2a<em>\u5b57\u8282</em>\u5305\u542b 8 \u4e2a\u4f4d\u3002\u53e6\u5916\uff0c\u672f\u8bed<em>\u9879</em>\u6307\u7684\u662f\u5b58\u50a8\u5728\u9875\u9762\u4e0a\u7684\u5355\u4e2a\u6570\u636e\u503c\u3002\u5728\u8868\u4e2d\uff0c\u9879\u662f\u4e00\u884c\uff1b\u5728\u7d22\u5f15\u4e2d\uff0c\u9879\u662f\u4e00\u6761\u7d22\u5f15\u6761\u76ee\u3002\n</p><p>\n\u6bcf\u4e2a\u8868\u548c\u7d22\u5f15\u90fd\u5b58\u50a8\u4e3a\u56fa\u5b9a\u5927\u5c0f\u7684<em>\u9875\u9762</em>\u6570\u7ec4\uff08\u901a\u5e38\u4e3a 8 kB\uff0c\u4e0d\u8fc7\u5728\u7f16\u8bd1\u670d\u52a1\u5668\u65f6\u53ef\u4ee5\u9009\u62e9\u4e0d\u540c\u7684\u9875\u9762\u5927\u5c0f\uff09\u3002\u5728\u8868\u4e2d\uff0c\u6240\u6709\u9875\u9762\u5728\u903b\u8f91\u4e0a\u90fd\u662f\u7b49\u4ef7\u7684\uff0c\u56e0\u6b64\u67d0\u4e2a\u7279\u5b9a\u9879\uff08\u884c\uff09\u53ef\u4ee5\u5b58\u653e\u5728\u4efb\u610f\u9875\u9762\u4e2d\u3002\u5728\u7d22\u5f15\u4e2d\uff0c\u7b2c\u4e00\u9875\u901a\u5e38\u4fdd\u7559\u4e3a<em>\u5143\u9875</em>\uff0c\u7528\u4e8e\u4fdd\u5b58\u63a7\u5236\u4fe1\u606f\uff1b\u5e76\u4e14\u6839\u636e\u7d22\u5f15\u8bbf\u95ee\u65b9\u6cd5\u7684\u4e0d\u540c\uff0c\u7d22\u5f15\u4e2d\u8fd8\u53ef\u80fd\u5b58\u5728\u4e0d\u540c\u7c7b\u578b\u7684\u9875\u9762\u3002\n</p><p>\n<a href=\"/zh/docs/15/storage-page-layout.html#PAGE-TABLE\" rel=\"nofollow\">\u8868\u00a073.2</a> \u5c55\u793a\u4e86\u9875\u9762\u7684\u603b\u4f53\u5e03\u5c40\u3002\u6bcf\u4e2a\u9875\u9762\u5305\u542b\u4e94\u4e2a\u90e8\u5206\u3002\n</p><p><a href=\"/zh/docs/15/storage-page-layout.html\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "16": {"facts": [{"label": "\u5b9a\u4e49\u8303\u56f4", "value": "\u540c\u7248\u672c\u6838\u5fc3\u7269\u7406\u5b58\u50a8\u6587\u6863"}], "tables": [{"key": "layout-0", "rows": [{"c0": "PageHeaderData", "c1": "\u957f 24 \u5b57\u8282\uff0c\u5305\u542b\u9875\u9762\u7684\u901a\u7528\u4fe1\u606f\uff0c\u4f8b\u5982\u7a7a\u95f2\u7a7a\u95f4\u6307\u9488\u3002"}, {"c0": "ItemIdData", "c1": "\u6307\u5411\u5b9e\u9645\u6570\u636e\u9879\u7684\u884c\u6307\u9488\u6570\u7ec4\u3002\u6bcf\u9879\u4e3a\u4e00\u4e2a\uff08\u504f\u79fb\uff0c\u957f\u5ea6\uff09\u5bf9\uff0c\u5360 4 \u5b57\u8282\u3002"}, {"c0": "\u7a7a\u95f2\u7a7a\u95f4", "c1": "\u5c1a\u672a\u5206\u914d\u7684\u7a7a\u95f4\u3002\u65b0\u884c\u6307\u9488\u4ece\u8be5\u533a\u57df\u7684\u8d77\u59cb\u5904\u5206\u914d\uff0c\u65b0\u6570\u636e\u9879\u4ece\u672b\u5c3e\u5904\u5206\u914d\u3002"}, {"c0": "\u9879", "c1": "\u5b9e\u9645\u7684\u6570\u636e\u9879\u672c\u8eab\u3002"}, {"c0": "\u7279\u6b8a\u7a7a\u95f4", "c1": "\u7d22\u5f15\u8bbf\u95ee\u65b9\u6cd5\u4e13\u7528\u6570\u636e\u3002\u4e0d\u540c\u65b9\u6cd5\u5b58\u50a8\u7684\u5185\u5bb9\u4e0d\u540c\uff0c\u666e\u901a\u8868\u4e2d\u6b64\u533a\u57df\u4e3a\u7a7a\u3002"}], "title": "\u9875\u9762\u603b\u4f53\u5e03\u5c40", "columns": [{"key": "c0", "label": "\u9879\u76ee"}, {"key": "c1", "label": "\u8bf4\u660e"}]}, {"key": "layout-1", "rows": [{"c0": "pd_lsn", "c1": "PageXLogRecPtr", "c2": "8 \u5b57\u8282", "c3": "LSN\uff1a\u8be5\u9875\u6700\u540e\u4e00\u6b21\u53d8\u5316\u6240\u5bf9\u5e94 WAL \u8bb0\u5f55\u7684\u6700\u540e\u4e00\u4e2a\u5b57\u8282\u4e4b\u540e\u7684\u4f4d\u7f6e\u3002"}, {"c0": "pd_checksum", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u9875\u9762\u6821\u9a8c\u548c"}, {"c0": "pd_flags", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u6807\u5fd7\u4f4d"}, {"c0": "pd_lower", "c1": "LocationIndex", "c2": "2 \u5b57\u8282", "c3": "\u7a7a\u95f2\u7a7a\u95f4\u8d77\u59cb\u4f4d\u7f6e\u7684\u504f\u79fb\u91cf"}, {"c0": "pd_upper", "c1": "LocationIndex", "c2": "2 \u5b57\u8282", "c3": "\u7a7a\u95f2\u7a7a\u95f4\u7ed3\u675f\u4f4d\u7f6e\u7684\u504f\u79fb\u91cf"}, {"c0": "pd_special", "c1": "LocationIndex", "c2": "2 \u5b57\u8282", "c3": "\u7279\u6b8a\u7a7a\u95f4\u8d77\u59cb\u4f4d\u7f6e\u7684\u504f\u79fb\u91cf"}, {"c0": "pd_pagesize_version", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u9875\u9762\u5927\u5c0f\u4e0e\u5e03\u5c40\u7248\u672c\u53f7\u4fe1\u606f"}, {"c0": "pd_prune_xid", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "\u9875\u9762\u4e0a\u6700\u65e9\u7684\u5c1a\u672a\u4fee\u526a\u7684 XMAX\uff1b\u6ca1\u6709\u5219\u4e3a\u96f6"}], "title": "PageHeaderData \u5e03\u5c40", "columns": [{"key": "c0", "label": "\u5b57\u6bb5"}, {"key": "c1", "label": "\u7c7b\u578b"}, {"key": "c2", "label": "\u957f\u5ea6"}, {"key": "c3", "label": "\u8bf4\u660e"}]}, {"key": "layout-2", "rows": [{"c0": "t_xmin", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "\u63d2\u5165\u4e8b\u52a1\u7684 XID"}, {"c0": "t_xmax", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "\u5220\u9664\u4e8b\u52a1\u7684 XID"}, {"c0": "t_cid", "c1": "CommandId", "c2": "4 \u5b57\u8282", "c3": "\u63d2\u5165\u548c\uff0f\u6216\u5220\u9664\u547d\u4ee4\u7684 CID\uff0c\u4e0e t_xvac \u5171\u7528\u5b58\u50a8\u4f4d\u7f6e"}, {"c0": "t_xvac", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "VACUUM \u64cd\u4f5c\u79fb\u52a8\u884c\u7248\u672c\u65f6\u4f7f\u7528\u7684 XID"}, {"c0": "t_ctid", "c1": "ItemPointerData", "c2": "6 \u5b57\u8282", "c3": "\u672c\u884c\u7248\u672c\u6216\u8f83\u65b0\u884c\u7248\u672c\u7684\u5f53\u524d TID"}, {"c0": "t_infomask2", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u5c5e\u6027\u6570\u91cf\u53ca\u5404\u79cd\u6807\u5fd7\u4f4d"}, {"c0": "t_infomask", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u5404\u79cd\u6807\u5fd7\u4f4d"}, {"c0": "t_hoff", "c1": "uint8", "c2": "1 \u5b57\u8282", "c3": "\u7528\u6237\u6570\u636e\u7684\u504f\u79fb\u91cf"}], "title": "HeapTupleHeaderData \u5e03\u5c40", "columns": [{"key": "c0", "label": "\u5b57\u6bb5"}, {"key": "c1", "label": "\u7c7b\u578b"}, {"key": "c2", "label": "\u957f\u5ea6"}, {"key": "c3", "label": "\u8bf4\u660e"}]}], "diagram": "page-layout", "related": [{"url": "/wiki/tableam/?v=16", "label": "Table AM"}, {"url": "/wiki/relopts/?v=16", "label": "\u5b58\u50a8\u53c2\u6570"}], "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-page-layout.html", "path": "storage-page-layout.html", "label": "PostgreSQL 16 English manual", "sha256": "8575d1a8e8bb10ffdccc043783fce8d53e59bd6e98f1cd66b3761a90d4d77c27"}], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-identity", "manual": {"url": "/zh/docs/16/storage-page-layout.html", "anchor": "", "locale": "zh-Hans", "version": "16", "build_id": 103, "page_key": "storage-page-layout.html", "extraction": "concept-introduction", "source_hash": "1a184973f783f9785e92ba1c67b036e2035e51a6055214696bde0c03730f2ef7", "fragment_sha256": "dca73d2af304a42c967990ce9d2a9f2c055ef941d295cbaf3f59347e227959ef", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "git:b1b500221dbe5437cfca004d6b04d3f6e422765d;html-sha256:80579a071736780f9c4022bb5148e1fb1256f1a33591306af67816e9e9bf3a9b", "translated_from_revision": null}, "body_sha256": "92ce0f648d130f36de9c1ccf8396a51f053c87138d912c928b4add73e1115576", "runtime_rerun": false, "authored_translation": "source-derived-identity", "source_facts_revision": "c1575341fa7bd40f5274ea465b34390f4dc64cdd0770af327005caaeb9f6b7ed"}, "facts_zh": [{"label": "\u5b9a\u4e49\u8303\u56f4", "value": "\u540c\u7248\u672c\u6838\u5fc3\u7269\u7406\u5b58\u50a8\u6587\u6863"}], "sections": [], "center_zh": {"title": "Database Page Layout", "locale": "zh-Hans", "source": {"key": "storage-page-layout", "locale": "zh-Hans", "version": "16", "text_hash": "6dc593175efb9db5274dd96a3ddda1003c8fd0fe139168c097b07aa70a31a38e", "collection": "storage", "dataset_hash": "7c31b524dfe136022d39a6ae8dcfac6b3bbd5f8fdaf422536599981252aff0c9", "source_database": "center", "source_revision": "c1575341fa7bd40f5274ea465b34390f4dc64cdd0770af327005caaeb9f6b7ed"}, "payload": {"facts": [{"label": "\u5b9a\u4e49\u8303\u56f4", "value": "\u540c\u7248\u672c\u6838\u5fc3\u7269\u7406\u5b58\u50a8\u6587\u6863"}], "tables": [{"key": "layout-0", "rows": [{"c0": "PageHeaderData", "c1": "\u957f 24 \u5b57\u8282\uff0c\u5305\u542b\u9875\u9762\u7684\u901a\u7528\u4fe1\u606f\uff0c\u4f8b\u5982\u7a7a\u95f2\u7a7a\u95f4\u6307\u9488\u3002"}, {"c0": "ItemIdData", "c1": "\u6307\u5411\u5b9e\u9645\u6570\u636e\u9879\u7684\u884c\u6307\u9488\u6570\u7ec4\u3002\u6bcf\u9879\u4e3a\u4e00\u4e2a\uff08\u504f\u79fb\uff0c\u957f\u5ea6\uff09\u5bf9\uff0c\u5360 4 \u5b57\u8282\u3002"}, {"c0": "\u7a7a\u95f2\u7a7a\u95f4", "c1": "\u5c1a\u672a\u5206\u914d\u7684\u7a7a\u95f4\u3002\u65b0\u884c\u6307\u9488\u4ece\u8be5\u533a\u57df\u7684\u8d77\u59cb\u5904\u5206\u914d\uff0c\u65b0\u6570\u636e\u9879\u4ece\u672b\u5c3e\u5904\u5206\u914d\u3002"}, {"c0": "\u9879", "c1": "\u5b9e\u9645\u7684\u6570\u636e\u9879\u672c\u8eab\u3002"}, {"c0": "\u7279\u6b8a\u7a7a\u95f4", "c1": "\u7d22\u5f15\u8bbf\u95ee\u65b9\u6cd5\u4e13\u7528\u6570\u636e\u3002\u4e0d\u540c\u65b9\u6cd5\u5b58\u50a8\u7684\u5185\u5bb9\u4e0d\u540c\uff0c\u666e\u901a\u8868\u4e2d\u6b64\u533a\u57df\u4e3a\u7a7a\u3002"}], "title": "\u9875\u9762\u603b\u4f53\u5e03\u5c40", "columns": [{"key": "c0", "label": "\u9879\u76ee"}, {"key": "c1", "label": "\u8bf4\u660e"}]}, {"key": "layout-1", "rows": [{"c0": "pd_lsn", "c1": "PageXLogRecPtr", "c2": "8 \u5b57\u8282", "c3": "LSN\uff1a\u8be5\u9875\u6700\u540e\u4e00\u6b21\u53d8\u5316\u6240\u5bf9\u5e94 WAL \u8bb0\u5f55\u7684\u6700\u540e\u4e00\u4e2a\u5b57\u8282\u4e4b\u540e\u7684\u4f4d\u7f6e\u3002"}, {"c0": "pd_checksum", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u9875\u9762\u6821\u9a8c\u548c"}, {"c0": "pd_flags", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u6807\u5fd7\u4f4d"}, {"c0": "pd_lower", "c1": "LocationIndex", "c2": "2 \u5b57\u8282", "c3": "\u7a7a\u95f2\u7a7a\u95f4\u8d77\u59cb\u4f4d\u7f6e\u7684\u504f\u79fb\u91cf"}, {"c0": "pd_upper", "c1": "LocationIndex", "c2": "2 \u5b57\u8282", "c3": "\u7a7a\u95f2\u7a7a\u95f4\u7ed3\u675f\u4f4d\u7f6e\u7684\u504f\u79fb\u91cf"}, {"c0": "pd_special", "c1": "LocationIndex", "c2": "2 \u5b57\u8282", "c3": "\u7279\u6b8a\u7a7a\u95f4\u8d77\u59cb\u4f4d\u7f6e\u7684\u504f\u79fb\u91cf"}, {"c0": "pd_pagesize_version", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u9875\u9762\u5927\u5c0f\u4e0e\u5e03\u5c40\u7248\u672c\u53f7\u4fe1\u606f"}, {"c0": "pd_prune_xid", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "\u9875\u9762\u4e0a\u6700\u65e9\u7684\u5c1a\u672a\u4fee\u526a\u7684 XMAX\uff1b\u6ca1\u6709\u5219\u4e3a\u96f6"}], "title": "PageHeaderData \u5e03\u5c40", "columns": [{"key": "c0", "label": "\u5b57\u6bb5"}, {"key": "c1", "label": "\u7c7b\u578b"}, {"key": "c2", "label": "\u957f\u5ea6"}, {"key": "c3", "label": "\u8bf4\u660e"}]}, {"key": "layout-2", "rows": [{"c0": "t_xmin", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "\u63d2\u5165\u4e8b\u52a1\u7684 XID"}, {"c0": "t_xmax", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "\u5220\u9664\u4e8b\u52a1\u7684 XID"}, {"c0": "t_cid", "c1": "CommandId", "c2": "4 \u5b57\u8282", "c3": "\u63d2\u5165\u548c\uff0f\u6216\u5220\u9664\u547d\u4ee4\u7684 CID\uff0c\u4e0e t_xvac \u5171\u7528\u5b58\u50a8\u4f4d\u7f6e"}, {"c0": "t_xvac", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "VACUUM \u64cd\u4f5c\u79fb\u52a8\u884c\u7248\u672c\u65f6\u4f7f\u7528\u7684 XID"}, {"c0": "t_ctid", "c1": "ItemPointerData", "c2": "6 \u5b57\u8282", "c3": "\u672c\u884c\u7248\u672c\u6216\u8f83\u65b0\u884c\u7248\u672c\u7684\u5f53\u524d TID"}, {"c0": "t_infomask2", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u5c5e\u6027\u6570\u91cf\u53ca\u5404\u79cd\u6807\u5fd7\u4f4d"}, {"c0": "t_infomask", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u5404\u79cd\u6807\u5fd7\u4f4d"}, {"c0": "t_hoff", "c1": "uint8", "c2": "1 \u5b57\u8282", "c3": "\u7528\u6237\u6570\u636e\u7684\u504f\u79fb\u91cf"}], "title": "HeapTupleHeaderData \u5e03\u5c40", "columns": [{"key": "c0", "label": "\u5b57\u6bb5"}, {"key": "c1", "label": "\u7c7b\u578b"}, {"key": "c2", "label": "\u957f\u5ea6"}, {"key": "c3", "label": "\u8bf4\u660e"}]}], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-identity", "manual": {"url": "/zh/docs/16/storage-page-layout.html", "anchor": "", "locale": "zh-Hans", "version": "16", "build_id": 103, "page_key": "storage-page-layout.html", "extraction": "concept-introduction", "source_hash": "1a184973f783f9785e92ba1c67b036e2035e51a6055214696bde0c03730f2ef7", "fragment_sha256": "dca73d2af304a42c967990ce9d2a9f2c055ef941d295cbaf3f59347e227959ef", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "git:b1b500221dbe5437cfca004d6b04d3f6e422765d;html-sha256:80579a071736780f9c4022bb5148e1fb1256f1a33591306af67816e9e9bf3a9b", "translated_from_revision": null}, "body_sha256": "92ce0f648d130f36de9c1ccf8396a51f053c87138d912c928b4add73e1115576", "runtime_rerun": false, "authored_translation": "source-derived-identity", "source_facts_revision": "c1575341fa7bd40f5274ea465b34390f4dc64cdd0770af327005caaeb9f6b7ed"}, "sections": [], "description_zh": "\u672c\u8282\u6982\u8ff0 PostgreSQL \u8868\u548c\u7d22\u5f15\u5185\u90e8\u6240\u4f7f\u7528\u7684\u9875\u9762\u683c\u5f0f\u3002 [17] \u5e8f\u5217\u548c TOAST \u8868\u7684\u683c\u5f0f\u4e0e\u666e\u901a\u8868\u76f8\u540c\u3002 \u5728\u4e0b\u9762\u7684\u8bf4\u660e\u4e2d\uff0c\u5047\u5b9a\u4e00\u4e2a \u5b57\u8282 \u5305\u542b 8 \u4e2a\u4f4d\u3002\u53e6\u5916\uff0c\u672f\u8bed \u9879 \u6307\u7684\u662f\u5b58\u50a8\u5728\u9875\u9762\u4e0a\u7684\u5355\u4e2a\u6570\u636e\u503c\u3002\u5728\u8868\u4e2d\uff0c\u9879\u662f\u4e00\u884c\uff1b\u5728\u7d22\u5f15\u4e2d\uff0c\u9879\u662f\u4e00\u6761\u7d22\u5f15\u6761\u76ee\u3002 \u6bcf\u4e2a\u8868\u548c\u7d22\u5f15\u90fd\u5b58\u50a8\u4e3a\u56fa\u5b9a\u5927\u5c0f\u7684 \u9875\u9762 \u6570\u7ec4\uff08\u901a\u5e38\u4e3a 8 kB\uff0c\u4e0d\u8fc7\u5728\u7f16\u8bd1\u670d\u52a1\u5668\u65f6\u53ef\u4ee5\u9009\u62e9\u4e0d\u540c\u7684\u9875\u9762\u5927\u5c0f\uff09\u3002\u5728\u8868\u4e2d\uff0c\u6240\u6709\u9875\u9762\u5728\u903b\u8f91\u4e0a\u90fd\u662f\u7b49\u4ef7\u7684\uff0c\u56e0\u6b64\u67d0\u4e2a\u7279\u5b9a\u9879\uff08\u884c\uff09\u53ef\u4ee5\u5b58\u653e\u5728\u4efb\u610f\u9875\u9762\u4e2d\u3002\u5728\u7d22\u5f15\u4e2d\uff0c\u7b2c\u4e00\u9875\u901a\u5e38\u4fdd\u7559\u4e3a \u5143\u9875 \uff0c\u7528\u4e8e\u4fdd\u5b58\u63a7\u5236\u4fe1\u606f\uff1b\u5e76\u4e14\u6839\u636e\u7d22\u5f15\u8bbf\u95ee\u65b9\u6cd5\u7684\u4e0d\u540c\uff0c\u7d22\u5f15\u4e2d\u8fd8\u53ef\u80fd\u5b58\u5728\u4e0d\u540c\u7c7b\u578b\u7684\u9875\u9762\u3002 \u8868 73.2 \u5c55\u793a\u4e86\u9875\u9762\u7684\u603b\u4f53\u5e03\u5c40\u3002\u6bcf\u4e2a\u9875\u9762\u5305\u542b\u4e94\u4e2a\u90e8\u5206\u3002", "description_zh_html": "<p>\u5b58\u50a8\u7ed3\u6784 storage-page-layout\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n\u672c\u8282\u6982\u8ff0 <span class=\"productname\">PostgreSQL</span> \u8868\u548c\u7d22\u5f15\u5185\u90e8\u6240\u4f7f\u7528\u7684\u9875\u9762\u683c\u5f0f\u3002<a class=\"footnote\" href=\"/zh/docs/16/storage-page-layout.html#ftn.id-1.10.24.8.2.2\"><sup class=\"footnote\">[17]</sup></a>\n\u5e8f\u5217\u548c <acronym class=\"acronym\">TOAST</acronym> \u8868\u7684\u683c\u5f0f\u4e0e\u666e\u901a\u8868\u76f8\u540c\u3002\n</p><p>\n\u5728\u4e0b\u9762\u7684\u8bf4\u660e\u4e2d\uff0c\u5047\u5b9a\u4e00\u4e2a<em class=\"firstterm\">\u5b57\u8282</em>\u5305\u542b 8 \u4e2a\u4f4d\u3002\u53e6\u5916\uff0c\u672f\u8bed<em class=\"firstterm\">\u9879</em>\u6307\u7684\u662f\u5b58\u50a8\u5728\u9875\u9762\u4e0a\u7684\u5355\u4e2a\u6570\u636e\u503c\u3002\u5728\u8868\u4e2d\uff0c\u9879\u662f\u4e00\u884c\uff1b\u5728\u7d22\u5f15\u4e2d\uff0c\u9879\u662f\u4e00\u6761\u7d22\u5f15\u6761\u76ee\u3002\n</p><p>\n\u6bcf\u4e2a\u8868\u548c\u7d22\u5f15\u90fd\u5b58\u50a8\u4e3a\u56fa\u5b9a\u5927\u5c0f\u7684<em class=\"firstterm\">\u9875\u9762</em>\u6570\u7ec4\uff08\u901a\u5e38\u4e3a 8 kB\uff0c\u4e0d\u8fc7\u5728\u7f16\u8bd1\u670d\u52a1\u5668\u65f6\u53ef\u4ee5\u9009\u62e9\u4e0d\u540c\u7684\u9875\u9762\u5927\u5c0f\uff09\u3002\u5728\u8868\u4e2d\uff0c\u6240\u6709\u9875\u9762\u5728\u903b\u8f91\u4e0a\u90fd\u662f\u7b49\u4ef7\u7684\uff0c\u56e0\u6b64\u67d0\u4e2a\u7279\u5b9a\u9879\uff08\u884c\uff09\u53ef\u4ee5\u5b58\u653e\u5728\u4efb\u610f\u9875\u9762\u4e2d\u3002\u5728\u7d22\u5f15\u4e2d\uff0c\u7b2c\u4e00\u9875\u901a\u5e38\u4fdd\u7559\u4e3a<em class=\"firstterm\">\u5143\u9875</em>\uff0c\u7528\u4e8e\u4fdd\u5b58\u63a7\u5236\u4fe1\u606f\uff1b\u5e76\u4e14\u6839\u636e\u7d22\u5f15\u8bbf\u95ee\u65b9\u6cd5\u7684\u4e0d\u540c\uff0c\u7d22\u5f15\u4e2d\u8fd8\u53ef\u80fd\u5b58\u5728\u4e0d\u540c\u7c7b\u578b\u7684\u9875\u9762\u3002\n</p><p>\n<a class=\"xref\" href=\"/zh/docs/16/storage-page-layout.html#PAGE-TABLE\">\u8868\u00a073.2</a> \u5c55\u793a\u4e86\u9875\u9762\u7684\u603b\u4f53\u5e03\u5c40\u3002\u6bcf\u4e2a\u9875\u9762\u5305\u542b\u4e94\u4e2a\u90e8\u5206\u3002\n</p><p><a href=\"/zh/docs/16/storage-page-layout.html\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "summary": "\u672c\u8282\u6982\u8ff0 PostgreSQL \u8868\u548c\u7d22\u5f15\u5185\u90e8\u6240\u4f7f\u7528\u7684\u9875\u9762\u683c\u5f0f\u3002 [17] \u5e8f\u5217\u548c TOAST \u8868\u7684\u683c\u5f0f\u4e0e\u666e\u901a\u8868\u76f8\u540c\u3002 \u5728\u4e0b\u9762\u7684\u8bf4\u660e\u4e2d\uff0c\u5047\u5b9a\u4e00\u4e2a \u5b57\u8282 \u5305\u542b 8 \u4e2a\u4f4d\u3002\u53e6\u5916\uff0c\u672f\u8bed \u9879 \u6307\u7684\u662f\u5b58\u50a8\u5728\u9875\u9762\u4e0a\u7684\u5355\u4e2a\u6570\u636e\u503c\u3002\u5728\u8868\u4e2d\uff0c\u9879\u662f\u4e00\u884c\uff1b\u5728\u7d22\u5f15\u4e2d\uff0c\u9879\u662f\u4e00\u6761\u7d22\u5f15\u6761\u76ee\u3002 \u6bcf\u4e2a\u8868\u548c\u7d22\u5f15\u90fd\u5b58\u50a8\u4e3a\u56fa\u5b9a\u5927\u5c0f\u7684 \u9875\u9762 \u6570\u7ec4\uff08\u901a\u5e38\u4e3a 8 kB\uff0c\u4e0d\u8fc7\u5728\u7f16\u8bd1\u670d\u52a1\u5668\u65f6\u53ef\u4ee5\u9009\u62e9\u4e0d\u540c\u7684\u9875\u9762\u5927\u5c0f\uff09\u3002\u5728\u8868\u4e2d\uff0c\u6240\u6709\u9875\u9762\u5728\u903b\u8f91\u4e0a\u90fd\u662f\u7b49\u4ef7\u7684\uff0c\u56e0\u6b64\u67d0\u4e2a\u7279\u5b9a\u9879\uff08\u884c\uff09\u53ef\u4ee5\u5b58\u653e\u5728\u4efb\u610f\u9875\u9762\u4e2d\u3002\u5728\u7d22\u5f15\u4e2d\uff0c\u7b2c\u4e00\u9875\u901a\u5e38\u4fdd\u7559\u4e3a \u5143\u9875 \uff0c\u7528\u4e8e\u4fdd\u5b58\u63a7\u5236\u4fe1\u606f\uff1b\u5e76\u4e14\u6839\u636e\u7d22\u5f15\u8bbf\u95ee\u65b9\u6cd5\u7684\u4e0d\u540c\uff0c\u7d22\u5f15\u4e2d\u8fd8\u53ef\u80fd\u5b58\u5728\u4e0d\u540c\u7c7b\u578b\u7684\u9875\u9762\u3002 \u8868 73.2 \u5c55\u793a\u4e86\u9875\u9762\u7684\u603b\u4f53\u5e03\u5c40\u3002\u6bcf\u4e2a\u9875\u9762\u5305\u542b\u4e94\u4e2a\u90e8\u5206\u3002", "version": "16", "link_map": {"/zh/docs/16/storage-page-layout.html": "/docs/16/storage-page-layout.html", "/zh/docs/16/storage-page-layout.html#PAGE-TABLE": "/docs/16/storage-page-layout.html#PAGE-TABLE", "/zh/docs/16/storage-page-layout.html#ftn.id-1.10.24.8.2.2": "/docs/16/storage-page-layout.html#ftn.id-1.10.24.8.2.2"}, "body_html": "<p>\u5b58\u50a8\u7ed3\u6784 storage-page-layout\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n\u672c\u8282\u6982\u8ff0 <span>PostgreSQL</span> \u8868\u548c\u7d22\u5f15\u5185\u90e8\u6240\u4f7f\u7528\u7684\u9875\u9762\u683c\u5f0f\u3002<a href=\"/zh/docs/16/storage-page-layout.html#ftn.id-1.10.24.8.2.2\" rel=\"nofollow\"><sup>[17]</sup></a>\n\u5e8f\u5217\u548c <acronym>TOAST</acronym> \u8868\u7684\u683c\u5f0f\u4e0e\u666e\u901a\u8868\u76f8\u540c\u3002\n</p><p>\n\u5728\u4e0b\u9762\u7684\u8bf4\u660e\u4e2d\uff0c\u5047\u5b9a\u4e00\u4e2a<em>\u5b57\u8282</em>\u5305\u542b 8 \u4e2a\u4f4d\u3002\u53e6\u5916\uff0c\u672f\u8bed<em>\u9879</em>\u6307\u7684\u662f\u5b58\u50a8\u5728\u9875\u9762\u4e0a\u7684\u5355\u4e2a\u6570\u636e\u503c\u3002\u5728\u8868\u4e2d\uff0c\u9879\u662f\u4e00\u884c\uff1b\u5728\u7d22\u5f15\u4e2d\uff0c\u9879\u662f\u4e00\u6761\u7d22\u5f15\u6761\u76ee\u3002\n</p><p>\n\u6bcf\u4e2a\u8868\u548c\u7d22\u5f15\u90fd\u5b58\u50a8\u4e3a\u56fa\u5b9a\u5927\u5c0f\u7684<em>\u9875\u9762</em>\u6570\u7ec4\uff08\u901a\u5e38\u4e3a 8 kB\uff0c\u4e0d\u8fc7\u5728\u7f16\u8bd1\u670d\u52a1\u5668\u65f6\u53ef\u4ee5\u9009\u62e9\u4e0d\u540c\u7684\u9875\u9762\u5927\u5c0f\uff09\u3002\u5728\u8868\u4e2d\uff0c\u6240\u6709\u9875\u9762\u5728\u903b\u8f91\u4e0a\u90fd\u662f\u7b49\u4ef7\u7684\uff0c\u56e0\u6b64\u67d0\u4e2a\u7279\u5b9a\u9879\uff08\u884c\uff09\u53ef\u4ee5\u5b58\u653e\u5728\u4efb\u610f\u9875\u9762\u4e2d\u3002\u5728\u7d22\u5f15\u4e2d\uff0c\u7b2c\u4e00\u9875\u901a\u5e38\u4fdd\u7559\u4e3a<em>\u5143\u9875</em>\uff0c\u7528\u4e8e\u4fdd\u5b58\u63a7\u5236\u4fe1\u606f\uff1b\u5e76\u4e14\u6839\u636e\u7d22\u5f15\u8bbf\u95ee\u65b9\u6cd5\u7684\u4e0d\u540c\uff0c\u7d22\u5f15\u4e2d\u8fd8\u53ef\u80fd\u5b58\u5728\u4e0d\u540c\u7c7b\u578b\u7684\u9875\u9762\u3002\n</p><p>\n<a href=\"/zh/docs/16/storage-page-layout.html#PAGE-TABLE\" rel=\"nofollow\">\u8868\u00a073.2</a> \u5c55\u793a\u4e86\u9875\u9762\u7684\u603b\u4f53\u5e03\u5c40\u3002\u6bcf\u4e2a\u9875\u9762\u5305\u542b\u4e94\u4e2a\u90e8\u5206\u3002\n</p><p><a href=\"/zh/docs/16/storage-page-layout.html\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>", "body_sha256": "133f41d158404b27ee94651349a041c01c37e60893301dba86e3ed1352db7db0", "content_hash": "6dc593175efb9db5274dd96a3ddda1003c8fd0fe139168c097b07aa70a31a38e", "source_database": "center", "source_revision": "c1575341fa7bd40f5274ea465b34390f4dc64cdd0770af327005caaeb9f6b7ed"}, "signature": "", "tables_zh": [{"key": "layout-0", "rows": [{"c0": "PageHeaderData", "c1": "\u957f 24 \u5b57\u8282\uff0c\u5305\u542b\u9875\u9762\u7684\u901a\u7528\u4fe1\u606f\uff0c\u4f8b\u5982\u7a7a\u95f2\u7a7a\u95f4\u6307\u9488\u3002"}, {"c0": "ItemIdData", "c1": "\u6307\u5411\u5b9e\u9645\u6570\u636e\u9879\u7684\u884c\u6307\u9488\u6570\u7ec4\u3002\u6bcf\u9879\u4e3a\u4e00\u4e2a\uff08\u504f\u79fb\uff0c\u957f\u5ea6\uff09\u5bf9\uff0c\u5360 4 \u5b57\u8282\u3002"}, {"c0": "\u7a7a\u95f2\u7a7a\u95f4", "c1": "\u5c1a\u672a\u5206\u914d\u7684\u7a7a\u95f4\u3002\u65b0\u884c\u6307\u9488\u4ece\u8be5\u533a\u57df\u7684\u8d77\u59cb\u5904\u5206\u914d\uff0c\u65b0\u6570\u636e\u9879\u4ece\u672b\u5c3e\u5904\u5206\u914d\u3002"}, {"c0": "\u9879", "c1": "\u5b9e\u9645\u7684\u6570\u636e\u9879\u672c\u8eab\u3002"}, {"c0": "\u7279\u6b8a\u7a7a\u95f4", "c1": "\u7d22\u5f15\u8bbf\u95ee\u65b9\u6cd5\u4e13\u7528\u6570\u636e\u3002\u4e0d\u540c\u65b9\u6cd5\u5b58\u50a8\u7684\u5185\u5bb9\u4e0d\u540c\uff0c\u666e\u901a\u8868\u4e2d\u6b64\u533a\u57df\u4e3a\u7a7a\u3002"}], "title": "\u9875\u9762\u603b\u4f53\u5e03\u5c40", "columns": [{"key": "c0", "label": "\u9879\u76ee"}, {"key": "c1", "label": "\u8bf4\u660e"}]}, {"key": "layout-1", "rows": [{"c0": "pd_lsn", "c1": "PageXLogRecPtr", "c2": "8 \u5b57\u8282", "c3": "LSN\uff1a\u8be5\u9875\u6700\u540e\u4e00\u6b21\u53d8\u5316\u6240\u5bf9\u5e94 WAL \u8bb0\u5f55\u7684\u6700\u540e\u4e00\u4e2a\u5b57\u8282\u4e4b\u540e\u7684\u4f4d\u7f6e\u3002"}, {"c0": "pd_checksum", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u9875\u9762\u6821\u9a8c\u548c"}, {"c0": "pd_flags", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u6807\u5fd7\u4f4d"}, {"c0": "pd_lower", "c1": "LocationIndex", "c2": "2 \u5b57\u8282", "c3": "\u7a7a\u95f2\u7a7a\u95f4\u8d77\u59cb\u4f4d\u7f6e\u7684\u504f\u79fb\u91cf"}, {"c0": "pd_upper", "c1": "LocationIndex", "c2": "2 \u5b57\u8282", "c3": "\u7a7a\u95f2\u7a7a\u95f4\u7ed3\u675f\u4f4d\u7f6e\u7684\u504f\u79fb\u91cf"}, {"c0": "pd_special", "c1": "LocationIndex", "c2": "2 \u5b57\u8282", "c3": "\u7279\u6b8a\u7a7a\u95f4\u8d77\u59cb\u4f4d\u7f6e\u7684\u504f\u79fb\u91cf"}, {"c0": "pd_pagesize_version", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u9875\u9762\u5927\u5c0f\u4e0e\u5e03\u5c40\u7248\u672c\u53f7\u4fe1\u606f"}, {"c0": "pd_prune_xid", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "\u9875\u9762\u4e0a\u6700\u65e9\u7684\u5c1a\u672a\u4fee\u526a\u7684 XMAX\uff1b\u6ca1\u6709\u5219\u4e3a\u96f6"}], "title": "PageHeaderData \u5e03\u5c40", "columns": [{"key": "c0", "label": "\u5b57\u6bb5"}, {"key": "c1", "label": "\u7c7b\u578b"}, {"key": "c2", "label": "\u957f\u5ea6"}, {"key": "c3", "label": "\u8bf4\u660e"}]}, {"key": "layout-2", "rows": [{"c0": "t_xmin", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "\u63d2\u5165\u4e8b\u52a1\u7684 XID"}, {"c0": "t_xmax", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "\u5220\u9664\u4e8b\u52a1\u7684 XID"}, {"c0": "t_cid", "c1": "CommandId", "c2": "4 \u5b57\u8282", "c3": "\u63d2\u5165\u548c\uff0f\u6216\u5220\u9664\u547d\u4ee4\u7684 CID\uff0c\u4e0e t_xvac \u5171\u7528\u5b58\u50a8\u4f4d\u7f6e"}, {"c0": "t_xvac", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "VACUUM \u64cd\u4f5c\u79fb\u52a8\u884c\u7248\u672c\u65f6\u4f7f\u7528\u7684 XID"}, {"c0": "t_ctid", "c1": "ItemPointerData", "c2": "6 \u5b57\u8282", "c3": "\u672c\u884c\u7248\u672c\u6216\u8f83\u65b0\u884c\u7248\u672c\u7684\u5f53\u524d TID"}, {"c0": "t_infomask2", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u5c5e\u6027\u6570\u91cf\u53ca\u5404\u79cd\u6807\u5fd7\u4f4d"}, {"c0": "t_infomask", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u5404\u79cd\u6807\u5fd7\u4f4d"}, {"c0": "t_hoff", "c1": "uint8", "c2": "1 \u5b57\u8282", "c3": "\u7528\u6237\u6570\u636e\u7684\u504f\u79fb\u91cf"}], "title": "HeapTupleHeaderData \u5e03\u5c40", "columns": [{"key": "c0", "label": "\u5b57\u6bb5"}, {"key": "c1", "label": "\u7c7b\u578b"}, {"key": "c2", "label": "\u957f\u5ea6"}, {"key": "c3", "label": "\u8bf4\u660e"}]}], "description": ["\u672c\u8282\u6982\u8ff0 PostgreSQL \u8868\u548c\u7d22\u5f15\u5185\u90e8\u6240\u4f7f\u7528\u7684\u9875\u9762\u683c\u5f0f\u3002 [17] \u5e8f\u5217\u548c TOAST \u8868\u7684\u683c\u5f0f\u4e0e\u666e\u901a\u8868\u76f8\u540c\u3002 \u5728\u4e0b\u9762\u7684\u8bf4\u660e\u4e2d\uff0c\u5047\u5b9a\u4e00\u4e2a \u5b57\u8282 \u5305\u542b 8 \u4e2a\u4f4d\u3002\u53e6\u5916\uff0c\u672f\u8bed \u9879 \u6307\u7684\u662f\u5b58\u50a8\u5728\u9875\u9762\u4e0a\u7684\u5355\u4e2a\u6570\u636e\u503c\u3002\u5728\u8868\u4e2d\uff0c\u9879\u662f\u4e00\u884c\uff1b\u5728\u7d22\u5f15\u4e2d\uff0c\u9879\u662f\u4e00\u6761\u7d22\u5f15\u6761\u76ee\u3002 \u6bcf\u4e2a\u8868\u548c\u7d22\u5f15\u90fd\u5b58\u50a8\u4e3a\u56fa\u5b9a\u5927\u5c0f\u7684 \u9875\u9762 \u6570\u7ec4\uff08\u901a\u5e38\u4e3a 8 kB\uff0c\u4e0d\u8fc7\u5728\u7f16\u8bd1\u670d\u52a1\u5668\u65f6\u53ef\u4ee5\u9009\u62e9\u4e0d\u540c\u7684\u9875\u9762\u5927\u5c0f\uff09\u3002\u5728\u8868\u4e2d\uff0c\u6240\u6709\u9875\u9762\u5728\u903b\u8f91\u4e0a\u90fd\u662f\u7b49\u4ef7\u7684\uff0c\u56e0\u6b64\u67d0\u4e2a\u7279\u5b9a\u9879\uff08\u884c\uff09\u53ef\u4ee5\u5b58\u653e\u5728\u4efb\u610f\u9875\u9762\u4e2d\u3002\u5728\u7d22\u5f15\u4e2d\uff0c\u7b2c\u4e00\u9875\u901a\u5e38\u4fdd\u7559\u4e3a \u5143\u9875 \uff0c\u7528\u4e8e\u4fdd\u5b58\u63a7\u5236\u4fe1\u606f\uff1b\u5e76\u4e14\u6839\u636e\u7d22\u5f15\u8bbf\u95ee\u65b9\u6cd5\u7684\u4e0d\u540c\uff0c\u7d22\u5f15\u4e2d\u8fd8\u53ef\u80fd\u5b58\u5728\u4e0d\u540c\u7c7b\u578b\u7684\u9875\u9762\u3002 \u8868 73.2 \u5c55\u793a\u4e86\u9875\u9762\u7684\u603b\u4f53\u5e03\u5c40\u3002\u6bcf\u4e2a\u9875\u9762\u5305\u542b\u4e94\u4e2a\u90e8\u5206\u3002"], "manual_html": "", "manual_path": "/docs/16/storage-page-layout.html", "sections_zh": [], "localization": {"status": "complete", "sources": [{"url": "/docs/16/storage-page-layout.html", "method": "same-major semantic node", "sha256": "bf698675faf9fb84f4a709e4067ed25bc2ecbc55b98c2ea893349308b5af9d43", "language": "zh", "matched_nodes": ["#STORAGE-PAGE-LAYOUT/div[0]", "#STORAGE-PAGE-LAYOUT/div[16]", "#STORAGE-PAGE-LAYOUT/div[18]/div[2]/p[0]", "#STORAGE-PAGE-LAYOUT/div[18]/p[1]", "#STORAGE-PAGE-LAYOUT/div[18]/p[4]", "#STORAGE-PAGE-LAYOUT/div[18]/p[5]", "#STORAGE-PAGE-LAYOUT/div[18]/p[6]", "#STORAGE-PAGE-LAYOUT/div[19]", "#STORAGE-PAGE-LAYOUT/div[1]", "#STORAGE-PAGE-LAYOUT/div[6]/div[1]/table[0]/tbody[2]/tr[3]/td[0]", "#STORAGE-PAGE-LAYOUT/div[6]/p[0]", "#STORAGE-PAGE-LAYOUT/div[9]/div[1]/table[0]/tbody[2]/tr[0]/td[2]", "#STORAGE-PAGE-LAYOUT/div[9]/p[0]", "#STORAGE-PAGE-LAYOUT/p[11]", "#STORAGE-PAGE-LAYOUT/p[12]", "#STORAGE-PAGE-LAYOUT/p[13]", "#STORAGE-PAGE-LAYOUT/p[14]", "#STORAGE-PAGE-LAYOUT/p[15]", "#STORAGE-PAGE-LAYOUT/p[2]", "#STORAGE-PAGE-LAYOUT/p[3]", "#STORAGE-PAGE-LAYOUT/p[4]", "#STORAGE-PAGE-LAYOUT/p[5]"]}], "language": "zh", "original_text": {"/versions/16/description/0": "This section provides an overview of the page format used within PostgreSQL tables and indexes. [17] Sequences and TOAST tables are formatted just like a regular table.", "/versions/16/facts/0/label": "Definition scope", "/versions/16/facts/0/value": "Same-version core physical storage documentation", "/versions/16/tables/0/title": "Overall Page Layout", "/versions/16/tables/1/title": "PageHeaderData Layout", "/versions/16/tables/2/title": "HeapTupleHeaderData Layout", "/versions/16/related/1/label": "Storage Parameters", "/versions/16/tables/0/rows/0/c1": "24 bytes long. Contains general information about the page, including free space pointers.", "/versions/16/tables/0/rows/1/c1": "Array of item identifiers pointing to the actual items. Each entry is an (offset,length) pair. 4 bytes per item.", "/versions/16/tables/0/rows/2/c0": "Free space", "/versions/16/tables/0/rows/2/c1": "The unallocated space. New item identifiers are allocated from the start of this area, new items from the end.", "/versions/16/tables/0/rows/3/c0": "Items", "/versions/16/tables/0/rows/3/c1": "The actual items themselves.", "/versions/16/tables/0/rows/4/c0": "Special space", "/versions/16/tables/0/rows/4/c1": "Index access method specific data. Different methods store different data. Empty in ordinary tables.", "/versions/16/tables/1/rows/0/c2": "8 bytes", "/versions/16/tables/1/rows/0/c3": "LSN: next byte after last byte of WAL record for last change to this page", "/versions/16/tables/1/rows/1/c2": "2 bytes", "/versions/16/tables/1/rows/1/c3": "Page checksum", "/versions/16/tables/1/rows/2/c2": "2 bytes", "/versions/16/tables/1/rows/2/c3": "Flag bits", "/versions/16/tables/1/rows/3/c2": "2 bytes", "/versions/16/tables/1/rows/3/c3": "Offset to start of free space", "/versions/16/tables/1/rows/4/c2": "2 bytes", "/versions/16/tables/1/rows/4/c3": "Offset to end of free space", "/versions/16/tables/1/rows/5/c2": "2 bytes", "/versions/16/tables/1/rows/5/c3": "Offset to start of special space", "/versions/16/tables/1/rows/6/c2": "2 bytes", "/versions/16/tables/1/rows/6/c3": "Page size and layout version number information", "/versions/16/tables/1/rows/7/c2": "4 bytes", "/versions/16/tables/1/rows/7/c3": "Oldest unpruned XMAX on page, or zero if none", "/versions/16/tables/2/rows/0/c2": "4 bytes", "/versions/16/tables/2/rows/0/c3": "insert XID stamp", "/versions/16/tables/2/rows/1/c2": "4 bytes", "/versions/16/tables/2/rows/1/c3": "delete XID stamp", "/versions/16/tables/2/rows/2/c2": "4 bytes", "/versions/16/tables/2/rows/2/c3": "insert and/or delete CID stamp (overlays with t_xvac)", "/versions/16/tables/2/rows/3/c2": "4 bytes", "/versions/16/tables/2/rows/3/c3": "XID for VACUUM operation moving a row version", "/versions/16/tables/2/rows/4/c2": "6 bytes", "/versions/16/tables/2/rows/4/c3": "current TID of this or newer row version", "/versions/16/tables/2/rows/5/c2": "2 bytes", "/versions/16/tables/2/rows/5/c3": "number of attributes, plus various flag bits", "/versions/16/tables/2/rows/6/c2": "2 bytes", "/versions/16/tables/2/rows/6/c3": "various flag bits", "/versions/16/tables/2/rows/7/c2": "1 byte", "/versions/16/tables/2/rows/7/c3": "offset to user data", "/versions/16/tables/0/columns/0/label": "Item", "/versions/16/tables/0/columns/1/label": "Description", "/versions/16/tables/1/columns/0/label": "Field", "/versions/16/tables/1/columns/1/label": "Type", "/versions/16/tables/1/columns/2/label": "Length", "/versions/16/tables/1/columns/3/label": "Description", "/versions/16/tables/2/columns/0/label": "Field", "/versions/16/tables/2/columns/1/label": "Type", "/versions/16/tables/2/columns/2/label": "Length", "/versions/16/tables/2/columns/3/label": "Description"}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "e1df8334a9883479b66243f0a9b720d8ebf5954fbe6e1f08d2980ced037e0c6e", "canonical_center_text_hash": "6dc593175efb9db5274dd96a3ddda1003c8fd0fe139168c097b07aa70a31a38e"}, "description_zh": "\u672c\u8282\u6982\u8ff0 PostgreSQL \u8868\u548c\u7d22\u5f15\u5185\u90e8\u6240\u4f7f\u7528\u7684\u9875\u9762\u683c\u5f0f\u3002 [17] \u5e8f\u5217\u548c TOAST \u8868\u7684\u683c\u5f0f\u4e0e\u666e\u901a\u8868\u76f8\u540c\u3002 \u5728\u4e0b\u9762\u7684\u8bf4\u660e\u4e2d\uff0c\u5047\u5b9a\u4e00\u4e2a \u5b57\u8282 \u5305\u542b 8 \u4e2a\u4f4d\u3002\u53e6\u5916\uff0c\u672f\u8bed \u9879 \u6307\u7684\u662f\u5b58\u50a8\u5728\u9875\u9762\u4e0a\u7684\u5355\u4e2a\u6570\u636e\u503c\u3002\u5728\u8868\u4e2d\uff0c\u9879\u662f\u4e00\u884c\uff1b\u5728\u7d22\u5f15\u4e2d\uff0c\u9879\u662f\u4e00\u6761\u7d22\u5f15\u6761\u76ee\u3002 \u6bcf\u4e2a\u8868\u548c\u7d22\u5f15\u90fd\u5b58\u50a8\u4e3a\u56fa\u5b9a\u5927\u5c0f\u7684 \u9875\u9762 \u6570\u7ec4\uff08\u901a\u5e38\u4e3a 8 kB\uff0c\u4e0d\u8fc7\u5728\u7f16\u8bd1\u670d\u52a1\u5668\u65f6\u53ef\u4ee5\u9009\u62e9\u4e0d\u540c\u7684\u9875\u9762\u5927\u5c0f\uff09\u3002\u5728\u8868\u4e2d\uff0c\u6240\u6709\u9875\u9762\u5728\u903b\u8f91\u4e0a\u90fd\u662f\u7b49\u4ef7\u7684\uff0c\u56e0\u6b64\u67d0\u4e2a\u7279\u5b9a\u9879\uff08\u884c\uff09\u53ef\u4ee5\u5b58\u653e\u5728\u4efb\u610f\u9875\u9762\u4e2d\u3002\u5728\u7d22\u5f15\u4e2d\uff0c\u7b2c\u4e00\u9875\u901a\u5e38\u4fdd\u7559\u4e3a \u5143\u9875 \uff0c\u7528\u4e8e\u4fdd\u5b58\u63a7\u5236\u4fe1\u606f\uff1b\u5e76\u4e14\u6839\u636e\u7d22\u5f15\u8bbf\u95ee\u65b9\u6cd5\u7684\u4e0d\u540c\uff0c\u7d22\u5f15\u4e2d\u8fd8\u53ef\u80fd\u5b58\u5728\u4e0d\u540c\u7c7b\u578b\u7684\u9875\u9762\u3002 \u8868 73.2 \u5c55\u793a\u4e86\u9875\u9762\u7684\u603b\u4f53\u5e03\u5c40\u3002\u6bcf\u4e2a\u9875\u9762\u5305\u542b\u4e94\u4e2a\u90e8\u5206\u3002", "comparison_data": {"layouts": [{"key": "layout-0", "rows": [{"c0": "PageHeaderData", "c1": "24 bytes long. Contains general information about the page, including free space pointers."}, {"c0": "ItemIdData", "c1": "Array of item identifiers pointing to the actual items. Each entry is an (offset,length) pair. 4 bytes per item."}, {"c0": "Free space", "c1": "The unallocated space. New item identifiers are allocated from the start of this area, new items from the end."}, {"c0": "Items", "c1": "The actual items themselves."}, {"c0": "Special space", "c1": "Index access method specific data. Different methods store different data. Empty in ordinary tables."}], "title": "Overall Page Layout", "columns": [{"key": "c0", "label": "Item"}, {"key": "c1", "label": "Description"}]}, {"key": "layout-1", "rows": [{"c0": "pd_lsn", "c1": "PageXLogRecPtr", "c2": "8 bytes", "c3": "LSN: next byte after last byte of WAL record for last change to this page"}, {"c0": "pd_checksum", "c1": "uint16", "c2": "2 bytes", "c3": "Page checksum"}, {"c0": "pd_flags", "c1": "uint16", "c2": "2 bytes", "c3": "Flag bits"}, {"c0": "pd_lower", "c1": "LocationIndex", "c2": "2 bytes", "c3": "Offset to start of free space"}, {"c0": "pd_upper", "c1": "LocationIndex", "c2": "2 bytes", "c3": "Offset to end of free space"}, {"c0": "pd_special", "c1": "LocationIndex", "c2": "2 bytes", "c3": "Offset to start of special space"}, {"c0": "pd_pagesize_version", "c1": "uint16", "c2": "2 bytes", "c3": "Page size and layout version number information"}, {"c0": "pd_prune_xid", "c1": "TransactionId", "c2": "4 bytes", "c3": "Oldest unpruned XMAX on page, or zero if none"}], "title": "PageHeaderData Layout", "columns": [{"key": "c0", "label": "Field"}, {"key": "c1", "label": "Type"}, {"key": "c2", "label": "Length"}, {"key": "c3", "label": "Description"}]}, {"key": "layout-2", "rows": [{"c0": "t_xmin", "c1": "TransactionId", "c2": "4 bytes", "c3": "insert XID stamp"}, {"c0": "t_xmax", "c1": "TransactionId", "c2": "4 bytes", "c3": "delete XID stamp"}, {"c0": "t_cid", "c1": "CommandId", "c2": "4 bytes", "c3": "insert and/or delete CID stamp (overlays with t_xvac)"}, {"c0": "t_xvac", "c1": "TransactionId", "c2": "4 bytes", "c3": "XID for VACUUM operation moving a row version"}, {"c0": "t_ctid", "c1": "ItemPointerData", "c2": "6 bytes", "c3": "current TID of this or newer row version"}, {"c0": "t_infomask2", "c1": "uint16", "c2": "2 bytes", "c3": "number of attributes, plus various flag bits"}, {"c0": "t_infomask", "c1": "uint16", "c2": "2 bytes", "c3": "various flag bits"}, {"c0": "t_hoff", "c1": "uint8", "c2": "1 byte", "c3": "offset to user data"}], "title": "HeapTupleHeaderData Layout", "columns": [{"key": "c0", "label": "Field"}, {"key": "c1", "label": "Type"}, {"key": "c2", "label": "Length"}, {"key": "c3", "label": "Description"}]}]}, "comparison_hash": "b621fa85b3be27a0eb0d82986e9524f2ef0a776761901f0d429826eec4822d0a", "manual_language": "zh", "description_zh_html": "<p>\u5b58\u50a8\u7ed3\u6784 storage-page-layout\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n\u672c\u8282\u6982\u8ff0 <span>PostgreSQL</span> \u8868\u548c\u7d22\u5f15\u5185\u90e8\u6240\u4f7f\u7528\u7684\u9875\u9762\u683c\u5f0f\u3002<a href=\"/zh/docs/16/storage-page-layout.html#ftn.id-1.10.24.8.2.2\" rel=\"nofollow\"><sup>[17]</sup></a>\n\u5e8f\u5217\u548c <acronym>TOAST</acronym> \u8868\u7684\u683c\u5f0f\u4e0e\u666e\u901a\u8868\u76f8\u540c\u3002\n</p><p>\n\u5728\u4e0b\u9762\u7684\u8bf4\u660e\u4e2d\uff0c\u5047\u5b9a\u4e00\u4e2a<em>\u5b57\u8282</em>\u5305\u542b 8 \u4e2a\u4f4d\u3002\u53e6\u5916\uff0c\u672f\u8bed<em>\u9879</em>\u6307\u7684\u662f\u5b58\u50a8\u5728\u9875\u9762\u4e0a\u7684\u5355\u4e2a\u6570\u636e\u503c\u3002\u5728\u8868\u4e2d\uff0c\u9879\u662f\u4e00\u884c\uff1b\u5728\u7d22\u5f15\u4e2d\uff0c\u9879\u662f\u4e00\u6761\u7d22\u5f15\u6761\u76ee\u3002\n</p><p>\n\u6bcf\u4e2a\u8868\u548c\u7d22\u5f15\u90fd\u5b58\u50a8\u4e3a\u56fa\u5b9a\u5927\u5c0f\u7684<em>\u9875\u9762</em>\u6570\u7ec4\uff08\u901a\u5e38\u4e3a 8 kB\uff0c\u4e0d\u8fc7\u5728\u7f16\u8bd1\u670d\u52a1\u5668\u65f6\u53ef\u4ee5\u9009\u62e9\u4e0d\u540c\u7684\u9875\u9762\u5927\u5c0f\uff09\u3002\u5728\u8868\u4e2d\uff0c\u6240\u6709\u9875\u9762\u5728\u903b\u8f91\u4e0a\u90fd\u662f\u7b49\u4ef7\u7684\uff0c\u56e0\u6b64\u67d0\u4e2a\u7279\u5b9a\u9879\uff08\u884c\uff09\u53ef\u4ee5\u5b58\u653e\u5728\u4efb\u610f\u9875\u9762\u4e2d\u3002\u5728\u7d22\u5f15\u4e2d\uff0c\u7b2c\u4e00\u9875\u901a\u5e38\u4fdd\u7559\u4e3a<em>\u5143\u9875</em>\uff0c\u7528\u4e8e\u4fdd\u5b58\u63a7\u5236\u4fe1\u606f\uff1b\u5e76\u4e14\u6839\u636e\u7d22\u5f15\u8bbf\u95ee\u65b9\u6cd5\u7684\u4e0d\u540c\uff0c\u7d22\u5f15\u4e2d\u8fd8\u53ef\u80fd\u5b58\u5728\u4e0d\u540c\u7c7b\u578b\u7684\u9875\u9762\u3002\n</p><p>\n<a href=\"/zh/docs/16/storage-page-layout.html#PAGE-TABLE\" rel=\"nofollow\">\u8868\u00a073.2</a> \u5c55\u793a\u4e86\u9875\u9762\u7684\u603b\u4f53\u5e03\u5c40\u3002\u6bcf\u4e2a\u9875\u9762\u5305\u542b\u4e94\u4e2a\u90e8\u5206\u3002\n</p><p><a href=\"/zh/docs/16/storage-page-layout.html\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "17": {"facts": [{"label": "\u5b9a\u4e49\u8303\u56f4", "value": "\u540c\u7248\u672c\u6838\u5fc3\u7269\u7406\u5b58\u50a8\u6587\u6863"}], "tables": [{"key": "layout-0", "rows": [{"c0": "PageHeaderData", "c1": "\u957f 24 \u5b57\u8282\uff0c\u5305\u542b\u9875\u9762\u7684\u901a\u7528\u4fe1\u606f\uff0c\u4f8b\u5982\u7a7a\u95f2\u7a7a\u95f4\u6307\u9488\u3002"}, {"c0": "ItemIdData", "c1": "\u6307\u5411\u5b9e\u9645\u6570\u636e\u9879\u7684\u884c\u6307\u9488\u6570\u7ec4\u3002\u6bcf\u9879\u4e3a\u4e00\u4e2a\uff08\u504f\u79fb\uff0c\u957f\u5ea6\uff09\u5bf9\uff0c\u5360 4 \u5b57\u8282\u3002"}, {"c0": "\u7a7a\u95f2\u7a7a\u95f4", "c1": "\u5c1a\u672a\u5206\u914d\u7684\u7a7a\u95f4\u3002\u65b0\u884c\u6307\u9488\u4ece\u8be5\u533a\u57df\u7684\u8d77\u59cb\u5904\u5206\u914d\uff0c\u65b0\u6570\u636e\u9879\u4ece\u672b\u5c3e\u5904\u5206\u914d\u3002"}, {"c0": "\u9879", "c1": "\u5b9e\u9645\u7684\u6570\u636e\u9879\u672c\u8eab\u3002"}, {"c0": "\u7279\u6b8a\u7a7a\u95f4", "c1": "\u7d22\u5f15\u8bbf\u95ee\u65b9\u6cd5\u4e13\u7528\u6570\u636e\u3002\u4e0d\u540c\u65b9\u6cd5\u5b58\u50a8\u7684\u5185\u5bb9\u4e0d\u540c\uff0c\u666e\u901a\u8868\u4e2d\u6b64\u533a\u57df\u4e3a\u7a7a\u3002"}], "title": "\u9875\u9762\u603b\u4f53\u5e03\u5c40", "columns": [{"key": "c0", "label": "\u9879\u76ee"}, {"key": "c1", "label": "\u8bf4\u660e"}]}, {"key": "layout-1", "rows": [{"c0": "pd_lsn", "c1": "PageXLogRecPtr", "c2": "8 \u5b57\u8282", "c3": "LSN\uff1a\u8be5\u9875\u6700\u540e\u4e00\u6b21\u53d8\u5316\u6240\u5bf9\u5e94 WAL \u8bb0\u5f55\u7684\u6700\u540e\u4e00\u4e2a\u5b57\u8282\u4e4b\u540e\u7684\u4f4d\u7f6e\u3002"}, {"c0": "pd_checksum", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u9875\u9762\u6821\u9a8c\u548c"}, {"c0": "pd_flags", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u6807\u5fd7\u4f4d"}, {"c0": "pd_lower", "c1": "LocationIndex", "c2": "2 \u5b57\u8282", "c3": "\u7a7a\u95f2\u7a7a\u95f4\u8d77\u59cb\u4f4d\u7f6e\u7684\u504f\u79fb\u91cf"}, {"c0": "pd_upper", "c1": "LocationIndex", "c2": "2 \u5b57\u8282", "c3": "\u7a7a\u95f2\u7a7a\u95f4\u7ed3\u675f\u4f4d\u7f6e\u7684\u504f\u79fb\u91cf"}, {"c0": "pd_special", "c1": "LocationIndex", "c2": "2 \u5b57\u8282", "c3": "\u7279\u6b8a\u7a7a\u95f4\u8d77\u59cb\u4f4d\u7f6e\u7684\u504f\u79fb\u91cf"}, {"c0": "pd_pagesize_version", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u9875\u9762\u5927\u5c0f\u4e0e\u5e03\u5c40\u7248\u672c\u53f7\u4fe1\u606f"}, {"c0": "pd_prune_xid", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "\u9875\u9762\u4e0a\u6700\u65e9\u7684\u5c1a\u672a\u4fee\u526a\u7684 XMAX\uff1b\u6ca1\u6709\u5219\u4e3a\u96f6"}], "title": "PageHeaderData \u5e03\u5c40", "columns": [{"key": "c0", "label": "\u5b57\u6bb5"}, {"key": "c1", "label": "\u7c7b\u578b"}, {"key": "c2", "label": "\u957f\u5ea6"}, {"key": "c3", "label": "\u8bf4\u660e"}]}, {"key": "layout-2", "rows": [{"c0": "t_xmin", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "\u63d2\u5165\u4e8b\u52a1\u7684 XID"}, {"c0": "t_xmax", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "\u5220\u9664\u4e8b\u52a1\u7684 XID"}, {"c0": "t_cid", "c1": "CommandId", "c2": "4 \u5b57\u8282", "c3": "\u63d2\u5165\u548c\uff0f\u6216\u5220\u9664\u547d\u4ee4\u7684 CID\uff0c\u4e0e t_xvac \u5171\u7528\u5b58\u50a8\u4f4d\u7f6e"}, {"c0": "t_xvac", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "VACUUM \u64cd\u4f5c\u79fb\u52a8\u884c\u7248\u672c\u65f6\u4f7f\u7528\u7684 XID"}, {"c0": "t_ctid", "c1": "ItemPointerData", "c2": "6 \u5b57\u8282", "c3": "\u672c\u884c\u7248\u672c\u6216\u8f83\u65b0\u884c\u7248\u672c\u7684\u5f53\u524d TID"}, {"c0": "t_infomask2", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u5c5e\u6027\u6570\u91cf\u53ca\u5404\u79cd\u6807\u5fd7\u4f4d"}, {"c0": "t_infomask", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u5404\u79cd\u6807\u5fd7\u4f4d"}, {"c0": "t_hoff", "c1": "uint8", "c2": "1 \u5b57\u8282", "c3": "\u7528\u6237\u6570\u636e\u7684\u504f\u79fb\u91cf"}], "title": "HeapTupleHeaderData \u5e03\u5c40", "columns": [{"key": "c0", "label": "\u5b57\u6bb5"}, {"key": "c1", "label": "\u7c7b\u578b"}, {"key": "c2", "label": "\u957f\u5ea6"}, {"key": "c3", "label": "\u8bf4\u660e"}]}], "diagram": "page-layout", "related": [{"url": "/wiki/tableam/?v=17", "label": "Table AM"}, {"url": "/wiki/relopts/?v=17", "label": "\u5b58\u50a8\u53c2\u6570"}], "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-page-layout.html", "path": "storage-page-layout.html", "label": "PostgreSQL 17 English manual", "sha256": "4ce2b67f1bce18b942c991f7f9ea2c9e048b128ca179967c5e5ae26336262876"}], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-identity", "manual": {"url": "/zh/docs/17/storage-page-layout.html", "anchor": "", "locale": "zh-Hans", "version": "17", "build_id": 105, "page_key": "storage-page-layout.html", "extraction": "concept-introduction", "source_hash": "a0e28f2f86bbde1652251bbbe0976ee538ffcb4666a91aadbd63007a22455477", "fragment_sha256": "8c32d7af0e6072282c7a93de00f3f201c987fe35c82a0e13eeea68365e4649b2", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "git:b1b500221dbe5437cfca004d6b04d3f6e422765d;html-sha256:7340767258d21c21b36f373f1fff6bab2be18e0daca13a865129db6105c09efd", "translated_from_revision": null}, "body_sha256": "a6becf93a268b1d4b764818f5cd61342df22c2e9c36b55308add83c80e828de4", "runtime_rerun": false, "authored_translation": "source-derived-identity", "source_facts_revision": "dd27f2b3c59e73ed14aa3324901242bf69a032a6347805f274e6260322d42979"}, "facts_zh": [{"label": "\u5b9a\u4e49\u8303\u56f4", "value": "\u540c\u7248\u672c\u6838\u5fc3\u7269\u7406\u5b58\u50a8\u6587\u6863"}], "sections": [], "center_zh": {"title": "Database Page Layout", "locale": "zh-Hans", "source": {"key": "storage-page-layout", "locale": "zh-Hans", "version": "17", "text_hash": "cbbe536a02fd0ff61f59b4b3cfb91e0cd4da82e08c1ca5cf51edecf72fae09ae", "collection": "storage", "dataset_hash": "7c31b524dfe136022d39a6ae8dcfac6b3bbd5f8fdaf422536599981252aff0c9", "source_database": "center", "source_revision": "dd27f2b3c59e73ed14aa3324901242bf69a032a6347805f274e6260322d42979"}, "payload": {"facts": [{"label": "\u5b9a\u4e49\u8303\u56f4", "value": "\u540c\u7248\u672c\u6838\u5fc3\u7269\u7406\u5b58\u50a8\u6587\u6863"}], "tables": [{"key": "layout-0", "rows": [{"c0": "PageHeaderData", "c1": "\u957f 24 \u5b57\u8282\uff0c\u5305\u542b\u9875\u9762\u7684\u901a\u7528\u4fe1\u606f\uff0c\u4f8b\u5982\u7a7a\u95f2\u7a7a\u95f4\u6307\u9488\u3002"}, {"c0": "ItemIdData", "c1": "\u6307\u5411\u5b9e\u9645\u6570\u636e\u9879\u7684\u884c\u6307\u9488\u6570\u7ec4\u3002\u6bcf\u9879\u4e3a\u4e00\u4e2a\uff08\u504f\u79fb\uff0c\u957f\u5ea6\uff09\u5bf9\uff0c\u5360 4 \u5b57\u8282\u3002"}, {"c0": "\u7a7a\u95f2\u7a7a\u95f4", "c1": "\u5c1a\u672a\u5206\u914d\u7684\u7a7a\u95f4\u3002\u65b0\u884c\u6307\u9488\u4ece\u8be5\u533a\u57df\u7684\u8d77\u59cb\u5904\u5206\u914d\uff0c\u65b0\u6570\u636e\u9879\u4ece\u672b\u5c3e\u5904\u5206\u914d\u3002"}, {"c0": "\u9879", "c1": "\u5b9e\u9645\u7684\u6570\u636e\u9879\u672c\u8eab\u3002"}, {"c0": "\u7279\u6b8a\u7a7a\u95f4", "c1": "\u7d22\u5f15\u8bbf\u95ee\u65b9\u6cd5\u4e13\u7528\u6570\u636e\u3002\u4e0d\u540c\u65b9\u6cd5\u5b58\u50a8\u7684\u5185\u5bb9\u4e0d\u540c\uff0c\u666e\u901a\u8868\u4e2d\u6b64\u533a\u57df\u4e3a\u7a7a\u3002"}], "title": "\u9875\u9762\u603b\u4f53\u5e03\u5c40", "columns": [{"key": "c0", "label": "\u9879\u76ee"}, {"key": "c1", "label": "\u8bf4\u660e"}]}, {"key": "layout-1", "rows": [{"c0": "pd_lsn", "c1": "PageXLogRecPtr", "c2": "8 \u5b57\u8282", "c3": "LSN\uff1a\u8be5\u9875\u6700\u540e\u4e00\u6b21\u53d8\u5316\u6240\u5bf9\u5e94 WAL \u8bb0\u5f55\u7684\u6700\u540e\u4e00\u4e2a\u5b57\u8282\u4e4b\u540e\u7684\u4f4d\u7f6e\u3002"}, {"c0": "pd_checksum", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u9875\u9762\u6821\u9a8c\u548c"}, {"c0": "pd_flags", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u6807\u5fd7\u4f4d"}, {"c0": "pd_lower", "c1": "LocationIndex", "c2": "2 \u5b57\u8282", "c3": "\u7a7a\u95f2\u7a7a\u95f4\u8d77\u59cb\u4f4d\u7f6e\u7684\u504f\u79fb\u91cf"}, {"c0": "pd_upper", "c1": "LocationIndex", "c2": "2 \u5b57\u8282", "c3": "\u7a7a\u95f2\u7a7a\u95f4\u7ed3\u675f\u4f4d\u7f6e\u7684\u504f\u79fb\u91cf"}, {"c0": "pd_special", "c1": "LocationIndex", "c2": "2 \u5b57\u8282", "c3": "\u7279\u6b8a\u7a7a\u95f4\u8d77\u59cb\u4f4d\u7f6e\u7684\u504f\u79fb\u91cf"}, {"c0": "pd_pagesize_version", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u9875\u9762\u5927\u5c0f\u4e0e\u5e03\u5c40\u7248\u672c\u53f7\u4fe1\u606f"}, {"c0": "pd_prune_xid", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "\u9875\u9762\u4e0a\u6700\u65e9\u7684\u5c1a\u672a\u4fee\u526a\u7684 XMAX\uff1b\u6ca1\u6709\u5219\u4e3a\u96f6"}], "title": "PageHeaderData \u5e03\u5c40", "columns": [{"key": "c0", "label": "\u5b57\u6bb5"}, {"key": "c1", "label": "\u7c7b\u578b"}, {"key": "c2", "label": "\u957f\u5ea6"}, {"key": "c3", "label": "\u8bf4\u660e"}]}, {"key": "layout-2", "rows": [{"c0": "t_xmin", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "\u63d2\u5165\u4e8b\u52a1\u7684 XID"}, {"c0": "t_xmax", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "\u5220\u9664\u4e8b\u52a1\u7684 XID"}, {"c0": "t_cid", "c1": "CommandId", "c2": "4 \u5b57\u8282", "c3": "\u63d2\u5165\u548c\uff0f\u6216\u5220\u9664\u547d\u4ee4\u7684 CID\uff0c\u4e0e t_xvac \u5171\u7528\u5b58\u50a8\u4f4d\u7f6e"}, {"c0": "t_xvac", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "VACUUM \u64cd\u4f5c\u79fb\u52a8\u884c\u7248\u672c\u65f6\u4f7f\u7528\u7684 XID"}, {"c0": "t_ctid", "c1": "ItemPointerData", "c2": "6 \u5b57\u8282", "c3": "\u672c\u884c\u7248\u672c\u6216\u8f83\u65b0\u884c\u7248\u672c\u7684\u5f53\u524d TID"}, {"c0": "t_infomask2", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u5c5e\u6027\u6570\u91cf\u53ca\u5404\u79cd\u6807\u5fd7\u4f4d"}, {"c0": "t_infomask", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u5404\u79cd\u6807\u5fd7\u4f4d"}, {"c0": "t_hoff", "c1": "uint8", "c2": "1 \u5b57\u8282", "c3": "\u7528\u6237\u6570\u636e\u7684\u504f\u79fb\u91cf"}], "title": "HeapTupleHeaderData \u5e03\u5c40", "columns": [{"key": "c0", "label": "\u5b57\u6bb5"}, {"key": "c1", "label": "\u7c7b\u578b"}, {"key": "c2", "label": "\u957f\u5ea6"}, {"key": "c3", "label": "\u8bf4\u660e"}]}], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-identity", "manual": {"url": "/zh/docs/17/storage-page-layout.html", "anchor": "", "locale": "zh-Hans", "version": "17", "build_id": 105, "page_key": "storage-page-layout.html", "extraction": "concept-introduction", "source_hash": "a0e28f2f86bbde1652251bbbe0976ee538ffcb4666a91aadbd63007a22455477", "fragment_sha256": "8c32d7af0e6072282c7a93de00f3f201c987fe35c82a0e13eeea68365e4649b2", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "git:b1b500221dbe5437cfca004d6b04d3f6e422765d;html-sha256:7340767258d21c21b36f373f1fff6bab2be18e0daca13a865129db6105c09efd", "translated_from_revision": null}, "body_sha256": "a6becf93a268b1d4b764818f5cd61342df22c2e9c36b55308add83c80e828de4", "runtime_rerun": false, "authored_translation": "source-derived-identity", "source_facts_revision": "dd27f2b3c59e73ed14aa3324901242bf69a032a6347805f274e6260322d42979"}, "sections": [], "description_zh": "\u672c\u8282\u6982\u8ff0 PostgreSQL \u8868\u548c\u7d22\u5f15\u5185\u90e8\u6240\u4f7f\u7528\u7684\u9875\u9762\u683c\u5f0f\u3002 [17] \u5e8f\u5217\u548c TOAST \u8868\u7684\u683c\u5f0f\u4e0e\u666e\u901a\u8868\u76f8\u540c\u3002 \u5728\u4e0b\u9762\u7684\u8bf4\u660e\u4e2d\uff0c\u5047\u5b9a\u4e00\u4e2a \u5b57\u8282 \u5305\u542b 8 \u4e2a\u4f4d\u3002\u53e6\u5916\uff0c\u672f\u8bed \u9879 \u6307\u7684\u662f\u5b58\u50a8\u5728\u9875\u9762\u4e0a\u7684\u5355\u4e2a\u6570\u636e\u503c\u3002\u5728\u8868\u4e2d\uff0c\u9879\u662f\u4e00\u884c\uff1b\u5728\u7d22\u5f15\u4e2d\uff0c\u9879\u662f\u4e00\u6761\u7d22\u5f15\u6761\u76ee\u3002 \u6bcf\u4e2a\u8868\u548c\u7d22\u5f15\u90fd\u5b58\u50a8\u4e3a\u56fa\u5b9a\u5927\u5c0f\u7684 \u9875\u9762 \u6570\u7ec4\uff08\u901a\u5e38\u4e3a 8 kB\uff0c\u4e0d\u8fc7\u5728\u7f16\u8bd1\u670d\u52a1\u5668\u65f6\u53ef\u4ee5\u9009\u62e9\u4e0d\u540c\u7684\u9875\u9762\u5927\u5c0f\uff09\u3002\u5728\u8868\u4e2d\uff0c\u6240\u6709\u9875\u9762\u5728\u903b\u8f91\u4e0a\u90fd\u662f\u7b49\u4ef7\u7684\uff0c\u56e0\u6b64\u67d0\u4e2a\u7279\u5b9a\u9879\uff08\u884c\uff09\u53ef\u4ee5\u5b58\u653e\u5728\u4efb\u610f\u9875\u9762\u4e2d\u3002\u5728\u7d22\u5f15\u4e2d\uff0c\u7b2c\u4e00\u9875\u901a\u5e38\u4fdd\u7559\u4e3a \u5143\u9875 \uff0c\u7528\u4e8e\u4fdd\u5b58\u63a7\u5236\u4fe1\u606f\uff1b\u5e76\u4e14\u6839\u636e\u7d22\u5f15\u8bbf\u95ee\u65b9\u6cd5\u7684\u4e0d\u540c\uff0c\u7d22\u5f15\u4e2d\u8fd8\u53ef\u80fd\u5b58\u5728\u4e0d\u540c\u7c7b\u578b\u7684\u9875\u9762\u3002 \u8868 65.2 \u5c55\u793a\u4e86\u9875\u9762\u7684\u603b\u4f53\u5e03\u5c40\u3002\u6bcf\u4e2a\u9875\u9762\u5305\u542b\u4e94\u4e2a\u90e8\u5206\u3002", "description_zh_html": "<p>\u5b58\u50a8\u7ed3\u6784 storage-page-layout\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n\u672c\u8282\u6982\u8ff0 <span class=\"productname\">PostgreSQL</span> \u8868\u548c\u7d22\u5f15\u5185\u90e8\u6240\u4f7f\u7528\u7684\u9875\u9762\u683c\u5f0f\u3002<a class=\"footnote\" href=\"/zh/docs/17/storage-page-layout.html#ftn.id-1.10.18.8.2.2\"><sup class=\"footnote\">[17]</sup></a>\n\u5e8f\u5217\u548c <acronym class=\"acronym\">TOAST</acronym> \u8868\u7684\u683c\u5f0f\u4e0e\u666e\u901a\u8868\u76f8\u540c\u3002\n</p><p>\n\u5728\u4e0b\u9762\u7684\u8bf4\u660e\u4e2d\uff0c\u5047\u5b9a\u4e00\u4e2a<em class=\"firstterm\">\u5b57\u8282</em>\u5305\u542b 8 \u4e2a\u4f4d\u3002\u53e6\u5916\uff0c\u672f\u8bed<em class=\"firstterm\">\u9879</em>\u6307\u7684\u662f\u5b58\u50a8\u5728\u9875\u9762\u4e0a\u7684\u5355\u4e2a\u6570\u636e\u503c\u3002\u5728\u8868\u4e2d\uff0c\u9879\u662f\u4e00\u884c\uff1b\u5728\u7d22\u5f15\u4e2d\uff0c\u9879\u662f\u4e00\u6761\u7d22\u5f15\u6761\u76ee\u3002\n</p><p>\n\u6bcf\u4e2a\u8868\u548c\u7d22\u5f15\u90fd\u5b58\u50a8\u4e3a\u56fa\u5b9a\u5927\u5c0f\u7684<em class=\"firstterm\">\u9875\u9762</em>\u6570\u7ec4\uff08\u901a\u5e38\u4e3a 8 kB\uff0c\u4e0d\u8fc7\u5728\u7f16\u8bd1\u670d\u52a1\u5668\u65f6\u53ef\u4ee5\u9009\u62e9\u4e0d\u540c\u7684\u9875\u9762\u5927\u5c0f\uff09\u3002\u5728\u8868\u4e2d\uff0c\u6240\u6709\u9875\u9762\u5728\u903b\u8f91\u4e0a\u90fd\u662f\u7b49\u4ef7\u7684\uff0c\u56e0\u6b64\u67d0\u4e2a\u7279\u5b9a\u9879\uff08\u884c\uff09\u53ef\u4ee5\u5b58\u653e\u5728\u4efb\u610f\u9875\u9762\u4e2d\u3002\u5728\u7d22\u5f15\u4e2d\uff0c\u7b2c\u4e00\u9875\u901a\u5e38\u4fdd\u7559\u4e3a<em class=\"firstterm\">\u5143\u9875</em>\uff0c\u7528\u4e8e\u4fdd\u5b58\u63a7\u5236\u4fe1\u606f\uff1b\u5e76\u4e14\u6839\u636e\u7d22\u5f15\u8bbf\u95ee\u65b9\u6cd5\u7684\u4e0d\u540c\uff0c\u7d22\u5f15\u4e2d\u8fd8\u53ef\u80fd\u5b58\u5728\u4e0d\u540c\u7c7b\u578b\u7684\u9875\u9762\u3002\n</p><p>\n<a class=\"xref\" href=\"/zh/docs/17/storage-page-layout.html#PAGE-TABLE\">\u8868\u00a065.2</a> \u5c55\u793a\u4e86\u9875\u9762\u7684\u603b\u4f53\u5e03\u5c40\u3002\u6bcf\u4e2a\u9875\u9762\u5305\u542b\u4e94\u4e2a\u90e8\u5206\u3002\n</p><p><a href=\"/zh/docs/17/storage-page-layout.html\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "summary": "\u672c\u8282\u6982\u8ff0 PostgreSQL \u8868\u548c\u7d22\u5f15\u5185\u90e8\u6240\u4f7f\u7528\u7684\u9875\u9762\u683c\u5f0f\u3002 [17] \u5e8f\u5217\u548c TOAST \u8868\u7684\u683c\u5f0f\u4e0e\u666e\u901a\u8868\u76f8\u540c\u3002 \u5728\u4e0b\u9762\u7684\u8bf4\u660e\u4e2d\uff0c\u5047\u5b9a\u4e00\u4e2a \u5b57\u8282 \u5305\u542b 8 \u4e2a\u4f4d\u3002\u53e6\u5916\uff0c\u672f\u8bed \u9879 \u6307\u7684\u662f\u5b58\u50a8\u5728\u9875\u9762\u4e0a\u7684\u5355\u4e2a\u6570\u636e\u503c\u3002\u5728\u8868\u4e2d\uff0c\u9879\u662f\u4e00\u884c\uff1b\u5728\u7d22\u5f15\u4e2d\uff0c\u9879\u662f\u4e00\u6761\u7d22\u5f15\u6761\u76ee\u3002 \u6bcf\u4e2a\u8868\u548c\u7d22\u5f15\u90fd\u5b58\u50a8\u4e3a\u56fa\u5b9a\u5927\u5c0f\u7684 \u9875\u9762 \u6570\u7ec4\uff08\u901a\u5e38\u4e3a 8 kB\uff0c\u4e0d\u8fc7\u5728\u7f16\u8bd1\u670d\u52a1\u5668\u65f6\u53ef\u4ee5\u9009\u62e9\u4e0d\u540c\u7684\u9875\u9762\u5927\u5c0f\uff09\u3002\u5728\u8868\u4e2d\uff0c\u6240\u6709\u9875\u9762\u5728\u903b\u8f91\u4e0a\u90fd\u662f\u7b49\u4ef7\u7684\uff0c\u56e0\u6b64\u67d0\u4e2a\u7279\u5b9a\u9879\uff08\u884c\uff09\u53ef\u4ee5\u5b58\u653e\u5728\u4efb\u610f\u9875\u9762\u4e2d\u3002\u5728\u7d22\u5f15\u4e2d\uff0c\u7b2c\u4e00\u9875\u901a\u5e38\u4fdd\u7559\u4e3a \u5143\u9875 \uff0c\u7528\u4e8e\u4fdd\u5b58\u63a7\u5236\u4fe1\u606f\uff1b\u5e76\u4e14\u6839\u636e\u7d22\u5f15\u8bbf\u95ee\u65b9\u6cd5\u7684\u4e0d\u540c\uff0c\u7d22\u5f15\u4e2d\u8fd8\u53ef\u80fd\u5b58\u5728\u4e0d\u540c\u7c7b\u578b\u7684\u9875\u9762\u3002 \u8868 65.2 \u5c55\u793a\u4e86\u9875\u9762\u7684\u603b\u4f53\u5e03\u5c40\u3002\u6bcf\u4e2a\u9875\u9762\u5305\u542b\u4e94\u4e2a\u90e8\u5206\u3002", "version": "17", "link_map": {"/zh/docs/17/storage-page-layout.html": "/docs/17/storage-page-layout.html", "/zh/docs/17/storage-page-layout.html#PAGE-TABLE": "/docs/17/storage-page-layout.html#PAGE-TABLE", "/zh/docs/17/storage-page-layout.html#ftn.id-1.10.18.8.2.2": "/docs/17/storage-page-layout.html#ftn.id-1.10.18.8.2.2"}, "body_html": "<p>\u5b58\u50a8\u7ed3\u6784 storage-page-layout\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n\u672c\u8282\u6982\u8ff0 <span>PostgreSQL</span> \u8868\u548c\u7d22\u5f15\u5185\u90e8\u6240\u4f7f\u7528\u7684\u9875\u9762\u683c\u5f0f\u3002<a href=\"/zh/docs/17/storage-page-layout.html#ftn.id-1.10.18.8.2.2\" rel=\"nofollow\"><sup>[17]</sup></a>\n\u5e8f\u5217\u548c <acronym>TOAST</acronym> \u8868\u7684\u683c\u5f0f\u4e0e\u666e\u901a\u8868\u76f8\u540c\u3002\n</p><p>\n\u5728\u4e0b\u9762\u7684\u8bf4\u660e\u4e2d\uff0c\u5047\u5b9a\u4e00\u4e2a<em>\u5b57\u8282</em>\u5305\u542b 8 \u4e2a\u4f4d\u3002\u53e6\u5916\uff0c\u672f\u8bed<em>\u9879</em>\u6307\u7684\u662f\u5b58\u50a8\u5728\u9875\u9762\u4e0a\u7684\u5355\u4e2a\u6570\u636e\u503c\u3002\u5728\u8868\u4e2d\uff0c\u9879\u662f\u4e00\u884c\uff1b\u5728\u7d22\u5f15\u4e2d\uff0c\u9879\u662f\u4e00\u6761\u7d22\u5f15\u6761\u76ee\u3002\n</p><p>\n\u6bcf\u4e2a\u8868\u548c\u7d22\u5f15\u90fd\u5b58\u50a8\u4e3a\u56fa\u5b9a\u5927\u5c0f\u7684<em>\u9875\u9762</em>\u6570\u7ec4\uff08\u901a\u5e38\u4e3a 8 kB\uff0c\u4e0d\u8fc7\u5728\u7f16\u8bd1\u670d\u52a1\u5668\u65f6\u53ef\u4ee5\u9009\u62e9\u4e0d\u540c\u7684\u9875\u9762\u5927\u5c0f\uff09\u3002\u5728\u8868\u4e2d\uff0c\u6240\u6709\u9875\u9762\u5728\u903b\u8f91\u4e0a\u90fd\u662f\u7b49\u4ef7\u7684\uff0c\u56e0\u6b64\u67d0\u4e2a\u7279\u5b9a\u9879\uff08\u884c\uff09\u53ef\u4ee5\u5b58\u653e\u5728\u4efb\u610f\u9875\u9762\u4e2d\u3002\u5728\u7d22\u5f15\u4e2d\uff0c\u7b2c\u4e00\u9875\u901a\u5e38\u4fdd\u7559\u4e3a<em>\u5143\u9875</em>\uff0c\u7528\u4e8e\u4fdd\u5b58\u63a7\u5236\u4fe1\u606f\uff1b\u5e76\u4e14\u6839\u636e\u7d22\u5f15\u8bbf\u95ee\u65b9\u6cd5\u7684\u4e0d\u540c\uff0c\u7d22\u5f15\u4e2d\u8fd8\u53ef\u80fd\u5b58\u5728\u4e0d\u540c\u7c7b\u578b\u7684\u9875\u9762\u3002\n</p><p>\n<a href=\"/zh/docs/17/storage-page-layout.html#PAGE-TABLE\" rel=\"nofollow\">\u8868\u00a065.2</a> \u5c55\u793a\u4e86\u9875\u9762\u7684\u603b\u4f53\u5e03\u5c40\u3002\u6bcf\u4e2a\u9875\u9762\u5305\u542b\u4e94\u4e2a\u90e8\u5206\u3002\n</p><p><a href=\"/zh/docs/17/storage-page-layout.html\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>", "body_sha256": "00df5ddc704ae2dc019e944e1d22af884ddc898a7480a097116633a3d53e76a1", "content_hash": "cbbe536a02fd0ff61f59b4b3cfb91e0cd4da82e08c1ca5cf51edecf72fae09ae", "source_database": "center", "source_revision": "dd27f2b3c59e73ed14aa3324901242bf69a032a6347805f274e6260322d42979"}, "signature": "", "tables_zh": [{"key": "layout-0", "rows": [{"c0": "PageHeaderData", "c1": "\u957f 24 \u5b57\u8282\uff0c\u5305\u542b\u9875\u9762\u7684\u901a\u7528\u4fe1\u606f\uff0c\u4f8b\u5982\u7a7a\u95f2\u7a7a\u95f4\u6307\u9488\u3002"}, {"c0": "ItemIdData", "c1": "\u6307\u5411\u5b9e\u9645\u6570\u636e\u9879\u7684\u884c\u6307\u9488\u6570\u7ec4\u3002\u6bcf\u9879\u4e3a\u4e00\u4e2a\uff08\u504f\u79fb\uff0c\u957f\u5ea6\uff09\u5bf9\uff0c\u5360 4 \u5b57\u8282\u3002"}, {"c0": "\u7a7a\u95f2\u7a7a\u95f4", "c1": "\u5c1a\u672a\u5206\u914d\u7684\u7a7a\u95f4\u3002\u65b0\u884c\u6307\u9488\u4ece\u8be5\u533a\u57df\u7684\u8d77\u59cb\u5904\u5206\u914d\uff0c\u65b0\u6570\u636e\u9879\u4ece\u672b\u5c3e\u5904\u5206\u914d\u3002"}, {"c0": "\u9879", "c1": "\u5b9e\u9645\u7684\u6570\u636e\u9879\u672c\u8eab\u3002"}, {"c0": "\u7279\u6b8a\u7a7a\u95f4", "c1": "\u7d22\u5f15\u8bbf\u95ee\u65b9\u6cd5\u4e13\u7528\u6570\u636e\u3002\u4e0d\u540c\u65b9\u6cd5\u5b58\u50a8\u7684\u5185\u5bb9\u4e0d\u540c\uff0c\u666e\u901a\u8868\u4e2d\u6b64\u533a\u57df\u4e3a\u7a7a\u3002"}], "title": "\u9875\u9762\u603b\u4f53\u5e03\u5c40", "columns": [{"key": "c0", "label": "\u9879\u76ee"}, {"key": "c1", "label": "\u8bf4\u660e"}]}, {"key": "layout-1", "rows": [{"c0": "pd_lsn", "c1": "PageXLogRecPtr", "c2": "8 \u5b57\u8282", "c3": "LSN\uff1a\u8be5\u9875\u6700\u540e\u4e00\u6b21\u53d8\u5316\u6240\u5bf9\u5e94 WAL \u8bb0\u5f55\u7684\u6700\u540e\u4e00\u4e2a\u5b57\u8282\u4e4b\u540e\u7684\u4f4d\u7f6e\u3002"}, {"c0": "pd_checksum", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u9875\u9762\u6821\u9a8c\u548c"}, {"c0": "pd_flags", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u6807\u5fd7\u4f4d"}, {"c0": "pd_lower", "c1": "LocationIndex", "c2": "2 \u5b57\u8282", "c3": "\u7a7a\u95f2\u7a7a\u95f4\u8d77\u59cb\u4f4d\u7f6e\u7684\u504f\u79fb\u91cf"}, {"c0": "pd_upper", "c1": "LocationIndex", "c2": "2 \u5b57\u8282", "c3": "\u7a7a\u95f2\u7a7a\u95f4\u7ed3\u675f\u4f4d\u7f6e\u7684\u504f\u79fb\u91cf"}, {"c0": "pd_special", "c1": "LocationIndex", "c2": "2 \u5b57\u8282", "c3": "\u7279\u6b8a\u7a7a\u95f4\u8d77\u59cb\u4f4d\u7f6e\u7684\u504f\u79fb\u91cf"}, {"c0": "pd_pagesize_version", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u9875\u9762\u5927\u5c0f\u4e0e\u5e03\u5c40\u7248\u672c\u53f7\u4fe1\u606f"}, {"c0": "pd_prune_xid", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "\u9875\u9762\u4e0a\u6700\u65e9\u7684\u5c1a\u672a\u4fee\u526a\u7684 XMAX\uff1b\u6ca1\u6709\u5219\u4e3a\u96f6"}], "title": "PageHeaderData \u5e03\u5c40", "columns": [{"key": "c0", "label": "\u5b57\u6bb5"}, {"key": "c1", "label": "\u7c7b\u578b"}, {"key": "c2", "label": "\u957f\u5ea6"}, {"key": "c3", "label": "\u8bf4\u660e"}]}, {"key": "layout-2", "rows": [{"c0": "t_xmin", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "\u63d2\u5165\u4e8b\u52a1\u7684 XID"}, {"c0": "t_xmax", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "\u5220\u9664\u4e8b\u52a1\u7684 XID"}, {"c0": "t_cid", "c1": "CommandId", "c2": "4 \u5b57\u8282", "c3": "\u63d2\u5165\u548c\uff0f\u6216\u5220\u9664\u547d\u4ee4\u7684 CID\uff0c\u4e0e t_xvac \u5171\u7528\u5b58\u50a8\u4f4d\u7f6e"}, {"c0": "t_xvac", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "VACUUM \u64cd\u4f5c\u79fb\u52a8\u884c\u7248\u672c\u65f6\u4f7f\u7528\u7684 XID"}, {"c0": "t_ctid", "c1": "ItemPointerData", "c2": "6 \u5b57\u8282", "c3": "\u672c\u884c\u7248\u672c\u6216\u8f83\u65b0\u884c\u7248\u672c\u7684\u5f53\u524d TID"}, {"c0": "t_infomask2", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u5c5e\u6027\u6570\u91cf\u53ca\u5404\u79cd\u6807\u5fd7\u4f4d"}, {"c0": "t_infomask", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u5404\u79cd\u6807\u5fd7\u4f4d"}, {"c0": "t_hoff", "c1": "uint8", "c2": "1 \u5b57\u8282", "c3": "\u7528\u6237\u6570\u636e\u7684\u504f\u79fb\u91cf"}], "title": "HeapTupleHeaderData \u5e03\u5c40", "columns": [{"key": "c0", "label": "\u5b57\u6bb5"}, {"key": "c1", "label": "\u7c7b\u578b"}, {"key": "c2", "label": "\u957f\u5ea6"}, {"key": "c3", "label": "\u8bf4\u660e"}]}], "description": ["\u672c\u8282\u6982\u8ff0 PostgreSQL \u8868\u548c\u7d22\u5f15\u5185\u90e8\u6240\u4f7f\u7528\u7684\u9875\u9762\u683c\u5f0f\u3002 [17] \u5e8f\u5217\u548c TOAST \u8868\u7684\u683c\u5f0f\u4e0e\u666e\u901a\u8868\u76f8\u540c\u3002 \u5728\u4e0b\u9762\u7684\u8bf4\u660e\u4e2d\uff0c\u5047\u5b9a\u4e00\u4e2a \u5b57\u8282 \u5305\u542b 8 \u4e2a\u4f4d\u3002\u53e6\u5916\uff0c\u672f\u8bed \u9879 \u6307\u7684\u662f\u5b58\u50a8\u5728\u9875\u9762\u4e0a\u7684\u5355\u4e2a\u6570\u636e\u503c\u3002\u5728\u8868\u4e2d\uff0c\u9879\u662f\u4e00\u884c\uff1b\u5728\u7d22\u5f15\u4e2d\uff0c\u9879\u662f\u4e00\u6761\u7d22\u5f15\u6761\u76ee\u3002 \u6bcf\u4e2a\u8868\u548c\u7d22\u5f15\u90fd\u5b58\u50a8\u4e3a\u56fa\u5b9a\u5927\u5c0f\u7684 \u9875\u9762 \u6570\u7ec4\uff08\u901a\u5e38\u4e3a 8 kB\uff0c\u4e0d\u8fc7\u5728\u7f16\u8bd1\u670d\u52a1\u5668\u65f6\u53ef\u4ee5\u9009\u62e9\u4e0d\u540c\u7684\u9875\u9762\u5927\u5c0f\uff09\u3002\u5728\u8868\u4e2d\uff0c\u6240\u6709\u9875\u9762\u5728\u903b\u8f91\u4e0a\u90fd\u662f\u7b49\u4ef7\u7684\uff0c\u56e0\u6b64\u67d0\u4e2a\u7279\u5b9a\u9879\uff08\u884c\uff09\u53ef\u4ee5\u5b58\u653e\u5728\u4efb\u610f\u9875\u9762\u4e2d\u3002\u5728\u7d22\u5f15\u4e2d\uff0c\u7b2c\u4e00\u9875\u901a\u5e38\u4fdd\u7559\u4e3a \u5143\u9875 \uff0c\u7528\u4e8e\u4fdd\u5b58\u63a7\u5236\u4fe1\u606f\uff1b\u5e76\u4e14\u6839\u636e\u7d22\u5f15\u8bbf\u95ee\u65b9\u6cd5\u7684\u4e0d\u540c\uff0c\u7d22\u5f15\u4e2d\u8fd8\u53ef\u80fd\u5b58\u5728\u4e0d\u540c\u7c7b\u578b\u7684\u9875\u9762\u3002 \u8868 65.2 \u5c55\u793a\u4e86\u9875\u9762\u7684\u603b\u4f53\u5e03\u5c40\u3002\u6bcf\u4e2a\u9875\u9762\u5305\u542b\u4e94\u4e2a\u90e8\u5206\u3002"], "manual_html": "", "manual_path": "/docs/17/storage-page-layout.html", "sections_zh": [], "localization": {"status": "complete", "sources": [{"url": "/docs/17/storage-page-layout.html", "method": "same-major semantic node", "sha256": "5f1706fce27c6505086f0b42549876c32ebaba985b000585c62535c69b933c3f", "language": "zh", "matched_nodes": ["#STORAGE-PAGE-LAYOUT/div[0]", "#STORAGE-PAGE-LAYOUT/div[16]", "#STORAGE-PAGE-LAYOUT/div[18]/div[2]/p[0]", "#STORAGE-PAGE-LAYOUT/div[18]/p[1]", "#STORAGE-PAGE-LAYOUT/div[18]/p[4]", "#STORAGE-PAGE-LAYOUT/div[18]/p[5]", "#STORAGE-PAGE-LAYOUT/div[18]/p[6]", "#STORAGE-PAGE-LAYOUT/div[19]", "#STORAGE-PAGE-LAYOUT/div[1]", "#STORAGE-PAGE-LAYOUT/div[6]/div[1]/table[0]/tbody[2]/tr[3]/td[0]", "#STORAGE-PAGE-LAYOUT/div[6]/p[0]", "#STORAGE-PAGE-LAYOUT/div[9]/div[1]/table[0]/tbody[2]/tr[0]/td[2]", "#STORAGE-PAGE-LAYOUT/div[9]/p[0]", "#STORAGE-PAGE-LAYOUT/p[11]", "#STORAGE-PAGE-LAYOUT/p[12]", "#STORAGE-PAGE-LAYOUT/p[13]", "#STORAGE-PAGE-LAYOUT/p[14]", "#STORAGE-PAGE-LAYOUT/p[15]", "#STORAGE-PAGE-LAYOUT/p[2]", "#STORAGE-PAGE-LAYOUT/p[3]", "#STORAGE-PAGE-LAYOUT/p[4]", "#STORAGE-PAGE-LAYOUT/p[5]"]}], "language": "zh", "original_text": {"/versions/17/description/0": "This section provides an overview of the page format used within PostgreSQL tables and indexes. [17] Sequences and TOAST tables are formatted just like a regular table.", "/versions/17/facts/0/label": "Definition scope", "/versions/17/facts/0/value": "Same-version core physical storage documentation", "/versions/17/tables/0/title": "Overall Page Layout", "/versions/17/tables/1/title": "PageHeaderData Layout", "/versions/17/tables/2/title": "HeapTupleHeaderData Layout", "/versions/17/related/1/label": "Storage Parameters", "/versions/17/tables/0/rows/0/c1": "24 bytes long. Contains general information about the page, including free space pointers.", "/versions/17/tables/0/rows/1/c1": "Array of item identifiers pointing to the actual items. Each entry is an (offset,length) pair. 4 bytes per item.", "/versions/17/tables/0/rows/2/c0": "Free space", "/versions/17/tables/0/rows/2/c1": "The unallocated space. New item identifiers are allocated from the start of this area, new items from the end.", "/versions/17/tables/0/rows/3/c0": "Items", "/versions/17/tables/0/rows/3/c1": "The actual items themselves.", "/versions/17/tables/0/rows/4/c0": "Special space", "/versions/17/tables/0/rows/4/c1": "Index access method specific data. Different methods store different data. Empty in ordinary tables.", "/versions/17/tables/1/rows/0/c2": "8 bytes", "/versions/17/tables/1/rows/0/c3": "LSN: next byte after last byte of WAL record for last change to this page", "/versions/17/tables/1/rows/1/c2": "2 bytes", "/versions/17/tables/1/rows/1/c3": "Page checksum", "/versions/17/tables/1/rows/2/c2": "2 bytes", "/versions/17/tables/1/rows/2/c3": "Flag bits", "/versions/17/tables/1/rows/3/c2": "2 bytes", "/versions/17/tables/1/rows/3/c3": "Offset to start of free space", "/versions/17/tables/1/rows/4/c2": "2 bytes", "/versions/17/tables/1/rows/4/c3": "Offset to end of free space", "/versions/17/tables/1/rows/5/c2": "2 bytes", "/versions/17/tables/1/rows/5/c3": "Offset to start of special space", "/versions/17/tables/1/rows/6/c2": "2 bytes", "/versions/17/tables/1/rows/6/c3": "Page size and layout version number information", "/versions/17/tables/1/rows/7/c2": "4 bytes", "/versions/17/tables/1/rows/7/c3": "Oldest unpruned XMAX on page, or zero if none", "/versions/17/tables/2/rows/0/c2": "4 bytes", "/versions/17/tables/2/rows/0/c3": "insert XID stamp", "/versions/17/tables/2/rows/1/c2": "4 bytes", "/versions/17/tables/2/rows/1/c3": "delete XID stamp", "/versions/17/tables/2/rows/2/c2": "4 bytes", "/versions/17/tables/2/rows/2/c3": "insert and/or delete CID stamp (overlays with t_xvac)", "/versions/17/tables/2/rows/3/c2": "4 bytes", "/versions/17/tables/2/rows/3/c3": "XID for VACUUM operation moving a row version", "/versions/17/tables/2/rows/4/c2": "6 bytes", "/versions/17/tables/2/rows/4/c3": "current TID of this or newer row version", "/versions/17/tables/2/rows/5/c2": "2 bytes", "/versions/17/tables/2/rows/5/c3": "number of attributes, plus various flag bits", "/versions/17/tables/2/rows/6/c2": "2 bytes", "/versions/17/tables/2/rows/6/c3": "various flag bits", "/versions/17/tables/2/rows/7/c2": "1 byte", "/versions/17/tables/2/rows/7/c3": "offset to user data", "/versions/17/tables/0/columns/0/label": "Item", "/versions/17/tables/0/columns/1/label": "Description", "/versions/17/tables/1/columns/0/label": "Field", "/versions/17/tables/1/columns/1/label": "Type", "/versions/17/tables/1/columns/2/label": "Length", "/versions/17/tables/1/columns/3/label": "Description", "/versions/17/tables/2/columns/0/label": "Field", "/versions/17/tables/2/columns/1/label": "Type", "/versions/17/tables/2/columns/2/label": "Length", "/versions/17/tables/2/columns/3/label": "Description"}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "90fb380a8dbeaba5e015588c92a9e9640d55323231b75b8be33abfcdb77b0a5b", "canonical_center_text_hash": "cbbe536a02fd0ff61f59b4b3cfb91e0cd4da82e08c1ca5cf51edecf72fae09ae"}, "description_zh": "\u672c\u8282\u6982\u8ff0 PostgreSQL \u8868\u548c\u7d22\u5f15\u5185\u90e8\u6240\u4f7f\u7528\u7684\u9875\u9762\u683c\u5f0f\u3002 [17] \u5e8f\u5217\u548c TOAST \u8868\u7684\u683c\u5f0f\u4e0e\u666e\u901a\u8868\u76f8\u540c\u3002 \u5728\u4e0b\u9762\u7684\u8bf4\u660e\u4e2d\uff0c\u5047\u5b9a\u4e00\u4e2a \u5b57\u8282 \u5305\u542b 8 \u4e2a\u4f4d\u3002\u53e6\u5916\uff0c\u672f\u8bed \u9879 \u6307\u7684\u662f\u5b58\u50a8\u5728\u9875\u9762\u4e0a\u7684\u5355\u4e2a\u6570\u636e\u503c\u3002\u5728\u8868\u4e2d\uff0c\u9879\u662f\u4e00\u884c\uff1b\u5728\u7d22\u5f15\u4e2d\uff0c\u9879\u662f\u4e00\u6761\u7d22\u5f15\u6761\u76ee\u3002 \u6bcf\u4e2a\u8868\u548c\u7d22\u5f15\u90fd\u5b58\u50a8\u4e3a\u56fa\u5b9a\u5927\u5c0f\u7684 \u9875\u9762 \u6570\u7ec4\uff08\u901a\u5e38\u4e3a 8 kB\uff0c\u4e0d\u8fc7\u5728\u7f16\u8bd1\u670d\u52a1\u5668\u65f6\u53ef\u4ee5\u9009\u62e9\u4e0d\u540c\u7684\u9875\u9762\u5927\u5c0f\uff09\u3002\u5728\u8868\u4e2d\uff0c\u6240\u6709\u9875\u9762\u5728\u903b\u8f91\u4e0a\u90fd\u662f\u7b49\u4ef7\u7684\uff0c\u56e0\u6b64\u67d0\u4e2a\u7279\u5b9a\u9879\uff08\u884c\uff09\u53ef\u4ee5\u5b58\u653e\u5728\u4efb\u610f\u9875\u9762\u4e2d\u3002\u5728\u7d22\u5f15\u4e2d\uff0c\u7b2c\u4e00\u9875\u901a\u5e38\u4fdd\u7559\u4e3a \u5143\u9875 \uff0c\u7528\u4e8e\u4fdd\u5b58\u63a7\u5236\u4fe1\u606f\uff1b\u5e76\u4e14\u6839\u636e\u7d22\u5f15\u8bbf\u95ee\u65b9\u6cd5\u7684\u4e0d\u540c\uff0c\u7d22\u5f15\u4e2d\u8fd8\u53ef\u80fd\u5b58\u5728\u4e0d\u540c\u7c7b\u578b\u7684\u9875\u9762\u3002 \u8868 65.2 \u5c55\u793a\u4e86\u9875\u9762\u7684\u603b\u4f53\u5e03\u5c40\u3002\u6bcf\u4e2a\u9875\u9762\u5305\u542b\u4e94\u4e2a\u90e8\u5206\u3002", "comparison_data": {"layouts": [{"key": "layout-0", "rows": [{"c0": "PageHeaderData", "c1": "24 bytes long. Contains general information about the page, including free space pointers."}, {"c0": "ItemIdData", "c1": "Array of item identifiers pointing to the actual items. Each entry is an (offset,length) pair. 4 bytes per item."}, {"c0": "Free space", "c1": "The unallocated space. New item identifiers are allocated from the start of this area, new items from the end."}, {"c0": "Items", "c1": "The actual items themselves."}, {"c0": "Special space", "c1": "Index access method specific data. Different methods store different data. Empty in ordinary tables."}], "title": "Overall Page Layout", "columns": [{"key": "c0", "label": "Item"}, {"key": "c1", "label": "Description"}]}, {"key": "layout-1", "rows": [{"c0": "pd_lsn", "c1": "PageXLogRecPtr", "c2": "8 bytes", "c3": "LSN: next byte after last byte of WAL record for last change to this page"}, {"c0": "pd_checksum", "c1": "uint16", "c2": "2 bytes", "c3": "Page checksum"}, {"c0": "pd_flags", "c1": "uint16", "c2": "2 bytes", "c3": "Flag bits"}, {"c0": "pd_lower", "c1": "LocationIndex", "c2": "2 bytes", "c3": "Offset to start of free space"}, {"c0": "pd_upper", "c1": "LocationIndex", "c2": "2 bytes", "c3": "Offset to end of free space"}, {"c0": "pd_special", "c1": "LocationIndex", "c2": "2 bytes", "c3": "Offset to start of special space"}, {"c0": "pd_pagesize_version", "c1": "uint16", "c2": "2 bytes", "c3": "Page size and layout version number information"}, {"c0": "pd_prune_xid", "c1": "TransactionId", "c2": "4 bytes", "c3": "Oldest unpruned XMAX on page, or zero if none"}], "title": "PageHeaderData Layout", "columns": [{"key": "c0", "label": "Field"}, {"key": "c1", "label": "Type"}, {"key": "c2", "label": "Length"}, {"key": "c3", "label": "Description"}]}, {"key": "layout-2", "rows": [{"c0": "t_xmin", "c1": "TransactionId", "c2": "4 bytes", "c3": "insert XID stamp"}, {"c0": "t_xmax", "c1": "TransactionId", "c2": "4 bytes", "c3": "delete XID stamp"}, {"c0": "t_cid", "c1": "CommandId", "c2": "4 bytes", "c3": "insert and/or delete CID stamp (overlays with t_xvac)"}, {"c0": "t_xvac", "c1": "TransactionId", "c2": "4 bytes", "c3": "XID for VACUUM operation moving a row version"}, {"c0": "t_ctid", "c1": "ItemPointerData", "c2": "6 bytes", "c3": "current TID of this or newer row version"}, {"c0": "t_infomask2", "c1": "uint16", "c2": "2 bytes", "c3": "number of attributes, plus various flag bits"}, {"c0": "t_infomask", "c1": "uint16", "c2": "2 bytes", "c3": "various flag bits"}, {"c0": "t_hoff", "c1": "uint8", "c2": "1 byte", "c3": "offset to user data"}], "title": "HeapTupleHeaderData Layout", "columns": [{"key": "c0", "label": "Field"}, {"key": "c1", "label": "Type"}, {"key": "c2", "label": "Length"}, {"key": "c3", "label": "Description"}]}]}, "comparison_hash": "b621fa85b3be27a0eb0d82986e9524f2ef0a776761901f0d429826eec4822d0a", "manual_language": "zh", "description_zh_html": "<p>\u5b58\u50a8\u7ed3\u6784 storage-page-layout\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n\u672c\u8282\u6982\u8ff0 <span>PostgreSQL</span> \u8868\u548c\u7d22\u5f15\u5185\u90e8\u6240\u4f7f\u7528\u7684\u9875\u9762\u683c\u5f0f\u3002<a href=\"/zh/docs/17/storage-page-layout.html#ftn.id-1.10.18.8.2.2\" rel=\"nofollow\"><sup>[17]</sup></a>\n\u5e8f\u5217\u548c <acronym>TOAST</acronym> \u8868\u7684\u683c\u5f0f\u4e0e\u666e\u901a\u8868\u76f8\u540c\u3002\n</p><p>\n\u5728\u4e0b\u9762\u7684\u8bf4\u660e\u4e2d\uff0c\u5047\u5b9a\u4e00\u4e2a<em>\u5b57\u8282</em>\u5305\u542b 8 \u4e2a\u4f4d\u3002\u53e6\u5916\uff0c\u672f\u8bed<em>\u9879</em>\u6307\u7684\u662f\u5b58\u50a8\u5728\u9875\u9762\u4e0a\u7684\u5355\u4e2a\u6570\u636e\u503c\u3002\u5728\u8868\u4e2d\uff0c\u9879\u662f\u4e00\u884c\uff1b\u5728\u7d22\u5f15\u4e2d\uff0c\u9879\u662f\u4e00\u6761\u7d22\u5f15\u6761\u76ee\u3002\n</p><p>\n\u6bcf\u4e2a\u8868\u548c\u7d22\u5f15\u90fd\u5b58\u50a8\u4e3a\u56fa\u5b9a\u5927\u5c0f\u7684<em>\u9875\u9762</em>\u6570\u7ec4\uff08\u901a\u5e38\u4e3a 8 kB\uff0c\u4e0d\u8fc7\u5728\u7f16\u8bd1\u670d\u52a1\u5668\u65f6\u53ef\u4ee5\u9009\u62e9\u4e0d\u540c\u7684\u9875\u9762\u5927\u5c0f\uff09\u3002\u5728\u8868\u4e2d\uff0c\u6240\u6709\u9875\u9762\u5728\u903b\u8f91\u4e0a\u90fd\u662f\u7b49\u4ef7\u7684\uff0c\u56e0\u6b64\u67d0\u4e2a\u7279\u5b9a\u9879\uff08\u884c\uff09\u53ef\u4ee5\u5b58\u653e\u5728\u4efb\u610f\u9875\u9762\u4e2d\u3002\u5728\u7d22\u5f15\u4e2d\uff0c\u7b2c\u4e00\u9875\u901a\u5e38\u4fdd\u7559\u4e3a<em>\u5143\u9875</em>\uff0c\u7528\u4e8e\u4fdd\u5b58\u63a7\u5236\u4fe1\u606f\uff1b\u5e76\u4e14\u6839\u636e\u7d22\u5f15\u8bbf\u95ee\u65b9\u6cd5\u7684\u4e0d\u540c\uff0c\u7d22\u5f15\u4e2d\u8fd8\u53ef\u80fd\u5b58\u5728\u4e0d\u540c\u7c7b\u578b\u7684\u9875\u9762\u3002\n</p><p>\n<a href=\"/zh/docs/17/storage-page-layout.html#PAGE-TABLE\" rel=\"nofollow\">\u8868\u00a065.2</a> \u5c55\u793a\u4e86\u9875\u9762\u7684\u603b\u4f53\u5e03\u5c40\u3002\u6bcf\u4e2a\u9875\u9762\u5305\u542b\u4e94\u4e2a\u90e8\u5206\u3002\n</p><p><a href=\"/zh/docs/17/storage-page-layout.html\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "18": {"facts": [{"label": "\u5b9a\u4e49\u8303\u56f4", "value": "\u540c\u7248\u672c\u6838\u5fc3\u7269\u7406\u5b58\u50a8\u6587\u6863"}], "tables": [{"key": "layout-0", "rows": [{"c0": "PageHeaderData", "c1": "\u957f 24 \u5b57\u8282\uff0c\u5305\u542b\u9875\u9762\u7684\u901a\u7528\u4fe1\u606f\uff0c\u4f8b\u5982\u7a7a\u95f2\u7a7a\u95f4\u6307\u9488\u3002"}, {"c0": "ItemIdData", "c1": "\u6307\u5411\u5b9e\u9645\u6570\u636e\u9879\u7684\u884c\u6307\u9488\u6570\u7ec4\u3002\u6bcf\u9879\u4e3a\u4e00\u4e2a\uff08\u504f\u79fb\uff0c\u957f\u5ea6\uff09\u5bf9\uff0c\u5360 4 \u5b57\u8282\u3002"}, {"c0": "\u7a7a\u95f2\u7a7a\u95f4", "c1": "\u5c1a\u672a\u5206\u914d\u7684\u7a7a\u95f4\u3002\u65b0\u884c\u6307\u9488\u4ece\u8be5\u533a\u57df\u7684\u8d77\u59cb\u5904\u5206\u914d\uff0c\u65b0\u6570\u636e\u9879\u4ece\u672b\u5c3e\u5904\u5206\u914d\u3002"}, {"c0": "\u9879", "c1": "\u5b9e\u9645\u7684\u6570\u636e\u9879\u672c\u8eab\u3002"}, {"c0": "\u7279\u6b8a\u7a7a\u95f4", "c1": "\u7d22\u5f15\u8bbf\u95ee\u65b9\u6cd5\u4e13\u7528\u6570\u636e\u3002\u4e0d\u540c\u65b9\u6cd5\u5b58\u50a8\u7684\u5185\u5bb9\u4e0d\u540c\uff0c\u666e\u901a\u8868\u4e2d\u6b64\u533a\u57df\u4e3a\u7a7a\u3002"}], "title": "\u9875\u9762\u603b\u4f53\u5e03\u5c40", "columns": [{"key": "c0", "label": "\u9879\u76ee"}, {"key": "c1", "label": "\u8bf4\u660e"}]}, {"key": "layout-1", "rows": [{"c0": "pd_lsn", "c1": "PageXLogRecPtr", "c2": "8 \u5b57\u8282", "c3": "LSN\uff1a\u8be5\u9875\u6700\u540e\u4e00\u6b21\u53d8\u5316\u6240\u5bf9\u5e94 WAL \u8bb0\u5f55\u7684\u6700\u540e\u4e00\u4e2a\u5b57\u8282\u4e4b\u540e\u7684\u4f4d\u7f6e\u3002"}, {"c0": "pd_checksum", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u9875\u9762\u6821\u9a8c\u548c"}, {"c0": "pd_flags", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u6807\u5fd7\u4f4d"}, {"c0": "pd_lower", "c1": "LocationIndex", "c2": "2 \u5b57\u8282", "c3": "\u7a7a\u95f2\u7a7a\u95f4\u8d77\u59cb\u4f4d\u7f6e\u7684\u504f\u79fb\u91cf"}, {"c0": "pd_upper", "c1": "LocationIndex", "c2": "2 \u5b57\u8282", "c3": "\u7a7a\u95f2\u7a7a\u95f4\u7ed3\u675f\u4f4d\u7f6e\u7684\u504f\u79fb\u91cf"}, {"c0": "pd_special", "c1": "LocationIndex", "c2": "2 \u5b57\u8282", "c3": "\u7279\u6b8a\u7a7a\u95f4\u8d77\u59cb\u4f4d\u7f6e\u7684\u504f\u79fb\u91cf"}, {"c0": "pd_pagesize_version", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u9875\u9762\u5927\u5c0f\u4e0e\u5e03\u5c40\u7248\u672c\u53f7\u4fe1\u606f"}, {"c0": "pd_prune_xid", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "\u9875\u9762\u4e0a\u6700\u65e9\u7684\u5c1a\u672a\u4fee\u526a\u7684 XMAX\uff1b\u6ca1\u6709\u5219\u4e3a\u96f6"}], "title": "PageHeaderData \u5e03\u5c40", "columns": [{"key": "c0", "label": "\u5b57\u6bb5"}, {"key": "c1", "label": "\u7c7b\u578b"}, {"key": "c2", "label": "\u957f\u5ea6"}, {"key": "c3", "label": "\u8bf4\u660e"}]}, {"key": "layout-2", "rows": [{"c0": "t_xmin", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "\u63d2\u5165\u4e8b\u52a1\u7684 XID"}, {"c0": "t_xmax", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "\u5220\u9664\u4e8b\u52a1\u7684 XID"}, {"c0": "t_cid", "c1": "CommandId", "c2": "4 \u5b57\u8282", "c3": "\u63d2\u5165\u548c\uff0f\u6216\u5220\u9664\u547d\u4ee4\u7684 CID\uff0c\u4e0e t_xvac \u5171\u7528\u5b58\u50a8\u4f4d\u7f6e"}, {"c0": "t_xvac", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "VACUUM \u64cd\u4f5c\u79fb\u52a8\u884c\u7248\u672c\u65f6\u4f7f\u7528\u7684 XID"}, {"c0": "t_ctid", "c1": "ItemPointerData", "c2": "6 \u5b57\u8282", "c3": "\u672c\u884c\u7248\u672c\u6216\u8f83\u65b0\u884c\u7248\u672c\u7684\u5f53\u524d TID"}, {"c0": "t_infomask2", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u5c5e\u6027\u6570\u91cf\u53ca\u5404\u79cd\u6807\u5fd7\u4f4d"}, {"c0": "t_infomask", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u5404\u79cd\u6807\u5fd7\u4f4d"}, {"c0": "t_hoff", "c1": "uint8", "c2": "1 \u5b57\u8282", "c3": "\u7528\u6237\u6570\u636e\u7684\u504f\u79fb\u91cf"}], "title": "HeapTupleHeaderData \u5e03\u5c40", "columns": [{"key": "c0", "label": "\u5b57\u6bb5"}, {"key": "c1", "label": "\u7c7b\u578b"}, {"key": "c2", "label": "\u957f\u5ea6"}, {"key": "c3", "label": "\u8bf4\u660e"}]}], "diagram": "page-layout", "related": [{"url": "/wiki/tableam/?v=18", "label": "Table AM"}, {"url": "/wiki/relopts/?v=18", "label": "\u5b58\u50a8\u53c2\u6570"}], "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-page-layout.html", "path": "storage-page-layout.html", "label": "PostgreSQL 18 English manual", "sha256": "0d9f99e4cef5ea0a6741a74cab87052b929f7001730853c85d5e60d72179d355"}], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-identity", "manual": {"url": "/zh/docs/18/storage-page-layout.html", "anchor": "", "locale": "zh-Hans", "version": "18", "build_id": 107, "page_key": "storage-page-layout.html", "extraction": "concept-introduction", "source_hash": "07870df29bfc52d49b5aa3018212c94da48a0d9edea8d214a87d8aca0b5d55f2", "fragment_sha256": "70d9ed3e5a4d017703443ebfa5d5d78fd4a8aa49e8463177dd26bd8f75189b5c", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "git:b1b500221dbe5437cfca004d6b04d3f6e422765d;html-sha256:08e987a66af27b98444a8057c256314eafa13611a3fb9e888214fc436824244b", "translated_from_revision": null}, "body_sha256": "f762c68ebbb1ec7279d847ca2652533b1a0e184af5db9d00a636a4da65ecfc39", "runtime_rerun": false, "authored_translation": "source-derived-identity", "source_facts_revision": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f"}, "facts_zh": [{"label": "\u5b9a\u4e49\u8303\u56f4", "value": "\u540c\u7248\u672c\u6838\u5fc3\u7269\u7406\u5b58\u50a8\u6587\u6863"}], "sections": [], "center_zh": {"title": "Database Page Layout", "locale": "zh-Hans", "source": {"key": "storage-page-layout", "locale": "zh-Hans", "version": "18", "text_hash": "b23cc9d8cdb153bee1ec97ff2a67d4ecf5f1b4426717f1ff8be14c40e94eb82c", "collection": "storage", "dataset_hash": "7c31b524dfe136022d39a6ae8dcfac6b3bbd5f8fdaf422536599981252aff0c9", "source_database": "center", "source_revision": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f"}, "payload": {"facts": [{"label": "\u5b9a\u4e49\u8303\u56f4", "value": "\u540c\u7248\u672c\u6838\u5fc3\u7269\u7406\u5b58\u50a8\u6587\u6863"}], "tables": [{"key": "layout-0", "rows": [{"c0": "PageHeaderData", "c1": "\u957f 24 \u5b57\u8282\uff0c\u5305\u542b\u9875\u9762\u7684\u901a\u7528\u4fe1\u606f\uff0c\u4f8b\u5982\u7a7a\u95f2\u7a7a\u95f4\u6307\u9488\u3002"}, {"c0": "ItemIdData", "c1": "\u6307\u5411\u5b9e\u9645\u6570\u636e\u9879\u7684\u884c\u6307\u9488\u6570\u7ec4\u3002\u6bcf\u9879\u4e3a\u4e00\u4e2a\uff08\u504f\u79fb\uff0c\u957f\u5ea6\uff09\u5bf9\uff0c\u5360 4 \u5b57\u8282\u3002"}, {"c0": "\u7a7a\u95f2\u7a7a\u95f4", "c1": "\u5c1a\u672a\u5206\u914d\u7684\u7a7a\u95f4\u3002\u65b0\u884c\u6307\u9488\u4ece\u8be5\u533a\u57df\u7684\u8d77\u59cb\u5904\u5206\u914d\uff0c\u65b0\u6570\u636e\u9879\u4ece\u672b\u5c3e\u5904\u5206\u914d\u3002"}, {"c0": "\u9879", "c1": "\u5b9e\u9645\u7684\u6570\u636e\u9879\u672c\u8eab\u3002"}, {"c0": "\u7279\u6b8a\u7a7a\u95f4", "c1": "\u7d22\u5f15\u8bbf\u95ee\u65b9\u6cd5\u4e13\u7528\u6570\u636e\u3002\u4e0d\u540c\u65b9\u6cd5\u5b58\u50a8\u7684\u5185\u5bb9\u4e0d\u540c\uff0c\u666e\u901a\u8868\u4e2d\u6b64\u533a\u57df\u4e3a\u7a7a\u3002"}], "title": "\u9875\u9762\u603b\u4f53\u5e03\u5c40", "columns": [{"key": "c0", "label": "\u9879\u76ee"}, {"key": "c1", "label": "\u8bf4\u660e"}]}, {"key": "layout-1", "rows": [{"c0": "pd_lsn", "c1": "PageXLogRecPtr", "c2": "8 \u5b57\u8282", "c3": "LSN\uff1a\u8be5\u9875\u6700\u540e\u4e00\u6b21\u53d8\u5316\u6240\u5bf9\u5e94 WAL \u8bb0\u5f55\u7684\u6700\u540e\u4e00\u4e2a\u5b57\u8282\u4e4b\u540e\u7684\u4f4d\u7f6e\u3002"}, {"c0": "pd_checksum", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u9875\u9762\u6821\u9a8c\u548c"}, {"c0": "pd_flags", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u6807\u5fd7\u4f4d"}, {"c0": "pd_lower", "c1": "LocationIndex", "c2": "2 \u5b57\u8282", "c3": "\u7a7a\u95f2\u7a7a\u95f4\u8d77\u59cb\u4f4d\u7f6e\u7684\u504f\u79fb\u91cf"}, {"c0": "pd_upper", "c1": "LocationIndex", "c2": "2 \u5b57\u8282", "c3": "\u7a7a\u95f2\u7a7a\u95f4\u7ed3\u675f\u4f4d\u7f6e\u7684\u504f\u79fb\u91cf"}, {"c0": "pd_special", "c1": "LocationIndex", "c2": "2 \u5b57\u8282", "c3": "\u7279\u6b8a\u7a7a\u95f4\u8d77\u59cb\u4f4d\u7f6e\u7684\u504f\u79fb\u91cf"}, {"c0": "pd_pagesize_version", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u9875\u9762\u5927\u5c0f\u4e0e\u5e03\u5c40\u7248\u672c\u53f7\u4fe1\u606f"}, {"c0": "pd_prune_xid", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "\u9875\u9762\u4e0a\u6700\u65e9\u7684\u5c1a\u672a\u4fee\u526a\u7684 XMAX\uff1b\u6ca1\u6709\u5219\u4e3a\u96f6"}], "title": "PageHeaderData \u5e03\u5c40", "columns": [{"key": "c0", "label": "\u5b57\u6bb5"}, {"key": "c1", "label": "\u7c7b\u578b"}, {"key": "c2", "label": "\u957f\u5ea6"}, {"key": "c3", "label": "\u8bf4\u660e"}]}, {"key": "layout-2", "rows": [{"c0": "t_xmin", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "\u63d2\u5165\u4e8b\u52a1\u7684 XID"}, {"c0": "t_xmax", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "\u5220\u9664\u4e8b\u52a1\u7684 XID"}, {"c0": "t_cid", "c1": "CommandId", "c2": "4 \u5b57\u8282", "c3": "\u63d2\u5165\u548c\uff0f\u6216\u5220\u9664\u547d\u4ee4\u7684 CID\uff0c\u4e0e t_xvac \u5171\u7528\u5b58\u50a8\u4f4d\u7f6e"}, {"c0": "t_xvac", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "VACUUM \u64cd\u4f5c\u79fb\u52a8\u884c\u7248\u672c\u65f6\u4f7f\u7528\u7684 XID"}, {"c0": "t_ctid", "c1": "ItemPointerData", "c2": "6 \u5b57\u8282", "c3": "\u672c\u884c\u7248\u672c\u6216\u8f83\u65b0\u884c\u7248\u672c\u7684\u5f53\u524d TID"}, {"c0": "t_infomask2", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u5c5e\u6027\u6570\u91cf\u53ca\u5404\u79cd\u6807\u5fd7\u4f4d"}, {"c0": "t_infomask", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u5404\u79cd\u6807\u5fd7\u4f4d"}, {"c0": "t_hoff", "c1": "uint8", "c2": "1 \u5b57\u8282", "c3": "\u7528\u6237\u6570\u636e\u7684\u504f\u79fb\u91cf"}], "title": "HeapTupleHeaderData \u5e03\u5c40", "columns": [{"key": "c0", "label": "\u5b57\u6bb5"}, {"key": "c1", "label": "\u7c7b\u578b"}, {"key": "c2", "label": "\u957f\u5ea6"}, {"key": "c3", "label": "\u8bf4\u660e"}]}], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-identity", "manual": {"url": "/zh/docs/18/storage-page-layout.html", "anchor": "", "locale": "zh-Hans", "version": "18", "build_id": 107, "page_key": "storage-page-layout.html", "extraction": "concept-introduction", "source_hash": "07870df29bfc52d49b5aa3018212c94da48a0d9edea8d214a87d8aca0b5d55f2", "fragment_sha256": "70d9ed3e5a4d017703443ebfa5d5d78fd4a8aa49e8463177dd26bd8f75189b5c", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "git:b1b500221dbe5437cfca004d6b04d3f6e422765d;html-sha256:08e987a66af27b98444a8057c256314eafa13611a3fb9e888214fc436824244b", "translated_from_revision": null}, "body_sha256": "f762c68ebbb1ec7279d847ca2652533b1a0e184af5db9d00a636a4da65ecfc39", "runtime_rerun": false, "authored_translation": "source-derived-identity", "source_facts_revision": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f"}, "sections": [], "description_zh": "\u672c\u8282\u6982\u8ff0 PostgreSQL \u8868\u548c\u7d22\u5f15\u5185\u90e8\u6240\u4f7f\u7528\u7684\u9875\u9762\u683c\u5f0f\u3002 [19] \u5e8f\u5217\u548c TOAST \u8868\u7684\u683c\u5f0f\u4e0e\u666e\u901a\u8868\u76f8\u540c\u3002 \u5728\u4e0b\u9762\u7684\u8bf4\u660e\u4e2d\uff0c\u5047\u5b9a\u4e00\u4e2a \u5b57\u8282 \u5305\u542b 8 \u4e2a\u4f4d\u3002\u53e6\u5916\uff0c\u672f\u8bed \u9879 \u6307\u7684\u662f\u5b58\u50a8\u5728\u9875\u9762\u4e0a\u7684\u5355\u4e2a\u6570\u636e\u503c\u3002\u5728\u8868\u4e2d\uff0c\u9879\u662f\u4e00\u884c\uff1b\u5728\u7d22\u5f15\u4e2d\uff0c\u9879\u662f\u4e00\u6761\u7d22\u5f15\u6761\u76ee\u3002 \u6bcf\u4e2a\u8868\u548c\u7d22\u5f15\u90fd\u5b58\u50a8\u4e3a\u56fa\u5b9a\u5927\u5c0f\u7684 \u9875\u9762 \u6570\u7ec4\uff08\u901a\u5e38\u4e3a 8 kB\uff0c\u4e0d\u8fc7\u5728\u7f16\u8bd1\u670d\u52a1\u5668\u65f6\u53ef\u4ee5\u9009\u62e9\u4e0d\u540c\u7684\u9875\u9762\u5927\u5c0f\uff09\u3002\u5728\u8868\u4e2d\uff0c\u6240\u6709\u9875\u9762\u5728\u903b\u8f91\u4e0a\u90fd\u662f\u7b49\u4ef7\u7684\uff0c\u56e0\u6b64\u67d0\u4e2a\u7279\u5b9a\u9879\uff08\u884c\uff09\u53ef\u4ee5\u5b58\u653e\u5728\u4efb\u610f\u9875\u9762\u4e2d\u3002\u5728\u7d22\u5f15\u4e2d\uff0c\u7b2c\u4e00\u9875\u901a\u5e38\u4fdd\u7559\u4e3a \u5143\u9875 \uff0c\u7528\u4e8e\u4fdd\u5b58\u63a7\u5236\u4fe1\u606f\uff1b\u5e76\u4e14\u6839\u636e\u7d22\u5f15\u8bbf\u95ee\u65b9\u6cd5\u7684\u4e0d\u540c\uff0c\u7d22\u5f15\u4e2d\u8fd8\u53ef\u80fd\u5b58\u5728\u4e0d\u540c\u7c7b\u578b\u7684\u9875\u9762\u3002 \u8868 66.2 \u5c55\u793a\u4e86\u9875\u9762\u7684\u603b\u4f53\u5e03\u5c40\u3002\u6bcf\u4e2a\u9875\u9762\u5305\u542b\u4e94\u4e2a\u90e8\u5206\u3002", "description_zh_html": "<p>\u5b58\u50a8\u7ed3\u6784 storage-page-layout\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n\u672c\u8282\u6982\u8ff0 <span class=\"productname\">PostgreSQL</span> \u8868\u548c\u7d22\u5f15\u5185\u90e8\u6240\u4f7f\u7528\u7684\u9875\u9762\u683c\u5f0f\u3002<a class=\"footnote\" href=\"/zh/docs/18/storage-page-layout.html#ftn.id-1.10.18.8.2.2\"><sup class=\"footnote\">[19]</sup></a>\n\u5e8f\u5217\u548c <acronym class=\"acronym\">TOAST</acronym> \u8868\u7684\u683c\u5f0f\u4e0e\u666e\u901a\u8868\u76f8\u540c\u3002\n</p><p>\n\u5728\u4e0b\u9762\u7684\u8bf4\u660e\u4e2d\uff0c\u5047\u5b9a\u4e00\u4e2a<em class=\"firstterm\">\u5b57\u8282</em>\u5305\u542b 8 \u4e2a\u4f4d\u3002\u53e6\u5916\uff0c\u672f\u8bed<em class=\"firstterm\">\u9879</em>\u6307\u7684\u662f\u5b58\u50a8\u5728\u9875\u9762\u4e0a\u7684\u5355\u4e2a\u6570\u636e\u503c\u3002\u5728\u8868\u4e2d\uff0c\u9879\u662f\u4e00\u884c\uff1b\u5728\u7d22\u5f15\u4e2d\uff0c\u9879\u662f\u4e00\u6761\u7d22\u5f15\u6761\u76ee\u3002\n</p><p>\n\u6bcf\u4e2a\u8868\u548c\u7d22\u5f15\u90fd\u5b58\u50a8\u4e3a\u56fa\u5b9a\u5927\u5c0f\u7684<em class=\"firstterm\">\u9875\u9762</em>\u6570\u7ec4\uff08\u901a\u5e38\u4e3a 8 kB\uff0c\u4e0d\u8fc7\u5728\u7f16\u8bd1\u670d\u52a1\u5668\u65f6\u53ef\u4ee5\u9009\u62e9\u4e0d\u540c\u7684\u9875\u9762\u5927\u5c0f\uff09\u3002\u5728\u8868\u4e2d\uff0c\u6240\u6709\u9875\u9762\u5728\u903b\u8f91\u4e0a\u90fd\u662f\u7b49\u4ef7\u7684\uff0c\u56e0\u6b64\u67d0\u4e2a\u7279\u5b9a\u9879\uff08\u884c\uff09\u53ef\u4ee5\u5b58\u653e\u5728\u4efb\u610f\u9875\u9762\u4e2d\u3002\u5728\u7d22\u5f15\u4e2d\uff0c\u7b2c\u4e00\u9875\u901a\u5e38\u4fdd\u7559\u4e3a<em class=\"firstterm\">\u5143\u9875</em>\uff0c\u7528\u4e8e\u4fdd\u5b58\u63a7\u5236\u4fe1\u606f\uff1b\u5e76\u4e14\u6839\u636e\u7d22\u5f15\u8bbf\u95ee\u65b9\u6cd5\u7684\u4e0d\u540c\uff0c\u7d22\u5f15\u4e2d\u8fd8\u53ef\u80fd\u5b58\u5728\u4e0d\u540c\u7c7b\u578b\u7684\u9875\u9762\u3002\n</p><p>\n<a class=\"xref\" href=\"/zh/docs/18/storage-page-layout.html#PAGE-TABLE\">\u8868\u00a066.2</a> \u5c55\u793a\u4e86\u9875\u9762\u7684\u603b\u4f53\u5e03\u5c40\u3002\u6bcf\u4e2a\u9875\u9762\u5305\u542b\u4e94\u4e2a\u90e8\u5206\u3002\n</p><p><a href=\"/zh/docs/18/storage-page-layout.html\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "summary": "\u672c\u8282\u6982\u8ff0 PostgreSQL \u8868\u548c\u7d22\u5f15\u5185\u90e8\u6240\u4f7f\u7528\u7684\u9875\u9762\u683c\u5f0f\u3002 [19] \u5e8f\u5217\u548c TOAST \u8868\u7684\u683c\u5f0f\u4e0e\u666e\u901a\u8868\u76f8\u540c\u3002 \u5728\u4e0b\u9762\u7684\u8bf4\u660e\u4e2d\uff0c\u5047\u5b9a\u4e00\u4e2a \u5b57\u8282 \u5305\u542b 8 \u4e2a\u4f4d\u3002\u53e6\u5916\uff0c\u672f\u8bed \u9879 \u6307\u7684\u662f\u5b58\u50a8\u5728\u9875\u9762\u4e0a\u7684\u5355\u4e2a\u6570\u636e\u503c\u3002\u5728\u8868\u4e2d\uff0c\u9879\u662f\u4e00\u884c\uff1b\u5728\u7d22\u5f15\u4e2d\uff0c\u9879\u662f\u4e00\u6761\u7d22\u5f15\u6761\u76ee\u3002 \u6bcf\u4e2a\u8868\u548c\u7d22\u5f15\u90fd\u5b58\u50a8\u4e3a\u56fa\u5b9a\u5927\u5c0f\u7684 \u9875\u9762 \u6570\u7ec4\uff08\u901a\u5e38\u4e3a 8 kB\uff0c\u4e0d\u8fc7\u5728\u7f16\u8bd1\u670d\u52a1\u5668\u65f6\u53ef\u4ee5\u9009\u62e9\u4e0d\u540c\u7684\u9875\u9762\u5927\u5c0f\uff09\u3002\u5728\u8868\u4e2d\uff0c\u6240\u6709\u9875\u9762\u5728\u903b\u8f91\u4e0a\u90fd\u662f\u7b49\u4ef7\u7684\uff0c\u56e0\u6b64\u67d0\u4e2a\u7279\u5b9a\u9879\uff08\u884c\uff09\u53ef\u4ee5\u5b58\u653e\u5728\u4efb\u610f\u9875\u9762\u4e2d\u3002\u5728\u7d22\u5f15\u4e2d\uff0c\u7b2c\u4e00\u9875\u901a\u5e38\u4fdd\u7559\u4e3a \u5143\u9875 \uff0c\u7528\u4e8e\u4fdd\u5b58\u63a7\u5236\u4fe1\u606f\uff1b\u5e76\u4e14\u6839\u636e\u7d22\u5f15\u8bbf\u95ee\u65b9\u6cd5\u7684\u4e0d\u540c\uff0c\u7d22\u5f15\u4e2d\u8fd8\u53ef\u80fd\u5b58\u5728\u4e0d\u540c\u7c7b\u578b\u7684\u9875\u9762\u3002 \u8868 66.2 \u5c55\u793a\u4e86\u9875\u9762\u7684\u603b\u4f53\u5e03\u5c40\u3002\u6bcf\u4e2a\u9875\u9762\u5305\u542b\u4e94\u4e2a\u90e8\u5206\u3002", "version": "18", "link_map": {"/zh/docs/18/storage-page-layout.html": "/docs/18/storage-page-layout.html", "/zh/docs/18/storage-page-layout.html#PAGE-TABLE": "/docs/18/storage-page-layout.html#PAGE-TABLE", "/zh/docs/18/storage-page-layout.html#ftn.id-1.10.18.8.2.2": "/docs/18/storage-page-layout.html#ftn.id-1.10.18.8.2.2"}, "body_html": "<p>\u5b58\u50a8\u7ed3\u6784 storage-page-layout\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n\u672c\u8282\u6982\u8ff0 <span>PostgreSQL</span> \u8868\u548c\u7d22\u5f15\u5185\u90e8\u6240\u4f7f\u7528\u7684\u9875\u9762\u683c\u5f0f\u3002<a href=\"/zh/docs/18/storage-page-layout.html#ftn.id-1.10.18.8.2.2\" rel=\"nofollow\"><sup>[19]</sup></a>\n\u5e8f\u5217\u548c <acronym>TOAST</acronym> \u8868\u7684\u683c\u5f0f\u4e0e\u666e\u901a\u8868\u76f8\u540c\u3002\n</p><p>\n\u5728\u4e0b\u9762\u7684\u8bf4\u660e\u4e2d\uff0c\u5047\u5b9a\u4e00\u4e2a<em>\u5b57\u8282</em>\u5305\u542b 8 \u4e2a\u4f4d\u3002\u53e6\u5916\uff0c\u672f\u8bed<em>\u9879</em>\u6307\u7684\u662f\u5b58\u50a8\u5728\u9875\u9762\u4e0a\u7684\u5355\u4e2a\u6570\u636e\u503c\u3002\u5728\u8868\u4e2d\uff0c\u9879\u662f\u4e00\u884c\uff1b\u5728\u7d22\u5f15\u4e2d\uff0c\u9879\u662f\u4e00\u6761\u7d22\u5f15\u6761\u76ee\u3002\n</p><p>\n\u6bcf\u4e2a\u8868\u548c\u7d22\u5f15\u90fd\u5b58\u50a8\u4e3a\u56fa\u5b9a\u5927\u5c0f\u7684<em>\u9875\u9762</em>\u6570\u7ec4\uff08\u901a\u5e38\u4e3a 8 kB\uff0c\u4e0d\u8fc7\u5728\u7f16\u8bd1\u670d\u52a1\u5668\u65f6\u53ef\u4ee5\u9009\u62e9\u4e0d\u540c\u7684\u9875\u9762\u5927\u5c0f\uff09\u3002\u5728\u8868\u4e2d\uff0c\u6240\u6709\u9875\u9762\u5728\u903b\u8f91\u4e0a\u90fd\u662f\u7b49\u4ef7\u7684\uff0c\u56e0\u6b64\u67d0\u4e2a\u7279\u5b9a\u9879\uff08\u884c\uff09\u53ef\u4ee5\u5b58\u653e\u5728\u4efb\u610f\u9875\u9762\u4e2d\u3002\u5728\u7d22\u5f15\u4e2d\uff0c\u7b2c\u4e00\u9875\u901a\u5e38\u4fdd\u7559\u4e3a<em>\u5143\u9875</em>\uff0c\u7528\u4e8e\u4fdd\u5b58\u63a7\u5236\u4fe1\u606f\uff1b\u5e76\u4e14\u6839\u636e\u7d22\u5f15\u8bbf\u95ee\u65b9\u6cd5\u7684\u4e0d\u540c\uff0c\u7d22\u5f15\u4e2d\u8fd8\u53ef\u80fd\u5b58\u5728\u4e0d\u540c\u7c7b\u578b\u7684\u9875\u9762\u3002\n</p><p>\n<a href=\"/zh/docs/18/storage-page-layout.html#PAGE-TABLE\" rel=\"nofollow\">\u8868\u00a066.2</a> \u5c55\u793a\u4e86\u9875\u9762\u7684\u603b\u4f53\u5e03\u5c40\u3002\u6bcf\u4e2a\u9875\u9762\u5305\u542b\u4e94\u4e2a\u90e8\u5206\u3002\n</p><p><a href=\"/zh/docs/18/storage-page-layout.html\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>", "body_sha256": "47a8b02df6e793cda1e0b872ef87206b3c8f0a6a02c6bdbc34c3026c43d2c1e2", "content_hash": "b23cc9d8cdb153bee1ec97ff2a67d4ecf5f1b4426717f1ff8be14c40e94eb82c", "source_database": "center", "source_revision": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f"}, "signature": "", "tables_zh": [{"key": "layout-0", "rows": [{"c0": "PageHeaderData", "c1": "\u957f 24 \u5b57\u8282\uff0c\u5305\u542b\u9875\u9762\u7684\u901a\u7528\u4fe1\u606f\uff0c\u4f8b\u5982\u7a7a\u95f2\u7a7a\u95f4\u6307\u9488\u3002"}, {"c0": "ItemIdData", "c1": "\u6307\u5411\u5b9e\u9645\u6570\u636e\u9879\u7684\u884c\u6307\u9488\u6570\u7ec4\u3002\u6bcf\u9879\u4e3a\u4e00\u4e2a\uff08\u504f\u79fb\uff0c\u957f\u5ea6\uff09\u5bf9\uff0c\u5360 4 \u5b57\u8282\u3002"}, {"c0": "\u7a7a\u95f2\u7a7a\u95f4", "c1": "\u5c1a\u672a\u5206\u914d\u7684\u7a7a\u95f4\u3002\u65b0\u884c\u6307\u9488\u4ece\u8be5\u533a\u57df\u7684\u8d77\u59cb\u5904\u5206\u914d\uff0c\u65b0\u6570\u636e\u9879\u4ece\u672b\u5c3e\u5904\u5206\u914d\u3002"}, {"c0": "\u9879", "c1": "\u5b9e\u9645\u7684\u6570\u636e\u9879\u672c\u8eab\u3002"}, {"c0": "\u7279\u6b8a\u7a7a\u95f4", "c1": "\u7d22\u5f15\u8bbf\u95ee\u65b9\u6cd5\u4e13\u7528\u6570\u636e\u3002\u4e0d\u540c\u65b9\u6cd5\u5b58\u50a8\u7684\u5185\u5bb9\u4e0d\u540c\uff0c\u666e\u901a\u8868\u4e2d\u6b64\u533a\u57df\u4e3a\u7a7a\u3002"}], "title": "\u9875\u9762\u603b\u4f53\u5e03\u5c40", "columns": [{"key": "c0", "label": "\u9879\u76ee"}, {"key": "c1", "label": "\u8bf4\u660e"}]}, {"key": "layout-1", "rows": [{"c0": "pd_lsn", "c1": "PageXLogRecPtr", "c2": "8 \u5b57\u8282", "c3": "LSN\uff1a\u8be5\u9875\u6700\u540e\u4e00\u6b21\u53d8\u5316\u6240\u5bf9\u5e94 WAL \u8bb0\u5f55\u7684\u6700\u540e\u4e00\u4e2a\u5b57\u8282\u4e4b\u540e\u7684\u4f4d\u7f6e\u3002"}, {"c0": "pd_checksum", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u9875\u9762\u6821\u9a8c\u548c"}, {"c0": "pd_flags", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u6807\u5fd7\u4f4d"}, {"c0": "pd_lower", "c1": "LocationIndex", "c2": "2 \u5b57\u8282", "c3": "\u7a7a\u95f2\u7a7a\u95f4\u8d77\u59cb\u4f4d\u7f6e\u7684\u504f\u79fb\u91cf"}, {"c0": "pd_upper", "c1": "LocationIndex", "c2": "2 \u5b57\u8282", "c3": "\u7a7a\u95f2\u7a7a\u95f4\u7ed3\u675f\u4f4d\u7f6e\u7684\u504f\u79fb\u91cf"}, {"c0": "pd_special", "c1": "LocationIndex", "c2": "2 \u5b57\u8282", "c3": "\u7279\u6b8a\u7a7a\u95f4\u8d77\u59cb\u4f4d\u7f6e\u7684\u504f\u79fb\u91cf"}, {"c0": "pd_pagesize_version", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u9875\u9762\u5927\u5c0f\u4e0e\u5e03\u5c40\u7248\u672c\u53f7\u4fe1\u606f"}, {"c0": "pd_prune_xid", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "\u9875\u9762\u4e0a\u6700\u65e9\u7684\u5c1a\u672a\u4fee\u526a\u7684 XMAX\uff1b\u6ca1\u6709\u5219\u4e3a\u96f6"}], "title": "PageHeaderData \u5e03\u5c40", "columns": [{"key": "c0", "label": "\u5b57\u6bb5"}, {"key": "c1", "label": "\u7c7b\u578b"}, {"key": "c2", "label": "\u957f\u5ea6"}, {"key": "c3", "label": "\u8bf4\u660e"}]}, {"key": "layout-2", "rows": [{"c0": "t_xmin", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "\u63d2\u5165\u4e8b\u52a1\u7684 XID"}, {"c0": "t_xmax", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "\u5220\u9664\u4e8b\u52a1\u7684 XID"}, {"c0": "t_cid", "c1": "CommandId", "c2": "4 \u5b57\u8282", "c3": "\u63d2\u5165\u548c\uff0f\u6216\u5220\u9664\u547d\u4ee4\u7684 CID\uff0c\u4e0e t_xvac \u5171\u7528\u5b58\u50a8\u4f4d\u7f6e"}, {"c0": "t_xvac", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "VACUUM \u64cd\u4f5c\u79fb\u52a8\u884c\u7248\u672c\u65f6\u4f7f\u7528\u7684 XID"}, {"c0": "t_ctid", "c1": "ItemPointerData", "c2": "6 \u5b57\u8282", "c3": "\u672c\u884c\u7248\u672c\u6216\u8f83\u65b0\u884c\u7248\u672c\u7684\u5f53\u524d TID"}, {"c0": "t_infomask2", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u5c5e\u6027\u6570\u91cf\u53ca\u5404\u79cd\u6807\u5fd7\u4f4d"}, {"c0": "t_infomask", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u5404\u79cd\u6807\u5fd7\u4f4d"}, {"c0": "t_hoff", "c1": "uint8", "c2": "1 \u5b57\u8282", "c3": "\u7528\u6237\u6570\u636e\u7684\u504f\u79fb\u91cf"}], "title": "HeapTupleHeaderData \u5e03\u5c40", "columns": [{"key": "c0", "label": "\u5b57\u6bb5"}, {"key": "c1", "label": "\u7c7b\u578b"}, {"key": "c2", "label": "\u957f\u5ea6"}, {"key": "c3", "label": "\u8bf4\u660e"}]}], "description": ["\u672c\u8282\u6982\u8ff0 PostgreSQL \u8868\u548c\u7d22\u5f15\u5185\u90e8\u6240\u4f7f\u7528\u7684\u9875\u9762\u683c\u5f0f\u3002 [19] \u5e8f\u5217\u548c TOAST \u8868\u7684\u683c\u5f0f\u4e0e\u666e\u901a\u8868\u76f8\u540c\u3002 \u5728\u4e0b\u9762\u7684\u8bf4\u660e\u4e2d\uff0c\u5047\u5b9a\u4e00\u4e2a \u5b57\u8282 \u5305\u542b 8 \u4e2a\u4f4d\u3002\u53e6\u5916\uff0c\u672f\u8bed \u9879 \u6307\u7684\u662f\u5b58\u50a8\u5728\u9875\u9762\u4e0a\u7684\u5355\u4e2a\u6570\u636e\u503c\u3002\u5728\u8868\u4e2d\uff0c\u9879\u662f\u4e00\u884c\uff1b\u5728\u7d22\u5f15\u4e2d\uff0c\u9879\u662f\u4e00\u6761\u7d22\u5f15\u6761\u76ee\u3002 \u6bcf\u4e2a\u8868\u548c\u7d22\u5f15\u90fd\u5b58\u50a8\u4e3a\u56fa\u5b9a\u5927\u5c0f\u7684 \u9875\u9762 \u6570\u7ec4\uff08\u901a\u5e38\u4e3a 8 kB\uff0c\u4e0d\u8fc7\u5728\u7f16\u8bd1\u670d\u52a1\u5668\u65f6\u53ef\u4ee5\u9009\u62e9\u4e0d\u540c\u7684\u9875\u9762\u5927\u5c0f\uff09\u3002\u5728\u8868\u4e2d\uff0c\u6240\u6709\u9875\u9762\u5728\u903b\u8f91\u4e0a\u90fd\u662f\u7b49\u4ef7\u7684\uff0c\u56e0\u6b64\u67d0\u4e2a\u7279\u5b9a\u9879\uff08\u884c\uff09\u53ef\u4ee5\u5b58\u653e\u5728\u4efb\u610f\u9875\u9762\u4e2d\u3002\u5728\u7d22\u5f15\u4e2d\uff0c\u7b2c\u4e00\u9875\u901a\u5e38\u4fdd\u7559\u4e3a \u5143\u9875 \uff0c\u7528\u4e8e\u4fdd\u5b58\u63a7\u5236\u4fe1\u606f\uff1b\u5e76\u4e14\u6839\u636e\u7d22\u5f15\u8bbf\u95ee\u65b9\u6cd5\u7684\u4e0d\u540c\uff0c\u7d22\u5f15\u4e2d\u8fd8\u53ef\u80fd\u5b58\u5728\u4e0d\u540c\u7c7b\u578b\u7684\u9875\u9762\u3002 \u8868 66.2 \u5c55\u793a\u4e86\u9875\u9762\u7684\u603b\u4f53\u5e03\u5c40\u3002\u6bcf\u4e2a\u9875\u9762\u5305\u542b\u4e94\u4e2a\u90e8\u5206\u3002"], "manual_html": "", "manual_path": "/docs/18/storage-page-layout.html", "sections_zh": [], "localization": {"status": "complete", "sources": [{"url": "/docs/18/storage-page-layout.html", "method": "same-major semantic node", "sha256": "e504ff90f2cabf6f71046d80f1cc8d49664ba2f2f4bce0ef26e955d6c5580ab2", "language": "zh", "matched_nodes": ["#STORAGE-PAGE-LAYOUT/div[0]", "#STORAGE-PAGE-LAYOUT/div[16]", "#STORAGE-PAGE-LAYOUT/div[18]/div[2]/p[0]", "#STORAGE-PAGE-LAYOUT/div[18]/p[1]", "#STORAGE-PAGE-LAYOUT/div[18]/p[4]", "#STORAGE-PAGE-LAYOUT/div[18]/p[5]", "#STORAGE-PAGE-LAYOUT/div[18]/p[6]", "#STORAGE-PAGE-LAYOUT/div[19]", "#STORAGE-PAGE-LAYOUT/div[1]", "#STORAGE-PAGE-LAYOUT/div[6]/div[1]/table[0]/tbody[2]/tr[3]/td[0]", "#STORAGE-PAGE-LAYOUT/div[6]/p[0]", "#STORAGE-PAGE-LAYOUT/div[9]/div[1]/table[0]/tbody[2]/tr[0]/td[2]", "#STORAGE-PAGE-LAYOUT/div[9]/p[0]", "#STORAGE-PAGE-LAYOUT/p[11]", "#STORAGE-PAGE-LAYOUT/p[12]", "#STORAGE-PAGE-LAYOUT/p[13]", "#STORAGE-PAGE-LAYOUT/p[14]", "#STORAGE-PAGE-LAYOUT/p[15]", "#STORAGE-PAGE-LAYOUT/p[2]", "#STORAGE-PAGE-LAYOUT/p[3]", "#STORAGE-PAGE-LAYOUT/p[4]", "#STORAGE-PAGE-LAYOUT/p[5]"]}], "language": "zh", "original_text": {"/versions/18/description/0": "This section provides an overview of the page format used within PostgreSQL tables and indexes. [19] Sequences and TOAST tables are formatted just like a regular table.", "/versions/18/facts/0/label": "Definition scope", "/versions/18/facts/0/value": "Same-version core physical storage documentation", "/versions/18/tables/0/title": "Overall Page Layout", "/versions/18/tables/1/title": "PageHeaderData Layout", "/versions/18/tables/2/title": "HeapTupleHeaderData Layout", "/versions/18/related/1/label": "Storage Parameters", "/versions/18/tables/0/rows/0/c1": "24 bytes long. Contains general information about the page, including free space pointers.", "/versions/18/tables/0/rows/1/c1": "Array of item identifiers pointing to the actual items. Each entry is an (offset,length) pair. 4 bytes per item.", "/versions/18/tables/0/rows/2/c0": "Free space", "/versions/18/tables/0/rows/2/c1": "The unallocated space. New item identifiers are allocated from the start of this area, new items from the end.", "/versions/18/tables/0/rows/3/c0": "Items", "/versions/18/tables/0/rows/3/c1": "The actual items themselves.", "/versions/18/tables/0/rows/4/c0": "Special space", "/versions/18/tables/0/rows/4/c1": "Index access method specific data. Different methods store different data. Empty in ordinary tables.", "/versions/18/tables/1/rows/0/c2": "8 bytes", "/versions/18/tables/1/rows/0/c3": "LSN: next byte after last byte of WAL record for last change to this page", "/versions/18/tables/1/rows/1/c2": "2 bytes", "/versions/18/tables/1/rows/1/c3": "Page checksum", "/versions/18/tables/1/rows/2/c2": "2 bytes", "/versions/18/tables/1/rows/2/c3": "Flag bits", "/versions/18/tables/1/rows/3/c2": "2 bytes", "/versions/18/tables/1/rows/3/c3": "Offset to start of free space", "/versions/18/tables/1/rows/4/c2": "2 bytes", "/versions/18/tables/1/rows/4/c3": "Offset to end of free space", "/versions/18/tables/1/rows/5/c2": "2 bytes", "/versions/18/tables/1/rows/5/c3": "Offset to start of special space", "/versions/18/tables/1/rows/6/c2": "2 bytes", "/versions/18/tables/1/rows/6/c3": "Page size and layout version number information", "/versions/18/tables/1/rows/7/c2": "4 bytes", "/versions/18/tables/1/rows/7/c3": "Oldest unpruned XMAX on page, or zero if none", "/versions/18/tables/2/rows/0/c2": "4 bytes", "/versions/18/tables/2/rows/0/c3": "insert XID stamp", "/versions/18/tables/2/rows/1/c2": "4 bytes", "/versions/18/tables/2/rows/1/c3": "delete XID stamp", "/versions/18/tables/2/rows/2/c2": "4 bytes", "/versions/18/tables/2/rows/2/c3": "insert and/or delete CID stamp (overlays with t_xvac)", "/versions/18/tables/2/rows/3/c2": "4 bytes", "/versions/18/tables/2/rows/3/c3": "XID for VACUUM operation moving a row version", "/versions/18/tables/2/rows/4/c2": "6 bytes", "/versions/18/tables/2/rows/4/c3": "current TID of this or newer row version", "/versions/18/tables/2/rows/5/c2": "2 bytes", "/versions/18/tables/2/rows/5/c3": "number of attributes, plus various flag bits", "/versions/18/tables/2/rows/6/c2": "2 bytes", "/versions/18/tables/2/rows/6/c3": "various flag bits", "/versions/18/tables/2/rows/7/c2": "1 byte", "/versions/18/tables/2/rows/7/c3": "offset to user data", "/versions/18/tables/0/columns/0/label": "Item", "/versions/18/tables/0/columns/1/label": "Description", "/versions/18/tables/1/columns/0/label": "Field", "/versions/18/tables/1/columns/1/label": "Type", "/versions/18/tables/1/columns/2/label": "Length", "/versions/18/tables/1/columns/3/label": "Description", "/versions/18/tables/2/columns/0/label": "Field", "/versions/18/tables/2/columns/1/label": "Type", "/versions/18/tables/2/columns/2/label": "Length", "/versions/18/tables/2/columns/3/label": "Description"}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "a9dda740e83f3772422bb1b41e492854b00998da5004f5a0e1f65588f2beaebd", "canonical_center_text_hash": "b23cc9d8cdb153bee1ec97ff2a67d4ecf5f1b4426717f1ff8be14c40e94eb82c"}, "description_zh": "\u672c\u8282\u6982\u8ff0 PostgreSQL \u8868\u548c\u7d22\u5f15\u5185\u90e8\u6240\u4f7f\u7528\u7684\u9875\u9762\u683c\u5f0f\u3002 [19] \u5e8f\u5217\u548c TOAST \u8868\u7684\u683c\u5f0f\u4e0e\u666e\u901a\u8868\u76f8\u540c\u3002 \u5728\u4e0b\u9762\u7684\u8bf4\u660e\u4e2d\uff0c\u5047\u5b9a\u4e00\u4e2a \u5b57\u8282 \u5305\u542b 8 \u4e2a\u4f4d\u3002\u53e6\u5916\uff0c\u672f\u8bed \u9879 \u6307\u7684\u662f\u5b58\u50a8\u5728\u9875\u9762\u4e0a\u7684\u5355\u4e2a\u6570\u636e\u503c\u3002\u5728\u8868\u4e2d\uff0c\u9879\u662f\u4e00\u884c\uff1b\u5728\u7d22\u5f15\u4e2d\uff0c\u9879\u662f\u4e00\u6761\u7d22\u5f15\u6761\u76ee\u3002 \u6bcf\u4e2a\u8868\u548c\u7d22\u5f15\u90fd\u5b58\u50a8\u4e3a\u56fa\u5b9a\u5927\u5c0f\u7684 \u9875\u9762 \u6570\u7ec4\uff08\u901a\u5e38\u4e3a 8 kB\uff0c\u4e0d\u8fc7\u5728\u7f16\u8bd1\u670d\u52a1\u5668\u65f6\u53ef\u4ee5\u9009\u62e9\u4e0d\u540c\u7684\u9875\u9762\u5927\u5c0f\uff09\u3002\u5728\u8868\u4e2d\uff0c\u6240\u6709\u9875\u9762\u5728\u903b\u8f91\u4e0a\u90fd\u662f\u7b49\u4ef7\u7684\uff0c\u56e0\u6b64\u67d0\u4e2a\u7279\u5b9a\u9879\uff08\u884c\uff09\u53ef\u4ee5\u5b58\u653e\u5728\u4efb\u610f\u9875\u9762\u4e2d\u3002\u5728\u7d22\u5f15\u4e2d\uff0c\u7b2c\u4e00\u9875\u901a\u5e38\u4fdd\u7559\u4e3a \u5143\u9875 \uff0c\u7528\u4e8e\u4fdd\u5b58\u63a7\u5236\u4fe1\u606f\uff1b\u5e76\u4e14\u6839\u636e\u7d22\u5f15\u8bbf\u95ee\u65b9\u6cd5\u7684\u4e0d\u540c\uff0c\u7d22\u5f15\u4e2d\u8fd8\u53ef\u80fd\u5b58\u5728\u4e0d\u540c\u7c7b\u578b\u7684\u9875\u9762\u3002 \u8868 66.2 \u5c55\u793a\u4e86\u9875\u9762\u7684\u603b\u4f53\u5e03\u5c40\u3002\u6bcf\u4e2a\u9875\u9762\u5305\u542b\u4e94\u4e2a\u90e8\u5206\u3002", "comparison_data": {"layouts": [{"key": "layout-0", "rows": [{"c0": "PageHeaderData", "c1": "24 bytes long. Contains general information about the page, including free space pointers."}, {"c0": "ItemIdData", "c1": "Array of item identifiers pointing to the actual items. Each entry is an (offset,length) pair. 4 bytes per item."}, {"c0": "Free space", "c1": "The unallocated space. New item identifiers are allocated from the start of this area, new items from the end."}, {"c0": "Items", "c1": "The actual items themselves."}, {"c0": "Special space", "c1": "Index access method specific data. Different methods store different data. Empty in ordinary tables."}], "title": "Overall Page Layout", "columns": [{"key": "c0", "label": "Item"}, {"key": "c1", "label": "Description"}]}, {"key": "layout-1", "rows": [{"c0": "pd_lsn", "c1": "PageXLogRecPtr", "c2": "8 bytes", "c3": "LSN: next byte after last byte of WAL record for last change to this page"}, {"c0": "pd_checksum", "c1": "uint16", "c2": "2 bytes", "c3": "Page checksum"}, {"c0": "pd_flags", "c1": "uint16", "c2": "2 bytes", "c3": "Flag bits"}, {"c0": "pd_lower", "c1": "LocationIndex", "c2": "2 bytes", "c3": "Offset to start of free space"}, {"c0": "pd_upper", "c1": "LocationIndex", "c2": "2 bytes", "c3": "Offset to end of free space"}, {"c0": "pd_special", "c1": "LocationIndex", "c2": "2 bytes", "c3": "Offset to start of special space"}, {"c0": "pd_pagesize_version", "c1": "uint16", "c2": "2 bytes", "c3": "Page size and layout version number information"}, {"c0": "pd_prune_xid", "c1": "TransactionId", "c2": "4 bytes", "c3": "Oldest unpruned XMAX on page, or zero if none"}], "title": "PageHeaderData Layout", "columns": [{"key": "c0", "label": "Field"}, {"key": "c1", "label": "Type"}, {"key": "c2", "label": "Length"}, {"key": "c3", "label": "Description"}]}, {"key": "layout-2", "rows": [{"c0": "t_xmin", "c1": "TransactionId", "c2": "4 bytes", "c3": "insert XID stamp"}, {"c0": "t_xmax", "c1": "TransactionId", "c2": "4 bytes", "c3": "delete XID stamp"}, {"c0": "t_cid", "c1": "CommandId", "c2": "4 bytes", "c3": "insert and/or delete CID stamp (overlays with t_xvac)"}, {"c0": "t_xvac", "c1": "TransactionId", "c2": "4 bytes", "c3": "XID for VACUUM operation moving a row version"}, {"c0": "t_ctid", "c1": "ItemPointerData", "c2": "6 bytes", "c3": "current TID of this or newer row version"}, {"c0": "t_infomask2", "c1": "uint16", "c2": "2 bytes", "c3": "number of attributes, plus various flag bits"}, {"c0": "t_infomask", "c1": "uint16", "c2": "2 bytes", "c3": "various flag bits"}, {"c0": "t_hoff", "c1": "uint8", "c2": "1 byte", "c3": "offset to user data"}], "title": "HeapTupleHeaderData Layout", "columns": [{"key": "c0", "label": "Field"}, {"key": "c1", "label": "Type"}, {"key": "c2", "label": "Length"}, {"key": "c3", "label": "Description"}]}]}, "comparison_hash": "b621fa85b3be27a0eb0d82986e9524f2ef0a776761901f0d429826eec4822d0a", "manual_language": "zh", "description_zh_html": "<p>\u5b58\u50a8\u7ed3\u6784 storage-page-layout\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n\u672c\u8282\u6982\u8ff0 <span>PostgreSQL</span> \u8868\u548c\u7d22\u5f15\u5185\u90e8\u6240\u4f7f\u7528\u7684\u9875\u9762\u683c\u5f0f\u3002<a href=\"/zh/docs/18/storage-page-layout.html#ftn.id-1.10.18.8.2.2\" rel=\"nofollow\"><sup>[19]</sup></a>\n\u5e8f\u5217\u548c <acronym>TOAST</acronym> \u8868\u7684\u683c\u5f0f\u4e0e\u666e\u901a\u8868\u76f8\u540c\u3002\n</p><p>\n\u5728\u4e0b\u9762\u7684\u8bf4\u660e\u4e2d\uff0c\u5047\u5b9a\u4e00\u4e2a<em>\u5b57\u8282</em>\u5305\u542b 8 \u4e2a\u4f4d\u3002\u53e6\u5916\uff0c\u672f\u8bed<em>\u9879</em>\u6307\u7684\u662f\u5b58\u50a8\u5728\u9875\u9762\u4e0a\u7684\u5355\u4e2a\u6570\u636e\u503c\u3002\u5728\u8868\u4e2d\uff0c\u9879\u662f\u4e00\u884c\uff1b\u5728\u7d22\u5f15\u4e2d\uff0c\u9879\u662f\u4e00\u6761\u7d22\u5f15\u6761\u76ee\u3002\n</p><p>\n\u6bcf\u4e2a\u8868\u548c\u7d22\u5f15\u90fd\u5b58\u50a8\u4e3a\u56fa\u5b9a\u5927\u5c0f\u7684<em>\u9875\u9762</em>\u6570\u7ec4\uff08\u901a\u5e38\u4e3a 8 kB\uff0c\u4e0d\u8fc7\u5728\u7f16\u8bd1\u670d\u52a1\u5668\u65f6\u53ef\u4ee5\u9009\u62e9\u4e0d\u540c\u7684\u9875\u9762\u5927\u5c0f\uff09\u3002\u5728\u8868\u4e2d\uff0c\u6240\u6709\u9875\u9762\u5728\u903b\u8f91\u4e0a\u90fd\u662f\u7b49\u4ef7\u7684\uff0c\u56e0\u6b64\u67d0\u4e2a\u7279\u5b9a\u9879\uff08\u884c\uff09\u53ef\u4ee5\u5b58\u653e\u5728\u4efb\u610f\u9875\u9762\u4e2d\u3002\u5728\u7d22\u5f15\u4e2d\uff0c\u7b2c\u4e00\u9875\u901a\u5e38\u4fdd\u7559\u4e3a<em>\u5143\u9875</em>\uff0c\u7528\u4e8e\u4fdd\u5b58\u63a7\u5236\u4fe1\u606f\uff1b\u5e76\u4e14\u6839\u636e\u7d22\u5f15\u8bbf\u95ee\u65b9\u6cd5\u7684\u4e0d\u540c\uff0c\u7d22\u5f15\u4e2d\u8fd8\u53ef\u80fd\u5b58\u5728\u4e0d\u540c\u7c7b\u578b\u7684\u9875\u9762\u3002\n</p><p>\n<a href=\"/zh/docs/18/storage-page-layout.html#PAGE-TABLE\" rel=\"nofollow\">\u8868\u00a066.2</a> \u5c55\u793a\u4e86\u9875\u9762\u7684\u603b\u4f53\u5e03\u5c40\u3002\u6bcf\u4e2a\u9875\u9762\u5305\u542b\u4e94\u4e2a\u90e8\u5206\u3002\n</p><p><a href=\"/zh/docs/18/storage-page-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 storage-page-layout\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n\u672c\u8282\u6982\u8ff0 <span>PostgreSQL</span> \u8868\u548c\u7d22\u5f15\u5185\u90e8\u6240\u4f7f\u7528\u7684\u9875\u9762\u683c\u5f0f\u3002<a href=\"/docs/18/storage-page-layout.html#ftn.id-1.10.18.8.2.2\"><sup>[19]</sup></a>\n\u5e8f\u5217\u548c TOAST \u8868\u7684\u683c\u5f0f\u4e0e\u666e\u901a\u8868\u76f8\u540c\u3002\n</p><p>\n\u5728\u4e0b\u9762\u7684\u8bf4\u660e\u4e2d\uff0c\u5047\u5b9a\u4e00\u4e2a<em>\u5b57\u8282</em>\u5305\u542b 8 \u4e2a\u4f4d\u3002\u53e6\u5916\uff0c\u672f\u8bed<em>\u9879</em>\u6307\u7684\u662f\u5b58\u50a8\u5728\u9875\u9762\u4e0a\u7684\u5355\u4e2a\u6570\u636e\u503c\u3002\u5728\u8868\u4e2d\uff0c\u9879\u662f\u4e00\u884c\uff1b\u5728\u7d22\u5f15\u4e2d\uff0c\u9879\u662f\u4e00\u6761\u7d22\u5f15\u6761\u76ee\u3002\n</p><p>\n\u6bcf\u4e2a\u8868\u548c\u7d22\u5f15\u90fd\u5b58\u50a8\u4e3a\u56fa\u5b9a\u5927\u5c0f\u7684<em>\u9875\u9762</em>\u6570\u7ec4\uff08\u901a\u5e38\u4e3a 8 kB\uff0c\u4e0d\u8fc7\u5728\u7f16\u8bd1\u670d\u52a1\u5668\u65f6\u53ef\u4ee5\u9009\u62e9\u4e0d\u540c\u7684\u9875\u9762\u5927\u5c0f\uff09\u3002\u5728\u8868\u4e2d\uff0c\u6240\u6709\u9875\u9762\u5728\u903b\u8f91\u4e0a\u90fd\u662f\u7b49\u4ef7\u7684\uff0c\u56e0\u6b64\u67d0\u4e2a\u7279\u5b9a\u9879\uff08\u884c\uff09\u53ef\u4ee5\u5b58\u653e\u5728\u4efb\u610f\u9875\u9762\u4e2d\u3002\u5728\u7d22\u5f15\u4e2d\uff0c\u7b2c\u4e00\u9875\u901a\u5e38\u4fdd\u7559\u4e3a<em>\u5143\u9875</em>\uff0c\u7528\u4e8e\u4fdd\u5b58\u63a7\u5236\u4fe1\u606f\uff1b\u5e76\u4e14\u6839\u636e\u7d22\u5f15\u8bbf\u95ee\u65b9\u6cd5\u7684\u4e0d\u540c\uff0c\u7d22\u5f15\u4e2d\u8fd8\u53ef\u80fd\u5b58\u5728\u4e0d\u540c\u7c7b\u578b\u7684\u9875\u9762\u3002\n</p><p>\n<a href=\"/docs/18/storage-page-layout.html#PAGE-TABLE\">\u8868\u00a066.2</a> \u5c55\u793a\u4e86\u9875\u9762\u7684\u603b\u4f53\u5e03\u5c40\u3002\u6bcf\u4e2a\u9875\u9762\u5305\u542b\u4e94\u4e2a\u90e8\u5206\u3002\n</p><p><a href=\"/docs/18/storage-page-layout.html\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "19": {"facts": [{"label": "\u5b9a\u4e49\u8303\u56f4", "value": "\u540c\u7248\u672c\u6838\u5fc3\u7269\u7406\u5b58\u50a8\u6587\u6863"}], "tables": [{"key": "layout-0", "rows": [{"c0": "PageHeaderData", "c1": "\u957f 24 \u5b57\u8282\uff0c\u5305\u542b\u9875\u9762\u7684\u901a\u7528\u4fe1\u606f\uff0c\u4f8b\u5982\u7a7a\u95f2\u7a7a\u95f4\u6307\u9488\u3002"}, {"c0": "ItemIdData", "c1": "\u6307\u5411\u5b9e\u9645\u6570\u636e\u9879\u7684\u884c\u6307\u9488\u6570\u7ec4\u3002\u6bcf\u9879\u4e3a\u4e00\u4e2a\uff08\u504f\u79fb\uff0c\u957f\u5ea6\uff09\u5bf9\uff0c\u5360 4 \u5b57\u8282\u3002"}, {"c0": "\u7a7a\u95f2\u7a7a\u95f4", "c1": "\u5c1a\u672a\u5206\u914d\u7684\u7a7a\u95f4\u3002\u65b0\u884c\u6307\u9488\u4ece\u8be5\u533a\u57df\u7684\u8d77\u59cb\u5904\u5206\u914d\uff0c\u65b0\u6570\u636e\u9879\u4ece\u672b\u5c3e\u5904\u5206\u914d\u3002"}, {"c0": "\u9879", "c1": "\u5b9e\u9645\u7684\u6570\u636e\u9879\u672c\u8eab\u3002"}, {"c0": "\u7279\u6b8a\u7a7a\u95f4", "c1": "\u7d22\u5f15\u8bbf\u95ee\u65b9\u6cd5\u4e13\u7528\u6570\u636e\u3002\u4e0d\u540c\u65b9\u6cd5\u5b58\u50a8\u7684\u5185\u5bb9\u4e0d\u540c\uff0c\u666e\u901a\u8868\u4e2d\u6b64\u533a\u57df\u4e3a\u7a7a\u3002"}], "title": "\u9875\u9762\u603b\u4f53\u5e03\u5c40", "columns": [{"key": "c0", "label": "\u9879\u76ee"}, {"key": "c1", "label": "\u8bf4\u660e"}]}, {"key": "layout-1", "rows": [{"c0": "pd_lsn", "c1": "PageXLogRecPtr", "c2": "8 \u5b57\u8282", "c3": "LSN\uff1a\u8be5\u9875\u6700\u540e\u4e00\u6b21\u53d8\u5316\u6240\u5bf9\u5e94 WAL \u8bb0\u5f55\u7684\u6700\u540e\u4e00\u4e2a\u5b57\u8282\u4e4b\u540e\u7684\u4f4d\u7f6e\u3002"}, {"c0": "pd_checksum", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u9875\u9762\u6821\u9a8c\u548c"}, {"c0": "pd_flags", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u6807\u5fd7\u4f4d"}, {"c0": "pd_lower", "c1": "LocationIndex", "c2": "2 \u5b57\u8282", "c3": "\u7a7a\u95f2\u7a7a\u95f4\u8d77\u59cb\u4f4d\u7f6e\u7684\u504f\u79fb\u91cf"}, {"c0": "pd_upper", "c1": "LocationIndex", "c2": "2 \u5b57\u8282", "c3": "\u7a7a\u95f2\u7a7a\u95f4\u7ed3\u675f\u4f4d\u7f6e\u7684\u504f\u79fb\u91cf"}, {"c0": "pd_special", "c1": "LocationIndex", "c2": "2 \u5b57\u8282", "c3": "\u7279\u6b8a\u7a7a\u95f4\u8d77\u59cb\u4f4d\u7f6e\u7684\u504f\u79fb\u91cf"}, {"c0": "pd_pagesize_version", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u9875\u9762\u5927\u5c0f\u4e0e\u5e03\u5c40\u7248\u672c\u53f7\u4fe1\u606f"}, {"c0": "pd_prune_xid", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "\u9875\u9762\u4e0a\u6700\u65e9\u7684\u5c1a\u672a\u4fee\u526a\u7684 XMAX\uff1b\u6ca1\u6709\u5219\u4e3a\u96f6"}], "title": "PageHeaderData \u5e03\u5c40", "columns": [{"key": "c0", "label": "\u5b57\u6bb5"}, {"key": "c1", "label": "\u7c7b\u578b"}, {"key": "c2", "label": "\u957f\u5ea6"}, {"key": "c3", "label": "\u8bf4\u660e"}]}, {"key": "layout-2", "rows": [{"c0": "t_xmin", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "\u63d2\u5165\u4e8b\u52a1\u7684 XID"}, {"c0": "t_xmax", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "\u5220\u9664\u4e8b\u52a1\u7684 XID"}, {"c0": "t_cid", "c1": "CommandId", "c2": "4 \u5b57\u8282", "c3": "\u63d2\u5165\u548c\uff0f\u6216\u5220\u9664\u547d\u4ee4\u7684 CID\uff0c\u4e0e t_xvac \u5171\u7528\u5b58\u50a8\u4f4d\u7f6e"}, {"c0": "t_xvac", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "VACUUM \u64cd\u4f5c\u79fb\u52a8\u884c\u7248\u672c\u65f6\u4f7f\u7528\u7684 XID"}, {"c0": "t_ctid", "c1": "ItemPointerData", "c2": "6 \u5b57\u8282", "c3": "\u672c\u884c\u7248\u672c\u6216\u8f83\u65b0\u884c\u7248\u672c\u7684\u5f53\u524d TID"}, {"c0": "t_infomask2", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u5c5e\u6027\u6570\u91cf\u53ca\u5404\u79cd\u6807\u5fd7\u4f4d"}, {"c0": "t_infomask", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u5404\u79cd\u6807\u5fd7\u4f4d"}, {"c0": "t_hoff", "c1": "uint8", "c2": "1 \u5b57\u8282", "c3": "\u7528\u6237\u6570\u636e\u7684\u504f\u79fb\u91cf"}], "title": "HeapTupleHeaderData \u5e03\u5c40", "columns": [{"key": "c0", "label": "\u5b57\u6bb5"}, {"key": "c1", "label": "\u7c7b\u578b"}, {"key": "c2", "label": "\u957f\u5ea6"}, {"key": "c3", "label": "\u8bf4\u660e"}]}], "diagram": "page-layout", "related": [{"url": "/wiki/tableam/?v=19", "label": "Table AM"}, {"url": "/wiki/relopts/?v=19", "label": "\u5b58\u50a8\u53c2\u6570"}], "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-page-layout.html", "path": "storage-page-layout.html", "label": "PostgreSQL 19 English manual", "sha256": "a6b49290ffd898b445d6b422f22d8f07e039ff9147b3864d2e083619bbf899bc"}], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-identity", "manual": {"url": "/zh/docs/19/storage-page-layout.html", "anchor": "", "locale": "zh-Hans", "version": "19", "build_id": 109, "page_key": "storage-page-layout.html", "extraction": "concept-introduction", "source_hash": "c7b2549f389c93df7d137f3377e551094c85ccadd0c3a9d0894321fc557da5df", "fragment_sha256": "03eeb023b9d41fada9fa2fd2a6f4e18e662c6b51befe800f50cb3854cfcfebf0", "source_revision": "sha256:af105fc8e960fc836a09fc2cd7f582b49fd17675d9d36631abe3a565bfd7d701", "translation_revision": "git:b1b500221dbe5437cfca004d6b04d3f6e422765d;html-sha256:65fda1f1b62a89992b84014c9157e61b67dbe8190e93945826efec668fad038c", "translated_from_revision": "sha256:af105fc8e960fc836a09fc2cd7f582b49fd17675d9d36631abe3a565bfd7d701"}, "body_sha256": "e5b9e8e919ae07c5e1d05531052e7897c52d5b4d8a0a7cdea55ffa2f95d434a4", "runtime_rerun": false, "authored_translation": "source-derived-identity", "source_facts_revision": "af105fc8e960fc836a09fc2cd7f582b49fd17675d9d36631abe3a565bfd7d701"}, "facts_zh": [{"label": "\u5b9a\u4e49\u8303\u56f4", "value": "\u540c\u7248\u672c\u6838\u5fc3\u7269\u7406\u5b58\u50a8\u6587\u6863"}], "sections": [], "center_zh": {"title": "Database Page Layout", "locale": "zh-Hans", "source": {"key": "storage-page-layout", "locale": "zh-Hans", "version": "19", "text_hash": "06f613a640bb78e918b6c61f9cb5041e5069895c35dd8b05ff00cd93f8e108a9", "collection": "storage", "dataset_hash": "7c31b524dfe136022d39a6ae8dcfac6b3bbd5f8fdaf422536599981252aff0c9", "source_database": "center", "source_revision": "af105fc8e960fc836a09fc2cd7f582b49fd17675d9d36631abe3a565bfd7d701"}, "payload": {"facts": [{"label": "\u5b9a\u4e49\u8303\u56f4", "value": "\u540c\u7248\u672c\u6838\u5fc3\u7269\u7406\u5b58\u50a8\u6587\u6863"}], "tables": [{"key": "layout-0", "rows": [{"c0": "PageHeaderData", "c1": "\u957f 24 \u5b57\u8282\uff0c\u5305\u542b\u9875\u9762\u7684\u901a\u7528\u4fe1\u606f\uff0c\u4f8b\u5982\u7a7a\u95f2\u7a7a\u95f4\u6307\u9488\u3002"}, {"c0": "ItemIdData", "c1": "\u6307\u5411\u5b9e\u9645\u6570\u636e\u9879\u7684\u884c\u6307\u9488\u6570\u7ec4\u3002\u6bcf\u9879\u4e3a\u4e00\u4e2a\uff08\u504f\u79fb\uff0c\u957f\u5ea6\uff09\u5bf9\uff0c\u5360 4 \u5b57\u8282\u3002"}, {"c0": "\u7a7a\u95f2\u7a7a\u95f4", "c1": "\u5c1a\u672a\u5206\u914d\u7684\u7a7a\u95f4\u3002\u65b0\u884c\u6307\u9488\u4ece\u8be5\u533a\u57df\u7684\u8d77\u59cb\u5904\u5206\u914d\uff0c\u65b0\u6570\u636e\u9879\u4ece\u672b\u5c3e\u5904\u5206\u914d\u3002"}, {"c0": "\u9879", "c1": "\u5b9e\u9645\u7684\u6570\u636e\u9879\u672c\u8eab\u3002"}, {"c0": "\u7279\u6b8a\u7a7a\u95f4", "c1": "\u7d22\u5f15\u8bbf\u95ee\u65b9\u6cd5\u4e13\u7528\u6570\u636e\u3002\u4e0d\u540c\u65b9\u6cd5\u5b58\u50a8\u7684\u5185\u5bb9\u4e0d\u540c\uff0c\u666e\u901a\u8868\u4e2d\u6b64\u533a\u57df\u4e3a\u7a7a\u3002"}], "title": "\u9875\u9762\u603b\u4f53\u5e03\u5c40", "columns": [{"key": "c0", "label": "\u9879\u76ee"}, {"key": "c1", "label": "\u8bf4\u660e"}]}, {"key": "layout-1", "rows": [{"c0": "pd_lsn", "c1": "PageXLogRecPtr", "c2": "8 \u5b57\u8282", "c3": "LSN\uff1a\u8be5\u9875\u6700\u540e\u4e00\u6b21\u53d8\u5316\u6240\u5bf9\u5e94 WAL \u8bb0\u5f55\u7684\u6700\u540e\u4e00\u4e2a\u5b57\u8282\u4e4b\u540e\u7684\u4f4d\u7f6e\u3002"}, {"c0": "pd_checksum", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u9875\u9762\u6821\u9a8c\u548c"}, {"c0": "pd_flags", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u6807\u5fd7\u4f4d"}, {"c0": "pd_lower", "c1": "LocationIndex", "c2": "2 \u5b57\u8282", "c3": "\u7a7a\u95f2\u7a7a\u95f4\u8d77\u59cb\u4f4d\u7f6e\u7684\u504f\u79fb\u91cf"}, {"c0": "pd_upper", "c1": "LocationIndex", "c2": "2 \u5b57\u8282", "c3": "\u7a7a\u95f2\u7a7a\u95f4\u7ed3\u675f\u4f4d\u7f6e\u7684\u504f\u79fb\u91cf"}, {"c0": "pd_special", "c1": "LocationIndex", "c2": "2 \u5b57\u8282", "c3": "\u7279\u6b8a\u7a7a\u95f4\u8d77\u59cb\u4f4d\u7f6e\u7684\u504f\u79fb\u91cf"}, {"c0": "pd_pagesize_version", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u9875\u9762\u5927\u5c0f\u4e0e\u5e03\u5c40\u7248\u672c\u53f7\u4fe1\u606f"}, {"c0": "pd_prune_xid", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "\u9875\u9762\u4e0a\u6700\u65e9\u7684\u5c1a\u672a\u4fee\u526a\u7684 XMAX\uff1b\u6ca1\u6709\u5219\u4e3a\u96f6"}], "title": "PageHeaderData \u5e03\u5c40", "columns": [{"key": "c0", "label": "\u5b57\u6bb5"}, {"key": "c1", "label": "\u7c7b\u578b"}, {"key": "c2", "label": "\u957f\u5ea6"}, {"key": "c3", "label": "\u8bf4\u660e"}]}, {"key": "layout-2", "rows": [{"c0": "t_xmin", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "\u63d2\u5165\u4e8b\u52a1\u7684 XID"}, {"c0": "t_xmax", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "\u5220\u9664\u4e8b\u52a1\u7684 XID"}, {"c0": "t_cid", "c1": "CommandId", "c2": "4 \u5b57\u8282", "c3": "\u63d2\u5165\u548c\uff0f\u6216\u5220\u9664\u547d\u4ee4\u7684 CID\uff0c\u4e0e t_xvac \u5171\u7528\u5b58\u50a8\u4f4d\u7f6e"}, {"c0": "t_xvac", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "VACUUM \u64cd\u4f5c\u79fb\u52a8\u884c\u7248\u672c\u65f6\u4f7f\u7528\u7684 XID"}, {"c0": "t_ctid", "c1": "ItemPointerData", "c2": "6 \u5b57\u8282", "c3": "\u672c\u884c\u7248\u672c\u6216\u8f83\u65b0\u884c\u7248\u672c\u7684\u5f53\u524d TID"}, {"c0": "t_infomask2", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u5c5e\u6027\u6570\u91cf\u53ca\u5404\u79cd\u6807\u5fd7\u4f4d"}, {"c0": "t_infomask", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u5404\u79cd\u6807\u5fd7\u4f4d"}, {"c0": "t_hoff", "c1": "uint8", "c2": "1 \u5b57\u8282", "c3": "\u7528\u6237\u6570\u636e\u7684\u504f\u79fb\u91cf"}], "title": "HeapTupleHeaderData \u5e03\u5c40", "columns": [{"key": "c0", "label": "\u5b57\u6bb5"}, {"key": "c1", "label": "\u7c7b\u578b"}, {"key": "c2", "label": "\u957f\u5ea6"}, {"key": "c3", "label": "\u8bf4\u660e"}]}], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-identity", "manual": {"url": "/zh/docs/19/storage-page-layout.html", "anchor": "", "locale": "zh-Hans", "version": "19", "build_id": 109, "page_key": "storage-page-layout.html", "extraction": "concept-introduction", "source_hash": "c7b2549f389c93df7d137f3377e551094c85ccadd0c3a9d0894321fc557da5df", "fragment_sha256": "03eeb023b9d41fada9fa2fd2a6f4e18e662c6b51befe800f50cb3854cfcfebf0", "source_revision": "sha256:af105fc8e960fc836a09fc2cd7f582b49fd17675d9d36631abe3a565bfd7d701", "translation_revision": "git:b1b500221dbe5437cfca004d6b04d3f6e422765d;html-sha256:65fda1f1b62a89992b84014c9157e61b67dbe8190e93945826efec668fad038c", "translated_from_revision": "sha256:af105fc8e960fc836a09fc2cd7f582b49fd17675d9d36631abe3a565bfd7d701"}, "body_sha256": "e5b9e8e919ae07c5e1d05531052e7897c52d5b4d8a0a7cdea55ffa2f95d434a4", "runtime_rerun": false, "authored_translation": "source-derived-identity", "source_facts_revision": "af105fc8e960fc836a09fc2cd7f582b49fd17675d9d36631abe3a565bfd7d701"}, "sections": [], "description_zh": "\u672c\u8282\u6982\u8ff0 PostgreSQL \u8868\u548c\u7d22\u5f15\u5185\u90e8\u6240\u4f7f\u7528\u7684\u9875\u9762\u683c\u5f0f\u3002 [20] \u5e8f\u5217\u548c TOAST \u8868\u7684\u683c\u5f0f\u4e0e\u666e\u901a\u8868\u76f8\u540c\u3002 \u5728\u4e0b\u9762\u7684\u8bf4\u660e\u4e2d\uff0c\u5047\u5b9a\u4e00\u4e2a \u5b57\u8282 \u5305\u542b 8 \u4e2a\u4f4d\u3002\u53e6\u5916\uff0c\u672f\u8bed \u9879 \u6307\u7684\u662f\u5b58\u50a8\u5728\u9875\u9762\u4e0a\u7684\u5355\u4e2a\u6570\u636e\u503c\u3002\u5728\u8868\u4e2d\uff0c\u9879\u662f\u4e00\u884c\uff1b\u5728\u7d22\u5f15\u4e2d\uff0c\u9879\u662f\u4e00\u6761\u7d22\u5f15\u6761\u76ee\u3002 \u6bcf\u4e2a\u8868\u548c\u7d22\u5f15\u90fd\u5b58\u50a8\u4e3a\u56fa\u5b9a\u5927\u5c0f\u7684 \u9875\u9762 \u6570\u7ec4\uff08\u901a\u5e38\u4e3a 8 kB\uff0c\u4e0d\u8fc7\u5728\u7f16\u8bd1\u670d\u52a1\u5668\u65f6\u53ef\u4ee5\u9009\u62e9\u4e0d\u540c\u7684\u9875\u9762\u5927\u5c0f\uff09\u3002\u5728\u8868\u4e2d\uff0c\u6240\u6709\u9875\u9762\u5728\u903b\u8f91\u4e0a\u90fd\u662f\u7b49\u4ef7\u7684\uff0c\u56e0\u6b64\u67d0\u4e2a\u7279\u5b9a\u9879\uff08\u884c\uff09\u53ef\u4ee5\u5b58\u653e\u5728\u4efb\u610f\u9875\u9762\u4e2d\u3002\u5728\u7d22\u5f15\u4e2d\uff0c\u7b2c\u4e00\u9875\u901a\u5e38\u4fdd\u7559\u4e3a \u5143\u9875 \uff0c\u7528\u4e8e\u4fdd\u5b58\u63a7\u5236\u4fe1\u606f\uff1b\u5e76\u4e14\u6839\u636e\u7d22\u5f15\u8bbf\u95ee\u65b9\u6cd5\u7684\u4e0d\u540c\uff0c\u7d22\u5f15\u4e2d\u8fd8\u53ef\u80fd\u5b58\u5728\u4e0d\u540c\u7c7b\u578b\u7684\u9875\u9762\u3002 \u8868 66.2 \u5c55\u793a\u4e86\u9875\u9762\u7684\u603b\u4f53\u5e03\u5c40\u3002\u6bcf\u4e2a\u9875\u9762\u5305\u542b\u4e94\u4e2a\u90e8\u5206\u3002", "description_zh_html": "<p>\u5b58\u50a8\u7ed3\u6784 storage-page-layout\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n\u672c\u8282\u6982\u8ff0 <span class=\"productname\">PostgreSQL</span> \u8868\u548c\u7d22\u5f15\u5185\u90e8\u6240\u4f7f\u7528\u7684\u9875\u9762\u683c\u5f0f\u3002<a class=\"footnote\" href=\"/zh/docs/19/storage-page-layout.html#ftn.id-1.10.18.8.2.2\"><sup class=\"footnote\">[20]</sup></a>\n\u5e8f\u5217\u548c <acronym class=\"acronym\">TOAST</acronym> \u8868\u7684\u683c\u5f0f\u4e0e\u666e\u901a\u8868\u76f8\u540c\u3002\n</p><p>\n\u5728\u4e0b\u9762\u7684\u8bf4\u660e\u4e2d\uff0c\u5047\u5b9a\u4e00\u4e2a<em class=\"firstterm\">\u5b57\u8282</em>\u5305\u542b 8 \u4e2a\u4f4d\u3002\u53e6\u5916\uff0c\u672f\u8bed<em class=\"firstterm\">\u9879</em>\u6307\u7684\u662f\u5b58\u50a8\u5728\u9875\u9762\u4e0a\u7684\u5355\u4e2a\u6570\u636e\u503c\u3002\u5728\u8868\u4e2d\uff0c\u9879\u662f\u4e00\u884c\uff1b\u5728\u7d22\u5f15\u4e2d\uff0c\u9879\u662f\u4e00\u6761\u7d22\u5f15\u6761\u76ee\u3002\n</p><p>\n\u6bcf\u4e2a\u8868\u548c\u7d22\u5f15\u90fd\u5b58\u50a8\u4e3a\u56fa\u5b9a\u5927\u5c0f\u7684<em class=\"firstterm\">\u9875\u9762</em>\u6570\u7ec4\uff08\u901a\u5e38\u4e3a 8 kB\uff0c\u4e0d\u8fc7\u5728\u7f16\u8bd1\u670d\u52a1\u5668\u65f6\u53ef\u4ee5\u9009\u62e9\u4e0d\u540c\u7684\u9875\u9762\u5927\u5c0f\uff09\u3002\u5728\u8868\u4e2d\uff0c\u6240\u6709\u9875\u9762\u5728\u903b\u8f91\u4e0a\u90fd\u662f\u7b49\u4ef7\u7684\uff0c\u56e0\u6b64\u67d0\u4e2a\u7279\u5b9a\u9879\uff08\u884c\uff09\u53ef\u4ee5\u5b58\u653e\u5728\u4efb\u610f\u9875\u9762\u4e2d\u3002\u5728\u7d22\u5f15\u4e2d\uff0c\u7b2c\u4e00\u9875\u901a\u5e38\u4fdd\u7559\u4e3a<em class=\"firstterm\">\u5143\u9875</em>\uff0c\u7528\u4e8e\u4fdd\u5b58\u63a7\u5236\u4fe1\u606f\uff1b\u5e76\u4e14\u6839\u636e\u7d22\u5f15\u8bbf\u95ee\u65b9\u6cd5\u7684\u4e0d\u540c\uff0c\u7d22\u5f15\u4e2d\u8fd8\u53ef\u80fd\u5b58\u5728\u4e0d\u540c\u7c7b\u578b\u7684\u9875\u9762\u3002\n</p><p>\n<a class=\"xref\" href=\"/zh/docs/19/storage-page-layout.html#PAGE-TABLE\">\u8868\u00a066.2</a> \u5c55\u793a\u4e86\u9875\u9762\u7684\u603b\u4f53\u5e03\u5c40\u3002\u6bcf\u4e2a\u9875\u9762\u5305\u542b\u4e94\u4e2a\u90e8\u5206\u3002\n</p><p><a href=\"/zh/docs/19/storage-page-layout.html\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "summary": "\u672c\u8282\u6982\u8ff0 PostgreSQL \u8868\u548c\u7d22\u5f15\u5185\u90e8\u6240\u4f7f\u7528\u7684\u9875\u9762\u683c\u5f0f\u3002 [20] \u5e8f\u5217\u548c TOAST \u8868\u7684\u683c\u5f0f\u4e0e\u666e\u901a\u8868\u76f8\u540c\u3002 \u5728\u4e0b\u9762\u7684\u8bf4\u660e\u4e2d\uff0c\u5047\u5b9a\u4e00\u4e2a \u5b57\u8282 \u5305\u542b 8 \u4e2a\u4f4d\u3002\u53e6\u5916\uff0c\u672f\u8bed \u9879 \u6307\u7684\u662f\u5b58\u50a8\u5728\u9875\u9762\u4e0a\u7684\u5355\u4e2a\u6570\u636e\u503c\u3002\u5728\u8868\u4e2d\uff0c\u9879\u662f\u4e00\u884c\uff1b\u5728\u7d22\u5f15\u4e2d\uff0c\u9879\u662f\u4e00\u6761\u7d22\u5f15\u6761\u76ee\u3002 \u6bcf\u4e2a\u8868\u548c\u7d22\u5f15\u90fd\u5b58\u50a8\u4e3a\u56fa\u5b9a\u5927\u5c0f\u7684 \u9875\u9762 \u6570\u7ec4\uff08\u901a\u5e38\u4e3a 8 kB\uff0c\u4e0d\u8fc7\u5728\u7f16\u8bd1\u670d\u52a1\u5668\u65f6\u53ef\u4ee5\u9009\u62e9\u4e0d\u540c\u7684\u9875\u9762\u5927\u5c0f\uff09\u3002\u5728\u8868\u4e2d\uff0c\u6240\u6709\u9875\u9762\u5728\u903b\u8f91\u4e0a\u90fd\u662f\u7b49\u4ef7\u7684\uff0c\u56e0\u6b64\u67d0\u4e2a\u7279\u5b9a\u9879\uff08\u884c\uff09\u53ef\u4ee5\u5b58\u653e\u5728\u4efb\u610f\u9875\u9762\u4e2d\u3002\u5728\u7d22\u5f15\u4e2d\uff0c\u7b2c\u4e00\u9875\u901a\u5e38\u4fdd\u7559\u4e3a \u5143\u9875 \uff0c\u7528\u4e8e\u4fdd\u5b58\u63a7\u5236\u4fe1\u606f\uff1b\u5e76\u4e14\u6839\u636e\u7d22\u5f15\u8bbf\u95ee\u65b9\u6cd5\u7684\u4e0d\u540c\uff0c\u7d22\u5f15\u4e2d\u8fd8\u53ef\u80fd\u5b58\u5728\u4e0d\u540c\u7c7b\u578b\u7684\u9875\u9762\u3002 \u8868 66.2 \u5c55\u793a\u4e86\u9875\u9762\u7684\u603b\u4f53\u5e03\u5c40\u3002\u6bcf\u4e2a\u9875\u9762\u5305\u542b\u4e94\u4e2a\u90e8\u5206\u3002", "version": "19", "link_map": {"/zh/docs/19/storage-page-layout.html": "/docs/19/storage-page-layout.html", "/zh/docs/19/storage-page-layout.html#PAGE-TABLE": "/docs/19/storage-page-layout.html#PAGE-TABLE", "/zh/docs/19/storage-page-layout.html#ftn.id-1.10.18.8.2.2": "/docs/19/storage-page-layout.html#ftn.id-1.10.18.8.2.2"}, "body_html": "<p>\u5b58\u50a8\u7ed3\u6784 storage-page-layout\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n\u672c\u8282\u6982\u8ff0 <span>PostgreSQL</span> \u8868\u548c\u7d22\u5f15\u5185\u90e8\u6240\u4f7f\u7528\u7684\u9875\u9762\u683c\u5f0f\u3002<a href=\"/zh/docs/19/storage-page-layout.html#ftn.id-1.10.18.8.2.2\" rel=\"nofollow\"><sup>[20]</sup></a>\n\u5e8f\u5217\u548c <acronym>TOAST</acronym> \u8868\u7684\u683c\u5f0f\u4e0e\u666e\u901a\u8868\u76f8\u540c\u3002\n</p><p>\n\u5728\u4e0b\u9762\u7684\u8bf4\u660e\u4e2d\uff0c\u5047\u5b9a\u4e00\u4e2a<em>\u5b57\u8282</em>\u5305\u542b 8 \u4e2a\u4f4d\u3002\u53e6\u5916\uff0c\u672f\u8bed<em>\u9879</em>\u6307\u7684\u662f\u5b58\u50a8\u5728\u9875\u9762\u4e0a\u7684\u5355\u4e2a\u6570\u636e\u503c\u3002\u5728\u8868\u4e2d\uff0c\u9879\u662f\u4e00\u884c\uff1b\u5728\u7d22\u5f15\u4e2d\uff0c\u9879\u662f\u4e00\u6761\u7d22\u5f15\u6761\u76ee\u3002\n</p><p>\n\u6bcf\u4e2a\u8868\u548c\u7d22\u5f15\u90fd\u5b58\u50a8\u4e3a\u56fa\u5b9a\u5927\u5c0f\u7684<em>\u9875\u9762</em>\u6570\u7ec4\uff08\u901a\u5e38\u4e3a 8 kB\uff0c\u4e0d\u8fc7\u5728\u7f16\u8bd1\u670d\u52a1\u5668\u65f6\u53ef\u4ee5\u9009\u62e9\u4e0d\u540c\u7684\u9875\u9762\u5927\u5c0f\uff09\u3002\u5728\u8868\u4e2d\uff0c\u6240\u6709\u9875\u9762\u5728\u903b\u8f91\u4e0a\u90fd\u662f\u7b49\u4ef7\u7684\uff0c\u56e0\u6b64\u67d0\u4e2a\u7279\u5b9a\u9879\uff08\u884c\uff09\u53ef\u4ee5\u5b58\u653e\u5728\u4efb\u610f\u9875\u9762\u4e2d\u3002\u5728\u7d22\u5f15\u4e2d\uff0c\u7b2c\u4e00\u9875\u901a\u5e38\u4fdd\u7559\u4e3a<em>\u5143\u9875</em>\uff0c\u7528\u4e8e\u4fdd\u5b58\u63a7\u5236\u4fe1\u606f\uff1b\u5e76\u4e14\u6839\u636e\u7d22\u5f15\u8bbf\u95ee\u65b9\u6cd5\u7684\u4e0d\u540c\uff0c\u7d22\u5f15\u4e2d\u8fd8\u53ef\u80fd\u5b58\u5728\u4e0d\u540c\u7c7b\u578b\u7684\u9875\u9762\u3002\n</p><p>\n<a href=\"/zh/docs/19/storage-page-layout.html#PAGE-TABLE\" rel=\"nofollow\">\u8868\u00a066.2</a> \u5c55\u793a\u4e86\u9875\u9762\u7684\u603b\u4f53\u5e03\u5c40\u3002\u6bcf\u4e2a\u9875\u9762\u5305\u542b\u4e94\u4e2a\u90e8\u5206\u3002\n</p><p><a href=\"/zh/docs/19/storage-page-layout.html\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>", "body_sha256": "6fbe56cad047594b2bc8f44e6740fcb30c8a32946f6d7351de81579fe3344187", "content_hash": "06f613a640bb78e918b6c61f9cb5041e5069895c35dd8b05ff00cd93f8e108a9", "source_database": "center", "source_revision": "af105fc8e960fc836a09fc2cd7f582b49fd17675d9d36631abe3a565bfd7d701"}, "signature": "", "tables_zh": [{"key": "layout-0", "rows": [{"c0": "PageHeaderData", "c1": "\u957f 24 \u5b57\u8282\uff0c\u5305\u542b\u9875\u9762\u7684\u901a\u7528\u4fe1\u606f\uff0c\u4f8b\u5982\u7a7a\u95f2\u7a7a\u95f4\u6307\u9488\u3002"}, {"c0": "ItemIdData", "c1": "\u6307\u5411\u5b9e\u9645\u6570\u636e\u9879\u7684\u884c\u6307\u9488\u6570\u7ec4\u3002\u6bcf\u9879\u4e3a\u4e00\u4e2a\uff08\u504f\u79fb\uff0c\u957f\u5ea6\uff09\u5bf9\uff0c\u5360 4 \u5b57\u8282\u3002"}, {"c0": "\u7a7a\u95f2\u7a7a\u95f4", "c1": "\u5c1a\u672a\u5206\u914d\u7684\u7a7a\u95f4\u3002\u65b0\u884c\u6307\u9488\u4ece\u8be5\u533a\u57df\u7684\u8d77\u59cb\u5904\u5206\u914d\uff0c\u65b0\u6570\u636e\u9879\u4ece\u672b\u5c3e\u5904\u5206\u914d\u3002"}, {"c0": "\u9879", "c1": "\u5b9e\u9645\u7684\u6570\u636e\u9879\u672c\u8eab\u3002"}, {"c0": "\u7279\u6b8a\u7a7a\u95f4", "c1": "\u7d22\u5f15\u8bbf\u95ee\u65b9\u6cd5\u4e13\u7528\u6570\u636e\u3002\u4e0d\u540c\u65b9\u6cd5\u5b58\u50a8\u7684\u5185\u5bb9\u4e0d\u540c\uff0c\u666e\u901a\u8868\u4e2d\u6b64\u533a\u57df\u4e3a\u7a7a\u3002"}], "title": "\u9875\u9762\u603b\u4f53\u5e03\u5c40", "columns": [{"key": "c0", "label": "\u9879\u76ee"}, {"key": "c1", "label": "\u8bf4\u660e"}]}, {"key": "layout-1", "rows": [{"c0": "pd_lsn", "c1": "PageXLogRecPtr", "c2": "8 \u5b57\u8282", "c3": "LSN\uff1a\u8be5\u9875\u6700\u540e\u4e00\u6b21\u53d8\u5316\u6240\u5bf9\u5e94 WAL \u8bb0\u5f55\u7684\u6700\u540e\u4e00\u4e2a\u5b57\u8282\u4e4b\u540e\u7684\u4f4d\u7f6e\u3002"}, {"c0": "pd_checksum", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u9875\u9762\u6821\u9a8c\u548c"}, {"c0": "pd_flags", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u6807\u5fd7\u4f4d"}, {"c0": "pd_lower", "c1": "LocationIndex", "c2": "2 \u5b57\u8282", "c3": "\u7a7a\u95f2\u7a7a\u95f4\u8d77\u59cb\u4f4d\u7f6e\u7684\u504f\u79fb\u91cf"}, {"c0": "pd_upper", "c1": "LocationIndex", "c2": "2 \u5b57\u8282", "c3": "\u7a7a\u95f2\u7a7a\u95f4\u7ed3\u675f\u4f4d\u7f6e\u7684\u504f\u79fb\u91cf"}, {"c0": "pd_special", "c1": "LocationIndex", "c2": "2 \u5b57\u8282", "c3": "\u7279\u6b8a\u7a7a\u95f4\u8d77\u59cb\u4f4d\u7f6e\u7684\u504f\u79fb\u91cf"}, {"c0": "pd_pagesize_version", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u9875\u9762\u5927\u5c0f\u4e0e\u5e03\u5c40\u7248\u672c\u53f7\u4fe1\u606f"}, {"c0": "pd_prune_xid", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "\u9875\u9762\u4e0a\u6700\u65e9\u7684\u5c1a\u672a\u4fee\u526a\u7684 XMAX\uff1b\u6ca1\u6709\u5219\u4e3a\u96f6"}], "title": "PageHeaderData \u5e03\u5c40", "columns": [{"key": "c0", "label": "\u5b57\u6bb5"}, {"key": "c1", "label": "\u7c7b\u578b"}, {"key": "c2", "label": "\u957f\u5ea6"}, {"key": "c3", "label": "\u8bf4\u660e"}]}, {"key": "layout-2", "rows": [{"c0": "t_xmin", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "\u63d2\u5165\u4e8b\u52a1\u7684 XID"}, {"c0": "t_xmax", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "\u5220\u9664\u4e8b\u52a1\u7684 XID"}, {"c0": "t_cid", "c1": "CommandId", "c2": "4 \u5b57\u8282", "c3": "\u63d2\u5165\u548c\uff0f\u6216\u5220\u9664\u547d\u4ee4\u7684 CID\uff0c\u4e0e t_xvac \u5171\u7528\u5b58\u50a8\u4f4d\u7f6e"}, {"c0": "t_xvac", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "VACUUM \u64cd\u4f5c\u79fb\u52a8\u884c\u7248\u672c\u65f6\u4f7f\u7528\u7684 XID"}, {"c0": "t_ctid", "c1": "ItemPointerData", "c2": "6 \u5b57\u8282", "c3": "\u672c\u884c\u7248\u672c\u6216\u8f83\u65b0\u884c\u7248\u672c\u7684\u5f53\u524d TID"}, {"c0": "t_infomask2", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u5c5e\u6027\u6570\u91cf\u53ca\u5404\u79cd\u6807\u5fd7\u4f4d"}, {"c0": "t_infomask", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u5404\u79cd\u6807\u5fd7\u4f4d"}, {"c0": "t_hoff", "c1": "uint8", "c2": "1 \u5b57\u8282", "c3": "\u7528\u6237\u6570\u636e\u7684\u504f\u79fb\u91cf"}], "title": "HeapTupleHeaderData \u5e03\u5c40", "columns": [{"key": "c0", "label": "\u5b57\u6bb5"}, {"key": "c1", "label": "\u7c7b\u578b"}, {"key": "c2", "label": "\u957f\u5ea6"}, {"key": "c3", "label": "\u8bf4\u660e"}]}], "description": ["\u672c\u8282\u6982\u8ff0 PostgreSQL \u8868\u548c\u7d22\u5f15\u5185\u90e8\u6240\u4f7f\u7528\u7684\u9875\u9762\u683c\u5f0f\u3002 [20] \u5e8f\u5217\u548c TOAST \u8868\u7684\u683c\u5f0f\u4e0e\u666e\u901a\u8868\u76f8\u540c\u3002 \u5728\u4e0b\u9762\u7684\u8bf4\u660e\u4e2d\uff0c\u5047\u5b9a\u4e00\u4e2a \u5b57\u8282 \u5305\u542b 8 \u4e2a\u4f4d\u3002\u53e6\u5916\uff0c\u672f\u8bed \u9879 \u6307\u7684\u662f\u5b58\u50a8\u5728\u9875\u9762\u4e0a\u7684\u5355\u4e2a\u6570\u636e\u503c\u3002\u5728\u8868\u4e2d\uff0c\u9879\u662f\u4e00\u884c\uff1b\u5728\u7d22\u5f15\u4e2d\uff0c\u9879\u662f\u4e00\u6761\u7d22\u5f15\u6761\u76ee\u3002 \u6bcf\u4e2a\u8868\u548c\u7d22\u5f15\u90fd\u5b58\u50a8\u4e3a\u56fa\u5b9a\u5927\u5c0f\u7684 \u9875\u9762 \u6570\u7ec4\uff08\u901a\u5e38\u4e3a 8 kB\uff0c\u4e0d\u8fc7\u5728\u7f16\u8bd1\u670d\u52a1\u5668\u65f6\u53ef\u4ee5\u9009\u62e9\u4e0d\u540c\u7684\u9875\u9762\u5927\u5c0f\uff09\u3002\u5728\u8868\u4e2d\uff0c\u6240\u6709\u9875\u9762\u5728\u903b\u8f91\u4e0a\u90fd\u662f\u7b49\u4ef7\u7684\uff0c\u56e0\u6b64\u67d0\u4e2a\u7279\u5b9a\u9879\uff08\u884c\uff09\u53ef\u4ee5\u5b58\u653e\u5728\u4efb\u610f\u9875\u9762\u4e2d\u3002\u5728\u7d22\u5f15\u4e2d\uff0c\u7b2c\u4e00\u9875\u901a\u5e38\u4fdd\u7559\u4e3a \u5143\u9875 \uff0c\u7528\u4e8e\u4fdd\u5b58\u63a7\u5236\u4fe1\u606f\uff1b\u5e76\u4e14\u6839\u636e\u7d22\u5f15\u8bbf\u95ee\u65b9\u6cd5\u7684\u4e0d\u540c\uff0c\u7d22\u5f15\u4e2d\u8fd8\u53ef\u80fd\u5b58\u5728\u4e0d\u540c\u7c7b\u578b\u7684\u9875\u9762\u3002 \u8868 66.2 \u5c55\u793a\u4e86\u9875\u9762\u7684\u603b\u4f53\u5e03\u5c40\u3002\u6bcf\u4e2a\u9875\u9762\u5305\u542b\u4e94\u4e2a\u90e8\u5206\u3002"], "manual_html": "", "manual_path": "/docs/19/storage-page-layout.html", "sections_zh": [], "localization": {"status": "complete", "sources": [{"url": "/docs/19/storage-page-layout.html", "method": "same-major semantic node", "sha256": "449d5df50770072a5159075c211dd18f895edeaeb7ea22ba5936d469b017017c", "language": "zh", "matched_nodes": ["#STORAGE-PAGE-LAYOUT/div[0]", "#STORAGE-PAGE-LAYOUT/div[16]", "#STORAGE-PAGE-LAYOUT/div[18]/div[2]/p[0]", "#STORAGE-PAGE-LAYOUT/div[18]/p[1]", "#STORAGE-PAGE-LAYOUT/div[18]/p[4]", "#STORAGE-PAGE-LAYOUT/div[18]/p[5]", "#STORAGE-PAGE-LAYOUT/div[18]/p[6]", "#STORAGE-PAGE-LAYOUT/div[19]", "#STORAGE-PAGE-LAYOUT/div[1]", "#STORAGE-PAGE-LAYOUT/div[6]/div[1]/table[0]/tbody[2]/tr[3]/td[0]", "#STORAGE-PAGE-LAYOUT/div[6]/p[0]", "#STORAGE-PAGE-LAYOUT/div[9]/div[1]/table[0]/tbody[2]/tr[0]/td[2]", "#STORAGE-PAGE-LAYOUT/div[9]/p[0]", "#STORAGE-PAGE-LAYOUT/p[11]", "#STORAGE-PAGE-LAYOUT/p[12]", "#STORAGE-PAGE-LAYOUT/p[13]", "#STORAGE-PAGE-LAYOUT/p[14]", "#STORAGE-PAGE-LAYOUT/p[15]", "#STORAGE-PAGE-LAYOUT/p[2]", "#STORAGE-PAGE-LAYOUT/p[3]", "#STORAGE-PAGE-LAYOUT/p[4]", "#STORAGE-PAGE-LAYOUT/p[5]"]}], "language": "zh", "original_text": {"/versions/19/description/0": "This section provides an overview of the page format used within PostgreSQL tables and indexes. [20] Sequences and TOAST tables are formatted just like a regular table.", "/versions/19/facts/0/label": "Definition scope", "/versions/19/facts/0/value": "Same-version core physical storage documentation", "/versions/19/tables/0/title": "Overall Page Layout", "/versions/19/tables/1/title": "PageHeaderData Layout", "/versions/19/tables/2/title": "HeapTupleHeaderData Layout", "/versions/19/related/1/label": "Storage Parameters", "/versions/19/tables/0/rows/0/c1": "24 bytes long. Contains general information about the page, including free space pointers.", "/versions/19/tables/0/rows/1/c1": "Array of item identifiers pointing to the actual items. Each entry is an (offset,length) pair. 4 bytes per item.", "/versions/19/tables/0/rows/2/c0": "Free space", "/versions/19/tables/0/rows/2/c1": "The unallocated space. New item identifiers are allocated from the start of this area, new items from the end.", "/versions/19/tables/0/rows/3/c0": "Items", "/versions/19/tables/0/rows/3/c1": "The actual items themselves.", "/versions/19/tables/0/rows/4/c0": "Special space", "/versions/19/tables/0/rows/4/c1": "Index access method specific data. Different methods store different data. Empty in ordinary tables.", "/versions/19/tables/1/rows/0/c2": "8 bytes", "/versions/19/tables/1/rows/0/c3": "LSN: next byte after last byte of WAL record for last change to this page", "/versions/19/tables/1/rows/1/c2": "2 bytes", "/versions/19/tables/1/rows/1/c3": "Page checksum", "/versions/19/tables/1/rows/2/c2": "2 bytes", "/versions/19/tables/1/rows/2/c3": "Flag bits", "/versions/19/tables/1/rows/3/c2": "2 bytes", "/versions/19/tables/1/rows/3/c3": "Offset to start of free space", "/versions/19/tables/1/rows/4/c2": "2 bytes", "/versions/19/tables/1/rows/4/c3": "Offset to end of free space", "/versions/19/tables/1/rows/5/c2": "2 bytes", "/versions/19/tables/1/rows/5/c3": "Offset to start of special space", "/versions/19/tables/1/rows/6/c2": "2 bytes", "/versions/19/tables/1/rows/6/c3": "Page size and layout version number information", "/versions/19/tables/1/rows/7/c2": "4 bytes", "/versions/19/tables/1/rows/7/c3": "Oldest unpruned XMAX on page, or zero if none", "/versions/19/tables/2/rows/0/c2": "4 bytes", "/versions/19/tables/2/rows/0/c3": "insert XID stamp", "/versions/19/tables/2/rows/1/c2": "4 bytes", "/versions/19/tables/2/rows/1/c3": "delete XID stamp", "/versions/19/tables/2/rows/2/c2": "4 bytes", "/versions/19/tables/2/rows/2/c3": "insert and/or delete CID stamp (overlays with t_xvac)", "/versions/19/tables/2/rows/3/c2": "4 bytes", "/versions/19/tables/2/rows/3/c3": "XID for VACUUM operation moving a row version", "/versions/19/tables/2/rows/4/c2": "6 bytes", "/versions/19/tables/2/rows/4/c3": "current TID of this or newer row version", "/versions/19/tables/2/rows/5/c2": "2 bytes", "/versions/19/tables/2/rows/5/c3": "number of attributes, plus various flag bits", "/versions/19/tables/2/rows/6/c2": "2 bytes", "/versions/19/tables/2/rows/6/c3": "various flag bits", "/versions/19/tables/2/rows/7/c2": "1 byte", "/versions/19/tables/2/rows/7/c3": "offset to user data", "/versions/19/tables/0/columns/0/label": "Item", "/versions/19/tables/0/columns/1/label": "Description", "/versions/19/tables/1/columns/0/label": "Field", "/versions/19/tables/1/columns/1/label": "Type", "/versions/19/tables/1/columns/2/label": "Length", "/versions/19/tables/1/columns/3/label": "Description", "/versions/19/tables/2/columns/0/label": "Field", "/versions/19/tables/2/columns/1/label": "Type", "/versions/19/tables/2/columns/2/label": "Length", "/versions/19/tables/2/columns/3/label": "Description"}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "7e6443cdab6729b56b1bd619702d97b644e3d515cb923b22627c21986c31cb9e", "canonical_center_text_hash": "06f613a640bb78e918b6c61f9cb5041e5069895c35dd8b05ff00cd93f8e108a9"}, "description_zh": "\u672c\u8282\u6982\u8ff0 PostgreSQL \u8868\u548c\u7d22\u5f15\u5185\u90e8\u6240\u4f7f\u7528\u7684\u9875\u9762\u683c\u5f0f\u3002 [20] \u5e8f\u5217\u548c TOAST \u8868\u7684\u683c\u5f0f\u4e0e\u666e\u901a\u8868\u76f8\u540c\u3002 \u5728\u4e0b\u9762\u7684\u8bf4\u660e\u4e2d\uff0c\u5047\u5b9a\u4e00\u4e2a \u5b57\u8282 \u5305\u542b 8 \u4e2a\u4f4d\u3002\u53e6\u5916\uff0c\u672f\u8bed \u9879 \u6307\u7684\u662f\u5b58\u50a8\u5728\u9875\u9762\u4e0a\u7684\u5355\u4e2a\u6570\u636e\u503c\u3002\u5728\u8868\u4e2d\uff0c\u9879\u662f\u4e00\u884c\uff1b\u5728\u7d22\u5f15\u4e2d\uff0c\u9879\u662f\u4e00\u6761\u7d22\u5f15\u6761\u76ee\u3002 \u6bcf\u4e2a\u8868\u548c\u7d22\u5f15\u90fd\u5b58\u50a8\u4e3a\u56fa\u5b9a\u5927\u5c0f\u7684 \u9875\u9762 \u6570\u7ec4\uff08\u901a\u5e38\u4e3a 8 kB\uff0c\u4e0d\u8fc7\u5728\u7f16\u8bd1\u670d\u52a1\u5668\u65f6\u53ef\u4ee5\u9009\u62e9\u4e0d\u540c\u7684\u9875\u9762\u5927\u5c0f\uff09\u3002\u5728\u8868\u4e2d\uff0c\u6240\u6709\u9875\u9762\u5728\u903b\u8f91\u4e0a\u90fd\u662f\u7b49\u4ef7\u7684\uff0c\u56e0\u6b64\u67d0\u4e2a\u7279\u5b9a\u9879\uff08\u884c\uff09\u53ef\u4ee5\u5b58\u653e\u5728\u4efb\u610f\u9875\u9762\u4e2d\u3002\u5728\u7d22\u5f15\u4e2d\uff0c\u7b2c\u4e00\u9875\u901a\u5e38\u4fdd\u7559\u4e3a \u5143\u9875 \uff0c\u7528\u4e8e\u4fdd\u5b58\u63a7\u5236\u4fe1\u606f\uff1b\u5e76\u4e14\u6839\u636e\u7d22\u5f15\u8bbf\u95ee\u65b9\u6cd5\u7684\u4e0d\u540c\uff0c\u7d22\u5f15\u4e2d\u8fd8\u53ef\u80fd\u5b58\u5728\u4e0d\u540c\u7c7b\u578b\u7684\u9875\u9762\u3002 \u8868 66.2 \u5c55\u793a\u4e86\u9875\u9762\u7684\u603b\u4f53\u5e03\u5c40\u3002\u6bcf\u4e2a\u9875\u9762\u5305\u542b\u4e94\u4e2a\u90e8\u5206\u3002", "comparison_data": {"layouts": [{"key": "layout-0", "rows": [{"c0": "PageHeaderData", "c1": "24 bytes long. Contains general information about the page, including free space pointers."}, {"c0": "ItemIdData", "c1": "Array of item identifiers pointing to the actual items. Each entry is an (offset,length) pair. 4 bytes per item."}, {"c0": "Free space", "c1": "The unallocated space. New item identifiers are allocated from the start of this area, new items from the end."}, {"c0": "Items", "c1": "The actual items themselves."}, {"c0": "Special space", "c1": "Index access method specific data. Different methods store different data. Empty in ordinary tables."}], "title": "Overall Page Layout", "columns": [{"key": "c0", "label": "Item"}, {"key": "c1", "label": "Description"}]}, {"key": "layout-1", "rows": [{"c0": "pd_lsn", "c1": "PageXLogRecPtr", "c2": "8 bytes", "c3": "LSN: next byte after last byte of WAL record for last change to this page"}, {"c0": "pd_checksum", "c1": "uint16", "c2": "2 bytes", "c3": "Page checksum"}, {"c0": "pd_flags", "c1": "uint16", "c2": "2 bytes", "c3": "Flag bits"}, {"c0": "pd_lower", "c1": "LocationIndex", "c2": "2 bytes", "c3": "Offset to start of free space"}, {"c0": "pd_upper", "c1": "LocationIndex", "c2": "2 bytes", "c3": "Offset to end of free space"}, {"c0": "pd_special", "c1": "LocationIndex", "c2": "2 bytes", "c3": "Offset to start of special space"}, {"c0": "pd_pagesize_version", "c1": "uint16", "c2": "2 bytes", "c3": "Page size and layout version number information"}, {"c0": "pd_prune_xid", "c1": "TransactionId", "c2": "4 bytes", "c3": "Oldest unpruned XMAX on page, or zero if none"}], "title": "PageHeaderData Layout", "columns": [{"key": "c0", "label": "Field"}, {"key": "c1", "label": "Type"}, {"key": "c2", "label": "Length"}, {"key": "c3", "label": "Description"}]}, {"key": "layout-2", "rows": [{"c0": "t_xmin", "c1": "TransactionId", "c2": "4 bytes", "c3": "insert XID stamp"}, {"c0": "t_xmax", "c1": "TransactionId", "c2": "4 bytes", "c3": "delete XID stamp"}, {"c0": "t_cid", "c1": "CommandId", "c2": "4 bytes", "c3": "insert and/or delete CID stamp (overlays with t_xvac)"}, {"c0": "t_xvac", "c1": "TransactionId", "c2": "4 bytes", "c3": "XID for VACUUM operation moving a row version"}, {"c0": "t_ctid", "c1": "ItemPointerData", "c2": "6 bytes", "c3": "current TID of this or newer row version"}, {"c0": "t_infomask2", "c1": "uint16", "c2": "2 bytes", "c3": "number of attributes, plus various flag bits"}, {"c0": "t_infomask", "c1": "uint16", "c2": "2 bytes", "c3": "various flag bits"}, {"c0": "t_hoff", "c1": "uint8", "c2": "1 byte", "c3": "offset to user data"}], "title": "HeapTupleHeaderData Layout", "columns": [{"key": "c0", "label": "Field"}, {"key": "c1", "label": "Type"}, {"key": "c2", "label": "Length"}, {"key": "c3", "label": "Description"}]}]}, "comparison_hash": "b621fa85b3be27a0eb0d82986e9524f2ef0a776761901f0d429826eec4822d0a", "manual_language": "zh", "description_zh_html": "<p>\u5b58\u50a8\u7ed3\u6784 storage-page-layout\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n\u672c\u8282\u6982\u8ff0 <span>PostgreSQL</span> \u8868\u548c\u7d22\u5f15\u5185\u90e8\u6240\u4f7f\u7528\u7684\u9875\u9762\u683c\u5f0f\u3002<a href=\"/zh/docs/19/storage-page-layout.html#ftn.id-1.10.18.8.2.2\" rel=\"nofollow\"><sup>[20]</sup></a>\n\u5e8f\u5217\u548c <acronym>TOAST</acronym> \u8868\u7684\u683c\u5f0f\u4e0e\u666e\u901a\u8868\u76f8\u540c\u3002\n</p><p>\n\u5728\u4e0b\u9762\u7684\u8bf4\u660e\u4e2d\uff0c\u5047\u5b9a\u4e00\u4e2a<em>\u5b57\u8282</em>\u5305\u542b 8 \u4e2a\u4f4d\u3002\u53e6\u5916\uff0c\u672f\u8bed<em>\u9879</em>\u6307\u7684\u662f\u5b58\u50a8\u5728\u9875\u9762\u4e0a\u7684\u5355\u4e2a\u6570\u636e\u503c\u3002\u5728\u8868\u4e2d\uff0c\u9879\u662f\u4e00\u884c\uff1b\u5728\u7d22\u5f15\u4e2d\uff0c\u9879\u662f\u4e00\u6761\u7d22\u5f15\u6761\u76ee\u3002\n</p><p>\n\u6bcf\u4e2a\u8868\u548c\u7d22\u5f15\u90fd\u5b58\u50a8\u4e3a\u56fa\u5b9a\u5927\u5c0f\u7684<em>\u9875\u9762</em>\u6570\u7ec4\uff08\u901a\u5e38\u4e3a 8 kB\uff0c\u4e0d\u8fc7\u5728\u7f16\u8bd1\u670d\u52a1\u5668\u65f6\u53ef\u4ee5\u9009\u62e9\u4e0d\u540c\u7684\u9875\u9762\u5927\u5c0f\uff09\u3002\u5728\u8868\u4e2d\uff0c\u6240\u6709\u9875\u9762\u5728\u903b\u8f91\u4e0a\u90fd\u662f\u7b49\u4ef7\u7684\uff0c\u56e0\u6b64\u67d0\u4e2a\u7279\u5b9a\u9879\uff08\u884c\uff09\u53ef\u4ee5\u5b58\u653e\u5728\u4efb\u610f\u9875\u9762\u4e2d\u3002\u5728\u7d22\u5f15\u4e2d\uff0c\u7b2c\u4e00\u9875\u901a\u5e38\u4fdd\u7559\u4e3a<em>\u5143\u9875</em>\uff0c\u7528\u4e8e\u4fdd\u5b58\u63a7\u5236\u4fe1\u606f\uff1b\u5e76\u4e14\u6839\u636e\u7d22\u5f15\u8bbf\u95ee\u65b9\u6cd5\u7684\u4e0d\u540c\uff0c\u7d22\u5f15\u4e2d\u8fd8\u53ef\u80fd\u5b58\u5728\u4e0d\u540c\u7c7b\u578b\u7684\u9875\u9762\u3002\n</p><p>\n<a href=\"/zh/docs/19/storage-page-layout.html#PAGE-TABLE\" rel=\"nofollow\">\u8868\u00a066.2</a> \u5c55\u793a\u4e86\u9875\u9762\u7684\u603b\u4f53\u5e03\u5c40\u3002\u6bcf\u4e2a\u9875\u9762\u5305\u542b\u4e94\u4e2a\u90e8\u5206\u3002\n</p><p><a href=\"/zh/docs/19/storage-page-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": "\u5b9a\u4e49\u8303\u56f4", "value": "\u540c\u7248\u672c\u6838\u5fc3\u7269\u7406\u5b58\u50a8\u6587\u6863"}], "tables": [{"key": "layout-0", "rows": [{"c0": "PageHeaderData", "c1": "\u957f 24 \u5b57\u8282\uff0c\u5305\u542b\u9875\u9762\u7684\u901a\u7528\u4fe1\u606f\uff0c\u4f8b\u5982\u7a7a\u95f2\u7a7a\u95f4\u6307\u9488\u3002"}, {"c0": "ItemIdData", "c1": "\u6307\u5411\u5b9e\u9645\u6570\u636e\u9879\u7684\u884c\u6307\u9488\u6570\u7ec4\u3002\u6bcf\u9879\u4e3a\u4e00\u4e2a\uff08\u504f\u79fb\uff0c\u957f\u5ea6\uff09\u5bf9\uff0c\u5360 4 \u5b57\u8282\u3002"}, {"c0": "\u7a7a\u95f2\u7a7a\u95f4", "c1": "\u5c1a\u672a\u5206\u914d\u7684\u7a7a\u95f4\u3002\u65b0\u884c\u6307\u9488\u4ece\u8be5\u533a\u57df\u7684\u8d77\u59cb\u5904\u5206\u914d\uff0c\u65b0\u6570\u636e\u9879\u4ece\u672b\u5c3e\u5904\u5206\u914d\u3002"}, {"c0": "\u9879", "c1": "\u5b9e\u9645\u7684\u6570\u636e\u9879\u672c\u8eab\u3002"}, {"c0": "\u7279\u6b8a\u7a7a\u95f4", "c1": "\u7d22\u5f15\u8bbf\u95ee\u65b9\u6cd5\u4e13\u7528\u6570\u636e\u3002\u4e0d\u540c\u65b9\u6cd5\u5b58\u50a8\u7684\u5185\u5bb9\u4e0d\u540c\uff0c\u666e\u901a\u8868\u4e2d\u6b64\u533a\u57df\u4e3a\u7a7a\u3002"}], "title": "\u9875\u9762\u603b\u4f53\u5e03\u5c40", "columns": [{"key": "c0", "label": "\u9879\u76ee"}, {"key": "c1", "label": "\u8bf4\u660e"}]}, {"key": "layout-1", "rows": [{"c0": "pd_lsn", "c1": "PageXLogRecPtr", "c2": "8 \u5b57\u8282", "c3": "LSN\uff1a\u8be5\u9875\u6700\u540e\u4e00\u6b21\u53d8\u5316\u6240\u5bf9\u5e94 WAL \u8bb0\u5f55\u7684\u6700\u540e\u4e00\u4e2a\u5b57\u8282\u4e4b\u540e\u7684\u4f4d\u7f6e\u3002"}, {"c0": "pd_checksum", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u9875\u9762\u6821\u9a8c\u548c"}, {"c0": "pd_flags", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u6807\u5fd7\u4f4d"}, {"c0": "pd_lower", "c1": "LocationIndex", "c2": "2 \u5b57\u8282", "c3": "\u7a7a\u95f2\u7a7a\u95f4\u8d77\u59cb\u4f4d\u7f6e\u7684\u504f\u79fb\u91cf"}, {"c0": "pd_upper", "c1": "LocationIndex", "c2": "2 \u5b57\u8282", "c3": "\u7a7a\u95f2\u7a7a\u95f4\u7ed3\u675f\u4f4d\u7f6e\u7684\u504f\u79fb\u91cf"}, {"c0": "pd_special", "c1": "LocationIndex", "c2": "2 \u5b57\u8282", "c3": "\u7279\u6b8a\u7a7a\u95f4\u8d77\u59cb\u4f4d\u7f6e\u7684\u504f\u79fb\u91cf"}, {"c0": "pd_pagesize_version", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u9875\u9762\u5927\u5c0f\u4e0e\u5e03\u5c40\u7248\u672c\u53f7\u4fe1\u606f"}, {"c0": "pd_prune_xid", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "\u9875\u9762\u4e0a\u6700\u65e9\u7684\u5c1a\u672a\u4fee\u526a\u7684 XMAX\uff1b\u6ca1\u6709\u5219\u4e3a\u96f6"}], "title": "PageHeaderData \u5e03\u5c40", "columns": [{"key": "c0", "label": "\u5b57\u6bb5"}, {"key": "c1", "label": "\u7c7b\u578b"}, {"key": "c2", "label": "\u957f\u5ea6"}, {"key": "c3", "label": "\u8bf4\u660e"}]}, {"key": "layout-2", "rows": [{"c0": "t_xmin", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "\u63d2\u5165\u4e8b\u52a1\u7684 XID"}, {"c0": "t_xmax", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "\u5220\u9664\u4e8b\u52a1\u7684 XID"}, {"c0": "t_cid", "c1": "CommandId", "c2": "4 \u5b57\u8282", "c3": "\u63d2\u5165\u548c\uff0f\u6216\u5220\u9664\u547d\u4ee4\u7684 CID\uff0c\u4e0e t_xvac \u5171\u7528\u5b58\u50a8\u4f4d\u7f6e"}, {"c0": "t_xvac", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "VACUUM \u64cd\u4f5c\u79fb\u52a8\u884c\u7248\u672c\u65f6\u4f7f\u7528\u7684 XID"}, {"c0": "t_ctid", "c1": "ItemPointerData", "c2": "6 \u5b57\u8282", "c3": "\u672c\u884c\u7248\u672c\u6216\u8f83\u65b0\u884c\u7248\u672c\u7684\u5f53\u524d TID"}, {"c0": "t_infomask2", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u5c5e\u6027\u6570\u91cf\u53ca\u5404\u79cd\u6807\u5fd7\u4f4d"}, {"c0": "t_infomask", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u5404\u79cd\u6807\u5fd7\u4f4d"}, {"c0": "t_hoff", "c1": "uint8", "c2": "1 \u5b57\u8282", "c3": "\u7528\u6237\u6570\u636e\u7684\u504f\u79fb\u91cf"}], "title": "HeapTupleHeaderData \u5e03\u5c40", "columns": [{"key": "c0", "label": "\u5b57\u6bb5"}, {"key": "c1", "label": "\u7c7b\u578b"}, {"key": "c2", "label": "\u957f\u5ea6"}, {"key": "c3", "label": "\u8bf4\u660e"}]}], "diagram": "page-layout", "related": [{"url": "/wiki/tableam/?v=20", "label": "Table AM"}, {"url": "/wiki/relopts/?v=20", "label": "\u5b58\u50a8\u53c2\u6570"}], "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-page-layout.html", "path": "storage-page-layout.html", "label": "PostgreSQL 20 English manual", "sha256": "c504f6e2817e88beecb6f7557e7a749628b7a5342a9ae8d95cee40562707c8f1"}], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-identity", "manual": {"url": "/zh/docs/devel/storage-page-layout.html", "anchor": "", "locale": "zh-Hans", "version": "20", "build_id": 111, "page_key": "storage-page-layout.html", "extraction": "concept-introduction", "source_hash": "a561779e50175a2f368a2252a900c33bcf6bb2401349149d50c528d0b8a7a57f", "fragment_sha256": "ea849a3e5c5c4e63abf5ec6149df3a701c65bb75655612319fa88ea74e6782be", "source_revision": "sha256:49c73aa4c9cacef8ca979276a28ac416c08e9e54c9baee4ae5fd116a35fa13ac", "translation_revision": "git:b1b500221dbe5437cfca004d6b04d3f6e422765d;html-sha256:98c980963b401d40bd50df72b909e7523e3148b8fdb48edd897de2efb67e5235", "translated_from_revision": "sha256:49c73aa4c9cacef8ca979276a28ac416c08e9e54c9baee4ae5fd116a35fa13ac"}, "body_sha256": "246577a8dde77cca92aa6eaf44239f10382eb81867f1a41bd17f2f2870fd330e", "runtime_rerun": false, "authored_translation": "source-derived-identity", "source_facts_revision": "49c73aa4c9cacef8ca979276a28ac416c08e9e54c9baee4ae5fd116a35fa13ac"}, "facts_zh": [{"label": "\u5b9a\u4e49\u8303\u56f4", "value": "\u540c\u7248\u672c\u6838\u5fc3\u7269\u7406\u5b58\u50a8\u6587\u6863"}], "sections": [], "center_zh": {"title": "Database Page Layout", "locale": "zh-Hans", "source": {"key": "storage-page-layout", "locale": "zh-Hans", "version": "20", "text_hash": "72030908da8093a00d2b15f397e5cab597947e8a8fcb2a96a735107e236c168d", "collection": "storage", "dataset_hash": "7c31b524dfe136022d39a6ae8dcfac6b3bbd5f8fdaf422536599981252aff0c9", "source_database": "center", "source_revision": "49c73aa4c9cacef8ca979276a28ac416c08e9e54c9baee4ae5fd116a35fa13ac"}, "payload": {"facts": [{"label": "\u5b9a\u4e49\u8303\u56f4", "value": "\u540c\u7248\u672c\u6838\u5fc3\u7269\u7406\u5b58\u50a8\u6587\u6863"}], "tables": [{"key": "layout-0", "rows": [{"c0": "PageHeaderData", "c1": "\u957f 24 \u5b57\u8282\uff0c\u5305\u542b\u9875\u9762\u7684\u901a\u7528\u4fe1\u606f\uff0c\u4f8b\u5982\u7a7a\u95f2\u7a7a\u95f4\u6307\u9488\u3002"}, {"c0": "ItemIdData", "c1": "\u6307\u5411\u5b9e\u9645\u6570\u636e\u9879\u7684\u884c\u6307\u9488\u6570\u7ec4\u3002\u6bcf\u9879\u4e3a\u4e00\u4e2a\uff08\u504f\u79fb\uff0c\u957f\u5ea6\uff09\u5bf9\uff0c\u5360 4 \u5b57\u8282\u3002"}, {"c0": "\u7a7a\u95f2\u7a7a\u95f4", "c1": "\u5c1a\u672a\u5206\u914d\u7684\u7a7a\u95f4\u3002\u65b0\u884c\u6307\u9488\u4ece\u8be5\u533a\u57df\u7684\u8d77\u59cb\u5904\u5206\u914d\uff0c\u65b0\u6570\u636e\u9879\u4ece\u672b\u5c3e\u5904\u5206\u914d\u3002"}, {"c0": "\u9879", "c1": "\u5b9e\u9645\u7684\u6570\u636e\u9879\u672c\u8eab\u3002"}, {"c0": "\u7279\u6b8a\u7a7a\u95f4", "c1": "\u7d22\u5f15\u8bbf\u95ee\u65b9\u6cd5\u4e13\u7528\u6570\u636e\u3002\u4e0d\u540c\u65b9\u6cd5\u5b58\u50a8\u7684\u5185\u5bb9\u4e0d\u540c\uff0c\u666e\u901a\u8868\u4e2d\u6b64\u533a\u57df\u4e3a\u7a7a\u3002"}], "title": "\u9875\u9762\u603b\u4f53\u5e03\u5c40", "columns": [{"key": "c0", "label": "\u9879\u76ee"}, {"key": "c1", "label": "\u8bf4\u660e"}]}, {"key": "layout-1", "rows": [{"c0": "pd_lsn", "c1": "PageXLogRecPtr", "c2": "8 \u5b57\u8282", "c3": "LSN\uff1a\u8be5\u9875\u6700\u540e\u4e00\u6b21\u53d8\u5316\u6240\u5bf9\u5e94 WAL \u8bb0\u5f55\u7684\u6700\u540e\u4e00\u4e2a\u5b57\u8282\u4e4b\u540e\u7684\u4f4d\u7f6e\u3002"}, {"c0": "pd_checksum", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u9875\u9762\u6821\u9a8c\u548c"}, {"c0": "pd_flags", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u6807\u5fd7\u4f4d"}, {"c0": "pd_lower", "c1": "LocationIndex", "c2": "2 \u5b57\u8282", "c3": "\u7a7a\u95f2\u7a7a\u95f4\u8d77\u59cb\u4f4d\u7f6e\u7684\u504f\u79fb\u91cf"}, {"c0": "pd_upper", "c1": "LocationIndex", "c2": "2 \u5b57\u8282", "c3": "\u7a7a\u95f2\u7a7a\u95f4\u7ed3\u675f\u4f4d\u7f6e\u7684\u504f\u79fb\u91cf"}, {"c0": "pd_special", "c1": "LocationIndex", "c2": "2 \u5b57\u8282", "c3": "\u7279\u6b8a\u7a7a\u95f4\u8d77\u59cb\u4f4d\u7f6e\u7684\u504f\u79fb\u91cf"}, {"c0": "pd_pagesize_version", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u9875\u9762\u5927\u5c0f\u4e0e\u5e03\u5c40\u7248\u672c\u53f7\u4fe1\u606f"}, {"c0": "pd_prune_xid", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "\u9875\u9762\u4e0a\u6700\u65e9\u7684\u5c1a\u672a\u4fee\u526a\u7684 XMAX\uff1b\u6ca1\u6709\u5219\u4e3a\u96f6"}], "title": "PageHeaderData \u5e03\u5c40", "columns": [{"key": "c0", "label": "\u5b57\u6bb5"}, {"key": "c1", "label": "\u7c7b\u578b"}, {"key": "c2", "label": "\u957f\u5ea6"}, {"key": "c3", "label": "\u8bf4\u660e"}]}, {"key": "layout-2", "rows": [{"c0": "t_xmin", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "\u63d2\u5165\u4e8b\u52a1\u7684 XID"}, {"c0": "t_xmax", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "\u5220\u9664\u4e8b\u52a1\u7684 XID"}, {"c0": "t_cid", "c1": "CommandId", "c2": "4 \u5b57\u8282", "c3": "\u63d2\u5165\u548c\uff0f\u6216\u5220\u9664\u547d\u4ee4\u7684 CID\uff0c\u4e0e t_xvac \u5171\u7528\u5b58\u50a8\u4f4d\u7f6e"}, {"c0": "t_xvac", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "VACUUM \u64cd\u4f5c\u79fb\u52a8\u884c\u7248\u672c\u65f6\u4f7f\u7528\u7684 XID"}, {"c0": "t_ctid", "c1": "ItemPointerData", "c2": "6 \u5b57\u8282", "c3": "\u672c\u884c\u7248\u672c\u6216\u8f83\u65b0\u884c\u7248\u672c\u7684\u5f53\u524d TID"}, {"c0": "t_infomask2", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u5c5e\u6027\u6570\u91cf\u53ca\u5404\u79cd\u6807\u5fd7\u4f4d"}, {"c0": "t_infomask", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u5404\u79cd\u6807\u5fd7\u4f4d"}, {"c0": "t_hoff", "c1": "uint8", "c2": "1 \u5b57\u8282", "c3": "\u7528\u6237\u6570\u636e\u7684\u504f\u79fb\u91cf"}], "title": "HeapTupleHeaderData \u5e03\u5c40", "columns": [{"key": "c0", "label": "\u5b57\u6bb5"}, {"key": "c1", "label": "\u7c7b\u578b"}, {"key": "c2", "label": "\u957f\u5ea6"}, {"key": "c3", "label": "\u8bf4\u660e"}]}], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-identity", "manual": {"url": "/zh/docs/devel/storage-page-layout.html", "anchor": "", "locale": "zh-Hans", "version": "20", "build_id": 111, "page_key": "storage-page-layout.html", "extraction": "concept-introduction", "source_hash": "a561779e50175a2f368a2252a900c33bcf6bb2401349149d50c528d0b8a7a57f", "fragment_sha256": "ea849a3e5c5c4e63abf5ec6149df3a701c65bb75655612319fa88ea74e6782be", "source_revision": "sha256:49c73aa4c9cacef8ca979276a28ac416c08e9e54c9baee4ae5fd116a35fa13ac", "translation_revision": "git:b1b500221dbe5437cfca004d6b04d3f6e422765d;html-sha256:98c980963b401d40bd50df72b909e7523e3148b8fdb48edd897de2efb67e5235", "translated_from_revision": "sha256:49c73aa4c9cacef8ca979276a28ac416c08e9e54c9baee4ae5fd116a35fa13ac"}, "body_sha256": "246577a8dde77cca92aa6eaf44239f10382eb81867f1a41bd17f2f2870fd330e", "runtime_rerun": false, "authored_translation": "source-derived-identity", "source_facts_revision": "49c73aa4c9cacef8ca979276a28ac416c08e9e54c9baee4ae5fd116a35fa13ac"}, "sections": [], "description_zh": "\u672c\u8282\u6982\u8ff0 PostgreSQL \u8868\u548c\u7d22\u5f15\u5185\u90e8\u6240\u4f7f\u7528\u7684\u9875\u9762\u683c\u5f0f\u3002 [20] \u5e8f\u5217\u548c TOAST \u8868\u7684\u683c\u5f0f\u4e0e\u666e\u901a\u8868\u76f8\u540c\u3002 \u5728\u4e0b\u9762\u7684\u8bf4\u660e\u4e2d\uff0c\u5047\u5b9a\u4e00\u4e2a \u5b57\u8282 \u5305\u542b 8 \u4e2a\u4f4d\u3002\u53e6\u5916\uff0c\u672f\u8bed \u9879 \u6307\u7684\u662f\u5b58\u50a8\u5728\u9875\u9762\u4e0a\u7684\u5355\u4e2a\u6570\u636e\u503c\u3002\u5728\u8868\u4e2d\uff0c\u9879\u662f\u4e00\u884c\uff1b\u5728\u7d22\u5f15\u4e2d\uff0c\u9879\u662f\u4e00\u6761\u7d22\u5f15\u6761\u76ee\u3002 \u6bcf\u4e2a\u8868\u548c\u7d22\u5f15\u90fd\u5b58\u50a8\u4e3a\u56fa\u5b9a\u5927\u5c0f\u7684 \u9875\u9762 \u6570\u7ec4\uff08\u901a\u5e38\u4e3a 8 kB\uff0c\u4e0d\u8fc7\u5728\u7f16\u8bd1\u670d\u52a1\u5668\u65f6\u53ef\u4ee5\u9009\u62e9\u4e0d\u540c\u7684\u9875\u9762\u5927\u5c0f\uff09\u3002\u5728\u8868\u4e2d\uff0c\u6240\u6709\u9875\u9762\u5728\u903b\u8f91\u4e0a\u90fd\u662f\u7b49\u4ef7\u7684\uff0c\u56e0\u6b64\u67d0\u4e2a\u7279\u5b9a\u9879\uff08\u884c\uff09\u53ef\u4ee5\u5b58\u653e\u5728\u4efb\u610f\u9875\u9762\u4e2d\u3002\u5728\u7d22\u5f15\u4e2d\uff0c\u7b2c\u4e00\u9875\u901a\u5e38\u4fdd\u7559\u4e3a \u5143\u9875 \uff0c\u7528\u4e8e\u4fdd\u5b58\u63a7\u5236\u4fe1\u606f\uff1b\u5e76\u4e14\u6839\u636e\u7d22\u5f15\u8bbf\u95ee\u65b9\u6cd5\u7684\u4e0d\u540c\uff0c\u7d22\u5f15\u4e2d\u8fd8\u53ef\u80fd\u5b58\u5728\u4e0d\u540c\u7c7b\u578b\u7684\u9875\u9762\u3002 \u8868 66.2 \u5c55\u793a\u4e86\u9875\u9762\u7684\u603b\u4f53\u5e03\u5c40\u3002\u6bcf\u4e2a\u9875\u9762\u5305\u542b\u4e94\u4e2a\u90e8\u5206\u3002", "description_zh_html": "<p>\u5b58\u50a8\u7ed3\u6784 storage-page-layout\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n\u672c\u8282\u6982\u8ff0 <span class=\"productname\">PostgreSQL</span> \u8868\u548c\u7d22\u5f15\u5185\u90e8\u6240\u4f7f\u7528\u7684\u9875\u9762\u683c\u5f0f\u3002<a class=\"footnote\" href=\"/zh/docs/devel/storage-page-layout.html#ftn.id-1.10.18.8.2.2\"><sup class=\"footnote\">[20]</sup></a>\n\u5e8f\u5217\u548c <acronym class=\"acronym\">TOAST</acronym> \u8868\u7684\u683c\u5f0f\u4e0e\u666e\u901a\u8868\u76f8\u540c\u3002\n</p><p>\n\u5728\u4e0b\u9762\u7684\u8bf4\u660e\u4e2d\uff0c\u5047\u5b9a\u4e00\u4e2a<em class=\"firstterm\">\u5b57\u8282</em>\u5305\u542b 8 \u4e2a\u4f4d\u3002\u53e6\u5916\uff0c\u672f\u8bed<em class=\"firstterm\">\u9879</em>\u6307\u7684\u662f\u5b58\u50a8\u5728\u9875\u9762\u4e0a\u7684\u5355\u4e2a\u6570\u636e\u503c\u3002\u5728\u8868\u4e2d\uff0c\u9879\u662f\u4e00\u884c\uff1b\u5728\u7d22\u5f15\u4e2d\uff0c\u9879\u662f\u4e00\u6761\u7d22\u5f15\u6761\u76ee\u3002\n</p><p>\n\u6bcf\u4e2a\u8868\u548c\u7d22\u5f15\u90fd\u5b58\u50a8\u4e3a\u56fa\u5b9a\u5927\u5c0f\u7684<em class=\"firstterm\">\u9875\u9762</em>\u6570\u7ec4\uff08\u901a\u5e38\u4e3a 8 kB\uff0c\u4e0d\u8fc7\u5728\u7f16\u8bd1\u670d\u52a1\u5668\u65f6\u53ef\u4ee5\u9009\u62e9\u4e0d\u540c\u7684\u9875\u9762\u5927\u5c0f\uff09\u3002\u5728\u8868\u4e2d\uff0c\u6240\u6709\u9875\u9762\u5728\u903b\u8f91\u4e0a\u90fd\u662f\u7b49\u4ef7\u7684\uff0c\u56e0\u6b64\u67d0\u4e2a\u7279\u5b9a\u9879\uff08\u884c\uff09\u53ef\u4ee5\u5b58\u653e\u5728\u4efb\u610f\u9875\u9762\u4e2d\u3002\u5728\u7d22\u5f15\u4e2d\uff0c\u7b2c\u4e00\u9875\u901a\u5e38\u4fdd\u7559\u4e3a<em class=\"firstterm\">\u5143\u9875</em>\uff0c\u7528\u4e8e\u4fdd\u5b58\u63a7\u5236\u4fe1\u606f\uff1b\u5e76\u4e14\u6839\u636e\u7d22\u5f15\u8bbf\u95ee\u65b9\u6cd5\u7684\u4e0d\u540c\uff0c\u7d22\u5f15\u4e2d\u8fd8\u53ef\u80fd\u5b58\u5728\u4e0d\u540c\u7c7b\u578b\u7684\u9875\u9762\u3002\n</p><p>\n<a class=\"xref\" href=\"/zh/docs/devel/storage-page-layout.html#PAGE-TABLE\">\u8868\u00a066.2</a> \u5c55\u793a\u4e86\u9875\u9762\u7684\u603b\u4f53\u5e03\u5c40\u3002\u6bcf\u4e2a\u9875\u9762\u5305\u542b\u4e94\u4e2a\u90e8\u5206\u3002\n</p><p><a href=\"/zh/docs/devel/storage-page-layout.html\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "summary": "\u672c\u8282\u6982\u8ff0 PostgreSQL \u8868\u548c\u7d22\u5f15\u5185\u90e8\u6240\u4f7f\u7528\u7684\u9875\u9762\u683c\u5f0f\u3002 [20] \u5e8f\u5217\u548c TOAST \u8868\u7684\u683c\u5f0f\u4e0e\u666e\u901a\u8868\u76f8\u540c\u3002 \u5728\u4e0b\u9762\u7684\u8bf4\u660e\u4e2d\uff0c\u5047\u5b9a\u4e00\u4e2a \u5b57\u8282 \u5305\u542b 8 \u4e2a\u4f4d\u3002\u53e6\u5916\uff0c\u672f\u8bed \u9879 \u6307\u7684\u662f\u5b58\u50a8\u5728\u9875\u9762\u4e0a\u7684\u5355\u4e2a\u6570\u636e\u503c\u3002\u5728\u8868\u4e2d\uff0c\u9879\u662f\u4e00\u884c\uff1b\u5728\u7d22\u5f15\u4e2d\uff0c\u9879\u662f\u4e00\u6761\u7d22\u5f15\u6761\u76ee\u3002 \u6bcf\u4e2a\u8868\u548c\u7d22\u5f15\u90fd\u5b58\u50a8\u4e3a\u56fa\u5b9a\u5927\u5c0f\u7684 \u9875\u9762 \u6570\u7ec4\uff08\u901a\u5e38\u4e3a 8 kB\uff0c\u4e0d\u8fc7\u5728\u7f16\u8bd1\u670d\u52a1\u5668\u65f6\u53ef\u4ee5\u9009\u62e9\u4e0d\u540c\u7684\u9875\u9762\u5927\u5c0f\uff09\u3002\u5728\u8868\u4e2d\uff0c\u6240\u6709\u9875\u9762\u5728\u903b\u8f91\u4e0a\u90fd\u662f\u7b49\u4ef7\u7684\uff0c\u56e0\u6b64\u67d0\u4e2a\u7279\u5b9a\u9879\uff08\u884c\uff09\u53ef\u4ee5\u5b58\u653e\u5728\u4efb\u610f\u9875\u9762\u4e2d\u3002\u5728\u7d22\u5f15\u4e2d\uff0c\u7b2c\u4e00\u9875\u901a\u5e38\u4fdd\u7559\u4e3a \u5143\u9875 \uff0c\u7528\u4e8e\u4fdd\u5b58\u63a7\u5236\u4fe1\u606f\uff1b\u5e76\u4e14\u6839\u636e\u7d22\u5f15\u8bbf\u95ee\u65b9\u6cd5\u7684\u4e0d\u540c\uff0c\u7d22\u5f15\u4e2d\u8fd8\u53ef\u80fd\u5b58\u5728\u4e0d\u540c\u7c7b\u578b\u7684\u9875\u9762\u3002 \u8868 66.2 \u5c55\u793a\u4e86\u9875\u9762\u7684\u603b\u4f53\u5e03\u5c40\u3002\u6bcf\u4e2a\u9875\u9762\u5305\u542b\u4e94\u4e2a\u90e8\u5206\u3002", "version": "20", "link_map": {"/zh/docs/devel/storage-page-layout.html": "/docs/devel/storage-page-layout.html", "/zh/docs/devel/storage-page-layout.html#PAGE-TABLE": "/docs/devel/storage-page-layout.html#PAGE-TABLE", "/zh/docs/devel/storage-page-layout.html#ftn.id-1.10.18.8.2.2": "/docs/devel/storage-page-layout.html#ftn.id-1.10.18.8.2.2"}, "body_html": "<p>\u5b58\u50a8\u7ed3\u6784 storage-page-layout\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n\u672c\u8282\u6982\u8ff0 <span>PostgreSQL</span> \u8868\u548c\u7d22\u5f15\u5185\u90e8\u6240\u4f7f\u7528\u7684\u9875\u9762\u683c\u5f0f\u3002<a href=\"/zh/docs/devel/storage-page-layout.html#ftn.id-1.10.18.8.2.2\" rel=\"nofollow\"><sup>[20]</sup></a>\n\u5e8f\u5217\u548c <acronym>TOAST</acronym> \u8868\u7684\u683c\u5f0f\u4e0e\u666e\u901a\u8868\u76f8\u540c\u3002\n</p><p>\n\u5728\u4e0b\u9762\u7684\u8bf4\u660e\u4e2d\uff0c\u5047\u5b9a\u4e00\u4e2a<em>\u5b57\u8282</em>\u5305\u542b 8 \u4e2a\u4f4d\u3002\u53e6\u5916\uff0c\u672f\u8bed<em>\u9879</em>\u6307\u7684\u662f\u5b58\u50a8\u5728\u9875\u9762\u4e0a\u7684\u5355\u4e2a\u6570\u636e\u503c\u3002\u5728\u8868\u4e2d\uff0c\u9879\u662f\u4e00\u884c\uff1b\u5728\u7d22\u5f15\u4e2d\uff0c\u9879\u662f\u4e00\u6761\u7d22\u5f15\u6761\u76ee\u3002\n</p><p>\n\u6bcf\u4e2a\u8868\u548c\u7d22\u5f15\u90fd\u5b58\u50a8\u4e3a\u56fa\u5b9a\u5927\u5c0f\u7684<em>\u9875\u9762</em>\u6570\u7ec4\uff08\u901a\u5e38\u4e3a 8 kB\uff0c\u4e0d\u8fc7\u5728\u7f16\u8bd1\u670d\u52a1\u5668\u65f6\u53ef\u4ee5\u9009\u62e9\u4e0d\u540c\u7684\u9875\u9762\u5927\u5c0f\uff09\u3002\u5728\u8868\u4e2d\uff0c\u6240\u6709\u9875\u9762\u5728\u903b\u8f91\u4e0a\u90fd\u662f\u7b49\u4ef7\u7684\uff0c\u56e0\u6b64\u67d0\u4e2a\u7279\u5b9a\u9879\uff08\u884c\uff09\u53ef\u4ee5\u5b58\u653e\u5728\u4efb\u610f\u9875\u9762\u4e2d\u3002\u5728\u7d22\u5f15\u4e2d\uff0c\u7b2c\u4e00\u9875\u901a\u5e38\u4fdd\u7559\u4e3a<em>\u5143\u9875</em>\uff0c\u7528\u4e8e\u4fdd\u5b58\u63a7\u5236\u4fe1\u606f\uff1b\u5e76\u4e14\u6839\u636e\u7d22\u5f15\u8bbf\u95ee\u65b9\u6cd5\u7684\u4e0d\u540c\uff0c\u7d22\u5f15\u4e2d\u8fd8\u53ef\u80fd\u5b58\u5728\u4e0d\u540c\u7c7b\u578b\u7684\u9875\u9762\u3002\n</p><p>\n<a href=\"/zh/docs/devel/storage-page-layout.html#PAGE-TABLE\" rel=\"nofollow\">\u8868\u00a066.2</a> \u5c55\u793a\u4e86\u9875\u9762\u7684\u603b\u4f53\u5e03\u5c40\u3002\u6bcf\u4e2a\u9875\u9762\u5305\u542b\u4e94\u4e2a\u90e8\u5206\u3002\n</p><p><a href=\"/zh/docs/devel/storage-page-layout.html\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>", "body_sha256": "11b777b4f4dae57cd39c85841c78a6011caf42f75cac6e16677395e51cc1fea0", "content_hash": "72030908da8093a00d2b15f397e5cab597947e8a8fcb2a96a735107e236c168d", "source_database": "center", "source_revision": "49c73aa4c9cacef8ca979276a28ac416c08e9e54c9baee4ae5fd116a35fa13ac"}, "signature": "", "tables_zh": [{"key": "layout-0", "rows": [{"c0": "PageHeaderData", "c1": "\u957f 24 \u5b57\u8282\uff0c\u5305\u542b\u9875\u9762\u7684\u901a\u7528\u4fe1\u606f\uff0c\u4f8b\u5982\u7a7a\u95f2\u7a7a\u95f4\u6307\u9488\u3002"}, {"c0": "ItemIdData", "c1": "\u6307\u5411\u5b9e\u9645\u6570\u636e\u9879\u7684\u884c\u6307\u9488\u6570\u7ec4\u3002\u6bcf\u9879\u4e3a\u4e00\u4e2a\uff08\u504f\u79fb\uff0c\u957f\u5ea6\uff09\u5bf9\uff0c\u5360 4 \u5b57\u8282\u3002"}, {"c0": "\u7a7a\u95f2\u7a7a\u95f4", "c1": "\u5c1a\u672a\u5206\u914d\u7684\u7a7a\u95f4\u3002\u65b0\u884c\u6307\u9488\u4ece\u8be5\u533a\u57df\u7684\u8d77\u59cb\u5904\u5206\u914d\uff0c\u65b0\u6570\u636e\u9879\u4ece\u672b\u5c3e\u5904\u5206\u914d\u3002"}, {"c0": "\u9879", "c1": "\u5b9e\u9645\u7684\u6570\u636e\u9879\u672c\u8eab\u3002"}, {"c0": "\u7279\u6b8a\u7a7a\u95f4", "c1": "\u7d22\u5f15\u8bbf\u95ee\u65b9\u6cd5\u4e13\u7528\u6570\u636e\u3002\u4e0d\u540c\u65b9\u6cd5\u5b58\u50a8\u7684\u5185\u5bb9\u4e0d\u540c\uff0c\u666e\u901a\u8868\u4e2d\u6b64\u533a\u57df\u4e3a\u7a7a\u3002"}], "title": "\u9875\u9762\u603b\u4f53\u5e03\u5c40", "columns": [{"key": "c0", "label": "\u9879\u76ee"}, {"key": "c1", "label": "\u8bf4\u660e"}]}, {"key": "layout-1", "rows": [{"c0": "pd_lsn", "c1": "PageXLogRecPtr", "c2": "8 \u5b57\u8282", "c3": "LSN\uff1a\u8be5\u9875\u6700\u540e\u4e00\u6b21\u53d8\u5316\u6240\u5bf9\u5e94 WAL \u8bb0\u5f55\u7684\u6700\u540e\u4e00\u4e2a\u5b57\u8282\u4e4b\u540e\u7684\u4f4d\u7f6e\u3002"}, {"c0": "pd_checksum", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u9875\u9762\u6821\u9a8c\u548c"}, {"c0": "pd_flags", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u6807\u5fd7\u4f4d"}, {"c0": "pd_lower", "c1": "LocationIndex", "c2": "2 \u5b57\u8282", "c3": "\u7a7a\u95f2\u7a7a\u95f4\u8d77\u59cb\u4f4d\u7f6e\u7684\u504f\u79fb\u91cf"}, {"c0": "pd_upper", "c1": "LocationIndex", "c2": "2 \u5b57\u8282", "c3": "\u7a7a\u95f2\u7a7a\u95f4\u7ed3\u675f\u4f4d\u7f6e\u7684\u504f\u79fb\u91cf"}, {"c0": "pd_special", "c1": "LocationIndex", "c2": "2 \u5b57\u8282", "c3": "\u7279\u6b8a\u7a7a\u95f4\u8d77\u59cb\u4f4d\u7f6e\u7684\u504f\u79fb\u91cf"}, {"c0": "pd_pagesize_version", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u9875\u9762\u5927\u5c0f\u4e0e\u5e03\u5c40\u7248\u672c\u53f7\u4fe1\u606f"}, {"c0": "pd_prune_xid", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "\u9875\u9762\u4e0a\u6700\u65e9\u7684\u5c1a\u672a\u4fee\u526a\u7684 XMAX\uff1b\u6ca1\u6709\u5219\u4e3a\u96f6"}], "title": "PageHeaderData \u5e03\u5c40", "columns": [{"key": "c0", "label": "\u5b57\u6bb5"}, {"key": "c1", "label": "\u7c7b\u578b"}, {"key": "c2", "label": "\u957f\u5ea6"}, {"key": "c3", "label": "\u8bf4\u660e"}]}, {"key": "layout-2", "rows": [{"c0": "t_xmin", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "\u63d2\u5165\u4e8b\u52a1\u7684 XID"}, {"c0": "t_xmax", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "\u5220\u9664\u4e8b\u52a1\u7684 XID"}, {"c0": "t_cid", "c1": "CommandId", "c2": "4 \u5b57\u8282", "c3": "\u63d2\u5165\u548c\uff0f\u6216\u5220\u9664\u547d\u4ee4\u7684 CID\uff0c\u4e0e t_xvac \u5171\u7528\u5b58\u50a8\u4f4d\u7f6e"}, {"c0": "t_xvac", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "VACUUM \u64cd\u4f5c\u79fb\u52a8\u884c\u7248\u672c\u65f6\u4f7f\u7528\u7684 XID"}, {"c0": "t_ctid", "c1": "ItemPointerData", "c2": "6 \u5b57\u8282", "c3": "\u672c\u884c\u7248\u672c\u6216\u8f83\u65b0\u884c\u7248\u672c\u7684\u5f53\u524d TID"}, {"c0": "t_infomask2", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u5c5e\u6027\u6570\u91cf\u53ca\u5404\u79cd\u6807\u5fd7\u4f4d"}, {"c0": "t_infomask", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u5404\u79cd\u6807\u5fd7\u4f4d"}, {"c0": "t_hoff", "c1": "uint8", "c2": "1 \u5b57\u8282", "c3": "\u7528\u6237\u6570\u636e\u7684\u504f\u79fb\u91cf"}], "title": "HeapTupleHeaderData \u5e03\u5c40", "columns": [{"key": "c0", "label": "\u5b57\u6bb5"}, {"key": "c1", "label": "\u7c7b\u578b"}, {"key": "c2", "label": "\u957f\u5ea6"}, {"key": "c3", "label": "\u8bf4\u660e"}]}], "description": ["\u672c\u8282\u6982\u8ff0 PostgreSQL \u8868\u548c\u7d22\u5f15\u5185\u90e8\u6240\u4f7f\u7528\u7684\u9875\u9762\u683c\u5f0f\u3002 [20] \u5e8f\u5217\u548c TOAST \u8868\u7684\u683c\u5f0f\u4e0e\u666e\u901a\u8868\u76f8\u540c\u3002 \u5728\u4e0b\u9762\u7684\u8bf4\u660e\u4e2d\uff0c\u5047\u5b9a\u4e00\u4e2a \u5b57\u8282 \u5305\u542b 8 \u4e2a\u4f4d\u3002\u53e6\u5916\uff0c\u672f\u8bed \u9879 \u6307\u7684\u662f\u5b58\u50a8\u5728\u9875\u9762\u4e0a\u7684\u5355\u4e2a\u6570\u636e\u503c\u3002\u5728\u8868\u4e2d\uff0c\u9879\u662f\u4e00\u884c\uff1b\u5728\u7d22\u5f15\u4e2d\uff0c\u9879\u662f\u4e00\u6761\u7d22\u5f15\u6761\u76ee\u3002 \u6bcf\u4e2a\u8868\u548c\u7d22\u5f15\u90fd\u5b58\u50a8\u4e3a\u56fa\u5b9a\u5927\u5c0f\u7684 \u9875\u9762 \u6570\u7ec4\uff08\u901a\u5e38\u4e3a 8 kB\uff0c\u4e0d\u8fc7\u5728\u7f16\u8bd1\u670d\u52a1\u5668\u65f6\u53ef\u4ee5\u9009\u62e9\u4e0d\u540c\u7684\u9875\u9762\u5927\u5c0f\uff09\u3002\u5728\u8868\u4e2d\uff0c\u6240\u6709\u9875\u9762\u5728\u903b\u8f91\u4e0a\u90fd\u662f\u7b49\u4ef7\u7684\uff0c\u56e0\u6b64\u67d0\u4e2a\u7279\u5b9a\u9879\uff08\u884c\uff09\u53ef\u4ee5\u5b58\u653e\u5728\u4efb\u610f\u9875\u9762\u4e2d\u3002\u5728\u7d22\u5f15\u4e2d\uff0c\u7b2c\u4e00\u9875\u901a\u5e38\u4fdd\u7559\u4e3a \u5143\u9875 \uff0c\u7528\u4e8e\u4fdd\u5b58\u63a7\u5236\u4fe1\u606f\uff1b\u5e76\u4e14\u6839\u636e\u7d22\u5f15\u8bbf\u95ee\u65b9\u6cd5\u7684\u4e0d\u540c\uff0c\u7d22\u5f15\u4e2d\u8fd8\u53ef\u80fd\u5b58\u5728\u4e0d\u540c\u7c7b\u578b\u7684\u9875\u9762\u3002 \u8868 66.2 \u5c55\u793a\u4e86\u9875\u9762\u7684\u603b\u4f53\u5e03\u5c40\u3002\u6bcf\u4e2a\u9875\u9762\u5305\u542b\u4e94\u4e2a\u90e8\u5206\u3002"], "manual_html": "", "manual_path": "/docs/devel/storage-page-layout.html", "sections_zh": [], "localization": {"status": "complete", "sources": [{"url": "/docs/devel/storage-page-layout.html", "method": "same-major semantic node", "sha256": "e6342ac6dbc18d88c4c1a9a53b24c520b5ce2b76d9de4170ad8f151e1699e445", "language": "zh", "matched_nodes": ["#STORAGE-PAGE-LAYOUT/div[0]", "#STORAGE-PAGE-LAYOUT/div[16]", "#STORAGE-PAGE-LAYOUT/div[18]/div[2]/p[0]", "#STORAGE-PAGE-LAYOUT/div[18]/p[1]", "#STORAGE-PAGE-LAYOUT/div[18]/p[4]", "#STORAGE-PAGE-LAYOUT/div[18]/p[5]", "#STORAGE-PAGE-LAYOUT/div[18]/p[6]", "#STORAGE-PAGE-LAYOUT/div[19]", "#STORAGE-PAGE-LAYOUT/div[1]", "#STORAGE-PAGE-LAYOUT/div[6]/div[1]/table[0]/tbody[2]/tr[3]/td[0]", "#STORAGE-PAGE-LAYOUT/div[6]/p[0]", "#STORAGE-PAGE-LAYOUT/div[9]/div[1]/table[0]/tbody[2]/tr[0]/td[2]", "#STORAGE-PAGE-LAYOUT/div[9]/p[0]", "#STORAGE-PAGE-LAYOUT/p[11]", "#STORAGE-PAGE-LAYOUT/p[12]", "#STORAGE-PAGE-LAYOUT/p[13]", "#STORAGE-PAGE-LAYOUT/p[14]", "#STORAGE-PAGE-LAYOUT/p[15]", "#STORAGE-PAGE-LAYOUT/p[2]", "#STORAGE-PAGE-LAYOUT/p[3]", "#STORAGE-PAGE-LAYOUT/p[4]", "#STORAGE-PAGE-LAYOUT/p[5]"]}], "language": "zh", "original_text": {"/summary": "This section provides an overview of the page format used within PostgreSQL tables and indexes. [20] Sequences and TOAST tables are formatted just like a regular table.", "/category": "Physical structures", "/versions/20/description/0": "This section provides an overview of the page format used within PostgreSQL tables and indexes. [20] Sequences and TOAST tables are formatted just like a regular table.", "/versions/20/facts/0/label": "Definition scope", "/versions/20/facts/0/value": "Same-version core physical storage documentation", "/versions/20/tables/0/title": "Overall Page Layout", "/versions/20/tables/1/title": "PageHeaderData Layout", "/versions/20/tables/2/title": "HeapTupleHeaderData Layout", "/versions/20/related/1/label": "Storage Parameters", "/versions/20/tables/0/rows/0/c1": "24 bytes long. Contains general information about the page, including free space pointers.", "/versions/20/tables/0/rows/1/c1": "Array of item identifiers pointing to the actual items. Each entry is an (offset,length) pair. 4 bytes per item.", "/versions/20/tables/0/rows/2/c0": "Free space", "/versions/20/tables/0/rows/2/c1": "The unallocated space. New item identifiers are allocated from the start of this area, new items from the end.", "/versions/20/tables/0/rows/3/c0": "Items", "/versions/20/tables/0/rows/3/c1": "The actual items themselves.", "/versions/20/tables/0/rows/4/c0": "Special space", "/versions/20/tables/0/rows/4/c1": "Index access method specific data. Different methods store different data. Empty in ordinary tables.", "/versions/20/tables/1/rows/0/c2": "8 bytes", "/versions/20/tables/1/rows/0/c3": "LSN: next byte after last byte of WAL record for last change to this page", "/versions/20/tables/1/rows/1/c2": "2 bytes", "/versions/20/tables/1/rows/1/c3": "Page checksum", "/versions/20/tables/1/rows/2/c2": "2 bytes", "/versions/20/tables/1/rows/2/c3": "Flag bits", "/versions/20/tables/1/rows/3/c2": "2 bytes", "/versions/20/tables/1/rows/3/c3": "Offset to start of free space", "/versions/20/tables/1/rows/4/c2": "2 bytes", "/versions/20/tables/1/rows/4/c3": "Offset to end of free space", "/versions/20/tables/1/rows/5/c2": "2 bytes", "/versions/20/tables/1/rows/5/c3": "Offset to start of special space", "/versions/20/tables/1/rows/6/c2": "2 bytes", "/versions/20/tables/1/rows/6/c3": "Page size and layout version number information", "/versions/20/tables/1/rows/7/c2": "4 bytes", "/versions/20/tables/1/rows/7/c3": "Oldest unpruned XMAX on page, or zero if none", "/versions/20/tables/2/rows/0/c2": "4 bytes", "/versions/20/tables/2/rows/0/c3": "insert XID stamp", "/versions/20/tables/2/rows/1/c2": "4 bytes", "/versions/20/tables/2/rows/1/c3": "delete XID stamp", "/versions/20/tables/2/rows/2/c2": "4 bytes", "/versions/20/tables/2/rows/2/c3": "insert and/or delete CID stamp (overlays with t_xvac)", "/versions/20/tables/2/rows/3/c2": "4 bytes", "/versions/20/tables/2/rows/3/c3": "XID for VACUUM operation moving a row version", "/versions/20/tables/2/rows/4/c2": "6 bytes", "/versions/20/tables/2/rows/4/c3": "current TID of this or newer row version", "/versions/20/tables/2/rows/5/c2": "2 bytes", "/versions/20/tables/2/rows/5/c3": "number of attributes, plus various flag bits", "/versions/20/tables/2/rows/6/c2": "2 bytes", "/versions/20/tables/2/rows/6/c3": "various flag bits", "/versions/20/tables/2/rows/7/c2": "1 byte", "/versions/20/tables/2/rows/7/c3": "offset to user data", "/versions/20/tables/0/columns/0/label": "Item", "/versions/20/tables/0/columns/1/label": "Description", "/versions/20/tables/1/columns/0/label": "Field", "/versions/20/tables/1/columns/1/label": "Type", "/versions/20/tables/1/columns/2/label": "Length", "/versions/20/tables/1/columns/3/label": "Description", "/versions/20/tables/2/columns/0/label": "Field", "/versions/20/tables/2/columns/1/label": "Type", "/versions/20/tables/2/columns/2/label": "Length", "/versions/20/tables/2/columns/3/label": "Description"}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "8100a1ceb56722f11830a1e832ee2be5508fb6d606b7fcf568da7bd4135bdb30", "canonical_center_text_hash": "72030908da8093a00d2b15f397e5cab597947e8a8fcb2a96a735107e236c168d"}, "description_zh": "\u672c\u8282\u6982\u8ff0 PostgreSQL \u8868\u548c\u7d22\u5f15\u5185\u90e8\u6240\u4f7f\u7528\u7684\u9875\u9762\u683c\u5f0f\u3002 [20] \u5e8f\u5217\u548c TOAST \u8868\u7684\u683c\u5f0f\u4e0e\u666e\u901a\u8868\u76f8\u540c\u3002 \u5728\u4e0b\u9762\u7684\u8bf4\u660e\u4e2d\uff0c\u5047\u5b9a\u4e00\u4e2a \u5b57\u8282 \u5305\u542b 8 \u4e2a\u4f4d\u3002\u53e6\u5916\uff0c\u672f\u8bed \u9879 \u6307\u7684\u662f\u5b58\u50a8\u5728\u9875\u9762\u4e0a\u7684\u5355\u4e2a\u6570\u636e\u503c\u3002\u5728\u8868\u4e2d\uff0c\u9879\u662f\u4e00\u884c\uff1b\u5728\u7d22\u5f15\u4e2d\uff0c\u9879\u662f\u4e00\u6761\u7d22\u5f15\u6761\u76ee\u3002 \u6bcf\u4e2a\u8868\u548c\u7d22\u5f15\u90fd\u5b58\u50a8\u4e3a\u56fa\u5b9a\u5927\u5c0f\u7684 \u9875\u9762 \u6570\u7ec4\uff08\u901a\u5e38\u4e3a 8 kB\uff0c\u4e0d\u8fc7\u5728\u7f16\u8bd1\u670d\u52a1\u5668\u65f6\u53ef\u4ee5\u9009\u62e9\u4e0d\u540c\u7684\u9875\u9762\u5927\u5c0f\uff09\u3002\u5728\u8868\u4e2d\uff0c\u6240\u6709\u9875\u9762\u5728\u903b\u8f91\u4e0a\u90fd\u662f\u7b49\u4ef7\u7684\uff0c\u56e0\u6b64\u67d0\u4e2a\u7279\u5b9a\u9879\uff08\u884c\uff09\u53ef\u4ee5\u5b58\u653e\u5728\u4efb\u610f\u9875\u9762\u4e2d\u3002\u5728\u7d22\u5f15\u4e2d\uff0c\u7b2c\u4e00\u9875\u901a\u5e38\u4fdd\u7559\u4e3a \u5143\u9875 \uff0c\u7528\u4e8e\u4fdd\u5b58\u63a7\u5236\u4fe1\u606f\uff1b\u5e76\u4e14\u6839\u636e\u7d22\u5f15\u8bbf\u95ee\u65b9\u6cd5\u7684\u4e0d\u540c\uff0c\u7d22\u5f15\u4e2d\u8fd8\u53ef\u80fd\u5b58\u5728\u4e0d\u540c\u7c7b\u578b\u7684\u9875\u9762\u3002 \u8868 66.2 \u5c55\u793a\u4e86\u9875\u9762\u7684\u603b\u4f53\u5e03\u5c40\u3002\u6bcf\u4e2a\u9875\u9762\u5305\u542b\u4e94\u4e2a\u90e8\u5206\u3002", "comparison_data": {"layouts": [{"key": "layout-0", "rows": [{"c0": "PageHeaderData", "c1": "24 bytes long. Contains general information about the page, including free space pointers."}, {"c0": "ItemIdData", "c1": "Array of item identifiers pointing to the actual items. Each entry is an (offset,length) pair. 4 bytes per item."}, {"c0": "Free space", "c1": "The unallocated space. New item identifiers are allocated from the start of this area, new items from the end."}, {"c0": "Items", "c1": "The actual items themselves."}, {"c0": "Special space", "c1": "Index access method specific data. Different methods store different data. Empty in ordinary tables."}], "title": "Overall Page Layout", "columns": [{"key": "c0", "label": "Item"}, {"key": "c1", "label": "Description"}]}, {"key": "layout-1", "rows": [{"c0": "pd_lsn", "c1": "PageXLogRecPtr", "c2": "8 bytes", "c3": "LSN: next byte after last byte of WAL record for last change to this page"}, {"c0": "pd_checksum", "c1": "uint16", "c2": "2 bytes", "c3": "Page checksum"}, {"c0": "pd_flags", "c1": "uint16", "c2": "2 bytes", "c3": "Flag bits"}, {"c0": "pd_lower", "c1": "LocationIndex", "c2": "2 bytes", "c3": "Offset to start of free space"}, {"c0": "pd_upper", "c1": "LocationIndex", "c2": "2 bytes", "c3": "Offset to end of free space"}, {"c0": "pd_special", "c1": "LocationIndex", "c2": "2 bytes", "c3": "Offset to start of special space"}, {"c0": "pd_pagesize_version", "c1": "uint16", "c2": "2 bytes", "c3": "Page size and layout version number information"}, {"c0": "pd_prune_xid", "c1": "TransactionId", "c2": "4 bytes", "c3": "Oldest unpruned XMAX on page, or zero if none"}], "title": "PageHeaderData Layout", "columns": [{"key": "c0", "label": "Field"}, {"key": "c1", "label": "Type"}, {"key": "c2", "label": "Length"}, {"key": "c3", "label": "Description"}]}, {"key": "layout-2", "rows": [{"c0": "t_xmin", "c1": "TransactionId", "c2": "4 bytes", "c3": "insert XID stamp"}, {"c0": "t_xmax", "c1": "TransactionId", "c2": "4 bytes", "c3": "delete XID stamp"}, {"c0": "t_cid", "c1": "CommandId", "c2": "4 bytes", "c3": "insert and/or delete CID stamp (overlays with t_xvac)"}, {"c0": "t_xvac", "c1": "TransactionId", "c2": "4 bytes", "c3": "XID for VACUUM operation moving a row version"}, {"c0": "t_ctid", "c1": "ItemPointerData", "c2": "6 bytes", "c3": "current TID of this or newer row version"}, {"c0": "t_infomask2", "c1": "uint16", "c2": "2 bytes", "c3": "number of attributes, plus various flag bits"}, {"c0": "t_infomask", "c1": "uint16", "c2": "2 bytes", "c3": "various flag bits"}, {"c0": "t_hoff", "c1": "uint8", "c2": "1 byte", "c3": "offset to user data"}], "title": "HeapTupleHeaderData Layout", "columns": [{"key": "c0", "label": "Field"}, {"key": "c1", "label": "Type"}, {"key": "c2", "label": "Length"}, {"key": "c3", "label": "Description"}]}]}, "comparison_hash": "b621fa85b3be27a0eb0d82986e9524f2ef0a776761901f0d429826eec4822d0a", "manual_language": "zh", "description_zh_html": "<p>\u5b58\u50a8\u7ed3\u6784 storage-page-layout\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n\u672c\u8282\u6982\u8ff0 <span>PostgreSQL</span> \u8868\u548c\u7d22\u5f15\u5185\u90e8\u6240\u4f7f\u7528\u7684\u9875\u9762\u683c\u5f0f\u3002<a href=\"/zh/docs/devel/storage-page-layout.html#ftn.id-1.10.18.8.2.2\" rel=\"nofollow\"><sup>[20]</sup></a>\n\u5e8f\u5217\u548c <acronym>TOAST</acronym> \u8868\u7684\u683c\u5f0f\u4e0e\u666e\u901a\u8868\u76f8\u540c\u3002\n</p><p>\n\u5728\u4e0b\u9762\u7684\u8bf4\u660e\u4e2d\uff0c\u5047\u5b9a\u4e00\u4e2a<em>\u5b57\u8282</em>\u5305\u542b 8 \u4e2a\u4f4d\u3002\u53e6\u5916\uff0c\u672f\u8bed<em>\u9879</em>\u6307\u7684\u662f\u5b58\u50a8\u5728\u9875\u9762\u4e0a\u7684\u5355\u4e2a\u6570\u636e\u503c\u3002\u5728\u8868\u4e2d\uff0c\u9879\u662f\u4e00\u884c\uff1b\u5728\u7d22\u5f15\u4e2d\uff0c\u9879\u662f\u4e00\u6761\u7d22\u5f15\u6761\u76ee\u3002\n</p><p>\n\u6bcf\u4e2a\u8868\u548c\u7d22\u5f15\u90fd\u5b58\u50a8\u4e3a\u56fa\u5b9a\u5927\u5c0f\u7684<em>\u9875\u9762</em>\u6570\u7ec4\uff08\u901a\u5e38\u4e3a 8 kB\uff0c\u4e0d\u8fc7\u5728\u7f16\u8bd1\u670d\u52a1\u5668\u65f6\u53ef\u4ee5\u9009\u62e9\u4e0d\u540c\u7684\u9875\u9762\u5927\u5c0f\uff09\u3002\u5728\u8868\u4e2d\uff0c\u6240\u6709\u9875\u9762\u5728\u903b\u8f91\u4e0a\u90fd\u662f\u7b49\u4ef7\u7684\uff0c\u56e0\u6b64\u67d0\u4e2a\u7279\u5b9a\u9879\uff08\u884c\uff09\u53ef\u4ee5\u5b58\u653e\u5728\u4efb\u610f\u9875\u9762\u4e2d\u3002\u5728\u7d22\u5f15\u4e2d\uff0c\u7b2c\u4e00\u9875\u901a\u5e38\u4fdd\u7559\u4e3a<em>\u5143\u9875</em>\uff0c\u7528\u4e8e\u4fdd\u5b58\u63a7\u5236\u4fe1\u606f\uff1b\u5e76\u4e14\u6839\u636e\u7d22\u5f15\u8bbf\u95ee\u65b9\u6cd5\u7684\u4e0d\u540c\uff0c\u7d22\u5f15\u4e2d\u8fd8\u53ef\u80fd\u5b58\u5728\u4e0d\u540c\u7c7b\u578b\u7684\u9875\u9762\u3002\n</p><p>\n<a href=\"/zh/docs/devel/storage-page-layout.html#PAGE-TABLE\" rel=\"nofollow\">\u8868\u00a066.2</a> \u5c55\u793a\u4e86\u9875\u9762\u7684\u603b\u4f53\u5e03\u5c40\u3002\u6bcf\u4e2a\u9875\u9762\u5305\u542b\u4e94\u4e2a\u90e8\u5206\u3002\n</p><p><a href=\"/zh/docs/devel/storage-page-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": "\u5b9a\u4e49\u8303\u56f4", "value": "\u540c\u7248\u672c\u6838\u5fc3\u7269\u7406\u5b58\u50a8\u6587\u6863"}], "tables": [{"key": "layout-0", "rows": [{"c0": "PageHeaderData", "c1": "\u957f 24 \u5b57\u8282\uff0c\u5305\u542b\u9875\u9762\u7684\u901a\u7528\u4fe1\u606f\uff0c\u4f8b\u5982\u7a7a\u95f2\u7a7a\u95f4\u6307\u9488\u3002"}, {"c0": "ItemIdData", "c1": "\u6307\u5411\u5b9e\u9645\u6570\u636e\u9879\u7684\u884c\u6307\u9488\u6570\u7ec4\u3002\u6bcf\u9879\u4e3a\u4e00\u4e2a\uff08\u504f\u79fb\uff0c\u957f\u5ea6\uff09\u5bf9\uff0c\u5360 4 \u5b57\u8282\u3002"}, {"c0": "\u7a7a\u95f2\u7a7a\u95f4", "c1": "\u5c1a\u672a\u5206\u914d\u7684\u7a7a\u95f4\u3002\u65b0\u884c\u6307\u9488\u4ece\u8be5\u533a\u57df\u7684\u8d77\u59cb\u5904\u5206\u914d\uff0c\u65b0\u6570\u636e\u9879\u4ece\u672b\u5c3e\u5904\u5206\u914d\u3002"}, {"c0": "\u9879", "c1": "\u5b9e\u9645\u7684\u6570\u636e\u9879\u672c\u8eab\u3002"}, {"c0": "\u7279\u6b8a\u7a7a\u95f4", "c1": "\u7d22\u5f15\u8bbf\u95ee\u65b9\u6cd5\u4e13\u7528\u6570\u636e\u3002\u4e0d\u540c\u65b9\u6cd5\u5b58\u50a8\u7684\u5185\u5bb9\u4e0d\u540c\uff0c\u666e\u901a\u8868\u4e2d\u6b64\u533a\u57df\u4e3a\u7a7a\u3002"}], "title": "\u9875\u9762\u603b\u4f53\u5e03\u5c40", "columns": [{"key": "c0", "label": "\u9879\u76ee"}, {"key": "c1", "label": "\u8bf4\u660e"}]}, {"key": "layout-1", "rows": [{"c0": "pd_lsn", "c1": "PageXLogRecPtr", "c2": "8 \u5b57\u8282", "c3": "LSN\uff1a\u8be5\u9875\u6700\u540e\u4e00\u6b21\u53d8\u5316\u6240\u5bf9\u5e94 WAL \u8bb0\u5f55\u7684\u6700\u540e\u4e00\u4e2a\u5b57\u8282\u4e4b\u540e\u7684\u4f4d\u7f6e\u3002"}, {"c0": "pd_checksum", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u9875\u9762\u6821\u9a8c\u548c"}, {"c0": "pd_flags", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u6807\u5fd7\u4f4d"}, {"c0": "pd_lower", "c1": "LocationIndex", "c2": "2 \u5b57\u8282", "c3": "\u7a7a\u95f2\u7a7a\u95f4\u8d77\u59cb\u4f4d\u7f6e\u7684\u504f\u79fb\u91cf"}, {"c0": "pd_upper", "c1": "LocationIndex", "c2": "2 \u5b57\u8282", "c3": "\u7a7a\u95f2\u7a7a\u95f4\u7ed3\u675f\u4f4d\u7f6e\u7684\u504f\u79fb\u91cf"}, {"c0": "pd_special", "c1": "LocationIndex", "c2": "2 \u5b57\u8282", "c3": "\u7279\u6b8a\u7a7a\u95f4\u8d77\u59cb\u4f4d\u7f6e\u7684\u504f\u79fb\u91cf"}, {"c0": "pd_pagesize_version", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u9875\u9762\u5927\u5c0f\u4e0e\u5e03\u5c40\u7248\u672c\u53f7\u4fe1\u606f"}, {"c0": "pd_prune_xid", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "\u9875\u9762\u4e0a\u6700\u65e9\u7684\u5c1a\u672a\u4fee\u526a\u7684 XMAX\uff1b\u6ca1\u6709\u5219\u4e3a\u96f6"}], "title": "PageHeaderData \u5e03\u5c40", "columns": [{"key": "c0", "label": "\u5b57\u6bb5"}, {"key": "c1", "label": "\u7c7b\u578b"}, {"key": "c2", "label": "\u957f\u5ea6"}, {"key": "c3", "label": "\u8bf4\u660e"}]}, {"key": "layout-2", "rows": [{"c0": "t_xmin", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "\u63d2\u5165\u4e8b\u52a1\u7684 XID"}, {"c0": "t_xmax", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "\u5220\u9664\u4e8b\u52a1\u7684 XID"}, {"c0": "t_cid", "c1": "CommandId", "c2": "4 \u5b57\u8282", "c3": "\u63d2\u5165\u548c\uff0f\u6216\u5220\u9664\u547d\u4ee4\u7684 CID\uff0c\u4e0e t_xvac \u5171\u7528\u5b58\u50a8\u4f4d\u7f6e"}, {"c0": "t_xvac", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "VACUUM \u64cd\u4f5c\u79fb\u52a8\u884c\u7248\u672c\u65f6\u4f7f\u7528\u7684 XID"}, {"c0": "t_ctid", "c1": "ItemPointerData", "c2": "6 \u5b57\u8282", "c3": "\u672c\u884c\u7248\u672c\u6216\u8f83\u65b0\u884c\u7248\u672c\u7684\u5f53\u524d TID"}, {"c0": "t_infomask2", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u5c5e\u6027\u6570\u91cf\u53ca\u5404\u79cd\u6807\u5fd7\u4f4d"}, {"c0": "t_infomask", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u5404\u79cd\u6807\u5fd7\u4f4d"}, {"c0": "t_hoff", "c1": "uint8", "c2": "1 \u5b57\u8282", "c3": "\u7528\u6237\u6570\u636e\u7684\u504f\u79fb\u91cf"}], "title": "HeapTupleHeaderData \u5e03\u5c40", "columns": [{"key": "c0", "label": "\u5b57\u6bb5"}, {"key": "c1", "label": "\u7c7b\u578b"}, {"key": "c2", "label": "\u957f\u5ea6"}, {"key": "c3", "label": "\u8bf4\u660e"}]}], "diagram": "page-layout", "related": [{"url": "/wiki/tableam/?v=18", "label": "Table AM"}, {"url": "/wiki/relopts/?v=18", "label": "\u5b58\u50a8\u53c2\u6570"}], "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-page-layout.html", "path": "storage-page-layout.html", "label": "PostgreSQL 18 English manual", "sha256": "0d9f99e4cef5ea0a6741a74cab87052b929f7001730853c85d5e60d72179d355"}], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-identity", "manual": {"url": "/zh/docs/18/storage-page-layout.html", "anchor": "", "locale": "zh-Hans", "version": "18", "build_id": 107, "page_key": "storage-page-layout.html", "extraction": "concept-introduction", "source_hash": "07870df29bfc52d49b5aa3018212c94da48a0d9edea8d214a87d8aca0b5d55f2", "fragment_sha256": "70d9ed3e5a4d017703443ebfa5d5d78fd4a8aa49e8463177dd26bd8f75189b5c", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "git:b1b500221dbe5437cfca004d6b04d3f6e422765d;html-sha256:08e987a66af27b98444a8057c256314eafa13611a3fb9e888214fc436824244b", "translated_from_revision": null}, "body_sha256": "f762c68ebbb1ec7279d847ca2652533b1a0e184af5db9d00a636a4da65ecfc39", "runtime_rerun": false, "authored_translation": "source-derived-identity", "source_facts_revision": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f"}, "facts_zh": [{"label": "\u5b9a\u4e49\u8303\u56f4", "value": "\u540c\u7248\u672c\u6838\u5fc3\u7269\u7406\u5b58\u50a8\u6587\u6863"}], "sections": [], "center_zh": {"title": "Database Page Layout", "locale": "zh-Hans", "source": {"key": "storage-page-layout", "locale": "zh-Hans", "version": "18", "text_hash": "b23cc9d8cdb153bee1ec97ff2a67d4ecf5f1b4426717f1ff8be14c40e94eb82c", "collection": "storage", "dataset_hash": "7c31b524dfe136022d39a6ae8dcfac6b3bbd5f8fdaf422536599981252aff0c9", "source_database": "center", "source_revision": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f"}, "payload": {"facts": [{"label": "\u5b9a\u4e49\u8303\u56f4", "value": "\u540c\u7248\u672c\u6838\u5fc3\u7269\u7406\u5b58\u50a8\u6587\u6863"}], "tables": [{"key": "layout-0", "rows": [{"c0": "PageHeaderData", "c1": "\u957f 24 \u5b57\u8282\uff0c\u5305\u542b\u9875\u9762\u7684\u901a\u7528\u4fe1\u606f\uff0c\u4f8b\u5982\u7a7a\u95f2\u7a7a\u95f4\u6307\u9488\u3002"}, {"c0": "ItemIdData", "c1": "\u6307\u5411\u5b9e\u9645\u6570\u636e\u9879\u7684\u884c\u6307\u9488\u6570\u7ec4\u3002\u6bcf\u9879\u4e3a\u4e00\u4e2a\uff08\u504f\u79fb\uff0c\u957f\u5ea6\uff09\u5bf9\uff0c\u5360 4 \u5b57\u8282\u3002"}, {"c0": "\u7a7a\u95f2\u7a7a\u95f4", "c1": "\u5c1a\u672a\u5206\u914d\u7684\u7a7a\u95f4\u3002\u65b0\u884c\u6307\u9488\u4ece\u8be5\u533a\u57df\u7684\u8d77\u59cb\u5904\u5206\u914d\uff0c\u65b0\u6570\u636e\u9879\u4ece\u672b\u5c3e\u5904\u5206\u914d\u3002"}, {"c0": "\u9879", "c1": "\u5b9e\u9645\u7684\u6570\u636e\u9879\u672c\u8eab\u3002"}, {"c0": "\u7279\u6b8a\u7a7a\u95f4", "c1": "\u7d22\u5f15\u8bbf\u95ee\u65b9\u6cd5\u4e13\u7528\u6570\u636e\u3002\u4e0d\u540c\u65b9\u6cd5\u5b58\u50a8\u7684\u5185\u5bb9\u4e0d\u540c\uff0c\u666e\u901a\u8868\u4e2d\u6b64\u533a\u57df\u4e3a\u7a7a\u3002"}], "title": "\u9875\u9762\u603b\u4f53\u5e03\u5c40", "columns": [{"key": "c0", "label": "\u9879\u76ee"}, {"key": "c1", "label": "\u8bf4\u660e"}]}, {"key": "layout-1", "rows": [{"c0": "pd_lsn", "c1": "PageXLogRecPtr", "c2": "8 \u5b57\u8282", "c3": "LSN\uff1a\u8be5\u9875\u6700\u540e\u4e00\u6b21\u53d8\u5316\u6240\u5bf9\u5e94 WAL \u8bb0\u5f55\u7684\u6700\u540e\u4e00\u4e2a\u5b57\u8282\u4e4b\u540e\u7684\u4f4d\u7f6e\u3002"}, {"c0": "pd_checksum", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u9875\u9762\u6821\u9a8c\u548c"}, {"c0": "pd_flags", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u6807\u5fd7\u4f4d"}, {"c0": "pd_lower", "c1": "LocationIndex", "c2": "2 \u5b57\u8282", "c3": "\u7a7a\u95f2\u7a7a\u95f4\u8d77\u59cb\u4f4d\u7f6e\u7684\u504f\u79fb\u91cf"}, {"c0": "pd_upper", "c1": "LocationIndex", "c2": "2 \u5b57\u8282", "c3": "\u7a7a\u95f2\u7a7a\u95f4\u7ed3\u675f\u4f4d\u7f6e\u7684\u504f\u79fb\u91cf"}, {"c0": "pd_special", "c1": "LocationIndex", "c2": "2 \u5b57\u8282", "c3": "\u7279\u6b8a\u7a7a\u95f4\u8d77\u59cb\u4f4d\u7f6e\u7684\u504f\u79fb\u91cf"}, {"c0": "pd_pagesize_version", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u9875\u9762\u5927\u5c0f\u4e0e\u5e03\u5c40\u7248\u672c\u53f7\u4fe1\u606f"}, {"c0": "pd_prune_xid", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "\u9875\u9762\u4e0a\u6700\u65e9\u7684\u5c1a\u672a\u4fee\u526a\u7684 XMAX\uff1b\u6ca1\u6709\u5219\u4e3a\u96f6"}], "title": "PageHeaderData \u5e03\u5c40", "columns": [{"key": "c0", "label": "\u5b57\u6bb5"}, {"key": "c1", "label": "\u7c7b\u578b"}, {"key": "c2", "label": "\u957f\u5ea6"}, {"key": "c3", "label": "\u8bf4\u660e"}]}, {"key": "layout-2", "rows": [{"c0": "t_xmin", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "\u63d2\u5165\u4e8b\u52a1\u7684 XID"}, {"c0": "t_xmax", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "\u5220\u9664\u4e8b\u52a1\u7684 XID"}, {"c0": "t_cid", "c1": "CommandId", "c2": "4 \u5b57\u8282", "c3": "\u63d2\u5165\u548c\uff0f\u6216\u5220\u9664\u547d\u4ee4\u7684 CID\uff0c\u4e0e t_xvac \u5171\u7528\u5b58\u50a8\u4f4d\u7f6e"}, {"c0": "t_xvac", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "VACUUM \u64cd\u4f5c\u79fb\u52a8\u884c\u7248\u672c\u65f6\u4f7f\u7528\u7684 XID"}, {"c0": "t_ctid", "c1": "ItemPointerData", "c2": "6 \u5b57\u8282", "c3": "\u672c\u884c\u7248\u672c\u6216\u8f83\u65b0\u884c\u7248\u672c\u7684\u5f53\u524d TID"}, {"c0": "t_infomask2", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u5c5e\u6027\u6570\u91cf\u53ca\u5404\u79cd\u6807\u5fd7\u4f4d"}, {"c0": "t_infomask", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u5404\u79cd\u6807\u5fd7\u4f4d"}, {"c0": "t_hoff", "c1": "uint8", "c2": "1 \u5b57\u8282", "c3": "\u7528\u6237\u6570\u636e\u7684\u504f\u79fb\u91cf"}], "title": "HeapTupleHeaderData \u5e03\u5c40", "columns": [{"key": "c0", "label": "\u5b57\u6bb5"}, {"key": "c1", "label": "\u7c7b\u578b"}, {"key": "c2", "label": "\u957f\u5ea6"}, {"key": "c3", "label": "\u8bf4\u660e"}]}], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-identity", "manual": {"url": "/zh/docs/18/storage-page-layout.html", "anchor": "", "locale": "zh-Hans", "version": "18", "build_id": 107, "page_key": "storage-page-layout.html", "extraction": "concept-introduction", "source_hash": "07870df29bfc52d49b5aa3018212c94da48a0d9edea8d214a87d8aca0b5d55f2", "fragment_sha256": "70d9ed3e5a4d017703443ebfa5d5d78fd4a8aa49e8463177dd26bd8f75189b5c", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "git:b1b500221dbe5437cfca004d6b04d3f6e422765d;html-sha256:08e987a66af27b98444a8057c256314eafa13611a3fb9e888214fc436824244b", "translated_from_revision": null}, "body_sha256": "f762c68ebbb1ec7279d847ca2652533b1a0e184af5db9d00a636a4da65ecfc39", "runtime_rerun": false, "authored_translation": "source-derived-identity", "source_facts_revision": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f"}, "sections": [], "description_zh": "\u672c\u8282\u6982\u8ff0 PostgreSQL \u8868\u548c\u7d22\u5f15\u5185\u90e8\u6240\u4f7f\u7528\u7684\u9875\u9762\u683c\u5f0f\u3002 [19] \u5e8f\u5217\u548c TOAST \u8868\u7684\u683c\u5f0f\u4e0e\u666e\u901a\u8868\u76f8\u540c\u3002 \u5728\u4e0b\u9762\u7684\u8bf4\u660e\u4e2d\uff0c\u5047\u5b9a\u4e00\u4e2a \u5b57\u8282 \u5305\u542b 8 \u4e2a\u4f4d\u3002\u53e6\u5916\uff0c\u672f\u8bed \u9879 \u6307\u7684\u662f\u5b58\u50a8\u5728\u9875\u9762\u4e0a\u7684\u5355\u4e2a\u6570\u636e\u503c\u3002\u5728\u8868\u4e2d\uff0c\u9879\u662f\u4e00\u884c\uff1b\u5728\u7d22\u5f15\u4e2d\uff0c\u9879\u662f\u4e00\u6761\u7d22\u5f15\u6761\u76ee\u3002 \u6bcf\u4e2a\u8868\u548c\u7d22\u5f15\u90fd\u5b58\u50a8\u4e3a\u56fa\u5b9a\u5927\u5c0f\u7684 \u9875\u9762 \u6570\u7ec4\uff08\u901a\u5e38\u4e3a 8 kB\uff0c\u4e0d\u8fc7\u5728\u7f16\u8bd1\u670d\u52a1\u5668\u65f6\u53ef\u4ee5\u9009\u62e9\u4e0d\u540c\u7684\u9875\u9762\u5927\u5c0f\uff09\u3002\u5728\u8868\u4e2d\uff0c\u6240\u6709\u9875\u9762\u5728\u903b\u8f91\u4e0a\u90fd\u662f\u7b49\u4ef7\u7684\uff0c\u56e0\u6b64\u67d0\u4e2a\u7279\u5b9a\u9879\uff08\u884c\uff09\u53ef\u4ee5\u5b58\u653e\u5728\u4efb\u610f\u9875\u9762\u4e2d\u3002\u5728\u7d22\u5f15\u4e2d\uff0c\u7b2c\u4e00\u9875\u901a\u5e38\u4fdd\u7559\u4e3a \u5143\u9875 \uff0c\u7528\u4e8e\u4fdd\u5b58\u63a7\u5236\u4fe1\u606f\uff1b\u5e76\u4e14\u6839\u636e\u7d22\u5f15\u8bbf\u95ee\u65b9\u6cd5\u7684\u4e0d\u540c\uff0c\u7d22\u5f15\u4e2d\u8fd8\u53ef\u80fd\u5b58\u5728\u4e0d\u540c\u7c7b\u578b\u7684\u9875\u9762\u3002 \u8868 66.2 \u5c55\u793a\u4e86\u9875\u9762\u7684\u603b\u4f53\u5e03\u5c40\u3002\u6bcf\u4e2a\u9875\u9762\u5305\u542b\u4e94\u4e2a\u90e8\u5206\u3002", "description_zh_html": "<p>\u5b58\u50a8\u7ed3\u6784 storage-page-layout\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n\u672c\u8282\u6982\u8ff0 <span class=\"productname\">PostgreSQL</span> \u8868\u548c\u7d22\u5f15\u5185\u90e8\u6240\u4f7f\u7528\u7684\u9875\u9762\u683c\u5f0f\u3002<a class=\"footnote\" href=\"/zh/docs/18/storage-page-layout.html#ftn.id-1.10.18.8.2.2\"><sup class=\"footnote\">[19]</sup></a>\n\u5e8f\u5217\u548c <acronym class=\"acronym\">TOAST</acronym> \u8868\u7684\u683c\u5f0f\u4e0e\u666e\u901a\u8868\u76f8\u540c\u3002\n</p><p>\n\u5728\u4e0b\u9762\u7684\u8bf4\u660e\u4e2d\uff0c\u5047\u5b9a\u4e00\u4e2a<em class=\"firstterm\">\u5b57\u8282</em>\u5305\u542b 8 \u4e2a\u4f4d\u3002\u53e6\u5916\uff0c\u672f\u8bed<em class=\"firstterm\">\u9879</em>\u6307\u7684\u662f\u5b58\u50a8\u5728\u9875\u9762\u4e0a\u7684\u5355\u4e2a\u6570\u636e\u503c\u3002\u5728\u8868\u4e2d\uff0c\u9879\u662f\u4e00\u884c\uff1b\u5728\u7d22\u5f15\u4e2d\uff0c\u9879\u662f\u4e00\u6761\u7d22\u5f15\u6761\u76ee\u3002\n</p><p>\n\u6bcf\u4e2a\u8868\u548c\u7d22\u5f15\u90fd\u5b58\u50a8\u4e3a\u56fa\u5b9a\u5927\u5c0f\u7684<em class=\"firstterm\">\u9875\u9762</em>\u6570\u7ec4\uff08\u901a\u5e38\u4e3a 8 kB\uff0c\u4e0d\u8fc7\u5728\u7f16\u8bd1\u670d\u52a1\u5668\u65f6\u53ef\u4ee5\u9009\u62e9\u4e0d\u540c\u7684\u9875\u9762\u5927\u5c0f\uff09\u3002\u5728\u8868\u4e2d\uff0c\u6240\u6709\u9875\u9762\u5728\u903b\u8f91\u4e0a\u90fd\u662f\u7b49\u4ef7\u7684\uff0c\u56e0\u6b64\u67d0\u4e2a\u7279\u5b9a\u9879\uff08\u884c\uff09\u53ef\u4ee5\u5b58\u653e\u5728\u4efb\u610f\u9875\u9762\u4e2d\u3002\u5728\u7d22\u5f15\u4e2d\uff0c\u7b2c\u4e00\u9875\u901a\u5e38\u4fdd\u7559\u4e3a<em class=\"firstterm\">\u5143\u9875</em>\uff0c\u7528\u4e8e\u4fdd\u5b58\u63a7\u5236\u4fe1\u606f\uff1b\u5e76\u4e14\u6839\u636e\u7d22\u5f15\u8bbf\u95ee\u65b9\u6cd5\u7684\u4e0d\u540c\uff0c\u7d22\u5f15\u4e2d\u8fd8\u53ef\u80fd\u5b58\u5728\u4e0d\u540c\u7c7b\u578b\u7684\u9875\u9762\u3002\n</p><p>\n<a class=\"xref\" href=\"/zh/docs/18/storage-page-layout.html#PAGE-TABLE\">\u8868\u00a066.2</a> \u5c55\u793a\u4e86\u9875\u9762\u7684\u603b\u4f53\u5e03\u5c40\u3002\u6bcf\u4e2a\u9875\u9762\u5305\u542b\u4e94\u4e2a\u90e8\u5206\u3002\n</p><p><a href=\"/zh/docs/18/storage-page-layout.html\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "summary": "\u672c\u8282\u6982\u8ff0 PostgreSQL \u8868\u548c\u7d22\u5f15\u5185\u90e8\u6240\u4f7f\u7528\u7684\u9875\u9762\u683c\u5f0f\u3002 [19] \u5e8f\u5217\u548c TOAST \u8868\u7684\u683c\u5f0f\u4e0e\u666e\u901a\u8868\u76f8\u540c\u3002 \u5728\u4e0b\u9762\u7684\u8bf4\u660e\u4e2d\uff0c\u5047\u5b9a\u4e00\u4e2a \u5b57\u8282 \u5305\u542b 8 \u4e2a\u4f4d\u3002\u53e6\u5916\uff0c\u672f\u8bed \u9879 \u6307\u7684\u662f\u5b58\u50a8\u5728\u9875\u9762\u4e0a\u7684\u5355\u4e2a\u6570\u636e\u503c\u3002\u5728\u8868\u4e2d\uff0c\u9879\u662f\u4e00\u884c\uff1b\u5728\u7d22\u5f15\u4e2d\uff0c\u9879\u662f\u4e00\u6761\u7d22\u5f15\u6761\u76ee\u3002 \u6bcf\u4e2a\u8868\u548c\u7d22\u5f15\u90fd\u5b58\u50a8\u4e3a\u56fa\u5b9a\u5927\u5c0f\u7684 \u9875\u9762 \u6570\u7ec4\uff08\u901a\u5e38\u4e3a 8 kB\uff0c\u4e0d\u8fc7\u5728\u7f16\u8bd1\u670d\u52a1\u5668\u65f6\u53ef\u4ee5\u9009\u62e9\u4e0d\u540c\u7684\u9875\u9762\u5927\u5c0f\uff09\u3002\u5728\u8868\u4e2d\uff0c\u6240\u6709\u9875\u9762\u5728\u903b\u8f91\u4e0a\u90fd\u662f\u7b49\u4ef7\u7684\uff0c\u56e0\u6b64\u67d0\u4e2a\u7279\u5b9a\u9879\uff08\u884c\uff09\u53ef\u4ee5\u5b58\u653e\u5728\u4efb\u610f\u9875\u9762\u4e2d\u3002\u5728\u7d22\u5f15\u4e2d\uff0c\u7b2c\u4e00\u9875\u901a\u5e38\u4fdd\u7559\u4e3a \u5143\u9875 \uff0c\u7528\u4e8e\u4fdd\u5b58\u63a7\u5236\u4fe1\u606f\uff1b\u5e76\u4e14\u6839\u636e\u7d22\u5f15\u8bbf\u95ee\u65b9\u6cd5\u7684\u4e0d\u540c\uff0c\u7d22\u5f15\u4e2d\u8fd8\u53ef\u80fd\u5b58\u5728\u4e0d\u540c\u7c7b\u578b\u7684\u9875\u9762\u3002 \u8868 66.2 \u5c55\u793a\u4e86\u9875\u9762\u7684\u603b\u4f53\u5e03\u5c40\u3002\u6bcf\u4e2a\u9875\u9762\u5305\u542b\u4e94\u4e2a\u90e8\u5206\u3002", "version": "18", "link_map": {"/zh/docs/18/storage-page-layout.html": "/docs/18/storage-page-layout.html", "/zh/docs/18/storage-page-layout.html#PAGE-TABLE": "/docs/18/storage-page-layout.html#PAGE-TABLE", "/zh/docs/18/storage-page-layout.html#ftn.id-1.10.18.8.2.2": "/docs/18/storage-page-layout.html#ftn.id-1.10.18.8.2.2"}, "body_html": "<p>\u5b58\u50a8\u7ed3\u6784 storage-page-layout\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n\u672c\u8282\u6982\u8ff0 <span>PostgreSQL</span> \u8868\u548c\u7d22\u5f15\u5185\u90e8\u6240\u4f7f\u7528\u7684\u9875\u9762\u683c\u5f0f\u3002<a href=\"/zh/docs/18/storage-page-layout.html#ftn.id-1.10.18.8.2.2\" rel=\"nofollow\"><sup>[19]</sup></a>\n\u5e8f\u5217\u548c <acronym>TOAST</acronym> \u8868\u7684\u683c\u5f0f\u4e0e\u666e\u901a\u8868\u76f8\u540c\u3002\n</p><p>\n\u5728\u4e0b\u9762\u7684\u8bf4\u660e\u4e2d\uff0c\u5047\u5b9a\u4e00\u4e2a<em>\u5b57\u8282</em>\u5305\u542b 8 \u4e2a\u4f4d\u3002\u53e6\u5916\uff0c\u672f\u8bed<em>\u9879</em>\u6307\u7684\u662f\u5b58\u50a8\u5728\u9875\u9762\u4e0a\u7684\u5355\u4e2a\u6570\u636e\u503c\u3002\u5728\u8868\u4e2d\uff0c\u9879\u662f\u4e00\u884c\uff1b\u5728\u7d22\u5f15\u4e2d\uff0c\u9879\u662f\u4e00\u6761\u7d22\u5f15\u6761\u76ee\u3002\n</p><p>\n\u6bcf\u4e2a\u8868\u548c\u7d22\u5f15\u90fd\u5b58\u50a8\u4e3a\u56fa\u5b9a\u5927\u5c0f\u7684<em>\u9875\u9762</em>\u6570\u7ec4\uff08\u901a\u5e38\u4e3a 8 kB\uff0c\u4e0d\u8fc7\u5728\u7f16\u8bd1\u670d\u52a1\u5668\u65f6\u53ef\u4ee5\u9009\u62e9\u4e0d\u540c\u7684\u9875\u9762\u5927\u5c0f\uff09\u3002\u5728\u8868\u4e2d\uff0c\u6240\u6709\u9875\u9762\u5728\u903b\u8f91\u4e0a\u90fd\u662f\u7b49\u4ef7\u7684\uff0c\u56e0\u6b64\u67d0\u4e2a\u7279\u5b9a\u9879\uff08\u884c\uff09\u53ef\u4ee5\u5b58\u653e\u5728\u4efb\u610f\u9875\u9762\u4e2d\u3002\u5728\u7d22\u5f15\u4e2d\uff0c\u7b2c\u4e00\u9875\u901a\u5e38\u4fdd\u7559\u4e3a<em>\u5143\u9875</em>\uff0c\u7528\u4e8e\u4fdd\u5b58\u63a7\u5236\u4fe1\u606f\uff1b\u5e76\u4e14\u6839\u636e\u7d22\u5f15\u8bbf\u95ee\u65b9\u6cd5\u7684\u4e0d\u540c\uff0c\u7d22\u5f15\u4e2d\u8fd8\u53ef\u80fd\u5b58\u5728\u4e0d\u540c\u7c7b\u578b\u7684\u9875\u9762\u3002\n</p><p>\n<a href=\"/zh/docs/18/storage-page-layout.html#PAGE-TABLE\" rel=\"nofollow\">\u8868\u00a066.2</a> \u5c55\u793a\u4e86\u9875\u9762\u7684\u603b\u4f53\u5e03\u5c40\u3002\u6bcf\u4e2a\u9875\u9762\u5305\u542b\u4e94\u4e2a\u90e8\u5206\u3002\n</p><p><a href=\"/zh/docs/18/storage-page-layout.html\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>", "body_sha256": "47a8b02df6e793cda1e0b872ef87206b3c8f0a6a02c6bdbc34c3026c43d2c1e2", "content_hash": "b23cc9d8cdb153bee1ec97ff2a67d4ecf5f1b4426717f1ff8be14c40e94eb82c", "source_database": "center", "source_revision": "555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f"}, "signature": "", "tables_zh": [{"key": "layout-0", "rows": [{"c0": "PageHeaderData", "c1": "\u957f 24 \u5b57\u8282\uff0c\u5305\u542b\u9875\u9762\u7684\u901a\u7528\u4fe1\u606f\uff0c\u4f8b\u5982\u7a7a\u95f2\u7a7a\u95f4\u6307\u9488\u3002"}, {"c0": "ItemIdData", "c1": "\u6307\u5411\u5b9e\u9645\u6570\u636e\u9879\u7684\u884c\u6307\u9488\u6570\u7ec4\u3002\u6bcf\u9879\u4e3a\u4e00\u4e2a\uff08\u504f\u79fb\uff0c\u957f\u5ea6\uff09\u5bf9\uff0c\u5360 4 \u5b57\u8282\u3002"}, {"c0": "\u7a7a\u95f2\u7a7a\u95f4", "c1": "\u5c1a\u672a\u5206\u914d\u7684\u7a7a\u95f4\u3002\u65b0\u884c\u6307\u9488\u4ece\u8be5\u533a\u57df\u7684\u8d77\u59cb\u5904\u5206\u914d\uff0c\u65b0\u6570\u636e\u9879\u4ece\u672b\u5c3e\u5904\u5206\u914d\u3002"}, {"c0": "\u9879", "c1": "\u5b9e\u9645\u7684\u6570\u636e\u9879\u672c\u8eab\u3002"}, {"c0": "\u7279\u6b8a\u7a7a\u95f4", "c1": "\u7d22\u5f15\u8bbf\u95ee\u65b9\u6cd5\u4e13\u7528\u6570\u636e\u3002\u4e0d\u540c\u65b9\u6cd5\u5b58\u50a8\u7684\u5185\u5bb9\u4e0d\u540c\uff0c\u666e\u901a\u8868\u4e2d\u6b64\u533a\u57df\u4e3a\u7a7a\u3002"}], "title": "\u9875\u9762\u603b\u4f53\u5e03\u5c40", "columns": [{"key": "c0", "label": "\u9879\u76ee"}, {"key": "c1", "label": "\u8bf4\u660e"}]}, {"key": "layout-1", "rows": [{"c0": "pd_lsn", "c1": "PageXLogRecPtr", "c2": "8 \u5b57\u8282", "c3": "LSN\uff1a\u8be5\u9875\u6700\u540e\u4e00\u6b21\u53d8\u5316\u6240\u5bf9\u5e94 WAL \u8bb0\u5f55\u7684\u6700\u540e\u4e00\u4e2a\u5b57\u8282\u4e4b\u540e\u7684\u4f4d\u7f6e\u3002"}, {"c0": "pd_checksum", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u9875\u9762\u6821\u9a8c\u548c"}, {"c0": "pd_flags", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u6807\u5fd7\u4f4d"}, {"c0": "pd_lower", "c1": "LocationIndex", "c2": "2 \u5b57\u8282", "c3": "\u7a7a\u95f2\u7a7a\u95f4\u8d77\u59cb\u4f4d\u7f6e\u7684\u504f\u79fb\u91cf"}, {"c0": "pd_upper", "c1": "LocationIndex", "c2": "2 \u5b57\u8282", "c3": "\u7a7a\u95f2\u7a7a\u95f4\u7ed3\u675f\u4f4d\u7f6e\u7684\u504f\u79fb\u91cf"}, {"c0": "pd_special", "c1": "LocationIndex", "c2": "2 \u5b57\u8282", "c3": "\u7279\u6b8a\u7a7a\u95f4\u8d77\u59cb\u4f4d\u7f6e\u7684\u504f\u79fb\u91cf"}, {"c0": "pd_pagesize_version", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u9875\u9762\u5927\u5c0f\u4e0e\u5e03\u5c40\u7248\u672c\u53f7\u4fe1\u606f"}, {"c0": "pd_prune_xid", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "\u9875\u9762\u4e0a\u6700\u65e9\u7684\u5c1a\u672a\u4fee\u526a\u7684 XMAX\uff1b\u6ca1\u6709\u5219\u4e3a\u96f6"}], "title": "PageHeaderData \u5e03\u5c40", "columns": [{"key": "c0", "label": "\u5b57\u6bb5"}, {"key": "c1", "label": "\u7c7b\u578b"}, {"key": "c2", "label": "\u957f\u5ea6"}, {"key": "c3", "label": "\u8bf4\u660e"}]}, {"key": "layout-2", "rows": [{"c0": "t_xmin", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "\u63d2\u5165\u4e8b\u52a1\u7684 XID"}, {"c0": "t_xmax", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "\u5220\u9664\u4e8b\u52a1\u7684 XID"}, {"c0": "t_cid", "c1": "CommandId", "c2": "4 \u5b57\u8282", "c3": "\u63d2\u5165\u548c\uff0f\u6216\u5220\u9664\u547d\u4ee4\u7684 CID\uff0c\u4e0e t_xvac \u5171\u7528\u5b58\u50a8\u4f4d\u7f6e"}, {"c0": "t_xvac", "c1": "TransactionId", "c2": "4 \u5b57\u8282", "c3": "VACUUM \u64cd\u4f5c\u79fb\u52a8\u884c\u7248\u672c\u65f6\u4f7f\u7528\u7684 XID"}, {"c0": "t_ctid", "c1": "ItemPointerData", "c2": "6 \u5b57\u8282", "c3": "\u672c\u884c\u7248\u672c\u6216\u8f83\u65b0\u884c\u7248\u672c\u7684\u5f53\u524d TID"}, {"c0": "t_infomask2", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u5c5e\u6027\u6570\u91cf\u53ca\u5404\u79cd\u6807\u5fd7\u4f4d"}, {"c0": "t_infomask", "c1": "uint16", "c2": "2 \u5b57\u8282", "c3": "\u5404\u79cd\u6807\u5fd7\u4f4d"}, {"c0": "t_hoff", "c1": "uint8", "c2": "1 \u5b57\u8282", "c3": "\u7528\u6237\u6570\u636e\u7684\u504f\u79fb\u91cf"}], "title": "HeapTupleHeaderData \u5e03\u5c40", "columns": [{"key": "c0", "label": "\u5b57\u6bb5"}, {"key": "c1", "label": "\u7c7b\u578b"}, {"key": "c2", "label": "\u957f\u5ea6"}, {"key": "c3", "label": "\u8bf4\u660e"}]}], "description": ["\u672c\u8282\u6982\u8ff0 PostgreSQL \u8868\u548c\u7d22\u5f15\u5185\u90e8\u6240\u4f7f\u7528\u7684\u9875\u9762\u683c\u5f0f\u3002 [19] \u5e8f\u5217\u548c TOAST \u8868\u7684\u683c\u5f0f\u4e0e\u666e\u901a\u8868\u76f8\u540c\u3002 \u5728\u4e0b\u9762\u7684\u8bf4\u660e\u4e2d\uff0c\u5047\u5b9a\u4e00\u4e2a \u5b57\u8282 \u5305\u542b 8 \u4e2a\u4f4d\u3002\u53e6\u5916\uff0c\u672f\u8bed \u9879 \u6307\u7684\u662f\u5b58\u50a8\u5728\u9875\u9762\u4e0a\u7684\u5355\u4e2a\u6570\u636e\u503c\u3002\u5728\u8868\u4e2d\uff0c\u9879\u662f\u4e00\u884c\uff1b\u5728\u7d22\u5f15\u4e2d\uff0c\u9879\u662f\u4e00\u6761\u7d22\u5f15\u6761\u76ee\u3002 \u6bcf\u4e2a\u8868\u548c\u7d22\u5f15\u90fd\u5b58\u50a8\u4e3a\u56fa\u5b9a\u5927\u5c0f\u7684 \u9875\u9762 \u6570\u7ec4\uff08\u901a\u5e38\u4e3a 8 kB\uff0c\u4e0d\u8fc7\u5728\u7f16\u8bd1\u670d\u52a1\u5668\u65f6\u53ef\u4ee5\u9009\u62e9\u4e0d\u540c\u7684\u9875\u9762\u5927\u5c0f\uff09\u3002\u5728\u8868\u4e2d\uff0c\u6240\u6709\u9875\u9762\u5728\u903b\u8f91\u4e0a\u90fd\u662f\u7b49\u4ef7\u7684\uff0c\u56e0\u6b64\u67d0\u4e2a\u7279\u5b9a\u9879\uff08\u884c\uff09\u53ef\u4ee5\u5b58\u653e\u5728\u4efb\u610f\u9875\u9762\u4e2d\u3002\u5728\u7d22\u5f15\u4e2d\uff0c\u7b2c\u4e00\u9875\u901a\u5e38\u4fdd\u7559\u4e3a \u5143\u9875 \uff0c\u7528\u4e8e\u4fdd\u5b58\u63a7\u5236\u4fe1\u606f\uff1b\u5e76\u4e14\u6839\u636e\u7d22\u5f15\u8bbf\u95ee\u65b9\u6cd5\u7684\u4e0d\u540c\uff0c\u7d22\u5f15\u4e2d\u8fd8\u53ef\u80fd\u5b58\u5728\u4e0d\u540c\u7c7b\u578b\u7684\u9875\u9762\u3002 \u8868 66.2 \u5c55\u793a\u4e86\u9875\u9762\u7684\u603b\u4f53\u5e03\u5c40\u3002\u6bcf\u4e2a\u9875\u9762\u5305\u542b\u4e94\u4e2a\u90e8\u5206\u3002"], "manual_html": "", "manual_path": "/docs/18/storage-page-layout.html", "sections_zh": [], "localization": {"status": "complete", "sources": [{"url": "/docs/18/storage-page-layout.html", "method": "same-major semantic node", "sha256": "e504ff90f2cabf6f71046d80f1cc8d49664ba2f2f4bce0ef26e955d6c5580ab2", "language": "zh", "matched_nodes": ["#STORAGE-PAGE-LAYOUT/div[0]", "#STORAGE-PAGE-LAYOUT/div[16]", "#STORAGE-PAGE-LAYOUT/div[18]/div[2]/p[0]", "#STORAGE-PAGE-LAYOUT/div[18]/p[1]", "#STORAGE-PAGE-LAYOUT/div[18]/p[4]", "#STORAGE-PAGE-LAYOUT/div[18]/p[5]", "#STORAGE-PAGE-LAYOUT/div[18]/p[6]", "#STORAGE-PAGE-LAYOUT/div[19]", "#STORAGE-PAGE-LAYOUT/div[1]", "#STORAGE-PAGE-LAYOUT/div[6]/div[1]/table[0]/tbody[2]/tr[3]/td[0]", "#STORAGE-PAGE-LAYOUT/div[6]/p[0]", "#STORAGE-PAGE-LAYOUT/div[9]/div[1]/table[0]/tbody[2]/tr[0]/td[2]", "#STORAGE-PAGE-LAYOUT/div[9]/p[0]", "#STORAGE-PAGE-LAYOUT/p[11]", "#STORAGE-PAGE-LAYOUT/p[12]", "#STORAGE-PAGE-LAYOUT/p[13]", "#STORAGE-PAGE-LAYOUT/p[14]", "#STORAGE-PAGE-LAYOUT/p[15]", "#STORAGE-PAGE-LAYOUT/p[2]", "#STORAGE-PAGE-LAYOUT/p[3]", "#STORAGE-PAGE-LAYOUT/p[4]", "#STORAGE-PAGE-LAYOUT/p[5]"]}], "language": "zh", "original_text": {"/versions/18/description/0": "This section provides an overview of the page format used within PostgreSQL tables and indexes. [19] Sequences and TOAST tables are formatted just like a regular table.", "/versions/18/facts/0/label": "Definition scope", "/versions/18/facts/0/value": "Same-version core physical storage documentation", "/versions/18/tables/0/title": "Overall Page Layout", "/versions/18/tables/1/title": "PageHeaderData Layout", "/versions/18/tables/2/title": "HeapTupleHeaderData Layout", "/versions/18/related/1/label": "Storage Parameters", "/versions/18/tables/0/rows/0/c1": "24 bytes long. Contains general information about the page, including free space pointers.", "/versions/18/tables/0/rows/1/c1": "Array of item identifiers pointing to the actual items. Each entry is an (offset,length) pair. 4 bytes per item.", "/versions/18/tables/0/rows/2/c0": "Free space", "/versions/18/tables/0/rows/2/c1": "The unallocated space. New item identifiers are allocated from the start of this area, new items from the end.", "/versions/18/tables/0/rows/3/c0": "Items", "/versions/18/tables/0/rows/3/c1": "The actual items themselves.", "/versions/18/tables/0/rows/4/c0": "Special space", "/versions/18/tables/0/rows/4/c1": "Index access method specific data. Different methods store different data. Empty in ordinary tables.", "/versions/18/tables/1/rows/0/c2": "8 bytes", "/versions/18/tables/1/rows/0/c3": "LSN: next byte after last byte of WAL record for last change to this page", "/versions/18/tables/1/rows/1/c2": "2 bytes", "/versions/18/tables/1/rows/1/c3": "Page checksum", "/versions/18/tables/1/rows/2/c2": "2 bytes", "/versions/18/tables/1/rows/2/c3": "Flag bits", "/versions/18/tables/1/rows/3/c2": "2 bytes", "/versions/18/tables/1/rows/3/c3": "Offset to start of free space", "/versions/18/tables/1/rows/4/c2": "2 bytes", "/versions/18/tables/1/rows/4/c3": "Offset to end of free space", "/versions/18/tables/1/rows/5/c2": "2 bytes", "/versions/18/tables/1/rows/5/c3": "Offset to start of special space", "/versions/18/tables/1/rows/6/c2": "2 bytes", "/versions/18/tables/1/rows/6/c3": "Page size and layout version number information", "/versions/18/tables/1/rows/7/c2": "4 bytes", "/versions/18/tables/1/rows/7/c3": "Oldest unpruned XMAX on page, or zero if none", "/versions/18/tables/2/rows/0/c2": "4 bytes", "/versions/18/tables/2/rows/0/c3": "insert XID stamp", "/versions/18/tables/2/rows/1/c2": "4 bytes", "/versions/18/tables/2/rows/1/c3": "delete XID stamp", "/versions/18/tables/2/rows/2/c2": "4 bytes", "/versions/18/tables/2/rows/2/c3": "insert and/or delete CID stamp (overlays with t_xvac)", "/versions/18/tables/2/rows/3/c2": "4 bytes", "/versions/18/tables/2/rows/3/c3": "XID for VACUUM operation moving a row version", "/versions/18/tables/2/rows/4/c2": "6 bytes", "/versions/18/tables/2/rows/4/c3": "current TID of this or newer row version", "/versions/18/tables/2/rows/5/c2": "2 bytes", "/versions/18/tables/2/rows/5/c3": "number of attributes, plus various flag bits", "/versions/18/tables/2/rows/6/c2": "2 bytes", "/versions/18/tables/2/rows/6/c3": "various flag bits", "/versions/18/tables/2/rows/7/c2": "1 byte", "/versions/18/tables/2/rows/7/c3": "offset to user data", "/versions/18/tables/0/columns/0/label": "Item", "/versions/18/tables/0/columns/1/label": "Description", "/versions/18/tables/1/columns/0/label": "Field", "/versions/18/tables/1/columns/1/label": "Type", "/versions/18/tables/1/columns/2/label": "Length", "/versions/18/tables/1/columns/3/label": "Description", "/versions/18/tables/2/columns/0/label": "Field", "/versions/18/tables/2/columns/1/label": "Type", "/versions/18/tables/2/columns/2/label": "Length", "/versions/18/tables/2/columns/3/label": "Description"}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "a9dda740e83f3772422bb1b41e492854b00998da5004f5a0e1f65588f2beaebd", "canonical_center_text_hash": "b23cc9d8cdb153bee1ec97ff2a67d4ecf5f1b4426717f1ff8be14c40e94eb82c"}, "description_zh": "\u672c\u8282\u6982\u8ff0 PostgreSQL \u8868\u548c\u7d22\u5f15\u5185\u90e8\u6240\u4f7f\u7528\u7684\u9875\u9762\u683c\u5f0f\u3002 [19] \u5e8f\u5217\u548c TOAST \u8868\u7684\u683c\u5f0f\u4e0e\u666e\u901a\u8868\u76f8\u540c\u3002 \u5728\u4e0b\u9762\u7684\u8bf4\u660e\u4e2d\uff0c\u5047\u5b9a\u4e00\u4e2a \u5b57\u8282 \u5305\u542b 8 \u4e2a\u4f4d\u3002\u53e6\u5916\uff0c\u672f\u8bed \u9879 \u6307\u7684\u662f\u5b58\u50a8\u5728\u9875\u9762\u4e0a\u7684\u5355\u4e2a\u6570\u636e\u503c\u3002\u5728\u8868\u4e2d\uff0c\u9879\u662f\u4e00\u884c\uff1b\u5728\u7d22\u5f15\u4e2d\uff0c\u9879\u662f\u4e00\u6761\u7d22\u5f15\u6761\u76ee\u3002 \u6bcf\u4e2a\u8868\u548c\u7d22\u5f15\u90fd\u5b58\u50a8\u4e3a\u56fa\u5b9a\u5927\u5c0f\u7684 \u9875\u9762 \u6570\u7ec4\uff08\u901a\u5e38\u4e3a 8 kB\uff0c\u4e0d\u8fc7\u5728\u7f16\u8bd1\u670d\u52a1\u5668\u65f6\u53ef\u4ee5\u9009\u62e9\u4e0d\u540c\u7684\u9875\u9762\u5927\u5c0f\uff09\u3002\u5728\u8868\u4e2d\uff0c\u6240\u6709\u9875\u9762\u5728\u903b\u8f91\u4e0a\u90fd\u662f\u7b49\u4ef7\u7684\uff0c\u56e0\u6b64\u67d0\u4e2a\u7279\u5b9a\u9879\uff08\u884c\uff09\u53ef\u4ee5\u5b58\u653e\u5728\u4efb\u610f\u9875\u9762\u4e2d\u3002\u5728\u7d22\u5f15\u4e2d\uff0c\u7b2c\u4e00\u9875\u901a\u5e38\u4fdd\u7559\u4e3a \u5143\u9875 \uff0c\u7528\u4e8e\u4fdd\u5b58\u63a7\u5236\u4fe1\u606f\uff1b\u5e76\u4e14\u6839\u636e\u7d22\u5f15\u8bbf\u95ee\u65b9\u6cd5\u7684\u4e0d\u540c\uff0c\u7d22\u5f15\u4e2d\u8fd8\u53ef\u80fd\u5b58\u5728\u4e0d\u540c\u7c7b\u578b\u7684\u9875\u9762\u3002 \u8868 66.2 \u5c55\u793a\u4e86\u9875\u9762\u7684\u603b\u4f53\u5e03\u5c40\u3002\u6bcf\u4e2a\u9875\u9762\u5305\u542b\u4e94\u4e2a\u90e8\u5206\u3002", "comparison_data": {"layouts": [{"key": "layout-0", "rows": [{"c0": "PageHeaderData", "c1": "24 bytes long. Contains general information about the page, including free space pointers."}, {"c0": "ItemIdData", "c1": "Array of item identifiers pointing to the actual items. Each entry is an (offset,length) pair. 4 bytes per item."}, {"c0": "Free space", "c1": "The unallocated space. New item identifiers are allocated from the start of this area, new items from the end."}, {"c0": "Items", "c1": "The actual items themselves."}, {"c0": "Special space", "c1": "Index access method specific data. Different methods store different data. Empty in ordinary tables."}], "title": "Overall Page Layout", "columns": [{"key": "c0", "label": "Item"}, {"key": "c1", "label": "Description"}]}, {"key": "layout-1", "rows": [{"c0": "pd_lsn", "c1": "PageXLogRecPtr", "c2": "8 bytes", "c3": "LSN: next byte after last byte of WAL record for last change to this page"}, {"c0": "pd_checksum", "c1": "uint16", "c2": "2 bytes", "c3": "Page checksum"}, {"c0": "pd_flags", "c1": "uint16", "c2": "2 bytes", "c3": "Flag bits"}, {"c0": "pd_lower", "c1": "LocationIndex", "c2": "2 bytes", "c3": "Offset to start of free space"}, {"c0": "pd_upper", "c1": "LocationIndex", "c2": "2 bytes", "c3": "Offset to end of free space"}, {"c0": "pd_special", "c1": "LocationIndex", "c2": "2 bytes", "c3": "Offset to start of special space"}, {"c0": "pd_pagesize_version", "c1": "uint16", "c2": "2 bytes", "c3": "Page size and layout version number information"}, {"c0": "pd_prune_xid", "c1": "TransactionId", "c2": "4 bytes", "c3": "Oldest unpruned XMAX on page, or zero if none"}], "title": "PageHeaderData Layout", "columns": [{"key": "c0", "label": "Field"}, {"key": "c1", "label": "Type"}, {"key": "c2", "label": "Length"}, {"key": "c3", "label": "Description"}]}, {"key": "layout-2", "rows": [{"c0": "t_xmin", "c1": "TransactionId", "c2": "4 bytes", "c3": "insert XID stamp"}, {"c0": "t_xmax", "c1": "TransactionId", "c2": "4 bytes", "c3": "delete XID stamp"}, {"c0": "t_cid", "c1": "CommandId", "c2": "4 bytes", "c3": "insert and/or delete CID stamp (overlays with t_xvac)"}, {"c0": "t_xvac", "c1": "TransactionId", "c2": "4 bytes", "c3": "XID for VACUUM operation moving a row version"}, {"c0": "t_ctid", "c1": "ItemPointerData", "c2": "6 bytes", "c3": "current TID of this or newer row version"}, {"c0": "t_infomask2", "c1": "uint16", "c2": "2 bytes", "c3": "number of attributes, plus various flag bits"}, {"c0": "t_infomask", "c1": "uint16", "c2": "2 bytes", "c3": "various flag bits"}, {"c0": "t_hoff", "c1": "uint8", "c2": "1 byte", "c3": "offset to user data"}], "title": "HeapTupleHeaderData Layout", "columns": [{"key": "c0", "label": "Field"}, {"key": "c1", "label": "Type"}, {"key": "c2", "label": "Length"}, {"key": "c3", "label": "Description"}]}]}, "comparison_hash": "b621fa85b3be27a0eb0d82986e9524f2ef0a776761901f0d429826eec4822d0a", "manual_language": "zh", "description_zh_html": "<p>\u5b58\u50a8\u7ed3\u6784 storage-page-layout\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n\u672c\u8282\u6982\u8ff0 <span>PostgreSQL</span> \u8868\u548c\u7d22\u5f15\u5185\u90e8\u6240\u4f7f\u7528\u7684\u9875\u9762\u683c\u5f0f\u3002<a href=\"/zh/docs/18/storage-page-layout.html#ftn.id-1.10.18.8.2.2\" rel=\"nofollow\"><sup>[19]</sup></a>\n\u5e8f\u5217\u548c <acronym>TOAST</acronym> \u8868\u7684\u683c\u5f0f\u4e0e\u666e\u901a\u8868\u76f8\u540c\u3002\n</p><p>\n\u5728\u4e0b\u9762\u7684\u8bf4\u660e\u4e2d\uff0c\u5047\u5b9a\u4e00\u4e2a<em>\u5b57\u8282</em>\u5305\u542b 8 \u4e2a\u4f4d\u3002\u53e6\u5916\uff0c\u672f\u8bed<em>\u9879</em>\u6307\u7684\u662f\u5b58\u50a8\u5728\u9875\u9762\u4e0a\u7684\u5355\u4e2a\u6570\u636e\u503c\u3002\u5728\u8868\u4e2d\uff0c\u9879\u662f\u4e00\u884c\uff1b\u5728\u7d22\u5f15\u4e2d\uff0c\u9879\u662f\u4e00\u6761\u7d22\u5f15\u6761\u76ee\u3002\n</p><p>\n\u6bcf\u4e2a\u8868\u548c\u7d22\u5f15\u90fd\u5b58\u50a8\u4e3a\u56fa\u5b9a\u5927\u5c0f\u7684<em>\u9875\u9762</em>\u6570\u7ec4\uff08\u901a\u5e38\u4e3a 8 kB\uff0c\u4e0d\u8fc7\u5728\u7f16\u8bd1\u670d\u52a1\u5668\u65f6\u53ef\u4ee5\u9009\u62e9\u4e0d\u540c\u7684\u9875\u9762\u5927\u5c0f\uff09\u3002\u5728\u8868\u4e2d\uff0c\u6240\u6709\u9875\u9762\u5728\u903b\u8f91\u4e0a\u90fd\u662f\u7b49\u4ef7\u7684\uff0c\u56e0\u6b64\u67d0\u4e2a\u7279\u5b9a\u9879\uff08\u884c\uff09\u53ef\u4ee5\u5b58\u653e\u5728\u4efb\u610f\u9875\u9762\u4e2d\u3002\u5728\u7d22\u5f15\u4e2d\uff0c\u7b2c\u4e00\u9875\u901a\u5e38\u4fdd\u7559\u4e3a<em>\u5143\u9875</em>\uff0c\u7528\u4e8e\u4fdd\u5b58\u63a7\u5236\u4fe1\u606f\uff1b\u5e76\u4e14\u6839\u636e\u7d22\u5f15\u8bbf\u95ee\u65b9\u6cd5\u7684\u4e0d\u540c\uff0c\u7d22\u5f15\u4e2d\u8fd8\u53ef\u80fd\u5b58\u5728\u4e0d\u540c\u7c7b\u578b\u7684\u9875\u9762\u3002\n</p><p>\n<a href=\"/zh/docs/18/storage-page-layout.html#PAGE-TABLE\" rel=\"nofollow\">\u8868\u00a066.2</a> \u5c55\u793a\u4e86\u9875\u9762\u7684\u603b\u4f53\u5e03\u5c40\u3002\u6bcf\u4e2a\u9875\u9762\u5305\u542b\u4e94\u4e2a\u90e8\u5206\u3002\n</p><p><a href=\"/zh/docs/18/storage-page-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 storage-page-layout\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u8282\u9009</h3><p>\n\u672c\u8282\u6982\u8ff0 <span>PostgreSQL</span> \u8868\u548c\u7d22\u5f15\u5185\u90e8\u6240\u4f7f\u7528\u7684\u9875\u9762\u683c\u5f0f\u3002<a href=\"/docs/18/storage-page-layout.html#ftn.id-1.10.18.8.2.2\"><sup>[19]</sup></a>\n\u5e8f\u5217\u548c TOAST \u8868\u7684\u683c\u5f0f\u4e0e\u666e\u901a\u8868\u76f8\u540c\u3002\n</p><p>\n\u5728\u4e0b\u9762\u7684\u8bf4\u660e\u4e2d\uff0c\u5047\u5b9a\u4e00\u4e2a<em>\u5b57\u8282</em>\u5305\u542b 8 \u4e2a\u4f4d\u3002\u53e6\u5916\uff0c\u672f\u8bed<em>\u9879</em>\u6307\u7684\u662f\u5b58\u50a8\u5728\u9875\u9762\u4e0a\u7684\u5355\u4e2a\u6570\u636e\u503c\u3002\u5728\u8868\u4e2d\uff0c\u9879\u662f\u4e00\u884c\uff1b\u5728\u7d22\u5f15\u4e2d\uff0c\u9879\u662f\u4e00\u6761\u7d22\u5f15\u6761\u76ee\u3002\n</p><p>\n\u6bcf\u4e2a\u8868\u548c\u7d22\u5f15\u90fd\u5b58\u50a8\u4e3a\u56fa\u5b9a\u5927\u5c0f\u7684<em>\u9875\u9762</em>\u6570\u7ec4\uff08\u901a\u5e38\u4e3a 8 kB\uff0c\u4e0d\u8fc7\u5728\u7f16\u8bd1\u670d\u52a1\u5668\u65f6\u53ef\u4ee5\u9009\u62e9\u4e0d\u540c\u7684\u9875\u9762\u5927\u5c0f\uff09\u3002\u5728\u8868\u4e2d\uff0c\u6240\u6709\u9875\u9762\u5728\u903b\u8f91\u4e0a\u90fd\u662f\u7b49\u4ef7\u7684\uff0c\u56e0\u6b64\u67d0\u4e2a\u7279\u5b9a\u9879\uff08\u884c\uff09\u53ef\u4ee5\u5b58\u653e\u5728\u4efb\u610f\u9875\u9762\u4e2d\u3002\u5728\u7d22\u5f15\u4e2d\uff0c\u7b2c\u4e00\u9875\u901a\u5e38\u4fdd\u7559\u4e3a<em>\u5143\u9875</em>\uff0c\u7528\u4e8e\u4fdd\u5b58\u63a7\u5236\u4fe1\u606f\uff1b\u5e76\u4e14\u6839\u636e\u7d22\u5f15\u8bbf\u95ee\u65b9\u6cd5\u7684\u4e0d\u540c\uff0c\u7d22\u5f15\u4e2d\u8fd8\u53ef\u80fd\u5b58\u5728\u4e0d\u540c\u7c7b\u578b\u7684\u9875\u9762\u3002\n</p><p>\n<a href=\"/docs/18/storage-page-layout.html#PAGE-TABLE\">\u8868\u00a066.2</a> \u5c55\u793a\u4e86\u9875\u9762\u7684\u603b\u4f53\u5e03\u5c40\u3002\u6bcf\u4e2a\u9875\u9762\u5305\u542b\u4e94\u4e2a\u90e8\u5206\u3002\n</p><p><a href=\"/docs/18/storage-page-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": ""}}