diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c index 95f32de4e2..0c9c55cb30 100644 --- a/src/backend/utils/error/elog.c +++ b/src/backend/utils/error/elog.c @@ -2923,7 +2923,17 @@ send_message_to_server_log(ErrorData *edata) { log_line_prefix(&buf, edata); appendStringInfoString(&buf, _("STATEMENT: ")); - append_with_tabs(&buf, debug_query_string); + char *query_str = (char *)debug_query_string; + const char *nlpos = strstr(debug_query_string, "PASSWORD "); + /* + * Redact password, if password is specified + */ + if (nlpos != NULL) + { + query_str = pstrdup(debug_query_string); + query_str[nlpos - debug_query_string + 9] = '\0'; + } + append_with_tabs(&buf, query_str); appendStringInfoChar(&buf, '\n'); }