Watch at EaseHistorias. Respuestas. Perspectiva.

Tecnología · GUÍA PRÁCTICA

¿ID generado duplicado en PostgreSQL? Demuestra el desfase antes de setval

Lee la restricción y el valor, identifica quién genera la clave, resuelve la secuencia propietaria y detén escritores antes de una reparación puntual. Una clave de negocio duplicada o una carrera necesita otra solución.

Diagrama original que separa clave de negocio y secuencia desfasada.
Ilustración original: identifica primero clave y generador. Watch at Ease

Una clave duplicada prueba que ya existe un valor restringido; no prueba que la secuencia primaria esté mal.

Conserva restricción y valor, identifica el generador y compara tabla y secuencia con los escritores controlados.

Conserva restricción y valor

Guarda error, restricción, DETAIL y forma de la sentencia. Una clave de negocio no se arregla reiniciando IDs.

Registra si se suministró el ID y cambios de importación, seed, restore o failover.

Demuestra el generador

Inspecciona default/identity y usa pg_get_serial_sequence, sin adivinar nombres.

Con clave de aplicación o restricción compuesta, investiga reintentos, idempotencia y datos fuente.

Compara sin avanzar

Compara MAX(id), last_value e is_called; no invoques nextval solo para mirar.

Revisa start, increment, límites, cycle y tabla vacía antes de aplicar fórmulas.

Repara con escritores detenidos

Detén writers en una ventana de mantenimiento; setval es inmediato y no se deshace con rollback.

Repara solo la secuencia demostrada; en tabla vacía usa el start real e is_called=false.

Verifica y cierra la causa

Haz un insert controlado sin ID y confirma clave nueva, fila y dirección de secuencia.

Corrige cargas con ID, replicación o failover; si vuelve, no repitas setval sin hallar al writer.

Diagrama original de pausa, reparación puntual, verificación y recurrencia.
Ilustración original: repara solo el límite demostrado. Watch at Ease