PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Ролята на PostgreSQL не може да бъде премахната. Грешка:„не може да бъде премахната, защото някои обекти зависят от нея“.

DROP USER (или DROP ROLE , същото нещо) не може да продължи, докато ролята все още притежава нещо или има предоставени привилегии върху други обекти.

Отървете се от всички привилегии с DROP OWNED (което не е твърде очевидно от формулировката) . Ръководството:

Така че надеждната последователност от команди за премахване на роля е:

REASSIGN OWNED BY ryan TO postgres;  -- or some other trusted role
DROP OWNED BY ryan;

Изпълнете и двете команди във всяка база данни от същия клъстер където ролята притежава нещо или има някакви привилегии!
И накрая:

DROP USER ryan;
  • REASSIGN OWNED променя собствеността за всички обекти, притежавани в момента от ролята.
  • DROP OWNED след това само отменя привилегии (собственост от пътя).

Като алтернатива можете да пропуснете REASSIGN OWNED . След това DROP OWNED (също) ще премахне всички обекти, притежавани от потребителя. (Сигурен ли си?!)

Свързани:



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Google Cloud SQL – съхранението на Postgresql продължава да расте

  2. Postgresql заявка за получаване на брой на месеци в рамките на една година

  3. Как да приложим функция към всеки елемент от колона на масив в Postgres?

  4. Как да проверя дали услуга, чието име не знам, работи на Ubuntu

  5. Уникална комбинация в маса