Make "postgres -C guc" print "" not "(null)" for null-valued GUCs.
authorTom Lane <[email protected]>
Wed, 22 Jun 2016 15:55:18 +0000 (11:55 -0400)
committerTom Lane <[email protected]>
Wed, 22 Jun 2016 15:55:35 +0000 (11:55 -0400)
Commit 0b0baf262 et al made this case print "(null)" on the grounds that
that's what happened on platforms that didn't crash.  But neither behavior
was actually intentional.  What we should print is just an empty string,
for compatibility with the behavior of SHOW and other ways of examining
string GUCs.  Those code paths don't distinguish NULL from empty strings,
so we should not here either.  Per gripe from Alain Radix.

Like the previous patch, back-patch to 9.2 where -C option was introduced.

Discussion: <CA+YdpwxPUADrmxSD7+Td=uOshMB1KkDN7G7cf+FGmNjjxMhjbw@mail.gmail.com>

src/backend/postmaster/postmaster.c

index 6e29609ff6d11915640a6f5157060cbd51fe2183..99248f57579613a0e2c2f7313c45224ce5a5bf17 100644 (file)
@@ -790,7 +790,7 @@ PostmasterMain(int argc, char *argv[])
        const char *config_val = GetConfigOption(output_config_variable,
                                                 false, false);
 
-       puts(config_val ? config_val : "(null)");
+       puts(config_val ? config_val : "");
        ExitPostmaster(0);
    }