Postgres:安装特定版本的plv8
Postgres: Install a specific version of 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
这似乎仍然安装了 2.3.11
版本的 plv8,它与 Postgres 13 不兼容。
有什么方法可以指定 pgxn
安装的版本吗?或者我可以通过任何其他方式安装 Postgres 13 版本的 plv8?
plv8
的最新版本似乎尚未在 pgxn
网络上发布。 last published version 是 2.3.11
,这就是您在这里看到的。
要安装最新版本的 plv8,您可以更新 Dockerfile
以按照使用 postgres:10
基础映像构建的 build instructions. A good starting point would be to refer to the docker image clkao/postgres-plv8 从源构建 plv8
。
您可以将我们完成的 docker-images 与 postgres 和 plv8 一起使用。它是免费的,提供基于 Debian 和 Alpine 的 Postgres 13 和 14 图像。
docker pull sibedge/postgres-plv8
默认使用 Alpine 和最新的 Postgres 版本。所有可用标签 here
注意,BigInt 在 v8 和 by default in plv8 v3.0.0 and higher BigInt numbers are converted into string(!) 中不可序列化。但是,如果您需要 BigInt 作为数字支持,请将此图像与 Postgres 和特定版本的 plv8 一起使用:
docker pull sibedge/postgres-plv8-bigint
或者您可以将我们的二进制文件与这些 Dockerfile 一起使用,并自己使用 postgres 和 plv8 快速构建紧凑的图像:
Postgres 14.2, plv8 v3.0.0,基于高山。图片大小为235MB。
Postgres 13.6, plv8 v3.0.0,基于高山。图片大小为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
您现在可以使用它了。
我正在 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.11
版本的 plv8,它与 Postgres 13 不兼容。
有什么方法可以指定 pgxn
安装的版本吗?或者我可以通过任何其他方式安装 Postgres 13 版本的 plv8?
plv8
的最新版本似乎尚未在 pgxn
网络上发布。 last published version 是 2.3.11
,这就是您在这里看到的。
要安装最新版本的 plv8,您可以更新 Dockerfile
以按照使用 postgres:10
基础映像构建的 build instructions. A good starting point would be to refer to the docker image clkao/postgres-plv8 从源构建 plv8
。
您可以将我们完成的 docker-images 与 postgres 和 plv8 一起使用。它是免费的,提供基于 Debian 和 Alpine 的 Postgres 13 和 14 图像。
docker pull sibedge/postgres-plv8
默认使用 Alpine 和最新的 Postgres 版本。所有可用标签 here
注意,BigInt 在 v8 和 by default in plv8 v3.0.0 and higher BigInt numbers are converted into string(!) 中不可序列化。但是,如果您需要 BigInt 作为数字支持,请将此图像与 Postgres 和特定版本的 plv8 一起使用:
docker pull sibedge/postgres-plv8-bigint
或者您可以将我们的二进制文件与这些 Dockerfile 一起使用,并自己使用 postgres 和 plv8 快速构建紧凑的图像:
Postgres 14.2, plv8 v3.0.0,基于高山。图片大小为235MB。
Postgres 13.6, plv8 v3.0.0,基于高山。图片大小为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
您现在可以使用它了。