En liste over ting, du har misforstået:
-
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;
-
ALTER DEFAULT PRIVILEGES
sætning du kørte vil kun påvirke tilladelserne på tabeller oprettet af brugerenpostgres
i skematn_schema
, men det ser ud til, at du vil havetn_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. -
Du kan se standardprivilegier med
\ddp
ipsql
. -
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 ...;