Re: How to restore a dump containing CASTs into a database with a new user?

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: How to restore a dump containing CASTs into a database with a new user?
Дата
Msg-id 229216.1595191074@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: How to restore a dump containing CASTs into a database with a new user?  (Thorsten Schöning <tschoening@am-soft.de>)
Ответы Re: How to restore a dump containing CASTs into a database with a new user?  (Thorsten Schöning <tschoening@am-soft.de>)
Список pgsql-general
=?windows-1250?Q?Thorsten_Sch=F6ning?= <tschoening@am-soft.de> writes:
> Guten Tag Tom Lane,
> am Sonntag, 19. Juli 2020 um 20:37 schrieben Sie:
>> It's a security thing.  A user who can create such a cast can thereby
>> change the behavior of other people's queries.

> I'm not sure what your are telling me: Can CASTs only be created by
> superusers? I didn't read that in the docs.

The CREATE CAST man page says

    To be able to create a cast, you must own the source or the target
    data type and have USAGE privilege on the other type.

Right after that it says

    To create a binary-coercible cast, you must be superuser. (This
    restriction is made because an erroneous binary-coercible cast
    conversion can easily crash the server.)

but that is *not* what's at issue in your case.

> If they are not only created by superusers, how can I restore CASTs to
> a database owned by some other user?

In this case, you have to restore the cast as superuser, because nobody
else is going to be treated as owning these built-in types.

> Even if there was, I don't see why CASTs should be handled differently
> than all other objects successfully restored to have a new owner, when
> CASTs seem to be per database as well.

The restriction is there primarily because casts don't have names in any
normal sense, so users might invoke them without realizing it.  There's
no way to protect yourself against that by, say, using a restricted
search_path.

            regards, tom lane



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

Предыдущее
От: Thorsten Schöning
Дата:
Сообщение: Re: How to restore a dump containing CASTs into a database with a new user?
Следующее
От: Thorsten Schöning
Дата:
Сообщение: Re: How to restore a dump containing CASTs into a database with a new user?