Pgpool FAQ states that:
You cannot mix different major versions of PostgreSQL, for example 8.4.x and 9.0.x
And the reason that I understand very well is:
Pgpool-II assumes messages from PostgreSQL to pgpool-II are identical anytime. Different major version of PostgreSQL may send out different messages and this would cause trouble for Pgpool-II.
As I am a bit adventurous, I tried to install last pgpool 3.6.x with pgsql 9.5.x and everything is working (or seams to work) like a charm.
Question: When doing this this way (more recent pgpool than pgsql), what is the real risk ? For instance if I have a scenario where I want to upgrade from pgsql 9.5 to 9.6 and I want to reduce downtime, can I first upgrade pgpool and then go on with pgsql ?
In a master/slave stream replication with one separate pgpool server, this could allow me to keep the same entry point for app servers during the upgrade process beginning with standby server upgrade and then promoting it when ready.