Alvaro buen dia respecto de esta ultima parte que comentaste
> No creo que la idea de quitar y poner restricciones sea operacionalmente > lo mejor. Considera la idea que te sugiero: en vez de que la aplicación > haga INSERT directamente, usa una función en plpgsql que tenga un bloque > algo así como > > BEGIN > INSERT INTO ... ( ... ) > EXCEPTION WHEN EXCLUSION_VIOLATION THEN > RAISE NOTICE 'no insertamos nada porque ya había algo'; > RETURN NULL; > END > Esto funcionaria si yo pudiera crear una función personalizada para insertar pero esto lo hace QGIS a traves de la interfaz grafica por lo que si bien es una mejor solución no tengo forma de implementarlo en cambio quisiera preguntar al implementar el contrain exclude es posible personalizar el mensaje de la exception para decir por ejemplo no se puede insertar una caja, codo, valvula o lo que sea? con lo cual ya podria trabajar con la excepcion que ya no podria hacer la importacion en batch pero eso lo podria hacer en una tabla previa y luego unir a la que tendria el constrain. Si no bueno he probado el codigo de Anthony y con los triggers podre resolver este caso. saludos > > -- > Álvaro Herrera https://www.2ndQuadrant.com/ > PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services > -- José Mercedes Venegas Acevedo cel Mov RPC 964185205 Member of the PHP Documentation Group (Spanish)