我在使用 PostgreSQL 时遇到问题
每当我跑步
psql -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 port 5432?
我在使用 PostgreSQL 时遇到问题
每当我跑步
psql -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 port 5432?
对于阅读本文并使用 Postgres.app 的任何人,您可能需要 host: localhost 在您的 database.yml 中。http://postgresapp.com/documentation#toc_3
A. 首先确保PostgreSQL服务器已经启动到远程服务器。
# /etc/init.d/postgresql start
如果它正在运行并且出现上述错误,则需要添加启用 TCP/IP 支持。默认情况下,PostgreSQL 服务器只允许从本地机器或本地主机连接到数据库。这是一项安全功能。
第 1 步:允许远程 IP 地址访问 PostgreSQL
您需要打开名为 /var/lib/pgsql/data/pg_hba.conf 的文件。使用 su 命令以 postgres 用户身份登录:
$ su - postgres
$ vi /var/lib/pgsql/data/pg_hba.conf
现在附加以下行。假设您想授予对 192.168.1.0/24 网络的访问权限:
host all all 192.168.1.0 255.255.255.0 trust
请替换 192.168.1.0 和 255.255.255.0 以反映您自己网络中客户端系统的实际网络 IP 地址范围。
保存关闭文件。
第 2 步:允许通过 TCP/IP 进行通信
您需要打开 PostgreSQL 配置文件 /var/lib/pgsql/data/postgresql.conf
$ vi /var/lib/pgsql/data/postgresql.conf
现在通过将 tcpip_socket 设置为 true 来绑定并打开 TCP/IP 端口:
tcpip_socket = true
保存并关闭文件。
步骤#3:重启 PostgreSQL 服务器
使用以下命令重新启动 PostgreSQL 服务器
# /etc/init.d/postgresql restart
这将打开默认端口 5432。
第 4 步:测试您的设置
从客户端系统使用 psql 命令,如下所示:
psql -h PostgreSQL-IP-ADDRESS -U USERNAME -d DATABASENAME
通过 IP 地址 192.168.1.5 连接到远程服务器并使用 vivek 用户登录以连接到销售数据库,使用:
$ psql -h 192.168.1.5 -U vivek -d sales
在哪里,
-h 192.168.1.5 :指定运行服务器的机器的主机名或IP地址(192.168.1.5)。
-U vivek :作为 vivek 用户名而不是默认用户名连接到数据库。您必须拥有帐户和权限才能以 vivek 用户身份连接。
-d sales :指定要连接的数据库(sales)的名称。