【问题标题】:Bad encoding for PostgreSql Docker instancePostgreSql Docker 实例的错误编码
【发布时间】:2023-03-09 11:09:01
【问题描述】:

我无法访问位于正在运行的 docker 容器中的任何数据库。 我总是有同样的错误:

FATAL: authentification par mot de passe échouée pour l'utilisateur  « ro_user » pgjdbc: autodetected server-encoding to be ISO-8859-1, if the message is not readable, please check database logs and/or host, port, dbname, user, password, pg_hba.conf)

凭证是正确的,这在 pg_hba.conf 的内容下面:

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     trust
# IPv4 local connections:
host    all             all             127.0.0.1/32            trust
# IPv6 local connections:
host    all             all             ::1/128                 trust
# Allow replication connections from localhost, by a user with the
# replication privilege.
local   replication     all                                     trust
host    replication     all             127.0.0.1/32            trust
host    replication     all             ::1/128                 trust
host all all all md5

相同的 PostgreSQL 图像正在为我的同事工作,是否需要添加任何配置才能允许连接到数据库?这与我的 IP 地址或操作系统编码有关吗?

【问题讨论】:

  • 你的数据库只监听本地主机 (::1 / 127.0.0.1),所以不可能从外部连接到你的 docker 容器中的数据库服务器。该警告与您的问题无关。
  • 我更改了 0.0.0.0/0 的值,但仍然有同样的错误。我应该设置什么?
  • 我通过在我的 docker 容器上使用另一个“外部”端口而不是 5432 解决了这个问题。例如5433。所以我的 docker 端口映射变成了5433:5432。不知道为什么默认的外部端口 5432 不起作用。

标签: postgresql docker encoding database-connection


【解决方案1】:

如果有任何 postgres 服务器正在运行,只需检查您的任务管理器 ==>终止(结束任务) 还要检查你是否在端口 5432 上没有运行 ==>(你可以更改为不同的端口)

【讨论】:

    【解决方案2】:

    可能是你安装了另一个本地数据库,删除我为我工作的本地数据库

    【讨论】:

    • 这是一个非常激进的建议
    猜你喜欢
    • 1970-01-01
    • 2021-11-24
    • 2013-01-24
    • 2011-11-02
    • 2021-06-18
    • 2016-07-13
    • 2019-07-22
    • 2017-09-01
    • 1970-01-01
    相关资源
    最近更新 更多