问题是
我尝试从PhpStorm连接到PostgreSQL,但它返回以下错误:
[28P01] FATAL: password authentication failed for user "app"
形势
我有以下.env
文件设置:
POSTGRES_DB=app
POSTGRES_USER=app
POSTGRES_PASSWORD=password
POSTGRES_VERSION=15
以及docker-compose.yml
中的以下内容:
version: '3'
services:
database:
image: postgres:${POSTGRES_VERSION}-alpine
container_name: database
env_file:
- .env
volumes:
- db-data:/var/lib/postgresql/data:rw
ports:
- '5432'
volumes:
db-data:
当运行docker-compose up -d
时,确实成功创建了容器和卷。
然后我在我的PhpStorm中输入以下内容:
但随后错误弹出,再次输入密码并不能解决任何问题。
我在Ubuntu 22.04.1 LTS上运行此程序
我所尝试的
我已经用不同的用户和密码组合(确保使用docker-compose down -v
来删除卷)重建了容器几次,结果都是一样的。
我尝试过通过执行docker exec -it database psql -U app
然后运行ALTER ROLE app WITH PASSWORD 'password'
来更改密码,但这并没有改变任何东西。
我还在网上看到,它可能必须对设置为ident的用户进行身份验证,但我找不到在docker-compose.yml
文件中更改这一点的方法。
问题
我如何设置这个,以便我可以连接我的PhpStorm到PostgreSQL数据库正确?
1条答案
按热度按时间fwzugrvs1#
在我的例子中,我运行的是带有WSL2(Ubuntu)的Windows 10。我在Ubuntu示例中安装了Postgres,作为设置应用程序的一部分。我删除了应用程序,但Postgres服务器仍在运行。当我试图使用
localhost:5432
连接到Docker Postgres示例时,我连接到的是WSL2 Postgres示例。在我的例子中,因为我不再在WSL2中使用Postgres,所以我删除了它,这样就解决了这个问题。