Move and configure lib directories #98
Open
+34
−31
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.
Instead of OS-specific and Postgres version-specific
lib
directories, just havemod
for Postgres extension module files andlib
for shared libraries they depend on. For example, thepgsql_http
extension'shttp.so
file would be installed inmod
and its dependency,libcurl
, inlib
. Both remain part of thepostgres
binary's runpath:While at it, remove LLVM, Python, Tcl, and Perl from the base image, eliminating around 180MB from the image size. LLVM is not needed on the image, and the dynamic language libraries only needed if their accompanying extensions are installed; we'll want to install them when their extensions are installed.
Update
docker-entrypoint.sh
to add/var/lib/postgresql/tembo/mod
to thedynamic_library_path
, so that Postgres can find extension modules there. Control files will need$libdir/
stripped frommodule_pathname
for this to work, a change likely to be included in Postgres 18 but we'll have to do when installing extensions there.Other changes:
Dockerfile
items around.