Cannot connect to Postgres server running through brew services
我一直在寻找解决方案,但找不到可行的解决方案。
我在MacBook中使用brew(
psql: 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"?
有人已经解决了类似的问题吗?
我有同样的错误,我通过删除进程pid文件修复它:
我今天遇到了这个问题。 postgres停止接受连接虽然自制软件认为它正在运行。
为了解决它,我跑了,
1 | brew services restart -vvv postgresql |
从此命令输出,
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | ==> Successfully stopped `postgresql` (label: homebrew.mxcl.postgresql) ==> Generated plist FOR postgresql: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC"-//Apple//DTD PLIST 1.0//EN""http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>KeepAlive</key> <TRUE/> <key>Label</key> <string>homebrew.mxcl.postgresql</string> <key>ProgramArguments</key> <string>/usr/LOCAL/opt/postgresql/bin/postgres</string> <string>-D</string> <string>/usr/LOCAL/var/postgres</string> </array> <key>RunAtLoad</key> <TRUE/> <key>WorkingDirectory</key> <string>/usr/local</string> <key>StandardErrorPath</key> <string>/usr/LOCAL/var/log/postgres.log</string> </dict> </plist> |
然后我想,嗯也许那个日志文件中有东西,
1 | tail -n 10 /usr/LOCAL/var/log/postgres.log |
果然,
1 2 | [4826] FATAL: LOCK file"postmaster.pid" already EXISTS [4826] HINT: IS another postmaster (PID 1489) running IN DATA directory"/usr/local/var/postgres"? |
所以,我删除了该文件
1 | rm /usr/LOCAL/var/postgres/postmaster.pid |
一切都开始了。
在我的情况下,
1 2 | brew UPDATE brew upgrade |
然后,因为我将主要版本从10升级到11,我还必须运行它:
1 | brew postgresql-upgrade-DATABASE |
(来源https://github.com/facebook/react-native/issues/18760#issuecomment-410533581)
我会在这里结合Wilson和Grasshopper的两个答案。
你可以使用
您应该看到
1 2 | <key>StandardErrorPath</key> <string>/usr/LOCAL/var/log/postgres.log</string> |
然后你应该使用
在我的情况下,错误如下:
2017-12-06 11:51:16.078 GMT [85476] FATAL: lock file"postmaster.pid" already exists
2017-12-06 11:51:16.078 GMT [85476] HINT: Is another postmaster (PID 601) running in data directory"/usr/local/var/postgres"?
这是因为我必须硬关闭我的Mac并且postgres没有机会清理PID文件。只需删除PID文件
警告:除非您确定postgres没有运行,否则不要删除此PID文件。您可以通过运行
对我有用的是删除
我从版本点击安装postgresql93时遇到了同样的错误。
检查
FATAL: data directory"/usr/local/var/postgres" has group or world access
DETAIL: Permissions should be u=rwx (0700).
这让我得到了这样的答案:数据目录"/ usr / local / var / postgres"拥有错误的所有权
运行
FATAL: could not open directory"pg_tblspc": No such file or directory
然后导致我:安装最新版OS X(Yosemite或El Capitan)后丢失了`pg_tblspc`
运行