Я только что обновил свой MacMini Server с Lion Server до Mountain Lion с помощью OS X Server. У меня та же проблема с PostgreSQL, что и в прошлом году, когда я впервые установил Lion Server.
Когда я пытаюсь выполнить какую-либо команду терминала PostgreSQL, я получаю следующее печально известное сообщение об ошибке, которое многие получали за эти годы:
psql: could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/var/pgsql_socket/.s.PGSQL.5432"?
Я пытался изменить пароль для _postgres, когда получил сообщение об ошибке. Я пробовал несколько команд, но получил ту же ошибку. Я только что перезагрузил свой сервер, но безуспешно. Я вошел в систему как root, чтобы посмотреть / var / pgsql_socket, а папка пуста. Папка / var / pgsql_socket_alt также пуста.
Я проверил это в Интернете. Однако почти все решения, которые я прочитал, включая Stack Overflow, предлагают удалить и переустановить PostgreSQL. Я не знаю, но это не кажется правдоподобным вариантом, потому что несколько вариантов в серверном приложении используют PostgreSQL. Я связался со службой поддержки Apple Enterprise (без соглашения), и мне сказали, что мою проблему должны решить разработчики, которые потратят 695 долларов.
У меня есть сайт, который сейчас не работает, потому что я не могу его восстановить. Я не знаю, куда обратиться за помощью на данный момент. Я буду продолжать поиски в Интернете, чтобы узнать, смогу ли я что-нибудь найти. Однако я надеюсь, что кто-то сможет быстро дать мне ответ, и я смогу восстановить свою базу данных.
Обновление: 13.12.2012 15:33 GMT-6
Вот мой результат для ps auwwx | grep postg:
_postgres 28123 0.0 0.1 2479696 7724 ?? Ss 3:01PM 0:00.04 /Applications/Server.app/Contents/ServerRoot/usr/bin/postgres_real -D /Library/Server/PostgreSQL For Server Services/Data -c listen_addresses= -c log_connections=on -c log_directory=/Library/Logs/PostgreSQL -c log_filename=PostgreSQL_Server_Services.log -c log_line_prefix=%t -c log_lock_waits=on -c log_statement=ddl -c logging_collector=on -c unix_socket_directory=/Library/Server/PostgreSQL For Server Services/Socket -c unix_socket_group=_postgres -c unix_socket_permissions=0770
server1 28216 0.0 0.0 2432768 620 s000 R+ 3:02PM 0:00.00 grep postg
_postgres 28138 0.0 0.0 2439388 752 ?? Ss 3:01PM 0:00.01 postgres: stats collector process
_postgres 28137 0.0 0.0 2479828 1968 ?? Ss 3:01PM 0:00.00 postgres: autovacuum launcher process
_postgres 28136 0.0 0.0 2479696 544 ?? Ss 3:01PM 0:00.00 postgres: wal writer process
_postgres 28135 0.0 0.0 2479696 732 ?? Ss 3:01PM 0:00.01 postgres: writer process
_postgres 28134 0.0 0.0 2479696 592 ?? Ss 3:01PM 0:00.00 postgres: checkpointer process
_postgres 28131 0.0 0.0 2439388 368 ?? Ss 3:01PM 0:00.00 postgres: logger process
Обновление: 13.12.2012 18:10 GMT-6
После интенсивного поиска в Интернете было найдено это видео. Мне удалось заставить PostgreSQL работать и удалить ошибку. Я могу подключиться с помощью pgadmin и phppgadmin. Я собирался вернуться в Lion Server из-за полного разочарования. Теперь мне не придется.
psql
находится на вашем компьютереPATH
до установленной вами версии. Они ищут сокет unix в разных местах. Либо используйте tcp / ip, указав,-h localhost
либо, желательно, исправьте,PATH
чтобыpsql
сначала было найдено правильное . Причудливое решение Apple не только связать PostgreSQL, но и возиться с ним, чтобы поместить вещи в нестандартные места, является основной причиной этой проблемы.