Обсуждение: BUG #16049: log_line_prefix=%a and log_connections - application_name missing
BUG #16049: log_line_prefix=%a and log_connections - application_name missing
От
PG Bug reporting form
Дата:
The following bug has been logged on the website: Bug reference: 16049 Logged by: death lock Email address: deathlock13@gmail.com PostgreSQL version: 9.5.19 Operating system: Debian 11 Description: [unknown] LOCATION: BackendRun, postmaster.c:4300 [unknown] DEBUG: 00000: InitPostgres [unknown] LOCATION: InitPostgres, postinit.c:555 [unknown] DEBUG: 00000: my backend ID is 4 [unknown] LOCATION: SharedInvalBackendInit, sinvaladt.c:324 [unknown] DEBUG: 00000: StartTransaction [unknown] LOCATION: ShowTransactionState, xact.c:4975 [unknown] DEBUG: 00000: name: unnamed; blockState: DEFAULT; state: INPROGR, xid/subid/cid: 0/1/0, nestlvl: 1, children: [unknown] LOCATION: ShowTransactionStateRec, xact.c:5004 # log_connections - application_name MIA [unknown] LOG: 00000: connection authorized: user=postgres database=postgres [unknown] LOCATION: PerformAuthentication, postinit.c:257 psql DEBUG: 00000: CommitTransaction psql LOCATION: ShowTransactionState, xact.c:4975 psql DEBUG: 00000: name: unnamed; blockState: STARTED; state: INPROGR, xid/subid/cid: 0/1/0, nestlvl: 1, children: ... psql DEBUG: 00000: proc_exit(0): 4 callbacks to make psql LOCATION: proc_exit_prepare, ipc.c:187 # log_disconnections=on psql LOG: 00000: disconnection: session time: 0:00:10.280 user=postgres database=postgres host=[local]
PG Bug reporting form <noreply@postgresql.org> writes: > # log_connections - application_name MIA > [unknown] LOG: 00000: connection authorized: user=postgres > database=postgres This was changed about a year ago, see https://www.postgresql.org/message-id/flat/CAHJZqBB_Pxv8HRfoh%2BAB4KxSQQuPVvtYCzMg7woNR3r7dfmopw%40mail.gmail.com so v12 will do what you want. regards, tom lane
Re: BUG #16049: log_line_prefix=%a and log_connections -application_name missing
От
death lock
Дата:
"will do what you want." Not exactly - I want it to appear according to my log_line_prefix - 4 ex. ='%t|%p|%a|%d|%u|%h| ' I've used that patch on 9.5.19 In elog.c there's : const char *appname = application_name; // line 2357 other cases have : const char *username = MyProcPort->user_name; After adding 'MyProcPort->' to %a case '|psql|' shows up like I wanted .. but connection process Segfaults :/ I've tracked it to postinit.c - process_startup_options() - this loop : while (gucopts) {...} gucopts = list_head(port->guc_options); ereport(LOG, (errmsg(" +++ process_startup_options : [%s] ", gucopts))); // adding this line returns : 2019-10-15 14:28:03 CEST|9760|psql|postgres|postgres|[local]| LOCATION: PerformAuthentication, postinit.c:257 2019-10-15 14:28:03 CEST|9760|psql|postgres|postgres|[local]| LOG: 00000: +++ process_startup_options : [local all all trust] 2019-10-15 14:28:03 CEST|9760|psql|postgres|postgres|[local]| LOCATION: process_startup_options, postinit.c:1066 Sorry 4 nagging , any pointers much appreciated On 10/11/19, Tom Lane <tgl@sss.pgh.pa.us> wrote: > > This was changed about a year ago, see > > https://www.postgresql.org/message-id/flat/CAHJZqBB_Pxv8HRfoh%2BAB4KxSQQuPVvtYCzMg7woNR3r7dfmopw%40mail.gmail.com > > so v12 will do what you want. > > regards, tom lane
Re: BUG #16049: log_line_prefix=%a and log_connections -application_name missing
От
death lock
Дата:
Not sure where I messed up yesterday , slimmed patch in attachment --- postgresql-9.5.19/src/backend/utils/error/elog.c +++ postgresql-9.5.19/src/backend/utils/error/elog.c @@ -2354,7 +2354,9 @@ case 'a': if (MyProcPort) { - const char *appname = application_name; + + // ereport(LOG, (errmsg(" ++ MyProcPort : [%s] ", application_name))); + const char *appname = MyProcPort->application_name; adding 'MyProcPort->' works great for me 1. why appname =application_name doesn't produce err , but trying to print application_name value -> SegFault ?
Вложения
Re: BUG #16049: log_line_prefix=%a and log_connections -application_name missing
От
Michael Paquier
Дата:
On Wed, Oct 16, 2019 at 01:42:20PM +0200, death lock wrote: > Not sure where I messed up yesterday , slimmed patch in attachment As Tom has mentioned on this thread, this has been committed to v12, and it seems that this qualifies as a new feature so it won't be back-patched. FWIW, here is the actual commit, your patch could be more refined based on it I guess: https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=8bddc86400 -- Michael