I have a security model I have implemented in another (non-SQL)
database environment that I would like to use in Postgresql. I have
read the rules and set returning functions documentation but I still
don't see how it would work in Postgresql. Any ideas or direction would
be greatly appreciated.
I want to have multiple groups A, B, C where each group could only see
a subset of a table (any number of groups would be possible). If a user
is a member of groups A and B then the rows they can see should be the
union of what A and B can see. Ideally I could just write a SELECT rule
for a table or view that would somehow intersect the result rows of the
query with the result of the security function (I think Oracle has
something like this). So is it possible to write independent "access"
functions for each group and have them be dynamically combined based on
the group membership of the user? I want to do this at the database
level so the security can be enforced for any application or report
generator that is allowed to connect.
Thanks,
John DeSoi, Ph.D.