Глава 33. Устранение неполадок
Postgres Pro предоставляет возможность выгружать состояние серверного процесса путём включения параметра конфигурации crash_info, что может быть полезно для диагностики и отладки. Затем можно сгенерировать файл состояния одним из следующих способов:
Отправив сигнал
40
(также называемый сигналом выгрузки для диагностики):kill -40
идентификатор_процесса
Используя функцию
pg_diagdump()
:SELECT pg_diagdump(
идентификатор_процесса
);
Здесь идентификатор_процесса
— идентификатор серверного процесса, для которого нужно выгрузить состояние.
В результате Postgres Pro выгрузит состояние в файл в каталоге $PGDATA/crash_info
по умолчанию или в каталоге, указанном в параметре конфигурации crash_info_location. Имя файла генерируется по следующему шаблону: crash_
. Источники данных для выгрузки состояния можно задать в параметре конфигурации crash_info_dump.ид_файла
_pidид_процесса
.state
В примере ниже показано, как создать и просмотреть файл состояния для серверного процесса с PID 23111
:
-- Создание файла состояния SELECT pg_diagdump(23111); -- Исследование каталога crash_info и его содержимого SELECT pg_ls_dir('crash_info'); -- Чтение содержимого файла состояния SELECT pg_read_file('crash_info/crash_1722943138419104_pid23111.state');