pgsql: Only allow one recovery target setting - Mailing list pgsql-committers

From Peter Eisentraut
Subject pgsql: Only allow one recovery target setting
Date
Msg-id E1gRzpy-0000j5-NQ@gemulon.postgresql.org
Whole thread Raw
List pgsql-committers
Only allow one recovery target setting

The previous recovery.conf regime accepted multiple recovery_target*
settings and used the last one.  This does not translate well to the
general GUC system.  Specifically, under EXEC_BACKEND, the settings
are written out not in any particular order, so the order in which
they were originally set is not available to new processes.

Rather than redesign the GUC system, it was decided to abandon the old
behavior and only allow one recovery target setting.  A second setting
will cause an error.  However, it is allowed to set the same parameter
multiple times or unset a parameter and set a different one.

Discussion:
https://www.postgresql.org/message-id/flat/27802171543235530%40iva2-6ec8f0a6115e.qloud-c.yandex.net#701a59c837ad0bf8c244344aaf3ef5a4

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/f2cbffc7a6183a359b339cfed65e9d609de756f0

Modified Files
--------------
doc/src/sgml/config.sgml                    |  2 +-
src/backend/utils/misc/guc.c                | 46 ++++++++++++++++++++++++++---
src/test/recovery/t/003_recovery_targets.pl | 46 ++++++++++++-----------------
3 files changed, 62 insertions(+), 32 deletions(-)


pgsql-committers by date:

Previous
From: Bruce Momjian
Date:
Subject: pgsql: C comment: remove extra '*'
Next
From: Peter Geoghegan
Date:
Subject: pgsql: Have BufFileSize() ereport() on FileSize() failure.