On 5 September 2017 at 11:58, Fabien COELHO <coelho@cri.ensmp.fr> wrote:
>
> Hello Simon,
>
>> Does raise the further question of how psql behaves when we connect to
>> a pre-10 server, so we have SERVER_VERSION_NUM but yet it is not set.
>> How does this
>> \if SERVER_VERSION_NUM < x
>
>
> The if does not have expressions (yet), it just handles TRUE/ON/1 and
> FALSE/0/OFF.
>
>> Do we need some macro or suggested special handling?
>
>
> If "SERVER_VERSION_NUM" is available in 10, then:
>
> -- exit if version < 10 (\if is ignored and \q is executed)
> \if false \echo "prior 10" \q \endif
>
> -- then test version through a server side expression, will work
> SELECT :SERVER_VERSION_NUM < 110000 AS prior_11 \gset
> \if :prior_11
> -- version 10
> \else
> -- version 11 or more
> \endif
Based upon input from Tom and Fabien, I propose this additional doc patch.
--
Simon Riggs http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers