On Thu, Sep 08, 2011 at 03:20:14PM -0400, Andrew Dunstan wrote:
> In the "refactoring Large C files" discussion one of the biggest
> files Bruce mentioned is pg_dump.c. There has been discussion in the
> past of turning lots of the knowledge currently embedded in this
> file into a library, which would make it available to other clients
> (e.g. psql). I'm not sure what a reasonable API for that would look
> like, though. Does anyone have any ideas?

Here's a sketch.

In essence, libpgdump should have the following areas of functionality:

- Discover the user-defined objects in the database.
- Tag each as pre-data, data, and post-data.
- Make available the dependency graph of the user-defined objects in the 
- Enable the mechanical selection of subgraphs which may or may not be 
- Discover parallelization capability, if available.
- Dump requested objects of an arbitrary subset of the database,
  optionally using such capability.

Then there's questions of scope, which I'm straddling the fence about.
Should there be separate libraries to transform and restore?

A thing I'd really like to have in a libdump would be to have the
RDBMS-specific parts as loadable modules, but that, too, could be way
out of scope for this.

David Fetter <da...@fetter.org> http://fetter.org/
Phone: +1 415 235 3778  AIM: dfetter666  Yahoo!: dfetter
Skype: davidfetter      XMPP: david.fet...@gmail.com
iCal: webcal://www.tripit.com/feed/ical/people/david74/tripit.ics

Remember to vote!
Consider donating to Postgres: http://www.postgresql.org/about/donate

Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:

Reply via email to