Обсуждение: ODBC gives pq_recvbuf: unexpected EOF on client connection

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

ODBC gives pq_recvbuf: unexpected EOF on client connection

От
Cedar Cox
Дата:
Hi,
I'm using ODBC/MS Access and every time my client shuts down
I get the log message:

pq_recvbuf: unexpected EOF on client connection

Is there something I'm doing wrong here?  I haven't been too bothered by
this but I do wonder...

Many thanks for any tips!

-Cedar

(yes I did copy the JDBC post.. ;)



Re: ODBC gives pq_recvbuf: unexpected EOF on client connection

От
Tom Lane
Дата:
Cedar Cox <cedarc@visionforisrael.com> writes:
> I'm using ODBC/MS Access and every time my client shuts down
> I get the log message:
> pq_recvbuf: unexpected EOF on client connection
> Is there something I'm doing wrong here?

Not you, the ODBC driver --- it's just unceremoniously closing the
socket connection without being polite enough to send the disconnect
message (a single 'X', I think) first.

Somebody ought to fix that, but it's not a real high priority.
There's no bad side-effects other than cluttering the postmaster log.

> (yes I did copy the JDBC post.. ;)

I haven't looked at the JDBC code, but evidently it's equally impolite.
        regards, tom lane


Re: ODBC gives pq_recvbuf: unexpected EOF on client connection

От
Peter Mount
Дата:
At 13:39 21/01/01 -0500, Tom Lane wrote:
>Cedar Cox <cedarc@visionforisrael.com> writes:
> > I'm using ODBC/MS Access and every time my client shuts down
> > I get the log message:
> > pq_recvbuf: unexpected EOF on client connection
> > Is there something I'm doing wrong here?
>
>Not you, the ODBC driver --- it's just unceremoniously closing the
>socket connection without being polite enough to send the disconnect
>message (a single 'X', I think) first.
>
>Somebody ought to fix that, but it's not a real high priority.
>There's no bad side-effects other than cluttering the postmaster log.
>
> > (yes I did copy the JDBC post.. ;)
>
>I haven't looked at the JDBC code, but evidently it's equally impolite.

This was fixed in 6.5.3 as long as the client doesn't kill the JVM
prematurely. As long as client code calls the Connection's close() method
then the backend will get the X message. Problem is most people
conveniently forget to put close() in their code.

Peter