[ redirecting to a more appropriate mailing list ] "Alex bahdushka" <[EMAIL PROTECTED]> writes:
> LOG: REDO @ D/19176610; LSN D/19176644: prev D/191765E8; xid 81148979: Heap > - clean: rel 1663/16386/16559898; blk 0 > LOG: REDO @ D/19176644; LSN D/191766A4: prev D/19176610; xid 81148979: Heap > - move: rel 1663/16386/16559898; tid 1/1; new 0/10 > PANIC: heap_update_redo: no block: target blcknum: 1, > relation(1663/16386/16559898) length: 1 I think what's happened here is that VACUUM FULL moved the only tuple off page 1 of the relation, then truncated off page 1, and now heap_update_redo is panicking because it can't find page 1 to replay the move. Curious that we've not seen a case like this before, because it seems like a generic hazard for WAL replay. The simplest fix would be to treat WAL records as no-ops if they refer to nonexistent pages, but that seems much too prone to hide real failure conditions. Another thought is to remember that we ignored this record, and then complain if we don't see a TRUNCATE that would've removed the page. That would be pretty complicated but not impossible. Anyone have a better idea? regards, tom lane ---------------------------(end of broadcast)--------------------------- TIP 4: Have you searched our list archives? http://archives.postgresql.org