sql >> Database teknologi >  >> RDS >> PostgreSQL

Hvad er forskellen mellem en bruger og en rolle?

Tidligere versioner af Postgres og nogle andre DB-systemer har separate begreber "grupper" (som får adgang til databaseobjekter) og "brugere" (som kan logge ind og er medlemmer af en eller flere grupper).

I moderne versioner af Postgres er de to koncepter blevet slået sammen:en "rolle" kan have muligheden for at logge ind, evnen til at "arve" fra andre roller (som en bruger, der er medlem af en gruppe, eller en gruppe, der er medlem af en anden gruppe), og adgang til databaseobjekter.

For nemheds skyld henviser mange værktøjer og manualer til enhver bruger med login-tilladelse som en "bruger" eller "login-rolle", og enhver uden som en "gruppe" eller "grupperolle", da det er nyttigt og almindelig praksis at holde sig nogenlunde til den struktur. Dette er udelukkende en terminologikonvention, og for at forstå tilladelserne behøver du kun forstå de tilgængelige muligheder, når oprettelse af roller og giver dem adgang .

Igen rent for nemheds skyld accepterer Postgres stadig kommandoer ved hjælp af den gamle terminologi, såsom kode>OPRET BRUGER og OPRET GRUPPE som begge er aliaser for OPRET ROLLE . Hvis du skriver CREATE USER , LOGIN tilladelse vil blive tilføjet til den nye rolle som standard for at efterligne den gamle adfærd, da det var en separat kommando.



  1. Vis et BLOB-billede PHP MySQL sammen med andre data

  2. Hvordan indstilles tidszone for Postgres psql?

  3. Hvordan genererer man DDL programmatisk fra Oracle-databasen?

  4. understøtter rails postgres adapter ssl?