X-Original-To: pgsql-performance-postgresql.org@localhost.postgresql.org Received: from localhost (unknown [200.46.204.144]) by svr1.postgresql.org (Postfix) with ESMTP id A9F0252B06 for ; Wed, 27 Jul 2005 18:38:16 -0300 (ADT) Received: from svr1.postgresql.org ([200.46.204.71]) by localhost (av.hub.org [200.46.204.144]) (amavisd-new, port 10024) with ESMTP id 86196-02 for ; Wed, 27 Jul 2005 21:38:14 +0000 (GMT) Received: from cmailg4.svr.pol.co.uk (cmailg4.svr.pol.co.uk [195.92.195.174]) by svr1.postgresql.org (Postfix) with ESMTP id 3B86D52A0B for ; Wed, 27 Jul 2005 18:38:13 -0300 (ADT) Received: from modem-3758.llama.dialup.pol.co.uk ([217.135.190.174] helo=192.168.0.102) by cmailg4.svr.pol.co.uk with esmtp (Exim 4.41) id 1DxtbO-0004eR-Ni; Wed, 27 Jul 2005 22:38:11 +0100 Subject: Re: [Bizgres-general] Re: faster INSERT with possible From: Simon Riggs To: Josh Berkus Cc: pgsql-performance@postgresql.org, John A Meinel , bizgres-general , Dan Harris In-Reply-To: <200507270929.10251.josh@agliodbs.com> References: <200507270929.10251.josh@agliodbs.com> Content-Type: text/plain Organization: 2nd Quadrant Date: Wed, 27 Jul 2005 22:37:47 +0100 Message-Id: <1122500267.3670.184.camel@localhost.localdomain> Mime-Version: 1.0 X-Mailer: Evolution 2.0.2 (2.0.2-3) Content-Transfer-Encoding: 7bit X-Virus-Scanned: by amavisd-new at hub.org X-Spam-Status: No, hits=0.053 tagged_above=0 required=5 tests=AWL, FORGED_RCVD_HELO X-Spam-Level: X-Archive-Number: 200507/421 X-Sequence-Number: 13662 On Wed, 2005-07-27 at 09:29 -0700, Josh Berkus wrote: > Luke, > > > Well - now that I test it, it appears you are correct, temp table COPY > > bypasses WAL - thanks for pointing it out! > > RIght. The problem is bypassing WAL for loading new "scratch" tables which > aren't TEMPORARY tables. We need to do this for multi-threaded ETL, since: > a) Temp tables can't be shared by several writers, and > b) you can't index a temp table. The description of "scratch" tables might need some slight clarification. It kindof makes it sound like temp tables. I had in mind the extra tables that an application sometimes needs to operate faster. Denormalisations, pre-joined tables, pre-calculated results, aggregated data. These are not temporary tables, just part of the application - multi-user tables that stay across shutdown/restart. If you have gallons of GB, you will probably by looking to make use of such tables. You can use such tables for the style of ETL known as ELT, but that is not the only use. Best Regards, Simon Riggs