I thought about the Relations line a bit more and noticed that there are cases where the table reference names for joining relations in the Relations line are printed incorrectly. Here is an example:
The table reference names for ft1 and ft2 in the Relations line for the second Foreign Scan should be t1_1 and t2_1 respectively.
Relations line prints the names of foreign tables that are being joined and the type of join. I find t1_1 and t2_1 more confusing since the query that user has provided does not mention t1_1 and t2_1.
Would we really need the Relations line? If joining relations are printed by core like "Foreign Join on public.ft1 t1_1, public.ft2 t2_1" as proposed upthread, we can see those relations from that, not the Relations line.
The join type is missing in that description.
Also we can see the join tree structure from the deparsed query in the Remote SQL line.
The remote SQL has the names of the table on the foreign server. It does not help to identify the local names.
--
Best Wishes, Ashutosh Bapat EnterpriseDB Corporation The Postgres Database Company