On Wed, 2022-11-23 at 13:41 +0100, Holger Jakobs wrote: > How come a user who has issued "set role to postgres", so that the > current user is postgres, cannot connect to a database? > > Are superuser rights not sufficient? > > student@[local]:5434//~:=# \c einkauf > Verbindung zum Server auf Socket »/var/run/postgresql/.s.PGSQL.5434« > fehlgeschlagen: FATAL: keine Berechtigung für Datenbank »einkauf« > DETAIL: Benutzer hat das CONNECT-Privileg nicht. > Vorherige Verbindung wurde behalten > student@[local]:5434//~:=# grant connect on database einkauf to postgres; > GRANT > student@[local]:5434//~:=# \c einkauf > Sie sind jetzt verbunden mit der Datenbank »einkauf« als Benutzer »student«. > student@[local]:5434//einkauf:=> > > Who can explain this? It's version 15 I'm using for the first time, > haven't checked with oder versions. PostgreSQL doesn't use the current role for the new connection, but the role you used to authenticate originally. See \conninfo or "SELECT session_user;" to see that role. Yours, Laurenz Albe