Как управлять версией postgresql с помощью homebrew

#postgresql #macos #homebrew

#postgresql #macos #homebrew

Вопрос:

Сегодня я хотел использовать postgresql 10.6 для this проекта и postgresql 11.2 для that проекта.

Я мог бы успешно выполнить 11.2 -> 10.6 следующим образом. Это сработало.

 that$ cd ../this
this$ brew services stop postgresql
this$ brew unlink postgresql
this$ brew link postgresql@10 --force
this$ brew services start postgresql@10
  

Но когда я вернулся к этому проекту и попытался выполнить 10.6 -> 11.2, это не сработало.

 this$ cd ../that
that$ brew services stop postgresql@10
that$ brew unlink postgresql@10
that$ brew link postgresql
that$ brew services start postgresql
  

Затем я получил следующее сообщение об ошибке, когда я это сделал psql . Я искал StackOverflow и обнаружил, что это довольно известная ошибка. Я перепробовал много разных ответов, но ничего не сработало (кстати, я не хотел переустанавливать postgresql).

 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. Неправильный ответ, поэтому просто комментарий — используйте docker. Затем 10 -> 11 и обратно — это просто вопрос запуска остановки контейнера.

2. Я думаю, что initdb <directory> я сделал что-то подобное initdb /usr/local/var/postgresql/ после того, как перешел на 11. Похоже, ошибка произошла из-за отсутствия базы данных