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

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: BUG #6706: pg_upgrade fails when plpgsql dropped/re-created
Дата
Msg-id 14513.1341081467@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: BUG #6706: pg_upgrade fails when plpgsql dropped/re-created  (Bruce Momjian <bruce@momjian.us>)
Ответы Re: BUG #6706: pg_upgrade fails when plpgsql dropped/re-created  (Bruce Momjian <bruce@momjian.us>)
Список pgsql-bugs
Bruce Momjian <bruce@momjian.us> writes:
> On Sat, Jun 30, 2012 at 11:12:56AM -0400, Tom Lane wrote:
>> Did it restore the nonstandard ownership of the schema?

> No --- drop/create of the public schema produces:
> ...
> However, surprisingly, a simple pg_dump/restore also does not preserve
> the public schema permissions either.  :-(

Right.  My point is that there is a whole lot of stuff that initdb
creates but does not mark "pinned" in pg_depend, with the intention that
users could drop it, and perhaps recreate similarly-named objects with
different properties.  We have never had a very sane story for what
would happen to such modified objects during dump/reload, and pg_upgrade
is no better (or worse).  I don't think there's too much point in
thinking about plpgsql alone without also worrying about

    * system views (including the information schema)
    * collations
    * conversions
    * text search dictionaries

Now for a lot of this stuff, it's perhaps reasonable that a major
version upgrade would restore the objects to standard state.  I'm
thinking though that it's rather bad that we treat either the public
schema or the plpgsql language that way.  In particular, an admin
might have wished to remove or restrict those two objects for security
reasons, in which case he'd not be very happy if pg_upgrade resurrected
them or restored their default permissions.

BTW, I think your proposed fix doesn't work even without considering
this angle --- it would prevent creation of the duplicate pg_extension
row, but the binary-upgrade dump script is still going to try to create
the extension's member objects.

            regards, tom lane

В списке pgsql-bugs по дате отправления:

Предыдущее
От: Bruce Momjian
Дата:
Сообщение: Re: BUG #6706: pg_upgrade fails when plpgsql dropped/re-created
Следующее
От: "Greg Sabino Mullane"
Дата:
Сообщение: Re: BUG #6707: ERROR: could not open relation with OID