Списък с неща, които не сте разбрали:
-
ALTER DEFAULT PRIVILEGES
не променя разрешенията за нито един съществуващ обект, във вашия случай схемата.Трябва да да предоставите
CREATE
привилегия на схемата:GRANT CREATE ON SCHEMA tn_schema TO tn_beta_migrator;
-
ALTER DEFAULT PRIVILEGES
операторът, който сте изпълнили, ще засегне само разрешенията за таблици, създадени от потребителpostgres
в схемаtn_schema
, но изглежда, че искатеtn_beta_migrator
за създаване на таблици.Нямате нужда от
ALTER DEFAULT PRIVILEGES
изобщо, тъй като потребителят, който създава таблицата, става собственик на таблицата и има всички привилегии върху таблицата по подразбиране. -
Можете да видите привилегиите по подразбиране с
\ddp
вpsql
. -
Схемите са част от база данни, така че трябва да се свържете с базата данни, за да видите нейните схеми.
Ако искате таблиците, създадени от tn_beta_migrator
получите определени разрешения по подразбиране, трябва да дефинирате привилегии по подразбиране за този потребител (и не за postgres
, както направихте Вие):
ALTER DEFAULT PRIVILEGES FOR ROLE tn_beta_migrator IN SCHEMA tn_schema GRANT ...;