On 03/21/2014 11:09 AM, Tom Lane wrote:
> Craig Ringer <craig@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 :-(.
Yeah, that's why it's necessary to create a "libpqdump" that's usable
client-side even if you want server-side dump support.
So it's "allow the functionality to be used from the backend as well",
not just "move all the functionality to the backend".
-- Craig Ringer http://www.2ndQuadrant.com/PostgreSQL Development, 24x7 Support, Training & Services