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.96) (envelope-from ) id 1vaFoF-005u5V-2p for pgsql-general@arkaria.postgresql.org; Mon, 29 Dec 2025 16:09:28 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vaFoD-00HPM1-2F for pgsql-general@arkaria.postgresql.org; Mon, 29 Dec 2025 16:09:26 +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.96) (envelope-from ) id 1vaFoD-00HPLt-1A for pgsql-general@lists.postgresql.org; Mon, 29 Dec 2025 16:09:26 +0000 Received: from smtp.burggraben.net ([88.198.69.140]) by magus.postgresql.org with esmtps (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vaFoB-003QH3-1h for pgsql-general@postgresql.org; Mon, 29 Dec 2025 16:09:25 +0000 Received: from elch.exwg.net (elch.exwg.net [IPv6:2001:470:7120:1:21b:21ff:fef0:248b]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "elch.exwg.net", Issuer "R13" (not verified)) by smtp.burggraben.net (Postfix) with ESMTPS id C60D6C00311; Mon, 29 Dec 2025 17:09:22 +0100 (CET) Received: by elch.exwg.net (Postfix, from userid 1000) id 91572FE59C; Mon, 29 Dec 2025 17:09:22 +0100 (CET) Date: Mon, 29 Dec 2025 17:09:22 +0100 From: Christoph Moench-Tegeder To: pramod gupta Cc: pgsql-general@postgresql.org Subject: Re: How did VACUUM ANALYZE reclaim large TOAST bloat at disk level in PostgreSQL 16? Message-ID: References: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: User-Agent: Mutt/2.2.16 (2025-11-22) List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk ## pramod gupta (mail2sony2010@gmail.com): > How was VACUUM ANALYZE able to reclaim such a large amount of space, > especially for TOAST data? > > Under what conditions does PostgreSQL reclaim disk space without requiring > VACUUM FULL or CLUSTER? https://www.postgresql.org/docs/current/routine-vacuuming.html#VACUUM-FOR-SPACE-RECOVERY "in the special case where one or more pages at the end of a table become entirely free and an exclusive table lock can be easily obtained" Regards, Christoph -- Spare Space