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 1uNgGi-006tOW-Lh for pgsql-general@arkaria.postgresql.org; Fri, 06 Jun 2025 23:14:36 +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 1uNgGg-002HMP-KR for pgsql-general@arkaria.postgresql.org; Fri, 06 Jun 2025 23:14:35 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1uNgGf-002HMG-GY for pgsql-general@lists.postgresql.org; Fri, 06 Jun 2025 23:14:34 +0000 Received: from fout-b5-smtp.messagingengine.com ([202.12.124.148]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1uNgGd-000egF-1w for pgsql-general@lists.postgresql.org; Fri, 06 Jun 2025 23:14:33 +0000 Received: from phl-compute-01.internal (phl-compute-01.phl.internal [10.202.2.41]) by mailfout.stl.internal (Postfix) with ESMTP id 2E53F11400C7; Fri, 6 Jun 2025 19:14:30 -0400 (EDT) Received: from phl-mailfrontend-01 ([10.202.2.162]) by phl-compute-01.internal (MEProxy); Fri, 06 Jun 2025 19:14:30 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=aklaver.com; h= cc:cc:content-transfer-encoding:content-type:content-type:date :date:from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to; s=fm3; t=1749251670; x=1749338070; bh=KuEfP+gQOoqE6GLff4zQ9p0DiLHTGQsjHyNksBHq4w4=; b= W7//QSNZ+jhEnrOpM65sF8JUQcXjP8HhodIjvAD+6LqfH9aV9jMIdtVKSH//0y2E mZkHftiI63A6Dy8WRNY5tbLn2RDW7L0kCJvdVMqk6tBCpq6EI0/cza2x08vKSDNN TiDoFnf4gIKOTSF+Jps1Xrv0sp4BCPgXOrTilHEhmmySPVB87muMnLnQUX+L1Wsy V8F28ZXxVAJ1JZts2DL29uRU5x9GG/vI/aGndEz/85BRb1QXjKCU8f2zl/dm5S3I iNJqS5Mhyj6ic+J+DnpwVHDWA0/lpmm8yJK2PNaqswtaA7e+HV4yU+SHAxlyrKap w9nObxBKuCZq55/mNEnqCA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:content-type:date:date:feedback-id:feedback-id :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t=1749251670; x= 1749338070; bh=KuEfP+gQOoqE6GLff4zQ9p0DiLHTGQsjHyNksBHq4w4=; b=L 5jUXoQ7sw4u7cUlIbSiTRFIojsn8qXDCHMWU0iBpCQTMF+xhZCQgnIvl3QexOMjy h/6KkOkcKsHJbfl8ogHej+/aJw4KDsz2gpoZghH06K7YIQwSGlF+MeeVTR5ouDeK lzC8mt0yMANEQQpMz/Jayr7vQvatBD0eI7ECswe8NnK7INNOySGGZpJnXhTUb8cl OI7zWmWb34RsMmm5zhoA53tdm+V55m2OtEicChAoskukK5SYT5ujXzenL/AtRNzm pDJdN1pizzPfsOP+5f2cBf8GmBJEop4dJoyuLU8qBOGKurE7/unwNQeViacuy52m iEanudpP1cxi/s4H+89Pw== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeeffedrtddugdehjeefucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggvpdfu rfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnh htshculddquddttddmnecujfgurhepkfffgggfuffvvehfhfgjtgfgsehtjeertddtvdej necuhfhrohhmpeetughrihgrnhcumfhlrghvvghruceorggurhhirghnrdhklhgrvhgvrh esrghklhgrvhgvrhdrtghomheqnecuggftrfgrthhtvghrnhepuedufeejjefggfdttdeg hefgkeeuveekkeeiteettdekffehiedvtefhveffgeeunecuffhomhgrihhnpehpohhsth hgrhgvshhqlhdrohhrghenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgr ihhlfhhrohhmpegrughrihgrnhdrkhhlrghvvghrsegrkhhlrghvvghrrdgtohhmpdhnsg gprhgtphhtthhopeegpdhmohguvgepshhmthhpohhuthdprhgtphhtthhopehmrghhvghs hhhpohhsthhgrhgvshelsehgmhgrihhlrdgtohhmpdhrtghpthhtoheprhhonhhljhhohh hnshhonhhjrhesghhmrghilhdrtghomhdprhgtphhtthhopehlrghurhgvnhiirdgrlhgs vgestgihsggvrhhtvggtrdgrthdprhgtphhtthhopehpghhsqhhlqdhgvghnvghrrghlse hlihhsthhsrdhpohhsthhgrhgvshhqlhdrohhrgh X-ME-Proxy: Feedback-ID: i76984098:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Fri, 6 Jun 2025 19:14:28 -0400 (EDT) Message-ID: <19c99502-c951-443b-ad53-061553f2d9ed@aklaver.com> Date: Fri, 6 Jun 2025 16:14:27 -0700 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: Regarding fillfactor use case for only delete ops To: Durgamahesh Manne , Ron Johnson Cc: Laurenz Albe , pgsql-general References: <65a54f809d0339d9d6021c35f7fa14fc20a7f2e6.camel@cybertec.at> Content-Language: en-US From: Adrian Klaver In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On 6/6/25 16:04, Durgamahesh Manne wrote: > > > Hi > > I believe that fill factor works exclusively for updates of HOT tables > but not for delete ops From here: https://www.postgresql.org/docs/current/sql-createtable.html "fillfactor (integer) The fillfactor for a table is a percentage between 10 and 100. 100 (complete packing) is the default. When a smaller fillfactor is specified, INSERT operations pack table pages only to the indicated percentage; the remaining space on each page is reserved for updating rows on that page. This gives UPDATE a chance to place the updated copy of a row on the same page as the original, which is more efficient than placing it on a different page, and makes heap-only tuple updates more likely. For a table whose entries are never updated, complete packing is the best choice, but in heavily updated tables smaller fillfactors are appropriate. This parameter cannot be set for TOAST tables. " So it increases the chances of HOT updates, but is not restricted to them. > > Regards, > Durga Mahesh > -- Adrian Klaver adrian.klaver@aklaver.com