Обсуждение: pg_dump trouble
Here is the trouble I encountered. I got 2 tables like create table mytable(idnop serial, other varchar, primary key (idnop)); create table reftable(idnop integer references mytable, primary key (idnop)); pgsql create implicitly a sequence to handle the idnop serial. I perfomed some insertions into the 2 tables, no problem. Afterthat I run pg_dump with -D option (insert into (colomn, ...) values (...); The trouble is when it dumps the sequence. Instead of dumping the current value (which is the last used for an insertion into mytable) it dumps the value 1. Obviously when I restore the data and I try to perform an other insertion into mytable it fails because of the primary key violation. The presence of -D option doesn't have any effect on the result. Vous manquez despace pour stocker vos mails ? Yahoo! Mail vous offre GRATUITEMENT 100 Mo ! Créez votre Yahoo! Mail sur http://fr.benefits.yahoo.com/ Le nouveau Yahoo! Messenger est arrivé ! Découvrez toutes les nouveautés pour dialoguer instantanément avec vos amis. A téléchargergratuitement sur http://fr.messenger.yahoo.com
On Fri, Sep 24, 2004 at 02:33:59PM +0200, gauthier lawny wrote: > > I got 2 tables like > create table mytable(idnop serial, other varchar, > primary key (idnop)); > create table reftable(idnop integer references > mytable, primary key (idnop)); > > pgsql create implicitly a sequence to handle the idnop serial. > I perfomed some insertions into the 2 tables, no problem. > Afterthat I run pg_dump with -D option (insert into > (colomn, ...) values (...); > The trouble is when it dumps the sequence. Instead of > dumping the current value (which is the last used for > an insertion into mytable) it dumps the value 1. What version of PostgreSQL are you using? I tested this with 7.4.5 and 8.0.0beta2 and in both cases pg_dump used pg_catalog.setval() to set the value of the sequence to the correct value. > Obviously when I restore the data and I try to perform > an other insertion into mytable it fails because of > the primary key violation. Can you provide complete example that shows how we can duplicate the problem? -- Michael Fuhr http://www.fuhr.org/~mfuhr/