Re: username length character limits? - Mailing list pgsql-general

From Dennis Gearon
Subject Re: username length character limits?
Date
Msg-id 40E74C71.1040306@fireserve.net
Whole thread Raw
In response to username length character limits?  (Dennis Gearon <gearond@fireserve.net>)
List pgsql-general
Stephan Szabo wrote:

> On Sat, 3 Jul 2004, Dennis Gearon wrote:
>
>
>>Stephan Szabo wrote:
>>
>>
>>>IIRC, psql (and the createuser shell script and such) treat it as if you
>>>had double quoted its argument because of the way shells handle quotes
>>>which would necessitate something like '"FOO"' to use a quoted uppercase
>>>name. So, if you say psql FOO -U BAR, you're saying log into database
>>>"FOO" as user "BAR".
>>>
>>>
>>
>>I created the user from inside of a psql session.
>>
>>And I cannot either connect from invoking a different psql session from the shell,
>>nor from PHP using it's compiled in c library for postgres.
>>
>>It seems it's another gotcha with this database. I wouldn't have thought
>>it would so difficult to insert upper(whatever was enterd) into the
>>database, and validate it the same way.
>
>
> Create user Foo and Create user "Foo" are creating users with different
> names. Since we want to allow both names to exist at the same time and for
> you to refer to either, there needs to be a mechanism for doing so.  I
> don't know about PHP, but as I said above, psql does not treat its
> arguments as normal identifiers (thus lowercasing them) because it was
> decided to be simpler for people to refer to either user.  For the former,
> it is foo and the latter Foo.
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 6: Have you searched our list archives?
>
>                http://archives.postgresql.org
>
>
So, if I >>WANT<< a user name with case:

((A))
Creating user in psql, it will respect case automatically?
To OPEN psql using that user, I have to put it in double quotes?

    (to those new to postgres, the '#' means superuser is logged in)
    -------------------------------------------------------------------
    database_name# create user CasedNameForUser with password 'password';
    database_name#\q
    user/system_prompt> psql -U "CasedNameForUser" -d dbase -p port
    password:
    Congratulations statements ....
    dbase_name_as_prompt

###OR###

((B))
Creating user in psql, I will have to use double quotes?
To OPEN psql using that user, , it will respect case automatically?

    (to those new to postgres, the '#' means superuser is logged in)
    -------------------------------------------------------------------
    database_name# create user "CasedNameForUser" with password 'password';
    database_name#\q
    user/system_prompt> psql -U CasedNameForUser -d dbase -p port
    password:
    Congratulations statements ....
    dbase_name_as_prompt


and the converse, if I >>WANT<< a user name withOUT case:

What then?


pgsql-general by date:

Previous
From: Stephan Szabo
Date:
Subject: Re: username length character limits?
Next
From: Christopher Browne
Date:
Subject: Re: incremental backups?