文章目录

  • 一、psql: error: FATAL: Peer authentication failed for user "postgres"
  • 二、postgresql 开启远程访问
    • 认证方式
  • 三、postgre设置开机自启动

一、psql: error: FATAL: Peer authentication failed for user “postgres”

背景:
执行 psql -U postgres
报错 psql: error: FATAL: Peer authentication failed for user “postgres”

问题分析:
原因:安装完 PostgresQL 后, PostgresQL 连接时的默认认证方式为 peer。官方的解释:
 The peer authentication method works by obtaining the client’s operating system user name from the kernel and using it as the allowed database user name (with optional user name mapping). This method is only supported on local connections.
 大概意思就是使用 peer 方式的认证方式, PostgresQL 会从操作系统内核中获取当前的用户名并且作为允许连接的用户名进行认证,这种方式仅仅适用于本地连接。

由于我们这里的登录名并不是对应的用户名, 因此出现了以上认证失败的信息。

psql的连接建立于Unix Socket上默认使用peer authentication,所以必须要用和 数据库用户 相同的 系统用户 进行登录。

这是默认只有切换postgres用户才可以登录pgsql 的原因

解决方案:

# find / -name pg_hba.conf
/etc/postgresql/12/main/pg_hba.conf
vim /etc/postgresql/12/main/pg_hba.conf

把本地的认证方式从 peer 改为 trust

/etc/init.d/postgresql restart

这样就可以在其他用户下使用pgsql -U 了
使用示例:

创建数据库,数据库mydb创建成功。
createdb mydb -U postgres

二、postgresql 开启远程访问

安 装PostgreSQL数据库之后,默认是只接受本地访问连接。

如果想在其他主机上配置远程连接PostgreSQL,需要修改pg_hba.conf和postgresql.conf

修改pg_hba.conf文件,开通局域网的访问权限,注意IP地址改为自己所在网络的IP。

1.修改pg_hba.conf文件,配置用户的访问权限


root@sheservice:~# find / -name pg_hba.conf
/etc/postgresql/12/main/pg_hba.conf
root@sheservice:~# vi /etc/postgresql/12/main/pg_hba.conf
  host    all       all         192.168.1.1/32      md5 --/32代表只允许192.168.1.1访问host    all       all         192.168.1.0/24     md5 --/24代表192.168.1.1~192.168.1.255都允许访问host    all       all         192.168.0.0/16      md5 --/16代表192.168.1.1~192.168.255.255都允许访问host    all       all         192.0.0.0/8          md5 --/8代表192.1.1.1~192.255.255.255都允许访问host    all       all         0.0.0.0/0          md5 --/0代表所有ip地址都允许访问

加入一行允许内网IP访问

2.修改postgresql.conf文件,将数据库服务器的监听模式修改为监听所有主机发出的连接请求。

定位到#listen_addresses=’localhost’。PostgreSQL安装完成后,默认是只接受来在本机localhost的连接请 求。

编辑配置文件postgresql.conf,去掉前面的#,修改为listen_addresses = ‘*’

root@sheservice:~# find / -name postgresql.conf
/usr/lib/tmpfiles.d/postgresql.conf
/etc/postgresql/12/main/postgresql.conf
root@sheservice:~# vi /etc/postgresql/12/main/postgresql.conf

listen_addresses = ‘*’

认证方式

  • trust:凡是能连接到服务器的,都是可信任的。只需要提供数据库用户名,可以没有对应的操作系统同名用户;
  • md5:password 和 md5:对于外部访问,需要提供 psql 用户名和密码。对于本地连接,提供 psql 用户名密码之外,还需要有操作系统访问权(用操作系统同名用户验证)。password 和 md5 的区别就是外部访问时传输的密码是否用 md5 加密;
  • peer:通过客户端操作系统内核来获取当前系统登录的用户名,并作为psql用户名进行登录。

三、postgre设置开机自启动

systemctl status postgresql# 设置开机自启动
systemctl enable postgresql# 启动
systemctl start postgresql

postgresql 开启远程访问、postgre设置开机自启动、psql: error: FATAL: Peer authentication failed for user “postgres“相关推荐

  1. PostgreSQL提示:‘psql: FATAL: ”Peer authentication failed for user ”postgres“’错误#将文件Database administ

    #将文件Database administrative 下列中的peer改为trust $sudo nano /etc/postgresql/10/main/pg_hba.conf #重新加载配置 $ ...

  2. postgresql安装后链接报错psql: FATAL: Ident authentication failed for user “postgres“

    postgresql 安装成功后,使用链接语句链接 [root@iZbp1hdum7hefdeb75mnyfZ ~]# psql -d postgres -U postgres -W Password ...

  3. PostgreSQL安装遇到的坑:Problem running post-install step/password authentication failed for user postgres

    第一个问题: 安装过程中提示:Problem running post-install step. Installation may not complete correctly. The datab ...

  4. postgresql设置开机自启动

    1.修改$GP_HOME/contrib/start-scripts/linux 文件 # Installation prefix #prefix=/usr/local/pgsql #安装路径 pre ...

  5. Postgresql数据库设置开机自启动

    1.查找Postgresql数据库开机自启动脚本位置 [root@dragon ~]# find / -name start-scripts /opt/postgres/postgresql-9.4. ...

  6. Linux服务器,服务管理--systemctl命令详解,设置开机自启动

    Linux服务器,服务管理--systemctl命令详解,设置开机自启动 syetemclt就是service和chkconfig这两个命令的整合,在CentOS 7就开始被使用了. 摘要: syst ...

  7. windows10安装redis数据库,并设置开机自启动

    windows安装redis是很简单,属于开箱即用的. 下载安装包,将安装包解压后,启动服务端,启动客户端就可以操作了. 1.到官网上下载zip包 https://github.com/Microso ...

  8. Linux如何设置开机自启动

    文章结构 Linux 如何设置开机自启动 方式1:如果是 CentOS6 就用 chkconfig(推荐) 方式2:如果是 CentOS7 就用 systemctl(推荐) 常见服务的开机自启动脚本 ...

  9. python打包的exe文件设置开机自启动和关闭开机自启动。

    1 开启开机自启动 name是你在开机自启动列表想要显示的名字,能与其他的开机自启动项目分开就行. path是你的exe文件的路径. 跑一次这个程序就可以把exe文件设置成开机自启动啦. 因为我需要在 ...

最新文章

  1. 给不爱洗手找个理由——皮肤共生菌可以促进伤口愈合
  2. opencv 保存读取mat
  3. 【设计模式】享元模式 简介 ( 定义 | 对象池 | 内部状态 | 外部状态 | 适用场景 | 相关角色 )
  4. 154在屏幕中绘图时设置透明度(扩展知识:为图片视图添加点击手势识别器,来实现点击事件操作)...
  5. linux c编程头文件,如何在Linux中找到C编程语言的头文件?
  6. 离散实验偏序关系满足实验报告C语言,离散数学实验三:偏序关系中盖住关系的求取及格论中有补格的判定...
  7. python之简单爬虫(爬取豆瓣出版社)
  8. 设计功能和界面测试用例
  9. 使用Axis2来构建Web Service客户端
  10. VM : 虚拟机中Linux磁盘的挂载与卸载
  11. 计算机会考操作题vb,2016年9月计算机二级考试《VB》上机操作题题库(2)
  12. 非域环境下安装并配置Project Server 2007(二)
  13. 无人机——像素坐标系转世界坐标系(NED)
  14. 儿童剧本杀兴起,为少儿教育增色还是添乱?
  15. 算法11 抓住波粒二象性的火星人
  16. SolidWorks二次开发---简单的参数化示例
  17. SQL中的随机函数-笔记
  18. Empty filename passed to function Cannot find proj.db
  19. 02读书笔记:《编码》-隐匿在计算机软硬件背后的语言(12-14章)
  20. 【自主无人机】无人机领域中知名课题组介绍 - 转自阿木实验室

热门文章

  1. SQL 招聘网站岗位数据分析
  2. 就决定是你啦!苏菲婆5! —— 谈谈我对Surface Pro 5的使用体验以及各种骚操作
  3. [Power Query]数据转置与反转行
  4. 物流项目中SparkSQL的相关调优
  5. 智慧城市应急指挥中心数字化及城市驾驶舱建设方案
  6. Fecshop后台开发
  7. CF1019B:交互题+二分
  8. spring自动装配原理
  9. Excel 疑难千寻千解 2013 PDF
  10. 复制文件服务器启动,GPO启动脚本不复制文件