The talk introduces a mechanism for dynamically loading Postgres extensions in Kubernetes, allowing for the use of an unlimited number of extensions without having to download new images.
- Postgres extensions are software bundles that enhance the functionality of a Postgres database
- Extensions are developed by third parties and can be delivered to users at any time
- Extensions prevent forks of Postgres and can run on top of any existing Postgres without having to fork it
- The new mechanism allows for dynamic loading of extensions in Kubernetes, avoiding the need to pack all possible extensions in a fat container or load dynamically under demand
- The mechanism uses a 'pod-local controller' to watch for extensions that need to be installed, download and pack them, verify digital signatures, and make them available to Postgres
- The mechanism allows for the use of more than 100 extensions and a growing number in the future
- The talk invites feedback and ideas on the mechanism
Postgres extensions are often cited as one of the best features of Postgres, as they significantly augment the database's functionality and make it a very adaptable and rich database. They also allow for the development of new features that can be delivered to users at any time, without having to wait for the yearly release cycle of Postgres. Extensions have also prevented many forks of Postgres, as they can run on top of any existing Postgres without having to fork it. The new mechanism for dynamically loading extensions in Kubernetes allows for the use of an unlimited number of extensions without having to download new images, making it easier to run Postgres on Kubernetes.