Re: Remove xmin and cmin from frozen tuples - Mailing list pgsql-hackers

From Bruce Momjian
Subject Re: Remove xmin and cmin from frozen tuples
Date
Msg-id 200509022108.j82L8sw14503@candle.pha.pa.us
Whole thread Raw
In response to Re: Remove xmin and cmin from frozen tuples  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: Remove xmin and cmin from frozen tuples
List pgsql-hackers
Tom Lane wrote:
> Alvaro Herrera <alvherre@alvh.no-ip.org> writes:
> > On Fri, Sep 02, 2005 at 04:02:08PM -0400, Tom Lane wrote:
> >> It has to be a *new* table, not an *empty* table.  If it's already
> >> visible to other xacts then somebody else could insert into it in
> >> parallel with you, because COPY doesn't take an exclusive lock.
> 
> > What about the indexes?  Logging one of the inserters and not the other
> > is certain to corrupt the whole thing.
> 
> Good point, but that fits in just fine with the restriction to
> just-created tables.

Seem the newly created table could have an index, but we would skip
logging on that too and create a zero-length file on crash restore.

> >> Contrariwise, it doesn't really matter (I think) if there are WAL-logged
> >> records already in the table and COPY is adding more that aren't logged.
> 
> > Only if the page is locked in a fashion that the bulk loader can't
> > insert tuples into a page that the other transaction is using.
> 
> What other transaction?  The point I was making is that
>     BEGIN;
>     CREATE TABLE ...
>     INSERT ...
>     COPY ...
> is still optimizable.  There isn't going to be anyone competing with
> the COPY while it runs.

Updated TODO:
       o Allow COPY on a newly-created table to skip WAL logging
         On crash recovery, the table involved in the COPY would         have its heap and index files truncated.  One
issueis         that no other backend should be able to add to the table         at the same time, which is something
thatis currently         allowed.
 

--  Bruce Momjian                        |  http://candle.pha.pa.us pgman@candle.pha.pa.us               |  (610)
359-1001+  If your life is a hard drive,     |  13 Roberts Road +  Christ can be your backup.        |  Newtown Square,
Pennsylvania19073
 


pgsql-hackers by date:

Previous
From: Matt Miller
Date:
Subject: Re: Ora2Pg (was PL/pgSQL: EXCEPTION NOSAVEPOINT)
Next
From: Tom Lane
Date:
Subject: Re: Remove xmin and cmin from frozen tuples