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

Peter Eisentraut <peter@eisentraut.org>

From: Peter Eisentraut <peter@eisentraut.org>
To: Bryan Green <dbryan.green@gmail.com>, Jakob Egger <jakob@eggerapps.at>
Cc: pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2026-01-05T07:53:33Z
Lists: pgsql-hackers
On 02.01.26 18:40, Bryan Green wrote:
> I have a patch that works around this by manually constructing the
> Python dependency on MSVC to use python3.lib instead of python3XX.lib,
> using cc.find_library('python3') and building the dependency with the
> appropriate include directory.  It passes CI when I push.  I'll see what
> cfbot thinks.
> 
> Still testing, but wanted to share progress and get feedback on the
> approach.

This approach seems fine to me.  I suppose one question would be whether 
it would be worth using that same approach on all platforms rather than 
just on windows/msvc.  That way we only have one code path to maintain. 
But I'm not sure how easy that would be to achieve.




Commits

  1. Enable Python Limited API for PL/Python on MSVC

  2. Activate Python "Limited API" in PL/Python

  3. Prepare for Python "Limited API" in PL/Python

  4. Remove obsolete Python version check