Re: BRIN autosummarization lacking a snapshot - Mailing list pgsql-hackers

From Álvaro Herrera
Subject Re: BRIN autosummarization lacking a snapshot
Date
Msg-id 202511041416.h2ksew7gzyhr@alvherre.pgsql
Whole thread Raw
In response to Re: BRIN autosummarization lacking a snapshot  (Álvaro Herrera <alvherre@kurilemu.de>)
Responses Re: BRIN autosummarization lacking a snapshot
List pgsql-hackers
> With my initial try of this test, just counting the number of BRIN
> tuples, I was _really_ surprised that the index did indeed contain the
> expected number of tuples, even when the error was being thrown.  This
> turned out to be expected, because the way BRIN summarization works is
> that we insert a placeholder tuple first, then update it to the correct
> value, and the error only aborts the second part.

One thing that's not fully clear to me, but will test later, is that if
this has happened to you, then the placeholder tuple remains in place
and doesn't ever become non-placeholder.  If vacuum (incl. autovacuum)
sees such a tuple, it will gladly ignore the page range, as if it were
already summarized.  This makes your index scans potentially
inefficient, because for placeholder tuples bringetbitmap will always
include the affected page range.

I think we should make vacuum clean it up somehow, but I'm not yet sure
how safe it is.

-- 
Álvaro Herrera               48°01'N 7°57'E  —  https://www.EnterpriseDB.com/
"El Maquinismo fue proscrito so pena de cosquilleo hasta la muerte"
(Ijon Tichy en Viajes, Stanislaw Lem)



pgsql-hackers by date:

Previous
From: Manni Wood
Date:
Subject: Re: [PATCH] Add pg_get_tablespace_ddl() function to reconstruct CREATE TABLESPACE statement
Next
From: Bryan Green
Date:
Subject: Re: Enhance security permissions