Csaba Nagy <nagy@ecircle-ag.com> writes:
> The main reason it's not done so is because pg_dump is working across
> server versions. You will want to do the dump using the newer pg_dump,
> because it can create SQL which compensates for postgres internal
> changes like user/group/role creation syntax and the like.
>
> If you tie the dump software to the server, how will you do a dump of an
> old server using the new dump client ?
Sorry I think I got it finally: what you are saying is that pg_dump is
not only a backup tool, but some kind of database format conversion
tool. Now I think I understand why implementing externally makes sense.
However, it would be nice to also have a simple, non-converting
pg_dumb_dump utility available, easy to re-implement and maintain in
other languages than C with minimal duplication. Something based on a
two commands only protocol: "SAVE DATABASE" and "RESTORE DATABASE".
Most backups operations do not care about cross-compatibility. Backups
happen much more often than upgrades!