Re: Re: [SQL] Re: pg_dump potential bug -UNIQUE INDEX on PG_SHADOW Dont!! HELP
| От | Tom Lane | 
|---|---|
| Тема | Re: Re: [SQL] Re: pg_dump potential bug -UNIQUE INDEX on PG_SHADOW Dont!! HELP | 
| Дата | |
| Msg-id | 28038.986084099@sss.pgh.pa.us обсуждение исходный текст | 
| Ответ на | Re: [SQL] Re: pg_dump potential bug -UNIQUE INDEX on PG_SHADOW Dont!! HELP (Bruce Momjian <pgman@candle.pha.pa.us>) | 
| Список | pgsql-hackers | 
Bruce Momjian <pgman@candle.pha.pa.us> writes:
>     test=> CREATE UNIQUE INDEX shadow_index ON pg_shadow (usename);
>     CREATE
>     test=> select * from pg_shadow;
>     ERROR:  Index 'pg_shadow_sysid_index' does not exist
>     test=> \q
>     $ psql test
>     psql: FATAL 1:  Index 'pg_shadow_name_index' does not exist
>     $
> Notice the user wanted an index named shadow_index, but the error
> mentioned is pg_shadow_name_index.
What's failing is catcache lookups on pg_shadow.  The catcache has table
entries that claim that there are indexes on pg_shadow(usename) and
pg_shadow(usesysid).  The system would not work at all, except that
catcache's use of these indexes is defeated by sanity-check code that
notices that relhasindex is FALSE for pg_shadow (line 880 of
catcache.c).
As soon as you create an index on pg_shadow, relhasindex becomes TRUE
and catcache.c starts trying to use these nonexistent indexes for
routine operations like ACL permissions checks.  So, nothing works
anymore.
We ought to create those indexes someday ;-)
        regards, tom lane
		
	В списке pgsql-hackers по дате отправления: