| From: | Álvaro Herrera <alvherre(at)kurilemu(dot)de> |
|---|---|
| To: | Michael Paquier <michael(at)paquier(dot)xyz> |
| Cc: | Pg Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org> |
| Subject: | Re: BRIN autosummarization lacking a snapshot |
| Date: | 2025-11-04 11:47:47 |
| Message-ID: | 202511041138.hqoddrfnei7w@alvherre.pgsql |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
On 2025-Nov-04, Michael Paquier wrote:
> Spawning an autovacuum worker can feel artistic as we try to make the
> tests run fast, but it's not that bad. The trick is to use an
> "autovacuum_naptime = 1". Then you could either scan the server logs
> for some 'autovacuum: processing database "blah"', or just a polling
> query based on pg_stat_all_tables.autovacuum_count. See for example
> 006_signal_autovacuum.pl.
Ah yes ... and, actually, we already have a file doing a closely related
thing, so I added to it. Here's the patch for master. Backbranches are
essentially identical, modulo these changes for 13 and 14:
-use Test::More tests => 2;
+use Test::More tests => 4;
I'm glad we got rid of that :-)
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. That's why I needed
to add a WHERE clause to only count non-placeholder tuples.
I also added a 'sleep(1)', to avoid looping on the query when we know
autovacuum can't possibly have had a chance to run yet.
I unleashed CI on branches 15 and master, and will push soon if they
both turn green.
--
Álvaro Herrera 48°01'N 7°57'E — https://www.EnterpriseDB.com/
"La virtud es el justo medio entre dos defectos" (Aristóteles)
| Attachment | Content-Type | Size |
|---|---|---|
| v2-0001-BRIN-autosummarization-may-need-a-snapshot.patch | text/x-diff | 3.9 KB |
| From | Date | Subject | |
|---|---|---|---|
| Next Message | John Naylor | 2025-11-04 11:47:48 | Re: pg_plan_advice |
| Previous Message | jian he | 2025-11-04 11:43:49 | Re: COPY WHERE clause generated/system column reference |