Обсуждение: Recovery/Rollback question

Поиск
Список
Период
Сортировка

Recovery/Rollback question

От
Antje.Stejskal@ppimedia.de
Дата:
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 ?

Regards,
A.Stejskal


Re: Recovery/Rollback question

От
"Jason Minion"
Дата:
This is currently unsupported in mainstream PostgreSQL, as the WAL only
works on the cluster basis. The only options you currently have for
performing this is to use the last full backup and copies of WAL files
to restore the cluster on a second server to your specific point in
time, and restore that copy of the database in question to your primary
server.


Jason Minion
jason.minion@sigler.com


-----Original Message-----
From: pgsql-admin-owner@postgresql.org
[mailto:pgsql-admin-owner@postgresql.org] On Behalf Of
Antje.Stejskal@ppimedia.de
Sent: Monday, February 26, 2007 7:57 AM
To: pgsql-admin@postgresql.org
Subject: [ADMIN] Recovery/Rollback question

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
?

Regards,
A.Stejskal


---------------------------(end of broadcast)---------------------------
TIP 3: Have you checked our extensive FAQ?

               http://www.postgresql.org/docs/faq

Re: Recovery/Rollback question

От
Scott Marlowe
Дата:
On Mon, 2007-02-26 at 07:57, Antje.Stejskal@ppimedia.de 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.

Re: Recovery/Rollback question

От
"Simon Riggs"
Дата:
On Mon, 2007-02-26 at 13:15 -0600, Jason Minion wrote:
> This is currently unsupported in mainstream PostgreSQL, as the WAL only
> works on the cluster basis. The only options you currently have for
> performing this is to use the last full backup and copies of WAL files
> to restore the cluster on a second server to your specific point in
> time, and restore that copy of the database in question to your primary
> server.

I'll take that as a request for a TODO item, for 8.4

--
  Simon Riggs
  EnterpriseDB   http://www.enterprisedb.com