Poprzednie wersje Postgresa i niektóre inne systemy DB miały oddzielne koncepcje "grup" (które mają dostęp do obiektów bazy danych) i "użytkowników" (którzy mogą się logować i są członkami jednej lub więcej grup).
We współczesnych wersjach Postgresa te dwie koncepcje zostały połączone:„rola” może mieć możliwość logowania, możliwość „dziedziczenia” z innych ról (np. użytkownik będący członkiem grupy lub grupa będąca członkiem innej grupy) i dostęp do obiektów bazy danych.
Dla wygody wiele narzędzi i podręczników określa każdego użytkownika z uprawnieniami do logowania jako „użytkownika” lub „rolę logowania”, a każdego bez „grupy” lub „roli grupowej”, ponieważ przestrzeganie z grubsza tę strukturę. Jest to całkowicie konwencja terminologii i aby zrozumieć uprawnienia, musisz zrozumieć tylko opcje dostępne, gdy tworzenie ról i przyznanie im dostępu .
Ponownie, wyłącznie dla wygody, Postgres nadal akceptuje polecenia używając starej terminologii, takiej jak CREATE USER
i CREATE GROUP
które są obydwoma aliasami dla CREATE ROLE
. Jeśli napiszesz CREATE USER
, LOGIN
uprawnienia zostaną domyślnie dodane do nowej roli, aby emulować stare zachowanie, gdy było to oddzielne polecenie.