On Thu, Mar 11, 2021 at 10:34:42AM +0000, Paul Smith wrote: > Hi, we've been using 32 bit PostgreSQL 9.5 on Windows and are seeing how we > could upgrade to v13 64 bit. > > As far as I can see from the documentation and other discussion on the > Internet, the only way to do this is to do a pg_dump and pg_restore, which > could take a while with a large database. > > Just "for kicks" I decided to try to use pg_upgrade to do it (on a test > database). The documentation seems to suggest that it won't work > > "pg_upgrade does its best to make sure the old and new clusters are > binary-compatible, e.g., by checking for compatible compile-time settings, > *including 32/64-bit binaries*." > > To my surprise, it seemed to work absolutely fine. I can start the new 64 bit > cluster, and a quick check shows everything working OK. > > Is this to be expected? Was it a fluke? I'd expect it to refuse to work rather > than claim to work and give me a broken database. Well, pg_upgrade checks all the pg_controldata fields that would affect compatibility, so I guess it does work. pg_upgrade only really cares about the format of the database files, not the size of pointers used by the binary. -- Bruce Momjian <bruce@xxxxxxxxxx> https://momjian.us EDB https://enterprisedb.com The usefulness of a cup is in its emptiness, Bruce Lee