При создании таблицы в 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);
Это вызвало некоторые несоответствия имен в проектах, над которыми я работал, и вызывает следующие вопросы:
Есть ли простой способ добавить ограничение в существующую таблицу с именем, которое он получил бы, если бы он был добавлен во время создания таблицы?
Если нет, следует ли вообще избегать имен по умолчанию для предотвращения несоответствий?