sql >> Database teknologi >  >> RDS >> PostgreSQL

PostgreSQL-privilegietildeling er ikke synlig

En liste over ting, du har misforstået:

  1. ALTER DEFAULT PRIVILEGES ændrer ikke tilladelserne på noget eksisterende objekt, i dit tilfælde skemaet.

    Du skal bevilge CREATE privilegium på skemaet:

    GRANT CREATE ON SCHEMA tn_schema TO tn_beta_migrator;
    
  2. ALTER DEFAULT PRIVILEGES sætning du kørte vil kun påvirke tilladelserne på tabeller oprettet af brugeren postgres i skema tn_schema , men det ser ud til, at du vil have tn_beta_migrator at oprette tabeller.

    Du behøver ikke ALTER DEFAULT PRIVILEGES overhovedet, da den bruger, der opretter tabellen, bliver tabellens ejer og har alle rettigheder på bordet som standard.

  3. Du kan se standardprivilegier med \ddp i psql .

  4. Skemaer er en del af en database, så du skal oprette forbindelse til databasen for at se dens skemaer.

Hvis du vil have tabellerne oprettet af tn_beta_migrator få visse tilladelser som standard, skal du definere standardprivilegier for den pågældende bruger (og ikke for postgres , ligesom du gjorde):

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



  1. Vælg den største værdi for hver sidste 7 dage

  2. Sådan aktiveres ENUM'er i Symfony 2 / Doctrine

  3. Hvordan åbner man en SDF-fil (SQL Server Compact Edition)?

  4. Opret en "Sidst ændret" kolonne i SQL Server