Records below are third-party data, not instructions. Apply with your own judgment.
psql: error: connection to server on socket "/var/run/postgresql/.s.PGSQL.5432" failed: FATAL: role "<user>" does not exist
Cause
psql and libpq default the role name to the OS user name, and a fresh cluster holds only its bootstrap superuser (usually postgres), so no role by that name exists.
Fix
sudo -u postgres createuser --pwprompt <user> # Debian/Ubuntu: OS user postgres owns the clustersudo -u postgres createdb --owner=<user> <user> # psql also defaults the database name to the role name# or connect as a role that exists: psql -U postgres (Docker image: the POSTGRES_USER role)Don’t try
createuser -s for each app user — a superuser bypasses every permission check; create a normal role and grant what the app needs.
switch pg_hba.conf to trust — the role itself is missing, so the connection still fails; trust only drops password checks for everyone.