2012/1/11 Euler Taveira de Oliveira <[email protected]>:
> On 08-01-2012 11:59, Satoshi Nagayasu / Uptime Technologies, LLC. wrote:
>>> [2011-12-08 15:14:36 JST] 16758: LOG: restored log file
>>> "000000080000000000000046" from archive
>>> [2011-12-08 15:14:36 JST] 16758: LOG: recoverying 000000080000000000000046
>>> [2011-12-08 15:14:36 JST] 16758: LOG: restored log file
>>> "000000080000000000000047" from archive
>>> [2011-12-08 15:14:36 JST] 16758: LOG: recoverying 000000080000000000000047
>>> cp: cannot stat `/backups/archlog/000000080000000000000048': No such file
>>> or directory
>>> [2011-12-08 15:14:37 JST] 16758: LOG: could not restore file
>>> "000000080000000000000048" from archive
>>> [2011-12-08 15:14:37 JST] 16758: LOG: attempting to look into pg_xlog
>>> [2011-12-08 15:14:37 JST] 16758: LOG: recoverying 000000080000000000000048
>>
> What about just 'restored log file "000000080000000000000048" from pg_xlog'
> instead of the last two messages? If you can't read from pg_xlog emit 'could
> not restore file "000000080000000000000048" from pg_xlog'.
Yes, simple is better.
We already have a message if the file is not present, we just need one
if we switch to using pg_xlog.
Please look at this.
--
Simon Riggs http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services
diff --git a/src/backend/access/transam/xlog.c b/src/backend/access/transam/xlog.c
index 8e65962..055ae6d 100644
--- a/src/backend/access/transam/xlog.c
+++ b/src/backend/access/transam/xlog.c
@@ -2817,6 +2817,16 @@ XLogFileRead(uint32 log, uint32 seg, int emode, TimeLineID tli,
xlogfname);
set_ps_display(activitymsg, false);
+ /*
+ * If we're in archive recovery and the archive runs dry,
+ * we switch to reading from the pg_xlog directly. In that case
+ * we want to output a message that shows what just happened.
+ */
+ if (InArchiveRecovery && source == XLOG_FROM_PG_XLOG)
+ ereport(LOG,
+ (errmsg("restored log file \"%s\" from pg_xlog",
+ xlogfname)));
+
/* Track source of data in assorted state variables */
readSource = source;
XLogReceiptSource = source;
@@ -2867,10 +2877,7 @@ XLogFileReadAnyTLI(uint32 log, uint32 seg, int emode, int sources)
{
fd = XLogFileRead(log, seg, emode, tli, XLOG_FROM_ARCHIVE, true);
if (fd != -1)
- {
- elog(DEBUG1, "got WAL segment from archive");
return fd;
- }
}
if (sources & XLOG_FROM_PG_XLOG)
--
Sent via pgsql-hackers mailing list ([email protected])
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers