Skip site navigation (1) Skip section navigation (2)

Peripheral Links

Header And Logo

PostgreSQL
| The world's most advanced open source database.

Site Navigation

Search archives
  Advanced Search

Re: Re: [SQL] Re: pg_dump potential bug -UNIQUE INDEX on PG_SHADOW Dont!! HELP


  • From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
  • To: Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
  • Cc: Marcin Kowalski <kowalski(at)datrix(dot)co(dot)za>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
  • Subject: Re: Re: [SQL] Re: pg_dump potential bug -UNIQUE INDEX on PG_SHADOW Dont!! HELP
  • Date: Sat, 31 Mar 2001 19:14:59 -0500
  • Message-id: <28038.986084099@sss.pgh.pa.us> <text/plain>

Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)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



Home | Main Index | Thread Index

Privacy Policy | About PostgreSQL
Copyright © 1996 – 2012 PostgreSQL Global Development Group