pgsql: Change ParseConfigFp() so that it doesn't process unused entry o - Mailing list pgsql-committers

From Fujii Masao
Subject pgsql: Change ParseConfigFp() so that it doesn't process unused entry o
Date
Msg-id E1XEuOa-0006xk-L4@gemulon.postgresql.org
Whole thread Raw
List pgsql-committers
Change ParseConfigFp() so that it doesn't process unused entry of each parameter.

When more than one setting entries of same parameter exist in the
configuration file, PostgreSQL uses only entry appearing last in
configuration file scan. Since the other entries are not used,
ParseConfigFp() doesn't need to process them, but previously it did
that. This problematic behavior caused the configuration file scan
to detect invalid settings of unused entries (e.g., existence of
multiple entries of PGC_POSTMASTER parameter) and log the messages
complaining about them.

This commit changes the configuration file scan so that it processes
only last entry of each parameter.

Note that when multiple entries of same parameter exist both in
postgresql.conf and postgresql.auto.conf, unused entries in
postgresql.conf are still processed only at postmaster startup.

The problem has existed since old version, but a user is more likely
to encounter it since 9.4 where ALTER SYSTEM command was introduced.
So back-patch to 9.4.

Amit Kapila, slightly modified by me. Per report from Christoph Berg.

Branch
------
master

Details
-------
http://git.postgresql.org/pg/commitdiff/e3da0d4d1a47e2049ae16aa30bb7bf3105dc8c45

Modified Files
--------------
src/backend/utils/misc/guc-file.l |   34 ++++++++++++++++++++++++++++++++--
1 file changed, 32 insertions(+), 2 deletions(-)


pgsql-committers by date:

Previous
From: Kevin Grittner
Date:
Subject: pgsql: Fix typo in C comment.
Next
From: Fujii Masao
Date:
Subject: pgsql: Change ParseConfigFp() so that it doesn't process unused entry o