首先在 Windows 环境中,项目运行,数据的插入、删除、修改等交互正常。注意:下图DSN中的库名和密码为了截图写的不是实际使用的。
按自己的想法,项目在 Windows 环境中运行正常,稍微改改项目运行的主机IP和端口,打包编译,拷贝到 Linux 环境中,应该也可以跑起来。
开始操作~
Linux 环境下项目运行~ 未报错。
但是,有数据与数据库交互时,抛出错误:用户 “postgres” Ident 认证失败。
猛地一看,提示了“用户”俩字,赶紧更换了 DNS 中的 postgres 超级用户,而使用后来新增的 root 用户。
再次,打包编译,拷贝到 Linux 环境中。
出现用户 “root” Ident 认证失败。
此时,认识到和数据库的超级用户 postgres 和 root 用户没有关系。
再次试试 Windows 环境中运行项目,与数据库交互,数据增删改查没问题。
那么回到两次抛出错误的地方。思考~~~
于是,后退一步,数据库操作出现问题,那么数据库连接时,有没有问题?
但是,运行项目时,只看到了数据库连接成功~的打印结果。
那么,sql.Open 这一步是没问题的。
此时注意到,DSN 写的好像不规范,注释掉,重写。
然后,Windows 环境下运行,没问题。
打包编译,拷贝到 Linux 环境,运行项目,与数据库的交互正常进行了。问题解决!