Alvaro Herrera wrote:
> Hm, I think I see what's happening. The xl_brin_update record
> references two buffers, one which is target for the updated tuple and
> another which is the revmap buffer. When the update target buffer is
> being first used we set the INIT bit which removes the buffer reference
> from the xlog record; in that case, if the revmap buffer is first being
> modified after the prior checkpoint, that revmap buffer receives backup
> block number 0; but the code hardcodes it as 1 on the expectation that
> the buffer that's target for the update will receive 0. The attached
> patch should fix this.
Pushed, thanks for the report.
--
Álvaro Herrera http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services