DBAtlas · Atlas de operaciones de bases de datos

42P16: invalid_table_definition

PostgreSQL

¿Qué significa?

El comando DDL se rechazó porque la definición de la tabla no es válida. La estructura de tabla/columnas solicitada infringe las reglas de PostgreSQL.

¿Por qué ocurre?

Situaciones como definir más de una clave primaria ('multiple primary keys for table are not allowed'), definiciones que entran en conflicto con la herencia, restricciones de columnas generated/identity o un cambio a una estructura que ALTER TABLE no puede producir. Habitual en scripts de migración generados automáticamente.

Cómo solucionarlo

Lea el motivo concreto en el mensaje de error. Defina una sola PRIMARY KEY; si necesita una clave de varias columnas, use una clave compuesta de la forma PRIMARY KEY (a, b). Revise las reglas de las columnas identity/generated. Revise la definición actual de la tabla con \d my_table y corrija el script de migración.

Abrir en DBAtlas →

Más entradas de este motor