Re: BUG #18909: Query creates millions of temporary files and stalls

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Sergey Koposov <Sergey(dot)Koposov(at)ed(dot)ac(dot)uk>
Cc: "lepihov(at)gmail(dot)com" <lepihov(at)gmail(dot)com>, "pgsql-bugs(at)lists(dot)postgresql(dot)org" <pgsql-bugs(at)lists(dot)postgresql(dot)org>
Subject: Re: BUG #18909: Query creates millions of temporary files and stalls
Date: 2025-05-03 22:03:26
Message-ID: 2216372.1746309806@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

Sergey Koposov <Sergey(dot)Koposov(at)ed(dot)ac(dot)uk> writes:
> -> Parallel Hash Left Join (cost=14442102.04..22124798.60 rows=16367717 width=60) (actual time=209805.943..273008.489 rows=13102859 loops=5)
> Hash Cond: (d.objid = gaps1.original_ext_source_id)
> -> Parallel Seq Scan on disk_sample1 d (cost=0.00..1218371.17 rows=16367717 width=60) (actual time=37.353..25185.340 rows=13095751 loops=5)
> -> Parallel Hash (cost=10307380.24..10307380.24 rows=237862624 width=16) (actual time=169633.067..169633.068 rows=190290095 loops=5)
> Buckets: 67108864 Batches: 32 Memory Usage: 1919904kB
> -> Parallel Seq Scan on panstarrs1bestneighbour gaps1 (cost=0.00..10307380.24 rows=237862624 width=16) (actual time=132.295..117548.803
> rows=190290095 loops=5)

Hm, interesting. The number of batches stayed sane here (32), whereas
it went crazy in the other run. I wonder if there's something
nondeterministic about that choice in a parallel hash join.

> I don't think I know how to see the plan of the declare cursor query.

EXPLAIN DECLARE c CURSOR FOR SELECT ...

regards, tom lane

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Sergey Koposov 2025-05-03 22:30:19 Re: BUG #18909: Query creates millions of temporary files and stalls
Previous Message Sergey Koposov 2025-05-03 21:50:04 Re: BUG #18909: Query creates millions of temporary files and stalls