I've seen exactly what Jeroen has reported as well: most time is spent in matching on msgid_singular. This bit of the query needs optimization:
SELECT POTMsgSet.id FROM POTMsgSet JOIN TranslationTemplateItem ON TranslationTemplateItem.potmsgset=POTMsgSet.id AND TranslationTemplateItem.potemplate=702 WHERE (POTMsgSet.msgid_singular IS NOT NULL AND POTMsgSet.msgid_singular IN ( SELECT POMsgID.id FROM POMsgID WHERE id IN ( SELECT DISTINCT(msgid_singular) FROM POTMsgSet JOIN TranslationTemplateItem ON TranslationTemplateItem.potmsgset = POTMsgSet.id WHERE TranslationTemplateItem.potemplate=702 AND TranslationTemplateItem.sequence > 0 ) AND msgid ILIKE '%' || 'Media Management and Playback application' || '%'));
I've seen exactly what Jeroen has reported as well: most time is spent in matching on msgid_singular. This bit of the query needs optimization:
SELECT POTMsgSet.id FROM POTMsgSet JOIN TranslationTemp lateItem ON TranslationTemp lateItem. potmsgset= POTMsgSet. id AND TranslationTemp lateItem. potemplate= 702 WHERE (POTMsgSet. msgid_singular IS NOT NULL AND POTMsgSet. msgid_singular IN ( SELECT POMsgID.id FROM POMsgID WHERE id IN ( SELECT DISTINCT( msgid_singular) FROM POTMsgSet JOIN TranslationTemp lateItem ON TranslationTemp lateItem. potmsgset = POTMsgSet.id WHERE TranslationTemp lateItem. potemplate= 702 AND TranslationTemp lateItem. sequence > 0 ) AND msgid ILIKE '%' || 'Media Management and Playback application' || '%'));