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 1mzW6q-0001vo-TD for pgsql-hackers@arkaria.postgresql.org; Tue, 21 Dec 2021 03:46:41 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1mzW6p-0006dt-JN for pgsql-hackers@arkaria.postgresql.org; Tue, 21 Dec 2021 03:46:39 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mzW6n-0006af-SV for pgsql-hackers@lists.postgresql.org; Tue, 21 Dec 2021 03:46:39 +0000 Received: from out2-smtp.messagingengine.com ([66.111.4.26]) by makus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mzW6k-0000yZ-61 for pgsql-hackers@lists.postgresql.org; Tue, 21 Dec 2021 03:46:36 +0000 Received: from compute3.internal (compute3.nyi.internal [10.202.2.43]) by mailout.nyi.internal (Postfix) with ESMTP id 548FF5C01AD; Mon, 20 Dec 2021 22:46:32 -0500 (EST) Received: from mailfrontend1 ([10.202.2.162]) by compute3.internal (MEProxy); Mon, 20 Dec 2021 22:46:32 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=anarazel.de; h= date:from:to:cc:subject:message-id:references:mime-version :content-type:in-reply-to; s=fm3; bh=l7UfNf7g+INtHN+hOZkXKC+6Wbr RRHV7NpinsXBBdhg=; b=Zv6ZO0Iyo6u0oS8U952kH2CMs84jsS1vE1AU4yc4YuJ HiBfpk1d6pX+qXQlrAZbwEDqafAyS8lRfUNcH504IjkamZ8OglBTbJEziEj5bZme fVMsJE6LAXoCAFLOBTB/ISX3bux2oUCUd2H9xWCwD3iPA3llrqrHrUETmNrs4cYY pamwtP+SJXDLjNq5s8+YIxvC5y8ZBBHjGJgALjDmC7yk7KltKAVZLz6PqUGPwTCR Cp18kx/5dFRDLeKt+KfxTws9SM8q2lPpX1jqJgoam24n24gsh4lK1cc5fq3ic3DD ZiByVFIAzTcKFcDgruX0qH6soQgmGpEUId+lkTvyvow== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to:x-me-proxy :x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm1; bh=l7UfNf 7g+INtHN+hOZkXKC+6WbrRRHV7NpinsXBBdhg=; b=LxxFAiJmplkJqYtEMW9nLw Q0xB9dTHvkDIAeWuANdUF4nk/wg1XrTLi7UvLNfie/lkJSfaxQxMX58KpMErT2FH pE0z4cOnYf+1Fy8bIPQcMV9v9p313nqZdZeKr+WMZ61Ui5o1ZWJhvj+AUEWZxqzz Z5f4lGGehchsP4D4wGMZTV9qww1jS/3l1T+fRkZ5SHH3+3eFuX0vrUt1ae+FKOJ+ lGM8Ko+oYuyy1WXaQd2ZxvFsTERug37QvcZm40g+3ZkNZft/ETeaWcxIURPV7+h5 eLTGbMptcaF1KhvzuldUPHmpNqdWVs+Cblu7ZsOzNyPrI9sJDeQzg7Z0QX8zkfzQ == X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvuddruddtfedgieefucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhepfffhvffukfhfgggtuggjsehttdertddttddvnecuhfhrohhmpeetnhgurhgv shcuhfhrvghunhguuceorghnughrvghssegrnhgrrhgriigvlhdruggvqeenucggtffrrg htthgvrhhnpedukefhkeelueegveetheelffffjeegleeuudelfeefuedtleffueejfffh ueffudenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpe grnhgurhgvshesrghnrghrrgiivghlrdguvg X-ME-Proxy: Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon, 20 Dec 2021 22:46:31 -0500 (EST) Date: Mon, 20 Dec 2021 19:46:30 -0800 From: Andres Freund To: Peter Geoghegan Cc: "Bossart, Nathan" , John Naylor , PostgreSQL Hackers Subject: Re: do only critical work during single-user vacuum? Message-ID: <20211221034630.maoteglpjqpgh62g@alap3.anarazel.de> References: <3F7FD826-36EF-4991-AB37-81675AFEBF54@amazon.com> <0544901A-0FC5-46B5-801B-F30AC0B81A19@amazon.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk Hi, On 2021-12-20 17:17:26 -0800, Peter Geoghegan wrote: > On Thu, Dec 9, 2021 at 8:41 PM Bossart, Nathan wrote: > > I like the idea of having a built-in function that does the bare > > minimum to resolve wraparound emergencies, and I think providing some > > sort of simple progress indicator (even if rudimentary) would be very > > useful. > > If John doesn't have time to work on this during the Postgres 15 > cycle, and if nobody else picks it up, then we should at least do the > bare minimum here: force the use of the failsafe in single user mode > (regardless of the age of relfrozenxid/relminmxid, which in general > might not be that old in tables where VACUUM might need to do a lot of > work). Attached quick and dirty patch shows what this would take. If > nothing else, it seems natural to define running any VACUUM in single > user mode as an emergency. As I said before I think this is a bad idea. I'm fine with adding a vacuum parameter forcing failsafe mode. And perhaps a hint to suggest it in single user mode. But forcing it is a bad idea - single user isn't just used for emergencies (c.f. initdb, which this patch would regress) and not every emergency making single user mode useful is related to wraparound. Greetings, Andres Freund