Another nasty pg_dump bug in 7.3 (and 7.4?)
От | Christopher Kings-Lynne |
---|---|
Тема | Another nasty pg_dump bug in 7.3 (and 7.4?) |
Дата | |
Msg-id | 057601c344fd$15f5a2a0$2800a8c0@mars обсуждение исходный текст |
Ответы |
Re: Another nasty pg_dump bug in 7.3 (and 7.4?)
|
Список | pgsql-hackers |
This table: australia=# \d users_users Table "public.users_users" Column | Type | Modifiers ----------------+--------------------------+-------------------------------- ---------------------------------userid | integer | not null default nextval('public.users_users_userid_seq'::text)sex | character(1) | not nullsuspended | boolean | not null default 'f'recurring | boolean | not null default 'f'referrer | integer | <snip fields> Check constraints: "$2" (NOT (recurring AND suspended)) "users_users_sex" ((sex = 'M'::bpchar) OR (sex = 'F'::bpchar)) Foreign Key constraints: $1 FOREIGN KEY (referrer) REFERENCES users_users(userid) ON UPDATE NO ACTION ON DELETE SET NULL Is dumped like this: CREATE TABLE users_users ( userid SERIAL, sex character(1) NOT NULL, suspended boolean DEFAULT 'f' NOT NULL, recurringboolean DEFAULT 'f' NOT NULL, referrer integer, CHECK ((NOT (recurring AND suspended))), CONSTRAINT users_users_sexCHECK (((sex = 'M'::bpchar) OR (sex = 'F'::bpchar))) ); ALTER TABLE ONLY users_users ADD CONSTRAINT "$1" FOREIGN KEY (referrer) REFERENCES users_users(userid) ON UPDATE NO ACTION ON DELETE SET NULL; Restoring this fails with: ERROR: constraint "$1" already exists for relation "users_users" Solution: We need to dump constraint name always for CHECK, or suppress default names in ADD FOREIGN KEY. Chris
В списке pgsql-hackers по дате отправления: