On Mon, May 22, 2017 at 7:05 AM, Albe Laurenz <laurenz(dot)albe(at)wien(dot)gv(dot)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.
--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company