Um einen Benutzer zu identifizieren, wird die Benutzerkennung benötigt. Die
Benutzerkennung muss eindeutig in PostgreSQL sein und ist wie schon erwähnt
nicht notwendigerweise mit der vom Betriebssystem identisch. Alle
Benutzerinformationen werden in einer Systemtabelle von PostgreSQL, die
pg_shadow heißt, gespeichert. Auf diese Tabelle kann nur ein
Superuser zugreifen. Parallel gibt es noch ein View pg_user von der
Tabelle pg_shadow, welches für einen normalen Benutzer zugreifbar
ist. Der wesentliche Unterschied zwischen pg_user und
pg_shadow liegt darin, dass die Passwörter in pg_user
nicht mehr in Klartext sondern mit Sternchen dargestellt werden, damit sie
vor den normalen Benutzern geschützt werden.
Tabelle 2.1:
Schema der Tabelle pg_shadow
Attribut
Typ
usename
Text
usesysid
Integer
usecreatedb
Boolean
usetrace
Boolean
usesuper
Boolean
usecatupd
Boolean
passwd
Text
valuntil
Zeitspanne
Unter usename werden die Benutzerkennungen gespeichert, jede
Benutzerkennung hat auch eine eindeutige SystemID zu PostgreSQL, die in der
Spalte usesysid enthält ist. Die Attribute usecreatedb und
usesuper repräsentieren die Systemberechtigungen von jedem Benutzer.
Dies wird im folgenden Abschnitt beschrieben.