Re: Schema version management - Mailing list pgsql-hackers

From Andrew Dunstan
Subject Re: Schema version management
Date
Msg-id 4FBAE0D7.3050808@dunslane.net
Whole thread Raw
In response to Re: Schema version management  (Joel Jacobson <joel@trustly.com>)
List pgsql-hackers

On 05/21/2012 08:25 PM, Joel Jacobson wrote:
> On Tue, May 22, 2012 at 3:30 AM, Daniel Farina<daniel@heroku.com>  wrote:
>> Thank you, that's very informative.  I'd like to reiterate one
>> question, though, which is something like:
>>
>> "How do you feel that the since-committed directory-output/input
>> support in pg_dump/pg_restore could or should influence your patch, if
>> at all?"
> The directory format fulfills a different purpose. The tables are
> split into files, where each file name gets a number. Functions are
> not split into files, they are defined in the table of content file,
> toc.dat.
>
> Example:
>
> joel@Joel-Jacobsons-MacBook-Pro ~ $ pg_dump -F d -f /Users/joel/test
> joel@Joel-Jacobsons-MacBook-Pro ~ $ ls -la test
> total 24
> drwx------    5 joel  staff   170 May 22 07:16 .
> drwx------+ 130 joel  staff  4488 May 22 07:16 ..
> -rw-r--r--    1 joel  staff    38 May 22 07:16 2116.dat.gz
> -rw-r--r--    1 joel  staff    39 May 22 07:16 2117.dat.gz
> -rw-r--r--    1 joel  staff  2265 May 22 07:16 toc.dat
>
> This is a good feature for its purpose, but doesn't provide a solution
> for the schema version management problem.
>
>> It seems like now that there is support for spitting out a bunch of
>> files in a directory for pg_dump that is now going to be supported for
>> a long time that a new feature like yours might be more cohesive if it
>> somehow played with that.  I must confess I haven't read the patch in
>> detail, especially if it has been updated, but back then there was no
>> multi-file output mode from pg_dump, and now there is one.  My naive
>> understanding is this would be adding a second one as-is, but I wonder
>> if that is strictly necessary to fulfill the use case.
> If one want to reuse the splitting to files-code of the directory
> format, maybe the existing option -F d could be tweaked to output in
> both a a machine-readable format (current way), and also a
> human-friendly tree of files and content (like suggested by my patch).
>
> I wonder what the option would be called then, having two chars
> options is not an option I guess, maybe -F t for "tree" instead of
> "directory", as the -F d option only dumps to a single directory and
> not a tree-structure?



I have a little utility to write out the data in the TOC as separate 
files. It works with both a custom format dump, and the toc.dat file 
from a directory format or unpacked tar format dump.

It was originally written as a debugging aid, but  can be used to some 
extent for schema management as well. It's far from complete, but still 
might be useful. See <https://github.com/adunstan/DumpToc>

cheers

andrew



pgsql-hackers by date:

Previous
From: Joel Jacobson
Date:
Subject: Re: Schema version management
Next
From: Josh Berkus
Date:
Subject: How could we make it simple to access the log as a table?