Alexander Pyhalov wrote: > After looking at my DBMS server for some time I've understood that I don't understand what was going on... > > A server has 48 GB RAM. shared_buffers is set to 12GB, work_mem - to 32MB, pgbouncer > in transaction mode is used to connect pool (pool size 80) to PostgreSQL 10.5 server. > > I see that at some point several postgresql backends start consuming about 16 GB RAM. > If we account for shared_buffers, it meens 4 GB RAM for private backend memory. > How can we achieve such numbers? I don't see any long-running (or complex) queries > (however, there could be long-running transactions and queries to large partitioned tables). > But how could they consume 512* work_mem memory? A wild guess: you are using large data items, or you have PostGIS installed, which is known to use lots of memory for certain operations, which is not limited by "work_mem". Yours, Laurenz Albe -- Cybertec | https://www.cybertec-postgresql.com