News for hackers. Stuff that matters.
Re:Why we built yet another Postgres connection pooler by drdexebtjl on Tuesday July 07, 2026 @05:37PM (#48824224)
> 4. Use separate bouncers for each application that might be different (extension of #1)

I wonder if clients send something equivalent to a User-Agent, such that the connection pooler could assign them to different pools automatically.

Re:Why we built yet another Postgres connection pooler by tpetry on Tuesday July 07, 2026 @05:42PM (#48824295)
This exists, its called a user. You just use different database users for this.
Re:Why we built yet another Postgres connection pooler by drdexebtjl on Tuesday July 07, 2026 @06:46PM (#48825049)
I was thinking of something that only exists at the pool level.

Every new version of your app has the potential to change behavior in a way that would affect the previous version if the connection was recycled during a progressive rollout.

But I don’t think I would want to create a real database user for every version of the app.

I suppose the connection pooler could map versioned users to the same real user, and use separate pools, but a dedicated UA field is probably better.

Re:Why we built yet another Postgres connection pooler by SahAssar on Tuesday July 07, 2026 @07:41PM (#48825520)
> But I don’t think I would want to create a real database user for every version of the app.

Why not? Database users are (usually) not expensive, and with groups you can give access to a group you just add the user to.

Adding this logic to the connection pooler seems more complicated.

Re:Why we built yet another Postgres connection pooler by drdexebtjl on Tuesday July 07, 2026 @09:02PM (#48826161)
Because it means connecting to the database to provision a new user on every deploy.

Also because it doesn’t really concern the database, it concerns the pooler.

Connection poolers already maintain multiple pools, it would not be complicated at all.

Re:Why we built yet another Postgres connection pooler by nijave on Tuesday July 07, 2026 @05:49PM (#48824384)
Can also use different database names since pgbouncer lets you remap that