Thread: how to find the order of joins from Explain command XML plan output in PostgreSQL9.3.4


"EXPLAIN (format XML) <query>" command in PostgreSQL9.3.4 gives the plan chosen by the optimizer in XML format. In my program, I have to extract certain data about optimizer plan from this XML output.

      I am using LibXML2 library for parsing the XML. I had successfully extracted information about which relations are involved and what joins are used by parsing the XML. 
      But I am unable to extract the order of joining the relations from the XML output. I conceptually understood that the level order traversal of binary tree representation of the XML plan will give correct ordering of joins applied. 
      But I could not figure out how do I get that from the XML? Does libXML2 support anything of this sort? If not how should I proceed to tackle this?