2013-03-01 4 views
3

Я установил postgresql-9.1 некоторое время назад, пытаясь узнать Rails. У меня не было никаких проблем с ним в то время, но я только что открыл мой Console.app устранить что-то другое, и я вижу следующие ошибки повторяющиеся каждые 10 секунд:postgresql ошибка в консоли каждые 10 секунд

3/1/13 10:28:15 AM com.edb.launchd.postgresql-9.1[89003] 2013-03-01 15:28:15 GMT FATAL: data directory "/Library/PostgreSQL/9.1/data" has wrong ownership 
3/1/13 10:28:15 AM com.edb.launchd.postgresql-9.1[89003] 2013-03-01 15:28:15 GMT HINT: The server must be started by the user that owns the data directory. 
3/1/13 10:28:15 AM com.apple.launchd[1] (com.edb.launchd.postgresql-9.1[89003]) Exited with exit code: 1 
3/1/13 10:28:15 AM com.apple.launchd[1] (com.edb.launchd.postgresql-9.1) Throttling respawn: Will start in 10 seconds 

Как я могу остановить его?

+4

кажется довольно очевидным: измените право собственности на указанный каталог или измените идентификатор, на котором работает сервер. –

+0

Я пробовал: 'sudo chown thingevery/Library/PostgreSQL/9.1/data' Но получил:' Операция не разрешена' Я упоминал, что я действительно новичок в postgresql (и в базах данных вообще)? – thingEvery

ответ

2

Похоже, что у вас установлен пакет PostgreSQL EnterpriseDB, но вы не должны его использовать, так как сервер не может запускаться. Я полагаю, вы используете какой-то другой сервер PostgreSQL, такой как Postgres.app или Homebrew Postgres для вашей работы с разработчиками?

Если это так, рассмотрите возможность удаления неиспользуемого пакета EnterpriseDB PostgreSQL. В качестве альтернативы вы можете удалить свой файл конфигурации launchd, поэтому launchddd не попытался запустить его, но это может создать больше путаницы позже.

Если вы хотите использовать его, вам необходимо установить разрешения. «Пользователь, который запускает сервер», не будет вашим именем пользователя, это будет пользователь с именем postgres или postgres_ (на некоторых компьютерах Mac). Вы можете узнать, что, прочитав файл запуска для EDB PostgreSQL. Тогда вам нужно:

sudo chown -R postgres /Library/PostgreSQL/9.1/data 

(или postgres_ в зависимости от того, что ожидает запуск программ).

Если вы используете другой сервер PostgreSQL, это, скорее всего, позволит серверу EDB попытаться запустить, но он будет конфликтовать с номером порта, используемым вашим другим PostgreSQL, так что он все равно будет терпеть неудачу. Или он может начать успешно в следующий раз, когда начнется ваш компьютер, и вы больше не сможете получить доступ к своему другому экземпляру PostgreSQL. Поэтому, если вы уже используете другую версию PostgreSQL, скорее всего, вы просто удалите ее.

+0

Большое спасибо за ваш ответ! У меня было приложение pgAdmin3, установленное в дополнение к постгресам, которые я установил через Homebrew. Я подозревал, что это проблема, и удалил ее из моей системы сегодня днем. Но это не остановило ошибки, пока я не перезапустил только сейчас. – thingEvery

2

У меня была такая же проблема, когда я обновил свой PostgreSQL с помощью homebrew до версии 9.3. Я начал искать решение проблемы в Интернете, но, к сожалению, это не удалось. Поэтому я решил самостоятельно исследовать проблему. Я обнаружил, что postgres попытался начать с 2-х мест: /System/Library/LaunchDaemons/ и ~/Library/LaunchAgents. Просто удалите старый или отключите его (который помещается в /System/Library/LaunchDaemons/) и все.