Al crear una tabla en PostgreSQL, se asignarán nombres de restricción predeterminados si no se proporcionan:
CREATE TABLE example (
a integer,
b integer,
UNIQUE (a, b)
);
Pero al usar ALTER TABLE
para agregar una restricción, parece que un nombre es obligatorio:
ALTER TABLE example ADD CONSTRAINT my_explicit_constraint_name UNIQUE (a, b);
Esto ha causado algunas inconsistencias en los nombres de los proyectos en los que he trabajado y genera las siguientes preguntas:
¿Existe una forma sencilla de agregar una restricción a una tabla existente con el nombre que habría recibido si se hubiera agregado durante la creación de la tabla?
Si no es así, ¿deberían evitarse por completo los nombres predeterminados para evitar inconsistencias?