Re: username length character limits?

From: Dennis Gearon <gearond(at)fireserve(dot)net>
To: Stephan Szabo <sszabo(at)megazone(dot)bigpanda(dot)com>
Cc: postgresql <pgsql-general(at)postgresql(dot)org>
Subject: Re: username length character limits?
Date: 2004-07-04 00:16:49
Message-ID: 40E74C71.1040306@fireserve.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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?

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Christopher Browne 2004-07-04 00:44:40 Re: incremental backups?
Previous Message Stephan Szabo 2004-07-03 23:40:46 Re: username length character limits?