Received: from localhost (unknown [200.46.204.183]) by postgresql.org (Postfix) with ESMTP id 167F364FD1B for ; Sun, 24 Aug 2008 15:40:30 -0300 (ADT) Received: from postgresql.org ([200.46.204.86]) by localhost (mx1.hub.org [200.46.204.183]) (amavisd-maia, port 10024) with ESMTP id 64455-05 for ; Sun, 24 Aug 2008 15:40:23 -0300 (ADT) X-Greylist: from auto-whitelisted by SQLgrey-1.7.6 Received: from smtp135.iad.emailsrvr.com (smtp135.iad.emailsrvr.com [207.97.245.135]) by postgresql.org (Postfix) with ESMTP id 4101A64FCD0 for ; Sun, 24 Aug 2008 15:40:26 -0300 (ADT) Received: from relay3.r3.iad.emailsrvr.com (localhost [127.0.0.1]) by relay3.r3.iad.emailsrvr.com (SMTP Server) with ESMTP id 5767044C339; Sun, 24 Aug 2008 14:40:23 -0400 (EDT) Received: by relay3.r3.iad.emailsrvr.com (Authenticated sender: matthew-AT-zeut.net) with ESMTP id 1EEFE44C002; Sun, 24 Aug 2008 14:40:23 -0400 (EDT) Message-ID: <48B1AB17.9010905@zeut.net> Date: Sun, 24 Aug 2008 14:40:23 -0400 From: "Matthew T. O'Connor" User-Agent: Thunderbird 2.0.0.16 (Windows/20080708) MIME-Version: 1.0 To: "Joshua D. Drake" CC: Merlin Moncure , Bruce Momjian , Pavan Deolasee , Tom Lane , Pgsql Hackers Subject: Re: [PATCHES] VACUUM Improvements - WIP Patch References: <2e78013d0807132050j16cdc558s4dc3f889371a937d@mail.gmail.com> <200808230336.m7N3aOc15945@momjian.us> <48B1831F.7010002@commandprompt.com> In-Reply-To: <48B1831F.7010002@commandprompt.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Virus-Scanned: Maia Mailguard 1.0.1 X-Archive-Number: 200808/1137 X-Sequence-Number: 122891 Joshua D. Drake wrote: > Merlin Moncure wrote: >> Well, there doesn't seem to be a TODO for partial/restartable vacuums, >> which were mentioned upthread. This is a really desirable feature for >> big databases and removes one of the reasons to partition large >> tables. > I would agree that partial vacuums would be very useful. I think everyone agrees that partial vacuums would be useful / *A Good Thing* but it's the implementation that is the issue. I was thinking about Alvaro's recent work to make vacuum deal with TOAST tables separately, which is almost like a partial vacuum since it effectively splits the vacuum work up into multiple independent blocks of work, the limitation obviously being that it can only split the work around TOAST. Is there anyway that vacuum could work per relfile since we already split tables into files that are never greater than 1G? I would think that if Vacuum never had more than 1G of work to do at any given moment it would make it much more manageable.