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 1lzHOV-00028J-MA for pgsql-hackers@arkaria.postgresql.org; Fri, 02 Jul 2021 11:31:39 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1lzHOT-0000vv-NM for pgsql-hackers@arkaria.postgresql.org; Fri, 02 Jul 2021 11:31:37 +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 1lzHOT-0000vn-Fq for pgsql-hackers@lists.postgresql.org; Fri, 02 Jul 2021 11:31:37 +0000 Received: from mail-pj1-x102c.google.com ([2607:f8b0:4864:20::102c]) by magus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1lzHOP-0002AL-Ar for pgsql-hackers@lists.postgresql.org; Fri, 02 Jul 2021 11:31:36 +0000 Received: by mail-pj1-x102c.google.com with SMTP id cs1-20020a17090af501b0290170856e1a8aso8903350pjb.3 for ; Fri, 02 Jul 2021 04:31:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=hrcelKspe1C1s2GayD/XqQES0fd2ruLM1SrZi2bvZ/c=; b=rJiM8VX58Id+3giQWDPQoYYj8RxYuesmTjxMf6aUB6LR2dVsJ994XYCGPqpJzrbtqy GtBmyOtrVF1LQkCoPXCMpDmyyfIjEOBg1h6KAoQPcBUAb9qaZ039fvA6lMGB4ioZUkEK PtcuxJ5Td2HTqziHhqhQEAgQXVjfK82CDcBkjofio6veg9bQozSmCvXKkZjNlv1oeNKS 1Y3It7Yw2RkjD7mkIdpgCsuR4yNZlLCbQ4AXI7hNBknMIsSHTFPkdhSG0HP22hM1VVKV 9DwEaLMYOuGBxEWAVZSQUnX4DMJ9uEmy3CtLzKUycUbZkFtwHSzUkZZ4rl3VWHIuaaR+ rCWA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=hrcelKspe1C1s2GayD/XqQES0fd2ruLM1SrZi2bvZ/c=; b=giD0BbhPhY/dP/FVQ+DvR5Yxk+FfFnl21Zo2bkEfHf6qOrAqN+Kh9pMunt6P4qdU/Z X3GNKAanhLqYOvz8pamWT/z8yqDX5rLvJh17sCKh53Zrys+QXrqVPa/Mc16WT5vTOelp 3byLmx7lPdQzKafCTDt7UukX0gnBJYEwVkM5E3Vb4nccaK7Z5QyFpmzNJC9BHZyH9deY dQ2SRyrwb9++qnlFkJgp3oxKO7n3d3hFSu/gpc0fEObCU0nXcZU5X8fQi+MJd5FaQh7v 1+TqcdRCARvP4NXt+zpLsyatqFc8Ej1lvseKC3yNOfwCzDs/o30CV1qLYsDye8l3ujrL PrCQ== X-Gm-Message-State: AOAM533f6QF4Htiq9ak677r9KlorkEgQprool3jLyYbxno2MgrX2YJhG CIGYfGezTBlC03qExtAsQmxI4q3LhmcYg43eHlY= X-Google-Smtp-Source: ABdhPJze+kVAwqJzNXhbdE2mbVtKHtWbzc1EFC/iyV9GlMgFxtmuxIwWdL8el8XpAbGz/ZbazQRUbKMc6TfcHzO8lSs= X-Received: by 2002:a17:90a:6945:: with SMTP id j5mr843680pjm.155.1625225491457; Fri, 02 Jul 2021 04:31:31 -0700 (PDT) MIME-Version: 1.0 References: <1c6fa18692a77ff6098dedc0c150df24ffe9db89.camel@cybertec.at> In-Reply-To: From: David Rowley Date: Fri, 2 Jul 2021 23:31:07 +1200 Message-ID: Subject: Re: Update maintenance_work_mem/autovacuum_work_mem to reflect the 1GB limitation with VACUUM To: Laurenz Albe Cc: =?UTF-8?B?TWFydMOtbiBNYXJxdcOpcw==?= , PostgreSQL Developers Content-Type: multipart/mixed; boundary="0000000000001943af05c6224cf1" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --0000000000001943af05c6224cf1 Content-Type: text/plain; charset="UTF-8" On Fri, 21 May 2021 at 03:52, Laurenz Albe wrote: > Just sending a reply to -hackers so I can add it to the commitfest. I had a look at the patch in [1] and I find it a bit weird that we'd write the following about autovacuum_work_mem in our docs: + + Note that VACUUM has a hard-coded limit of 1GB + for the amount of memory used, so setting + autovacuum_work_mem higher than that has no effect. + Since that setting is *only* used for auto vacuum, why don't we just limit the range of the GUC to 1GB? Of course, it wouldn't be wise to backpatch the reduced limit of autovacuum_work_mem as it might upset people who have higher values in their postgresql.conf when their database fails to restart after an upgrade. I think what might be best is just to reduce the limit in master and apply the doc patch for just maintenance_work_mem in all supported versions. We could just ignore doing anything with autovacuum_work_mem in the back branches and put it down to a historical mistake that can't easily be fixed now. I've attached what I came up with. What do you think? [1] https://www.postgresql.org/message-id/514fe5ce4714b7b33cb0a611f0c7b72df413bef5.camel%40cybertec.at --0000000000001943af05c6224cf1 Content-Type: application/octet-stream; name="limit_vacuum_memory_to_1gb.patch" Content-Disposition: attachment; filename="limit_vacuum_memory_to_1gb.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_kqm96q2r0 ZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC9jb25maWcuc2dtbCBiL2RvYy9zcmMvc2dtbC9jb25m aWcuc2dtbAppbmRleCA2MDk4ZjZiMDIwLi5hNzI4MWM4ZTczIDEwMDY0NAotLS0gYS9kb2Mvc3Jj L3NnbWwvY29uZmlnLnNnbWwKKysrIGIvZG9jL3NyYy9zZ21sL2NvbmZpZy5zZ21sCkBAIC0xODkz LDYgKzE4OTMsMTEgQEAgaW5jbHVkZV9kaXIgJ2NvbmYuZCcKICAgICAgICAgdG9vIGhpZ2guICBJ dCBtYXkgYmUgdXNlZnVsIHRvIGNvbnRyb2wgZm9yIHRoaXMgYnkgc2VwYXJhdGVseQogICAgICAg ICBzZXR0aW5nIDx4cmVmIGxpbmtlbmQ9Imd1Yy1hdXRvdmFjdXVtLXdvcmstbWVtIi8+LgogICAg ICAgIDwvcGFyYT4KKyAgICAgICA8cGFyYT4KKyAgICAgICAgQWRkaXRpb25hbGx5LCA8Y29tbWFu ZD5WQUNVVU08L2NvbW1hbmQ+IGlzIG9ubHkgYWJsZSB0byB1dGlsaXplIHVwIHRvCisgICAgICAg IGEgbWF4aW11bSBvZiAxR0Igb2YgbWVtb3J5LCBzbyA8dmFybmFtZT5tYWludGVuYW5jZV93b3Jr X21lbTwvdmFybmFtZT4KKyAgICAgICAgdmFsdWVzIGhpZ2hlciB0aGFuIHRoaXMgaGF2ZSBubyBl ZmZlY3Qgb24gPGNvbW1hbmQ+VkFDVVVNPC9jb21tYW5kPi4KKyAgICAgICA8L3BhcmE+CiAgICAg ICA8L2xpc3RpdGVtPgogICAgICA8L3Zhcmxpc3RlbnRyeT4KIApkaWZmIC0tZ2l0IGEvc3JjL2Jh Y2tlbmQvdXRpbHMvbWlzYy9ndWMuYyBiL3NyYy9iYWNrZW5kL3V0aWxzL21pc2MvZ3VjLmMKaW5k ZXggNDgwZThjZDE5OS4uYmI3NmJhYTcyZCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvdXRpbHMv bWlzYy9ndWMuYworKysgYi9zcmMvYmFja2VuZC91dGlscy9taXNjL2d1Yy5jCkBAIC0zMzQwLDcg KzMzNDAsOCBAQCBzdGF0aWMgc3RydWN0IGNvbmZpZ19pbnQgQ29uZmlndXJlTmFtZXNJbnRbXSA9 CiAJCQlHVUNfVU5JVF9LQgogCQl9LAogCQkmYXV0b3ZhY3V1bV93b3JrX21lbSwKLQkJLTEsIC0x LCBNQVhfS0lMT0JZVEVTLAorCQkvKiBzZWUgY29tcHV0ZV9tYXhfZGVhZF90dXBsZXMgaWYgeW91 IG5lZWQgdG8gY2hhbmdlIHRoZSBtYXggdmFsdWUgKi8KKwkJLTEsIC0xLCAxMDI0ICogMTAyNCwK IAkJY2hlY2tfYXV0b3ZhY3V1bV93b3JrX21lbSwgTlVMTCwgTlVMTAogCX0sCiAK --0000000000001943af05c6224cf1--