I don't know it is it is expected, but PG_SUBPREFIX will only affect to
postgresql90.
You are right. PG_SUBPREFIX is also mentioned in other PGs but
set only in PG90.
Have a look to what was in the previous revision.
http://cvsweb.netbsd.org/bsdweb.cgi/pkgsrc/databases/postgresql90/Makefile.common.diff?r1=1.20&r2=1.21&only_with_tag=MAIN&f=h
postgresql-90-* (including pg90 modules) conflicted with everything,
i.e. pg83, pg84, pg91 and pg92 (also including all possible modules).
PG_SUBPREFIX variable was completely ignored.
So, my patch doesn't introduce any regression.
As about PG_SUBPREFIX, I think in its current form it should just be
completely removed and reimplemented in a different way, if we want to
avoid conflicts between different PGs. For example, install *all* PGs
with uniq subprefix by default and implement a meta package
databases/postgresql with pkg_alternative mechanism for mapping
executables to bin/.