On Thu, 2008-08-07 at 14:59 +0100, Simon Riggs wrote:
> I'll do a patch. Thanks for your input.
Please review attached patch.
--
Simon Riggs www.2ndQuadrant.com
PostgreSQL Training, Services and Support
Index: src/backend/access/transam/xlog.c
===================================================================
RCS file: /home/sriggs/pg/REPOSITORY/pgsql/src/backend/access/transam/xlog.c,v
retrieving revision 1.316
diff -c -r1.316 xlog.c
*** src/backend/access/transam/xlog.c 13 Jul 2008 20:45:47 -0000 1.316
--- src/backend/access/transam/xlog.c 7 Aug 2008 14:31:18 -0000
***************
*** 6721,6729 ****
CleanupBackupHistory();
/*
! * Wait until the history file has been archived. We assume that the
! * alphabetic sorting property of the WAL files ensures the last WAL
! * file is guaranteed archived by the time the history file is archived.
*
* We wait forever, since archive_command is supposed to work and
* we assume the admin wanted his backup to work completely. If you
--- 6721,6732 ----
CleanupBackupHistory();
/*
! * Wait until the last WAL file has been archived. We assume that the
! * alphabetic sorting property of the WAL files ensures the history
! * file is guaranteed archived by the time the last WAL file is archived.
! * The history file name depends upon the startpoint, whereas the last
! * file depends upon the stoppoint. They are always different because we
! * make an explicit xlog switch earlier in this function.
*
* We wait forever, since archive_command is supposed to work and
* we assume the admin wanted his backup to work completely. If you
***************
*** 6733,6745 ****
* set to .ready before we slept, then while asleep it has been set
* to .done and then removed by a concurrent checkpoint.
*/
- BackupHistoryFileName(histfilepath, ThisTimeLineID, _logId, _logSeg,
- startpoint.xrecoff % XLogSegSize);
-
seconds_before_warning = 60;
waits = 0;
! while (!XLogArchiveCheckDone(histfilepath, false))
{
CHECK_FOR_INTERRUPTS();
--- 6736,6745 ----
* set to .ready before we slept, then while asleep it has been set
* to .done and then removed by a concurrent checkpoint.
*/
seconds_before_warning = 60;
waits = 0;
! while (!XLogArchiveCheckDone(stopxlogfilename, false))
{
CHECK_FOR_INTERRUPTS();
--
Sent via pgsql-hackers mailing list ([email protected])
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers