I wrote:
> Huh? The variable will be set in any case. It should be correct for any
> server version we might find in the wild --- so far as I can tell from the
> commit history, every version supporting FE/BE protocol version 3 has sent
> server_version at connection start. With a pre-7.4 server, it looks like
> the variables would be set to "0.0.0" and "0" respectively.
Scratch that: experimentation says it works fine with older servers too.
The oldest one I have in captivity reports
SERVER_VERSION_NAME = '7.0.3'
SERVER_VERSION_NUM = '70003'
Looking more closely, I see that when using protocol version 2, libpq
will issue a "select version()" command at connection start to get
this info.
regards, tom lane