Re: pg_internal.init is hazardous to your health

From: "Heikki Linnakangas" <heikki(at)enterprisedb(dot)com>
To: "Simon Riggs" <simon(at)2ndquadrant(dot)com>
Cc: "Gavin Sherry" <swm(at)linuxworld(dot)com(dot)au>, "Tom Lane" <tgl(at)sss(dot)pgh(dot)pa(dot)us>, <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: pg_internal.init is hazardous to your health
Date: 2006-10-19 10:26:03
Message-ID: 453752BB.1000609@enterprisedb.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Simon Riggs wrote:
> RelationCacheInitFileInvalidate() is also called on each
> FinishPreparedTransaction().

It's only called if the prepared transaction invalidated the init file.

> 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.

If you write the WAL record in RelationCacheInitFileInvalidate(true),
that's enough. No extra handling for prepared transactions is needed.

--
Heikki Linnakangas
EnterpriseDB http://www.enterprisedb.com

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message NikhilS 2006-10-19 10:40:46 Re: Additional stats for Relations
Previous Message Gurjeet Singh 2006-10-19 08:31:17 Re: New CRC algorithm: Slicing by 8