sql >> Databáze >  >> RDS >> PostgreSQL

Udělení oprávnění PostgreSQL není viditelné

Seznam věcí, které jste špatně pochopili:

  1. 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;
    
  2. ALTER DEFAULT PRIVILEGES příkaz, který jste spustili, ovlivní pouze oprávnění k tabulkám vytvořeným uživatelem postgres ve schématu tn_schema , ale zdá se, že chcete tn_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.

  3. Výchozí oprávnění můžete zobrazit pomocí \ddp v psql .

  4. 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 ...;



  1. Zřetězení orX v staviteli dotazů Doctrine2

  2. Ověření Django IntegerRangeField se nezdařilo

  3. Vrátit řádek s maximální hodnotou jednoho sloupce na skupinu

  4. Rozdíl mezi vnitřním a vnějším spojením v SQL