迁移期间无法连接到服务器

时间:2013-10-30 00:20:43

标签: ruby-on-rails postgresql

当我尝试迁移数据库时,我收到此错误:

rake aborted!
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"?

我已经尝试创建.s.PGSQL.5432的符号链接,但它不起作用。这个文件对我来说是在/tmp/.s.PGSQL.5432

有没有人有解决方案?

操作系统 - Linux Mint

2 个答案:

答案 0 :(得分:2)

/var/run/postgresql目录只是Debian附带的postgres客户端库(libpq)的默认套接字位置以及基于它的发行版。

当将系统包附带的混合客户端库与自编译的服务器或备用源混合时,会发生套接字位置不匹配。

您可以通过host中的database.yml参数将客户端程序指向备用位置(或更常见的是连接参数,无论它们存储在何处):

host: /tmp

注意:

  • 这不能是完整的套接字文件名,只能是目录。构建文件名是postgres库(libpq)的工作,而不是调用者的工作。

  • postgres客户端库了解这是服务器套接字的路径,而不是主机名,因为它以斜杠开头。指示套接字不需要任何其他内容。与mysql不同,连接选项中没有套接字参数。

答案 1 :(得分:0)

尝试将此行添加到database.yml

socket: /tmp/.s.PGSQL.5432