Christian von Kietzell <chris@gammu.ath.cx> writes:
> I have sent the startup packet to the postmaster who responded with
> "R0". Afterwards I get a BackendKeyData packet from the backend.
> According to the docs I'm not supposed to send anything but to wait
> for the backend to send a ReadyForQuery packet which never comes.
> I've analysed the TCP traffic psql generates. Oddly enough, even psql
> doesn't wait for this packet but sends "Qselect getdatabaseencoding()"
> instantly.
Are you sure that the ReadyForQuery message (a single 'Z') isn't
arriving in the same packet as the BackendKeyData message? The
backend doesn't do unnecessary flushes, so I'd fully expect those
to arrive in the same TCP packet.
regards, tom lane