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(+)