Re: [INTERFACES] Frontend/Backend Protocol - Mailing list pgsql-interfaces

From Tom Lane
Subject Re: [INTERFACES] Frontend/Backend Protocol
Date
Msg-id 11030.932689831@sss.pgh.pa.us
Whole thread Raw
In response to Frontend/Backend Protocol  (Jonathan Dale <jdale@fla.fujitsu.com>)
List pgsql-interfaces
Jonathan Dale <jdale@fla.fujitsu.com> writes:
> And I get back:
> "R" 00 00 00 00  which indicates a successful connection

Looks good so far (I suppose you are using 'trust' authentication mode).

> However, when my process has read this, the postmaster displays the
> following error:

> FATAL 1:  Socket command type   unknown

> and the connection is closed.

No, the postmaster didn't send that; the backend did.  Looks like you
sent one byte too many, probably a null byte, and the backend received
it as the first input data byte.  Since it's not a valid protocol
command character, the backend gives up and dies.

> I assumed that the
> postmaster would fork a new postgres process to handle my connection

... it did ...

> and I should be expecting some data on the socket to tell me that the
> postgres process is ready for an SQL query.

You should have gotten a ReadyForQuery message if you are talking to
a 6.4 or later backend, and if you used the right protocol version
number in the connect request.  I speculate that you have an old server,
or you asked for protocol version 1, or you miscounted bytes and missed
the appearance of the ReadyForQuery ('Z') message.

            regards, tom lane

pgsql-interfaces by date:

Previous
From: "Stephen Martin Trans-Euro I.T Ltd"
Date:
Subject: libpq and VB
Next
From: Tom Lane
Date:
Subject: Re: [INTERFACES] SPI_exec vs. CREATE/DROP RULE