Benutzer - Gruppenzugehörigkeiten auslesen ?

Hallo zusammen

ich arbeite mit postgresSQL und dem PGAdmin 3.
Ich müsste zum überprüfen und dokumentieren eine Tabelle erstellen mit Benutzername und gruppenzugehörikeiten . Also in welchen Gruppen der Benutzer alles drin ist. Über SQL Abfrage oder mit PGAdmin ?

Wir haben hier sehr viele Benutzer und manuell bin ich dafür nächstes Jahr noch dran :slight_smile:


Danke für euere Hilfe.

Gruß Tottty

pg_group ist Dein Freund.


Andreas

Wo finde ich die pg_group denn ?

Wie wäre es mit SELECT … FROM … ?

Andreas

Der spuckt dann aber nur IDs aus , vielleicht ne komplette Lösung ?
Wenn ich das jeden Tag machen würde, brächte ich ja nicht hier zu Fragen :frowning:

Dankeschon ! :slight_smile:

Wie wäre es, wenn Du mal einfach a bissl SQL lernst?

test=*# select * from pg_user where usename ~ 'u.*';
 usename | usesysid | usecreatedb | usesuper | usecatupd | userepl |  passwd  | valuntil | useconfig
---------+----------+-------------+----------+-----------+---------+----------+----------+-----------
 u1      |    16571 | f           | f        | f         | f       | ******** |          |
 u12     |    16572 | f           | f        | f         | f       | ******** |          |
 u13     |    16573 | f           | f        | f         | f       | ******** |          |
 u2      |    16574 | f           | f        | f         | f       | ******** |          |
(4 rows)

test=*# select * from pg_group ;
 groname | grosysid |       grolist
---------+----------+---------------------
 g1      |    16569 | {16571,16572,16573}
 g2      |    16570 | {16574}
(2 rows)

test=*# select g.groname as "Gruppe", u.usename as "User" from (select groname, unnest(grolist) as u_id from pg_group) g left join pg_user u on (g.u_id=u.usesysid);
 Gruppe | User
--------+------
 g1     | u1
 g1     | u12
 g1     | u13
 g2     | u2
(4 rows)

Andreas