From e77cfa54d700557ea700d47454c9e570f20f1841 Mon Sep 17 00:00:00 2001 From: Peter Eisentraut Date: Mon, 28 Jan 2019 14:36:48 +0100 Subject: Fix pg_stat_ssl.clientdn Return null if there is no client certificate. This is how it has always been documented, but in reality it returned an empty string. Reviewed-by: Kyotaro HORIGUCHI Discussion: https://www.postgresql.org/message-id/flat/398754d8-6bb5-c5cf-e7b8-22e5f0983caf@2ndquadrant.com/ --- src/backend/utils/adt/pgstatfuncs.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'src/backend/utils/adt/pgstatfuncs.c') diff --git a/src/backend/utils/adt/pgstatfuncs.c b/src/backend/utils/adt/pgstatfuncs.c index 053bb73863d..20ebcfbcdf6 100644 --- a/src/backend/utils/adt/pgstatfuncs.c +++ b/src/backend/utils/adt/pgstatfuncs.c @@ -652,7 +652,10 @@ pg_stat_get_activity(PG_FUNCTION_ARGS) values[20] = CStringGetTextDatum(beentry->st_sslstatus->ssl_cipher); values[21] = Int32GetDatum(beentry->st_sslstatus->ssl_bits); values[22] = BoolGetDatum(beentry->st_sslstatus->ssl_compression); - values[23] = CStringGetTextDatum(beentry->st_sslstatus->ssl_clientdn); + if (beentry->st_sslstatus->ssl_clientdn[0]) + values[23] = CStringGetTextDatum(beentry->st_sslstatus->ssl_clientdn); + else + nulls[23] = true; } else { -- cgit v1.2.3