Skip to content

Instantly share code, notes, and snippets.

@lesovsky
Last active April 6, 2021 13:09
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save lesovsky/f384e04996f3b8cb1daf33c42046cf75 to your computer and use it in GitHub Desktop.
Save lesovsky/f384e04996f3b8cb1daf33c42046cf75 to your computer and use it in GitHub Desktop.
PostgreSQL log parser ideas

PostgreSQL log parser ideas

здесь находятся мысли идеи usecase'ы по библиотеке парсинга постгресовых логов

потенциальные сложности

  • различный log_line_prefix - в настройках может быть выставлен разный log_line_prefix и его нужно учитывать при разборе строк. Его в любом случае надо будет указывать руками (если лог вытащен с хоста с БД), либо спрашивать у постгреса (если лог БД там же).
  • multiline строки - юзерские запросы могут писаться в несколько строк
  • лог может быть большим, нужен какой-то фидбек (ETA) о процессе парсинга

usecase'ы

  • обработать весь журнал от начала и до конца

  • обработать часть журнала, пользователь указывает 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)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment