Пример настройки протоколирования

Настройки qhb.conf:

  1. Включить протоколирование: logging_collector = on;
  2. Включить протоколирование в файлы журналов: log_directory = '/u01/db/log` каталог журналов должен быть определен по месту. Может быть абсолютный путь, но можно указать и вариант относительного пути ./log/;
  3. Установить уровень протоколирования: log_min_messages = info или другой подходящий;
  4. Параметр на сам факт протоколирования в систему: log_connections = true;
  5. Включить протоколирование ошибочных запросов: log_min_error_statement=info;
  6. Включить протоколирование имени хоста подключения: log_hostname = true — желательно протоколировать его в дополнение к IP-адресу по причинам безопасности или дальнейшего устранения неполадок;
  7. Включить протоколирование действий по репликации: log_replication_commands = true. Обязательно для установки кластеров высокой доступности;
  8. Включить протоколирование операций на СУБД (для безопасности): log_statement = 'none' # none, ddl, mod, all;
  9. Сформировать шаблон строки журнала для записи приведенных выше параметров:
log_line_prefix = '%m [%p] '            # специальные значения:
                                        #   %a = имя приложения
                                        #   %u = имя пользователя
                                        #   %d = имя базы данных
                                        #   %r = удаленный хост и порт
                                        #   %h = удаленный хост
                                        #   %p = идентификатор процесса
                                        #   %t = временная метка без миллисекунд
                                        #   %m = временная метка с миллисекундами
                                        #   %n = временная метка с миллисекундами (в виде эпохи Unix)
                                        #   %i = тег команды
                                        #   %e = статус SQL
                                        #   %c = идентификатор сеанса
                                        #   %l = номер строки сеанса
                                        #   %s = временная метка начала сеанса
                                        #   %v = виртуальный идентификатор транзакции
                                        #   %x = идентификатор транзакции (0 если такового нет)
                                        #   %q = остановиться здесь во внесеансовых
                                        #        процессах
                                        #   %% = '%'
                                        # например, '<%u%%%d> '

Собранный пример строки с форматом протоколирования:

%m [%p]: [%l] [txid=%x] user=%u, db=%d, app%a, client=%r

Ссылки на дополнительные ресурсы