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

PostgreSQL zrušení oprávnění z tabulek pg_catalog

dovolte mi, abych vám s tím pomohl:

  • 1. :protože pg_catalog je ve vlastnictví superuživatele postgres , takže se ujistěte, že se přihlašujete k serveru s touto rolí:oprávnění schématu pg_catalog

  • 2. :ujistěte se, že se připojujete vpravo databázi, která potřebuje UDĚLIT/ODVOLAT oprávnění na. GRANT/REVOKE ovlivní pouze aktuální databáze, ke které jste se připojili. To znamená, že po přihlášení pomocí účtu superuživatele vydejte:\c [the db] pro připojení k této databázi se shell změní na:[the db]=>

  • 3. :tabulky v pg_catalog výchozí hodnoty přiděleny SELECT tabulkám PUBLIC:v pg_catalog. Takže musíte spustit REVOKE SELECT FROM PUBLIC a poté GRANT SELECT příslušným uživatelům:

    ODVOLAT VEŘEJNOST VÝBĚR VŠECH TABULEK VE SCHÉMATU pg_catalog;

    GRANT SELECT ON TABLE [table] TO [uživatel];

    Pro tabulky seznamů v databázi:pg_class a pg_namespace .

A to je vše :)



  1. ScaleGrid PostgreSQL na cloudové infrastruktuře VMware

  2. SQL Server 2016:sys.dm_exec_function_stats

  3. Návrh datového modelu pro systém rezervace hotelových pokojů

  4. Ekvivalent RowID společnosti Oracle v MySQL