Hello,
I have been spending a lot of time figuring out PG 9.6 -> 12 upgrade. Here are my findings:
1. There is no upgrade supported by the platform, you have to create a new server and somehow figure out how to move data over.
2. The built-in export/import functionality is not usable, since it strips all owner information from the dump. It's using --no-owner and --no-acl, so you cannot use it to export your database and import it, it just becomes dumb data. I'm quite surprised about this, and see no reason why should it be like this.
3. The only way to migrate is to set up a temporary compute engine instance with a really big SSD and run the pg_dump and pg_restore commands manually.
4. pg_dumpall doesn't run on Cloud SQL, it terminates with errors. It means that database and users have to be created manually, before the pg_restore command.
5. OK, so if someone has figured all of this out and not given up on Google Cloud SQL yet, then they can run the pg_dump and pg_restore process, which took 20 hours for ~500 GB of data in our case (gzipped dump 150 GB). Same datacenter, fast local SSDs. I cannot even imagine how are bigger servers supposed to be migrated over!
Zsolt