Postgres:安装特定版本的plv8



我正在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

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

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

您可以将我们完成的docker图像与postgres和plv8一起使用。它是免费的,基于Debian和Alpine的Postgres 13、14和15的图像可用,支持amd64和arm64架构。

docker pull sibedge/postgres-plv8

默认使用Alpine和最后一个Postgres版本。此处的所有可用标签

请注意,BigInt在v8中是不可序列化的,在plv8 v3.0.0及更高版本中,默认情况下BigInt数字会转换为字符串(!(。但如果您需要BigInt作为数字支持,请将此图像与Postgres和特定版本的plv8:一起使用

docker pull sibedge/postgres-plv8-bigint

或者,您可以将我们的二进制文件与这些Dockerfiles一起使用,并通过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

你现在可以使用它。

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

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

最新更新