2010-04-26 3 views
2

Я следовал инструкциям по настройке PostgreSQL из this siteКак устранить эту ошибку PostgreSQL на OS 10.6 (Snow Leopard)

Все кажется идти хорошо, пока я не попробую:

createuser --superuser myname -U postgres

я получаю следующее исключение:

createuser: could not connect to database 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"?

Для жизни я не могу понять, как это решить. Есть идеи???

ответ

1

Перед выполнением установки мне пришлось удалить существующего пользователя postgres.

0

Вы установили порт postgresql84-server? Если да, то вы запускаете сервер:

$ sudo port load postgresql84-server 

Если вы сделали оба этих, я заметил, что иногда MacPorts обработчик демон() не начать обработку запросов на PostgreSQL, пока вы не перезагрузите машину. (Это происходит только при первом запуске, последующие попытки должны работать нормально.)

+0

Пробовал перезапуск ... не работал. Ran "sudo port load postgresql84-server" ... got "Ошибка: Target org.macports.load возвращен: org.macports.postgresql84-сервер: уже загружен Ошибка: состояние 1 встречается во время обработки." – wgpubs

1

Возможно, вы переместили свой Postgres каталог данных после того, как вы installed postgres using macports

Найти, где находится ваш скрипт запуска launchctl.

ps -ef | grep postgres 

Выходы

0 54 1 0 0:00.01 ?? 0:00.01 /opt/local/bin/daemondo --label=postgresql84-server --start-cmd /opt/local/etc/LaunchDaemons/org.macports.postgresql84-server/postgresql84-server.wrapper start ; --stop-cmd /opt/local/etc/LaunchDaemons/org.macports.postgresql84-server/postgresql84-server.wrapper stop ; --restart-cmd /opt/local/etc/LaunchDaemons/org.macports.postgresql84-server/postgresql84-server.wrapper restart ; --pid=none

Так что я редактировать

sudo vim /opt/local/etc/LaunchDaemons/org.macports.postgresql84-server/postgresql84-server.wrapper 

И найти линию

Start() {   
su postgres -c "${PGCTL} -D ${POSTGRESQL84DATA:=/opt/local/var/db/postgresql84/wrong_place}  start -l /opt/local/var/log/postgresql84/postgres.log" 

}

Ahh .. мой каталог данных находится не в том месте. Я это исправить, изменив

/opt/local/var/db/postgresql84/wrong_place

в

/opt/local/var/db/postgresql84/right_place

как для начала и остановки команды.

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