
Ich habe zwei Rollen in meiner Postgres-Instanz:Rolle1UndRolle2.
Ich führe den folgenden Befehlssatz als Superuser aus.
GRANT CREATE on DATABASE database1 TO role1;
\c database1;
SET ROLE role1;
CREATE SCHEMA schema1;
SET ROLE "user who is super user";
GRANT USAGE on SCHEMA schema1 TO role2;
GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA schema1 TO role2;
Ich verwende dann Rolle1, um Tabellen im Schema Schema1 zu erstellen. Der Eigentümer der Tabellen ist Rolle1.
Aus irgendeinem Grund werden mir keine Tabellen angezeigt, wenn ich \dt in der Datenbank1 als Rolle2 ausführe. Sollte ich die Tabellen in Schema1 nicht sehen, da ich für alle Tabellen alle Berechtigungen habe?