De repente, meu serviço postgresql começou a falhar por algum motivo. Eu queria gerar um arquivo coredump, mas o arquivo não está sendo gerado.
Eu configurei: "ulimit -S -c unlimited", também adicionei a linha "*soft core unlimited" em /etc/security/limits.conf.
Também configurei meu diretório de destino para kernel.core_pattern="/coredumps/core-%e-%s-%u-%g-%p-%t". Também executei "chmod 777" para o caminho de destino para eliminar problemas de permissão. Consegui gerar um arquivo coredump de teste executando "perl -MPOSIX -e '$0="ttt"; pause' &" e então executando "kill -ABRT " e o arquivo foi salvo em /coredumps com o nome de arquivo correto.
Quando meu postgres trava, posso ver nos logs:
Limites de recursos desabilitam o despejo de núcleo para o processo 3607766 (postmaster).
O processo 3607766 (postmaster) do usuário 26 despejou o núcleo.
[email protected] : Bem-sucedido.
Também notei diferença entre saídas de "cat /proc/pid/limits" entre meu processo de teste e o postgres. O processo de teste tem "Tamanho máximo do arquivo do núcleo" definido como "ilimitado" e o valor do postgresql "0"