Re: Error al crear BD en una transaccion

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)

In response to

Browse pgsql-es-ayuda by date

  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