Нужна помощь с регулярным выражением на поиск SQL запроса в лог файле?

Есть log файл, в котором много всякого и в том числе пишутся обращения к базе. Нужно вытянуть определённые запросы.
пример запроса:
SELECT search_bpa.aggcounter(to_jsonb(row))
  FROM (
        SELECT di.baseid AS bpa,
               di.attrs->'regions' AS region,
               di.doctype AS type,
               di.docstate AS state,
               di.attrs->'organs' AS organ
          FROM search_bpa.document_resinfo di
         WHERE ((extract(year FROM di.odate) BETWEEN 1992 AND 2022))
           AND ((di.attrs @> '{"regions": ["Белгородская область"]}'))
           AND (di.baseid IN ('r013100', 'cd00000'))
           AND NOT EXISTS (
                SELECT *
                  FROM search_bpa.document_property dp
                 WHERE dp.docid = di.docid
                   AND (dp.hidden = 't')
                   AND (dp.baseid IS NULL OR dp.baseid IN ('r013100', 'cd00000'))
               )
       ) AS row


Со строками я худо бедно умею, но тут надо большой текст, который начинается с SELECT search_bpa.aggcounter и заканчивается AS row. Там переводы строк, которые не дают читать строку через символ точки.
Помогите накидать регулярку.
  • Вопрос задан
  • 64 просмотра
Пригласить эксперта
Ответы на вопрос 2
@AUser0
Чем больше знаю, тем лучше понимаю, как мало знаю.
Самое простое: заменить '\r\n\t+' на ' ', и SQL запросы станут в одну строчку. Ну а дальше уже банальщина...
Ответ написан
Комментировать
iMedved2009
@iMedved2009
Не люблю людей
Может не париться и подойдет по дистанции жахнуть?
Тыц
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы