Re: Prepared Statements vs. pgbouncer - Mailing list pgsql-jdbc

From Oliver Jowett
Subject Re: Prepared Statements vs. pgbouncer
Date
Msg-id 46FDA4F2.8080507@opencloud.com
Whole thread Raw
In response to Prepared Statements vs. pgbouncer  (Paul Lindner <lindner@inuus.com>)
Responses Re: Prepared Statements vs. pgbouncer  (Paul Lindner <lindner@inuus.com>)
List pgsql-jdbc
Paul Lindner wrote:
> the assumption of a singular
> client->server backend is causing this problem.

Well, yes, that's fairly fundamental to the client-server protocol. It
sounds like pgbouncer is breaking the protocol.

You could perhaps do transparent statement/portal renaming in pgbouncer
but that seems to be only scratching the surface of the problem.
Consider your case here:

>   * Client A creates statement S_1, fetches results.
>     When finished the statement is put in a cleanup queue.
>   * time passes
>   * pgbouncer notices that client A is idle and reassigns backend to
>     client B

Ok, now client A wakes up and wants to reuse S_1. What happens? The
backend that knows about S_1 is currently in use by B.

Changing the JDBC driver to handle a "server" that doesn't follow the
documented server protocol seems a bit backwards. I think you're going
to have to teach pgbouncer a whole lot more about statements and portals
to get this one working.

-O

pgsql-jdbc by date:

Previous
From: Paul Lindner
Date:
Subject: Prepared Statements vs. pgbouncer
Next
From: Paul Lindner
Date:
Subject: Re: Prepared Statements vs. pgbouncer