pg_group system table - Mailing list pgsql-sql

From Gordon Clarke
Subject pg_group system table
Date
Msg-id Pine.LNX.4.10.10002230719150.11555-100000@localhost.localdomain
Whole thread Raw
Responses Re: [SQL] pg_group system table
List pgsql-sql
Sent this msg over a week ago and had no replies and as I'm in need of an
answer asap I thought I'd resubmit it.

Thanks.
----------------------------------------

The pgsql doco mentions that there is no create group command, at least in
v6.5.2. Further, that one needs to insert directly into the system table
pg_group which is fine. 

So I retrieved the user id's I needed from pg_user and made the following
insert.

insert into pg_group(groname, grosysid, grolist) values('dba',50,'{102,101,100}');

Now I want to determine which group(s) a certain user is in. So I tried.

select groname from pg_group pg
where pg.grolist{} = 101;

Which doesn't work, nor does..

select groname from pg_group pg
where pg.grolist[] = 101;

As well as many other combinations I tried. Too many to list and I'm
obviously on the wrong path.

However, provided I know where that user id is in the list ie. second, the
query works. This is not what I want because I'm not necessarily going to
know where that user id is in the list. So how do I write the query in a
general way given just the user id and not its position?

A way around is to make 3 entries for the above insert and therefore the
user id will always be the first and only item in the list, but I don't
want to have to resort to that.

Cheers...Gordon
~~~~~~~~~~~~~~ 4ZzZ Brisbane's First Community FM Station ~~~~~~~~~~~~~~        The Demo Show - Supporting Australian
UnsignedArtists           Mon nights 6-7pm (0800-0900UTC) on 4ZzZ 102.1 FM                 http://www.4zzzfm.org.au/zed
(RAfeed)
 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~




pgsql-sql by date:

Previous
From: webmaster@duluoz.net
Date:
Subject: select returning mysterious null rows
Next
From: Peter Eisentraut
Date:
Subject: Re: [SQL] pg_group system table