On Mon, Dec 20, 2021 at 08:11:42PM -0800, Lars Bergeson wrote: > ok, here are results after I did: > set max_parallel_workers_per_gather = 0; > > HashAggregate (cost=1676432.13..1676432.16 rows=3 width=15) (actual time=19908.343..19908.345 rows=5 loops=1) > I/O Timings: read=532369.898 > Execution Time: 19908.383 ms > HashAggregate (cost=1390580.70..1390580.72 rows=2 width=15) (actual time=30369.758..30369.761 rows=5 loops=1) > I/O Timings: read=6440851.540 > Execution Time: 30369.796 ms > Still taking 10X more I/O to read the smaller table. Very odd. If I'm not wrong, it's even worse than that ? It takes 20 or 30sec to run the query - but it says the associated I/O times are ~500sec or ~6000sec ? What architecture and OS/version are you running ? How did you install postgres? From a package or compiled from source ? It might be interesting to know the output from something like this command, depending on whether and where the headers like pg_config_x86_64.h are installed. grep -r HAVE_CLOCK_GETTIME /usr/pgsql-13/include -- Justin