psql leaks memory on query cancellation

From: Darafei "Komяpa" Praliaskouski <me(at)komzpa(dot)net>
To: PostgreSQL Developers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: psql leaks memory on query cancellation
Date: 2018-04-12 10:26:15
Message-ID: CAC8Q8tJ=7cOkPePyAbJE_Pf691t8nDFhJp0KZxHvnq_uicfyVg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi,

psql (PostgreSQL) 10.3

Here are the steps to reproduce a leak:

1. connect to 10.3 server, perform the query similar to:

select 'message' || generate_series(1,1000000000);

2. monitoring psql memory usage in htop or similar tool, press ctrl+c at
some point where you can clearly distinguish a psql with a big allocated
buffer from psql without it.

3. see the query cancelled, but psql memory usage stays the same.

This is especially painful when query you're debugging has a runaway join
condition, and you understand it only after it doesn't return in seconds as
you've expected.

Is it expected behavior (so I can have a look at something server returned
somehow and it's kept there for me), or a plain leak?

Darafei Praliaskouski,
GIS Engineer / Juno Minsk

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Andrey Borodin 2018-04-12 11:00:55 Covering GiST indexes
Previous Message Alexander Korotkov 2018-04-12 10:19:16 Re: Partitioned tables and covering indexes