Re: BUG #6706: pg_upgrade fails when plpgsql dropped/re-created

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Bruce Momjian <bruce(at)momjian(dot)us>
Cc: m(dot)sakrejda(at)gmail(dot)com, pgsql-bugs(at)postgresql(dot)org
Subject: Re: BUG #6706: pg_upgrade fails when plpgsql dropped/re-created
Date: 2012-07-02 17:01:51
Message-ID: 19241.1341248511@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

Bruce Momjian <bruce(at)momjian(dot)us> writes:
> +
> + /*
> + * We unconditionally create the extension, so we must drop it if it
> + * exists. This could happen if the user deleted 'plpgsql' and then
> + * readded it, causing its oid to be greater than FirstNormalObjectId.
> + */
> + appendPQExpBuffer(q, "DROP EXTENSION IF EXISTS %s;\n", qextname);

This doesn't seem like anything but a wart :-(. It's unlike the
behavior for every other kind of object, it introduces the inconsistent
behavior even in non-binary-upgrade cases, and it does nothing at all to
address the points I made about reproducing the previous state in cases
where the admin removed the language or changed its permissions.

regards, tom lane

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Bruce Momjian 2012-07-02 17:28:36 Re: BUG #6706: pg_upgrade fails when plpgsql dropped/re-created
Previous Message Bruce Momjian 2012-07-02 15:42:11 Re: BUG #6706: pg_upgrade fails when plpgsql dropped/re-created