{"Entry":{"collection":"guc","key":"min_parallel_relation_size","name":"min_parallel_relation_size","aliases":[],"metadata":{"baseline":false,"boot_human":"8 MiB (1024 × 8kB)","boot_val":"1024","category":"Query Tuning / Planner Cost Constants","category_zh":"","changed_in":[],"changes":[{"documentation_changed":false,"fields":{},"from":"9.5","status":"added","to":"9.6"},{"documentation_changed":false,"fields":{},"from":"9.6","status":"removed","to":"10"}],"content_hash":"72188f2c69860939cc330d8a430b2df9669c62b56b0034f53124f030286d3ed7","context":"user","default_changed_in":[],"default_history":[{"from":"9.6","to":"9.6","value":"8 MiB (1024 × 8kB)"}],"editorial":{"advice":{"olap":"For an upgrade or analytical estate, inventory every generated configuration before cutover. Map the old control to its successor and compare plans, throughput, WAL, or logging behavior rather than assuming the old numeric value is portable.","oltp":"Do not add this retired name to a current OLTP configuration. Translate its intent to the documented successor, test the migration under connection and write concurrency, and remove stale automation that still emits it.","small":"Delete the obsolete override after recording why it existed. On a small node, prefer the successor's default until measurements justify a new value; an unknown startup parameter can otherwise stop the server."},"mechanism":["PostgreSQL describes min_parallel_relation_size as follows: “Sets the minimum size of relations to be considered for parallel scan.” It can be changed per session, which makes plan or behavior comparisons possible without changing every workload. The atlas measures it in PG9.6; boot_val is the compiled or initialized baseline, not proof of a running cluster's effective setting.","PostgreSQL 9.6 used one relation-size threshold when deciding whether a parallel scan was worth considering. PostgreSQL 10 split the control into min_parallel_table_scan_size and min_parallel_index_scan_size, allowing heap and index access paths to have different break-even points.","Read it together with min_parallel_table_scan_size, min_parallel_index_scan_size, max_parallel_workers_per_gather, enable_parallel_append. Check SHOW and pg_settings on the target server, verify the source and pending_restart fields, and compare workload, logs, and resource metrics before and after any change."],"pitfalls":["Treating the measured boot_val for min_parallel_relation_size as proof of the effective value on an initialized or managed cluster.","Applying a change as though it were immediate while pg_settings reports user context.","Changing this setting in isolation without checking the linked limits, observability, and rollback path.","Copying the removed name into a modern postgresql.conf instead of migrating to its documented successor."],"references":[{"title":"PostgreSQL 9.6: min_parallel_relation_size","url":"https://www.postgresql.org/docs/9.6/runtime-config-query.html#GUC-MIN-PARALLEL-RELATION-SIZE"}],"related":["min_parallel_table_scan_size","min_parallel_index_scan_size","max_parallel_workers_per_gather","enable_parallel_append"],"summary":"min_parallel_relation_size — Sets the minimum size of relations to be considered for parallel scan. Observed in PG9.6; its last measured boot default is 8 MiB (1024 × 8kB) in PG9.6, with user context. It was removed in PG10."},"enumvals":[],"first_version":"9.6","group":"Query Tuning","group_slug":"query","imported_at":"2026-09-27T17:57:31.781476+08:00","intro_commit":{"authored_at":"2016-06-16T13:47:20-04:00","discussion":[],"hash":"75be66464cb1bffa1e5757907b9a04ad5afc7859","subject":"Invent min_parallel_relation_size GUC to replace a hard-wired constant.","url":"https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=75be66464cb1bffa1e5757907b9a04ad5afc7859"},"key":"min_parallel_relation_size","last_version":"9.6","max_val":"715827882","min_val":"0","name":"min_parallel_relation_size","position":295,"present_in":["9.6"],"short_desc":"Sets the minimum size of relations to be considered for parallel scan.","short_desc_zh":"","source_rev":"english-manuals:7bd0c22c52b68643cf3ea778ed9a608a25013992bbf41e0e1ca8f960767084af","unit":"8kB","vartype":"integer"}},"Definition":{"Collection":"guc","Key":"min_parallel_relation_size","SourceDatabase":"center","Version":"9.6","SourceTable":"guc","SourceKey":"min_parallel_relation_size","SourceRevision":"english-manuals:7bd0c22c52b68643cf3ea778ed9a608a25013992bbf41e0e1ca8f960767084af","Facts":{"boot_val":"1024","category":"Query Tuning / Planner Cost Constants","context":"user","description":"Sets the minimum size of relations to be considered for parallel scan. The default is 8 megabytes (8MB).","doc":{"anchor":"GUC-MIN-PARALLEL-RELATION-SIZE","file":"runtime-config-query.html","lang":"en","sha256":"8c7066cff32ef2b34122ae314023f419735a65f1afda1733d502807cc3ae5a2f","slug":"9.6"},"documented":true,"enumvals":null,"extra_desc":null,"lang":"en","max_val":"715827882","metadata_version":"9.6","min_val":"0","name":"min_parallel_relation_size","short_desc":"Sets the minimum size of relations to be considered for parallel scan.","source":"pg-settings-source-snapshot","unit":"8kB","vartype":"integer"},"ManualEvidence":{"doc":{"anchor":"GUC-MIN-PARALLEL-RELATION-SIZE","file":"runtime-config-query.html","lang":"en","sha256":"8c7066cff32ef2b34122ae314023f419735a65f1afda1733d502807cc3ae5a2f","slug":"9.6"}},"MeasuredEvidence":{"metadata_version":"9.6"}},"Text":{"Collection":"guc","Key":"min_parallel_relation_size","SourceDatabase":"pgweb","Version":"9.6","Locale":"zh-Hans","Title":"min_parallel_relation_size","Summary":"","BodyHTML":"\u003cp\u003e设置为并行扫描所考虑的关系的最小尺寸。默认值是8兆字节（\u003ccode\u003e8MB\u003c/code\u003e）。\u003c/p\u003e","SourceRevision":"2026-09-11@29c86d9","ContentHash":"ef893172054a3c7bdbf3fb7ff5684975ade937f61c71a747e47c5a95354957e2","Payload":{"carried_from":"","carry_reason":"","doc_html":"\u003cp\u003e设置为并行扫描所考虑的关系的最小尺寸。默认值是8兆字节（\u003ccode class=\"literal\"\u003e8MB\u003c/code\u003e）。\u003c/p\u003e","doc_same_as":""}},"RequestedLocale":"zh-Hans","Fallback":false,"Versions":["9.6"],"Locales":["en","zh-Hans"],"Signatures":null,"Spellings":null,"SQLState":null,"Evidence":null}
