Re: [HACKERS] Memory leak in Pl/Python

2016-06-26 Thread Tom Lane
Andrey Zhidenkov writes: > It's very strange, but when I use expression 'update test set test = > 'test' where id = 1' as argument of plpy.execute() memory do not > growing at all... Well, that suggests it's not particularly plpython's fault at all, but a leak

Re: [HACKERS] Memory leak in Pl/Python

2016-06-26 Thread Andrey Zhidenkov
It's very strange, but when I use expression 'update test set test = 'test' where id = 1' as argument of plpy.execute() memory do not growing at all... On Sun, Jun 26, 2016 at 9:05 PM, Andrey Zhidenkov wrote: > Thank you for your answer, Tom. > > I've tried code in

Re: [HACKERS] Memory leak in Pl/Python

2016-06-26 Thread Andrey Zhidenkov
Thank you for your answer, Tom. I've tried code in your example and I still see an always growing memory consumption (1Mb per second). As it was before, I do not see growing memory if I use 'select 1' query as argument of plpy.execute(). Table test does not has any triggers or foreign keys, I

Re: [HACKERS] Memory leak in Pl/Python

2016-06-25 Thread Tom Lane
Andrey Zhidenkov writes: > I see memory consumption in htop and pg_activity tools. "top" can be pretty misleading if you don't know how to interpret its output, specifically that you have to discount whatever it shows as SHR space. That just represents the amount of

Re: [HACKERS] Memory leak in Pl/Python

2016-06-25 Thread Andrey Zhidenkov
I found commit, that fixes some memory leaks in 9.6 beta 2: https://github.com/postgres/postgres/commit/8c75ad436f75fc629b61f601ba884c8f9313c9af#diff-4d0cb76412a1c4ee5d9c7f76ee489507 I'm interesting in how Tom Lane check that is no more leaks in plpython? On Sat, Jun 25, 2016 at 4:54 AM, Andrey

Re: [HACKERS] Memory leak in Pl/Python

2016-06-24 Thread Andrey Zhidenkov
For test I wrote script in Python, which calls a test function via psycopg2: #!/usr/bin/env python2 import psycopg2 conn = psycopg2.connect('xxx') cursor = conn.cursor() cursor.execute('set application_name to \'TEST\'') for i in range(1, 100): cursor.execute('select test()')

Re: [HACKERS] Memory leak in Pl/Python

2016-06-24 Thread David G. Johnston
On Fri, Jun 24, 2016 at 6:41 PM, Andrey Zhidenkov < andrey.zhiden...@gmail.com> wrote: > For example, when I call this procedure > many times, ​Call how? Specifically, how are you handling transactions in the calling client? And what/how are you measuring memory consumption? ​David J. ​