猿问

PostgreSQL 与 docker compose 和 sqlalchemy

嘿,我正在尝试创建一个 postgresql 数据库容器,我使用以下命令运行它:


docker-compose up

在以下撰写文件上:


version: '3.1'

services:


  db:

    image: postgres

    restart: always

    environment:

      POSTGRES_USERNAME: admin

      POSTGRES_PASSWORD: admin

      POSTGRES_DB: default_db

    ports:

      - 54320:5432

但是,当我尝试使用以下 python 代码连接到它时:


import sqlalchemy

engine = sqlalchemy.create_engine('postgres://admin:admin@localhost:54320/default_db')

engine.connect()

我收到以下错误:


sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) FATAL:  password authentication failed for user "admin"

有谁知道为什么会这样?


肥皂起泡泡
浏览 135回答 2
2回答

开心每一天1111

使用 POSTGRES_USER 而不是 POSTGRES_USERNAME 为我解决了这个问题。

哆啦的时光机

您应该使用 POSTGRES_USER 而不是 POSTGRES_USERNAME。这是我的 postgres docker-compose 配置供您参考。version: '3'services:    postgres:        image: 'mdillon/postgis:latest'        environment:            - TZ=Asia/Shanghai            - POSTGRES_USER=postgres            - POSTGRES_PASSWOR=postgres        ports:            - '15432:5432'
随时随地看视频慕课网APP

相关分类

Python
我要回答