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