Я выполнил initdb, который попробовали для создания нового суперпользователя с createuser-sdrP myuser
Ошибка, которую я получаю,
createuser: could not connect to database postgres: FATAL: semctl(3342342, 3, SETVAL, 0) failed: Invalid argument
Я ничего не могу найти об этом нигде в Интернете. Я попытался деинсталлировать, удалив каталог данных, и попробовав еще раз, но провал. Я в своем конце остроумия.
Я работаю в тюрьме, которая выполняет FreeBSD 9.2-RELEASE-p10. И да, я установил, позволяют sysvipc=1
Скорее всего, PostgreSQL не найдет семафор, который он создал ранее. Возможно, другой (несвязанный) процесс - это удаление семафоров (возможно, скрипт, вызывающий ipcrm).
Используйте ipcs -s
, чтобы перечислить семафоры сразу после запуска PostgreSQL, а затем снова, когда вы столкнётесь с проблемой. Если только другой процесс не удаляет семафоры быстрее, чем вы можете запустить тест ipcs -s
после запуска PostgreSQL, вы должны быть в состоянии определить, удаляются ли семафоры PostgreSQL, сравнивая два списка семафоров.
Это не говорит вам, какой (корневой) процесс является виновником, но он укажет вам правильное направление. Если повезёт, то преступный процесс - это скрипт, и в этом случае вы можете искать скрипты, выполняемые root'ом, которые выполняют вызовы ipcrm
.