From: | "Luiz K(dot) Matsumura" <luiz(at)planit(dot)com(dot)br> |
---|---|
To: | pgsql-bugs(at)postgresql(dot)org |
Subject: | pg_dump + serial + sequence problem |
Date: | 2007-05-10 17:08:35 |
Message-ID: | 46435193.3040504@planit.com.br |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-bugs |
Hi,
I found a problem with pg_dump in pg 8.0 and 8.1 ( Postgres 8.2 works
fine)
Scenario 1:
CREATE TABLE teste
(
id serial,
campo character(10),
CONSTRAINT pk_teste PRIMARY KEY (id)
) WITHOUT OIDS;
CREATE TABLE will create implicit sequence "teste_id_seq" for serial
column "teste.id"
Then for some reason, you don't want that id to be auto-generated by
serial anymore, but want to use a sequence
that will managed for your application, then :
ALTER TABLE teste ALTER COLUMN id DROP DEFAULT;
The implicit sequence teste_id_seq isn't dropped, and you think: since I
will need to use a sequence, I can the teste_id_seq that is good to remember
where it is used.
But if we do a pg_dump of this squema (versions 8.0.3 and 8.1.4 tested)
the SEQUENCE IS NOT RECREATED in the sql script generated.
In the other hand, if we do
Scenario 2:
CREATE TABLE teste
(
id integer not null,
campo character(10),
CONSTRAINT pk_teste PRIMARY KEY (id)
) WITHOUT OIDS;
CREATE SEQUENCE teste_id_seq
INCREMENT 1
MINVALUE 1
MAXVALUE 9223372036854775807
START 1
CACHE 1;
and then run pg_dump, now the sequence is correctly created by sql script.
I found this problem when migrating version from pg 8.0 to pg 8.2
Unfortunately, I run pg_dump of 8.0 instead of 8.2 to make backup, but
if someone will use then only for backup the database in 8.0 and 8.1 ,
this problem will occur when try to restore backup.
By the way in the Scenario 1 if we drop the table teste, the sequence is
automatically droped (in PG 8.2.4 this occurs too)
even the column id isn't referencing the sequence teste_id_seq anymore.
--
Luiz K. Matsumura
Plan IT Tecnologia Informática Ltda.
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2007-05-10 17:32:20 | Re: pg_dump + serial + sequence problem |
Previous Message | John R Pierce | 2007-05-10 15:39:37 | INSTALL appnote for Solaris 10... |