On 2017-05-24 08:26:24 -0400, Robert Haas wrote: > On Mon, May 22, 2017 at 7:05 AM, Albe Laurenz <laurenz.a...@wien.gv.at> wrote: > > Not that it is a useful use case, but I believe that this is > > a bug that causes index corruption: > > > > CREATE TABLE mytable( > > id integer PRIMARY KEY, > > id2 integer NOT NULL > > ); > > > > CREATE FUNCTION makeindex() RETURNS trigger > > LANGUAGE plpgsql AS > > $$BEGIN > > CREATE INDEX ON mytable(id2); > > RETURN NEW; > > END;$$; > > I'm willing to bet that nobody ever thought about that case very hard. > It seems like we should either make it work or prohibit it, but I > can't actually see quite how to do either off-hand.
Hm, strategically sprinkled CheckTableNotInUse() might do the trick? I've neither tried nor thought this through fully, but I can't think of a case where pre-existing relcache references to tables are ok... - Andres -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers