Re: Named Prepared statement problems and possible solutions

From: Dave Cramer <davecramer(at)gmail(dot)com>
To: Jan Wieck <jan(at)wi3ck(dot)info>
Cc: Konstantin Knizhnik <knizhnik(at)garret(dot)ru>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: Named Prepared statement problems and possible solutions
Date: 2023-06-08 15:18:34
Message-ID: CADK3HH+xkQRuueAF2HwVhhjB45kVyh690HbUNaLYm=eP8qKBJQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Thu, 8 Jun 2023 at 11:15, Jan Wieck <jan(at)wi3ck(dot)info> wrote:

> On 6/8/23 10:56, Dave Cramer wrote:
> >
> >
> >
> >
> > On Thu, 8 Jun 2023 at 10:31, Jan Wieck <jan(at)wi3ck(dot)info
> > <mailto:jan(at)wi3ck(dot)info>> wrote:
> >
> > On 6/8/23 09:53, Jan Wieck wrote:
> > > On 6/8/23 09:21, Dave Cramer wrote:
> > > The server doesn't know about all the clients of the pooler, does
> > it? It
> > > has no way of telling if/when a client disconnects from the
> pooler.
> >
> > Another problem that complicates doing it in the server is that the
> > information require to (re-)prepare a statement in a backend that
> > currently doesn't have it needs to be kept in shared memory. This
> > includes the query string itself. Doing that without shared memory
> in a
> > pooler that is multi-threaded or based on async-IO is much simpler
> and
> > allows for easy ballooning.
> >
> >
> > I don't expect the server to re-prepare the statement. If the server
> > responds with "statement doesn't exist" the client would send a prepare.
>
> Are you proposing a new libpq protocol version?
>

I believe we would need to add this to the protocol, yes.

Dave

>
>
> Jan
>

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Konstantin Knizhnik 2023-06-08 15:22:36 Re: Named Prepared statement problems and possible solutions
Previous Message Heikki Linnakangas 2023-06-08 15:17:10 Re: Seeking Guidance on Using Valgrind in PostgreSQL for Detecting Memory Leaks in Extension Code