Error en instituciones con el mismo nombre

Hola
Estoy migrando una nueva base de G2 hacia G3.20.0.
En la base de G3 ya hay otras bases migradas.

En los pre-controles Generales, obtengo el siguiente error:
Error: Hay dos o mas instituciones con el mismo nombre (mig.sga_instituciones) y que ya existe en Guarani 3. Reemplace el nombre de la institución para que sea único.

Mirando un poco, veo que una base migrada previamente, pasó las instituciones con nombre repetido. Que son las mismas que se desean insertar ahora.
Cómo lo puedo solucionar?

Si avanzo en la migración, falla este archivo:
02_Modulos/10_Generales/02_Migracion/02_tablas_conversion.sql
y se emite el siguiente mensaje:

02_tablas_conversion - ERROR: llave duplicada viola restricción de unicidad «pk__cnv_pk_instituciones» 02_tablas_conversion - Detail: Ya existe la llave (institucion)=(474).

Gracias!!
Saludos

Iris

El problema es que existen dos o mas instituciones en la base de G2 con el mismo nombre?

SELECT nombre, count(*)  FROM mig.sga_instituciones GROUP BY nombre HAVING COUNT(*) > 0;

Si existe, cambiarle el nombre para que no existan instituciones con mismo nombre

UPDATE mig.sga_instituciones SET nombre = nombre || ' - ' || institucion::text  WHERE  nombre = '<nombre consulta anterior>';

¿En los precontroles de ese módulo no tuviste este mensaje de error?
Error: Hay dos o mas instituciones con el mismo nombre (mig.sga_instituciones) y que ya existe en Guarani 3. Reemplace el nombre de la institución para que sea único

Hola Alejandro.
Bien, si, ya dejé los nombres únicos en G2, había muchos repetidos.
El precontrol no avisó de nada.
Y una base migrada anteriormente con el mismo inconveniente, migró todos los repetidos.
El problema recién saltó al momento de migrar una segunda base que tenía exactamente los mismos nombres repetidos. Cuando detectó que los repetidos también estaban en G3.
Saludos

Iris

Si aun no actualzaste los nombres en mig.sga_instituciones, al correr la siguiente consulta devuelve filas?

SELECT i.nombre, count(*) 
FROM mig.sga_instituciones as i 
GROUP BY 1
HAVING COUNT(*) > 1  
AND EXISTS (SELECT 1 FROM sga_instituciones as ig3 WHERE ig3.nombre = i.nombre)

Hola Alejandro
Ya actualicé los nombres de la instituciones. Ya lo solucioné.

Pero esa consultas que indicás, si, me retornaba varias filas.

Es más esta también me retornaba varios resultados (por la migración de la base anterior que no me dio problemas)

SELECT i.nombre, count(*)
FROM sga_instituciones as i
GROUP BY 1
HAVING COUNT(*) > 1 

Saludos

Iris