10

/ (Linux Alpine に基づく) イメージにplpython3拡張機能を追加しようとしています。timescaledbpostgres

FROM timescale/timescaledb:0.9.0-pg10

RUN set -ex \
    && apk add --no-cache --virtual .plpython3-deps --repository http://nl.alpinelinux.org/alpine/edge/testing \
    postgresql-plpython3

拡張機能を作成しようとすると、次のエラーが発生します。

postgres=# CREATE EXTENSION plpython3u;
ERROR:  could not open extension control file "/usr/local/share/postgresql/extension/plpython3u.control": No such file or directory

しかし、コンテナ内のファイルを検索すると、別のディレクトリ内でそれらを見つけることができます。

/ # find / -name '*plpy*'
/usr/lib/postgresql/plpython3.so
/usr/share/postgresql/extension/plpython3u.control
/usr/share/postgresql/extension/plpython3u--1.0.sql
/usr/share/postgresql/extension/plpython3u--unpackaged--1.0.sql

postgresql-plpython3別のディレクトリにインストールしたりpostgres、追加した拡張機能を認識するように構成するにはどうすればよいですか?

アップデート

mvファイルだけ/usr/local/share/postgresql/extensionを取得すると、エラーが発生します。

postgres=# CREATE EXTENSION plpython3u;
ERROR:  could not access file "$libdir/plpython3": No such file or directory

更新 2

したがって、問題$libdirはそれがpg_config --pkglibdir指して/usr/local/lib/postgresqlいるがplpython3.so内部にあること/usr/lib/postgresqlでした。すべてを適切/usr/localなディレクトリに移動すると、拡張機能を正常に作成できます。

これは、答えを見つけたいという質問につながります。の代わりにpostgresql-plpython3どのようにインストールできますか?/usr/local/.../usr/...

4

1 に答える 1

7

ビルド済みのパッケージを使用している場合、ハードコーディングされたインストール パスに固執していることは確かです。

この問題を回避する最も簡単な方法は、インストール後にシンボリック リンクを作成することです。

FROM timescale/timescaledb:0.9.0-pg10

RUN set -ex \
    && apk add --no-cache --virtual .plpython3-deps --repository http://nl.alpinelinux.org/alpine/edge/testing \
    postgresql-plpython3 \
    && ln -s /usr/lib/postgresql/plpython3.so /usr/local/lib/postgresql/plpython3.so \
    && ln -s /usr/share/postgresql/extension/plpython3u.control /usr/local/share/postgresql/extension/plpython3u.control \
    && ln -s /usr/share/postgresql/extension/plpython3u--1.0.sql /usr/local/share/postgresql/extension/plpython3u--1.0.sql \
    && ln -s /usr/share/postgresql/extension/plpython3u--unpackaged--1.0.sql /usr/local/share/postgresql/extension/plpython3u--unpackaged--1.0.sql
于 2019-04-04T11:45:52.150 に答える