Colin Brisson <colibrisson@gmail.com> writes:
> I'm running PostgreSQL 10.6 (Ubuntu 10.6-0ubuntu0.18.10.1) with Pl/Python.
> Everything is working fine but I would like to change the default
> interpreter used by Pl/Python (without recompiling Postgre from scratch).
> The docs say that if the PYTHON environment variable wasn't set during
> compilation, Pl/Python use any version it found. I wrote a small script and
> I found which interpreter Pl/Python is using by default. Now I would like
> to modify the symlink it uses to run Python -- I'm just assuming it's a
> symlink but maybe I'm wrong. The problem is that I tried to modify all
> python executables in /usr/bin but it didn't change Pl/Python default
> behavior. Does anyone know where I can find which file Pl/Python use to run
> Python? Is there a better approach to change the default interpreter?
plpython loads the relevant libpython.so, it doesn't invoke the "python"
executable. I do not think you can get it to use a different-version
libpython without recompiling. It will *certainly* not work to sub in
python 3.x for python 2.x or vice versa without a recompile, if that's
what you were hoping for, because some of the library APIs changed.
regards, tom lane