Re: from PG_DUMP to CVS - Mailing list pgsql-sql

From Josh Berkus
Subject Re: from PG_DUMP to CVS
Date
Msg-id 200408270902.20350.josh@agliodbs.com
Whole thread Raw
In response to Re: from PG_DUMP to CVS  (Philip Warner <pjw@rhyme.com.au>)
Responses Re: from PG_DUMP to CVS
List pgsql-sql
Philip,

> My thinking at this stage is to try to get pg_dump/restore to produce the
> output directly. Something like:

Hey, you do what you want, of course.   However, it seems to me that hacking 
AutoDoc would be a *lot* less effort than hacking pg_dump.  

Interestingly, though, I was talking to someone on IRC (Neil?  Gavin?) some 6 
months ago or so about hacking a "PSQL-FS" that is, an interface to the 
*live* database which would look like a filesystem.    Were this done, it 
would be child's play to rsync it with an archive.  Whomever it was didn't 
seem to think it too challenging a task.

>      some-dbname/create.sql
>      some-dbname/drop.sql
>      some-dbname/econding.sql
>      ...
>      some-dbname/some-schema/TABLE/sometable/create.sql
>      some-dbname/some-schema/TABLE/sometable/drop.sql

Hmmm.   I see a slightly different structure below the schema level:

some-dbname/some-schema/TABLES/sometable/create.sql
some-dbname/some-schema/TABLES/sometable/indexes.sql
some-dbname/some-schema/TABLES/sometable/constraints.sql
some-dbname/some-schema/TABLES/sometable/triggers.sql
some-dbname/some-schema/TABLES/sometable/rules.sql
some-dbname/some-schema/VIEWS/someview/create.sql
some-dbname/some-schema/VIEWS/someview/rules.sql
some-dbname/some-schema/FUNCTIONS/somefunction/param{codes}.sql
some-dbname/some-schema/TYPES/sometype/create.sql
some-dbname/some-schema/OPERATORS/someoperator/create.sql

However, the above is somewhat unfriendly to CVS, as one can't drop 
directories in CVS and that would be entailed in the dropping of any objects.  
An alternative would be:

some-dbname/some-schema/TABLES/sometable-create.sql
some-dbname/some-schema/TABLES/sometable-indexes.sql
some-dbname/some-schema/TABLES/sometable-constraints.sql
some-dbname/some-schema/TABLES/sometable-triggers.sql
some-dbname/some-schema/TABLES/sometable-rules.sql
some-dbname/some-schema/VIEWS/someview-create.sql
some-dbname/some-schema/VIEWS/someview-rules.sql
some-dbname/some-schema/FUNCTIONS/somefunction-param{codes}.sql
some-dbname/some-schema/TYPES/sometype-create.sql
some-dbname/some-schema/OPERATORS/someoperator-create.sql

or even:

some-dbname/some-schema/TABLES/sometable.sql
some-dbname/some-schema/VIEWS/someview.sql
some-dbname/some-schema/FUNCTIONS/somefunction-param{codes}.sql
some-dbname/some-schema/TYPES/sometype.sql
some-dbname/some-schema/OPERATORS/OPsomeoperator.sql

In this last, all dependant objects of, for example, a table (rules, triggers, 
indexes, etc. ) would be rolled up into one file.  It's this last version 
that I personally favor.

-- 
Josh Berkus
Aglio Database Solutions
San Francisco


pgsql-sql by date:

Previous
From: Josh Berkus
Date:
Subject: Re: Aggregate query for multiple records
Next
From: Josh Berkus
Date:
Subject: Re: Aggregate query for multiple records