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

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to