Discussion:
Trouble restoring 7.2.1 database into 7.4.2 database
(too old to reply)
Chris White (cjwhite)
2004-04-09 07:26:11 UTC
Permalink
I have table defined as follows:

create table vm_emailjob
(
JobId serial not null,
MessageId varchar(128) not null,
Recipients bytea not null,
SendTime bigint not null,
QueuedTime bigint not null,
RetryCount integer not null,

primary key (JobId)
);

When I restore a backup into a 7.4.2 database from a backup made on
7.2.1 database, using the clean option, I get the following error.

pg_restore: [archiver (db)] could not execute query: ERROR: sequence
"vm_emailjob_jobid_seq" does not exist

and the restore fails. If I edit the pg_backup_db.c to display what's
statements are being executed I see the following:

sending: 'DROP TABLE "vm_emailjob";'

sending: 'DROP SEQUENCE "vm_emailjob_jobid_seq";'

pg_restore: [archiver (db)] could not execute query: ERROR: sequence
"vm_emailjob_jobid_seq" does not exist

Looks like the Drop table is also deleting the sequence.

If I do the restore on a 7.2.1 database I have no problem.

How can I get around this?

Chris White
Tom Lane
2004-04-09 12:51:06 UTC
Permalink
Post by Chris White (cjwhite)
When I restore a backup into a 7.4.2 database from a backup made on
7.2.1 database, using the clean option, I get the following error.
pg_restore: [archiver (db)] could not execute query: ERROR: sequence
"vm_emailjob_jobid_seq" does not exist
Looks like the Drop table is also deleting the sequence.
Yup, serial columns work that way since 7.3 or so. Unfortunately 7.2's
pg_dump does not know that.
Post by Chris White (cjwhite)
How can I get around this?
Don't use --clean, or use 7.4's pg_dump to dump from the older server.

regards, tom lane

---------------------------(end of broadcast)---------------------------
TIP 1: subscribe and unsubscribe commands go to ***@postgresql.org
Loading...