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 1vNciz-008w8z-36 for pgsql-hackers@arkaria.postgresql.org; Mon, 24 Nov 2025 19:59:49 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vNciy-003olz-1u for pgsql-hackers@arkaria.postgresql.org; Mon, 24 Nov 2025 19:59:48 +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 1vNciy-003olr-0q for pgsql-hackers@lists.postgresql.org; Mon, 24 Nov 2025 19:59:48 +0000 Received: from mail-ej1-x62c.google.com ([2a00:1450:4864:20::62c]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1vNciw-001G4k-0S for pgsql-hackers@postgresql.org; Mon, 24 Nov 2025 19:59:47 +0000 Received: by mail-ej1-x62c.google.com with SMTP id a640c23a62f3a-b735e278fa1so337172166b.0 for ; Mon, 24 Nov 2025 11:59:46 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1764014385; x=1764619185; darn=postgresql.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=hdl4AOjlzcQkOOkynPwfgdiPcnBUtF6ZLsR9HZw3E/o=; b=OrEbYfvhguNGrMC7QpkDQ7c0AuY+Wqxl0h1f0VIqRqxlW4LieXKOlTXU/vw1wpDXVM xeqjZd99ZWBJd+VCPUej2Z1nNtJYoVfPEhi7z8BV8BZEBxqtEBZZe5Nc1cu1ryPvT0Gi d2VTlDwJaNuFVEmePtjUVXQubB37LF1TOOiimalRxl5VFy/nDuwbiAcAzlNST3nyvUeR 0Q6MTegYY98hZaM7246WszNYRBa7GsE94MGLVL4Z7GMLJWs4+JnCviIF+Tk3pYoyy7av 3/9JLI+jl0+Wt/X9KDEwSvhe3E/8WGDDukg0UAPv+mwneLJfXLk/Lfjq5mejdlDONBnO 1kng== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1764014385; x=1764619185; h=content-transfer-encoding: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=hdl4AOjlzcQkOOkynPwfgdiPcnBUtF6ZLsR9HZw3E/o=; b=b6YjfiJsIaDdyJUFdDjdgzJP+vJdPpQbuqNofoBrJgyOHHMZTKpxYYA+ynrjlibl6x iIjY0xWiykcOTmNQ/BIhX/zLDfBEtRKHs0DalH2xsuv4CnvvSpqCJ5gC7QFHVklr7g3u Fi9ip5eIquKiAXsOSY8b0KQ7yFQVPTL9l/AYf66XSF9YiVWBUJiIYPB7o/VzilMznLFz BQFFAEBroUpk74xdm9piBPlbkM0WY+eOjE0zviObN8+ABhjsFYvh0oQPJwJL1qZOKtJ1 b8GC7RUGjeaTE1B4QOgWX0UwwyXgAoULgTaDQFrLaM/1iRqwg+kcbJ7K+FrZZGweptNB iNeA== X-Forwarded-Encrypted: i=1; AJvYcCVe1xfP+OyyAol4sI+ihapqDPrpddF/5/23ppn2v0pKVsaPOtG3ALVGxHNPZnN1vljSK3AwHk/QkkxJcoaf@postgresql.org X-Gm-Message-State: AOJu0Yyu112t5N/M/mz/czO6/JqAconfzdvgBliQI+oHmsDokYcmylXj XwhkqBdsWXrAlEqXZxAGPzwQWiRBdduayiWf8FEjOl7vGDahHpYuP1buakpzTdYrXRb7ni3uSNl Gu095mgnILso82VnCOpYBm90qdxqJ0hA= X-Gm-Gg: ASbGncsAs6wqxk9NQhP9sOGjUqLgxwPFquY7zx/DphhO2ifL7aruvXKvkn45BJX6s+M muJnDC9loXXd0s1fbARJ2mY+tTLwSvUxySmDPufoCWPqZ8bKG5j4xa++IZqsvCSYKScNpUA7Nuj bWX/W3KD6VU6n7UVJTzjtGCMNhU+TEtwcT3LBA9dEddrRO9PJA+smRcCAaNjMrdu+2HttN+beUS BQkUhj/N2QeNSbQvnCdR7owD9IbwAaZsNd6Oq1zX7UBS76uFttEmwFyNMs9iCTERnhCgituBDbU rEYbtGAozfbjI2dtRNJ4Z8wTsqHd X-Google-Smtp-Source: AGHT+IFvZropnx05HRS2TuO81Is0Q7qun0ZRNSTEIatmm6bmka7htyFvbiCdofkEEWuan5r2rxnrtUD2naelOkF3s04= X-Received: by 2002:a17:907:3e86:b0:b73:74b4:f236 with SMTP id a640c23a62f3a-b76c563c190mr2145966b.46.1764014385513; Mon, 24 Nov 2025 11:59:45 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: From: Robert Haas Date: Mon, 24 Nov 2025 14:59:33 -0500 X-Gm-Features: AWmQ_bnzUAXCAuZ1sKu3unU_pWw-H6DX8S9w73YyAMszaQBbkf1rWZ7X0xdU068 Message-ID: Subject: Re: another autovacuum scheduling thread To: David Rowley Cc: Sami Imseih , Nathan Bossart , Robert Treat , Jeremy Schneider , pgsql-hackers@postgresql.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On Sun, Nov 23, 2025 at 4:55=E2=80=AFAM David Rowley = wrote: > One thing that seems to be getting forgotten again is the "/* Stop > applying cost limits from this point on */" added in 1e55e7d17 is only > going to be applied when the table *currently* being vaccumed is over > the failsafe limit. Without Nathan's patch, the worker might end up > idling along carefully obeying the cost limits on dozens of other > tables before it gets around to vacuuming the table that's over the > failsafe limit, then suddenly drop the cost delay code and rush to get > the table frozen, before Postgres stops accepting transactions. With > the patch, Nathan has added some aggressive score scaling, which > should mean any table over the failsafe limit has the highest score > and gets attended to first. Right, so can we use that to construct a specific, concrete scenario where we can see that the patch ends up delivering better behavior than we have today? I think it would be a really good to have at least one fully worked-out case where we can say "look, if you run this series of commands without the patch, X happens, and with the patch, Y happens, and look! Y is better." --=20 Robert Haas EDB: http://www.enterprisedb.com