Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Fix startup so that log prefix %h works for the log_connections message.
authorTom Lane <tgl@sss.pgh.pa.us>
Tue, 26 Jan 2016 20:38:33 +0000 (15:38 -0500)
committerTom Lane <tgl@sss.pgh.pa.us>
Tue, 26 Jan 2016 20:38:33 +0000 (15:38 -0500)
We entirely randomly chose to initialize port->remote_host just after
printing the log_connections message, when we could perfectly well do it
just before, allowing %h and %r to work for that message.  Per gripe from
Artem Tomyuk.

src/backend/postmaster/postmaster.c

index 3cba0e5f50ece7d9135165961306d80e3aa7402e..7e3fd0d3fdedebd2fd64f35f73e848f5080d8611 100644 (file)
@@ -4068,6 +4068,14 @@ BackendInitialize(Port *port)
    else
        snprintf(remote_ps_data, sizeof(remote_ps_data), "%s(%s)", remote_host, remote_port);
 
+   /*
+    * Save remote_host and remote_port in port structure (after this, they
+    * will appear in log_line_prefix data for log messages).
+    */
+   port->remote_host = strdup(remote_host);
+   port->remote_port = strdup(remote_port);
+
+   /* And now we can issue the Log_connections message, if wanted */
    if (Log_connections)
    {
        if (remote_port[0])
@@ -4081,12 +4089,6 @@ BackendInitialize(Port *port)
                            remote_host)));
    }
 
-   /*
-    * save remote_host and remote_port in port structure
-    */
-   port->remote_host = strdup(remote_host);
-   port->remote_port = strdup(remote_port);
-
    /*
     * If we did a reverse lookup to name, we might as well save the results
     * rather than possibly repeating the lookup during authentication.