Re: autovacuum launcher using InitPostgres - Mailing list pgsql-hackers

From Alvaro Herrera
Subject Re: autovacuum launcher using InitPostgres
Date
Msg-id 20090831155419.GG6060@alvh.no-ip.org
Whole thread Raw
In response to Re: autovacuum launcher using InitPostgres  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: autovacuum launcher using InitPostgres  (Tom Lane <tgl@sss.pgh.pa.us>)
Re: autovacuum launcher using InitPostgres  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
Tom Lane wrote:
> Alvaro Herrera <alvherre@commandprompt.com> writes:
> > Tom Lane wrote:
> >> This just seems truly messy :-(.  Let me see if I can find something
> >> cleaner.
>
> > I was considering having InitPostgres be an umbrella function, so that
> > extant callers stay as today, but the various underlying pieces are
> > skipped depending on who's calling.  For example I didn't like the bit
> > about starting a transaction or not depending on whether it was the
> > launcher.
>
> Yeah.  If you have InitPostgres know that much about the AV launcher's
> requirements, it's not clear why it shouldn't just know everything.
> Having it return with the initial transaction still open just seems
> completely horrid.

How about this?

> While I was looking at this I wondered whether
> RelationCacheInitializePhase2 really needs to be inside the startup
> transaction at all.  I think it could probably be moved up before
> that.  However, if the AV launcher has to do GetTransactionSnapshot
> then it's not clear that improves matters anyway.

Well, the difference is that the initial transaction would be a few
microsec shorter ... not sure if that matters.

--
Alvaro Herrera                                http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc.

Attachment

pgsql-hackers by date:

Previous
From: Jeff Janes
Date:
Subject: Re: XLogFlush
Next
From: Heikki Linnakangas
Date:
Subject: Re: autovacuum launcher using InitPostgres