Seznam věcí, které jste špatně pochopili:
-
ALTER DEFAULT PRIVILEGES
nezmění oprávnění k žádnému existujícímu objektu, ve vašem případě schématu.Musíte udělit the
CREATE
privilegium na schématu:GRANT CREATE ON SCHEMA tn_schema TO tn_beta_migrator;
-
ALTER DEFAULT PRIVILEGES
příkaz, který jste spustili, ovlivní pouze oprávnění k tabulkám vytvořeným uživatelempostgres
ve schématutn_schema
, ale zdá se, že chcetetn_beta_migrator
k vytváření tabulek.Nepotřebujete
ALTER DEFAULT PRIVILEGES
vůbec, protože uživatel, který vytváří tabulku, se stává vlastníkem tabulky a má ve výchozím nastavení všechna oprávnění k tabulce. -
Výchozí oprávnění můžete zobrazit pomocí
\ddp
vpsql
. -
Schémata jsou součástí databáze, takže se musíte k databázi připojit, abyste viděli její schémata.
Pokud chcete, aby tabulky vytvořil tn_beta_migrator
získat určitá oprávnění ve výchozím nastavení, musíte pro daného uživatele definovat výchozí oprávnění (a ne pro postgres
, jako jste to udělali vy):
ALTER DEFAULT PRIVILEGES FOR ROLE tn_beta_migrator IN SCHEMA tn_schema GRANT ...;