Solution for rolling back many transactions? - Mailing list pgsql-general

From Phillip Tornroth
Subject Solution for rolling back many transactions?
Date
Msg-id 9EA71211-8F13-437E-840C-B197DC4352FA@intellidot.net
Whole thread Raw
Responses Re: Solution for rolling back many transactions?  (Lexington Luthor <Lexington.Luthor@gmail.com>)
List pgsql-general
The most cumbersome part of our many (hundreds) of unit tests that
verify our data access is working, is creating and then deleting all
of the test data. Currently, we're doing it at a pretty high level
using java and our ORM (hibernate). It occurred to me that I can
probably speed the deletion up by implementing a stored procedure to
help do the cleanup. This way we don't pay the penalty for a lot of
object construction and individually-issued delete statements.. This
might help, but half way through writing it I wondered if there's an
even easier solution...

What I want is to be able to roll the state of the database back to
the way it was when the test began. Essentially, I want the same
behavior I'd get if I backed the database up and then re-imported it
afterward.. Only I need the process to add very little overhead (less
than a second).

Are there any creative ways to accomplish this? I figured I'd ask the
list before trudging forward with my still-not-optimal stored procedure.

In case it's useful information, the test database is pretty small...
Maybe 15 or 20 megs. The unit tests are individually pretty small..
Less than 100 inserts each, for sure... So there's not that much to
'roll back'.. As far as using transactions to undo the state of the
database, let me know if that's possible.. All of our tests have
their own transaction boundaries that they're applying. I don't want
to undo that, but certainly if I could nest each test in a longer-
running tx and then roll it back.. that could work.

Thanks in advance.

Phill

pgsql-general by date:

Previous
From: "Ronin"
Date:
Subject: hi, what is wrong with my newbie sql?
Next
From: Najib Abi Fadel
Date:
Subject: Re: What is the Best Postgresql Load Balancing Solution available ?