通过macOS + Homebrew + Postgres解决连接错误「PG::ConnectionBad: 〜”/tmp/.s.PGSQL.5432″?」

2022年10月19日补充

在使用Homebrew安装时,postmaster.pid的路径发生了变化。
通过删除该文件可以解决这个问题。

cd /opt/homebrew/var/postgres
rm postmaster.pid

环境

    • macOS Mojave 10.14.4

 

    • postgres (PostgreSQL) 11.2

brew install postgresqlしています

 $ psql -l
 PG::ConnectionBad: 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"?
 $ rm /usr/local/var/postgres/postmaster.pid
 $ brew services start postgresql
 $ brew services stop postgresql
 $ brew services restart postgresql
 $ brew postgresql-upgrade-database

我本以为在这里能解决的事情?,可是?。

仍然不行→请确认postgres的日志

当执行以下命令时,我注意到了显示的日志。由于Postgres使用的目录空间不足,导致服务无法启动的行为发生了。

 $ postgres -D /usr/local/var/postgres
 // TODO: ここでエラーになっているメッセージに従う

请按以下步骤逐个解决已创建的目录(根据环境可能不同,请同时运行postgres -D /usr/local/var/postgres命令)。

 mkdir /usr/local/var/postgres/pg_replslot
 mkdir /usr/local/var/postgres/pg_twophase
 mkdir /usr/local/var/postgres/pg_stat
 mkdir /usr/local/var/postgres/pg_tblspc
 mkdir /usr/local/var/postgres/pg_commit_ts
 mkdir /usr/local/var/postgres/pg_logical
 mkdir /usr/local/var/postgres/pg_logical/snapshots
 mkdir /usr/local/var/postgres/pg_logical/mappings

补充:2020/01/09 找不到libicui18n.61.dylib

在日志中,出现了找不到libicui18n.61.dylib的错误。

dyld: Library not loaded: /usr/local/opt/icu4c/lib/libicui18n.61.dylib
  Referenced from: /usr/local/bin/postgres
  Reason: image not found

通过参考Qiita上的相关文章,通过更新homebrew来解决执行PHP -v时出现的”dyld: Library not loaded: /usr/local/opt/icu4c/lib/libicui18n.61.dylib”错误。

brew update && brew upgrade

补充说明:2020/03/12 数据库版本不同

在将版本从10升级到11时,仍可能遇到这个错误。

$ postgres -D /usr/local/var/postgres
FATAL:  database files are incompatible with server
DETAIL:  The data directory was initialized by PostgreSQL version 11, which is not compatible with this version 12.2.

根据这篇文章的内容,它提到如果运行”brew info postgresql”,将显示数据库升级命令。我试着运行了一下,结果很成功。

$ brew postgresql-upgrade-database
・・・(省略)
==> Upgraded postgresql data from 11 to 12!
==> Your postgresql 11 data remains at /usr/local/var/postgres.old
==> Successfully started `postgresql` (label: homebrew.mxcl.postgresql)
广告
将在 10 秒后关闭
bannerAds