Postgres启动问题



我对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?

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)的名称。

对于阅读本文并使用Postgres.app的任何人,您可能需要在database.yml中使用host:localhost。http://postgresapp.com/documentation#toc_3

相关内容

  • 没有找到相关文章

最新更新