Received: from localhost (unknown [200.46.204.184]) by postgresql.org (Postfix) with ESMTP id 6370A2E0032 for ; Tue, 5 Feb 2008 11:56:36 -0400 (AST) Received: from postgresql.org ([200.46.204.71]) by localhost (mx1.hub.org [200.46.204.184]) (amavisd-maia, port 10024) with ESMTP id 78299-02-9 for ; Tue, 5 Feb 2008 11:56:10 -0400 (AST) Received: from ptb-relay03.plus.net (ptb-relay03.plus.net [212.159.14.214]) by postgresql.org (Postfix) with ESMTP id E6E672E30BC for ; Tue, 5 Feb 2008 11:52:15 -0400 (AST) Received: from [84.51.143.99] (helo=server3.office.archonet.com) by ptb-relay03.plus.net with esmtp (Exim) id 1JMQ5j-0006kX-VI; Tue, 05 Feb 2008 15:52:12 +0000 Received: from [192.168.1.36] (dell36.office.archonet.com [192.168.1.36]) by server3.office.archonet.com (Postfix) with ESMTP id A5E02274061; Tue, 5 Feb 2008 15:52:09 +0000 (GMT) Message-ID: <47A8862A.1060205@archonet.com> Date: Tue, 05 Feb 2008 15:52:10 +0000 From: Richard Huxton User-Agent: Thunderbird 2.0.0.9 (X11/20071031) MIME-Version: 1.0 To: Matthew CC: pgsql-performance@postgresql.org Subject: Re: Benchmark Data requested References: <1202150236.4252.521.camel@ebony.site> <47A797E5.4000507@sun.com> <200802051506.51581.dfontaine@hi-media.com> <1202221496.4252.680.camel@ebony.site> <47A87618.1090203@archonet.com> <1202223268.4252.707.camel@ebony.site> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Plusnet-Relay: 0a593a82d43d17a13db4b7c906c5b7cf X-Virus-Scanned: Maia Mailguard 1.0.1 X-Archive-Number: 200802/40 X-Sequence-Number: 28582 Matthew wrote: > On Tue, 5 Feb 2008, Simon Riggs wrote: >>> In the case of a bulk upload to an empty table (or partition?) could you >>> not optimise the WAL away? That is, shouldn't the WAL basically be a >>> simple transformation of the on-disk blocks? You'd have to explicitly >>> sync the file(s) for the table/indexes of course, and you'd need some >>> work-around for WAL shipping, but it might be worth it for you chaps >>> with large imports. >> >> Only by locking the table, which serializes access, which then slows you >> down or at least restricts other options. Plus if you use pg_loader then >> you'll find only the first few rows optimized and all the rest not. > > Why would you need to lock the table? Because you're not really writing the WAL, which means you can't let anyone else get their data into any of the blocks you are writing into. You'd basically want to write the disk blocks then "attach" them in some way. -- Richard Huxton Archonet Ltd