Hacker News new | ask | show | jobs
by castorp 1460 days ago
You need to use pg_dump from the new version, not from the old version.
3 comments

I think you found a common stumbling block. The tutorial people follow may say to run pg_dump and many people would assume you're running it from the old version.
Wait, what? Explain please.

OK upon further thought, what you're saying is to use the pg_dump tool that comes with the pg version you are upgrading to.

I read it as "use pg_dump instead of pg_restore"...

Yes. Put concisely: Use the client tools from the newest version involved for all steps.
Isn't that impractical for most Linux distros? You'd need to manually install the new client.
On Debian (and probably most of its derivatives), the package manager will not remove any running PostgreSQL versions and will let you have multiple versions side by side. It also has its own tool pg_upgradecluster, which can perform the upgrade using pg_dump+pg_restore or pg_upgrade (optionally with link or clone options).
Probably? Certainly if you rely on distro packaging for it, yes.

I was just trying to simplify the guidance here. :)

Yes, and usually, it means you need to use the full binary path unfortunately (because debian wrappers embedded in the package select the version from your 5432 cluster).