| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
This repository provides build scripts for generating pgEdge Postgres container images supporting Postgres versions 16, 17 and 18.
Images are built from pgEdge Enterprise Postgres packages using a rockylinux9-ubi base image.
Images are published on the pgEdge Github Container Registry.
There are currently 2 supported image flavors: minimal and standard.
Package lists contained under packagelists show the exact contents of each image version.
Minimal images contain Postgres, and the following extensions:
Standard images are based on minimal images, and contain additional extension and tools.
The default entry point for this image is based on the official Postgres image entrypoint. Documentation on supported entrypoint behavior is located in the docker-library/docs repo. Running the container as root is not currently supported.
In addition to the default entry point, Patroni (/usr/local/bin/patroni) can also be used as an entrypoint in the standard image.
To run a single instance you can use this command:
docker run --name pgedge-postgres \ -e POSTGRES_PASSWORD=mypassword \ -e POSTGRES_USER=admin \ -e POSTGRES_DB=example_db \ -p 6432:5432 \ -d ghcr.io/pgedge/pgedge-postgres:17-spock5-standard
You can then log in using psql with the following command:
docker exec -it pgedge-postgres psql -U admin example_db
This repository includes two Docker Compose examples you can try out:
This image is compatible with Docker volumes and bind mounts. The configuration for both is similar. Because Postgres requires the data directory to be owned by the user running the database, the PGDATA directory should be specified as a subdirectory of the volume mount.
By default, this image uses the following approach for volume configuration:
An example Docker compose spec that shows this looks like this:
pgedge-postgres:
image: ghcr.io/pgedge/pgedge-postgres:17-spock5-standard
restart: always
environment:
POSTGRES_USER: ${POSTGRES_USER:-admin}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-password}
POSTGRES_DB: ${POSTGRES_DB:-example_db}
volumes:
- data:/var/lib/pgsql
volumes:
data:This repository includes a comprehensive test suite to validate Postgres images. The tests verify:
To run tests locally, you'll need:
Run the test suite using the Makefile:
make test-image IMAGE=<image> FLAVOR=<minimal|standard>Example:
make test-image IMAGE=ghcr.io/pgedge/pgedge-postgres:17-spock5-standard FLAVOR=standardOr run directly with Go:
cd tests && go run main.go -image <image> -flavor <minimal|standard>Architecture Limitations: When running tests locally, you can only test images that match your local machine's architecture. For example:
To test images for multiple architectures, use the GitHub Actions workflow which runs tests on architecture-specific runners:
The GitHub Actions workflow (.github/workflows/test_images.yaml) can be triggered manually to test images across multiple architectures. The workflow uses specific runner labels to target CPU architectures:
The workflow accepts:
The workflow will automatically test each tag on each specified architecture by mapping the architecture names to the appropriate runner labels.
| Back | FazBrowse Home | New Git URL |