From: | Terry Yapt <yapt(at)technovell(dot)com> |
---|---|
To: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Transacciones Autónomas. |
Date: | 2009-04-13 12:36:40 |
Message-ID: | 49E331D8.3000504@technovell.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Hola a todos,
alguien sabe si es posible realizar transacciones autónomas en
PostgreSQL ? Me explico:
Lo que se desea es lo siguiente:
==================
Init.Transaction
INSERT ....
INSERT ....
IF xxx THEN insert_LOG;
INSERT ....
INSERT ....
IF yyyy THEN COMMIT;
ELSE ROLLBACK;
==================
Como puede verse, se inicia la transacción y se hacen unas INSERTS (es
un ejemplo, claro). En un momento (o varios) dado se realiza una INSERT
a un LOG.
De lo que se trata es que esa INSERT se produzca SI o SI. Es decir. El
LOG se grabe, aunque se haga ROLLBACK a la transacción en si misma.
En ORACLE, esto se realiza con una linea:
PRAGMA AUTONOMOUS_TRANSACTION;
De este modo, se indica que esta transacción es autónoma que de debe ejecutarse en su "propio espacio de transaccion".
Queria saber si existe algo semejante en PostgreSQL. Sé que si, desde una aplicación cliente, realizo conexiones diferentes para esa INSERT_LOG, entonces quedará fuera de la transacción principal. Pero me gustaría saber si existe alguna forma de hacerlo DIRECTAMENTE.
Gracias.
From | Date | Subject | |
---|---|---|---|
Next Message | Terry Yapt | 2009-04-13 12:42:10 | Bloques anónimos. |
Previous Message | Ana Smail | 2009-04-13 11:25:39 | RE: Consulta sobre entidades |