Different execution plans in PG17 and pgBouncer...

From: Mladen Marinović <marin(at)kset(dot)org>
To: pgsql-general(at)postgresql(dot)org
Subject: Different execution plans in PG17 and pgBouncer...
Date: 2025-05-05 08:52:54
Message-ID: CAHjkqPQFy2GnzRQHSkc8FXJdOYEV46cTQ9KjHXDUctCMHvveBw@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hi,

We recently migrated our production instances from PG11 to PG17. While
doing so we upgraded our pgBouncer instances from 1.12 to 1.24. As
everything worked on the test servers we pushed this to production a few
weeks ago. We did not notice any problems until a few days ago (but the
problems were here from the start). The main manifestation of the problems
is a service that runs a fixed query to get a backlog of unprocessed data
(limited to a 1000 rows). When testing the query using pgAdmin connected
directly to the database we get a result in cca. 20 seconds. The same query
runs for 2 hours when using pgBouncer to connect to the same database.

The more interesting part is that when we issue an explain of the same
query we get different plans. We did this a few seconds apart so there
should be no difference in collected statistics. We ruled out prepared
statements, as we suspected the generic plan might be the problem, but it
is not. Is there any pgBouncer or PG17 parameter that might be the cause of
this?

Regards,
Mladen Marinović

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Achilleas Mantzios 2025-05-05 09:24:40 Re: Different execution plans in PG17 and pgBouncer...
Previous Message Tom Lane 2025-05-03 15:50:28 Re: Index not used in certain nested views but not in others