From 3230fd056afd4e056c2a78d569c90446c73051b8 Mon Sep 17 00:00:00 2001 From: Itagaki Takahiro Date: Fri, 19 Feb 2010 01:04:03 +0000 Subject: [PATCH] Fix STOP WAL LOCATION in backup history files no to return the next segment of XLOG_BACKUP_END record even if the the record is placed at a segment boundary. Furthermore the previous implementation could return nonexistent segment file name when the boundary is in segments that has "FE" suffix; We never use segments with "FF" suffix. Backpatch to 8.0, where hot backup was introduced. Reported by Fujii Masao. --- src/backend/access/transam/xlog.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/backend/access/transam/xlog.c b/src/backend/access/transam/xlog.c index 31f50ecb50..106d39b760 100644 --- a/src/backend/access/transam/xlog.c +++ b/src/backend/access/transam/xlog.c @@ -7,7 +7,7 @@ * Portions Copyright (c) 1996-2010, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $PostgreSQL: pgsql/src/backend/access/transam/xlog.c,v 1.375 2010/02/17 04:19:39 tgl Exp $ + * $PostgreSQL: pgsql/src/backend/access/transam/xlog.c,v 1.376 2010/02/19 01:04:03 itagaki Exp $ * *------------------------------------------------------------------------- */ @@ -8052,7 +8052,7 @@ pg_stop_backup(PG_FUNCTION_ARGS) */ RequestXLogSwitch(); - XLByteToSeg(stoppoint, _logId, _logSeg); + XLByteToPrevSeg(stoppoint, _logId, _logSeg); XLogFileName(stopxlogfilename, ThisTimeLineID, _logId, _logSeg); /* Use the log timezone here, not the session timezone */