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-03 10:17:48
Message-ID: e830640c-9011-4ff5-8549-95b9e7296e0f@eisentraut.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 15.01.25 23:20, Peter Eisentraut wrote:
> On 15.01.25 12:28, Jakob Egger wrote:
>> On 14.01.2025, at 16:51, Jakob Egger <jakob(at)eggerapps(dot)at> wrote:
>>> I've tried to create a patch with this change. I'm attaching it to
>>> this message so that cfbot picks it up. (I was unable to reproduce
>>> the issue locally)
>>
>> Apologies, please disregard my last patch. It does not work.
>>
>> It looks like meson just can't build libraries that link with Python
>> that use the limited API.
>>
>> My understanding of Meson is limited, so I am unsure how to best work
>> around this limitation.
>>
>> I've spent two days trying to figure it out; I'm at the end of my wits.
>
> Thanks for checking.  I've also been poking at this, without success.
>
> What we could do is just not activate the limited API on Windows
> (actually MSVC, since it works on MinGW).  If someone later finds a way
> to make it work on Windows/MSVC, then it's easy to change.
>
> So here is an updated patch set with that change.  It should pass cfbot
> like this.

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.

[0]:
https://www.postgresql.org/message-id/flat/E1tnJNu-000CZW-0X%40gemulon.postgresql.org

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Sergey Dudoladov 2025-03-03 10:43:22 Re: Introduce "log_connection_stages" setting.
Previous Message Ajin Cherian 2025-03-03 10:10:27 Re: Proposal: Filter irrelevant change before reassemble transactions during logical decoding