"Tom Lane" <tgl@sss.pgh.pa.us> wrote
>
> While at it, you should extend the error message to include the relation
> ID, so you have some idea which table is affected ... this is certainly
> not a very informative message ...
>
Exactly. Please use the following version:
- elog(PANIC, "heap_update_redo: no block");
+ elog(PANIC, "heap_update_redo: no block: target blcknum: %u,
relation(%u/%u/%u) length: %u",
+ ItemPointerGetBlockNumber(&(xlrec->target.tid)),
+ reln->rd_node.spcNode,
+ reln->rd_node.dbNode,
+ reln->rd_node.relNode,
+ RelationGetNumberOfBlocks(reln));
BTW: I just realized that there is another (better) way to do so is to
enable WAL_DEBUG in xlog.h and SET XLOG_DEBUG=true. And that's why we don't
have much error message in xlog redo.
Regards,
Qingqing