После перезапуска моего MacBook Pro я не могу запустить сервер базы данных:
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"?
Я проверил журналы, и снова и снова появляется следующая строка:
FATAL: database files are incompatible with server
DETAIL: The data directory was initialized by PostgreSQL version 9.2, which is not compatible with this version 9.0.4.
9.0.4 была версия, которая была предустановлена на Mac, 9.2 [.4] это версия, которую я установил через Homebrew. Как уже упоминалось, до перезапуска это работало, поэтому это не может быть проблемой компиляции. Я также перезапустил, initdb /usr/local/var/postgres -E utf8
и файл все еще существует.
К сожалению, я довольно новичок в Postgres, поэтому любая помощь будет очень признательна.
macos
postgresql
homebrew
klaffenboeck
источник
источник
pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start
- и ответserver starting
pg_ctl
я уверен, что вы найдете 2 копии. И тот, который соответствует,which pg_ctl
будет старой версией, и другой будет новой версией.pg_ctl --version
даетpg_ctl (PostgreSQL) 9.2.4
Server.app
и скрыли это, чтобы использовать нестандартный порт и каталог сокета unix. В заключение!Ответы:
Если вы недавно обновили до 11. или 12 с 10.x, вы можете запустить следующую команду, чтобы обновить каталог данных postgres, сохранив все данные:
Приведенная выше команда берется из вывода
brew info postgres
источник
brew postgresql-upgrade-database
затем перезапустить postgresbrew info
.Если вы ищете ядерный вариант (удалите все данные и получите новую базу данных), вы можете сделать:
rm -rf /usr/local/var/postgres && initdb /usr/local/var/postgres -E utf8
и затем вам нужно будет
rake db:setup
иrake db:migrate
из вашего приложения Rails, чтобы снова начать настройку.источник
createuser -s your_rails_app
чтобы создать пользователя postgres для rails. См stackoverflow.com/questions/11919391/...Попробуй это : https://gist.github.com/joho/3735740
Это отлично сработало для меня. В конце он также генерирует 2 сценария bash для проверки вашей БД и удаления старого кластера. Действительно удивительным.
см .: http://www.postgresql.org/docs/9.2/static/pgupgrade.html, чтобы понять больше.
источник
Нашел в интернете, это решение отлично работает для меня.
Когда я попытался запустить сервер postgresql после обновления до OS X 10.10 Yosemite, я столкнулся со следующей проблемой:
pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start
Хорошо, давайте посмотрим на логи сервера:
cat /usr/local/var/postgres/server.log
Итак, нам нужно выполнить несколько шагов после обновления postgresql:
Вот и все.
источник
Если вы хотите сохранить предыдущую версию postgres, используйте
brew switch
:В противном случае, считают эту варочную команду перенести существующие данные:
brew postgresql-upgrade-database
. Проверьте исходный код .источник
Это случилось со мной, когда я пытался запустить Postgres12 с подключенным томом postgres11. Просто удаление подключенного тома для postgres11 и перезагрузка работали для меня.
Ранее я использовал:
Я удалил / Users / champ / postgres и перезапустил postgres 12, используя
источник