Thread: Dump Version

Dump Version

From
strk
Date:
Hello, dump problems again.
I'm working on a dump ToC parser for spatial database restore
(postgis).

I've noticed that pg_dump-7.3 and pg_dump-7.4 list CAST entries
in different ways. Still 'Dump Version' is the same (1.7-0).

What does 'Dump Version' refer to then ? Are these ToC output
changes encoded somehow ?

TIA

--strk;


Re: Dump Version

From
Philip Warner
Date:
At 08:09 PM 13/08/2004, strk wrote:
>What does 'Dump Version' refer to then ? Are these ToC output
>changes encoded somehow ?

The file format version of pg_dump; the actual contents depend on pg_dump 
version, and the source database since pg_dump asks the source (as much as 
possible) to present it's data in a textual format.

What are you trying to do?


----------------------------------------------------------------
Philip Warner                    |     __---_____
Albatross Consulting Pty. Ltd.   |----/       -  \
(A.B.N. 75 008 659 498)          |          /(@)   ______---_
Tel: (+61) 0500 83 82 81         |                 _________  \
Fax: (+61) 03 5330 3172          |                 ___________ |
Http://www.rhyme.com.au          |                /           \|                                 |    --________--
PGP key available upon request,  |  /
and from pgp.mit.edu:11371       |/ 



Re: Dump Version

From
strk
Date:
On Fri, Aug 13, 2004 at 08:42:44PM +1000, Philip Warner wrote:
> At 08:09 PM 13/08/2004, strk wrote:
> >What does 'Dump Version' refer to then ? Are these ToC output
> >changes encoded somehow ?
> 
> The file format version of pg_dump; the actual contents depend on pg_dump 
> version, and the source database since pg_dump asks the source (as much as 
> possible) to present it's data in a textual format.
> 
> What are you trying to do?

Commenting out lines from the dump corresponding to objects that
will be defined by another script. I also had problem with OPERATOR
as only the name is listed (I parsed the ascii version as a workaround).
I can parse the ascii version for CASTS as well... but I if everything
was possible just using the ToC that would be faster.

--strk;

> 
> 
> ----------------------------------------------------------------
> Philip Warner                    |     __---_____
> Albatross Consulting Pty. Ltd.   |----/       -  \
> (A.B.N. 75 008 659 498)          |          /(@)   ______---_
> Tel: (+61) 0500 83 82 81         |                 _________  \
> Fax: (+61) 03 5330 3172          |                 ___________ |
> Http://www.rhyme.com.au          |                /           \|
>                                  |    --________--
> PGP key available upon request,  |  /
> and from pgp.mit.edu:11371       |/ 


Re: Dump Version

From
Philip Warner
Date:
At 08:53 PM 13/08/2004, strk wrote:
>Commenting out lines from the dump corresponding to objects that
>will be defined by another script.

I may have misunderstood, but try:
    pg_restore -l dumpfile > listfile

then delete lines from listfile that you do not want, and do:
    pg_restore -L listfile dumpfile

and it will only restore the items corresponding to lines in listfile.





----------------------------------------------------------------
Philip Warner                    |     __---_____
Albatross Consulting Pty. Ltd.   |----/       -  \
(A.B.N. 75 008 659 498)          |          /(@)   ______---_
Tel: (+61) 0500 83 82 81         |                 _________  \
Fax: (+61) 03 5330 3172          |                 ___________ |
Http://www.rhyme.com.au          |                /           \|                                 |    --________--
PGP key available upon request,  |  /
and from pgp.mit.edu:11371       |/ 



Re: Dump Version

From
strk
Date:
Philip, I'm trying to make the process you describe automatic.
A script reads objects definitoin from an .sql file
and automatically deletes linkes from 'listfile' corresponding
to objects already found in the given .sql file.

As for my problem (detecting CASTS) I had to support 
lines in the form:

From PG73:552; 2663984 CAST bytea (public.wkb)
From PG74:547; 1915318 CAST CAST (public.wkb AS bytea)

Since these two dumps have same file format version I asked..

--strk;

On Fri, Aug 13, 2004 at 10:05:09PM +1000, Philip Warner wrote:
> At 08:53 PM 13/08/2004, strk wrote:
> >Commenting out lines from the dump corresponding to objects that
> >will be defined by another script.
> 
> I may have misunderstood, but try:
> 
>     pg_restore -l dumpfile > listfile
> 
> then delete lines from listfile that you do not want, and do:
> 
>     pg_restore -L listfile dumpfile
> 
> and it will only restore the items corresponding to lines in listfile.
> 
> 
> 
> 
> 
> ----------------------------------------------------------------
> Philip Warner                    |     __---_____
> Albatross Consulting Pty. Ltd.   |----/       -  \
> (A.B.N. 75 008 659 498)          |          /(@)   ______---_
> Tel: (+61) 0500 83 82 81         |                 _________  \
> Fax: (+61) 03 5330 3172          |                 ___________ |
> Http://www.rhyme.com.au          |                /           \|
>                                  |    --________--
> PGP key available upon request,  |  /
> and from pgp.mit.edu:11371       |/ 


Re: Dump Version

From
Philip Warner
Date:
At 10:30 PM 13/08/2004, strk wrote:
> >From PG73:
>         552; 2663984 CAST bytea (public.wkb)
> >From PG74:
>         547; 1915318 CAST CAST (public.wkb AS bytea)
>
>Since these two dumps have same file format version I asked..

The file format (unfortunately for you) does not define the format of the 
contents of the TOC entries. It may be messy, but you could use your source 
sql file to create an empty database in the same PG version, then do:
    pg_dump -Fc tempdatabase | pg_restore -l

to get a compatible list. But you'll still have mismatched OIDs, and a temp 
database to create/cleanup.

I can't see another way that won't require constant updates & tweaking into 
the future.



----------------------------------------------------------------
Philip Warner                    |     __---_____
Albatross Consulting Pty. Ltd.   |----/       -  \
(A.B.N. 75 008 659 498)          |          /(@)   ______---_
Tel: (+61) 0500 83 82 81         |                 _________  \
Fax: (+61) 03 5330 3172          |                 ___________ |
Http://www.rhyme.com.au          |                /           \|                                 |    --________--
PGP key available upon request,  |  /
and from pgp.mit.edu:11371       |/ 



Re: Dump Version

From
strk
Date:
On Fri, Aug 13, 2004 at 11:12:50PM +1000, Philip Warner wrote:
> At 10:30 PM 13/08/2004, strk wrote:
> >>From PG73:
> >        552; 2663984 CAST bytea (public.wkb)
> >>From PG74:
> >        547; 1915318 CAST CAST (public.wkb AS bytea)
> >
> >Since these two dumps have same file format version I asked..
> 
> The file format (unfortunately for you) does not define the format of the 
> contents of the TOC entries.

Ok. This is what I wanted to know. Thank you.

--strk;