Ответ 1
Выберите роль с правами суперпользователя и попробуйте изменить владельца таблицы.
ALTER TABLE public.myname_record OWNER TO rndb;
У меня есть база данных rndb и создана новая таблица myname_record, которая создается с владельцем "postgres" по умолчанию. В моей программе я должен был сменить владельца на "rndb", но я его пропустил. Теперь мне нужно сделать это в консоли, поэтому я вхожу с командой
psql=>psql -Urndb
а затем смена владельца с помощью следующего запроса
rndb=>ALTER TABLE public.myname_record OWNER to rndb;
но он говорит, что вы должны быть владельцем, чтобы сделать эти изменения. Я могу понять, потому что я логин через rndb, он дает эту ошибку. Но как сделать это на самом деле.
Выберите роль с правами суперпользователя и попробуйте изменить владельца таблицы.
ALTER TABLE public.myname_record OWNER TO rndb;
Вы должны подключиться как текущий владелец таблицы, а не пользователь, которому вы хотите изменить владельца таблицы. Поскольку это postgres
:
psql -U postgres
или
sudo -u postgres psql
по мере необходимости.
(Кроме того, суперпользователь всегда может изменять владельцы таблиц от чего-либо до чего-либо).