Une liste de choses que vous avez mal comprises :
-
ALTER DEFAULT PRIVILEGES
ne modifie pas les autorisations sur un objet existant, dans votre cas le schéma.Vous devez accorder le
CREATE
privilège sur le schéma :GRANT CREATE ON SCHEMA tn_schema TO tn_beta_migrator;
-
Les
ALTER DEFAULT PRIVILEGES
l'instruction que vous avez exécutée n'affectera que les autorisations sur les tables créées par l'utilisateurpostgres
dans le schématn_schema
, mais il semble que vous voulieztn_beta_migrator
pour créer des tableaux.Vous n'avez pas besoin de
ALTER DEFAULT PRIVILEGES
du tout, puisque l'utilisateur qui crée la table devient le propriétaire de la table et a tous les privilèges sur la table par défaut. -
Vous pouvez afficher les privilèges par défaut avec
\ddp
danspsql
. -
Les schémas font partie d'une base de données, vous devez donc vous connecter à la base de données pour voir ses schémas.
Si vous voulez que les tables créées par tn_beta_migrator
obtenir certaines autorisations par défaut, vous devez définir des privilèges par défaut pour cet utilisateur (et pas pour postgres
, comme vous l'avez fait):
ALTER DEFAULT PRIVILEGES FOR ROLE tn_beta_migrator IN SCHEMA tn_schema GRANT ...;