Re: BUG #5374: NULLed SERIAL improperly dumped - Mailing list pgsql-bugs

From Tom Lane
Subject Re: BUG #5374: NULLed SERIAL improperly dumped
Date
Msg-id 23467.1268457174@sss.pgh.pa.us
Whole thread Raw
In response to BUG #5374: NULLed SERIAL improperly dumped  ("Wojciech Scigala" <postgresql.org@wojtus.net>)
List pgsql-bugs
"Wojciech Scigala" <postgresql.org@wojtus.net> writes:
> If a SERIAL type is modified by ALTER TABLE .. DROP NOT NULL, backups made
> with pg_dump does not contain this change.

> Test were done on (unsupported) 8.1.18, I've checked release notes for
> 8.1.19 - no fix regarding this found.

Yeah, this is one of a number of reasons why we decided to stop using
the "SERIAL" construct in pg_dump output in 8.2 and up --- it's just not
capable of dealing with manual meddling with the serial column's
properties.  This is not going to be changed in 8.1.x though.  The best
recommendation before 8.2 is "don't do that".

FWIW, I believe that if you run 8.2 or later pg_dump against this
database and load the output into 8.2 or later server, the state of the
column will be restored properly.  But that behavior depends on ALTER
SEQUENCE OWNED BY which is a command 8.1.x hasn't got; it was invented
specifically to deal with this type of situation.

            regards, tom lane

pgsql-bugs by date:

Previous
From: "Wojciech Scigala"
Date:
Subject: BUG #5374: NULLed SERIAL improperly dumped
Next
From: Wes Sheldahl
Date:
Subject: encoding warnings while intializing database.