Clearer error messages for `supabase link`
Is your feature request related to a problem? Please describe.
When linking projects for local development with supabase link, you get the following error for the following cases
- Your host isn't in the IP allow list.
- Your host is in the IP allow list, but you've provided an invalid password
failed to connect to postgres: failed to connect to `host=aws-0-us-east-1.pooler.supabase.com user=postgres.vizglusznacdygtioulv database=postgres`: server error (FATAL: SSL connection is required (SQLSTATE XX000))
Searches on this error send you down incorrect (and time-consuming) rabbit holes to threads like these
- https://stackoverflow.com/questions/77990019/cant-reach-database-server-at-aws-0-us-east-1-pooler-supabase-com5432
- failed to connect to postgres: failed to connect to
host=aws-0-us-west-1.pooler.supabase.com user=postgres.efxwfeyycyccjijbttyb database=postgres: failed SASL auth (invalid SCRAM server-final-message received from server) #2347
Describe the solution you'd like
Finer-grained error messages. When I switch to trying to connect with psql, I get the following errors, so I suspect we can provide them in the error output from supabase link
# host not in IP allow list
psql: error: connection to server at "aws-0-us-east-1.pooler.supabase.com" (52.45.94.125), port 6543 failed: FATAL: Address not in tenant allow_list: {xxx, xxx, xxx, xxx}
connection to server at "aws-0-us-east-1.pooler.supabase.com" (52.45.94.125), port 6543 failed: FATAL: SSL connection is required
# incorrect password
psql: error: connection to server at "aws-0-us-east-1.pooler.supabase.com" (44.216.29.125), port 6543 failed: error received from server in SCRAM exchange: Wrong password