Обсуждение: Modified pg_dump & new pg_restore need testing...
If anyone is interested in being sent the current sources for the new pg_dump & pg_restore, please let me know. The utilities now seem to work, but need testing. The basic idea is to use pg_dump to dump an *entire* database, and then use pg_restore to choose what is restored. The salient features are as follows: - pg_dump still used to dump database; all output is via new interface (virtually all of the pg_dump code is changed, but not the logic). The changes are relatively minor, all the same. - the '-c' option is not used in pg-dump: it now dumps the commands to delete the schema, and it is up to the user of pg_restore to decide if they are output. - the default output file format is a custom format with compressed sections (the data dumps). It is NOT a text file. - pg_restore reads the backup file and, depending on the options chosen, produces a script (to stdout) that can be sent to psql. - by default pg_restore outputs the schema/data in the order it was sent from pg_dump, but the --oid flag will send the output in order of increasing OID, and the --rearrange flag will put all 'non-parental' (??) items at the end, after the data. (eg. indexes, acls, triggers etc). Needless to say that the best results com from using both of these options. - If the -c (clear) option is chosen in pg_restore, it also dumps the 'drop' commands in reverse order at the start of the script. This *should* make it more reliable than dumping them when the item is defined. It also means that triggers can be dropped. - The --toc option shows a summary of the restore operation that would be performed if the --toc were not there. Please send me an email if you are interested and have the time to test them. Thanks, Philip Warner. ---------------------------------------------------------------- Philip Warner | __---_____ Albatross Consulting Pty. Ltd. |----/ - \ (A.C.N. 008 659 498) | /(@) ______---_ Tel: (+61) 0500 83 82 81 | _________ \ Fax: (+61) 0500 83 82 82 | ___________ | Http://www.rhyme.com.au | / \| | --________-- PGP key available upon request, | / and from pgp5.ai.mit.edu:11371 |/
Sounds like something that is a suitable replacement for what we have now
... I particularly like the 'compressed output' *but* is there some way,
for the paranoid, of doing an uncompressed format
(--dont-compress?)? Then again, how does this handle someone wanting to
dump the database for reloading into a non-PgSQL database?
On Fri, 30 Jun 2000, Philip Warner wrote:
>
> If anyone is interested in being sent the current sources for the new
> pg_dump & pg_restore, please let me know.
>
> The utilities now seem to work, but need testing.
>
> The basic idea is to use pg_dump to dump an *entire* database, and then use
> pg_restore to choose what is restored.
>
> The salient features are as follows:
>
> - pg_dump still used to dump database; all output is via new interface
> (virtually all of the pg_dump code is changed, but not the logic). The
> changes are relatively minor, all the same.
>
> - the '-c' option is not used in pg-dump: it now dumps the commands to
> delete the schema, and it is up to the user of pg_restore to decide if they
> are output.
>
> - the default output file format is a custom format with compressed
> sections (the data dumps). It is NOT a text file.
>
> - pg_restore reads the backup file and, depending on the options chosen,
> produces a script (to stdout) that can be sent to psql.
>
> - by default pg_restore outputs the schema/data in the order it was sent
> from pg_dump, but the --oid flag will send the output in order of
> increasing OID, and the --rearrange flag will put all 'non-parental' (??)
> items at the end, after the data. (eg. indexes, acls, triggers etc).
> Needless to say that the best results com from using both of these options.
>
> - If the -c (clear) option is chosen in pg_restore, it also dumps the
> 'drop' commands in reverse order at the start of the script. This *should*
> make it more reliable than dumping them when the item is defined. It also
> means that triggers can be dropped.
>
> - The --toc option shows a summary of the restore operation that would be
> performed if the --toc were not there.
>
> Please send me an email if you are interested and have the time to test them.
>
> Thanks,
>
> Philip Warner.
>
>
> ----------------------------------------------------------------
> Philip Warner | __---_____
> Albatross Consulting Pty. Ltd. |----/ - \
> (A.C.N. 008 659 498) | /(@) ______---_
> Tel: (+61) 0500 83 82 81 | _________ \
> Fax: (+61) 0500 83 82 82 | ___________ |
> Http://www.rhyme.com.au | / \|
> | --________--
> PGP key available upon request, | /
> and from pgp5.ai.mit.edu:11371 |/
>
Marc G. Fournier ICQ#7615664 IRC Nick: Scrappy
Systems Administrator @ hub.org
primary: scrappy@hub.org secondary: scrappy@{freebsd|postgresql}.org
At 13:53 30/06/00 -0300, The Hermit Hacker wrote: > >Sounds like something that is a suitable replacement for what we have now >... I particularly like the 'compressed output' *but* is there some way, >for the paranoid, of doing an uncompressed format >(--dont-compress?)? Then again, how does this handle someone wanting to >dump the database for reloading into a non-PgSQL database? > There will be; you can specify -z0 on the pg_dump, but it still has binary junk in the output. I will add a '--plain-text, -p' option to dump it into text. You can also use pg_restore to dump the file to text. ---------------------------------------------------------------- Philip Warner | __---_____ Albatross Consulting Pty. Ltd. |----/ - \ (A.C.N. 008 659 498) | /(@) ______---_ Tel: (+61) 0500 83 82 81 | _________ \ Fax: (+61) 0500 83 82 82 | ___________ | Http://www.rhyme.com.au | / \| | --________-- PGP key available upon request, | / and from pgp5.ai.mit.edu:11371 |/
At 13:53 30/06/00 -0300, The Hermit Hacker wrote: > >Sounds like something that is a suitable replacement for what we have now >... I particularly like the 'compressed output' *but* is there some way, >for the paranoid, of doing an uncompressed format >(--dont-compress?)? Then again, how does this handle someone wanting to >dump the database for reloading into a non-PgSQL database? > As suggested I have now added a '--plain-text, -p' option to pg_dump to dump it into text. Needless to say the output can not be used by pg_restore (although, I suppose, it is feasible). This also supports the -Z flag, to dump in gzip format. ---------------------------------------------------------------- Philip Warner | __---_____ Albatross Consulting Pty. Ltd. |----/ - \ (A.C.N. 008 659 498) | /(@) ______---_ Tel: (+61) 0500 83 82 81 | _________ \ Fax: (+61) 0500 83 82 82 | ___________ | Http://www.rhyme.com.au | / \| | --________-- PGP key available upon request, | / and from pgp5.ai.mit.edu:11371 |/
Philip Warner writes: > As suggested I have now added a '--plain-text, -p' option to pg_dump > to dump it into text. The *default* action of pg_dump should be to write plain text and to standard output. Changing that will certainly make a lot of people very unhappy. -- Peter Eisentraut Sernanders väg 10:115 peter_e@gmx.net 75262 Uppsala http://yi.org/peter-e/ Sweden
[ Charset ISO-8859-1 unsupported, converting... ] > Philip Warner writes: > > > As suggested I have now added a '--plain-text, -p' option to pg_dump > > to dump it into text. > > The *default* action of pg_dump should be to write plain text and to > standard output. Changing that will certainly make a lot of people very > unhappy. Agreed. We need a enable-compress switch. -- Bruce Momjian | http://www.op.net/~candle pgman@candle.pha.pa.us | (610) 853-3000+ If your life is a hard drive, | 830 Blythe Avenue + Christ can be your backup. | Drexel Hill, Pennsylvania19026
At 23:23 1/07/00 +0200, Peter Eisentraut wrote:
>> As suggested I have now added a '--plain-text, -p' option to pg_dump
>> to dump it into text.
>
>The *default* action of pg_dump should be to write plain text and to
>standard output. Changing that will certainly make a lot of people very
>unhappy.
Good point; I'll make it the default. The -Z {0..9] switch and -F {p|c|f}
switches can be used to select output compression levels and output format.
----------------------------------------------------------------
Philip Warner | __---_____
Albatross Consulting Pty. Ltd. |----/ - \
(A.C.N. 008 659 498) | /(@) ______---_
Tel: (+61) 0500 83 82 81 | _________ \
Fax: (+61) 0500 83 82 82 | ___________ |
Http://www.rhyme.com.au | / \| | --________--
PGP key available upon request, | /
and from pgp5.ai.mit.edu:11371 |/
Philip, where did we leave this? > > If anyone is interested in being sent the current sources for the new > pg_dump & pg_restore, please let me know. > > The utilities now seem to work, but need testing. > > The basic idea is to use pg_dump to dump an *entire* database, and then use > pg_restore to choose what is restored. > > The salient features are as follows: > > - pg_dump still used to dump database; all output is via new interface > (virtually all of the pg_dump code is changed, but not the logic). The > changes are relatively minor, all the same. > > - the '-c' option is not used in pg-dump: it now dumps the commands to > delete the schema, and it is up to the user of pg_restore to decide if they > are output. > > - the default output file format is a custom format with compressed > sections (the data dumps). It is NOT a text file. > > - pg_restore reads the backup file and, depending on the options chosen, > produces a script (to stdout) that can be sent to psql. > > - by default pg_restore outputs the schema/data in the order it was sent > from pg_dump, but the --oid flag will send the output in order of > increasing OID, and the --rearrange flag will put all 'non-parental' (??) > items at the end, after the data. (eg. indexes, acls, triggers etc). > Needless to say that the best results com from using both of these options. > > - If the -c (clear) option is chosen in pg_restore, it also dumps the > 'drop' commands in reverse order at the start of the script. This *should* > make it more reliable than dumping them when the item is defined. It also > means that triggers can be dropped. > > - The --toc option shows a summary of the restore operation that would be > performed if the --toc were not there. > > Please send me an email if you are interested and have the time to test them. > > Thanks, > > Philip Warner. > > > ---------------------------------------------------------------- > Philip Warner | __---_____ > Albatross Consulting Pty. Ltd. |----/ - \ > (A.C.N. 008 659 498) | /(@) ______---_ > Tel: (+61) 0500 83 82 81 | _________ \ > Fax: (+61) 0500 83 82 82 | ___________ | > Http://www.rhyme.com.au | / \| > | --________-- > PGP key available upon request, | / > and from pgp5.ai.mit.edu:11371 |/ > -- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610) 853-3000+ If your life is a hard drive, | 830 Blythe Avenue + Christ can be your backup. | Drexel Hill, Pennsylvania19026
At 21:01 10/10/00 -0400, Bruce Momjian wrote: >Philip, where did we leave this? In CVS. ;-). The longer answer is that it's been in CVS for a while, and I have a version for 7.0.2 which I have also been using for a while. Various people have tested it, but not as many or as much as I would like (or lots of people have tested it with no problems, which seems unlikely). The docs for pg_dump are with Thomas and I am about to start working on an unrelated bug in the way pg_dump handles sequences. When that's done, I will document pg_restore. Hopefully, all in time for beta... ---------------------------------------------------------------- Philip Warner | __---_____ Albatross Consulting Pty. Ltd. |----/ - \ (A.B.N. 75 008 659 498) | /(@) ______---_ Tel: (+61) 0500 83 82 81 | _________ \ Fax: (+61) 0500 83 82 82 | ___________ | Http://www.rhyme.com.au | / \| | --________-- PGP key available upon request, | / and from pgp5.ai.mit.edu:11371 |/