Thread: pgsql: Make PostgresNode version aware

pgsql: Make PostgresNode version aware

From
Andrew Dunstan
Date:
Make PostgresNode version aware

A new PostgresVersion object type is created and this is used in
PostgresNode using the output of `pg_config --version` and the result
stored in the PostgresNode object.  This object can be compared to other
PostgresVersion objects, or to a number or string.

PostgresNode is currently believed to be compatible with versions down
to release 12, so PostgresNode will issue a warning if used with a
version prior to that.

No attempt has been made to deal with incompatibilities in older
versions - that remains work to be undertaken in a subsequent
development cycle.

Based on code from Mark Dilger and Jehan-Guillaume de Rorthais.

Discussion: https://postgr.es/m/a80421c0-3d7e-def1-bcfe-24777f15e344@dunslane.net

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/4c4eaf3d19201c5e2d9efebc590903dfaba0d3e5

Modified Files
--------------
src/test/perl/PostgresNode.pm    |  56 ++++++++++++++++
src/test/perl/PostgresVersion.pm | 137 +++++++++++++++++++++++++++++++++++++++
2 files changed, 193 insertions(+)