• Fujii Masao's avatar
    Change first call of ProcessConfigFile so as to process only data_directory. · 3e3f6597
    Fujii Masao authored
    When both postgresql.conf and postgresql.auto.conf have their own entry of
    the same parameter, PostgreSQL uses the entry in postgresql.auto.conf because
    it appears last in the configuration scan. IOW, the other entries which appear
    earlier are ignored. But, previously, ProcessConfigFile() detected the invalid
    settings of even those unused entries and emitted the error messages
    complaining about them, at postmaster startup. Complaining about the entries
    to ignore is basically useless.
    
    This problem happened because ProcessConfigFile() was called twice at
    postmaster startup and the first call read only postgresql.conf. That is, the
    first call could check the entry which might be ignored eventually by
    the second call which read both postgresql.conf and postgresql.auto.conf.
    To work around the problem, this commit changes ProcessConfigFile so that
    its first call processes only data_directory and the second one does all the
    entries. It's OK to process data_directory in the first call because it's
    ensured that data_directory doesn't exist in postgresql.auto.conf.
    
    Back-patch to 9.4 where postgresql.auto.conf was added.
    
    Patch by me. Review by Amit Kapila
    3e3f6597
guc-file.l 26.1 KB