Re: Does Postgres have consistent identifiers (plan hash value) for explain plans?

From: Julien Rouhaud <rjuju123(at)gmail(dot)com>
To: Jerry Brenner <jbrenner(at)guidewire(dot)com>
Cc: pgsql-performance(at)lists(dot)postgresql(dot)org
Subject: Re: Does Postgres have consistent identifiers (plan hash value) for explain plans?
Date: 2023-12-04 17:30:12
Message-ID: ZW4MpD1NPiui4BqO@jrouhaud
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-performance

Hi,

On Mon, Dec 04, 2023 at 06:45:39AM -0800, Jerry Brenner wrote:
> We are currently on Postgres 13.9 (and will be moving to later releases).
> We are capturing json explain plans and storing them in a database table.
> We can tell that there are different plans for some queries, but that's a
> very labor intensive process - we'd rather do this using SQL and comparing
> consistent hash values for the plans. Both Oracle and SQL Server have
> consistent hash values for query plans and that makes it easy to identify
> when there are multiple plans for the same query. Does that concept exist
> in later releases of Postgres (and is the value stored in the json explain
> plan)?
>
> While we have a pretty good idea of how to manually generate a consistent
> value, we don't want to reinvent the wheel. Is anyone aware of an existing
> solution that can be called from SQL/jsonb?

You can look at pg_store_plans extension:
https://github.com/ossc-db/pg_store_plans, it can generate a query plan hash
and also keeps tracks of the (normalized) plans associated to each (normalized)
query.

In response to

Browse pgsql-performance by date

  From Date Subject
Next Message Michael Paquier 2023-12-05 03:05:26 Re: Does Postgres have consistent identifiers (plan hash value) for explain plans?
Previous Message Tom Lane 2023-12-04 14:57:24 Re: Does Postgres have consistent identifiers (plan hash value) for explain plans?