The fastest way to try Omnigres out is by using its container image:
docker volume create omnigres # The environment variables (`-e`) below have these set as defaults docker run --name omnigres \ -e POSTGRES_PASSWORD=omnigres \ -e POSTGRES_USER=omnigres \ -e POSTGRES_DB=omnigres \ --mount source=omnigres,target=/var/lib/postgresql/data \ -p 127.0.0.1:5432:5432 -p 127.0.0.1:8080:8080 --rm ghcr.io/omnigres/omnigres:latest # Now you can connect to it: psql -h localhost -p 5432 -U omnigres omnigres # password is `omnigres`
You can access the HTTP server at localhost:8080
April 2023: Omnigres container image now includes plrust, an extension that allows developing functions in Rust!
Which batteries are included?
This image contains all Omnigres extensions (with omni_httpd and omni_web preinstalled), as well as the following languages & extensions:
- pljava (temporarily excluded)
Why is the container image so large?
Unfortunately, plrust extension is responsible for many gigabytes of artifacts in the image. Typically, if you need Rust, this is not a big problem as both development machines and servers can handle this just fine.
However, if you want a smaller image and don't need Rust, use slim flavor:
Building your own image¶
If you can't use the pre-built image (for example, you are running a fork or made changes), you can build the image yourself: