If I ask this question without mention the PG version I upgrade from and to, and don't mention the operating system, and don't mention replication, would the standard answer be:
Use pg_upgrade!
I have looked through
but it seems more complicated than necessary.
My actual situation was PG version from 9.3 to 9.6, on the same server, no replication, and OS was Windows.
I did:
* SET PGUSER=postgres
* SET /P PGPASSWORD=
* change port number in 9.3 and restart
* 9.3\bin\pg_dumpall.exe --port=5431 | 9.6\bin\psql.exe --port=5433
* change port number on 9.6 to 5432 and restart, done
It went very good but took 100 minutes - where we had downtime - not so good.
Would it have been:
* better
* faster
* safer
* easier
with pg_upgrade?
The way I did it is similar to what I have done with Oracle and MySQL. It feels right.
best regards
Hans