CV-配置postgresql实例问题小结

2020-06-17 00:00:00 用户 报错 配置 实例 配置文件

问题描述:

问题服务器IP:XX.XX.XX.XX CV-IDA:Postgresql

Client端安装完CV软件后,在控制台配置Postgresql实例时报错如下图:



排查过程:

登录Client端查看CV的log

下图为PostgresBrowseAgent.log的部分错误日志:




日志中得到的主要错误:“Error:FATAL: Peer authentication failed for user "backup"

初步判断是用户权限问题,登录数据库查看backup用户权限:




backup用户拥有Superuser权限,符合CV对用户权限要求。同时也尝试使用postgres系统超级用户在CV中去配置postgresql实例,依旧报错,且报错信息与backup用户一样。


怀疑配置实例信息填写有误?此时去CV官方文档查看postgresql实例配置相关信息,确认配置信息是正确的。(http://docs.commvault.com)

但官方文档中在Postgresql的Troubleshooting中查到与此次报错一样的的问题,大体意思是说以系统root用户身份去连接Postgresql数据库了,需要在相关的两个配置文件(pg_hba.confpg_ident.conf)做用户映射。

注:psql的连接建立于Unix Socket上默认使用peer authentication,所以必须要用和 数据库用户 相同的 系统用户 进行登录。若系统用户与数据库用户不同可通过配置文件做用户映射。

docs.commvault.com/comm

下图为CV官方文档中的错误信息与解决方法。






登录Client端查看postgresql的pg_hba.confpg_ident.conf配置信息(pg_ident.cnf内容是空的

pg_hba.cnf内容如下图:



由于生产环境客户要求不能随意更改配置文件,随后将相关问题反馈给客户,客户联系他们管理员进行修改。(管理员在休假)

。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

大约1周后管理员修改配置文件如下图:

修改pg_hba.conf配置信息如下图




pg_ident.conf添加如下配置信息:




注:需要使用“pg_ctl reload”让配置文件生效。


+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

本想应该万事大吉了吧,在CV中配置时依旧报错,错误信息与先前一样。


继续爬坑。。。。。。。


从查的资料中得到CV配置Postgresql实例时应该是从系统root用户下连接数据库了。

果断登录Client端,在root用户下执行如下连接数据库命令:



报错与CV配置postgresql实例时一样,此时抛开CV需要解决系统root用户登录问题。系统用户与数据库用户已在相关配置文件做了映射,为什么不可以呢???(此问题未解决)


随后又尝试使用TCP/IP的方式在系统root用户下连数据库,即添加使用“-h”参数:




居然进到库了。(兴奋了下下)其中连接postgresql数据库时如果不指定“-h”,会默认的使用“local socket”连接数据库。

随后查找CV相关资料,看看配置postgresql哪里可以添加“-h”参数,无果。


(泪奔3秒。。。。。。。。。。。。。。。。。。。。。。。。)


后来尝试在CV配置端口的位置可以添加IP,居然实例配置成功,深呼吸深呼吸。(postgres用户管理员说没有密码,空着即可)






CV实例配置成功后以文件系统方式进行了备份,备份成功。

问题不大,中间由于各种原因处理的时间较长,故而总结下。

相关文章