При создании таблицы в PostgreSQL назначаются имена ограничений по умолчанию, если они не указаны:
CREATE TABLE example (
a integer,
b integer,
UNIQUE (a, b)
);
Но используя ALTER TABLE
, чтобы добавить ограничение, кажется, что имя является обязательным:
ALTER TABLE example ADD CONSTRAINT my_explicit_constraint_name UNIQUE (a, b);
Это вызвало некоторые несоответствия в именах проектов, над которыми я работал, и предлагает следующие вопросы:
-
Есть ли простой способ добавить ограничение к существующей таблице с именем, которое оно получило бы, если бы было добавлено при создании таблицы?
-
Если нет, следует ли вообще исключать имена по умолчанию, чтобы предотвратить несоответствия?