Re: Advice on MyXactMade* flags, MyLastRecPtr, pendingDeletes and lazy XID assignment - Mailing list pgsql-hackers

From Tom Lane
Subject Re: Advice on MyXactMade* flags, MyLastRecPtr, pendingDeletes and lazy XID assignment
Date
Msg-id 16736.1188448383@sss.pgh.pa.us
Whole thread Raw
In response to Re: Advice on MyXactMade* flags, MyLastRecPtr, pendingDeletes and lazy XID assignment  ("Florian G. Pflug" <fgp@phlo.org>)
Responses Re: Advice on MyXactMade* flags, MyLastRecPtr, pendingDeletes and lazy XID assignment  ("Florian G. Pflug" <fgp@phlo.org>)
Re: Advice on MyXactMade* flags, MyLastRecPtr, pendingDeletes and lazy XID assignment  (Simon Riggs <simon@2ndquadrant.com>)
List pgsql-hackers
"Florian G. Pflug" <fgp@phlo.org> writes:
> And I'm quite tempted to not flush the XLOG at all during ABORT, and to
> only force synchronous commits if one of the to-be-deleted files is
> non-temporary.

+1 on the first, but -1 on the second, because we'd have to track
whether deleted files are temp or not ... it's very unclear that it'd
be worth the trouble.

> OTOH, it'd allow aynchronous commits for transactions that created
> temporary tables.

It'd be for xacts that *dropped* temp tables, no?  I'm not sure that
is a performance-critical path --- probably it more usually gets done
after the client's already disconnected.

>> The only way we could make this more robust is if we could have
>> WAL-before-data rule for file *creation*, but I think that's not
>> possible given that we don't know what relfilenode number we will use
>> until we've successfully created a file.

> It seems doable, but it's not pretty. One possible scheme would be to
> emit a record *after* chosing a name but *before* creating the file,

No, because the way you know the name is good is a successful
open(O_CREAT).
        regards, tom lane


pgsql-hackers by date:

Previous
From: Charlie Savage
Date:
Subject: Re: msvc++ build of 8.2.4 and encodings
Next
From: NikhilS
Date:
Subject: Re: StringInfo misc. issues