• postgresql could not connect to server


    问题:

    postgresql部署在linux上,在自己电脑上使用pgadmin连接出现could not connect to server错误

     

    问题分析:

    出现上述原因有3种情况

    1.linux上的防火墙没有关闭

    2.postgresql服务没有监听对应的ip与端口

    3.没有设置认证规则

    解决步骤:

    1.查看是否postgresql服务没有监听对应的ip与端口

    netstat -anp|grep postmast

    下图第一个为127..0.0.1:5432代表postgresql监听127.0.0.1访问地址5432端口的tcp请求,这个是错误的应该127.0.0.0代表本机地址,其他远程将不能被监听到。

    第二个为正确设置后的地址0.0.0.0代表任意地址。

    2.如果出现上述问题,请设置postgresql.conf

    vi /var/lib/pgsql/11/data/postgresql.conf

    postgresql文件的路径不同版本会有不同,但是基本在此路径下,如果找不到可以使用以下命令

    find / -name postgresql.conf

    3.修改postgresql.conf中的listen_addresses地址

    修改命令在此不做详细说明,自行查看linux命令,注意一定要去掉“#”注释,网上很多博客不写,会误以为不去掉#配置也能生效

    4.添加任意地址的认证

    vi /var/lib/pgsql/11/data/pg_hba.conf

    在最后一行加入“host all all 0.0.0.0/0 md5”,结果如下:

    5.关闭防火墙(或者添加放行端口和协议)

    systemctl stop firewalld.service
    systemctl disable firewalld.service
    systemctl status firewalld.service

    6.重启服务

    systemctl restart postgresql-11.service

     总结

    主要是设置防火墙,设置两个文件

  • 相关阅读:
    Mvc 简单分页代码
    算法
    atx
    Java8函数式编程(A)
    axios
    props
    vue 的keep alive使用注意项
    android帮助
    testng监听器方法执行顺序
    常用正则表达式
  • 原文地址:https://www.cnblogs.com/SmilingEye/p/11101626.html
Copyright © 2020-2023  润新知