{"Entry":{"collection":"guc","key":"huge_pages_status","name":"huge_pages_status","aliases":[],"metadata":{"baseline":false,"boot_human":"Not specified","boot_val":null,"category":"Preset Options","category_zh":"","changed_in":[],"changes":[{"documentation_changed":false,"fields":{},"from":"16","status":"added","to":"17"}],"content_hash":"5aeb310a8c2669df5c6e742f9c6394a40f81d3a4222a3ce8eb198aa5b7c69de9","context":"","default_changed_in":[],"default_history":[{"from":"17","to":"19","value":"unknown"}],"derived_content_hash":"10663e72b0727dbfa5ef110c43bbfce086e233d4bd36a3ae1843e4825daa971b","editorial":{"advice":{"olap":"Large shared memory can need many huge pages. Reserve the pool with headroom for the real shared_memory_size and verify NUMA placement and restart behavior on each node.","oltp":"Not tunable directly. If on was requested but status is off, check huge_pages policy, OS support, pool size, permissions, and startup logs; resize the OS pool before restarting.","small":"Keep huge_pages=try unless the platform policy says otherwise. Do not reserve a large OS huge-page pool merely to make the status on for a small shared-memory area."},"mechanism":["Reports whether the main shared-memory area actually uses explicit huge pages. It is an internal, read-only startup result with values off, on, or unknown.","The result is derived after applying huge_pages and attempting startup allocation against operating-system support and the available huge-page pool. It is not fixed by the PostgreSQL binary or initdb.","Use shared_memory_size_in_huge_pages to estimate the required pool and compare huge_pages_status with the requested huge_pages policy after every restart. Transparent Huge Pages are a separate operating-system mechanism."],"pitfalls":["Trying to SET a read-only startup result.","Confusing huge_pages_status with the configured huge_pages request.","Ignoring a too-small operating-system huge-page pool or startup allocation failure.","Confusing explicit PostgreSQL huge pages with Transparent Huge Pages.","Assuming a status from one node applies to failover nodes with different OS configuration."],"references":[{"title":"PostgreSQL 19 Beta 4: huge_pages_status","url":"https://www.postgresql.org/docs/19/runtime-config-preset.html#GUC-HUGE-PAGES-STATUS"},{"title":"PostgreSQL 19 release notes","url":"https://www.postgresql.org/docs/19/release-19.html"}],"related":["huge_pages","shared_memory_size_in_huge_pages","shared_memory_size","shared_buffers","min_dynamic_shared_memory","dynamic_shared_memory_type"],"summary":"huge_pages_status indicates the status of huge pages. It is read-only metadata in PG17–18, not a runtime tuning control."},"enumvals":[],"first_version":"17","group":"Preset Options","group_slug":"preset","imported_at":"2026-09-27T17:57:31.365915+08:00","intro_commit":{"authored_at":"2023-07-06T14:42:36+09:00","discussion":["https://postgr.es/m/TU4PR8401MB1152EBB0D271F827E2E37A01EECC9@TU4PR8401MB1152.NAMPRD84.PROD.OUTLOOK.COM"],"hash":"a14354cac0e32d5e169c1ea4225845f93922d483","subject":"Add GUC parameter \"huge_pages_status\"","url":"https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=a14354cac0e32d5e169c1ea4225845f93922d483"},"key":"huge_pages_status","last_version":"20","max_val":"","min_val":"","name":"huge_pages_status","position":170,"present_in":["17","18","19","20"],"repair_provenance":{"original_source_revision":"english-manuals:866431b2979789325846e08841ee5535ca286dee965e0e2358fcde33fad4dfc8","receipt_sha256":"f6b8edfbfa2c9b040d57f479a0d12e38c3346dd16c9b0359ff4b4b8b07d0c1bc","repair":"wiki-repair-20261023"},"short_desc":"Reports the state of huge pages in the current instance: on, off, or unknown (if displayed with postgres -C).","short_desc_zh":"","source_rev":"wiki-repair-20261023:3de1d24c18421e336ff60e06735726a5c15f7ec38583b1a61db8e25e12159b7a","unit":"","vartype":"enum"}},"Definition":{"Collection":"guc","Key":"huge_pages_status","SourceDatabase":"center","Version":"18","SourceTable":"guc","SourceKey":"huge_pages_status","SourceRevision":"wiki-repair-20261023:3de1d24c18421e336ff60e06735726a5c15f7ec38583b1a61db8e25e12159b7a","Facts":{"boot_val":"unknown","category":"Preset Options","context":"internal","description":"Reports the state of huge pages in the current instance: on, off, or unknown (if displayed with postgres -C). This parameter is useful to determine whether allocation of huge pages was successful under huge_pages=try. See huge_pages for more information.","description_zh":"报告当前实例中大页的状态：on、off 或 unknown（当通过 postgres -C 查看时）。这个参数有助于确定在 huge_pages=try 时分配大页是否成功。更多信息参见 huge_pages。","description_zh_html":"\u003cp\u003e\n        报告当前实例中大页的状态：\u003ccode class=\"literal\"\u003eon\u003c/code\u003e、\u003ccode class=\"literal\"\u003eoff\u003c/code\u003e 或\n        \u003ccode class=\"literal\"\u003eunknown\u003c/code\u003e（当通过 \u003ccode class=\"literal\"\u003epostgres -C\u003c/code\u003e 查看时）。这个参数有助于确定在 \u003ccode class=\"literal\"\u003ehuge_pages=try\u003c/code\u003e 时分配大页是否成功。更多信息参见 \u003ca class=\"xref\" href=\"/zh/docs/18/runtime-config-resource.html#GUC-HUGE-PAGES\"\u003ehuge_pages\u003c/a\u003e。\n       \u003c/p\u003e","doc":{"anchor":"GUC-HUGE-PAGES-STATUS","file":"runtime-config-preset.html","lang":"en","sha256":"4dbfec727b9cee838adefb8a766217748d91ab90190b452a58cec737459582ce","slug":"18"},"documented":true,"enumvals":["off","on","unknown"],"extra_desc":null,"lang":"en","max_val":null,"metadata_version":"18","min_val":null,"name":"huge_pages_status","short_desc":"Indicates the status of huge pages.","source":"pg-settings-source-snapshot","translation_provenance":{"inputs":[{"kind":"current-pgdoc-translation","path":"/Users/vonng/pgsty/pgdoc/zh/18/html/runtime-config-preset.html","sha256":"d0e95b9a81d5fdf853df26eba7dc096d96b9b45dadda13e0d0353aa72ac7a7b9"}],"kind":"same-version-pgdoc","locale":"zh-Hans","source_revision":"b1b500221dbe5437cfca004d6b04d3f6e422765d","version":"18"},"unit":null,"vartype":"enum","zh_from":"same-version-pgdoc"},"ManualEvidence":{"doc":{"anchor":"GUC-HUGE-PAGES-STATUS","file":"runtime-config-preset.html","lang":"en","sha256":"4dbfec727b9cee838adefb8a766217748d91ab90190b452a58cec737459582ce","slug":"18"}},"MeasuredEvidence":{"metadata_version":"18"}},"Text":{"Collection":"guc","Key":"huge_pages_status","SourceDatabase":"center","Version":"18","Locale":"en","Title":"huge_pages_status","Summary":"Reports the state of huge pages in the current instance: on, off, or unknown (if displayed with postgres -C). This parameter is useful to determine whether allocation of huge pages was successful under huge_pages=try. See huge_pages for more information.","BodyHTML":"\u003cp\u003eReports the state of huge pages in the current instance: on, off, or unknown (if displayed with postgres -C). This parameter is useful to determine whether allocation of huge pages was successful under huge_pages=try. See huge_pages for more information.\u003c/p\u003e","SourceRevision":"wiki-repair-20261023:3de1d24c18421e336ff60e06735726a5c15f7ec38583b1a61db8e25e12159b7a","ContentHash":"7580532a7c39670b1edfeda97d8b633e1599bc4025b9b38e9266e747ffbbbc8b","Payload":{"description":"Reports the state of huge pages in the current instance: on, off, or unknown (if displayed with postgres -C). This parameter is useful to determine whether allocation of huge pages was successful under huge_pages=try. See huge_pages for more information."}},"RequestedLocale":"en","Fallback":false,"Versions":["17","18","19","20"],"Locales":["en","zh-Hans"],"Signatures":null,"Spellings":null,"SQLState":null,"Evidence":null}
