Received: from localhost (maia-3.hub.org [200.46.204.184]) by postgresql.org (Postfix) with ESMTP id CBB109FBA8B for ; Tue, 6 Mar 2007 11:02:41 -0400 (AST) Received: from postgresql.org ([200.46.204.71]) by localhost (mx1.hub.org [200.46.204.184]) (amavisd-new, port 10024) with ESMTP id 13460-03-2 for ; Tue, 6 Mar 2007 11:02:27 -0400 (AST) X-Greylist: from auto-whitelisted by SQLgrey-1.7.4 Received: from sss.pgh.pa.us (sss.pgh.pa.us [66.207.139.130]) by postgresql.org (Postfix) with ESMTP id 4BED99FB823 for ; Tue, 6 Mar 2007 11:02:38 -0400 (AST) Received: from sss2.sss.pgh.pa.us (tgl@localhost [127.0.0.1]) by sss.pgh.pa.us (8.13.6/8.13.6) with ESMTP id l26F2Y0p004400; Tue, 6 Mar 2007 10:02:35 -0500 (EST) To: ITAGAKI Takahiro cc: pgsql-hackers@postgresql.org Subject: Re: Aggressive freezing in lazy-vacuum In-reply-to: <20070306181253.64A9.ITAGAKI.TAKAHIRO@oss.ntt.co.jp> References: <20070305182401.C4BC.ITAGAKI.TAKAHIRO@oss.ntt.co.jp> <18982.1173110551@sss.pgh.pa.us> <20070306181253.64A9.ITAGAKI.TAKAHIRO@oss.ntt.co.jp> Comments: In-reply-to ITAGAKI Takahiro message dated "Tue, 06 Mar 2007 19:03:03 +0900" Date: Tue, 06 Mar 2007 10:02:34 -0500 Message-ID: <4399.1173193354@sss.pgh.pa.us> From: Tom Lane X-Virus-Scanned: Maia Mailguard 1.0.1 X-Spam-Status: No, hits=0.061 tagged_above=0 required=5 tests=AWL, BAYES_50, SPF_HELO_PASS, SPF_PASS X-Spam-Level: X-Archive-Number: 200703/388 X-Sequence-Number: 99872 ITAGAKI Takahiro writes: > Tom Lane wrote: >> I think it's a really bad idea to freeze that aggressively under any >> circumstances except being told to (ie, VACUUM FREEZE). When you >> freeze, you lose history information that might be needed later --- for >> forensic purposes if nothing else. > I don't think we can supply such a historical database functionality here, > because we can guarantee it just only for INSERTed tuples even if we pay > attention. We've already enabled autovacuum as default, so that we cannot > predict when the next vacuum starts and recently UPDATEd and DELETEd tuples > are removed at random times. I said nothing about expired tuples. The point of not freezing is to preserve information about the insertion time of live tuples. And your test case is unconvincing, because no sane DBA would run with such a small value of vacuum_freeze_min_age. regards, tom lane