conectando-se ao PostgreSQL falha com semctl… argumento inválido

4

Eu executei o initdb, tentei criar um novo superusuário com createuser -sdrP myuser

O erro que estou recebendo é

createuser: could not connect to database postgres: FATAL: semctl(3342342, 3, SETVAL, 0) failed: Invalid argument

Eu não consigo encontrar nada sobre isso em qualquer lugar na internet. Eu tentei desinstalar, remover o diretório de dados e tentar novamente, mas sem dados. Estou no meu juízo final.

Eu estou correndo dentro de uma jaula, que está executando o FreeBSD 9.2-RELEASE-p10. E sim, eu configurei allow.sysvipc = 1

    
por DieKatzchen 20.09.2015 / 22:22

1 resposta

3

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.

    
por 21.09.2015 / 00:59