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.