It's a common problem to write integration tests that include a database. If the test changes the database then it could effect other tests or the next run of itself.
I know that I could wrap my test in a transaction and rollback the transaction after the test run. But it would be very nice if PostgreSQL could provide some kind of global snapshoting or throwaway overlay. In an ideal case such a feature would cover all state of the database including schemas and stored procedures.