Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1pbbCw-0004EA-06 for pgsql-admin@arkaria.postgresql.org; Mon, 13 Mar 2023 05:58:54 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1pbbCt-0001vz-Aa for pgsql-admin@arkaria.postgresql.org; Mon, 13 Mar 2023 05:58:51 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1pbbCs-0001vq-R8 for pgsql-admin@lists.postgresql.org; Mon, 13 Mar 2023 05:58:50 +0000 Received: from mail-ed1-x534.google.com ([2a00:1450:4864:20::534]) by magus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1pbbCo-0002sC-BT for pgsql-admin@lists.postgresql.org; Mon, 13 Mar 2023 05:58:49 +0000 Received: by mail-ed1-x534.google.com with SMTP id g10so15159842eda.1 for ; Sun, 12 Mar 2023 22:58:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cybertec-at.20210112.gappssmtp.com; s=20210112; t=1678687125; h=mime-version:user-agent:content-transfer-encoding:references :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject :date:message-id:reply-to; bh=BtHR5GUEbB+/ufjaj1w8pnmyfjog1a92GS4VFsxZ5Kg=; b=Xizrn/dRfzvuzBHVgfqOgHxyZgGDtkwtx2qKGIIxCFDgZV5QaKFEvPwhNvFu6HXQdl cSJhBRxeJM35melzFRse0Q7rV49j/gsq35SNXL8q6cixXacdfL+PKqd5iCnPGiDgoV9A 7qLrF0ifZSTVwARQxTRr+77RbKiEsuqWCekkHy8TLNh4BjA3Pued7+NYEy0qCo8CtudQ oSPAXpTtEkdkyCclEbQW5bvDzAzJbcphP9JrHJgXzH5Y2lHLrtuHtI2LSVFWn3mCsn66 nJRWGIoxqQMaqciq9jwhPzRBS8/oBS5iP6Pd4rWsS6D1BIGXa2IPNw7Fv0kFHlXgKp9X Ou6g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1678687125; h=mime-version:user-agent:content-transfer-encoding:references :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=BtHR5GUEbB+/ufjaj1w8pnmyfjog1a92GS4VFsxZ5Kg=; b=veEZgq8RU+v3h79T8mKVC+igksDl7BPJ4adjpcEE8bUkA/55Z/PrNr06tb0UYynSoh mg/XPbcDb/MqHb0ddhXGPiHYWm9bkGU89sGxF6yZ0oI2ffU7SZKObnrWGq52qyWUE07s r4sYbvIKhAGZjZfT2F14vd4dYx1E70YH1XynqiiBArREUULpknVfJ1zCQhbH9/+duv1J Km4VLWHpX8Jtw5zLdcqjDP8y0dk5A954Lb+DzdJBsMfNHB74O7bsR4mk2O1NRy68Uxa+ WXHLdv96ovmqJZI0/X0wJ1wKICmEjGpdrjIrP5XPpzxV/JcZHW/hddVwAQKvscYiTLBR r/nw== X-Gm-Message-State: AO0yUKUn4V5W+SkL7TxqKdE7y7o6Edj/BWFFEGJTZYQ3GScvFyXyTDdS JNWdK1ZNM3EiB1lKwby464FhSw== X-Google-Smtp-Source: AK7set+0xI89GmtvFpUZa1oRApxJVIsyzRMu0A31mxRZe5P7opsfi2X+xjjxQL7xsohHsDS0DxAfTA== X-Received: by 2002:a17:906:a0d8:b0:8f3:dc49:d8eb with SMTP id bh24-20020a170906a0d800b008f3dc49d8ebmr30964714ejb.71.1678687125322; Sun, 12 Mar 2023 22:58:45 -0700 (PDT) Received: from localhost.localdomain (p50992f7c.dip0.t-ipconnect.de. [80.153.47.124]) by smtp.gmail.com with ESMTPSA id g8-20020a1709065d0800b008def483cf79sm2971496ejt.168.2023.03.12.22.58.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 12 Mar 2023 22:58:45 -0700 (PDT) Message-ID: <16d61d864feda279cfa6bcb4ea4d50c2b4fa3a7f.camel@cybertec.at> Subject: Re: Tooling for per table autovacuum tuning From: Laurenz Albe To: Joseph Hammerman , Wolfgang Wilhelm Cc: "pgsql-admin@lists.postgresql.org" Date: Mon, 13 Mar 2023 06:58:44 +0100 In-Reply-To: References: <5c0a6ab9ba801e0fa7c2217e49ce804837c64cf1.camel@cybertec.at> <14072753.2216234.1678640212317@mail.yahoo.com> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable User-Agent: Evolution 3.46.4 (3.46.4-1.fc37) MIME-Version: 1.0 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On Sun, 2023-03-12 at 13:34 -0700, Joseph Hammerman wrote: > What I am imagining is per table tuning that buckets the tables based on = their relative sizes. >=20 > Something like: >=20 > Up to 1Gb - Small > Up to 4Gb - Medium > Up to 8Gb - L > Bigger - XL >=20 > And an accordant autovacuum_scale_factor associated with each size. >=20 > The motivation for this is to make sure large tables get regularly vacuum= ed. I understand. There is no such option currently. Perhaps you can use "autovacuum_vacuum_= threshold" for something like that: if you set it to a certain (high) value and set "a= utovacuum_vacuum_scale_factor" to 0, autovacuum is triggered based on the absolute number of dead tuples. But I would say that the standard configuration makes sense in this case: n= ormally, large tables don't need to be vacuumed that often, and vacuum on large tabl= es is nore expensive too. Yours, Laurenz Albe