Обсуждение: BUG #3654: Inconsistent handling of usernames

Поиск
Список
Период
Сортировка

BUG #3654: Inconsistent handling of usernames

От
"Radim Kolar"
Дата:
The following bug has been logged online:

Bug reference:      3654
Logged by:          Radim Kolar
Email address:      kolar.radim@gmail.com
PostgreSQL version: 8.2.5
Operating system:   Windows XP
Description:        Inconsistent handling of usernames
Details:

On Windows platform, users are named like 'Radim'. PostgreSQL doesnt seems
to be able to create user 'Radim'. i.e cant rename user 'radim' TO 'Radim';
PGSQL usernames are sadly not case sensitive.

Problem is when user Radim launches PGSQL app for example psql.exe. psql
grabs username of current user from Windows which is 'Radim'. Sadly
postgresql uses username for password hashing so even if user type right
password for 'radim' but Windows is trying to log
him as 'Radim', he is out of luck.

G:\Program Files\EnterpriseDB Postgres\8.2\bin>psql
Heslo:
psql: FATAL:  password authentication failed for user "Radim"

G:\Program Files\EnterpriseDB Postgres\8.2\bin>psql -U radim
Password for user radim:
psql: FATAL:  database "radim" does not exist

FIX: make libpq to convert usernames to lowercase, because even if i am
trying to create user 'Radim', pgsql store him in catalog as 'radim'.

Re: BUG #3654: Inconsistent handling of usernames

От
tomas@tuxteam.de
Дата:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On Thu, Oct 04, 2007 at 11:36:59PM +0000, Radim Kolar wrote:
>
> The following bug has been logged online:
>
> Bug reference:      3654
> Logged by:          Radim Kolar
> Email address:      kolar.radim@gmail.com
> PostgreSQL version: 8.2.5
> Operating system:   Windows XP
> Description:        Inconsistent handling of usernames
> Details:
>
> On Windows platform, users are named like 'Radim'. PostgreSQL doesnt seems
> to be able to create user 'Radim'. i.e cant rename user 'radim' TO 'Radim';
> PGSQL usernames are sadly not case sensitive.

This is probably not a bug. We can't see how you generated the user, but
if you want to have it case-sensitive you have to double-quote it (as
you would have to do for any other named object in the database):

  CREATE USER "Radim" WITH PASSWORD 'secret';

instead of:

  CREATE USER Radim WITH PASSWORD 'secret';

The second variant will create a lower-case user radim.

Hope that helps
- -- tomás
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)

iD8DBQFHBgsXBcgs9XrR2kYRAt4jAJ9mWW4NQvDZYAgAFcC5QlJB9qShowCfXEns
9435e3u7/gSKoLGe7eJhjKA=
=znKm
-----END PGP SIGNATURE-----