Hola:

En una aplicación en la que estoy participando estamos haciendo inserciones masivas de operaciones de clientes ejecutando un procedimiento almacenado que recorre una tabla, y para cada fila de esa tabla recorre otras, con el fin de insertar o actualizar en las tablas definitivas, que están en otro esquema, que es en el que funciona la aplicacion web. Pues bien, resulta que como ese proceso de recorrer varias tablas y actualizar o insertar en el esquema de trabajo es bastante complejo, y además en casos de clientes especiales, hay muchos registros de operaciones y la transacción de incorporación a tablas de trabajo se demora bastante en el tiempo, la aplicación web empieza a escribir en las mismas tablas de trabajo, y se producen bloqueos. Como solución a esto, nos proponen que cada paso del bucle, es decir, cada manejo de una operación sea una transacción, vamos, que quieren que se haga un commit dentro del procedimiento, pero evidentemente eso no se puede hacer. Sabeis si hay alguna solución a este problema, aparte de hacer uso de dblink, como he visto por ahi?? La solución de incorporar datos cuando no se esté trabajando con la aplicación no existe, porque los ficheros de los clientes hay que incorporarlos al sistema en cuanto llegan, y no depende de nosotros.

Muchas gracias y saludos

-
Enviado a la lista de correo pgsql-es-ayuda ([email protected])
Para cambiar tu suscripción:
http://www.postgresql.org/mailpref/pgsql-es-ayuda

Responder a