{"Entry":{"collection":"guc","key":"log_autovacuum_min_duration","name":"log_autovacuum_min_duration","aliases":[],"metadata":{"baseline":false,"boot_human":"Not specified","boot_val":null,"category":"Reporting and Logging / What to Log","category_zh":"","changed_in":["9.1","15","18","19"],"changes":[{"documentation_changed":false,"fields":{},"from":"8.2","status":"added","to":"8.3"},{"documentation_changed":true,"fields":{"max_val":{"from":"2147483","to":"2147483647"}},"from":"9.0","status":"changed","to":"9.1"},{"documentation_changed":true,"fields":{},"from":"9.4","status":"changed","to":"9.5"},{"documentation_changed":true,"fields":{},"from":"10","status":"changed","to":"11"},{"documentation_changed":true,"fields":{},"from":"11","status":"changed","to":"12"},{"documentation_changed":true,"fields":{"boot_val":{"from":"-1","to":"600000"}},"from":"14","status":"changed","to":"15"},{"documentation_changed":false,"fields":{"extra_desc":{"from":"Zero prints all actions. -1 turns autovacuum logging off.","to":"-1 disables logging autovacuum actions. 0 means log all autovacuum actions."}},"from":"17","status":"changed","to":"18"},{"documentation_changed":true,"fields":{"extra_desc":{"from":"-1 disables logging autovacuum actions. 0 means log all autovacuum actions.","to":"-1 disables logging vacuum actions by autovacuum. 0 means log all vacuum actions by autovacuum."},"short_desc":{"from":"Sets the minimum execution time above which autovacuum actions will be logged.","to":"Sets the minimum execution time above which vacuum actions by autovacuum will be logged."}},"from":"18","status":"changed","to":"19"}],"content_hash":"b6c974f8bc0a0ad59bc7ffa8aace9427710f80fd4841efce6aa060c0a0fe19ee","context":"","default_changed_in":["15"],"default_history":[{"from":"9.0","to":"14","value":"-1 ms"},{"from":"15","to":"19","value":"10 min"}],"derived_content_hash":"817bb7e00cc8b508ec26bd422864bffedebe1c504e29c836a07fbbebb107f324","documentation_refresh":{"batch":"20261113","original_source_rev":"wiki-repair-20261023:2889d6b2bf6f53c2399486d0c85263290519f73d1e2c7d3546424575d55354d3","versions":{"14":"14.25","15":"15.20","16":"16.16","17":"17.12","18":"18.7","19":"19rc2"}},"editorial":{"advice":{"olap":"Analytical jobs can justify richer log_autovacuum_min_duration telemetry, but account for long statements, large bind values, and bursty completion patterns in the log pipeline.","oltp":"Tune log_autovacuum_min_duration against an explicit observability question and a measured log-volume budget. Prefer selective thresholds, sampling, or role-level overrides over indiscriminate capture.","small":"Keep log_autovacuum_min_duration useful but bounded: verify disk, collector, retention, and redaction capacity before increasing detail or frequency."},"mechanism":["log_autovacuum_min_duration sets the minimum execution time above which autovacuum actions will be logged. -1 disables logging autovacuum actions. 0 means log all autovacuum actions. Each qualifying automatic VACUUM or ANALYZE emits timing and work details; -1 disables these completion records and zero records every action.","log_autovacuum_min_duration is a SIGHUP-context setting: a configuration reload activates the new server value without a restart; subsequent operations that consult it use the refreshed value.","It changes emitted diagnostic data rather than query semantics, but volume, sensitive content, log_line_prefix, destinations, collector throughput, and retention determine operational cost and usefulness."],"pitfalls":["Editing log_autovacuum_min_duration without reloading configuration and verifying the effective value and subsequent behavior.","Enabling richer logging without budgeting collector throughput, storage, retention, and downstream query cost.","Writing SQL text, bind values, identities, or host data without a redaction and access-control policy.","Changing log_autovacuum_min_duration globally without a rollback plan and a client or operational compatibility test."],"references":[{"title":"PostgreSQL 19 Beta 4: log_autovacuum_min_duration","url":"https://www.postgresql.org/docs/19/runtime-config-logging.html#GUC-LOG-AUTOVACUUM-MIN-DURATION"},{"title":"PostgreSQL 19 release notes","url":"https://www.postgresql.org/docs/19/release-19.html"}],"related":["log_checkpoints","log_lock_waits","log_lock_failures","log_temp_files","log_replication_commands"],"summary":"log_autovacuum_min_duration is the PostgreSQL setting that defines the minimum execution time above which autovacuum actions will be logged."},"enumvals":[],"first_version":"8.3","group":"Reporting and Logging","group_slug":"logging","imported_at":"2026-09-30T00:40:57.272835+08:00","intro_commit":{},"key":"log_autovacuum_min_duration","last_version":"20","max_val":"","min_val":"","name":"log_autovacuum_min_duration","position":217,"present_in":["8.3","8.4","9.0","9.1","9.2","9.3","9.4","9.5","9.6","10","11","12","13","14","15","16","17","18","19","20"],"repair_provenance":{"original_source_revision":"english-manuals:68efcaf72b95140ae364bd189f65f9da3b0535889df89d1ec37ece2f3e414872","receipt_sha256":"2999bb41878de132c69ff874e404e85e415f9ef9c1cf23109ec0c6139ad04226","repair":"wiki-repair-20261023"},"short_desc":"Causes each action executed by autovacuum to be logged if it ran for at least the specified amount of time.","short_desc_zh":"","source_rev":"wiki-repair-20261023:2889d6b2bf6f53c2399486d0c85263290519f73d1e2c7d3546424575d55354d3","unit":"","vartype":"integer"}},"Definition":{"Collection":"guc","Key":"log_autovacuum_min_duration","SourceDatabase":"center","Version":"18","SourceTable":"guc","SourceKey":"log_autovacuum_min_duration","SourceRevision":"wiki-repair-20261023:2889d6b2bf6f53c2399486d0c85263290519f73d1e2c7d3546424575d55354d3","Facts":{"boot_val":"600000","category":"Reporting and Logging / What to Log","context":"sighup","description":"Causes each action executed by autovacuum to be logged if it ran for at least the specified amount of time. Setting this to zero logs all autovacuum actions. -1 disables logging autovacuum actions. If this value is specified without units, it is taken as milliseconds. For example, if you set this to 250ms then all automatic vacuums and analyzes that run 250ms or longer will be logged. In addition, when this parameter is set to any value other than -1, a message will be logged if an autovacuum action is skipped due to a conflicting lock or a concurrently dropped relation. The default is 10min. Enabling this parameter can be helpful in tracking autovacuum activity. This parameter can only be set in the postgresql.conf file or on the server command line; but the setting can be overridden for individual tables by changing table storage parameters.","description_zh":"当自动清理执行的操作运行时间至少达到指定时间时，就会记录该操作。将此设置为零会记录所有自动清理操作。-1 会禁用记录自动清理操作。如果未指定单位，则将其视为毫秒。例如，如果将其设置为 250ms，则所有运行时间为 250ms 或更长的自动清理和分析都将被记录。此外，当此参数设置为任何非 -1 值时，如果由于冲突锁或关系被并发删除而跳过自动清理操作，则会记录消息。默认值为 10min。启用此参数可帮助跟踪自动清理活动。此参数只能在 postgresql.conf 文件或服务器命令行中设置；但可以通过更改表存储参数来覆盖对单个表的设置。","description_zh_html":"\u003cp\u003e\n        当自动清理执行的操作运行时间至少达到指定时间时，就会记录该操作。将此设置为零会记录所有自动清理操作。\u003ccode class=\"literal\"\u003e-1\u003c/code\u003e 会禁用记录自动清理操作。如果未指定单位，则将其视为毫秒。例如，如果将其设置为 \u003ccode class=\"literal\"\u003e250ms\u003c/code\u003e，则所有运行时间为 250ms 或更长的自动清理和分析都将被记录。此外，当此参数设置为任何非 \u003ccode class=\"literal\"\u003e-1\u003c/code\u003e 值时，如果由于冲突锁或关系被并发删除而跳过自动清理操作，则会记录消息。默认值为 \u003ccode class=\"literal\"\u003e10min\u003c/code\u003e。启用此参数可帮助跟踪自动清理活动。此参数只能在 \u003ccode class=\"filename\"\u003epostgresql.conf\u003c/code\u003e 文件或服务器命令行中设置；但可以通过更改表存储参数来覆盖对单个表的设置。\n       \u003c/p\u003e","doc":{"anchor":"GUC-LOG-AUTOVACUUM-MIN-DURATION","file":"runtime-config-logging.html","lang":"en","sha256":"278d913b9c0f735c5cd7b35fd7205826bbd9c449805370d2dbe54105c0ed1d88","slug":"18"},"doc_html":"\u003cp\u003e\n        Causes each action executed by autovacuum to be logged if it ran for at\n        least the specified amount of time.  Setting this to zero logs\n        all autovacuum actions. \u003ccode class=\"literal\"\u003e-1\u003c/code\u003e disables logging autovacuum\n        actions. If this value is specified without units, it is taken as milliseconds.\n        For example, if you set this to\n        \u003ccode class=\"literal\"\u003e250ms\u003c/code\u003e then all automatic vacuums and analyzes that run\n        250ms or longer will be logged.  In addition, when this parameter is\n        set to any value other than \u003ccode class=\"literal\"\u003e-1\u003c/code\u003e, a message will be\n        logged if an autovacuum action is skipped due to a conflicting lock or a\n        concurrently dropped relation. The default is \u003ccode class=\"literal\"\u003e10min\u003c/code\u003e.\n        Enabling this parameter can be helpful in tracking autovacuum activity.\n        This parameter can only be set in the \u003ccode class=\"filename\"\u003epostgresql.conf\u003c/code\u003e\n        file or on the server command line; but the setting can be overridden for\n        individual tables by changing table storage parameters.\n       \u003c/p\u003e","doc_same_as":"","documentation_revision":{"inputs":[{"file":"runtime-config-logging.html","kind":"same-version-reviewed-manual","locale":"en","sha256":"278d913b9c0f735c5cd7b35fd7205826bbd9c449805370d2dbe54105c0ed1d88","version":"18.7"},{"file":"runtime-config-logging.html","kind":"same-version-reviewed-manual","locale":"zh-Hans","sha256":"68c010254e1859ec0b76f06a563babd51a6c38997f1242e35e4c6b649724b1cb","version":"18.7"}],"release":"18.7","runtime_remeasured":false,"source_revision":"pgdoc:b9f0e7232f60f380d642ac9b99226606c254b552"},"documented":true,"enumvals":null,"extra_desc":"-1 disables logging autovacuum actions. 0 means log all autovacuum actions.","lang":"en","max_val":"2147483647","metadata_version":"18","min_val":"-1","name":"log_autovacuum_min_duration","short_desc":"Sets the minimum execution time above which autovacuum actions will be logged.","source":"pg-settings-source-snapshot","translation_provenance":{"inputs":[{"kind":"current-pgdoc-translation","path":"/Users/vonng/pgsty/pgdoc/zh/18/html/runtime-config-logging.html","sha256":"a322f5293f10e348b5fc5dca98fdb6af52462723a215b8701c3b9d933e2933b4"}],"kind":"same-version-pgdoc","locale":"zh-Hans","source_revision":"b1b500221dbe5437cfca004d6b04d3f6e422765d","version":"18"},"unit":"ms","vartype":"integer","zh_from":"same-version-manual"},"ManualEvidence":{"doc":{"anchor":"GUC-LOG-AUTOVACUUM-MIN-DURATION","file":"runtime-config-logging.html","lang":"en","sha256":"278d913b9c0f735c5cd7b35fd7205826bbd9c449805370d2dbe54105c0ed1d88","slug":"18"}},"MeasuredEvidence":{"metadata_version":"18"}},"Text":{"Collection":"guc","Key":"log_autovacuum_min_duration","SourceDatabase":"center","Version":"18","Locale":"en","Title":"log_autovacuum_min_duration","Summary":"Causes each action executed by autovacuum to be logged if it ran for at least the specified amount of time. Setting this to zero logs all autovacuum actions. -1 disables logging autovacuum actions. If this value is specified without units, it is taken as milliseconds. For example, if you set this to 250ms then all automatic vacuums and analyzes that run 250ms or longer will be logged. In addition, when this parameter is set to any value other than -1, a message will be logged if an autovacuum action is skipped due to a conflicting lock or a concurrently dropped relation. The default is 10min. Enabling this parameter can be helpful in tracking autovacuum activity. This parameter can only be set in the postgresql.conf file or on the server command line; but the setting can be overridden for individual tables by changing table storage parameters.","BodyHTML":"\u003cp\u003e\n        Causes each action executed by autovacuum to be logged if it ran for at\n        least the specified amount of time.  Setting this to zero logs\n        all autovacuum actions. \u003ccode\u003e-1\u003c/code\u003e disables logging autovacuum\n        actions. If this value is specified without units, it is taken as milliseconds.\n        For example, if you set this to\n        \u003ccode\u003e250ms\u003c/code\u003e then all automatic vacuums and analyzes that run\n        250ms or longer will be logged.  In addition, when this parameter is\n        set to any value other than \u003ccode\u003e-1\u003c/code\u003e, a message will be\n        logged if an autovacuum action is skipped due to a conflicting lock or a\n        concurrently dropped relation. The default is \u003ccode\u003e10min\u003c/code\u003e.\n        Enabling this parameter can be helpful in tracking autovacuum activity.\n        This parameter can only be set in the \u003ccode\u003epostgresql.conf\u003c/code\u003e\n        file or on the server command line; but the setting can be overridden for\n        individual tables by changing table storage parameters.\n       \u003c/p\u003e","SourceRevision":"wiki-repair-20261023:2889d6b2bf6f53c2399486d0c85263290519f73d1e2c7d3546424575d55354d3","ContentHash":"9d176b6dd7da686b8944da7b523815cfb05a4a6a034007bef026c2667c469774","Payload":{"description":"Causes each action executed by autovacuum to be logged if it ran for at least the specified amount of time. Setting this to zero logs all autovacuum actions. -1 disables logging autovacuum actions. If this value is specified without units, it is taken as milliseconds. For example, if you set this to 250ms then all automatic vacuums and analyzes that run 250ms or longer will be logged. In addition, when this parameter is set to any value other than -1, a message will be logged if an autovacuum action is skipped due to a conflicting lock or a concurrently dropped relation. The default is 10min. Enabling this parameter can be helpful in tracking autovacuum activity. This parameter can only be set in the postgresql.conf file or on the server command line; but the setting can be overridden for individual tables by changing table storage parameters."}},"RequestedLocale":"en","Fallback":false,"Versions":["10","11","12","13","14","15","16","17","18","19","20","8.3","8.4","9.0","9.1","9.2","9.3","9.4","9.5","9.6"],"Locales":["en","zh-Hans"],"Signatures":null,"Spellings":null,"SQLState":null,"Evidence":null}
