从R连接到Postgres会导致身份验证失败



我正试图从R连接到docker中运行的postgres db。我从R获得密码验证失败,但不是从命令行。

启动容器:

docker run -d -p 5432:5432 --name my-postgres -e POSTGRES_PASSWORD=mysecretpassword postgres

从集装箱内部进入工作:

docker exec -it my-postgres bash
psql -U postgres

从主机访问从cl:工作

psql -h localhost -p 5432 -U postgres -W

但由于某种原因,从R连接会导致身份验证失败:

library(DBI)
db <- dbConnect(RPostgres::Postgres(),
dbname = 'postgres',
host = 'localhost',
port = 5432,
user = 'postgres',
password = 'mysecretpassword')

错误消息:

Error: FATAL:  password authentication failed for user "postgres"

版本:

  • RPostgres 1.4.3
  • DBI 1.1.2
  • R 4.1.1
  • postgres:最新-14.1

R试图连接到错误的postgres实例,在将端口绑定更改为其他内容(5432:5432->8543:5432(后,我连接到了R。

我不知道这是怎么发生的。这是我唯一一个正在运行的docker容器,我的主机上没有postgres,当绑定到标准端口时,通过CL连接可以让我进入正确的实例。此外,我认为如果尝试使用正在使用的端口,我会从Docker那里得到端口冲突,但这也没有发生。

相关内容

最新更新