role does not exist 🐘 PostgreSQL

FATAL: role "x" does not exist

PostgreSQL has no login role with that name.

Seen on: PostgreSQL

Meaning

psql defaults to your OS username as the role. Fresh installs only have postgres; Homebrew installs create a role named after your macOS user.

Common causes

  • Connecting without -U (defaults to OS user)
  • Role never created
  • Docker image created a different POSTGRES_USER

⚡ Quick fix

  1. Connect as an existing role: psql -U postgres
  2. Create the role: CREATE ROLE app LOGIN PASSWORD '…'
  3. Check docker env POSTGRES_USER

Detailed fix by platform

PostgreSQL

  1. sudo -u postgres createuser --interactive --pwprompt app

How to diagnose

  1. Role — Which name?
  2. Roles — \du lists?

🧠 Still stuck? Analyze your error

Paste the full message, response headers or stack trace — we'll detect the platform and point to the most likely cause.