本文主要是介绍【go项目】项目运行在 Linux 环境中,DSN 导致与数据库交互时出现:用户 “postgres” Ident 认证失败 / 用户 “root” Ident 认证失败,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
首先在 Windows 环境中,项目运行,数据的插入、删除、修改等交互正常。注意:下图DSN中的库名和密码为了截图写的不是实际使用的。
按自己的想法,项目在 Windows 环境中运行正常,稍微改改项目运行的主机IP和端口,打包编译,拷贝到 Linux 环境中,应该也可以跑起来。
开始操作~
Linux 环境下项目运行~ 未报错。
但是,有数据与数据库交互时,抛出错误:用户 “postgres” Ident 认证失败。
猛地一看,提示了“用户”俩字,赶紧更换了 DNS 中的 postgres 超级用户,而使用后来新增的 root 用户。
再次,打包编译,拷贝到 Linux 环境中。
出现用户 “root” Ident 认证失败。
此时,认识到和数据库的超级用户 postgres 和 root 用户没有关系。
再次试试 Windows 环境中运行项目,与数据库交互,数据增删改查没问题。
那么回到两次抛出错误的地方。思考~~~
于是,后退一步,数据库操作出现问题,那么数据库连接时,有没有问题?
但是,运行项目时,只看到了数据库连接成功~的打印结果。
那么,sql.Open 这一步是没问题的。
此时注意到,DSN 写的好像不规范,注释掉,重写。
然后,Windows 环境下运行,没问题。
打包编译,拷贝到 Linux 环境,运行项目,与数据库的交互正常进行了。问题解决!
这篇关于【go项目】项目运行在 Linux 环境中,DSN 导致与数据库交互时出现:用户 “postgres” Ident 认证失败 / 用户 “root” Ident 认证失败的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!