On Thu, Jan 29, 2026 at 3:46 PM Ashutosh Bapat <[email protected]> wrote: > You could write a script to find the optimal value of shared_buffers, > that will consume memory optimally; auto-tuning it without starting > the server. > > Isn't that sufficient?
That was my initial approach. I have such a script and built a mapping between memory available and shared_buffers to request, one for each PG version. But that breaks as soon as a user does something that increases memory request, like increasing max_connections or adding an extension. Thus, I need to run this script before every PG starts to account for those possible changes. With Kubernetes, this means: - You use a PG Docker image, you need to clone it and override the entry point to run the script before starting PG. - The cluster may be managed by systems like patroni[1], so patroni would need to be modified to do the auto-tuning. - You may also use a Kubernetes operator to manage the cluster. AFAIK, they don't provide a way to override how PG is started, the operators would need to implement the auto-tuning logic. If this auto-tune logic is directly implemented in PG, all kubernetes users would be able to benefit from this, without having to hijack how PG is started. [1]: https://github.com/patroni/patroni
