From: | Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org> |
---|---|
To: | James Alonso Barrientos Santos <jab_santos(at)hotmail(dot)com> |
Cc: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: Error al crear BD en una transaccion |
Date: | 2007-12-11 18:47:49 |
Message-ID: | 20071211184749.GI10710@alvh.no-ip.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
James Alonso Barrientos Santos escribió:
> Hola Compañer(at)s(dot) Disculpen la pregunta, tal vez es muy simple pero he
> buscado la respuesta sin éxito. ¿Porqué no puedo crear una base de
> datos dentro de en una transacción?. Gracias por su ayuda James
No está permitido porque si falla no hay manera de hacer "rollback" de
algunos cambios. Por ej. si hicieras dos CREATE DATABASE en una
transacción y luego hicieras un ROLLBACK, no hay manera de deshacer el
primer CREATE DATABASE (y en realidad, el segundo tampoco).
La razón es que esta orden se implementa copiando los archivos de la
base de datos plantilla, y no es fácil deshacer esta operación: habría
que recordar exactamente qué archivos se copiaron y qué directorios se
crearon, para borrarlos luego en ROLLBACK.
--
Alvaro Herrera http://www.amazon.com/gp/registry/5ZYLFMCVHXC
"In a specialized industrial society, it would be a disaster
to have kids running around loose." (Paul Graham)
From | Date | Subject | |
---|---|---|---|
Next Message | Alvaro Herrera | 2007-12-11 19:00:41 | Re: SSL y Notify error |
Previous Message | Alvaro Herrera | 2007-12-11 18:39:23 | Re: SLL error 100% cpu |