Re: pg_internal.init is hazardous to your health

Поиск
Список
Период
Сортировка
От Simon Riggs
Тема Re: pg_internal.init is hazardous to your health
Дата
Msg-id 1161190910.8652.83.camel@silverbirch.site
обсуждение исходный текст
Ответ на Re: pg_internal.init is hazardous to your health  (Gavin Sherry <swm@linuxworld.com.au>)
Ответы Re: pg_internal.init is hazardous to your health  (Tom Lane <tgl@sss.pgh.pa.us>)
Re: pg_internal.init is hazardous to your health  ("Heikki Linnakangas" <heikki@enterprisedb.com>)
Список pgsql-hackers
On Wed, 2006-10-18 at 12:49 +1000, Gavin Sherry wrote:

> > We don't actually need to *update* the file, per se, we only need to
> > remove it if no longer valid --- the next incoming backend will rebuild
> > it.  I could see fixing this by making WAL recovery run around and zap
> > all the .init files (only problem is to find 'em), or we could add a new
> > kind of WAL record saying "remove the .init file for database XYZ"
> > to be emitted whenever someone removes the active one.  Thoughts?

Yes, that assessment seems good.

> The latter seems the Right Way except, I guess, that the decision to
> remove the file is buried deep inside inval.c.

I'd prefer the zap everything approach, but emitting a WAL record looks
mostly straightforward and just as good.

RelationCacheInitFileInvalidate() can easily emit a WAL record. This is
called twice in succession, so we would emit WAL on the
RelationCacheInitFileInvalidate(true) call only. I'll work out a patch
for that...XLOG_XACT_RELCACHE_INVALIDATE

RelationCacheInitFileInvalidate() is also called on each
FinishPreparedTransaction(). If that is called 100% of the time, then we
can skip writing an additional record for prepared transactions by
triggering the removal of pg_internal.init when we see a
XLOG_XACT_COMMIT_PREPARED during replay. 
Not sure whether we need to do that, Heikki? Anyone?
I'm guessing no, but it seems sensible to check.

--  Simon Riggs              EnterpriseDB   http://www.enterprisedb.com




В списке pgsql-hackers по дате отправления:

Предыдущее
От: Mark Wong
Дата:
Сообщение: Re: Lock partitions
Следующее
От: Tom Lane
Дата:
Сообщение: Re: 8.1.5 is out