postgresql数据库报“connections on unix domin socket "tmp.s.pgsql.5432"”-9游会

大家好!今天让小编来大家介绍下关于postgresql数据库报“connections on unix domin 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 : 表示认证选项.

以上就是小编对于postgresql数据库报“connections on unix domin socket "tmp.s.pgsql.5432"”问题和相关问题的解答了,postgresql数据库报“connections on unix domin socket "tmp.s.pgsql.5432"”的问题希望对你有用!

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文链接:https://www.andon8.com/448158.html

网站地图