Storvild's Blog
Заметки программиста

Как установить plpython3u для PostgreSQL 9.6/13/14 в Windows

В системе установлен Python 3.11 и Postgres 14
При установке plpython (CREATE EXTENSION plpython3u;) выдается ошибка:

загрузить библиотеку "C:/Program Files/PostgreSQL/14/lib/plpython3.dll" не удалось: The specified module could not be found

Решение:

Необходимо из папки python (C:\Python311) файл python311.dll скопировать в папку C:\Windows\System32 и переименовать в python39.dll

  • Для Python 3.10 и Postgres 13: Скопировать файл python310.dll в папку C:\Windows\System32 и переименовать в python37.dll
  • Для Python 3.6 и Postgres 9.6: Скопировать файл python36.dll в папку C:\Windows\System32 и переименовать в python33.dll
  • Для других случаев, открыть файл plpython3.dll в текстовом редакторе и поискать по “.dll” чтобы найти какую версию python будет использовать Postgres

После этого установка проходит без проблем.
CREATE EXTENSION plpython3u;

Для проверки можно выполнить скрипт в PgAdmin:

DO $$
    import sys
    plpy.info(sys.version)
$$ LANGUAGE plpython3u;

Скрипт должен выдать версию Python


Теги:
Программирование Базы данных PostgreSQL plpython