On Thu, Mar 24, 2011 at 5:39 PM, Greg Stark <gsst...@mit.edu> wrote:
> On Thu, Mar 24, 2011 at 9:15 PM, Heikki Linnakangas
> <heikki.linnakan...@enterprisedb.com> wrote:
>> On 24.03.2011 23:08, Stephen Frost wrote:
>>>
>>>   In a discussion which came up at PgEast, I questioned if it'd be
>>>   possible to set the 'all visible' hint bit and give the tuples the
>>>   frozen XID when loading data into a table which was created in the
>>>   same transaction.
>
> Fwiw this was the original plan with Simon's patch in the 8.3 era to
> skip wal logging tables being loaded in the same transaction they were
> created. (Ironically often made futile by his own HS work.) There were
> problems that I don't recall but might well be the same as the problem
> Heikki pointed out.
>
>> The problem is that you still need to track which queries within the
>> transaction can see the tuples.
>
> We could conceivably deal with that by not setting the frozenxid but
> setting the hint bit for those tuples and having a documented special
> case that if the hint bit is set but it's the same xid as your own you
> have to treat it as not-committed.
>
> Not sure if it's worth the ugliness to solve only half the problem. I
> get the impression most people are complaining about hint bit setting
> i/o but if you're still going to have to rewrite the table at some
> time in the future the problem's not really resolved.

Also, you're not really going to get the whole benefit unless you can
somehow manage to mark the pages PD_ALL_VISIBLE and set the visibility
map bits.  Without that, the next vacuum is going to dirty the whole
heap anyway.  Granted that's a bit better than having the next scan do
it.

-- 
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to