1

What I'm trying to do: connect to postgres db with a FastAPI app via common docker-compose file. It used to work until I changed postgres configuration from default.

I'm aware this is a common problem and I tried following every tip I found so far. I did double check spelling of evn variables. I did remove volumes, images, networks and rebuild it from scratch multiple times by now.

Here are relevant parts of docker-compose

version: "3.4"

networks:
  internal:
    external: false

services:

  db:
    image: postgres:11
    ports:
      - "5432:5432"
    environment:
      - POSTGRES_USER=test_user
      - POSTGRES_PASSWORD=test_pass
      - POSTGRES_DB=test_db
    networks:
      - internal

  my_app:
    depends_on:
      - db
    networks:
      - internal

Here's how I present db to app in code.

DATABASE_URL = "postgres://test_user:test_pass@db:5432/test_db"

I continue to get 'password authentication failed for user "test_user" / Role "test_user" does not exist. / Connection matched pg_hba.conf line 95: "host all all all md5"

What did I manage to miss?

1 Answer 1

2

For those who find it, the problem was actually in how I tried to provide env variables.

    environment:
      - POSTGRES_USER: test_user
      - POSTGRES_PASSWORD: test_pass
      - POSTGRES_DB: test_db

works

Sign up to request clarification or add additional context in comments.

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.