我在OS X中使用自制程序中的postgres,但是当我重新启动系统时,有时postgres在重新启动后没有启动,所以我手动尝试启动它postgres -D /usr/local/var/postgres,但随后发生了以下消息的错误:FATAL: could not open directory "pg_tblspc": No such file or directory.
它最后一次发生时,我无法将其恢复到原始状态,所以我决定卸载整个postgres系统,然后重新安装它并创建用户,表格,数据集等等......真是太恶心了,但是它经常发生在我的系统上,比如几个月就会发生一次.
那为什么它pg_tblspc经常丢失文件?我有什么办法可以避免丢失文件吗?
我没有将我的自制软件和postgres升级到最新版本(即我一直在使用相同的版本).另外,我在postgres数据库上做的所有事情都是删除表并每天填充新数据.我没有更改用户,密码等...
编辑(mbannert):我觉得有必要添加这个,因为这个问题对谷歌来说是最受欢迎的,而且很多症状都不同.Homebrewers可能会遇到此错误消息:
No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/tmp/.s.PGSQL.5432"?
Run Code Online (Sandbox Code Playgroud)
所以,如果你刚刚在优胜美地升级之后经历过这个,那么现在你已经开始阅读这个帖子了.
重启我的Mac后,我遇到了可怕的Postgres错误:
psql: could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?
Run Code Online (Sandbox Code Playgroud)
发生这种情况的原因是因为我的macbook完全因为一个无关的问题而冻结,我不得不使用电源按钮进行硬重启.重新启动后,由于此错误,我无法启动Postgres.
像其他一些人一样,当我在我的项目中运行rake db:migrate或者甚至为我的Ruby on Rails 3.2应用程序尝试大多数数据库任务时,我收到此错误.
PGError(无法连接到服务器:没有这样的文件或目录.服务器是否在本地运行并接受Unix域套接字上的连接"/tmp/.s.PGSQL.5432"?
很久以前我用Homebrew安装了PostgreSQL,并且在最近尝试安装MongoDB后,我的PostgreSQL安装从未如此.我正在运行OS X v10.6 Snow Leopard.
出了什么问题,我怎么能更好地理解PostgreSQL是如何设置在我的Mac上的呢?
到目前为止(我认为)这告诉我PostgreSQL没有运行(?).
ps -aef|grep postgres (ruby-1.9.2-p320@jct-ana) (develop) ?
501 17604 11329 0 0:00.00 ttys001 0:00.00 grep postgres
Run Code Online (Sandbox Code Playgroud)
但这是否告诉我PostgreSQL正在运行?
? launchctl load -w /usr/local/Cellar/postgresql/9.1.4/homebrew.mxcl.postgresql.plist (ruby-1.9.2-p136)
homebrew.mxcl.postgresql: Already loaded
Run Code Online (Sandbox Code Playgroud)
我该如何解决?我没看到什么?
PS:~/Library/LaunchAgents包含两个PostgreSQL .plist文件.我不确定这是否相关.
org.postgresql.postgres.plist
homebrew.mxcl.postgresql.plist
Run Code Online (Sandbox Code Playgroud)
我尝试了下面的结果,得到了如下结果.
$ psql -p 5432 -h localhost
psql: could not connect to server: Connection refused
Is the server running on host "localhost" (127.0.0.1) and accepting
TCP/IP connections on …Run Code Online (Sandbox Code Playgroud)