Re: PL/Python - lifetime of variables?
От | Craig Ringer |
---|---|
Тема | Re: PL/Python - lifetime of variables? |
Дата | |
Msg-id | CAMsr+YFgxSurBGWDuTgCK_P0j_s+4t2VF6--zbhJ+FNxJY=-1Q@mail.gmail.com обсуждение исходный текст |
Ответ на | PL/Python - lifetime of variables? (Kohei KaiGai <kaigai@heterodb.com>) |
Список | pgsql-hackers |
On Wed, 19 Feb 2020 at 09:12, Kohei KaiGai <kaigai@heterodb.com> wrote: > I noticed that variables in PL/Python are not released at the end of procedure. > Does it expected behavior? PL/Python vars are freed when the interpreter instance is freed and their refcounts reach zero. I believe we use one subinterpreter for the lifetime of the backend session. It might be worth checking whether we do an eager refcount check and sweep when a procedure finishes. But in general, I suggest that relying on object finalizers/destructors to accomplish side effects visible outside the procedure is bad development practice. Instead, use a "with" block, or a try/finally block, and do explicit cleanup for external resources. -- Craig Ringer http://www.2ndQuadrant.com/ 2ndQuadrant - PostgreSQL Solutions for the Enterprise
В списке pgsql-hackers по дате отправления: