PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Nie można usunąć roli PostgreSQL. Błąd:`nie można usunąć, ponieważ niektóre obiekty od niego zależą`

DROP USER (lub DROP ROLE , to samo) nie może być kontynuowane, gdy rola nadal jest właścicielem czegokolwiek lub ma przyznane uprawnienia do innych obiektów.

Pozbądź się wszystkich uprawnień dzięki DROP OWNED (co nie wynika z samego sformułowania) . Instrukcja:

Więc niezawodna sekwencja poleceń do usunięcia roli to:

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

Uruchom oba polecenia w każdej bazie danych tego samego klastra gdzie rola jest właścicielem czegokolwiek lub ma jakiekolwiek uprawnienia!
I na koniec:

DROP USER ryan;
  • REASSIGN OWNED zmienia własność wszystkich obiektów aktualnie należących do roli.
  • DROP OWNED wtedy tylko odwołuje przywileje (własność z pominięciem).

Alternatywnie możesz pominąć REASSIGN OWNED . Następnie DROP OWNED usunie (także) wszystkie obiekty należące do użytkownika. (Czy na pewno?!)

Powiązane:



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Właściwy generator identyfikatorów Hibernate dla kolumny postgres serial/bigserial?

  2. Jak utworzyć użytkownika tylko do odczytu w PostgreSQL?

  3. Jak ustawić automatyczny przyrost klucza podstawowego w PostgreSQL?

  4. pobierz nazwę tabeli w wyniku zapytania Postgres

  5. postgresql - sql - liczba `true` wartości