On Tue, 2002-08-27 at 22:11, Bruce Momjian wrote:
> Oliver Elphick wrote:
> > Has this behaviour been carried through into GRANT and REVOKE? If the
> > object is transparency for local users, it should be possible in
> > database "test" to say "GRANT ... TO fred" and have "fred" understood as
> > "fred@test".
>
> No changes have been made anywhere except for the username passed by the
> client. All reporting of user names and all administration go by their
> full pg_shadow username, so global user dave@ is dave in pg_shadow, and
> dave is dave@db1 in pg_shadow. One goal of this patch was a small
> footprint.
That is understandable, but it means that there is an inconsistency of
usage for _every_ user.
You connect as "postgres@" and "fred", but for all other purposes -
CREATE USER, GRANT, REVOKE, CURRENT_USER, etc. you will be "postgres"
and "fred@database". This seems likely to cause users confusion, don't
you think? It also means that any applications which test usernames
will have to be altered to strip off the "@database".
So it seems to me that you have achieved a small footprint within the
code, but potentially at the cost of a larger impact on users.
--
Oliver Elphick Oliver.Elphick@lfix.co.uk
Isle of Wight, UK
http://www.lfix.co.uk/oliver
GPG: 1024D/3E1D0C1C: CA12 09E0 E8D5 8870 5839 932A 614D 4C34 3E1D 0C1C
======================================== "But the end of all things is at hand; be ye therefore sober, and watch
untoprayer. And above all things have fervent love among yourselves; for love shall cover the multitude of
sins." I Peter 4:7,8