Re: [GENERAL] pg_dump -s dumps data?!
Andrew Dunstan <andrew@dunslane.net>
From: Andrew Dunstan <andrew@dunslane.net>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: depesz@depesz.com, Adrian Klaver <adrian.klaver@gmail.com>, Dimitri Fontaine <dimitri@2ndQuadrant.fr>, pgsql-hackers@postgresql.org
Date: 2012-02-07T22:00:13Z
Lists: pgsql-hackers
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Add --section option to pg_dump and pg_restore.
- a4cd6abcc901 9.2.0 cited
-
Add --exclude-table-data option to pg_dump.
- 7b070e896ca8 9.2.0 cited
Attachments
- dumpfix-2.patch (text/x-patch) patch
On 02/07/2012 02:56 PM, Tom Lane wrote: > Andrew Dunstan<andrew@dunslane.net> writes: >> On 01/31/2012 11:10 PM, Andrew Dunstan wrote: >>> Here's a possible patch for the exclude-table-data problem along the >>> lines you suggest. >> Should I apply this? > I'm not happy with this yet. My core complaint is that pg_dump used to > consider that creation of a TableDataInfo object for a table happens > if and only if we're going to dump the table's data. And the comments > (eg in pg_dump.h) still say that. But the previous patch left us in a > halfway zone where sometimes we'd create a TableDataInfo object and then > choose not to dump the data, and this patch doesn't get us out of that. > I think we should either revert to the previous definition, or go over > to a design wherein we always create TableDataInfo objects for all > tables (but probably still excluding data-less relations such as views) > and the whether-to-dump decision is expressed only by setting or not > setting the object's dump flag. > > I worked a little bit on a patch to do the latter but found that it was > more invasive than I'd hoped. Given the lack of any immediate payoff > I think it'd probably make more sense to do the former. We could still > centralize the decision making into makeTableDataInfo a bit more than > now, but it should take the form of not creating the object at all, > rather than creating it and then clearing its dump flag. > > OK, in this version we simply suppress creation of the TableDataInfo object if it's not wanted. I actually removed the code from makeTableDataInfo - there are only two places it gets called and doing it in those two spots seemed a bit cleaner. cheers andrew