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

Настройки 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] '           # special values:
                                        #   %a = application name
                                        #   %u = user name
                                        #   %d = database name
                                        #   %r = remote host and port
                                        #   %h = remote host
                                        #   %p = process ID
                                        #   %t = timestamp without milliseconds
                                        #   %m = timestamp with milliseconds
                                        #   %n = timestamp with milliseconds (as a Unix epoch)
                                        #   %i = command tag
                                        #   %e = SQL state
                                        #   %c = session ID
                                        #   %l = session line number
                                        #   %s = session start timestamp
                                        #   %v = virtual transaction ID
                                        #   %x = transaction ID (0 if none)
                                        #   %q = stop here in non-session
                                        #        processes
                                        #   %% = '%'
                                        # e.g. '<%u%%%d> '

Собранный пример строки с форматом протоколирования: %m [%p]: [%l] [txid=%x] user=%u, db=%d, app%a, client=%r


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