2012-05-31 3 views
2

я не могу "service postgresql start" корнем:Не удается запустить PostgreSQL правильно

Startup Log:/USR/бен/почтмейстер: ошибка при загрузке разделяемых библиотек: libz.so.1: не удалось отобразить сегмент из совместно объект: отказано в

я не могу "service postgresql start" по Postgres:

Startup Log: runuser: не может установить г roups: Операция не допускается

Но я могу запустить его пользователем Postgres с помощью команды:

postmaster -D /usr/local/pgsql/data 

Почему?

Когда я установил, я использовал

initdb -D /usr/local/pgsql/data 

не

service postgersql initdb 

Так что я потом изменил init.d/PostgreSQL сценарий с новым путем. Это вызывающая проблема?

+0

Звучит как проблема разрешения в каталоге данных. Вы проверяли, имеет ли пользователь postgres (операционная система) полный доступ к '/ usr/local/pgsql/data' и всем подкаталогам? –

+1

@a_horse_with_no_name Похоже на то, что zlib имеет неправильные разрешения или ярлык SELinux, m'self. –

+1

OP: какая ОС и версия у вас? Какая версия PostgreSQL? Как вы установили PostgreSQL и откуда? Если это CentOS или Fedora, есть ли сообщения SELinux в системном журнале или dmesg? –

ответ

0

Поскольку Крейг сказал, что это проблема с разрешением файла или проблема с selinux. Если это разрешение на доступ к файлам, это достаточно легко исправить (дать чтение/выполнение perms).

Если это проблема с selinux, лучшим вариантом является запуск audit2allow, чтобы определить проблему и убедиться, что selinux настроен так, чтобы обеспечить правильный доступ.

2

Вызванный для меня путем создания БД с

/etc/init.d/postgresql-9.3 initdb 

Воссоздание с

service postgresql-9.3 initdb 

решить эту проблему.

+0

Что делать, если у меня нет «службы»? – KaiThomasWerther

+0

@KaiThomasWerther и 'pg_createcluster'? – AlSher

+0

Запуск скриптов на init.d решил. CentOs странно, когда вы привыкли к Windows;) – KaiThomasWerther

Смежные вопросы