The following bug has been logged online:
Bug reference: 5374
Logged by: Wojciech Scigala
Email address: postgresql.org@wojtus.net
PostgreSQL version: 8.1.18
Operating system: Linux 2.6.18
Description: NULLed SERIAL improperly dumped
Details:
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.
Steps to reproduce:
CREATE TABLE bugtest ( nullserial SERIAL );
ALTER TABLE bugtest ALTER nullserial DROP NOT NULL;
INSERT INTO bugtest VALUES ( NULL );
Shell commands:
$ pg_dump -Fc -f dumpfile database
$ pg_restore -c -d database dumpile
Resulting error:
CONTEXT: COPY bugtest, line 1: "\N" pg_restore [archiver (db)] error
returned by PQendcopy: ERROR: null value in column "nullserial" violates
not-null constraint
Best regards,
Wojciech