* Adam Brightwell (adam.brightwell@crunchydatasolutions.com) wrote:
> An array representation was also suggested by Simon (
> http://www.postgresql.org/message-id/CA+U5nMJGVdz6jX_YBJk99Nj7mWfGfVEmxtdc44LVHq64gkN8qg@mail.gmail.com).
> Obviously there are pro's and con's to either approach. I'm not married to
> it, but felt that a bitmask was certainly more efficient. However, I know
> that an array would be more extensible given that we could envision more
> than 64 role attributes. I'm uncertain if that is a potential reality or
> not, but I believe it is certainly worth considering.
I'd be pretty surprised if we actually got up to 64, and if we did we
could change it to a bytea. It wouldn't be the cleanest thing, but
using an array would change pg_authid from "same size as today" to
"quite a bit larger" and I don't really see the advantage. We use a bit
field for the GRANT-based permissions and people have to use functions
to decode those too and while it's not ideal, I don't feel like we hear
people complaining about it.
Thanks,
Stephen