On Tue, 2005-11-29 at 15:15 -0500, Bruce Momjian wrote:
> Tom Lane wrote:
> > Bruce Momjian <pgman@candle.pha.pa.us> writes:
> > > Tom Lane wrote:
> > >> Something that would probably be reasonable, and require *no* weird new
> > >> syntax, is to shortcut in a COPY into a table created in the current
> > >> transaction. I believe we still keep a flag in the relcache indicating
> > >> whether that's the case ...
> >
> > > So if the table is created in the current transaction, we don't log?
> >
> > Log, yes, unless it's a temp table. The point is we could avoid taking
> > buffer content locks. Come to think of it, we could implement that
> > trivially in the heapam.c routines; it would then apply to any table
> > update whether generated by COPY or otherwise.
>
> I am confused. This optimization prevents locking, but still requires
> logging?
It minimises *buffer* lwlocks, not data locks.
Best Regards, Simon Riggs