Re: Double prepare

Rob Sargent <robjsargent@gmail.com>

From: Rob Sargent <robjsargent@gmail.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Igor Korot <ikorot01@gmail.com>, "pgsql-generallists.postgresql.org" <pgsql-general@lists.postgresql.org>
Date: 2026-05-16T14:07:01Z
Lists: pgsql-general

> On May 16, 2026, at 7:46 AM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> 
> Igor Korot <ikorot01@gmail.com> writes:
>> Is there a way to see if the query has been prepared already (in libpq)?
> 
> Use the pg_prepared_statements view.  I don't think libpq keeps any
> client-side state about this.
> 
>> Or is it better to run for all known parameterized queries
>> in the very beginning of the program and just execute them when needed?
> 
> Very probably.  Querying every time would be
> expensive.
> 
If I am following correctly, one may query pg_prepared_statements with a specific query in hand. Should it not then be possible to cache that query as having been planned/prepared and proceed accordingly?

Might there be value in calling PQprepare as late as possible against most up-to-dare data?


>