序言
前段时间, 搭建了 wekan, 但是由于项目本身有 Bug, 再加上是 JavaScript 项目, 我不懂这个语言, 就无奈放弃。 重新搭建 Taiga 项目, 这个项目是 Python Django 编写的, 多少可以理解。
目前 Taiga 已经正常运行了, 现在将之前遇到了一些问题记录下来。 PostgreSQL 数据库本地登录失败的问题, 详细来说就是我可以使用 Navicat 或 pgAdmin 连接远程 PostgreSQL 服务器, 但是无法在服务器上使用命令行连接本地的数据库服务。
特别声明: 正文部分是转载文章, 源链接 https://blog.csdn.net/u010882234/article/details/121845041
正文
问题
- pgpool用户已创建,密码已设置,权限已设置,允许登录
- 但是在PostgreSQL所在服务器上,连接失败,使用以下命令登录均报错,但是navicat工具可以连接
su - postgres
# 指定用户启动,失败
psql -U pgpool
# 以为是没有同名数据库 pgpool 导致的加了个 -d postgres,还是失败
psql -U pgpool -d postgres
# 再次尝试 指定下端口号,还是失败,之后去百度了
psql -p 5432 -U pgpool -d postgres
- 报错信息
psql: error: FATAL: Peer authentication failed for user "pgpool"
处理
- 很明显,报错信息是用户认证失败,用户不可信
- 百度了一堆,都说
pg_hba.conf
问题,要求全改为trust
,这个有安全风险,自己测试用可以这么改,但是不建议 - 去查看下自己配置的
pg_hba.conf
,发现配置没问题,全网段支持md5命令登录 - 我这里还是自己测试用的,生产使用可以指定ip段可连接
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all peer
# IPv4 local connections:
host all all 127.0.0.1/32 trust
# IPv6 local connections:
host all all ::1/128 trust
host all all 0.0.0.0/0 md5
# Allow replication connections from localhost, by a user with the
# replication privilege.
local replication all peer
host replication all 127.0.0.1/32 trust
host replication all ::1/128 trust
host replication all 0.0.0.0/0 md5
- 而且 navicat 可以连接,说明不是网段限制的原因
- 试着在登录命令里加了下
-h localhost
,竟然可以了 - 无语,可能是设置local不可信导致的
- 为什么加了下
-h localhost
就可以了呢,应该是加上就不是local
,命中了后面的host all all 0.0.0.0/0 md5
- 在pg所在服务器上,使用非
postgres
用户登录,指定主机地址,才能正常登录
结语
上述一大段, 总结起来就是本地登录的时候加上 -h localhost
如有错误,敬请指出,感谢指正! 2022-06-04 21:59:32
最新评论
这个软件有bug的,客户端windows有些键不能用如逗号、句号
没有收到邮件通知
我的评论通知貌似坏掉了,定位一下问题
测试一下重新部署后的邮件功能
居然看到自己公司的MIB库,诚惶诚恐
那可能是RobotFramework-ride的版本问题。我装的1.7.4.2,有这个限制。我有空再尝试下旧版本吧,感谢回复。
你好!我在python2.7中安装RobotFramework-ride的时候提示wxPython的版本最高是2.18.12,用pip下载的wxPython版本是4.10,而且我在那个路径下没有找到2
真的太好了,太感谢了,在bilibili和CSDN上都找遍了,终于在你这里找到了