On Tue, Jul 9, 2019 at 11:11 PM Konstantin Malanchev <hom...@gmail.com> wrote:
> Thank you for explanation. work_mem = 512MB and 
> max_parallel_workers_per_gather = 2 and I run only one Postgres instance and 
> only one query. EXPLAIN shows "Workers Planned: 2" for this query. Why it can 
> use more than 1GB of /dev/shm?

For example, if you have one Parallel Hash Join in your plan, it could
allocate up to 512MB * 3 of shared memory (3 = leader process + 2
workers).  It sounds like you'll need to set work_mem smaller.  If you
run EXPLAIN ANALYZE you'll see how much memory is used by individual
operations.  Usually it's regular private anonymous memory, but for
Parallel Hash it's /dev/shm memory.

-- 
Thomas Munro
https://enterprisedb.com


Reply via email to