From 72ebde2cb4d291302d25fc470ddf3bb6492fe3d5 Mon Sep 17 00:00:00 2001 From: Don Seiler Date: Wed, 20 Jun 2018 13:46:50 -0500 Subject: [PATCH 1/3] Add application_name to Port struct --- src/include/libpq/libpq-be.h | 1 + 1 file changed, 1 insertion(+) diff --git a/src/include/libpq/libpq-be.h b/src/include/libpq/libpq-be.h index 7698cd1f88..088ef346a8 100644 --- a/src/include/libpq/libpq-be.h +++ b/src/include/libpq/libpq-be.h @@ -135,6 +135,7 @@ typedef struct Port */ char *database_name; char *user_name; + char *application_name; char *cmdline_options; List *guc_options; -- 2.15.2 (Apple Git-101.1) From 19b1f01fe06c7962fe209e1451461d92dcb37be1 Mon Sep 17 00:00:00 2001 From: Don Seiler Date: Wed, 20 Jun 2018 13:47:37 -0500 Subject: [PATCH 2/3] Set port->application_name when processing startup packet --- src/backend/postmaster/postmaster.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/backend/postmaster/postmaster.c b/src/backend/postmaster/postmaster.c index a4b53b33cd..8e75c80728 100644 --- a/src/backend/postmaster/postmaster.c +++ b/src/backend/postmaster/postmaster.c @@ -2094,6 +2094,10 @@ retry1: pstrdup(nameptr)); port->guc_options = lappend(port->guc_options, pstrdup(valptr)); + + /* Copy application_name to port as well */ + if (strcmp(nameptr, "application_name") == 0) + port->application_name = pstrdup(valptr); } offset = valoffset + strlen(valptr) + 1; } -- 2.15.2 (Apple Git-101.1) From ff69a00e575393f47e31f37f356a381a9821752f Mon Sep 17 00:00:00 2001 From: Don Seiler Date: Wed, 20 Jun 2018 13:48:01 -0500 Subject: [PATCH 3/3] Include port->application_name on connection authorized log message --- src/backend/utils/init/postinit.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/backend/utils/init/postinit.c b/src/backend/utils/init/postinit.c index 09e0df290d..86db7630d5 100644 --- a/src/backend/utils/init/postinit.c +++ b/src/backend/utils/init/postinit.c @@ -266,8 +266,8 @@ PerformAuthentication(Port *port) #ifdef USE_SSL if (port->ssl_in_use) ereport(LOG, - (errmsg("connection authorized: user=%s database=%s SSL enabled (protocol=%s, cipher=%s, bits=%d, compression=%s)", - port->user_name, port->database_name, + (errmsg("connection authorized: user=%s database=%s application=%s SSL enabled (protocol=%s, cipher=%s, bits=%d, compression=%s)", + port->user_name, port->database_name, port->application_name be_tls_get_version(port), be_tls_get_cipher(port), be_tls_get_cipher_bits(port), @@ -275,8 +275,8 @@ PerformAuthentication(Port *port) else #endif ereport(LOG, - (errmsg("connection authorized: user=%s database=%s", - port->user_name, port->database_name))); + (errmsg("connection authorized: user=%s database=%s application=%s", + port->user_name, port->database_name, port->application_name))); } } -- 2.15.2 (Apple Git-101.1)