diff --git a/src/interfaces/libpq/fe-secure-openssl.c b/src/interfaces/libpq/fe-secure-openssl.c index a90d891c6c..33f095c12e 100644 --- a/src/interfaces/libpq/fe-secure-openssl.c +++ b/src/interfaces/libpq/fe-secure-openssl.c @@ -1235,9 +1235,14 @@ initialize_SSL(PGconn *conn) if (stat(fnbuf, &buf) != 0) { - appendPQExpBuffer(&conn->errorMessage, - libpq_gettext("certificate present, but not private key file \"%s\"\n"), - fnbuf); + if (errno == ENOENT) + appendPQExpBuffer(&conn->errorMessage, + libpq_gettext("certificate present, but not private key file \"%s\"\n"), + fnbuf); + else + appendPQExpBuffer(&conn->errorMessage, + libpq_gettext("could not stat private key file \"%s\": %m\n"), + fnbuf); return -1; } #ifndef WIN32