diff --git a/src/backend/libpq/auth-scram.c b/src/backend/libpq/auth-scram.c index b9b6d464a0..4f6af23ae5 100644 --- a/src/backend/libpq/auth-scram.c +++ b/src/backend/libpq/auth-scram.c @@ -433,8 +433,14 @@ pg_be_scram_exchange(void *opaq, const char *input, int inputlen, result = SASL_EXCHANGE_FAILURE; } - if (result == SASL_EXCHANGE_FAILURE && state->logdetail && logdetail) - *logdetail = state->logdetail; + if (result == SASL_EXCHANGE_FAILURE && logdetail) + { + if (state->logdetail) + *logdetail = state->logdetail; + else if (!state->doomed) + *logdetail = psprintf(_("Password does not match for user \"%s\"."), + state->port->user_name); + } if (*output) *outputlen = strlen(*output);