Как контролировать, какую версию Python использует plpython3?

#python-3.9 #plpython

Вопрос:

У меня есть база данных postgres 11, работающая на CentOS 7, и я пытаюсь использовать PL/python, но мне нужно указать конкретную версию интерпретатора python. Мне нужно использовать python3.9, в то время как он использует python3.6. В данный момент я не могу удалить python3.6, поэтому надеялся каким-то образом указать plpython3 на мой интерпретатор python3.9.

Я установил пакет postgresql-plpython3:

sudo yum install -y postgresql-plpython3

Я создал расширение в PG и могу запустить простую функцию PL/python, которая сообщает об используемой версии:

 CREATE OR REPLACE FUNCTION pyver ()
RETURNS TEXT
AS $
    import sys
    pyversion = sys.version
    return pyversion
$ LANGUAGE 'plpython3u';
 

Выполнение этого возвращает это:

 # select pyver();
                  pyver
-----------------------------------------
 3.6.8 (default, Nov 16 2020, 16:55:22)  
 [GCC 4.8.5 20150623 (Red Hat 4.8.5-44)]
(1 row)
 

В моих операционных системах у меня есть следующие файлы интерпретатора python и версии, которые они используют:

 $ /usr/bin/python3 --version
Python 3.9.6

$ python3 --version
Python 3.9.6

$ python3.6 --version
Python 3.6.8
 

Что-то в модуле plpython3, похоже, жестко закодировано, чтобы указать на мою версию python3.6.