Commit 2e0cc1f0 authored by Tom Lane's avatar Tom Lane

Fix inappropriate error messages for Hot Standby misconfiguration errors.

Give the correct name of the GUC parameter being complained of.
Also, emit a more suitable SQLSTATE (INVALID_PARAMETER_VALUE,
not the default INTERNAL_ERROR).

Gurjeet Singh, errcode adjustment by me
parent 185b744e
...@@ -5989,9 +5989,10 @@ GetXLogReceiptTime(TimestampTz *rtime, bool *fromStream) ...@@ -5989,9 +5989,10 @@ GetXLogReceiptTime(TimestampTz *rtime, bool *fromStream)
*/ */
#define RecoveryRequiresIntParameter(param_name, currValue, minValue) \ #define RecoveryRequiresIntParameter(param_name, currValue, minValue) \
do { \ do { \
if (currValue < minValue) \ if ((currValue) < (minValue)) \
ereport(ERROR, \ ereport(ERROR, \
(errmsg("hot standby is not possible because " \ (errcode(ERRCODE_INVALID_PARAMETER_VALUE), \
errmsg("hot standby is not possible because " \
"%s = %d is a lower setting than on the master server " \ "%s = %d is a lower setting than on the master server " \
"(its value was %d)", \ "(its value was %d)", \
param_name, \ param_name, \
...@@ -6032,10 +6033,10 @@ CheckRequiredParameterValues(void) ...@@ -6032,10 +6033,10 @@ CheckRequiredParameterValues(void)
RecoveryRequiresIntParameter("max_connections", RecoveryRequiresIntParameter("max_connections",
MaxConnections, MaxConnections,
ControlFile->MaxConnections); ControlFile->MaxConnections);
RecoveryRequiresIntParameter("max_prepared_xacts", RecoveryRequiresIntParameter("max_prepared_transactions",
max_prepared_xacts, max_prepared_xacts,
ControlFile->max_prepared_xacts); ControlFile->max_prepared_xacts);
RecoveryRequiresIntParameter("max_locks_per_xact", RecoveryRequiresIntParameter("max_locks_per_transaction",
max_locks_per_xact, max_locks_per_xact,
ControlFile->max_locks_per_xact); ControlFile->max_locks_per_xact);
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment