试图使postgresql服务器可用于另一台机器

时间:2016-01-21 20:16:57

标签: postgresql

  1. 这是我在服务器机器上连接到postgres服务器时遇到的错误:

    Is the server running on host "192.168.0.109" and accepting TCP/IP connections on port 5433?
    
  2. 我的版本是9.4这个问题答案很多次,但没有什么对我的问题有用。

  3. 我在Listening_address='*'
  4. 中尝试了postgresql.conf
  5. pg_hba.conf进行了更改。
  6. postgres.config。
  7. 这是pg_hba.confpg_hba.conf

    这是pg.confpg.conf

2 个答案:

答案 0 :(得分:2)

您需要编辑pg_hba.conf以允许非本地主机连接。例如,如果要允许使用md5身份验证从本地网络上的任何主机(192.168.*.*)进行客户端连接,则可以添加以下内容:

# Put your actual configuration here
# ----------------------------------
#
# If you want to allow non-local connections, you need to add more
# "host" records.  In that case you will also need to make PostgreSQL
# listen on a non-local interface via the listen_addresses
# configuration parameter, or via the -i or -h command line switches.

# TYPE  DATABASE        USER            ADDRESS                 METHOD
host    all             all             192.168.0.0/16          md5

来自documentation

  

使用标准数字表示法为范围的起始地址指定IP地址范围,然后使用斜杠(/)和CIDR掩码长度。掩码长度表示必须匹配的客户端IP地址的高位数。在给定的IP地址中,右边的位应为零。 IP地址,/和CIDR掩码长度之间不得有空格。

     

以这种方式指定的IPv4地址范围的典型示例对于单个主机为172.20.143.89/32,对于小型网络为172.20.143.0/24,对于较大的网络为10.6.0.0/16。对于小型网络,IPv6地址范围对于单个主机(在本例中为IPv6环回地址)或fe80 :: 7a31:c1ff:0000:0000/96可能看起来像:: 1/128。 0.0.0.0/0表示所有IPv4地址,:: 0/0表示所有IPv6地址。要指定单个主机,请使用掩码长度32(对于IPv4)或128(对于IPv6)。在网络地址中,不要省略尾随零。

此外,正如@MyBrainHurts所述,请确保您的服务器实际配置为侦听端口5433.默认端口为5432,如postgresql.conf中所述:

#------------------------------------------------------------------------------
# CONNECTIONS AND AUTHENTICATION
#------------------------------------------------------------------------------
# - Connection Settings -

listen_addresses = '*'      # what IP address(es) to listen on;
          # comma-separated list of addresses;
          # defaults to 'localhost'; use '*' for all
          # (change requires restart)
port = 5432             # (change requires restart)
max_connections = 100           # (change requires restart)

答案 1 :(得分:0)

这只是Windows防火墙问题。

  1. 打开控制面板
  2. 选择系统和安全。
  3. 选择允许应用程序通过Windows防火墙。
  4. 然后检查postgres服务器是否存在或添加并检查。
  5. 就是这样........

    感谢大家..........