Re: Use Python "Limited API" in PL/Python

From: Peter Eisentraut <peter(at)eisentraut(dot)org>
To: pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Cc: Jakob Egger <jakob(at)eggerapps(dot)at>
Subject: Re: Use Python "Limited API" in PL/Python
Date: 2025-03-05 16:40:22
Message-ID: a5bfa71f-6d07-405c-8e03-610046e04292@eisentraut.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 03.03.25 11:17, Peter Eisentraut wrote:
> Update for the hackers list: This patch set was briefly committed but
> had to be reverted because it crashed on some older Python versions; see
> [0].
>
> I have locally reproduced the problem with Python 3.6 and 3.7; Python
> 3.8 is ok.  This matches the results from the buildfarm.
>
> I have poked at this a bit more but haven't gotten a good idea where or
> how to fix it so far.  Help welcome.

I have figured this out. There was a Python API change/bugfix between
3.7 and 3.8 that directly affects this patch. The relevant commit is
<https://github.com/python/cpython/commit/364f0b0f19c>. I have applied
the workarounds described there to my patch set, and now it works for
3.6 and 3.7 as well.

Attachment Content-Type Size
v3-0001-Prepare-for-Python-Limited-API-in-PL-Python.patch text/plain 17.1 KB
v3-0002-Activate-Python-Limited-API-in-PL-Python.patch text/plain 1.1 KB

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Andrew Dunstan 2025-03-05 16:40:55 Re: log_min_messages per backend type
Previous Message Nathan Bossart 2025-03-05 16:28:50 Re: doc: expand note about pg_upgrade's --jobs option