如何通过homebrew控制postgresql的版本

问题描述 投票:0回答:1

今天我想对

this
项目使用 postgresql 10.6,对
that
项目使用 postgresql 11.2。

我可以成功完成 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"?

您是否出于与我类似的原因尝试过上述命令,并遇到了相同的错误?如果是这样,那么您找到解决方案了吗?

postgresql macos homebrew
1个回答
0
投票

该错误表明 postgresql 未运行,但很难根据提供的信息说明为什么会出现这种情况。

brew install 命令完成后会输出几行。其中一行应包含直接运行服务的说明,这将有助于缩小问题范围。

Or, if you don't want/need a background service you can just run:
  /opt/homebrew/opt/postgresql@14/bin/postgres -D /opt/homebrew/var/postgresql@14

对我来说,运行命令给了我错误

postgres: could not access directory "/opt/homebrew/var/postgresql@14": No such file or directory

检查该目录,它不在那里,但还有另一个目录

/opt/homebrew/var/postgres

为了解决该问题,我使用

pg_upgrade
将数据从现有的数据目录迁移到运行命令中引用的新目录。

© www.soinside.com 2019 - 2024. All rights reserved.