Re: Possible regression in PG18 beta1

Sami Imseih <samimseih@gmail.com>

From: Sami Imseih <samimseih@gmail.com>
To: Sadeq Dousti <msdousti@gmail.com>
Cc: Christophe Courtois <christophe.courtois@dalibo.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2025-05-17T18:39:43Z
Lists: pgsql-hackers

Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. EXPLAIN: Always use two fractional digits for row counts.

>> I'll be curious about tests with a normal table as well with a
>> sufficiently large shared_buffers.

> Here are results for a normal table with default shared_buffers (128 MB) and large shared_buffers (4GB):

thanks. I don't see regression for a normal table, at least for this test.

In terms of your original test, I tried it out on my Ubuntu machine
and with your test as-is, I see 2.8 seconds on 17.5 and 3.3 seconds
on HEAD if the plan performs a seq scan without parallelism.
However, the test as you have it is indexing all columns
on the table. If I just index on the filtered column

```
create index on t(k);

explain (analyze,buffers,costs off,timing off)
select k from t where k = 1;
```

I see similar behavior between HEAD
```
test=# explain (analyze,buffers,costs off,timing off)
select k from t where k = 1;
                          QUERY PLAN
---------------------------------------------------------------
 Index Only Scan using t_k_idx on t (actual rows=1.00 loops=1)
   Index Cond: (k = 1)
   Heap Fetches: 1
   Index Searches: 1
   Buffers: local hit=4
 Planning Time: 0.088 ms
 Execution Time: 0.059 ms
```

and 17.5
```
test=# explain (analyze,buffers,costs off,timing off)
select k from t where k = 1;
                         QUERY PLAN
------------------------------------------------------------
 Index Only Scan using t_k_idx on t (actual rows=1 loops=1)
   Index Cond: (k = 1)
   Heap Fetches: 1
   Buffers: local hit=4
 Planning Time: 0.084 ms
 Execution Time: 0.053 ms
(6 rows)

```

--
Sami