Смените владельца postgres на другого пользователя. - PullRequest
0 голосов
/ 11 декабря 2019

Я использую PostgreSQL 9.5.19.

Я хочу изменить владельца некоторых таблиц. Все эти таблицы находятся в одной базе данных my_db в схеме public.

Я прочитал сообщение Изменить OWNER для всех таблиц одновременно в PostgreSQL .

Благодаря этому посту операция прошла успешно, но частично. Большая часть таблицы принадлежит postgres пользователю, а не new_user.

Я пытался вручную сменить владельца, но это не удалось.

1 Ответ

0 голосов
/ 11 декабря 2019

Вы можете изменить владельца таблиц, принадлежащих postgres, если вы являетесь суперпользователем.

Но вы не сможете REASSIGN OWNED, потому что postgres должен владеть системными объектами.

Возможно, вы можете использовать psql \gexec:

SELECT format('ALTER TABLE %I SET OWNER = willi;', table_name)
FROM information_schema.tables
WHERE ... \gexec

Вы можете заполнить соответствующее WHERE условие.

...