On Thu, 2005-09-22 at 14:20, Emi Lu wrote: > greetings, > > I remembered I read something in the mailing list about "*rollback*" a > while ago. People mentioned that some operations cannot rollback. > I cannot remember what kinds of perations are not be able to rollback? create database and drop database cannot be rolled back, since transactions live within a database. Used to be that truncate couldn't be, but I think it can now. I don't think there are any other commands that can't be rolled back. Certainly simple DML (data manipulation language) stuff can all be rolled back now. It's always been an issue for certain DDL (data definition language) to be roll backable. (<-- not a word, but the only way I can think to say it) > > For example, > > begin > ... ... > insert > ... ... > delete > ... ... > update > ... ... > > /* If any of the above operation failed, we can rollback all the > above operations? */ > rollback > ... ... > end > > > Will all "Insert, delete, update" operations rollback if any of the > operations fails? Yep. Unless you set a savepoint, any error will result in all of a transaction being rolled back. You don't get a choice, without a save point. It will be rolled back. ---------------------------(end of broadcast)--------------------------- TIP 3: Have you checked our extensive FAQ? http://www.postgresql.org/docs/faq