diff options
Diffstat (limited to 'src/backend/postmaster/pgstat.c')
-rw-r--r-- | src/backend/postmaster/pgstat.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/src/backend/postmaster/pgstat.c b/src/backend/postmaster/pgstat.c index d87d9d06ee2..123369f4faf 100644 --- a/src/backend/postmaster/pgstat.c +++ b/src/backend/postmaster/pgstat.c @@ -2889,6 +2889,11 @@ BackendStatusShmemSize(void) size = add_size(size, mul_size(sizeof(PgBackendSSLStatus), NumBackendStatSlots)); #endif +#ifdef ENABLE_GSS + /* BackendGssStatusBuffer: */ + size = add_size(size, + mul_size(sizeof(PgBackendGSSStatus), NumBackendStatSlots)); +#endif return size; } @@ -3172,12 +3177,13 @@ pgstat_bestart(void) #ifdef ENABLE_GSS if (MyProcPort && MyProcPort->gss != NULL) { + const char *princ = be_gssapi_get_princ(MyProcPort); + lbeentry.st_gss = true; lgssstatus.gss_auth = be_gssapi_get_auth(MyProcPort); lgssstatus.gss_enc = be_gssapi_get_enc(MyProcPort); - - if (lgssstatus.gss_auth) - strlcpy(lgssstatus.gss_princ, be_gssapi_get_princ(MyProcPort), NAMEDATALEN); + if (princ) + strlcpy(lgssstatus.gss_princ, princ, NAMEDATALEN); } else { |