Я запустил 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. И да, я установил allow.sysvipc = 1
PostgreSQL, скорее всего, не находит ранее созданный семафор. Возможно, другой (не связанный) процесс удаляет семафоры (возможно, скрипт, вызывающий ipcrm).
Использовать ipcs -s
чтобы перечислить семпахоры сразу после запуска PostgreSQL, а затем снова, когда вы столкнетесь с проблемой. Если другой процесс активно не удаляет семафоры быстрее, чем вы можете запустить ipcs -s
test после запуска PostgreSQL, вы сможете определить, действительно ли семафоры PostgreSQL удаляются, сравнив два списка семафоров.
Это не говорит вам, какой (корневой) процесс является виновником, но указывает правильное направление. Если повезет, вызывающий нарушение процесс - это скрипт, и в этом случае вы можете искать скрипты, выполняемые root, которые выполняют ipcrm
звонки.