CV-配置postgresql实例问题小结
问题描述:
问题服务器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.conf 、pg_ident.conf)做用户映射。
注:psql的连接建立于Unix Socket上默认使用peer authentication,所以必须要用和 数据库用户 相同的 系统用户 进行登录。若系统用户与数据库用户不同可通过配置文件做用户映射。
(http://docs.commvault.com/commvault/v11_sp12/article?p=21723.htm)
下图为CV官方文档中的错误信息与解决方法。
登录Client端查看postgresql的pg_hba.conf、pg_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实例配置成功后以文件系统方式进行了备份,备份成功。
问题不大,中间由于各种原因处理的时间较长,故而总结下。
相关文章