Greetings,
Due to the fact that group system id's and user system id's can overlap, pg_class will need to change in order to
accomedategroup ownership. The things I've thought of so far, in order of preference:
a) Add a boolean field 'relgroup_owned' which is 'false' when relowner is a user and 'true' when relowner is a
group.
b) Add an integer field 'relgroup_owner' which is the 'group' owner of the relation, this would imply 'dual'
ownership,ala unix semantics, but doesn't quite fit in w/ Postgres ACLs, imv.
c) Don't change pg_class's structure but change the meaning of 'relowner' such that positive numbers are 'user'
ownersand negative numbers are 'group' owners, where the group id is the abs(relowner). Similar to (a) but seems
kindof nasty to me. Also means that '0' couldn't ever be used for a system id, and that it'd be more difficult
tochange relowner to Oid later (probably involving something like (a)).
Thoughts?
Thanks,
Stephen