здесь находятся мысли идеи usecase'ы по библиотеке парсинга постгресовых логов
- различный
log_line_prefix
- в настройках может быть выставлен разныйlog_line_prefix
и его нужно учитывать при разборе строк. Его в любом случае надо будет указывать руками (если лог вытащен с хоста с БД), либо спрашивать у постгреса (если лог БД там же). - multiline строки - юзерские запросы могут писаться в несколько строк
- лог может быть большим, нужен какой-то фидбек (ETA) о процессе парсинга
-
обработать весь журнал от начала и до конца
-
обработать часть журнала, пользователь указывает start/end timestamp
-
сводная информация по обработанному журналу:
- начало/конец периода (таймстемпы)
- количество записей,
- группировки по user, database, application name, severity, и т.п.
-
поиск конкретной инфы по журналу, на основе полей из log_line_prefix (user, dbname, application_name, etc.)
-
обработка сообщений фоновых служб: автовакуум, чекпоинтер, репликация, ...
-
обработка сообщений типа waiting/acquired, deadlocks, temp files, server start/stop
-
группировка собщений по severity (DEBUG*, LOG, WARN, ERROR, FATAL, PANIC)