docker中使用postgresql数据库
1.拉取
默认最新

运行容器

由于最新版删减了东西,所以会报错

参考
感谢以下博主让我从爬出深坑~
# 拉取postgres
https://www.hangge.com/blog/cache/detail_3073.html
# 报错
https://blog.csdn.net/weixin_44127299/article/details/127883966
2.更换版本
指定14版本

运行容器

使用navicat连接通过

导入sql文件

3.进入容器

查看库表

退出为root

再进入
不管是默认的postgres密码还是服务器密码都验证失败,只能退出容器重进了!

4.本地测试.net core连接
更改连接字符串

重新打包生成容器
结果超时拒绝

开始排查:故意输错Usersname、Password、Database查看浏览器
Usersname:

Password:

Database:

可以得出不是以上错误导致
原因
最后发现原因是定义容器的时候将端口指定为5433,而postgres默认为5432,在连接字符串时不写默认也是5432,因此我们需要在连接字符串中指定Port为5433

再次运行,连接成功!

5.探索点
pg_hba.conf为什么不用改?

# 参考:
https://www.jianshu.com/p/3d7086398524

浙公网安备 33010602011771号