PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Предоставянето на привилегия на PostgreSQL не се вижда

Списък с неща, които не сте разбрали:

  1. ALTER DEFAULT PRIVILEGES не променя разрешенията за нито един съществуващ обект, във вашия случай схемата.

    Трябва да да предоставите CREATE привилегия на схемата:

    GRANT CREATE ON SCHEMA tn_schema TO tn_beta_migrator;
    
  2. ALTER DEFAULT PRIVILEGES операторът, който сте изпълнили, ще засегне само разрешенията за таблици, създадени от потребител postgres в схема tn_schema , но изглежда, че искате tn_beta_migrator за създаване на таблици.

    Нямате нужда от ALTER DEFAULT PRIVILEGES изобщо, тъй като потребителят, който създава таблицата, става собственик на таблицата и има всички привилегии върху таблицата по подразбиране.

  3. Можете да видите привилегиите по подразбиране с \ddp в psql .

  4. Схемите са част от база данни, така че трябва да се свържете с базата данни, за да видите нейните схеми.

Ако искате таблиците, създадени от tn_beta_migrator получите определени разрешения по подразбиране, трябва да дефинирате привилегии по подразбиране за този потребител (и не за postgres , както направихте Вие):

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



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Проверка на минимална променливост в R или PostgreSQL

  2. Последователност на падане и каскада

  3. Цел за време за възстановяване на Pgbackrest

  4. Създаване на заявка за създаване на предизвикателен Django набор от заявки

  5. Postgresql рекурсивно самостоятелно присъединяване