Postgres не может запуститься на льве из-за отсутствия файла конфигурации сервера

Я пытаюсь настроить pg на относительно чистую установку льва, но она не удалась.

Сначала я успешно установил homebrew и установил postgresql без каких-либо ошибок.

Затем я попытался запустить приложение rails, получил ошибку. Попробовал запустить этот скрипт: http://nextmarvel.net/blog/2011/09/brew-install-postgresql-on-os-x-lion/

чтобы скрыть установленную по умолчанию систему postgres, но теперь я получаю следующую ошибку:

could not connect to server: No such file or directory
    Is the server running locally and accepting
    connections on Unix domain socket "/tmp/.s.PGSQL.5432"?

Когда я пытаюсь запустить postgres Сценарий в каталоге bin я получаю следующую ошибку:

larson:~ larson$ /usr/local/Cellar/postgresql/9.1.3/bin/postgres ; exit;
postgres does not know where to find the server configuration file.
You must specify the --config-file or -D invocation option or set the PGDATA environment variable.
logout

Понятно, что postgres не может запуститься, потому что он не настроен правильно. Кто-нибудь есть какие-либо советы о том, как правильно его настроить, чтобы он запускался?

4 ответа

Решение

Слепой запуск доморощенных сценариев без представления о том, что они делают, не решает проблемы - он СОЗДАЕТ их. End Rant.

Мы не знаем, какая у вас была ошибка, но теперь у вас явно не настроен кластер базы данных.

Вам необходимо правильно настроить кластер Postgres (см. Руководство по Postgres) и / или сообщить postgres, где находится кластер базы данных, когда вы его запускаете (это немного о You must specify the --config-file or -D invocation option or set the PGDATA environment variable. из сообщения об ошибке). Раздел 17.3 руководства говорит об этом.

Бег brew info postgres дает вам основы, чтобы все заработало. Например:

Если это ваша первая установка, создайте базу данных с:

initdb /usr/local/var/postgres -E utf8

Или перезапустить сервер базы данных:

launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist

За обсуждение этой проблемы Homebrew: https://github.com/Homebrew/homebrew/issues/21920

вам может просто нужно сделать это:

export PGDATA=/usr/local/var/postgres

Просто проверьте и убедитесь, что каталог действительно существует и имеет файлы конфигурации postgres.

Вы запускали initdb? Я нашел эту проблему с установкой по умолчанию postgres 9.1.3. Похоже, initdb создает каталог базы данных с помощью config.

Это включено в инструкции, прилагаемые к установке brew.
Попробуйте brew info postgresql и прочитайте о новой установке

Другие вопросы по тегам