PostgreSQL: как установить расширение plpythonu

Я запускаю PostgreSQL 9.3.1 на Ubuntu 12.04.4. Я хотел бы использовать расширение языка plpython, но я получаю сообщение об ошибке, когда я пытаюсь его использовать:

ERROR: language "plpythonu" does not exist

Когда я пытаюсь создать расширение:

CREATE EXTENSION plpythonu

... Я получаю ошибку: ERROR: could not access file "$libdir/plpython2": No such file or directory

После долгих поисков и копания в сообщениях в блоге я попытался установить дополнительные пакеты и скопировал все файлы plpython из /usr/share/postgresql/ 9.1/extension в/opt/bitnami/postgresql/share/extension, где PostgreSQL кажется искать их. Это, по крайней мере, привело меня к тому, что PostgreSQL видит доступные расширения. Когда я запускаю:

select name, default_version, installed_version from pg_available_extensions where name like 'plpy*'

Я получаю:

name | default_version | installed_version ------------+-----------------+------------------- plpython2u | 1.0 | plpython3u | 1.0 | plpythonu | 1.0 |

До сих пор нет библиотек plpython, которые я могу видеть в /opt/bitnami/postgresql/lib. Может ли кто-нибудь помочь мне пройти оставшиеся шаги, чтобы продлить работу? Спасибо заранее!

Ответ 1

Вы используете пакет PostgreSQL от Bitnami в /opt. Непонятно, установлено ли это с помощью apt-get или с помощью программы установки script/program, но в любом случае это не тот же PostgreSQL, что и в пакете Ubuntu postgresql.

Установка postgresql-plpython не принесет вам никакой пользы, потому что вы устанавливаете поддержку PL/Python для другой установки PostgreSQL, чем та, которую вы на самом деле используете.

Вам понадобится использовать тот же метод установки, который вы первоначально использовали для установки Bitnami PostgreSQL, чтобы добавить поддержку PL/Python, если она доступна. Возможно, это не будет предоставлено Битнами.

В противном случае, если вы не слишком привязаны к использованию Bitnami PostgreSQL, вы можете использовать рекомендуемые пакеты из http://apt.postgresql.org/.

Ответ 2

для postgres 11.2 (на основе Debian) мне нужно было установить:

apt-get update && apt-get install postgresql-plpython3-11