Simon Riggs wrote:
> I'm seeing these messages in the standby server log:
>
> WARNING: unlogged operation performed, data may be missing
> HINT: This can happen if you temporarily disable archive_mode without
> taking a new base backup.
> CONTEXT: xlog redo unlogged operation: heap inserts on "pg_temp_65646"
>
> which connected with operations on temp tables, probably as a result of
> VACUUM FULL and CLUSTER.
>
> I don't think those messages should be there.
Hmm. The "unlogged" record is written here:
...
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);
...
So it clearly shouldn't be written for temp relations. Apparently the
rd_istemp flag not set correctly after CLUSTER / VACUUM FULL.
Can you reproduce that?
-- Heikki Linnakangas EnterpriseDB http://www.enterprisedb.com