As of PostgreSQL, an appropriately built client will initiate TCP/IP connections with these packets:
1. GSSENCRequest 2. SSLRequest 3. StartupMessage Older servers will respond to the first one with: FATAL: unsupported frontend protocol 1234.5680: server supports 2.0 to 3.0 libpq will then try to reconnect with SSLRequest. So this works out in practice, but it will require two TCP/IP connections and leave these messages in the log. I think we should at least document this somehow in the release notes. Also, third-party implementors of the server protocol should be made aware of this, again probably via the release notes. -- Peter Eisentraut http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services