Skip to content

Report errors "FATAL: role "XXX" does not exist" when POSTGRES_USER is customized. #1138

Description

@Chr15t0pher

I'm a totally newbie, trying to using a shell script to run postgres image.
Here is my code:

DB_USER="${POSTGRES_USER:=admin}"
DB_PASSWORD="${POSTGRES_PASSWORD:=admin}"
DB_NAME="${POSTGRES_DB:=scaffold}"
DB_PORT="${POSTGRES_PORT:=5432}"
DB_HOST="${POSTGRES_HOST:=localhost}"

docker run \
  --name "postgres_$(date '+%s')" \
  -e POSTGRES_USER=${DB_USER} \
  -e POSTGRES_PASSWORD=${DB_PASSWORD} \
  -e POSTGRES_DB=${DB_NAME} \
  -p "${DB_PORT}":5432 \
  -d \
  postgres -N 1000

until PGPASSWORD="${DB_PASSWORD}" psql -h "${DB_HOST}" -U "${DB_USER}" -p "${DB_PORT}" -d "postgres" -c '\q'; do
  >&2 echo "Postgres is still unavailable - sleeping"
  sleep 1
done

The errors I've been able to see are:

psql: error: connection to server at "localhost" (127.0.0.1), port 5432 failed: FATAL:  role "admin" does not exist

What am I missing and how can I fix this so I can actually proceed with Postgres?
When i set DB_USER to the default value postgres, it is Ok. But i just don't know the reason.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions