Re: username length character limits?

Поиск
Список
Период
Сортировка
От Stephan Szabo
Тема Re: username length character limits?
Дата
Msg-id 20040703183510.I23145@megazone.bigpanda.com
обсуждение исходный текст
Ответ на username length character limits?  (Dennis Gearon <gearond@fireserve.net>)
Ответы Re: username length character limits?  (Dennis Gearon <gearond@fireserve.net>)
Список pgsql-general
On Sat, 3 Jul 2004, Dennis Gearon wrote:

> 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.
>
> So, if I >>WANT<< a user name with case:
>
> ((B))
> Creating user in psql, I will have to use double quotes?
> To OPEN psql using that user, , it will respect case automatically?

This one.  Note that using the createuser shell script does the quoting
for you.

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

Then, you create it without double quotes and the name is converted to
lower case.  If you're using an interface which takes the username given
exactly (like psql) then you need to provide the lower case version of the
name (as above, using foo to refer to the user Foo, while using Foo to
refer to the user "Foo")


В списке pgsql-general по дате отправления:

Предыдущее
От: Christopher Browne
Дата:
Сообщение: Re: incremental backups?
Следующее
От: Dennis Gearon
Дата:
Сообщение: Re: username length character limits?