(gdb) where #0 pgpa_join_path_setup (root=0x578e623f2bc0, joinrel=0x578e62417018, outerrel=0x578e6240c478, innerrel=0x578e62417220, jointype=JOIN_UNIQUE_INNER, extra=0x7fffde048d40) at ../contrib/pg_plan_advice/pgpa_planner.c:460 #1 0x0000578e3397aa3f in add_paths_to_joinrel (root=root@entry=0x578e623f2bc0, joinrel=joinrel@entry=0x578e62417018, outerrel=outerrel@entry=0x578e6240c478, innerrel=innerrel@entry=0x578e62417220, jointype=jointype@entry=JOIN_UNIQUE_INNER, sjinfo=sjinfo@entry=0x578e62416398, restrictlist=0x578e62422b20) at ../src/backend/optimizer/path/joinpath.c:180 #2 0x0000578e3397d0b4 in populate_joinrel_with_paths (root=root@entry=0x578e623f2bc0, rel1=rel1@entry=0x578e6240c478, rel2=rel2@entry=0x578e6241c838, joinrel=joinrel@entry=0x578e62417018, sjinfo=sjinfo@entry=0x578e62416398, restrictlist=0x578e62422b20) at ../src/backend/optimizer/path/joinrels.c:1197 #3 0x0000578e3397ded8 in make_join_rel (root=root@entry=0x578e623f2bc0, rel1=0x578e6240c478, rel1@entry=0x578e6241c838, rel2=0x578e6241c838, rel2@entry=0x578e6240c478) at ../src/backend/optimizer/path/joinrels.c:774 #4 0x0000578e3397e0dd in make_rels_by_clause_joins (first_rel_idx=0, other_rels=0x578e6241c058, old_rel=0x578e6241c838, root=) at ../src/backend/optimizer/path/joinrels.c:300 [..] (gdb) print pps $2 = (pgpa_planner_state *) 0x0 -- bt full: #0 pgpa_join_path_setup (root=0x578e623f2bc0, joinrel=0x578e62417018, outerrel=0x578e6240c478, innerrel=0x578e62417220, jointype=JOIN_UNIQUE_INNER, extra=0x7fffde048d40) at ../contrib/pg_plan_advice/pgpa_planner.c:460 pps = 0x0 uniquerel = 0x578e62417220 pjs = __func__ = "pgpa_join_path_setup" #1 0x0000578e3397aa3f in add_paths_to_joinrel (root=root@entry=0x578e623f2bc0, joinrel=joinrel@entry=0x578e62417018, outerrel=outerrel@entry=0x578e6240c478, innerrel=innerrel@entry=0x578e62417220, jointype=jointype@entry=JOIN_UNIQUE_INNER, sjinfo=sjinfo@entry=0x578e62416398, restrictlist=0x578e62422b20) at ../src/backend/optimizer/path/joinpath.c:180 save_jointype = JOIN_UNIQUE_INNER extra = {restrictlist = 0x578e62422b20, mergeclause_list = 0x0, inner_unique = false, sjinfo = 0x578e62416398, semifactors = {outer_match_frac = 0.14629113674163824, match_count = 4.7563227365296745e-310}, param_source_rels = 0x0, pgs_mask = 393215} mergejoin_allowed = true lc = joinrelids = 0x578e62422928 #2 0x0000578e3397d0b4 in populate_joinrel_with_paths (root=root@entry=0x578e623f2bc0, rel1=rel1@entry=0x578e6240c478, rel2=rel2@entry=0x578e6241c838, joinrel=joinrel@entry=0x578e62417018, sjinfo=sjinfo@entry=0x578e62416398, restrictlist=0x578e62422b20) at ../src/backend/optimizer/path/joinrels.c:1197 unique_rel2 = 0x578e62417220 __func__ = "populate_joinrel_with_paths" #3 0x0000578e3397ded8 in make_join_rel (root=root@entry=0x578e623f2bc0, rel1=0x578e6240c478, rel1@entry=0x578e6241c838, rel2=0x578e6241c838, rel2@entry=0x578e6240c478) at ../src/backend/optimizer/path/joinrels.c:774 joinrelids = 0x578e62422910 sjinfo = 0x578e62416398 reversed = true pushed_down_joins = 0x0 sjinfo_data = {type = T_SpecialJoinInfo, min_lefthand = 0x578e33957224 , min_righthand = 0x578e6240ec68, syn_lefthand = 0x6, syn_righthand = 0x578e624228f8, jointype = 865534926, ojrelid = 22414, commute_above_l = 0x0, commute_above_r = 0x578e623f2bc0, commute_below_l = 0x578e6240a068, commute_below_r = 0x578e6241c838, lhs_strict = 120, semi_can_btree = 196, semi_can_hash = 64, semi_operators = 0x578e339704c3 , semi_rhs_exprs = 0x100000000} joinrel = 0x578e62417018 restrictlist = 0x578e62422b20 trel = #4 0x0000578e3397e0dd in make_rels_by_clause_joins (first_rel_idx=0, other_rels=0x578e6241c058, old_rel=0x578e6241c838, root=) at ../src/backend/optimizer/path/joinrels.c:300 other_rel = 0x578e6240c478 l__state = {l = , i = 0} l = #5 join_search_one_level (root=root@entry=0x578e623f2bc0, level=level@entry=3) at ../src/backend/optimizer/path/joinrels.c:123 first_rel = 0 old_rel = 0x578e6241c838 r__state = {l = 0x578e6241c388, i = 1} joinrels = 0x578e6241c0a0 r = k = __func__ = "join_search_one_level" #6 0x0000578e33967493 in standard_join_search (root=0x578e623f2bc0, levels_needed=4, initial_rels=) at ../src/backend/optimizer/path/allpaths.c:3960 lc = lev = 3 rel = __func__ = "standard_join_search" #7 0x0000578e3398f596 in query_planner (root=root@entry=0x578e623f2bc0, qp_callback=qp_callback@entry=0x578e3398fc40 , qp_extra=qp_extra@entry=0x7fffde0491a0) at ../src/backend/optimizer/plan/planmain.c:297 parse = 0x578e623289f0 joinlist = 0x578e62410018 final_rel = __func__ = "query_planner" #8 0x0000578e33995166 in grouping_planner (root=root@entry=0x578e623f2bc0, tuple_fraction=, tuple_fraction@entry=0, setops=setops@entry=0x0) at ../src/backend/optimizer/plan/planner.c:1733 sort_input_targets = 0x7fffde049210 sort_input_target_parallel_safe = grouping_target = scanjoin_target = activeWindows = qp_extra = {activeWindows = 0x0, gset_data = 0x0, setop = 0x0} sort_input_targets_contain_srfs = 0x0 have_grouping = 192 wflists = gset_data = 0x0 sort_input_target = grouping_targets = 0x578e3399fadd grouping_target_parallel_safe = scanjoin_targets = 0x578e3395bb00 scanjoin_target_parallel_safe = grouping_targets_contain_srfs = 0x578e623f2bc0 scanjoin_targets_contain_srfs = 0x578e623f8be8 scanjoin_target_same_exprs = parse = 0x578e623289f0 offset_est = 0 count_est = 0 limit_tuples = -1 have_postponed_srfs = false final_target = final_targets = 0x0 final_targets_contain_srfs = 0x1 final_target_parallel_safe = current_rel = final_rel = extra = {limit_needed = 16, limit_tuples = 0, count_est = 96269045144368, offset_est = 96268262700030} lc = __func__ = "grouping_planner" #9 0x0000578e33997e99 in subquery_planner (glob=glob@entry=0x578e623da2d8, parse=, parse@entry=0x578e623289f0, plan_name=plan_name@entry=0x0, parent_root=parent_root@entry=0x0, hasRecursion=hasRecursion@entry=false, tuple_fraction=0, setops=setops@entry=0x0) at ../src/backend/optimizer/plan/planner.c:1300 root = 0x578e623f2bc0 newWithCheckOptions = newHaving = hasOuterJoins = hasResultRTEs = final_rel = l = #10 0x0000578e33998457 in standard_planner (parse=0x578e623289f0, query_string=0x578e622ee808 "explain (timing off, costs off, settings off, memory off)\nSELECT\n s_name,\n s_address\nFROM\n supplier,\n nation\nWHERE\n s_suppkey in (\n SELECT\n", ' ' , "ps_suppkey\n FROM\n "..., cursorOptions=2048, boundParams=0x0, es=0x578e623da020) at ../src/backend/optimizer/plan/planner.c:517 result = glob = 0x578e623da2d8 tuple_fraction = 0 root = final_rel = best_path = top_plan = lp = lr = #11 0x0000578e33998a55 in planner (parse=parse@entry=0x578e623289f0, query_string=query_string@entry=0x578e622ee808 "explain (timing off, costs off, settings off, memory off)\nSELECT\n s_name,\n s_address\nFROM\n supplier,\n nation\nWHERE\n s_suppkey in (\n SELECT\n", ' ' , "ps_suppkey\n FROM\n "..., cursorOptions=cursorOptions@entry=2048, boundParams=boundParams@entry=0x0, es=es@entry=0x578e623da020) at ../src/backend/optimizer/plan/planner.c:324 result = #12 0x0000578e33a98036 in pg_plan_query (querytree=querytree@entry=0x578e623289f0, query_string=query_string@entry=0x578e622ee808 "explain (timing off, costs off, settings off, memory off)\nSELECT\n s_name,\n s_address\nFROM\n supplier,\n nation\nWHERE\n s_suppkey in (\n SELECT\n", ' ' , "ps_suppkey\n FROM\n "..., cursorOptions=cursorOptions@entry=2048, boundParams=boundParams@entry=0x0, es=es@entry=0x578e623da020) at ../src/backend/tcop/postgres.c:905 plan = #13 0x0000578e33893658 in standard_ExplainOneQuery (query=0x578e623289f0, cursorOptions=2048, into=0x0, es=0x578e623da020, queryString=0x578e622ee808 "explain (timing off, costs off, settings off, memory off)\nSELECT\n s_name,\n s_address\nFROM\n supplier,\n nation\nWHERE\n s_suppkey in (\n SELECT\n", ' ' , "ps_suppkey\n FROM\n "..., params=0x0, queryEnv=0x0) at ../src/backend/commands/explain.c:354 plan = planstart = planduration = {ticks = 0} bufusage_start = {shared_blks_hit = 96268269601760, shared_blks_read = 0, shared_blks_dirtied = 96269045144368, shared_blks_written = 96268264941309, local_blks_hit = 96269045144368, local_blks_read = 138096393063832, local_blks_dirtied = 33239, local_blks_written = -4160345130049447168, temp_blks_read = 138096393063832, temp_blks_written = 2, shared_blk_read_time = {ticks = 0}, shared_blk_write_time = {ticks = 96268264941453}, local_blk_read_time = { ticks = 0}, local_blk_write_time = {ticks = 96268260536182}, temp_blk_read_time = {ticks = 142605799162327}, temp_blk_write_time = {ticks = -4160345130049447168}} bufusage = {shared_blks_hit = 12542, shared_blks_read = 778195385, shared_blks_dirtied = 140736918230349, shared_blks_written = 140736918230360, local_blks_hit = 1024, local_blks_read = 96269043933040, local_blks_dirtied = 140733193388032, local_blks_written = 138096083468288, temp_blks_read = 96269044451824, temp_blks_written = 610751276906, shared_blk_read_time = {ticks = 0}, shared_blk_write_time = {ticks = 0}, local_blk_read_time = {ticks = 0}, local_blk_write_time = { ticks = 96269045178368}, temp_blk_read_time = {ticks = 96269044217344}, temp_blk_write_time = {ticks = -4160345130049447168}} mem_counters = {nblocks = 0, freechunks = 0, totalspace = 96269044453464, freespace = 138096393063832} planner_ctx = 0x0 saved_ctx = 0x0 #14 0x0000578e33893834 in ExplainOneQuery (query=, cursorOptions=, into=, es=, pstate=, params=) at ../src/backend/commands/explain.c:310 No locals. #15 0x0000578e3389392d in ExplainQuery (pstate=0x578e622aa208, stmt=0x578e62328850, params=0x0, dest=0x578e622aa180) at ../src/backend/commands/explain.c:224 l__state = {l = , i = 0} l = 0x578e6231a560 es = 0x578e623da020 tstate = jstate = query = rewritten = 0x578e6231a548 #16 0x0000578e33a9db1d in standard_ProcessUtility (pstmt=0x578e623288e8, queryString=0x578e622ee808 "explain (timing off, costs off, settings off, memory off)\nSELECT\n s_name,\n s_address\nFROM\n supplier,\n nation\nWHERE\n s_suppkey in (\n SELECT\n", ' ' , "ps_suppkey\n FROM\n "..., readOnlyTree=, context=PROCESS_UTILITY_TOPLEVEL, params=0x0, queryEnv=0x0, dest=0x578e622aa180, qc=0x7fffde049730) at ../src/backend/tcop/utility.c:868 parsetree = 0x578e62328850 isTopLevel = isAtomicContext = false pstate = 0x578e622aa208 readonly_flags = __func__ = "standard_ProcessUtility" #17 0x0000578e33a9be1f in PortalRunUtility (portal=portal@entry=0x578e62373158, pstmt=0x578e623288e8, isTopLevel=isTopLevel@entry=true, setHoldSnapshot=setHoldSnapshot@entry=true, dest=dest@entry=0x578e622aa180, qc=qc@entry=0x7fffde049730) at ../src/backend/tcop/pquery.c:1148 No locals. #18 0x0000578e33a9c1ef in FillPortalStore (portal=portal@entry=0x578e62373158, isTopLevel=isTopLevel@entry=true) at ../src/backend/tcop/pquery.c:1021 treceiver = 0x578e622aa180 qc = {commandTag = CMDTAG_UNKNOWN, nprocessed = 0} __func__ = "FillPortalStore" #19 0x0000578e33a9c51d in PortalRun (portal=portal@entry=0x578e62373158, count=count@entry=9223372036854775807, isTopLevel=isTopLevel@entry=true, dest=dest@entry=0x578e623dd430, altdest=altdest@entry=0x578e623dd430, qc=qc@entry=0x7fffde049920) at ../src/backend/tcop/pquery.c:755 _save_exception_stack = 0x7fffde049be0 _save_context_stack = 0x0 _local_sigjmp_buf = {{__jmpbuf = {96269044756824, 6410279360078897790, 140736918231328, 96269045191728, 0, 96269044451488, 582824112891978366, 6410100202314097278}, __mask_was_saved = 0, __saved_mask = {__val = {96268265301077, 96268266004569, 96269044765032, 96268266004569, 96269044756824, 96268266004569, 1, 1, 0, 96269044451488, 96268265161652, 96268269602176, 96268263734393, 96269044756824, 96268265159153, 2}}}} _do_rethrow = result = nprocessed = saveTopTransactionResourceOwner = 0x578e6232e180 saveTopTransactionContext = 0x578e62385170 saveActivePortal = 0x0 saveResourceOwner = 0x578e6232e180 savePortalContext = 0x0 saveMemoryContext = 0x578e62385170 __func__ = "PortalRun" #20 0x0000578e33a98501 in exec_simple_query ( query_string=0x578e622ee808 "explain (timing off, costs off, settings off, memory off)\nSELECT\n s_name,\n s_address\nFROM\n supplier,\n nation\nWHERE\n s_suppkey in (\n SELECT\n", ' ' , "ps_suppkey\n FROM\n "...) at ../src/backend/tcop/postgres.c:1279