Re: Can't move extension out of pg_catalog

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: Can't move extension out of pg_catalog
Дата
Msg-id 2507.1339789795@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Can't move extension out of pg_catalog  (Daniele Varrazzo <daniele.varrazzo@gmail.com>)
Список pgsql-bugs
Daniele Varrazzo <daniele.varrazzo@gmail.com> writes:
> After moving an extension into the pg_catalog schema, it seems
> impossible to move it somewhere else:

> test=# create extension ltree;
> CREATE EXTENSION
> test=# alter extension ltree set schema pg_catalog;
> ALTER EXTENSION
> test=# alter extension ltree set schema public;
> ERROR:  cannot remove dependency on schema pg_catalog because it is a
> system object.

Yeah, this is an implementation restriction that is unlikely to get
changed anytime soon.  The problem is that moving the extension's
objects into pg_catalog results in dropping all their namespace
dependencies (since pg_catalog is a pinned object) and then there
is no way to resurrect that data if we want to move them someplace else.
See changeDependencyFor() in catalog/pg_depend.c.

Possibly it would be better to disallow this ALTER in both directions,
ie remove the support for the "drop the dependency" case in
changeDependencyFor().

            regards, tom lane

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

Предыдущее
От: Daniele Varrazzo
Дата:
Сообщение: Can't move extension out of pg_catalog
Следующее
От: Euler Taveira
Дата:
Сообщение: Re: BUG #6695: PgAdminIII