[Pgsql-ayuda] Manejo de Rollback
Alvaro Herrera
alvherre@dcc.uchile.cl
Thu, 23 Oct 2003 10:26:28 -0300
On Thu, Oct 23, 2003 at 09:31:18AM -0300, Carmen Gloria Sepulveda Dedes wrote:
> Entiendo que efectivamente no existen los segmentos de rollback, pero mi
> temor esta asociado a que tengo funciones (debidas a una migracion) que
> tienen una gran cantidad de actividad (insert, update y delete) sobre tablas.
> Como esto estaba en oracle, se hacia commit cada cierta cantidad de acciones,
> pero en pgsql no se puede hacer y no se si esto afectara el performance de
> la base de datos o hara que las funciones tomen mas tiempo en ejecutarse
> o bien que se genere algun tipo de error (distinto de espacio en disco).
Nada que se me ocurra. Siempre que no tengas los problemas obvios:
violación de restricciones de unicidad o llaves foráneas, etc. Si
ocurren esos errores va a fallar toda la transacción y tendrás que
empezar de nuevo. Si no, no deberías tener problemas.
Si hacen mucho update/delete quizás te interese ejecutar VACUUM mientras
la función se ejecuta, para mantener el estado estacionario de espacio
libre ... (no VACUUM FULL obviamente)
--
Alvaro Herrera (<alvherre[a]dcc.uchile.cl>)
"In fact, the basic problem with Perl 5's subroutines is that they're not
crufty enough, so the cruft leaks out into user-defined code instead, by
the Conservation of Cruft Principle." (Larry Wall, Apocalypse 6)