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 1tzG63-00HPLi-Id for pgsql-hackers@arkaria.postgresql.org; Mon, 31 Mar 2025 14:26:40 +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 1tzG61-006fl3-KJ for pgsql-hackers@arkaria.postgresql.org; Mon, 31 Mar 2025 14:26:37 +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 ) id 1tzG60-006fkt-Tz for pgsql-hackers@lists.postgresql.org; Mon, 31 Mar 2025 14:26:37 +0000 Received: from mail-wr1-x431.google.com ([2a00:1450:4864:20::431]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1tzG5u-002F0q-0c for pgsql-hackers@postgresql.org; Mon, 31 Mar 2025 14:26:36 +0000 Received: by mail-wr1-x431.google.com with SMTP id ffacd0b85a97d-39141ffa9fcso4357087f8f.0 for ; Mon, 31 Mar 2025 07:26:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cybertec.at; s=google; t=1743431189; x=1744035989; darn=postgresql.org; h=message-id:date:mime-version:comments:references:in-reply-to :subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to; bh=c/IYohLSTvqtWTQqrcvayGI5CeJUTfBg4rIDqf8wO34=; b=JI5bl0Qur0vkfy6H1FK/2dxVMC3nCYCOW1MW/GLqUycsrDvrP6ubVX0HRynO+c7GgD spBlKcdSSVrHvE34vffAANCDfWXRv7rpynVhsQyqCOQg7a1QGU8UV3KAiO73S+jLLc0u rGL9CZaG/DK88+WNIXg7uKrubEhzhs59OFqT1aUMl1UfuZgDwmPD9ziIXxntLS5+LvKq SIXfo0QJAFbdYAkU+e/9pz1/w+fQWmTCFyIa0+wV73bX3yKzN0UfDFFbj7SANfejOeW2 dr7qC3slgkdK6Sq2qh448FgyvlLbEiTT1EZ4GqmLsqC9yXle+91e4tjzgPeSEDjE4yif RKrQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743431189; x=1744035989; h=message-id:date:mime-version:comments:references:in-reply-to :subject:cc:to:from:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=c/IYohLSTvqtWTQqrcvayGI5CeJUTfBg4rIDqf8wO34=; b=H/wvC8xFZ44qXc+rP/STCyea/sXOZt2SLXfTwVCm0SSC/mDiFXxB+IVa9TM24hMVaO h2ZvqO3t7SumzC8B8yrPOY3AQQWJamDvJPUodz/psgXSY1c6mgDYoJ7jeKvtxVWYnN6h tT80yKCr5kv/VS0qB8ed6yREyZ+yw7KEcZWKEPhnkFULaAatP0z94O3PEgHmvIm8HBE5 oJnRVcewMCQEndy87XW+5G2R/vqGXQI8WOadZQvgYJfoEhFb1NXf2D54qkXR/sJxsPs7 ckr4q4ezxDwXySkTy3RoNDmoDiVhyJSZNWAFv4+6d4b3eXN1RPLY22QTxl6hDmqoZj3r uxew== X-Forwarded-Encrypted: i=1; AJvYcCWRBBgEO3jSNdcb+yJ7f0DIOcDcDQAQvzoQZIfhzt1fVu+Eq+dmj6R2fOBnTXFIdwEWTARPiRATK5/O5mwk@postgresql.org X-Gm-Message-State: AOJu0Ywsi0000/qNTV7aSttvErRqIWZNh7EiZevQ89RUkUxTPF4DmNki UcS+iKw1lNu6f+mDmfZef6imBmckzqjM0KOuZLtzMVTHJYWvFgNVwaG8dlALUY4= X-Gm-Gg: ASbGncs64TnG2hoKp6vjdDGokRnooN5YfyBUSui1hLLxpAu5xUTka2X5goW2RtKBN9X Pon5Zu6FTwswWVqARhVMoEitxA98LgSfHjJ7hhmQ8pe/8monhssFAX9wwdfrNIlFLH0aMCXwG0h 8RR1BKuOOk4k09XSLT9L0XNsSTaM8cvJaKhigtFZ0PGvoY8Nzdvnd+floKjBZ/Om/02AvxlvkV8 ubNRSpRj+9+E9+15lQx8U9W1dSXtCjaG0mGuhCCqkH8NFSWwF6FimlMm42o9dYiA0qy5sSkSGIa RAcF2xx8aAHqpqdwKx6/pNciqiQhF+M0q3nmnCoyAAHT1t+77+E8LBLN X-Google-Smtp-Source: AGHT+IEfgPRUDtF+XcY898HKrmXfC3+Fa8SvFXyqkgBtB5E/6EhENdsaRe+wfgYpk4zB7hobEkb/5w== X-Received: by 2002:a5d:47c7:0:b0:39a:c9fe:9710 with SMTP id ffacd0b85a97d-39c120ccc0bmr7199946f8f.11.1743431187772; Mon, 31 Mar 2025 07:26:27 -0700 (PDT) Received: from localhost (109-81-174-36.rct.o2.cz. [109.81.174.36]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-39c0b663564sm11599452f8f.32.2025.03.31.07.26.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 31 Mar 2025 07:26:26 -0700 (PDT) From: Antonin Houska To: Alvaro Herrera Cc: Marcos Pegoraro , Michael Banck , Junwang Zhao , Kirill Reshke , Pavel Stehule , Michael Paquier , PostgreSQL Hackers Subject: Re: why there is not VACUUM FULL CONCURRENTLY? In-reply-to: <6059.1743060030@localhost> References: <202503251432.o6obtgywjow5@alvherre.pgsql> <6059.1743060030@localhost> Comments: In-reply-to Antonin Houska message dated "Thu, 27 Mar 2025 08:20:30 +0100." X-Mailer: MH-E 8.6+git; nmh 1.8; GNU Emacs 28.3 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Date: Mon, 31 Mar 2025 16:26:25 +0200 Message-ID: <104580.1743431185@localhost> List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --=-=-= Content-Type: text/plain Antonin Houska wrote: > Alvaro Herrera wrote: > > > On 2025-Mar-22, Antonin Houska wrote: > > > > > Alvaro Herrera wrote: > > > > > > > I rebased this patch series; here's v09. No substantive changes from v08. > > > > I made sure the tree still compiles after each commit. > > > > I rebased again, fixing a compiler warning reported by CI and applying > > pgindent to each individual patch. I'm slowly starting to become more > > familiar with the whole of this new code. > > I'm trying to reflect Robert's suggestions about locking [1]. The next version > should be a bit simpler, so maybe wait for it before you continue studying the > code. This is it. A few notes: * Since there's no unlocking during the processing now, the code to check for catalog changes was removed. * Some code moved from 0004 to 0005, where it fits better. (Also the commit messages of these two parts elaborated a bit more.) * Regarding the progress monitoring, I do in 0004 what I proposed in [1]: BeginInternalSubTransaction() now sets a flag that avoids clearing of the progress state in AbortSubTransaction() * Although I consider 0005 (Preserve visibility information of the concurrent data changes.) important, it occurs to me now that it might introduce quite some overhead. * 0003 is new in the series. I thought it'll be needed, then I realized it's not. It might be useful as refactoring though. Please let me know if I should maintain it or drop it. [1] https://www.postgresql.org/message-id/80297.1742989179%40localhost -- Antonin Houska Web: https://www.cybertec-postgresql.com --=-=-= Content-Type: text/x-diff Content-Disposition: attachment; filename=v11-0001-Add-REPACK-command.patch