sql >> Databasteknik >  >> RDS >> PostgreSQL

PostgreSQL-behörighetsbeviljande visas inte

En lista över saker du missförstått:

  1. ALTER DEFAULT PRIVILEGES ändrar inte behörigheterna för något befintligt objekt, i ditt fall schemat.

    Du måste bevilja CREATE privilegium på schemat:

    GRANT CREATE ON SCHEMA tn_schema TO tn_beta_migrator;
    
  2. ALTER DEFAULT PRIVILEGES uttalande du körde kommer endast att påverka behörigheterna för tabeller skapade av användaren postgres i schemat tn_schema , men det verkar som att du vill ha tn_beta_migrator för att skapa tabeller.

    Du behöver inte ALTER DEFAULT PRIVILEGES alls, eftersom användaren som skapar tabellen blir tabellägare och har alla privilegier på tabellen som standard.

  3. Du kan se standardbehörigheter med \ddp i psql .

  4. Scheman är en del av en databas, så du måste ansluta till databasen för att se dess scheman.

Om du vill att tabellerna skapas av tn_beta_migrator få vissa behörigheter som standard måste du definiera standardbehörigheter för den användaren (och inte för postgres , som du gjorde):

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



  1. Hur man beräknar procent i PostgreSQL

  2. Sammanfattning av MySQL-detaljposter som matchar efter IP-adressintervall - mySQL Jedi Knight krävs

  3. Hämta datum mellan olika datumintervall

  4. STRING_SPLIT() i SQL Server 2016:Uppföljning #2