Как решить эту ошибку PostgreSQL на OS 10.6 (Snow Leopard)

Я выполнил инструкции по настройке postgresql из этот сайт

Кажется, все идет хорошо, пока я не попытаюсь:

createuser --superuser myname -U Postgres

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

createuser: не удалось подключиться к посты в базе данных: не удалось подключиться на сервер: нет такого файла или каталога   Сервер работает локально и прием соединений в домене Unix socket "/tmp/.s.PGSQL.5432"?

В жизни я не могу понять, как это решить. Любые идеи???

Ответ 1

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

Ответ 2

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

Найдите, где находится ваш startctl startup script.

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 = нет

Итак, я редактирую

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/локальные/вар/дб/postgresql84/wrong_place

к

/Opt/локальные/вар/дб/postgresql84/right_place

для команды запуска и останова.

Ответ 3

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

$ sudo port load postgresql84-server

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