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

Przyznanie uprawnień PostgreSQL nie jest widoczne

Lista rzeczy, których nie zrozumiałeś:

  1. ALTER DEFAULT PRIVILEGES nie zmienia uprawnień do żadnego istniejącego obiektu, w twoim przypadku schematu.

    Musisz udzielić dotacji CREATE przywilej na schemacie:

    GRANT CREATE ON SCHEMA tn_schema TO tn_beta_migrator;
    
  2. ALTER DEFAULT PRIVILEGES uruchomiona instrukcja wpłynie tylko na uprawnienia do tabel utworzonych przez użytkownika postgres w schemacie tn_schema , ale wygląda na to, że chcesz tn_beta_migrator do tworzenia tabel.

    Nie potrzebujesz ALTER DEFAULT PRIVILEGES w ogóle, ponieważ użytkownik, który tworzy tabelę, staje się właścicielem tabeli i domyślnie ma do niej wszystkie uprawnienia.

  3. Możesz wyświetlić domyślne uprawnienia za pomocą \ddp w psql .

  4. Schematy są częścią bazy danych, więc musisz połączyć się z bazą danych, aby zobaczyć jej schematy.

Jeśli chcesz, aby tabele utworzone przez tn_beta_migrator domyślnie uzyskać określone uprawnienia, musisz zdefiniować domyślne uprawnienia dla tego użytkownika (a nie dla postgres , tak jak Ty):

ALTER DEFAULT PRIVILEGES FOR ROLE tn_beta_migrator IN SCHEMA tn_schema GRANT ...;



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Połączenie odrzucone (PGError) (postgresql i rails)

  2. Dodaj tygodnie do daty w PostgreSQL

  3. Jak wstawić nową linię w PostgreSQL

  4. Jak zwrócić tablicę jsonb i tablicę obiektów z moich danych?

  5. Zmienianie pola Enum za pomocą Alembic