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 1w8wWH-0012KT-1P for pgsql-hackers@arkaria.postgresql.org; Sat, 04 Apr 2026 08:38:17 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1w8wWE-00FhWC-1M for pgsql-hackers@arkaria.postgresql.org; Sat, 04 Apr 2026 08:38:14 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from <3danissimo@gmail.com>) id 1w8wWE-00FhW4-08 for pgsql-hackers@lists.postgresql.org; Sat, 04 Apr 2026 08:38:14 +0000 Received: from mail-yw1-x112c.google.com ([2607:f8b0:4864:20::112c]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from <3danissimo@gmail.com>) id 1w8wWB-00000000Wp3-27d6 for pgsql-hackers@lists.postgresql.org; Sat, 04 Apr 2026 08:38:13 +0000 Received: by mail-yw1-x112c.google.com with SMTP id 00721157ae682-79853c0f5b9so41376077b3.0 for ; Sat, 04 Apr 2026 01:38:11 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1775291889; cv=none; d=google.com; s=arc-20240605; b=SM9QptOxEV6+6hENjIa+mVcAnOTLsx6HeC63+by8e6cnROYa7yLo7QsMRGbkGpOnTT tEQ8/uTcY+pRHCl6BIiQhVmKH9kf981DhkErK3qGO6bMlTBi3Qx39YD+VOV1w6kMNVIV OpZWkltIgH4lCxVGNZByvZORmNfpVCe7bT2f88KQN/BxJ3IjgfNUouCcXQOXl75+3Tpw /LFDTrzY6ptHu3HJ7wYxMg9UgglvCboh38ReU7TfHQeb11wAsE+1zWIxdI/+vmmP0Gtq sIzBQVzIXomHhJlYmDtOU8bX1WT+4XugJ8zDKByj9q31vV0Eyt5J86FlGxFDq139Ppdq RfcQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=tCHC8yINmg50r2bwSd2kjlzk0518hzOOEV70dNqOQgo=; fh=y88pR2YN5CbrP04J5eFiLrM6C90VGwfwAS0qSbnhWMI=; b=ZEpPFjJcfDFfdScRGzsDwNfHMwGHCm9QEsoeGX+ZX4lvKxkKru1XHhvo+OIuFfeVZZ 1a8gmanadzQQd/Qi7Qsrpm9Ab7J+y9Szm/zXmqyestc/qFFHLkzUKB3cyZKizrHZo6Te LwIBM4tB4soX5xrqWotz68hNem/8JAB3TsegzT713K/e0zcw1eipU4BTFEmEueC6MOux yO4GLFHBywaf9WxTmYIMXpBfT9qy0wgJLxpYpC7d5sc9qph0BQ8wMzC3UoEGPo+Hl/vf nPQ7zFXGD5aVlMqdljcwuZT3Pbix/EB4azrGh7vPXJm1OtMVH85Hs/h2r7jylaRzaoTn Gigg==; darn=lists.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=20251104; t=1775291889; x=1775896689; darn=lists.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=tCHC8yINmg50r2bwSd2kjlzk0518hzOOEV70dNqOQgo=; b=d3SjVXoIaUGbwEIsVlhAYIxh791xIg5+8a5nx9TbHHM12soeMnPoTwyGXv+Q4JUiG2 JIHnJkwv9HKleyvJ+P9ekpQ+0xxO95KtIwoAp/TdZ1fCWWHlW8t/4zab/29GsUBPt7/9 /ZT25w1RXs2Dgc2nUImpWikZFSZlt9A+ZNzyvqY/HMw03BxV+ZnSyiYRz/GLcUc0ajkf JdD3aJeZDtUrnPQl6xH90p0DNSU63NIB04fsVvXYcNG3LANyOomRV8WBJRAAQrRBl9L7 On5yYBL0XsQkpMkM5VJi/HPykyPvCcONnWV2W3eRZL/BtKLh/GB4FdS6qJDTs7+wZcQ6 XYGw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775291889; x=1775896689; 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=tCHC8yINmg50r2bwSd2kjlzk0518hzOOEV70dNqOQgo=; b=BjN7zkgOIqgJNajkNU4jezh9Gq59iZeL4+i3g5xz4meNMYCy3r22KlM5jwSx+rNSqz 6UieVa/q+bUI27qihaPwmgu93e0iSrB8nTGu8fezDWDkp0L0nclINXGjV37W9p+Oez/d jXF1OwYCm8/krHkYLziYAE0088adQNjAy1H9YPiO8QfVUYTYHwsGoiKQ6xI9+j2P/4/k h09lHaqtOZJe36ZiY11XLeBD9WoC68n5T7qX/JpLxKiJkXEKE/JxhIKyrX3tUiuuwDDg 6pr8Lmkm7yjUlJK2IOSPg0eFexACtNMDA9FQCS19kPsoAIk/OTeUf7ugiJO5FLYJloJh QIuA== X-Forwarded-Encrypted: i=1; AJvYcCVyX+7jso7+xgSh7bLqdsWwovxCpXA7SKIiGpVFMxpu2Vtnl+YJBpFzeDYoe4y0JcPHfLdP+f1nikFJNtcl@lists.postgresql.org X-Gm-Message-State: AOJu0YziTQNaxq0z2wKxZxfeb2h9/uP5EiwjXF1w2BVVl2k0O1CP/WBn 3CJMxDoltjCtEvklcEB+Y6Qh2u+xXFnGE3vhiwcqMX2mx3xs3L69qwvooWFURV5rRB8C9X4xXQS e1KPVmc5B2CPDvQZ0VyaG6p7QowrUb5g= X-Gm-Gg: AeBDietykyUWeaPsVLoSTAScFdwZytapUdnntMhNg0bcBje84QmpAbVZI6DuybGr3TF L57ucFl7AaAV8u3cUjCqyAH4rRH2p9bBXES3+/qYmyMr82a5tlVfywtG3luYVUuRIC7vKGTOHWD g+z+BsMasqPFxSk7eirJKuKOCl/VVhdlA23DRFOsK7sKm7EdzMq+5XKbjP6MX7cLmW+NNnN20po ZaVMM8Luh2+loo2T2CyflOGYXLrE3kmoVM9v+I1DD/U8lpLDKlGjnp/epfkCDV9PRbcHxZ1ehyT ccA9g8k= X-Received: by 2002:a05:690c:60c4:b0:7a0:f69e:8c1c with SMTP id 00721157ae682-7a4d3ac8d7emr62156967b3.15.1775291888658; Sat, 04 Apr 2026 01:38:08 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Daniil Davydov <3danissimo@gmail.com> Date: Sat, 4 Apr 2026 15:37:55 +0700 X-Gm-Features: AQROBzBhMrI7EZsLf0fmXw9h-a6NTKnXTipL1e--2mR4CR1g0vtCvgDGs2giXA0 Message-ID: Subject: Re: POC: Parallel processing of indexes in autovacuum To: Masahiko Sawada Cc: Alexander Korotkov , SATYANARAYANA NARLAPURAM , Bharath Rupireddy , Sami Imseih , Matheus Alcantara , Maxim Orlov , Postgres hackers 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 Hi, On Sat, Apr 4, 2026 at 8:12=E2=80=AFAM Masahiko Sawada wrote: > > Regarding the regression tests, ISTM we no longer need > 'autovacuum-leader-before-indexes-processing' injection point since it > currently tests that parallel workers update their delay parameters > during the initialization (i.e., in parallel_vacuum_main()). In order > to verify the behavior of workers updating their delay parameters > while processing indexes, we would need another injection ponit to > stop parallel workers, which seems overkill to me. So I removed it but > the test still covers the propagation logic. > > Regarding the patch, I don't think it's a good idea to include > bgworker_internals.h from reloptions.c: > > I'd leave the maximum value as 1024. OK, let's leave it. > > I've attached patch and please check it. I think it's a good shape and > I'm going to push it next Monday barrying objections. > Thank you for updating the patch! All changes look good to me. BTW, what about the "opt-in vs. opt-out style" issue? As I wrote here [1], we can consider a new approach - allow the user to set= the autovacuum_max_workers reloption even if GUC parameter is zero. I think it can satisfy all possible use cases. [1] https://www.postgresql.org/message-id/CAJDiXggvE%3De%3D0%2BHnZ1XjwUcXYT= b0dw77pRUts5gqY997YaxVjQ%40mail.gmail.com -- Best regards, Daniil Davydov