From: | Duncan Sands <duncan(dot)sands(at)deepbluecap(dot)com> |
---|---|
To: | pgsql-bugs(at)lists(dot)postgresql(dot)org |
Subject: | Unlimited memory consumption with long-lived connection |
Date: | 2023-02-21 12:57:09 |
Message-ID: | a53cacb0-8835-57d6-31e4-4c5ef196de1a@deepbluecap.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-bugs |
If I execute the attached python script against a postgresql 15.2 (Ubuntu
15.2-1.pgdg22.10+1) server, with the default configuration (eg shared_buffers =
128M), then the server memory usage goes up and up, apparently endlessly. After
about 10 minutes (on my laptop) pg_top shows RES memory usage for the back-end
handling the connection as greater than 1 gigabyte, which seems far too high
given the server configuration. The script just performs the same SELECT
endlessly in a loop. The memory is released when the script is killed.
Platform: Ubuntu 22.10; Linux version 5.19.0-31-generic; x86-64.
PS: The testcase was reduced from a script that kept a connection open for a
long time in order to LISTEN, and would execute a query using the same
connection every time there was a notification on the channel. It consumed ever
more memory to the point of crashing the postgresql server. Changing the script
to perform the query using a new short-lived connection was an effective workaround.
Attachment | Content-Type | Size |
---|---|---|
mem.py | text/x-python | 33.9 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Heikki Linnakangas | 2023-02-21 14:32:02 | Re: Unlimited memory consumption with long-lived connection |
Previous Message | Dean Rasheed | 2023-02-21 11:56:00 | Re: BUG #17803: Rule "ALSO INSERT ... SELECT ..." fails to substitute default values |