On Tue, Mar 23, 2010 at 8:16 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> Alvaro Herrera <alvherre@commandprompt.com> writes:
>> I wonder if this is simpler now that we got rid of the flat files stuff.
>> We could validate the user once we've connected to a database and thus
>> able to poke at the local user catalog, not just the global one. I
>> think that was a serious roadblock.
>
> I think it'd be a mistake to invent a separate catalog for local users;
> what had been nice clean foreign key relationships (eg, relowner ->
> pg_auth.oid) would suddenly become a swamp.
>
> My first thought about a catalog representation would be to add a column
> to pg_auth which is a DB OID for local users or zero for global users.
> However, you'd probably want to prevent local users and global users
> from having the same names, and it's not very clear how to do that
> with this representation (though that'd be even worse with separate
> catalogs). I guess we could fall back on a creation-time check (ick).
Could we use a suitably defined exclusion constraint?
...Robert