Dump Version

Started by strkover 21 years ago7 messages
#1strk
strk@keybit.net

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;

#2Philip Warner
pjw@rhyme.com.au
In reply to: strk (#1)
Re: Dump Version

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 |/

#3strk
strk@keybit.net
In reply to: Philip Warner (#2)
Re: Dump Version

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;

Show quoted text

----------------------------------------------------------------
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 |/

#4Philip Warner
pjw@rhyme.com.au
In reply to: strk (#3)
Re: Dump Version

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 |/

#5strk
strk@keybit.net
In reply to: Philip Warner (#4)
Re: Dump Version

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;

Show quoted text

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 |/

#6Philip Warner
pjw@rhyme.com.au
In reply to: strk (#5)
Re: Dump Version

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 |/

#7strk
strk@keybit.net
In reply to: Philip Warner (#6)
Re: Dump Version

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;