更改 database.yml 中的端口
如您所知,PostgreSQL 支持两种连接:tcp/ip 和 unix 域套接字。两者都可以使用主机和端口,但以不同的方式使用它们。
使用 TCP/IP 时,主机和端口对于运行 TCP/IP 的网络具有标准含义。
当使用 Unix 域套接字时,host 提供目录,port 提供套接字名称的数字部分。路径应该是绝对的。这同样适用于任何基于 libpq 的连接(包括通过 pg gem),所以考虑一下:
psql -h /tmp -p 5000
这给出了以下错误消息:
$ psql -h /tmp -p 5000
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.5000"?
相似地:
$ psql -h /foo -p 50000
psql: could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/foo/.s.PGSQL.50000"?