O PostgreSQL provavelmente não encontra o semáforo criado anteriormente. É possível que outro processo (não relacionado) esteja excluindo os semáforos (talvez um script chamando ipcrm).
Use ipcs -s
para listar os semforos imediatamente depois de iniciar o PostgreSQL e, novamente, quando tiver o problema. A menos que outro processo esteja excluindo ativamente os semáforos mais rapidamente do que você pode executar o teste ipcs -s
após a inicialização do PostgreSQL, você deve ser capaz de determinar se os semáforos do PostgreSQL estão sendo de fato excluídos comparando as duas listagens sempahore.
Isso não diz qual processo (raiz) é o culpado, mas aponta você na direção certa. Com alguma sorte, o processo ofensivo é um script, caso em que você pode procurar scripts executados pela raiz que executam ipcrm
de chamadas.