bapt@ suggested to install the PostgreSQL server versions in separate directories to allow several versions to co-exist (https://lists.freebsd.org/pipermail/freebsd-ports/2015-July/099842.html).
This will also simplify the migration from major release to another, which generally requires a dump of the database using the "old" version and a rebuild of the database with the new server version.
Since the PostgreSQL client application is backwards compatible (still supports server version 7.4), only the latest client needs to be provided by a port.
No attempt has been made to adjust ports that use the PostgreSQL server to changed paths of include files or libraries, yet.
There are some 350 ports with some variant of "USES=pgsql", and 23 BUILD_DEPENDS, 37 RUN_DEPENDS, and 69 LIB_DEPENDS on some databases/postgresql* that have to be checked for compatibility with these patches.
The rc.d/postgresql* files will need to be adjusted (e.g. to use names like postgresql14 etc. instead of a plain postgresql, postgresql14_enable, ...)
This patch is not meant to be committed as is, but should allow to assess the suitability of the approach taken.
If this approach is accepted as the basis for further work, then dependent ports can be tested and adjusted, unnecessary client port versions can be removed, etc.