如何使用 postgreslq@16 修复自制程序中的服务错误 256?

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

这是关于基于 Arm 的芯片(Apple M1)。 我使用 Homebrew 安装了 postgresql@16,它的工作方式非常奇怪。

运行

brew services list
并得到:

Name          Status     User   File
postgresql@16 error  256 dmitry ~/Library/LaunchAgents/[email protected]

如果我通过brew关闭postgresql@16并尝试

pg_ctl -D /opt/homebrew/var/postgresql@16 start
,我得到:

2024-06-21 17:32:26.356 MSK [3252] LOG:  starting PostgreSQL 16.3 (Homebrew) on aarch64-apple-darwin23.4.0, compiled by Apple clang version 15.0.0 (clang-1500.3.9.4), 64-bit
2024-06-21 17:32:26.356 MSK [3252] LOG:  could not bind IPv6 address "::1": Address already in use
2024-06-21 17:32:26.356 MSK [3252] HINT:  Is another postmaster already running on port 5432? If not, wait a few seconds and retry.
2024-06-21 17:32:26.356 MSK [3252] LOG:  could not bind IPv4 address "127.0.0.1": Address already in use
2024-06-21 17:32:26.356 MSK [3252] HINT:  Is another postmaster already running on port 5432? If not, wait a few seconds and retry.
2024-06-21 17:32:26.356 MSK [3252] WARNING:  could not create listen socket for "localhost"
2024-06-21 17:32:26.356 MSK [3252] FATAL:  could not create any TCP/IP sockets
2024-06-21 17:32:26.357 MSK [3252] LOG:  database system is shut down

尽管在 Django 项目中数据库功能正常,对象被创建/接收等等。但是通过 Pycharm 中的终端(

psql postgres
)什么也做不了,在请求之后我只有状态
postgres-#
,什么也没有发生。

我尝试使用这个解决方案,但我在

postmaster.pid
中没有
/opt/homebrew/var/postgresql@16
文件。我所知道的解决方案都没有帮助我。

postgresql homebrew macos-sonoma
1个回答
0
投票

我也有和你类似的情况。就我而言,根本原因是下载 PostgreSQL 两次 - 一次来自 enterprisedb(我相信我是从 https://www.postgresql.org/download/macosx/ 下载的)和 homebrew 中下载的一个。 “brew services start postgresql”失败的原因是5432端口被enterprisedb占用了

要解决或验证此问题,您可以将 /opt/homebrew/var/postgresql/postgresql.conf 中的端口更改为 5433(或其他值)并检查“brew services start postgresql”是否有效。如果是的话,你可以检查一下5432端口被哪个应用程序占用了

希望这对您有帮助。

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