On Fri, Nov 5, 2021, 7:46 PM Michael Lewis <mlewis@xxxxxxxxxxx> wrote:
For my purposes, app name isn't long enough so we put a comment at the start of every SQL that has a unique ID generated in the application. This ensures that we can tell one connection apart from another even when both are coming from the same feature/action (applicationName is set to this) even using connection pooling. Before, we had different requests reusing the same pid of course and if they happened to have the same appName, we didn't know it was a new process on app side.
While researching options, I did see crunchy proxy using annotations to split read/write. But I was not sure if any of these options fit well with multiple toolings , drivers etc.
The other option was
or writing your custom plug-in for envoyproxy filter for postgresql
So basically it was adding one more layer in between the already connection pooling layers via pgbouncer.
The biggest concern is when we use ssl, these session params cannot be read unless we terminate ssl at the proxy, and then decode, so I gave up :)