On Mon, 2007-02-26 at 07:57, Antje.Stejskal@xxxxxxxxxxx wrote: > Hi, > > I am new to the list and want to say "hello" first. > We are migrating to Postgres and therefore my question might be simple for > you. > We run several application databases under one db server. Now we are looking > for a mechanism to rollback unwanted user command without impact for other > databases. Is there a posiibilty to use something like WAL on tablespaces or > databases not only on db servers? > Does Postgres provide other utilities for this? Which strategies to you use? > Scenatio running databases a and b under the server. > It is now 10 o 'clock, user made a mistake at 8 o'clock in database a, so > we need to roll database a back to 8 o'clock, database b keeps current data > status. > How do you solve this under Postgres? Any links to useful docu chapters ? You can solve it with PITR (point in time recovery) but note that it will roll back the whole cluster, not just one db in it. However, PITR is generally run on a secondary server, so that's ok. If you're not set up for PITR, you've asked a little late (i.e. after the fact is too late) as it needs to be setup ahead of time normally. You might want to set up your machine to do PITR, but you need an image of your database files from before the pebcak* incident. Your users need to learn how to use transactions. You can run some pretty big transactions and roll them back if you don't like the changes. Once you commit though, you can't roll it back without using disaster recovery techniques like PITR. Look up PITR in the docs, it's a useful piece of kit. *pebcak: Problem exist(s|ed) between chair and keyboard.