2014-09-16 4 views
2

Я пытаюсь удалить роль psql, предварительно назначив связанный объект роли postgres. Но я все еще получаю сообщение об ошибке removal of role "xxx" failed: ERROR: role "xxx" cannot be dropped because some objects depend on itОшибка при удалении роли postgres

DETAIL: owner of database xxx_db

Ниже процесс я использую, чтобы удалить роль (выполняемого скрипта):

su postgres -c "psql xxx_db -c \"REASSIGN OWNED BY xxx TO postgres\"" 2>&1 - OK

su postgres -c "dropuser tasip" 2>&1 - это линия выбросить ошибку при выполнении.

Но если выполнить эту строку в стороне от скрипта, я получу роль tasip удален. Есть ли что-то, что мне не хватает в этом процессе?

Заранее спасибо за помощь

Приветствия

+0

Postgres версия? От этого зависит поведение или «REASSIGN OWNED» в отношении владения базой данных. –

+0

извините за поздний ответ, версия 9.1.13 – renard

ответ

0

В конце концов я узнал решение.

Это был не хороший синтаксис для reassignation, собственно одно:

ALTER DATABASE adatabase OWNER TO postgres 

Тогда становится возможным отказаться от пользователя, владеющего «adatabase» перед reassignation в Postgres.

Смежные вопросы