Re: BUG #5511: Handling of case in Username and database names are inconsistant. - Mailing list pgsql-bugs

From Tom Lane
Subject Re: BUG #5511: Handling of case in Username and database names are inconsistant.
Date
Msg-id 11897.1276870701@sss.pgh.pa.us
Whole thread Raw
In response to BUG #5511: Handling of case in Username and database names are inconsistant.  ("Brett Sutton" <bsutton@noojee.com.au>)
Responses Re: BUG #5511: Handling of case in Username and database names are inconsistant.  ("S. Brett Sutton" <bsutton@noojee.com.au>)
List pgsql-bugs
"Brett Sutton" <bsutton@noojee.com.au> writes:
> Essentially if you peform:
> create user Abc;
> Postgres creates a user abc (as expected).

Yeah, because *in the context of SQL* the standard mandates
case-folding.  But note that the actual user name here is "abc".
Not "Abc".

> The problem is that you cannot the use mixed case name in a jdbc url.import

I'm not sure that JDBC would be doing you any favors to try to support
that.  If it were to fold case for usernames in connection URLs, then
you'd have a problem logging into users that actually *were* mixed case.
The next step would be to invent a quoting convention for usernames in
URLs, and then you just have a mess.

We went around on this many years ago in the context of what psql should
do with user and database names supplied on the command line.  The
eventual conclusion, which has worked well since then, was that such
names should be taken as-is and not folded.  Now that was partially
forced by the fact that the shell would interfere with any plausible
quoting convention, but I think it's still a good precedent for handling
user and database names in other non-SQL contexts such as URLs.

            regards, tom lane

pgsql-bugs by date:

Previous
From: "Praveen Upadhyaya (ZA)"
Date:
Subject: odbc driver could not be loaded due to system error code 127
Next
From:
Date:
Subject: pg_upgrade issues