feat: Add PostgreSQL 13-16 support with plv8 3.x, pg_tle, and multi-arch builds #44
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This update modernizes the
clkao
image repository to support newer PostgreSQL versions and adds several important features.Motivation
Note
The crux of why I made this was:
pg_jsonschema
) exists for this, but it's not supported on AWS RDS." 😩Users of Postgres'
JSON
andJSONB
columns might be wanting JSON Schema support. The most well-known extension that offers JSON Schema is the one from Supabase (see their post and source). Unfortunately, such extensions are not universally supported. For example, AWS RDS does not supportpg_jsonschema
. However, they do support Trusted Language Extensions (TLE), which can be written in PL/V8, which allows you to write functions in Javascript that are available in SQL. The purpose behind this PR is to provide basic Docker images that provide both PL/V8 and TLE out of the box. No such images exist. Such images will make it trivial to test any JS-written functions you plan on writing and shipping.New Features
PostgreSQL 13-16 support: Added Dockerfiles for PostgreSQL 13, 14, 15,
and 16 with
plv8
3.2.4 (directories: 13-3, 14-3, 15-3, 16-3)pg_tle integration: Created variants with
pg_tle
(Trusted Language Extensions) pre-installed and configured for PostgreSQL 12-16 (directories:12-2-tle
through16-3-tle
)Multi-architecture support: Added support for building AMD64 and ARM64 (Apple Silicon) images via Docker Buildx
build-multiarch.sh
script for local multi-arch buildsFixes
postgres:XX
base images which provide modern Debian (Bookworm), eliminating 404 errors from archived Debian Buster repositoriesDocumentation
plv8
3.x supportpg_tle
usage documentationResolves issues with outdated PostgreSQL versions, archived Debian base, and lack of ARM64 support.