zoukankan      html  css  js  c++  java
  • postgresql数据库报“connections on Unix domain socket "/tmp/.s.PGSQL.5432"?”

    原文:https://blog.csdn.net/weixin_37791303/article/details/86707614

    ** 其实你修改了什么,就添加什么变量就好了!比如端口 修改成了 5455 ,就只是添加 :export PGPORT=5455  .不需要全部都配置  最后 source .bash_profile

    使用postgresql数据库的时候经常遇到的问题:
    [postgres@test ~]$ psql
    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.5432"?

    现象如上,但是数据库是启动状态,

    将以下环境变量加入到/root/.bash_profile或su - postgres;.bash_profile文件里面,执行source /root/.bash_profile

    环境变量如下:
    export LANG=C
    export PGHOME=/usr/local/pgsql-10/
    export PGUSER=postgres
    export PGPORT=5432
    export PGDATA=$PGHOME/data

    export PATH=$PGHOME/bin:$PATH:$HOME/bin

    export LD_LIBRARY_PATH=$PGHOME/lib:$LD_LIBRARY_PATH

    [postgres@test ~]$ pg_ctl status
    pg_ctl: server is running (PID: 1237)
    /usr/local/pgsql-10/bin/postgres "-D" "/usr/local/pgsql-10/data"

    问题原因:环境变量在安装完数据库没有实际生效,重新通过如下命令使得环境变量生效:

     source .bash_profile
    重新连接,成功:

    [postgres@test ~]$ psql
    psql (10.4)
    Type "help" for help.
     
    postgres=# 

    --------------------------------------------------------------------------------------------------------------------------------------------------
    **postgresql数据库的两个重要的配置文件:**

     **一.postgresql.conf: 配置参数文件**

    a. # 为注释操作符
    b. 配置格式: 参数名 = 参数值
    c. 参数值大小不敏感.并有五种类型.
    布尔,整数,浮点数,字符串,枚举.
    1.listen_addresses 
    指定服务器侦听客户端应用程序连接的TCP / IP地址
    默认为UNIX域套接字链接. 默认值 = localhost.
    (change requires restart)
    2.port: integer类型, 指定服务器监听的TCP端口,默认为5432;
    3.max_connections: integer类型,允许和数据库连接的最大并发连接数.默认是100;
    4.superuser_reserved_connections: 为超级用户链接而保留的连接数.默认是3.

    **二 .pg_hba.conf: 配置缝合条件的IP机器访问数据库服务.每条记录声明一种连接类型,一个客户端,一个ip地址范围,一个数据库名,一个用户名,以及匹配这些参数的认证方法.**

    pg10可以是下面四种方式:
    (1) 第一条配置字段:
    local: 匹配通过的UNIX域套接字的链接认证,默认为UNIX域套接字.
    host: 匹配通过TCP/IP进行的链接, 包括 SSL,SS
    hostssl:匹配使用TCP/IP的SSL链接,必须使用SSL加密链接,且要使用这个选项,编译服务器时必须打开这个SSL支持,,启动服务器时必须打开这个SSL配置选项.
    hostnossl: 与hostssl 相反.
    (2) DATABASE可以是“all”,“sameuser”,“samerole”,“replication”,数据库名称或逗号分隔的列表。
    (3) USER 用于设置一个用户的名称,如果是all 表示可以匹配任何用户.
    (4)METHOD : 可以是:
    trust: 无条件的允许链接.
    reject:五条件的拒绝连接.
    md5:要求客户端提供一个加密的口令进行认证.
    password: 要求客户端提供一个未加密的口令进行连接.
    gss: 用GSSAPI认证用户,只有在进行TCP/IP链接时才用.
    sspi: 用SSPI认证用户,仅在windows 上使用.
    krb5: Kerberos V5 认证用户,只有在进行TCP/IP连接时才用.
    ident:允许客户端上的操作系统用户链接到数据库,服务器和客户端在同一个操作系统用户下.
    ldap: 用LDAP服务器认证..
    radius: 用RADIUS服务器认证,
    cert: 用SSL客户端证书认证.
    pam: 用操作系统可插入的认证模块服务PAM 来认证.
    (5) ADDRESS : 表示允许那些IP 地址来访问此服务器.
    (6)OPTIONS : 表示认证选项.

  • 相关阅读:
    如何实现parseFloat保留小数点后2位
    C#正则表达式整理备忘
    HRESULT:0x80070057 (E_INVALIDARG)的异常的解决方案
    c# using的几种用法
    QQ截图 有快捷键的,如Shift+S
    史上最深刻的黄段子
    文本框回车自动提交
    C#与ASP.NET中DateTime.Now函数详解
    ASP.NET页面生命周期
    .NET中HttpWebRequest详解
  • 原文地址:https://www.cnblogs.com/chen-msg/p/13753806.html
Copyright © 2011-2022 走看看