Docker

Run pgjev in a container without installing the extension on the host.

The repo ships a Dockerfile that starts from postgres:<major>, installs plpython3u, and copies the extension files. Default major is 16.

From a clone of pg-jev:

bash
docker build -t pg-jev .
# docker build --build-arg PG_MAJOR=17 -t pg-jev .
docker run -d -p 5432:5432 \
  -e POSTGRES_PASSWORD=pw \
  -e TYPESAFE_API_KEY=your-key \
  pg-jev
psql postgres://postgres:pw@localhost/postgres -c "CREATE EXTENSION jev CASCADE"

The image does not create the extension for you. CREATE EXTENSION jev CASCADE still runs as the container superuser after the server is up (CASCADE creates plpython3u as well). To have it created on first start, mount an init script: echo 'CREATE EXTENSION jev CASCADE;' > init.sql and add -v $PWD/init.sql:/docker-entrypoint-initdb.d/jev.sql to docker run.

You still need a TypeSafe API key. Either pass TYPESAFE_API_KEY as above or SET jev.api_key in the session. Then go to Quick start for the first query.