BUG #16767: Silent dropping of CONSTRAINT... UNIQUE

Поиск
Список
Период
Сортировка
От PG Bug reporting form
Тема BUG #16767: Silent dropping of CONSTRAINT... UNIQUE
Дата
Msg-id 16767-1714a2056ca516d0@postgresql.org
обсуждение исходный текст
Ответы Re: BUG #16767: Silent dropping of CONSTRAINT... UNIQUE  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-bugs
The following bug has been logged on the website:

Bug reference:      16767
Logged by:          Matthias vd Meent
Email address:      boekewurm+postgres@gmail.com
PostgreSQL version: 12.5
Operating system:   Debian Stretch (9.13)
Description:

Hi,

I've just noticed that equivalent unique constraints that are specified in
the same statement only generate one constraint; but if they are specified
in different statements they generate the correct constraints. E.g.:

CREATE TABLE test (
  id bigint,
  val test,
  CONSTRAINT u_id UNIQUE (id),
  CONSTRAINT u_id2 UNIQUE (id),
  CONSTRAINT pk_id PRIMARY KEY (id),
  CONSTRAINT u_val UNIQUE (val)
);

vs

CREATE TABLE test (
  id bigint,
  val test
);

ALTER TABLE test ADD CONSTRAINT u_id UNIQUE (id);
ALTER TABLE test ADD CONSTRAINT u_id2 UNIQUE (id);
ALTER TABLE test ADD CONSTRAINT pk_id PRIMARY KEY (id);
ALTER TABLE test ADD CONSTRAINT u_val UNIQUE (val);

The first only results in a primary key on (id), and unique(val), the second
(correctly?) generates 4 constraints on the test table. 

This unexpected and undocumented behaviour also exists at least in pg10.15
and pg11.10

-Matthias


В списке pgsql-bugs по дате отправления:

Предыдущее
От: Andres Freund
Дата:
Сообщение: Re: BUG #16754: When using LLVM and parallel queries aborted all session by pg_cancel_backend.
Следующее
От: Tom Lane
Дата:
Сообщение: Re: BUG #16767: Silent dropping of CONSTRAINT... UNIQUE