Как изменить право собственности на таблицу в базе данных

У меня есть база данных rndb и создана новая таблица myname_record, которая создается с владельцем "postgres" по умолчанию. В моей программе я должен был сменить владельца на "rndb", но я его пропустил. Теперь мне нужно сделать это в консоли, поэтому я вхожу с командой

psql=>psql -Urndb 

а затем смена владельца с помощью следующего запроса

rndb=>ALTER TABLE public.myname_record OWNER to rndb;

но он говорит, что вы должны быть владельцем, чтобы сделать эти изменения. Я могу понять, потому что я логин через rndb, он дает эту ошибку. Но как сделать это на самом деле.

Ответ 1

Выберите роль с правами суперпользователя и попробуйте изменить владельца таблицы.

ALTER TABLE public.myname_record OWNER TO rndb;

Ответ 2

Вы должны подключиться как текущий владелец таблицы, а не пользователь, которому вы хотите изменить владельца таблицы. Поскольку это postgres:

psql -U postgres

или

sudo -u postgres psql

по мере необходимости.

(Кроме того, суперпользователь всегда может изменять владельцы таблиц от чего-либо до чего-либо).