6 ms·
Are you aware of extension_control_path? [0] Since PG18 it allows specifying multiple non-$system directories for extension control paths, which makes it easier
by chatmasta 3mo ago
Are you aware of extension_control_path? [0] Since PG18 it allows specifying multiple non-$system directories for extension control paths, which makes it easier to adopt composable patterns of extension bundling with immutable images.
CloudNativePG uses this for its Image Volume Extensions feature [1]. A lot of the CNPG team worked on contributing this to PG core because previously the only alternative was baking “God images” at build time (“-full” in this readme) with all extensions in them.
Now with the extension_control_path GUC, it’s possible to “attach” extensions as container volumes at runtime, without rebuilding the image of the container. Maybe you can adopt a similar approach in pglayers.
[0] https://postgresqlco.nf/doc/en/param/extension_control_path/ https://postgresqlco.nf/doc/en/param/extension_control_path/
[1] https://cloudnative-pg.io/docs/1.30/imagevolume_extensions/ https://cloudnative-pg.io/docs/1.30/imagevolume_extensions/
- iemejia 3mo agoOh that's excellent. Thanks for sharing. I was not aware at all I cam going to take a look at it.
- iemejia 2mo ago@chatmasta Thanks again for the pointer. I just added the implementation now for the images based on PG 18+ I really like the idea of adding your layers at deploy time so this is a nice improvement.