• Tom Lane's avatar
    Disallow newlines in parameter values to be set in ALTER SYSTEM. · 99f3b561
    Tom Lane authored
    As noted by Julian Schauder in bug #14063, the configuration-file parser
    doesn't support embedded newlines in string literals.  While there might
    someday be a good reason to remove that restriction, there doesn't seem
    to be one right now.  However, ALTER SYSTEM SET could accept strings
    containing newlines, since many of the variable-specific value-checking
    routines would just see a newline as whitespace.  This led to writing a
    postgresql.auto.conf file that was broken and had to be removed manually.
    
    Pending a reason to work harder, just throw an error if someone tries this.
    
    In passing, fix several places in the ALTER SYSTEM logic that failed to
    provide an errcode() for an ereport(), and thus would falsely log the
    failure as an internal XX000 error.
    
    Back-patch to 9.4 where ALTER SYSTEM was introduced.
    99f3b561
guc.c 261 KB