On Fri, Mar 21, 2014 at 4:09 AM, Tom Lane <t...@sss.pgh.pa.us> wrote:
> Craig Ringer <cr...@2ndquadrant.com> writes: > > Here's how I think it needs to look: > > [ move all the functionality to the backend ] > > Of course, after you've done all that work, you've got something that is > of exactly zero use to its supposed principal use-case, pg_dump. pg_dump > will still have to support server versions that predate all these fancy > new dump functions, and that pretty much ensures that most of pg_dump's > core functionality will still be on the client side. Or, if you try to > finesse that problem by making sure the new server APIs correspond to > easily-identified pieces of pg_dump code, you'll probably end up with APIs > that nobody else wants to use :-(. > > Or you should mandate that new server versions should be able to consume _old_ pg_dump version output. This would change the recommended "when upgrading, dump using the new pg_dump" to ""when upgrading, dump using the old pg_dump". This would be necessary policy going forward anyway, if most of the pg_dump functionality was server-side, because it would be generating dumps in the server-version dump format, not the client-version format. 'Regards Marcin Mańk (goes back to lurker cave...)