Re: global.bki vs template1.bki init files - Mailing list pgsql-hackers

From Bruce Momjian
Subject Re: global.bki vs template1.bki init files
Date
Msg-id 200106120018.f5C0IOS04698@candle.pha.pa.us
Whole thread Raw
In response to global.bki vs template1.bki init files  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: global.bki vs template1.bki init files  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
> I have run into a small snag with adding indexes to pg_shadow: the first
> attempt to run a non-bootstrap-mode backend fails with 'user "postgres"
> does not exist'.  The reason it fails is that user postgres is added
> to pg_shadow by global.bki, which is run after template1.bki, which is
> where all the bootstrap-time indexes are created and filled.  So user
> postgres is in pg_shadow, but it's not in the indexes, which means that
> a syscache-driven attempt to look it up will fail.
> 
> I could hack around this by moving bootstrap index creation to the end
> of global.bki instead of template1.bki.  However, this just begs the
> question of why we have two init scripts at all.  The distinction
> between global and local objects is not determined by these scripts
> (IsSharedSystemRelationName is where that gold is hidden).  We've
> already got template1.bki creating some global objects (namely the
> indexes on pg_group), and if I make the quick-hack fix then we'll
> instead have global.bki creating a whole bunch of non-global indexes
> along with a few global ones.
> 
> I'm strongly inclined to merge global.bki and template1.bki into a
> single initialization script, say postgres.bki.  Comments?

I thought we agreed to merge them already.  Also, could we modify
IndexScanOK() to catch this case and do a heap scan?

--  Bruce Momjian                        |  http://candle.pha.pa.us pgman@candle.pha.pa.us               |  (610)
853-3000+  If your life is a hard drive,     |  830 Blythe Avenue +  Christ can be your backup.        |  Drexel Hill,
Pennsylvania19026
 


pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: global.bki vs template1.bki init files
Next
From: Tom Lane
Date:
Subject: Re: global.bki vs template1.bki init files