1

我在 docker 中安装 plv8:

FROM postgres:13 AS build

ENV PLV8_VERSION=v3.0.0

RUN apt-get update && apt-get upgrade \
    && apt-get install -y git curl glib2.0 libc++-dev python python3-pip 
       libv8-dev postgresql-server-dev-$PG_MAJOR libncurses5

RUN pip install pgxnclient
RUN pgxn install plv8

不过,这似乎仍然安装了2.3.11plv8 的版本,它与 Postgres 13 不兼容。

有什么办法可以指定pgxn安装的版本吗?或者我可以安装 Postgres 13 版本的 plv8 的任何其他方式?

4

2 回答 2

1

看起来最新版本plv8尚未在pgxn网络上发布。最后发布的版本2.3.11,这就是您在此处看到的。

要安装最新版本的 plv8,您可以按照构建说明从源代码更新您的Dockerfile构建。一个好的起点是参考使用基础镜像构建的 docker 镜像clkao/postgres-plv8plv8postgres:10

于 2021-12-24T07:24:45.957 回答
1

我们有一些 Postgres 13 和 14 的二进制文件。您可以使用这些 Dockerfile 并使用 postgres 和 plv8 快速构建紧凑的图像:

Postgres 14.2,plv8 v3.0.0,基于 Alpine。图像大小为 235MB。

Postgres 13.6,plv8 v3.0.0,基于 Alpine。图像大小为 231MB。

Postgres 13.4,plv8 v2.13.15,基于 Debian。图像大小为 351MB。

Postgres 13.6,plv8 v3.0.0,基于 Debian。图像大小为 427MB。

$ git clone https://github.com/sibedge-llc/plv8-build.git
$ cd plv8-build/docker
$ docker build -t pg14-plv8-3
$ docker run -it -d --name pg14-plv8-3 -e POSTGRES_USER=postgres -e POSTGRES_PASSWORD=postgres -p 5432:5432/tcp pg14-plv8-3

您现在可以使用它。此外,我们将很快将使用 postgres 和 plv8 完成的 docker-images 发布到 Dockerhub。

于 2022-02-25T04:42:29.580 回答