{"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"}],"derived_content_hash":"cd9a4d0bfc327d2bff0e27b1bb9f2747bddf6338c012d928e847d69d8126f38e","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"],"repair_provenance":{"original_source_revision":"english-manuals:f90792410e22763cbe24109a1dd8290e5249d8674d5478f359076b7ae81f7d4a","receipt_sha256":"818d21e02df08c3a408e0d2bed3b8354fc133ad44387be29aea4b42355f526d7","repair":"wiki-repair-20261023"},"short_desc":"Enables the WAL summarizer process.","short_desc_zh":"","source_rev":"wiki-repair-20261023:840083c408e66484aa2a517e0f11626119b613de722daed3d45cfcdb86aa2e69","unit":"","vartype":"bool"}},"Definition":{"Collection":"guc","Key":"summarize_wal","SourceDatabase":"center","Version":"18","SourceTable":"guc","SourceKey":"summarize_wal","SourceRevision":"wiki-repair-20261023:840083c408e66484aa2a517e0f11626119b613de722daed3d45cfcdb86aa2e69","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.","description_zh":"启用 WAL 汇总进程。请注意，WAL 汇总既可以在主库上启用，也可以在备库上启用。该参数只能在 postgresql.conf 文件中或服务器命令行上设置。默认值为 off。 如果 wal_level 设为 minimal，则不能以 summarize_wal=on 启动服务器。如果在服务器启动后配置 summarize_wal=on，而此时 wal_level=minimal，汇总器会运行，但会拒绝为使用 wal_level=minimal 生成的任何 WAL 创建汇总文件。","description_zh_html":"\u003cp\u003e\n\t        启用 WAL 汇总进程。请注意，WAL 汇总既可以在主库上启用，也可以在备库上启用。该参数只能在 \u003ccode class=\"filename\"\u003epostgresql.conf\u003c/code\u003e 文件中或服务器命令行上设置。默认值为 \u003ccode class=\"literal\"\u003eoff\u003c/code\u003e。\n\t       \u003c/p\u003e\u003cp\u003e\n        如果 \u003ccode class=\"literal\"\u003ewal_level\u003c/code\u003e 设为 \u003ccode class=\"literal\"\u003eminimal\u003c/code\u003e，则不能以 \u003ccode class=\"literal\"\u003esummarize_wal=on\u003c/code\u003e 启动服务器。如果在服务器启动后配置 \u003ccode class=\"literal\"\u003esummarize_wal=on\u003c/code\u003e，而此时 \u003ccode class=\"literal\"\u003ewal_level=minimal\u003c/code\u003e，汇总器会运行，但会拒绝为使用 \u003ccode class=\"literal\"\u003ewal_level=minimal\u003c/code\u003e 生成的任何 WAL 创建汇总文件。\n       \u003c/p\u003e","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","translation_provenance":{"inputs":[{"kind":"current-pgdoc-translation","path":"/Users/vonng/pgsty/pgdoc/zh/18/html/runtime-config-wal.html","sha256":"94cdacb1171b4c528492ca0aec6aafa48a2c758276225fe0dbfe5b12452d4930"}],"kind":"same-version-pgdoc","locale":"zh-Hans","source_revision":"b1b500221dbe5437cfca004d6b04d3f6e422765d","version":"18"},"unit":null,"vartype":"bool","zh_from":"same-version-pgdoc"},"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":"wiki-repair-20261023:840083c408e66484aa2a517e0f11626119b613de722daed3d45cfcdb86aa2e69","ContentHash":"f81709ee198c178a8e08e9ceca702176760a08b79b437e4e3c4420f98ebfacc7","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":"en","Fallback":false,"Versions":["17","18","19","20"],"Locales":["en","zh-Hans"],"Signatures":null,"Spellings":null,"SQLState":null,"Evidence":null}
