[Pgsql-ayuda] Manejo de Rollback

Alvaro Herrera alvherre@dcc.uchile.cl
Wed, 22 Oct 2003 19:30:58 -0300


On Mon, Oct 20, 2003 at 03:42:41PM -0300, Carmen Gloria Sepulveda Dedes wrote:

> - Como debo hacerlo si quisiera llamar a funciones y poder
> hacerles un rollback luego de ejecutarlas (por cualquier razon
> que sea necesario)???

No se puede (a menos que hagas funciones que deshagan "a mano" las
acciones que hicieron las otras funciones).  Para esto necesitas usar
transacciones anidadas o "savepoints", que no están disponibles todavía;
ojalá en la próxima versión ...

> - Se puede generar algun tipo de error si una funcion en particular
> hace, por ejemplo, un delete a varias tablas?? ... Puede pasar algo
> similar a lo que pasa con oracle cuando no se pueden extender
> mas los segmentos de rollback???

No hay segmentos de rollback.  Pero en el modelo MVCC de PostgreSQL una
tabla se extiende siempre que se actualiza o inserta un registro (_no_
se extiende si se elimina un registro).  Mientras te quede espacio en la
partición de xlog (WAL), y en la partición de los archivos de datos,
estás a salvo ...

Pero como ya dije, eliminar un registro (o muchos) no hace ocupar más
espacio en disco.

> Si saben donde puedo leer documentacion respecto de esto
> en particular (o bien responder estas dudas), se los agradecere.

Busca MVCC en la documentación.

-- 
Alvaro Herrera (<alvherre[a]dcc.uchile.cl>)
"Vivir y dejar de vivir son soluciones imaginarias.
La existencia está en otra parte" (Andre Breton)