sql >> Databasteknik >  >> RDS >> PostgreSQL

Vad är skillnaden mellan en användare och en roll?

Tidigare versioner av Postgres, och vissa andra DB-system, har separata koncept för "grupper" (som ges åtkomst till databasobjekt) och "användare" (som kan logga in och är medlemmar i en eller flera grupper).

I moderna versioner av Postgres har de två begreppen slagits samman:en "roll" kan ha möjligheten att logga in, möjligheten att "ärva" från andra roller (som att en användare är medlem i en grupp eller att en grupp är medlem från en annan grupp), och tillgång till databasobjekt.

För enkelhetens skull hänvisar många verktyg och manualer till alla användare med inloggningsbehörighet som en "användare" eller "inloggningsroll", och alla utan som en "grupp" eller "grupproll", eftersom det är användbart och vanligt att hålla sig ungefär till den strukturen. Detta är helt och hållet en terminologikonvention, och för att förstå behörigheterna behöver du bara förstå de tillgängliga alternativen när skapa roller och ge dem åtkomst .

Återigen bara för bekvämlighets skull accepterar Postgres fortfarande kommandon med den gamla terminologin, såsom code>SKAPA ANVÄNDARE och SKAPA GRUPP som båda är alias för SKAPA ROLL . Om du skriver SKAPA ANVÄNDARE , LOGGA IN behörighet kommer att läggas till den nya rollen som standard, för att emulera det gamla beteendet när det var ett separat kommando.



  1. Kör MySQLDump utan att låsa tabeller

  2. Returnera parametrarna för en lagrad procedur eller användardefinierad funktion i SQL Server (T-SQL-exempel)

  3. Vad är det bästa sättet att slumpmässigt 1000 rader (inte duplicera rad) från mysql?

  4. MySQL lagrad procedur infoga flera rader från listan