plpython: Remove support for major version conflict detection

Peter Eisentraut <peter@eisentraut.org>

From: Peter Eisentraut <peter@eisentraut.org>
To: pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2025-08-09T17:18:39Z
Lists: pgsql-hackers

Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. plpython: Remove support for major version conflict detection

  2. Avoid dump/reload problems when using both plpython2 and plpython3.

Attachments

This essentially reverts commit 866566a690b, which installed safeguards 
against loading plpython2 and plpython3 into the same process.  We don't 
support plpython2 anymore, so this is obsolete.

The Python and PL/Python initialization now happens again in _PG_init() 
rather than the first time a PL/Python call handler is invoked.  (Often, 
these will be very close together.)

I kept the separate PLy_initialize() function introduced by 866566a690b 
to keep _PG_init() a bit modular.

(I'm looking at the some further work to allow multiple interpreters in 
PL/Python, so I'm trying to clean up the initialization code a bit first.)