Обсуждение: pg_ [dump & restore] invalid archive problem
Hello List... I'd like to move a db containing large objects from one db to
another.
Using the command syntax directly from man pg_dump:
pg_dump -Ft -b mydb > mydb.tar
pg_restore -d mydb mydb.tar
I invariably (tried various attempts) get the following error:
"pg_restore: [archiver] input file does not appear to be a valid archive"
Any help much appreciated.
/j-p.
Hi,
I had a similar problem a while back,
I think the way you've dumped them is fine, to restore them however you need
to use the psql command
psql -U postgres YourDatabase < mydb.tar
make sure YourDatabase is created and empty before you run this command, and
change postgres to whatever user you have.
Hope this helps
Roy
-----Original Message-----
From: John-Paul Delaney [mailto:John-Paul.Delaney@wfp.org]
Sent: 04 November 2004 10:29
To: pgsql-novice@postgresql.org
Subject: [NOVICE] pg_ [dump & restore] invalid archive problem
Hello List... I'd like to move a db containing large objects from one db to
another.
Using the command syntax directly from man pg_dump:
pg_dump -Ft -b mydb > mydb.tar
pg_restore -d mydb mydb.tar
I invariably (tried various attempts) get the following error:
"pg_restore: [archiver] input file does not appear to be a valid archive"
Any help much appreciated.
/j-p.
---------------------------(end of broadcast)---------------------------
TIP 3: if posting/reading through Usenet, please send an appropriate
subscribe-nomail command to majordomo@postgresql.org so that your
message can get through to the mailing list cleanly
********************
This e-mail contains information intended for the addressee only.
It may be confidential and may be the subject of legal and/or professional privilege.
If you are not the addressee you are not authorised to disseminate, distribute, copy or use this e-mail or any
attachmentto it
The content may be personal or contain personal opinions and unless specifically stated or followed up in writing, the
contentcannot be taken to form a contract or to be an expression of the County Council's position.
LCC reserves the right to monitor all incoming and outgoing email
LCC has taken reasonable steps to ensure that outgoing communications do not contain malicious software and it is your
responsibilityto carry out any checks on this email before accepting the email and opening attachments.
********************
Thanks Roy... Unfortunately that parsed the file and output lot's of invalid command strings with nothing written to the db in the end. What's the pg_restore command used for then, if not to restore from a pg_dump, I wonder? regards /j-p.
Hello Roy et al...
Just following on the pg_restore thing, I tried it with the --format=t
option, and this time the error is:
pg_restore: [archiver] unsupported version (1.7) in file header. I had
also attemped the dump with the -i option to ignore version (?), but the
result is still the same.
Googling around doesn't give me much to work on.
Using the redirection as you describe, it seems to interpret the binary
contents of the tables as text commands and hence scrolls off for some time
with "invalid command", leaving a file with a name of >100 gibberish
characters on the filesystem. I think this may work for dumps containing
text-only tables?
Regards,
/j-p.
"Crombleholme, Roy"
<Roy.Crombleholme@its.lanc To: "'John-Paul Delaney'" <John-Paul.Delaney@wfp.org>
scc.gov.uk> cc:
Subject: RE: [NOVICE] pg_ [dump & restore] invalid archive
problem
04/11/2004 14:05
HI j-p,
From what I can remember, (anybody feel free to correct me on this if I'm
wrong), pg_restore expects a different format to that output from pg_dump,
Not very logical I know but I was doing a similar thing a while back but it
was a few versions back now. I was confused by the fact pg_restore did not
restore a pg_dump. I am pretty sure that the psql < databasedump is the
way
to do it.
Did you make sure that the database you were trying to recreate was a brand
new one and owned by the same user as the original?
Maybe you could post a few error lines from the psql < databasedump command
that you ran and I'll see if I recognize anything there.
Roy
-----Original Message-----
From: John-Paul Delaney [mailto:John-Paul.Delaney@wfp.org]
Sent: 04 November 2004 12:30
To: pgsql-novice@postgresql.org
Subject: Re: [NOVICE] pg_ [dump & restore] invalid archive problem
Thanks Roy...
Unfortunately that parsed the file and output lot's of invalid command
strings with nothing written to the db in the end.
What's the pg_restore command used for then, if not to restore from a
pg_dump, I wonder?
regards
/j-p.
---------------------------(end of broadcast)---------------------------
TIP 8: explain analyze is your friend
********************
This e-mail contains information intended for the addressee only.
It may be confidential and may be the subject of legal and/or professional
privilege.
If you are not the addressee you are not authorised to disseminate,
distribute, copy or use this e-mail or any attachment to it
The content may be personal or contain personal opinions and unless
specifically stated or followed up in writing, the content cannot be taken
to form a contract or to be an expression of the County Council's position.
LCC reserves the right to monitor all incoming and outgoing email
LCC has taken reasonable steps to ensure that outgoing communications do
not contain malicious software and it is your responsibility to carry out
any checks on this email before accepting the email and opening
attachments.
********************
"John-Paul Delaney" <John-Paul.Delaney@wfp.org> writes:
> Using the command syntax directly from man pg_dump:
> pg_dump -Ft -b mydb > mydb.tar
> pg_restore -d mydb mydb.tar
> I invariably (tried various attempts) get the following error:
> "pg_restore: [archiver] input file does not appear to be a valid archive"
Which PG version are you using? There was a bug for awhile that would
cause pg_restore to fail to identify tar-format archives automatically,
so you had to specify -Ft at restore time too:
pg_restore -Ft -d mydb mydb.tar
Other than that, this looks right to me. The nearby suggestion to use
psql is definitely wrong --- you use psql for plain-text dumps, but
pg_restore for -Ft and -Fc dumps.
(BTW, in general I'd recommend -Fc over -Ft, unless you have some
compelling reason to want to look at the dump with tools other than
pg_restore. The custom-format code is better tested, for one thing, as
evidenced by the fact that this bug went undetected for a good while.)
regards, tom lane
Thanks Tom... I'm hoping to move the db from a version 7.3.3 to 7.2.4
though even trying with a format custom 'c' I get the usual error:
pg_restore: [archiver] unsupported version (1.7) in file header
The commands I'm using are:
[On version 7.3.3] pg_dump -Fc -b -i -v mydb > mydb.pg_dump (completes
successfully)
[On version 7.2.4] pg_restore -d mydb -Fc -i -v mydb.pg_dump (immediate
return with error)
/j-p.
Tom Lane
<tgl@sss.pgh.pa.u To: "John-Paul Delaney" <John-Paul.Delaney@wfp.org>
s> cc: pgsql-novice@postgresql.org
Subject: Re: [NOVICE] pg_ [dump & restore] invalid archive
04/11/2004 16:17 problem
"John-Paul Delaney" <John-Paul.Delaney@wfp.org> writes:
> Using the command syntax directly from man pg_dump:
> pg_dump -Ft -b mydb > mydb.tar
> pg_restore -d mydb mydb.tar
> I invariably (tried various attempts) get the following error:
> "pg_restore: [archiver] input file does not appear to be a valid archive"
Which PG version are you using? There was a bug for awhile that would
cause pg_restore to fail to identify tar-format archives automatically,
so you had to specify -Ft at restore time too:
pg_restore -Ft -d mydb mydb.tar
Other than that, this looks right to me. The nearby suggestion to use
psql is definitely wrong --- you use psql for plain-text dumps, but
pg_restore for -Ft and -Fc dumps.
(BTW, in general I'd recommend -Fc over -Ft, unless you have some
compelling reason to want to look at the dump with tools other than
pg_restore. The custom-format code is better tested, for one thing, as
evidenced by the fact that this bug went undetected for a good while.)
regards, tom lane
"John-Paul Delaney" <John-Paul.Delaney@wfp.org> writes:
> Thanks Tom... I'm hoping to move the db from a version 7.3.3 to 7.2.4
Why?
Archive header incompatibility is going to be the *least* of your
worries. pg_dump output is not designed to be loaded into old versions
without problems, and in this case you are talking about going backwards
over the addition of schemas. You'll have all kinds of syntax errors.
I can't imagine why you'd be wanting to go back to 7.2.anything anyway.
regards, tom lane
Oh.. It's just that they are the versions running on the particular
machines I have to swap between. Then what I'm looking at is really an
upgrade of the 7.2.4 version, before I can consider installing the db? I
hadn't realized there was such a difference that it would force an upgrade.
Thanks for the clarification.
/j-p.
Tom Lane
<tgl@sss.pgh.pa.us> To: "John-Paul Delaney" <John-Paul.Delaney@wfp.org>
Sent by: cc: pgsql-novice@postgresql.org
pgsql-novice-owner@pos Subject: Re: [NOVICE] pg_ [dump & restore] invalid archive
tgresql.org problem
04/11/2004 22:06
"John-Paul Delaney" <John-Paul.Delaney@wfp.org> writes:
> Thanks Tom... I'm hoping to move the db from a version 7.3.3 to 7.2.4
Why?
Archive header incompatibility is going to be the *least* of your
worries. pg_dump output is not designed to be loaded into old versions
without problems, and in this case you are talking about going backwards
over the addition of schemas. You'll have all kinds of syntax errors.
I can't imagine why you'd be wanting to go back to 7.2.anything anyway.
regards, tom lane
---------------------------(end of broadcast)---------------------------
TIP 7: don't forget to increase your free space map settings
Tom... just to confirm your solution to the list, I did a quick test
postgres rpm install (7.3.4) on a separate machine and the pg_restore
worked a charm.
Thanks to Tom Lane & Roy Crombleholme for kind assistance.
/j-p.
----- Forwarded by John-Paul Delaney/ICT/WFP on 05/11/2004 09:53 -----
John-Paul Delaney
To: Tom Lane <tgl@sss.pgh.pa.us>
05/11/2004 06:36 cc: pgsql-novice@postgresql.org
Subject: Re: [NOVICE] pg_ [dump & restore] invalid
archive problem(Document link: Delaney)
Oh.. It's just that they are the versions running on the particular
machines I have to swap between. Then what I'm looking at is really an
upgrade of the 7.2.4 version, before I can consider installing the db? I
hadn't realized there was such a difference that it would force an upgrade.
Thanks for the clarification.
/j-p.
Tom Lane
<tgl@sss.pgh.pa.us> To: "John-Paul Delaney" <John-Paul.Delaney@wfp.org>
Sent by: cc: pgsql-novice@postgresql.org
pgsql-novice-owner@pos Subject: Re: [NOVICE] pg_ [dump & restore] invalid
tgresql.org archive problem
04/11/2004 22:06
"John-Paul Delaney" <John-Paul.Delaney@wfp.org> writes:
> Thanks Tom... I'm hoping to move the db from a version 7.3.3 to 7.2.4
Why?
Archive header incompatibility is going to be the *least* of your
worries. pg_dump output is not designed to be loaded into old versions
without problems, and in this case you are talking about going backwards
over the addition of schemas. You'll have all kinds of syntax errors.
I can't imagine why you'd be wanting to go back to 7.2.anything anyway.
regards, tom lane
---------------------------(end of broadcast)---------------------------
TIP 7: don't forget to increase your free space map settings