Bottom line is that currently only libpq 9.0 works fine to talk with a
9.0 server, unless bytea_output is set to 'escape' on the server.
to add to your very correct explanation: until 9.1 it is not possible to identify the libpq version from a client application. Magnus committed a patch to provide a "query-the-libpq-version" for 9.1; which will provide do-less-connections-to-identify-capabilities opportunity for psycopg2.
Best wishes,
Harald
--
Harald Armin Massa
www.2ndQuadrant.comPostgreSQL Training, Services and Support