Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1w3RNt-001Dgz-2k for pgsql-hackers@arkaria.postgresql.org; Fri, 20 Mar 2026 04:22:53 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1w3RNr-004Ioq-1j for pgsql-hackers@arkaria.postgresql.org; Fri, 20 Mar 2026 04:22:51 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1w3RNr-004Ioi-0k for pgsql-hackers@lists.postgresql.org; Fri, 20 Mar 2026 04:22:51 +0000 Received: from mail-ed1-x533.google.com ([2a00:1450:4864:20::533]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1w3RNp-000000006tg-49zH for pgsql-hackers@postgresql.org; Fri, 20 Mar 2026 04:22:50 +0000 Received: by mail-ed1-x533.google.com with SMTP id 4fb4d7f45d1cf-667de793310so323573a12.0 for ; Thu, 19 Mar 2026 21:22:49 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1773980567; cv=none; d=google.com; s=arc-20240605; b=JpdKCNYdc5kUH3STP5DcGKU6szKhnapJeWe6rbdjWDJXZEj6zCC33YO2CnWbEYE29C HYVew17itU4ncFYEBNs87A2dVnl7cqovppbMha65bPVodqEA4NeUabMaGJ39ini6TPDQ eFTGdFXm0otRQcLk/8X0v7YBdDk3HR1gGEuwaODlPnIFu2ukr7qgf5H4QnJrmcc71kh4 f4ZjJGR/pag36KIItDA7YEqXu8shqmBz1FcH75Rm1Y4PFrrGotJk5ElrEcvcfm39x5VE s825H5aI933HHV4X5fvKA4+NPFlfNORmlN1MaoqvnKDFQ7zfjknVKr2l704eGX6Ve1kl WXSg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:dkim-signature; bh=bKQjNiFpJWYEkZtRm/AqhNSiFKlvvR8oQdGvT0M14Rs=; fh=7YqBPgrydDLbLLrw8JaQUTSElota/G4vh/Kt5wu6h10=; b=ea22hJ5fQu9muCwbgqidpcaVU7Pr2MqsXYvZXTF59LY4NE+mCUn3dsgliDuvd0ynBW 5Dsyj3yVeF2Cjg0CR2yDn3V9dbj8ISJfZZ8n4tTtQoFkAqQNs2hEPI2/5jPy9v98lvkw SVjgAMW6Qq2qnMCLkeekMss/kJTSp/JiyxZVTzNbNEkldsoIxNrBWc0ay3VP/cHj+Cha lMUdGDWwMRw9K6iPxBSyPih3zpphQYASp1O3B+D2Z2e9t6M5RlMAzR32b/+HmqMfTAmi k6NtlXX1uMOk/NLGDyJg1UHRAv7YMyvIiXZ4DSoglQFV8hOP0mTkrhhMJPIr4Z7ATI/4 Ilfw==; darn=postgresql.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1773980567; x=1774585367; darn=postgresql.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=bKQjNiFpJWYEkZtRm/AqhNSiFKlvvR8oQdGvT0M14Rs=; b=ajIatmhGCC+2f5hPFxJSWtxE8KjxMfbCT7lGISln6jj7kfkC4ZjC3x/hIYRelg9v9a waQgw/HFMCZiGHnFL0PQFRtMFzC5odeAaCW5YEtzcFZPlnM8O3MSzPRAaWT4bq4EX0vP rw8Sx5G+R6Y9WpDxsVLHt6sFqXWXM7s0bX4h5Qhp+u9CJU0Uwy6Bcgd/KcvdWejIqCFj tDwcGUmURQdmnl7hSmyDbBFHI75QlAsXvVe7l+cZ0tM0yfMXzA+O+p5EG2Q7K3UkzUvU l0nzLR7DBlS0v7LNbbZtwF8Igo+XRoH6urJGvb3Kad50cu44NTFwn5ZcaUk/GDUsbhH3 lAdQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1773980567; x=1774585367; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=bKQjNiFpJWYEkZtRm/AqhNSiFKlvvR8oQdGvT0M14Rs=; b=eYzf/HPE0CQwQ/vpLJ0+iQzJ170NHoCdJcI4nrSuvlD/VNKcT5TbkKqr+/sOITe+kq xnA4seh2MI2QSgOD90gCExA/Tfsq7SY0ToqNdARuWcdSsvGLdBDnHwSzlQrGDah/O9e4 2tTkXVMSbPe/VPmX2y4Vn+DVPyjCcLOU2WXoCaFCt62vzLdZlNhoESKVxXoo8iTlCnEI wI0OnUEwBoTO6YoogW4wn+plSjvetkod9uZUNs2FseLKB2AwVyCLmEjwF4Fd7BaTGsCB Nx/pWjLM+DRl5jwYgzrJ2WV1JfNr4SFVjGuYtXee4wIaFjL9Sny9vj7tUEkona7CBNwi Cdkw== X-Forwarded-Encrypted: i=1; AJvYcCX0jNkZpUzvCZLm+1Ro2DL5oIXG0P7SYjAOo8ite5opwnkiOzRv2lf5OYTF4o2lc4vOo9pKg9VSIis8bvfy@postgresql.org X-Gm-Message-State: AOJu0YzlPEQ3v9mZ8Jiobl8d9SHYNBsQHTWnXZ6JHN6Mvw4BiArfk+Qp hOb79oUAzd0LqDl1BtbPe7Vp5ttgrv+N00fB/H4pTqSK9GZmtUOd2mG2ROBagdGZFFDW8i7VfjR 4k3/rcguCri9wdYhEbhHLaw+/7/bUCZ0= X-Gm-Gg: ATEYQzx3u4aKWQG2UzKWOb3wTN81EPyVBNlyygX4/FLbRgdzE2Ew8HM3NjBjvjjWvAM TFWDdQ/vifBSwugCM5wz4Emm4iS76fIzwWbNZkPjwdWeaiEWUmxHW5F3sweQdOfXk+QGUqiK84/ R6VoklZgp2x5xGUIa4s4ZVTFaph8fuPy/9NXoUTrJWsgfa8RkF1rqQqR53KIQhTjbGTgBVEYRxh dIjikByJsEaxRBdbRUKT0TZpXa0ATtlHNfcx6c/t8h6gPL/QTiOFYWCZArMTbNBGhGI3+fNOPxz AVHk3g== X-Received: by 2002:a05:6402:5cf:b0:660:5f9:deb with SMTP id 4fb4d7f45d1cf-668c9c44e8emr1172749a12.24.1773980566916; Thu, 19 Mar 2026 21:22:46 -0700 (PDT) MIME-Version: 1.0 References: <3ca1e398-c787-47e9-9afc-8e298b94dac0@app.fastmail.com> In-Reply-To: From: Sami Imseih Date: Thu, 19 Mar 2026 23:22:35 -0500 X-Gm-Features: AaiRm52JzYVfcsm2jXG5w_SIPiTHz8UDnlksQY7hPNZxjYGGX-_yoou5yaN852k Message-ID: Subject: Re: another autovacuum scheduling thread To: Nathan Bossart Cc: Greg Burd , David Rowley , Robert Haas , Robert Treat , Jeremy Schneider , pgsql-hackers Content-Type: text/plain; charset="UTF-8" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk > Done in the attached. Thanks! I have a few comments. #1. + * between 0.0 and 1.0 (inclusive). Setting all of these to 0.0 restores This should be "0.0 and 10.0" #2. typo: + * being scaling aggressively. Thisshould be "begin" #3. This reads more like documentation than code comment. + * To adjust how strongly each component contributes to the score, the + * following parameters can be adjusted from their default of 1.0 to anywhere + * between 0.0 and 1.0 (inclusive). Setting all of these to 0.0 restores + * pre-v19 prioritization behavior: + * + * autovacuum_freeze_score_weight + * autovacuum_multixact_freeze_score_weight + * autovacuum_vacuum_score_weight + * autovacuum_vacuum_insert_score_weight + * autovacuum_analyze_score_weight I don't actually think this section adds any value at all to the comments. #4. + elog(DEBUG3, "%s: vac: %.0f (threshold %.0f), ins: (disabled), anl: %.0f (threshold %.0f), score %.3f", A missing colon after "score", unlike the other occurrence which has it. #5. + if (autovacuum_freeze_score_weight > 1.0) + effective_xid_failsafe_age /= autovacuum_freeze_score_weight; + if (autovacuum_multixact_freeze_score_weight > 1.0) + effective_mxid_failsafe_age /= autovacuum_multixact_freeze_score_weight; + Shouldn't this be "if (autovacuum_freeze_score_weight > 0.0)" ? A weight > 0 should always adjust the threshold, right? we should only prevent division by 0 here. -- Sami Imseih Amazon Web Services (AWS)