我正在使用这个创建一个 Docker 容器
docker-composer.yml
:
postgres:
image: postgres:latest
container_name: postgres
ports:
- "5432:5432"
environment:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
POSTGRES_DB: voting
healthcheck:
test: [ "CMD", "pg_isready", "-U", "postgres" ]
interval: 10s
timeout: 5s
retries: 5
当我尝试连接到 postgresql 时:
import psycopg2
conn = psycopg2.connect("host=localhost port=5432 dbname=voting user=postgres
password=postgres")
我收到此错误:
psycopg2.OperationalError:连接到“localhost”(::1) 处的服务器,端口 5432 失败:
致命:用户“postgres”的密码身份验证失败
我可以从 Docker 连接到数据库:
问题是由pg_hba.conf引起的,数据库使用的方法应该是trust或md5,在目录(C:\Program Files\PostgreSQL\data)