]> granicus.if.org Git - postgresql/commitdiff
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 27e3745499c90945b1c42933a0da111e0d5e79cd..9aaed5b98487a83aa5907adb82a0a7359ffac0d9 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.