Für Ihre Abfrage möchten Sie einen Index für xml_files("purchaseNumber", "docPublishDate" desc) :
create index idx_xml_files_2 on xml_files("purchaseNumber", "docPublishDate" desc)
Postgres sollte diesen Index für die order by verwenden , was das distinct on erleichtert .
Obwohl dies die Leistung nicht beeinträchtigt, würde ich auch vorschlagen, das where zu vereinfachen Klausel zu:
where parsing_status IS NULL