aboutsummaryrefslogtreecommitdiff
path: root/src/backend/access/heap/heapam.c
diff options
context:
space:
mode:
authorHeikki Linnakangas <heikki.linnakangas@iki.fi>2010-01-20 19:43:40 +0000
committerHeikki Linnakangas <heikki.linnakangas@iki.fi>2010-01-20 19:43:40 +0000
commit09b115f70684ea20dc344faab1a96f2831d3ee75 (patch)
tree97ee9e81891d786e815ebc0e7e69a293f212fd5d /src/backend/access/heap/heapam.c
parent47ce95a7b98ff06b51f12a7381fc3788dff9961c (diff)
downloadpostgresql-09b115f70684ea20dc344faab1a96f2831d3ee75.tar.gz
postgresql-09b115f70684ea20dc344faab1a96f2831d3ee75.zip
Write a WAL record whenever we perform an operation without WAL-logging
that would've been WAL-logged if archiving was enabled. If we encounter such records in archive recovery anyway, we know that some data is missing from the log. A WARNING is emitted in that case. Original patch by Fujii Masao, with changes by me.
Diffstat (limited to 'src/backend/access/heap/heapam.c')
-rw-r--r--src/backend/access/heap/heapam.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/backend/access/heap/heapam.c b/src/backend/access/heap/heapam.c
index 5cd4f005c65..ce661a8d1b3 100644
--- a/src/backend/access/heap/heapam.c
+++ b/src/backend/access/heap/heapam.c
@@ -8,7 +8,7 @@
*
*
* IDENTIFICATION
- * $PostgreSQL: pgsql/src/backend/access/heap/heapam.c,v 1.282 2010/01/14 11:08:00 sriggs Exp $
+ * $PostgreSQL: pgsql/src/backend/access/heap/heapam.c,v 1.283 2010/01/20 19:43:40 heikki Exp $
*
*
* INTERFACE ROUTINES
@@ -5074,10 +5074,16 @@ heap2_desc(StringInfo buf, uint8 xl_info, char *rec)
void
heap_sync(Relation rel)
{
+ char reason[NAMEDATALEN + 30];
+
/* temp tables never need fsync */
if (rel->rd_istemp)
return;
+ snprintf(reason, sizeof(reason), "heap inserts on \"%s\"",
+ RelationGetRelationName(rel));
+ XLogReportUnloggedStatement(reason);
+
/* main heap */
FlushRelationBuffers(rel);
/* FlushRelationBuffers will have opened rd_smgr */