{"Entry":{"collection":"guc","key":"summarize_wal","name":"summarize_wal","aliases":[],"metadata":{"baseline":false,"boot_human":"Not specified","boot_val":null,"category":"Write-Ahead Log / Summarization","category_zh":"","changed_in":[],"changes":[{"documentation_changed":false,"fields":{},"from":"16","status":"added","to":"17"}],"content_hash":"e3da0e734f19d1539c671d5a2e146ec0df583c705453f2028695c3aa43f82459","context":"","default_changed_in":[],"default_history":[{"from":"17","to":"19","value":"off"}],"editorial":{"advice":{"olap":"Bulk writes increase summarizer work. Capacity-test backup interval, WAL peak, and backup window together; a summary gap makes an incremental backup fail.","oltp":"Enable or tune summarize_wal only when using PostgreSQL incremental backup. Monitor summarizer progress and retain summaries across the complete WAL range between every dependent backup pair.","small":"Keep summarize_wal off when incremental backup is not used. If enabled, derive retention from the real backup chain and alert on summary-directory capacity."},"mechanism":["Starts the WAL summarizer process to enable incremental backup. A configuration reload applies a new value; existing work already in flight is not retroactively changed.","The WAL summarizer records which blocks changed over WAL ranges so pg_basebackup can construct incremental backups. It can run on a primary or standby, but cannot summarize WAL generated at wal_level=minimal.","Monitor and change summarize_wal together with wal_summary_keep_time, wal_level, archive_mode. Validate on the relevant server role and real workload, then use its sighup context to choose session change, reload, or restart; a historical boot default is not the current effective value."],"pitfalls":["Enabling it with wal_level=minimal and expecting usable summary files.","Treating WAL summaries as a WAL archive or a backup by themselves.","Turning the summarizer off and expecting wal_summary_keep_time cleanup to continue.","Taking an incremental backup without checking summarizer progress and summary coverage."],"references":[{"title":"PostgreSQL 19 Beta 4: summarize_wal","url":"https://www.postgresql.org/docs/19/runtime-config-wal.html#GUC-SUMMARIZE-WAL"},{"title":"PostgreSQL 19 release notes","url":"https://www.postgresql.org/docs/19/release-19.html"}],"related":["wal_summary_keep_time","wal_level","archive_mode","max_wal_size","archive_cleanup_command","archive_command"],"summary":"summarize_wal starts the WAL summarizer process to enable incremental backup. It is a sighup setting present in PG17–18; the latest recorded boot default is off."},"enumvals":[],"first_version":"17","group":"Write-Ahead Log","group_slug":"wal","imported_at":"2026-09-27T17:57:32.081473+08:00","intro_commit":{"authored_at":"2023-12-20T08:41:09-05:00","discussion":["https://postgr.es/m/CA+TgmoYOYZfMCyOXFyC-P+-mdrZqm5pP2N7S-r0z3_402h9rsA@mail.gmail.com"],"hash":"174c480508ac25568561443e6d4a82d5c1103487","subject":"Add a new WAL summarizer process.","url":"https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=174c480508ac25568561443e6d4a82d5c1103487"},"key":"summarize_wal","last_version":"20","max_val":"","min_val":"","name":"summarize_wal","position":394,"present_in":["17","18","19","20"],"short_desc":"Enables the WAL summarizer process.","short_desc_zh":"","source_rev":"english-manuals:f90792410e22763cbe24109a1dd8290e5249d8674d5478f359076b7ae81f7d4a","unit":"","vartype":"bool"}},"Definition":{"Collection":"guc","Key":"summarize_wal","SourceDatabase":"center","Version":"18","SourceTable":"guc","SourceKey":"summarize_wal","SourceRevision":"english-manuals:f90792410e22763cbe24109a1dd8290e5249d8674d5478f359076b7ae81f7d4a","Facts":{"boot_val":"off","category":"Write-Ahead Log / Summarization","context":"sighup","description":"Enables the WAL summarizer process. Note that WAL summarization can be enabled either on a primary or on a standby. This parameter can only be set in the postgresql.conf file or on the server command line. The default is off. The server cannot be started with summarize_wal=on if wal_level is set to minimal. If summarize_wal=on is configured after server startup while wal_level=minimal, the summarizer will run but refuse to generate summary files for any WAL generated with wal_level=minimal.","doc":{"anchor":"GUC-SUMMARIZE-WAL","file":"runtime-config-wal.html","lang":"en","sha256":"d2646404a06e8f7ac655204b4f28c049ae8f3fd4f2272db080fcefa2c4af0763","slug":"18"},"documented":true,"enumvals":null,"extra_desc":null,"lang":"en","max_val":null,"metadata_version":"18","min_val":null,"name":"summarize_wal","short_desc":"Starts the WAL summarizer process to enable incremental backup.","source":"pg-settings-source-snapshot","unit":null,"vartype":"bool"},"ManualEvidence":{"doc":{"anchor":"GUC-SUMMARIZE-WAL","file":"runtime-config-wal.html","lang":"en","sha256":"d2646404a06e8f7ac655204b4f28c049ae8f3fd4f2272db080fcefa2c4af0763","slug":"18"}},"MeasuredEvidence":{"metadata_version":"18"}},"Text":{"Collection":"guc","Key":"summarize_wal","SourceDatabase":"center","Version":"18","Locale":"en","Title":"summarize_wal","Summary":"Enables the WAL summarizer process. Note that WAL summarization can be enabled either on a primary or on a standby. This parameter can only be set in the postgresql.conf file or on the server command line. The default is off. The server cannot be started with summarize_wal=on if wal_level is set to minimal. If summarize_wal=on is configured after server startup while wal_level=minimal, the summarizer will run but refuse to generate summary files for any WAL generated with wal_level=minimal.","BodyHTML":"\u003cp\u003eEnables the WAL summarizer process. Note that WAL summarization can be enabled either on a primary or on a standby. This parameter can only be set in the postgresql.conf file or on the server command line. The default is off. The server cannot be started with summarize_wal=on if wal_level is set to minimal. If summarize_wal=on is configured after server startup while wal_level=minimal, the summarizer will run but refuse to generate summary files for any WAL generated with wal_level=minimal.\u003c/p\u003e","SourceRevision":"english-manuals:f90792410e22763cbe24109a1dd8290e5249d8674d5478f359076b7ae81f7d4a","ContentHash":"5a67e6b589567c942d27977ce559c3938d45f02e01cb84715b6efcd0716e5a15","Payload":{"description":"Enables the WAL summarizer process. Note that WAL summarization can be enabled either on a primary or on a standby. This parameter can only be set in the postgresql.conf file or on the server command line. The default is off. The server cannot be started with summarize_wal=on if wal_level is set to minimal. If summarize_wal=on is configured after server startup while wal_level=minimal, the summarizer will run but refuse to generate summary files for any WAL generated with wal_level=minimal."}},"RequestedLocale":"zh-Hans","Fallback":true,"Versions":["17","18","19","20"],"Locales":["en"],"Signatures":null,"Spellings":null,"SQLState":null,"Evidence":null}
