Password authentication failing on ALL connection methods #49774
Replies: 2 comments
|
Make sure your password does not have any special characters in it. This is especially an issue if you use url connection strings to connect as then you have to deal with url encoding. Try PSQL or similar and see if another method works. |
|
A password failure that survives multiple resets usually isn't the password — the first thing I'd check here is the username you're sending to the poolers. The Supavisor poolers (both the session pooler on 5432 and the transaction pooler on 6543, host For the direct connection, the usual survivor-of-resets is the password being mangled between the clipboard and the wire. Two specific cases: a You can settle all of it in one pass with psql, which takes the DSN and URL-encoding out of the equation: # 1) pooler — username MUST carry the project ref
PGPASSWORD='<paste exactly>' psql -h aws-1-<region>.pooler.supabase.com -p 6543 \
-U postgres.<PROJECT_REF> -d postgres -c 'select 1'
# 2) direct — bare username here
PGPASSWORD='<paste exactly>' psql -h db.<PROJECT_REF>.supabase.co -p 5432 \
-U postgres -d postgres -c 'select 1'
# 3) catch the invisible newline in what Render actually stored
printf '%s' "$PGPASSWORD" | wc -c # must equal the visible character countHow it decodes: (1) works but your app still fails → the bug is in the app's connection string on Render. (1) fails but (2) works → it was the pooler username all along. Both fail and |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Hi, I've been stuck on this for a while and hoping someone in the community has run into it before.
Authentication for the "postgres" user is failing with
"FATAL: password authentication failed for user postgres"
across ALL connection methods tested:
What I've already tried, with no success:
The application (running on Render, Python/FastAPI with psycopg2) has been down in production because of this.
Has anyone seen Supabase reject the postgres password like this, with everything else checking out? Any debugging ideas appreciated.
All reactions