Re: BUG #8586: Misleading fe_sendauth error message

Поиск
Список
Период
Сортировка
От Erik de Castro Lopo
Тема Re: BUG #8586: Misleading fe_sendauth error message
Дата
Msg-id 20131111151938.36cb6bcaf4b83b70b0d068aa@mega-nerd.com
обсуждение исходный текст
Ответ на Re: BUG #8586: Misleading fe_sendauth error message  (Tom Lane <tgl@sss.pgh.pa.us>)
Ответы Re: BUG #8586: Misleading fe_sendauth error message
Список pgsql-bugs
Tom Lane wrote:

> mle+tools@mega-nerd.com writes:
> > Running the command:
> >     PGPASSFILE=pgpass psql --no-password --username myname mydb
> > --command="\dt"
> > works fine if the port number in the pgpass file is correct, but if the port
> > number is incorrect the error message is:
> >     psql: fe_sendauth: no password supplied
> > which is highly misleading. Surely the error message should be "connection
> > refused" or some such?
>
> I'm not sure how we could improve that.  If the port number in the
> password file doesn't match the intended connection, that means the
> entry doesn't apply to this connection.  We can hardly issue error
> messages on the basis of the presence of unrelated entries in a
> .pgpass file.  So what the code is seeing is that the server demanded
> a password (or so I'd assume), and it did not have one to give.

I haven't read the code, but my guess is that psql does the following:

 a) Grabs the user and database name from command line.
 b) Looks up dbname in pgpassfile to get host and port number etc.
 c) Connects to host:port and uses supplied username/password.

When the connect fails in step c), the error should be "connection failed".

Is this not how it should work?

Erik
--
----------------------------------------------------------------------
Erik de Castro Lopo
http://www.mega-nerd.com/

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

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: BUG #8586: Misleading fe_sendauth error message
Следующее
От: Tom Lane
Дата:
Сообщение: Re: BUG #8586: Misleading fe_sendauth error message