Вы смешиваете журнал транзакций (WAL) и обычный текстовый файл журнала.
Последний содержит операторы (если конфигурация настроена так), в то время как журнал транзакций не содержит оператороввообще, просто двоичная информация о том, что изменилось в каком блоке.
Вы не сможете порекомендовать индекс, просто посмотрев запрос, я тоже не могу этого сделать.
У меня есть для вас предложение: если вы хотите написать инструмент, который предлагает индексы, он должен принять вывод EXPLAIN (ANALYZE, BUFFERS, FORMAT JSON) SELECT /* your query */
в качестве ввода.
Более того, инструмент должен быть подключен к базе данных, чтобытаблица запросов и метаданные индекса (и, возможно, статистика).Это делает вас зависимым от версии базы данных, потому что метаданные могут меняться (и делать - см. Секционированные таблицы), но это не будет вас сильно беспокоить в дипломной работе.
Задача все еще не проста (запросоптимизация - это ИИ), но тогда у вас есть хотя бы шанс.