Обсуждение: Warm-standby robustness question

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

Warm-standby robustness question

От
"David F. Skoll"
Дата:
Hi,

We have two PostgreSQL 8.2 database servers: A master and a warm-standby
server.  We plan on making an initial backup of the master onto the standby
and then use log-shipping with "real-time" WAL-file processing as described
in http://www.postgresql.org/docs/8.2/static/warm-standby.html

My question is this:  If the master database is fairly busy, gets
VACUUMed once a day, etc. can we expect the warm standby server
to work correctly after days/weeks/months/years of log shipping,
or should we periodically take new base backups?

How long would you go between base backups?  Or is one initial copy
really sufficient with WAL-shipping-and-consuming working perfectly
thereafter?

Regards,

David.

Re: Warm-standby robustness question

От
Tom Lane
Дата:
"David F. Skoll" <dfs@roaringpenguin.com> writes:
> My question is this:  If the master database is fairly busy, gets
> VACUUMed once a day, etc. can we expect the warm standby server
> to work correctly after days/weeks/months/years of log shipping,
> or should we periodically take new base backups?

I don't think the time period is at issue.  Log-shipping should keep the
slave a perfect replica of the master (if it doesn't, we have problems
anyway).  The operational question you need to ask yourself is: if
you haven't swapped to the slave lately, how do you know it will work
when you need it to?

The current backup/restore docs suggest as best practice that you
intentionally swap master and slave periodically, ie, fail over
to the slave and then re-initialize the master as a new slave.
This provides a periodic test that your fail-over mechanisms actually
work, and as a bonus gives you a chance for a maintenance window
on the ex-master before it's brought up as new slave.

            regards, tom lane

Re: Warm-standby robustness question

От
"Kevin Grittner"
Дата:
>>> On Tue, Dec 18, 2007 at 12:55 PM, in message <3149.1198004157@sss.pgh.pa.us>,
Tom Lane <tgl@sss.pgh.pa.us> wrote:
> "David F. Skoll" <dfs@roaringpenguin.com> writes:
>> My question is this:  If the master database is fairly busy, gets
>> VACUUMed once a day, etc. can we expect the warm standby server
>> to work correctly after days/weeks/months/years of log shipping,
>> or should we periodically take new base backups?
>
> I don't think the time period is at issue.  Log-shipping should keep the
> slave a perfect replica of the master (if it doesn't, we have problems
> anyway).

Except for hint bits.  This becomes more of a post-recovery
performance issue as the base backup ages, since they are included
in base backups, but not in WAL files.

http://archives.postgresql.org/pgsql-performance/2007-12/msg00203.php

> The operational question you need to ask yourself is: if
> you haven't swapped to the slave lately, how do you know it will work
> when you need it to?

Absolutely.  Nobody should ever assume they have a working backup
system without periodic tests that the backups can actually be used
to create a working system.  Ever.

-Kevin




Re: Warm-standby robustness question

От
Alvaro Herrera
Дата:
Kevin Grittner wrote:
> >>> On Tue, Dec 18, 2007 at 12:55 PM, in message <3149.1198004157@sss.pgh.pa.us>,
> Tom Lane <tgl@sss.pgh.pa.us> wrote:
> > "David F. Skoll" <dfs@roaringpenguin.com> writes:
> >> My question is this:  If the master database is fairly busy, gets
> >> VACUUMed once a day, etc. can we expect the warm standby server
> >> to work correctly after days/weeks/months/years of log shipping,
> >> or should we periodically take new base backups?
> >
> > I don't think the time period is at issue.  Log-shipping should keep the
> > slave a perfect replica of the master (if it doesn't, we have problems
> > anyway).
>
> Except for hint bits.  This becomes more of a post-recovery
> performance issue as the base backup ages, since they are included
> in base backups, but not in WAL files.

But hint bits should be replicated on the next full-page-write anyhow,
no?

--
Alvaro Herrera                                http://www.CommandPrompt.com/
PostgreSQL Replication, Consulting, Custom Development, 24x7 support