Обсуждение: Recovery issue

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

Recovery issue

От
msteben@autorevenue.com
Дата:
Hi L:sters,

We're at postgresql 8.2.5.  I'm running PITR backups on our production server
and copying the resulting tarball and the WAL logs to our reporting server.
I restart the reporting server and begin re-playing logs.  Everything
works fine for about 3 days until a network outage creates a gap in the
WAL log copies.  The reporting server interprets this as the end of the
logs and comes up in ready mode.

I need to begin recovery at that point and continue to replay logs.
I asked this question last week with no clue how to proceed.
Now I throw an idea out to the group.  Can I take a full file copy on
the reporting server and continue to play logs at the point the last
recovery terminated?

Procedure in summary:

 1.  Start archive logging on the reporting server.
     (Since no updates are occurring on this server there
      should be no logs archived. but I need to start archive
      logging to enable pg_start_backup)
 2.  select pg_start_backup('new_backup')
 3   tar -czvf (the data cluster)
 4.  select pg_stop_backup();
 5.  stop the server. Remove the data cluster
 6.  tar xvf the backup -replenish the data cluster
 7   remove postmaster.pid, (pg_xlogs already removed from backup)
 8.   restart the server using recovery.conf to start copying the
     accumulated archive logs from the production server

Possible?  Or  pipe dream?

Any ideas welcome.  Thank you,

Mark Steben
Database Administrator
AutoRevenue



Re: Recovery issue

От
Fujii Masao
Дата:
Hi,

On Sat, Feb 28, 2009 at 1:01 PM,  <msteben@autorevenue.com> wrote:
> Hi L:sters,
>
> We're at postgresql 8.2.5.  I'm running PITR backups on our production server
> and copying the resulting tarball and the WAL logs to our reporting server.
> I restart the reporting server and begin re-playing logs.  Everything
> works fine for about 3 days until a network outage creates a gap in the
> WAL log copies.  The reporting server interprets this as the end of the
> logs and comes up in ready mode.
>
> I need to begin recovery at that point and continue to replay logs.
> I asked this question last week with no clue how to proceed.
> Now I throw an idea out to the group.  Can I take a full file copy on
> the reporting server and continue to play logs at the point the last
> recovery terminated?
>
> Procedure in summary:
>
>  1.  Start archive logging on the reporting server.
>     (Since no updates are occurring on this server there
>      should be no logs archived. but I need to start archive
>      logging to enable pg_start_backup)
>  2.  select pg_start_backup('new_backup')
>  3   tar -czvf (the data cluster)
>  4.  select pg_stop_backup();
>  5.  stop the server. Remove the data cluster
>  6.  tar xvf the backup -replenish the data cluster
>  7   remove postmaster.pid, (pg_xlogs already removed from backup)
>  8.   restart the server using recovery.conf to start copying the
>     accumulated archive logs from the production server
>
> Possible?  Or  pipe dream?
>
> Any ideas welcome.  Thank you,

I don't think that your procedure works fine because timeline of
new backup is greater than that of the remaining archive logs.
I recommend that you use the previous backup, and re-execute
recovery from the beginning.

Regards,

--
Fujii Masao
NIPPON TELEGRAPH AND TELEPHONE CORPORATION
NTT Open Source Software Center