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.94.2) (envelope-from ) id 1uB84U-006rDY-GF for pgsql-hackers@arkaria.postgresql.org; Sat, 03 May 2025 08:18:06 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1uB84S-00E6eP-1l for pgsql-hackers@arkaria.postgresql.org; Sat, 03 May 2025 08:18:05 +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.94.2) (envelope-from <3danissimo@gmail.com>) id 1uB84R-00E6eH-Ok for pgsql-hackers@lists.postgresql.org; Sat, 03 May 2025 08:18:04 +0000 Received: from mail-yw1-x1135.google.com ([2607:f8b0:4864:20::1135]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from <3danissimo@gmail.com>) id 1uB84Q-000q24-36 for pgsql-hackers@lists.postgresql.org; Sat, 03 May 2025 08:18:04 +0000 Received: by mail-yw1-x1135.google.com with SMTP id 00721157ae682-7080dd5f9f1so20089297b3.0 for ; Sat, 03 May 2025 01:18:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1746260281; x=1746865081; 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=kugsNAaWJFxjKLqO1anwBzbmTKjqjFHrfU9Ve4Efgsw=; b=EnGHeNkLJNa8Ixg81UodSRN/1uAXkKnfJPPan3YFSbL7IKzAKCo082UBNlYO9u3GmA 8wzdDK8PwLzrZWwczv/gkbw0GqicJJmYje5relSQVEz1dQjWufxTPMYJFEEVRpFEGWEw wsx19iEVBNwcSZ7HaGXb4a/Q3rQJ1pDIUAUJwpdfnEqFThAQH2eHSRp7HvMopqF4dh/7 pII5LzURhp99m2YBByBK/ZnzyuEkxfVWVpCnZLAimXYXEr8cTnqo9GjgxPCrJXj6WrnP cHR+JVJRn9d8ZtqPvCQHX5cWwJliljeX3hfSEDk18xbpTX2rPGyO7gnghhREGNTjatPL cJIA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746260281; x=1746865081; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=kugsNAaWJFxjKLqO1anwBzbmTKjqjFHrfU9Ve4Efgsw=; b=j3Nj+N8rTEmIQQPb0JAyDQATWATkK3UOsI3A5lr0jDsIq8ysFGhYCmctkKcFXcmEEO BELOuMlpiz8zfZZLhjqCMBlu0ELnMfZ4DUAgUTFSjvcJSzXP48r/gbYFG/hJcR1jFMTa eJOzx31MWs1gBm2JGgFnvpnpWkLPUII2vSKdrISuVUijCA0W+VvtKwajzqZxDxhbU7+N nTULRfIUuwaEFgljAK6lwBJfc0U85/nUPeiAWl7JNyOSHNlskW2QoanBX4/OC4nedAAO 3wEPskUPwKLle6DK0hKQCeh7L/opJgmcSJRE+HILPBnH+u1SUEWINp+gIp5hkiC4QXqU YWvg== X-Forwarded-Encrypted: i=1; AJvYcCVFYXzxhBgkPlDNKSfaIVXDGHU2utZdGkG5mVBTyUEPFi40NZEG7O+loHHrXfVqsvwK1IowfIYRqOmUzFR/@lists.postgresql.org X-Gm-Message-State: AOJu0YyAPXrKv2HKXgvc+CWmBx66ElC9+izNFpejUwiA9jFMlP7dgPbY FSaYHIzI8Q7LqZIKWRX6wCAAQm8BCGf9ZycID+eLbZC1Hbm/DZYhZxAa36yOpyVtPeZEjFeifyg D0sOOYaaI1r3cRwyqENye+q7X3rC1H+clBc3zDg== X-Gm-Gg: ASbGncvvqMWjq561beT9FdGwxI+Lt4guvpbGVnvxY+OjyWOpDKyua62v0oHR1nYgkX4 L7Luxr6NNWhHNqOtP2cTTDrgDHfK4NK4Dv656UvVzm7RSdVcd5mmHI35vjs2rW9cmvxpvL4JAhz HM82DeXtRU8JFtKicuKCXw X-Google-Smtp-Source: AGHT+IE4aMPSOdaWILR0am50o7edksSpj6YuUx6rk2l7GsI1ZzO+sEQ7XOQbUf6ux+dgXEaxIX6SFZjKsgft7QFMArk= X-Received: by 2002:a05:690c:358a:b0:6fb:b907:d965 with SMTP id 00721157ae682-708cf0117dbmr73638647b3.3.1746260280836; Sat, 03 May 2025 01:18:00 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Daniil Davydov <3danissimo@gmail.com> Date: Sat, 3 May 2025 15:17:49 +0700 X-Gm-Features: ATxdqUER4EBAdAioEnmbj3WMrzyDrNBF7dtH2HJOW2v3rrK4iVJyS4m2RET1fZs Message-ID: Subject: Re: POC: Parallel processing of indexes in autovacuum To: Sami Imseih Cc: Masahiko Sawada , 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 On Sat, May 3, 2025 at 5:59=E2=80=AFAM Sami Imseih wr= ote: > > > I think it would more make > > sense to maintain the existing autovacuum_max_workers parameter while > > introducing a new parameter that would either control the maximum > > number of parallel vacuum workers per autovacuum worker or set a > > system-wide cap on the total number of parallel vacuum workers. > > +1, and would it make sense for parallel workers to come from > max_parallel_maintenance_workers? This is capped by > max_parallel_workers and max_worker_processes, so increasing > the defaults for all 3 will be needed as well. I may be wrong, but the `max_parallel_maintenance_workers` parameter is only used for commands that are explicitly run by the user. We already have `autovacuum_max_workers` and I think that code will be more consistent, if we adapt this particular parameter (perhaps with the addition of a new one, as I wrote in the previous letter). -- Best regards, Daniil Davydov