heroku 无法连接到服务器:“/var/run/变量名为”“的变量名为”“,

kx1ctssn  于 2022-11-13  发布在  其他
关注(0)|答案(8)|浏览(131)

我有一个简单的网页在Ruby On Rails与postgresql数据库,但当我运行服务器我有这个错误,我不知道我做的。我使用postgresql,因为heroku需要的应用程序是在postgresql。
我在ubuntu工作13.10
错误为:

PG::ConnectionBad无法连接到服务器:没有这样的文件或目录服务器是否在本地运行并接受Unix域套接字“/var/run/postgresql/.s.PGSQL.5432”上的连接?

我需要帮助
谢谢

beq87vna

beq87vna1#

只需创建一个这样的软链接,这对我很有效

$ sudo ln -s /tmp/.s.PGSQL.5432 /var/run/postgresql/.s.PGSQL.5432

用于more info

zi8p0yeb

zi8p0yeb2#

此外,您还可以强制停止服务器,然后强制启动服务器
sudo service postgresql stop --force
sudo service postgresql start --force

krugob8w

krugob8w3#

我有这个错误,由于没有正确配置连接到数据库,正是因为语法错误,在设置环境变量,即.
错误的MY_APP_DB= $MY_APP_DB_NAME,而不是MY_APP_DB=$MY_APP_DB_NAME

hc2pp10m

hc2pp10m4#

sudo systemctl start postgresql
bfrts1fy

bfrts1fy5#

首先,您需要确保socket file位于/var/run/postgresql/.s.PGSQL.5432中。

$ cat /var/run/postgresql/.s.PGSQL.5432

如果结果显示了什么,那么问题是其他的。但是,如果文件不在那里,你需要检查/tmp目录(特别是OSX Homebrew用户)

$ cd /tmp
$ l

total 16
drwxrwxrwt  7 root   wheel   224B Mar 11 08:03 .
drwxr-xr-x  6 root   wheel   192B Jan 23 18:35 ..
-rw-r--r--  1 root   wheel    65B Nov  7 22:59 .BBE72B41371180178E084EEAF106AED4F350939DB95D3516864A1CC62E7AE82F
srwxrwxrwx  1 shiva  wheel     0B Mar 11 08:03 .s.PGSQL.5432
-rw-------  1 shiva  wheel    57B Mar 11 08:03 .s.PGSQL.5432.lock
drwx------  3 shiva  wheel    96B Mar 10 17:11 com.apple.launchd.C1tUB2MvF8
drwxr-xr-x  2 root   wheel    64B Mar 10 17:10 powerlog

现在,有两种方法可以解决该错误

解决方案一

您可以更改应用程序配置,以查看/tmp/.s.PGSQL.5432上的套接字

Rails用户

# config/database.yml

default: &default
  adapter: postgresql
  pool: 5
  # port: 
  timeout: 5000
  encoding: utf8
  # min_messages: warning
  socket: /tmp/.s.PGSQL.5432

解决方案二

您可以创建指向预期位置的符号链接

$ sudo mkdir /var/pgsql_socket
$ sudo ln /tmp/.s.PGSQL.5432 /var/pgsql_socket/

然后错误应该消失。
希望这对你有帮助。

kuhbmx9i

kuhbmx9i6#

试试这个对我有用的。
sudo systemctl start postgresql
然后
sudo systemctl start postgresql

tpgth1q7

tpgth1q77#

查看postgresql.log文件
我的系统显示FATAL: lock file "postmaster.pid"已经存在,因此我删除了postmaster.pid文件并重新启动了服务,现在它可以正常工作了

λ /usr/local/var/postgres/ rm postmaster.pid
λ /usr/local/var/postgres/ brew services restart postgresql
zlhcx6iw

zlhcx6iw8#

要解决s.PGSQL.5432的问题,您必须执行以下操作:
首先通过另一个路径更改unix_socket_directories postgresql.conf路径/ tmp /
然后更新postgres和postgres加载成为,如果你想你可以把路径再次,并与它和充值的postgres正常.

相关问题