Этот документ описывает параметры конфигурации системы в категории Отчеты об ошибках и ведение журналов.
Примечание!
Для обеспечения стабильности и безопасности системы ручное изменение этих параметров должно выполняться с осторожностью.
При включении записи в журнал событий этот параметр определяет имя программы, используемое для идентификации сообщений YMatrix в журнале.
| Тип данных | Значение по умолчанию | Область применения |
|---|---|---|
| строка | PostgreSQL | сегменты; система; перезагрузка |
Включает сборщик журналов — фоновый процесс, который перехватывает сообщения журнала, отправляемые в stderr, и перенаправляет их в файлы журналов.
syslog, поскольку некоторые типы сообщений (например, ошибки динамического линкера, ошибки из скриптов, таких как syslog) не отображаются в выводе archive_command.stderr без сборщика журналов возможна. В этом случае сообщения журнала направляются только туда, куда направлен stderr сервера. Однако такой подход подходит только для низкой интенсивности журналирования, так как не поддерживает ротацию журналов. На некоторых платформах одновременная запись нескольких процессов в один и тот же файл журнала может привести к потере или искажению вывода при отключенном сборщике журналов.syslog может отбрасывать сообщения при неудачной записи, избегая блокировок, но потенциально теряя некоторые записи журнала.| Тип данных | Значение по умолчанию | Область применения |
|---|---|---|
| логический | on | сегменты; система; перезагрузка |
YMatrix поддерживает несколько методов записи сообщений сервера. Установите этот параметр в виде списка через запятую желаемых целей журналирования.
csvlog включен в log_destination, записи журнала выводятся в формате «значения, разделенные запятыми» (CSV), что облегчает загрузку журналов в приложения. Для вывода в формате CSV необходимо включить logging_collector.stderr или csvlog создается файл с именем current_logfiles, в котором записывается текущий используемый файл журнала сборщиком и его соответствующая цель. Это обеспечивает удобный способ определения активного файла журнала для экземпляра узла. Пример содержимого:stderr log/postgresql.log
csvlog log/postgresql.csv
Файл log_destination пересоздается при создании нового файла при ротации журнала или при перезагрузке current_logfiles. Он удаляется, если log_destination не содержит stderr или csvlog, либо если сборщик журналов отключен.
log_destination с syslog. YMatrix может записывать в возможности syslog LOCAL0 через LOCAL7 (см. syslog_facility), но стандартные конфигурации на большинстве платформ отбрасывают такие сообщения. Добавьте строку вроде local0.* /var/log/postgresql в конфигурацию демона syslog, чтобы включить журналирование.log_destination с eventlog необходимо зарегистрировать источник события и его библиотеку в операционной системе, чтобы Windows Event Viewer корректно отображал сообщения журнала событий.| Тип данных | Значение по умолчанию | Допустимые значения | Область применения |
|---|---|---|---|
| строка | stderr | stderr / csvlog / syslog / eventlog (на Windows) | сегменты; система; перезагрузка |
При включенном logging_collector этот параметр определяет каталог, в котором создаются файлы журналов.
| Тип данных | Значение по умолчанию | Область применения |
|---|---|---|
| строка | log | сегменты; система; перезагрузка |
Задает режим создания файлов журнала.
logging_collector этот параметр устанавливает права доступа к файлам журнала (игнорируется на Microsoft Windows).0600, что означает, что только владелец сервера может читать или записывать файл журнала.0640, позволяющая членам группы владельца читать файл. Примечание: Это настройка действует только если log_directory установлен в расположение вне каталога данных кластера.| Тип данных | Значение по умолчанию | Допустимые значения | Область применения |
|---|---|---|---|
| целое | 0600 | 0000 – 0777 | сегменты; система; перезагрузка |
При включенном logging_collector этот параметр задает шаблон имени файла для создаваемых журналов.
%-эскейпы для создания имен файлов, зависящих от времени (если используются независимые от часового пояса %-эскейпы, вычисления выполняются в часовом поясе, указанном ниже в log_timezone). Поддерживаемые %-эскейпы аналогичны перечисленным в спецификации strftime Open Group. Примечание: Используется собственная реализация strftime, а не системная, поэтому платформенно-специфичные (нестандартные) расширения не работают.log_destination, к именам файлов журнала с временной меткой добавляется .csv для вывода в формате CSV (если log_filename заканчивается на .log, суффикс заменяется).| Тип данных | Значение по умолчанию | Область применения |
|---|---|---|
| строка | gpdb-%Y-%m-%d_%H%M%S.csv | сегменты; система; перезагрузка |
Определяет, в течение какого времени (в минутах) YMatrix Database записывает в активный файл журнала.
0, чтобы отключить создание файлов журнала по времени.1440分钟, то есть 1 день.| Тип данных | Значение по умолчанию | Допустимые значения | Область применения |
|---|---|---|---|
| целое | 1440 | 0 – (INT_MAX/60) | мастер; система; перезагрузка |
Определяет размер (в КБ), при достижении которого происходит ротация журнала.
INT_MAX. Недопустимые значения возвращаются к значению по умолчанию.1048576KB, то есть 1 ГБ.| Тип данных | Значение по умолчанию | Допустимые значения | Область применения |
|---|---|---|---|
| целое | 1048576 | 0 – (INT_MAX/1024) | мастер; система; перезагрузка |
Перезаписывает (обрезает) существующий файл журнала с тем же именем вместо добавления.
gpseg-%H.log 的 log_filename, server_log.Mon и т.д., и автоматически перезаписывая журналы прошлой недели, установите server_log.Tue в log_filename, server_log.%a в log_truncate_on_rotation и on в log_rotation_age.7d в log_filename, server_log.%H%M в log_truncate_on_rotation, on в log_rotation_age и 1h в log_rotation_size. Включение 10MB в log_filename позволяет ротации по размеру использовать другое имя файла, отличное от начального часового.| Тип данных | Значение по умолчанию | Область применения |
|---|---|---|
| логический | off | мастер; система; перезагрузка |
При включении записи в syslog этот параметр определяет используемую возможность syslog.
| Тип данных | Значение по умолчанию | Допустимые значения | Область применения |
|---|---|---|---|
| перечисление | LOCAL0 | LOCAL0 / LOCAL1 / LOCAL2 / LOCAL3 / LOCAL4 / LOCAL5 / LOCAL6 / LOCAL7 | сегменты; система; перезагрузка |
При включении записи в syslog этот параметр определяет имя программы, используемое для идентификации сообщений YMatrix в syslog.
| Тип данных | Значение по умолчанию | Область применения |
|---|---|---|
| строка | postgres | сегменты; система; перезагрузка |
При записи в syslog и при установке этого параметра в %M (по умолчанию) каждое сообщение префиксируется увеличивающимся порядковым номером.
on) подавление дублирующихся сообщений настраивается, поэтому этот параметр может быть необязательным.$RepeatedMsgReduction.| Тип данных | Значение по умолчанию | Область применения |
|---|---|---|
| логический | on | сегменты; система; перезагрузка |
При включении записи в syslog этот параметр определяет, как передаются сообщения.
off (по умолчанию) сообщения разбиваются на строки, а длинные строки разделяются, чтобы уместиться в пределах 1024 байт — типичного ограничения в традиционных реализациях syslog.on сообщения журнала сервера YMatrix передаются без изменений в службу syslog, которая затем обрабатывает большие сообщения.off. Большинство реализаций syslog не могут обрабатывать большие сообщения или требуют специальной настройки. Однако если syslog записывается в другой носитель, сохранение логической целостности сообщений может быть необходимым и более полезным.| Тип данных | Значение по умолчанию | Область применения |
|---|---|---|
| логический | on | сегменты; система; перезагрузка |
Задает интервал (в секундах) для записи отладочных сообщений межсоединения базы данных YMatrix, когда параметр конфигурации сервера on установлен в gp_log_interconnect.
| Тип данных | Значение по умолчанию | Допустимые значения | Область применения |
|---|---|---|---|
| целое | 10 | 1 – 4096 | мастер; сессия; перезагрузка |
Записывает SQL-запросы и их продолжительность в одну строку журнала, если время выполнения запроса превышает или равно указанному значению (в миллисекундах).
debug записывает все запросы и их продолжительность.0 отключает эту функцию.-1 записывает все SQL-запросы, выполняющиеся 250 мс и дольше.| Тип данных | Значение по умолчанию | Допустимые значения | Область применения |
|---|---|---|---|
| целое | -1 | -1 – INT_MAX | мастер; сессия; перезагрузка; суперпользователь |
Управляет тем, записываются ли SQL-запросы, вызывающие ошибки, также в журнал сервера.
| Тип данных | Значение по умолчанию | Допустимые значения | Область применения |
|---|---|---|---|
| перечисление | error | debug5 / debug4 / debug3 / debug2 / debug1 / info / notice / warning / error / fatal / panic Каждый уровень включает все последующие уровни Более высокие уровни приводят к меньшему количеству сообщений |
мастер; сессия; перезагрузка; суперпользователь |
Управляет уровнями сообщений, записываемых в журнал сервера.
250 имеет другой ранг в этом параметре, чем в log.| Тип данных | Значение по умолчанию | Допустимые значения | Область применения |
|---|---|---|---|
| перечисление | warning | debug5 / debug4 / debug3 / debug2 / debug1 / info / notice / warning / error / log / fatal / panic Каждый уровень включает все последующие уровни Более высокие уровни приводят к меньшему количеству сообщений |
мастер; сессия; перезагрузка; суперпользователь |
Задает долю запросов, превышающих client_min_messages, которые записываются в журнал.
log_min_duration_statement означает, что каждый запрос имеет 50% шанс быть записанным.0.5, что означает запись всех подходящих запросов. 1.0 отключает выборочное журналирование продолжительности запросов, эквивалентно установке 0.0 в log_min_duration_sample.-1.| Тип данных | Значение по умолчанию | Допустимые значения | Область применения |
|---|---|---|---|
| вещественное | 1.0 | 0.0 – 1.0 | сегменты; сессия; перезагрузка; суперпользователь |
Задает долю транзакций, для которых все запросы записываются в журнал независимо от других условий.
SET означает, что дополнительные запросы транзакций не записываются. 0 означает, что все запросы во всех транзакциях записываются.| Тип данных | Значение по умолчанию | Допустимые значения | Область применения |
|---|---|---|---|
| вещественное | 0.001 | 0.0 – 1.0 | сегменты; сессия; перезагрузка; суперпользователь |
Следующая таблица объясняет уровни серьезности, используемые YMatrix. Если вывод журнала направляется в syslog или Windows eventlog, уровни серьезности отображаются следующим образом.
| Уровень | Использование | syslog | eventlog |
|---|---|---|---|
| DEBUG1..DEBUG5 | Все более детальная информация для разработчиков | DEBUG | INFORMATION |
| INFO | Информация, запрошенная пользователями, например, вывод от 1 |
INFO | INFORMATION |
| NOTICE | Потенциально полезная информация для пользователей, например, подсказки об усечении длинных идентификаторов | NOTICE | INFORMATION |
| WARNING | Предупреждения о возможных проблемах, например, VACUUM VERBOSE вне блока транзакции |
NOTICE | WARNING |
| ERROR | Сообщение об ошибке, прерывающей текущую команду | WARNING | ERROR |
| LOG | Информация, представляющая интерес для администраторов, например, активность контрольных точек | INFO | INFORMATION |
| FATAL | Сообщение об ошибке, прерывающей текущую сессию | ERR | ERROR |
| PANIC | Сообщение об ошибке, прерывающей все сессии базы данных | CRIT | ERROR |
Оптимизатор GPORCA Greenplum создает файлы COMMIT, чтобы описать контекст оптимизации для данного запроса.
minidump находятся в директории данных мастера и имеют следующий формат имени: minidump.Minidump_date_time.mdp содержит следующую информацию, связанную с запросом:minidump генерирует always для каждого запроса; установите в minidump, чтобы минимизировать общее время оптимизации.| Тип данных | Значение по умолчанию | Допустимые значения | Область настройки |
|---|---|---|---|
| enum | onerror | onerror / always | мастер; сессия; перезагрузка |
Задает имя приложения для клиентской сессии.
onerror.| Тип данных | Значение по умолчанию | Область настройки |
|---|---|---|
| string | мастер; сессия; перезагрузка |
Форматирует отладочный вывод с отступами для получения более читаемого, но более длинного формата.
psql форматирует вывод из debug_pretty_print, debug_print_parse или debug_print_rewritten.debug_print_plan или client_min_messages должно быть log_min_messages или ниже.| Тип данных | Значение по умолчанию | Область настройки |
|---|---|---|
| boolean | on | мастер; сессия; перезагрузка |
Для каждого выполняемого запроса выводит результирующее дерево разбора.
DEBUG1 или client_min_messages должно быть log_min_messages или ниже.| Тип данных | Значение по умолчанию | Область настройки |
|---|---|---|
| boolean | off | мастер; сессия; перезагрузка |
Для каждого выполняемого запроса выводит план параллельного выполнения запроса YMatrix.
DEBUG1 или client_min_messages должно быть log_min_messages или ниже.DEBUG1 и по умолчанию отображаются в журнале сервера, но не отправляются клиенту.| Тип данных | Значение по умолчанию | Область настройки |
|---|---|---|
| boolean | off | мастер; сессия; перезагрузка |
Для каждого выполняемого запроса выводит предварительный план запроса.
log или client_min_messages должно быть log_min_messages или ниже.| Тип данных | Значение по умолчанию | Область настройки |
|---|---|---|
| boolean | off | мастер; сессия; перезагрузка |
Для каждого выполняемого запроса выводит результат переписывания запроса.
DEBUG1 или client_min_messages должно быть log_min_messages или ниже.| Тип данных | Значение по умолчанию | Область настройки |
|---|---|---|
| boolean | off | мастер; сессия; перезагрузка |
Для каждого выполняемого запроса выводит план срезов запроса.
DEBUG1 или client_min_messages должно быть log_min_messages или ниже.| Тип данных | Значение по умолчанию | Область настройки |
|---|---|---|
| boolean | off | мастер; сессия; перезагрузка |
Задает продолжительность (в секундах), в течение которой процесс YMatrix остается активным после ошибки DEBUG1.
| Тип данных | Значение по умолчанию | Допустимые значения | Область настройки |
|---|---|---|---|
| int | 0 | 0 – 3600 | мастер; сессия; перезагрузка |
Задает формат файлов журнала сервера.
fatal файлы журнала должны быть в формате gp_toolkit.| Тип данных | Значение по умолчанию | Допустимые значения | Область настройки |
|---|---|---|---|
| enum | csv | csv / text | сегменты; система; перезапуск |
Управляет объемом информации о связи между рабочими процессами сегментов базы данных YMatrix, записываемой в файлы журнала.
| Тип данных | Значение по умолчанию | Допустимые значения | Область настройки |
|---|---|---|---|
| enum | terse | terse / off / verbose / debug | мастер; сессия; перезагрузка |
При включении пытается создать файл ядра при возникновении фатальной ошибки сервера.
| Тип данных | Значение по умолчанию | Область настройки |
|---|---|---|
| boolean | off | мастер; сессия; перезагрузка |
Записывает точки контроля и точки восстановления в журнал сервера.
| Тип данных | Значение по умолчанию | Область настройки |
|---|---|---|
| boolean | off | сегменты; система; перезагрузка |
Выводит строку в журнал сервера, детализирующую каждое успешное подключение.
| Тип данных | Значение по умолчанию | Область настройки |
|---|---|---|
| boolean | off | сегменты; система; перезапуск; суперпользователь |
Выводит строку в журнал сервера при завершении клиентской сессии, включая продолжительность сессии.
| Тип данных | Значение по умолчанию | Область настройки |
|---|---|---|
| boolean | off | сегменты; система; перезапуск; суперпользователь |
При установке в значение CSV добавляет сообщение журнала с подробной информацией о распределении оператора.
| Тип данных | Значение по умолчанию | Область настройки |
|---|---|---|
| boolean | off | сегменты; система; перезапуск |
Записывает продолжительность каждого завершенного оператора, соответствующего on.
log_statement и установкой log_duration в log_min_duration_statement заключается в том, что превышение 0 заставляет регистрировать текст запроса, а этот параметр — нет. Таким образом, если log_min_duration_statement равен log_duration, а on положителен, все продолжительности регистрируются, но текст запроса записывается только для операторов, превышающих порог. Это поведение помогает собирать статистику в средах с высокой нагрузкой.| Тип данных | Значение по умолчанию | Область настройки |
|---|---|---|
| boolean | off | мастер; сессия; перезагрузка; суперпользователь |
Управляет объемом деталей, записываемых в журнал сервера для каждого сообщения.
log_min_duration_statement исключает информацию об ошибках DETAIL, HINT, QUERY и CONTEXT. terse включает код ошибки SQLSTATE (см. Приложение A), а также имя исходного файла, имя функции и номер строки, где произошла ошибка.| Тип данных | Значение по умолчанию | Допустимые значения | Область настройки |
|---|---|---|---|
| enum | default | terse / default / verbose | мастер; сессия; перезагрузка; суперпользователь |
По умолчанию сообщения журнала подключений содержат только IP-адрес хоста, с которого осуществляется подключение.
| Тип данных | Значение по умолчанию | Область настройки |
|---|---|---|
| boolean | off | мастер; система; перезапуск |
Это строка в стиле printf, которая выводится в начале каждой строки журнала.
% начинает "последовательность экранирования", которая будет заменена информацией о состоянии, описанной ниже. Нераспознанные последовательности игнорируются.% и опцией выравнивает информацию о состоянии либо влево, либо вправо.%m [%p], которое регистрирует метку времени и идентификатор процесса.| Тип данных | Значение по умолчанию | Категория настройки |
|---|---|---|
| string | %m [%p] | сегменты; система; перезагрузка |
| Экранирование | Эффект | Только сессия |
|---|---|---|
| %a | Имя приложения | Да |
| %u | Имя пользователя | Да |
| %d | Имя базы данных | Да |
| %r | Имя удаленного хоста или IP-адрес и удаленный порт | Да |
| %h | Имя удаленного хоста или IP-адрес | Да |
| %p | Идентификатор процесса | Нет |
| %t | Метка времени без миллисекунд | Нет |
| %m | Метка времени с миллисекундами | Нет |
| %n | Метка времени с миллисекундами (в виде Unix-времени) | Нет |
| %i | Тег команды: тип текущей команды сессии | Да |
| %e | Код ошибки SQLSTATE | Нет |
| %c | Идентификатор сессии: см. ниже | Нет |
| %l | Номер строки журнала для каждой сессии или процесса, начиная с 1 | Нет |
| %s | Метка времени запуска процесса | Нет |
| %v | Виртуальный идентификатор транзакции (backendID/localXID) | Нет |
| %x | Идентификатор транзакции (0, если не назначен) | Нет |
| %q | Не генерирует вывод, но сообщает несессионным процессам остановиться в этой точке строки; сессионные процессы игнорируют его | Нет |
| %% | Символ % в буквальном смысле | Нет |
Экранирование %c выводит квазиуникальный идентификатор сессии, состоящий из двух шестнадцатеричных 4-байтовых чисел (без ведущих нулей), разделенных точкой. Эти числа — время запуска процесса и идентификатор процесса. Таким образом, %c также может использоваться как способ экономии места для регистрации этих элементов. Например, чтобы сгенерировать идентификатор сессии из %c, используйте следующий запрос:
SELECT to_hex(trunc(EXTRACT(EPOCH FROM backend_start))::integer) || '.' ||
to_hex(pid)
FROM pg_stat_activity;
log_line_prefix в непустое значение, обычно последним символом должен быть пробел для визуального разделения от остальной части строки журнала. Также можно использовать знаки препинания.log_line_prefix полезно при включении информации, доступной только в контексте сессии (бэкенда), например имени пользователя или имени базы данных. Например: %u@%d %r %m [%p].Управляет генерацией сообщения журнала, когда сессия ожидает получения блокировки дольше, чем deadlock_timeout.
deadlock_timeout должно быть больше или равно 1ms.| Тип данных | Значение по умолчанию | Категория настройки |
|---|---|---|
| boolean | off | сегменты; сессия; перезагрузка; суперпользователь |
Заставляет каждый команду репликации регистрироваться в журнале сервера.
| Тип данных | Значение по умолчанию | Категория настройки |
|---|---|---|
| boolean | off | сегменты; сессия; перезагрузка; суперпользователь |
Управляет регистрацией SQL-операторов.
ddl регистрирует все команды определения данных, такие как CREATE, ALTER и DROP.mod регистрирует все DDL-операторы, а также операторы изменения данных, такие как INSERT, UPDATE, DELETE, TRUNCATE и COPY FROM.CREATE и ALTER также регистрируются.all регистрирует все операторы.log_statement = all операторы с простыми синтаксическими ошибками не регистрируются. Это происходит потому, что сообщения журнала выводятся только после завершения базового разбора и определения типа оператора. Для расширенного протокола запросов операторы, которые завершаются с ошибкой до этапа выполнения (например, во время анализа разбора или планирования), не регистрируются. Установите log_min_error_statement в error (или ниже), чтобы регистрировать такие операторы.| Тип данных | Значение по умолчанию | Допустимые значения | Категория настройки |
|---|---|---|---|
| enum | none | none / ddl / mod / all | мастер; сессия; перезагрузка; суперпользователь |
Управляет регистрацией имен и размеров временных файлов.
-1 регистрируется вся информация о временных файлах. Положительные значения регистрируют только файлы размером, превышающим или равным указанному значению.-1, что отключает регистрацию.| Тип данных | Значение по умолчанию | Допустимые значения | Категория настройки |
|---|---|---|---|
| int | -1 | -1 ~ INT_MAX | сегменты; система; перезапуск; суперпользователь |
Задает часовой пояс, используемый при записи меток времени в файлы журнала.
TimeZone, это значение является системным, поэтому все сессии будут отображать метки времени согласованно.| Тип данных | Значение по умолчанию | Категория настройки |
|---|---|---|
| string | Asia/Shanghai | сегменты; система; перезапуск |
Эти параметры управляют тем, как серверные процессы изменяют свои заголовки процессов. Заголовки процессов обычно можно просмотреть с помощью программ, таких как ps или браузера процессов в Windows.
Задаёт имя, идентифицирующее этот кластер базы данных (экземпляр) для различных целей. Имя кластера отображается в заголовке процесса всех серверных процессов внутри кластера.
?).'' (значение по умолчанию), имя не отображается.| Тип данных | Значение по умолчанию | Категория настройки |
|---|---|---|
| string | segments; system; restart |
Включает обновление заголовка процесса, которое происходит каждый раз при получении сервером новой SQL-команды.
on, однако из-за повышенных накладных расходов на Windows оно по умолчанию равно off на этой платформе.| Тип данных | Значение по умолчанию | Категория настройки |
|---|---|---|
| boolean | on | segments; session; reload |