Este é um problema complexo, e provavelmente não há uma resposta fácil.
Uma abordagem que usei é usar pg_logforward para interceptar logs, encaminhá-los para um daemon personalizado, que grava entradas de log normalizadas em outro banco de dados PostgreSQL. (Hadoop etc. também seria possível.) Em seguida, execute consultas ad hoc nesse banco de dados ou crie um frontend bonito. Não é pré-construído por qualquer meio, mas é a abordagem mais poderosa no momento, IMO.