Query with correlated join having slow performance - Mailing list pgsql-general

From saket bansal
Subject Query with correlated join having slow performance
Date
Msg-id CACkcRNhrQ+aRvm9yokNNPEFeJPF4B3UiC4MphY2ndDxudYRz0A@mail.gmail.com
Whole thread Raw
Responses Re: Query with correlated join having slow performance
Re: Query with correlated join having slow performance
List pgsql-general
Hi Postgres Experts,

Please help me on a query tuning.
Postgres verson: 11.5
This database has been migrated from oracle 12c to postgres. In Oracle query executes in 2-3 secs, but in postgres it hangs forever.  There are no transactions at this time, I am stuck at first run after migration.

My analysis:

I have done vacuum full , analyze , even with 100% samples using a much higher value of default_statistics_target.
Also tried different hints using pg_hint_plan extension. Overall cost reduces, but actual run hangs forever.
I think problem is with correlated subquery join condition.
If "and pdtaltrelt%_.tenant_dkby=pdtaltrelt0_.tenant_dkby" condition is removed from both subqueries, result comes in secs(I understand that would be skipping correlated join)

 SQL> select count(*) from pdtalt_rel_to_tenant_rel;
    267216

SQL> select count(distinct tenant_dkby) from pdtalt_rel_to_tenant_rel;
                         3

Table DDLs , query plan and parameter configuration available at below git link:
 
I have 16 GB , 4 CPU , rhel 7 machine.

Thanks for help in advance, let me know if any additional information is required

pgsql-general by date:

Previous
From: Albrecht Dreß
Date:
Subject: Re: Q: cert authentication and user remapping fails
Next
From: Michael Lewis
Date:
Subject: Re: Query with correlated join having slow performance