Re: Error code for "terminating connection due to conflict with recovery" - Mailing list pgsql-hackers

From Simon Riggs
Subject Re: Error code for "terminating connection due to conflict with recovery"
Date
Msg-id 1297113114.1770.6037.camel@ebony
Whole thread Raw
In response to Re: Error code for "terminating connection due to conflict with recovery"  (Robert Haas <robertmhaas@gmail.com>)
Responses Re: Error code for "terminating connection due to conflict with recovery"
List pgsql-hackers
On Wed, 2011-02-02 at 21:21 -0500, Robert Haas wrote:
> On Tue, Feb 1, 2011 at 3:17 AM, Simon Riggs <simon@2ndquadrant.com> wrote:
> > ERRCODE_DATABASE_DROPPED    57P04   looks best
> 
> So I guess the only remaining issue is whether we should distinguish
> the error message text, as well as the error codes.  Tom was in favor
> of that upthread, and I am too.  Right now we have:
> 
>                 else if (RecoveryConflictPending && RecoveryConflictRetryable)
>                 {
>                         pgstat_report_recovery_conflict(RecoveryConflictReason);
>                         ereport(FATAL,
> 
> (errcode(ERRCODE_T_R_SERIALIZATION_FAILURE),
>                           errmsg("terminating connection due to
> conflict with recovery"),
>                                          errdetail_recovery_conflict()));
>                 }
>                 else if (RecoveryConflictPending)
>                 {
>                         /* Currently there is only one non-retryable
> recovery conflict */
>                         Assert(RecoveryConflictReason ==
> PROCSIG_RECOVERY_CONFLICT_DATABASE);
>                         pgstat_report_recovery_conflict(RecoveryConflictReason);
>                         ereport(FATAL,
>                                         (errcode(ERRCODE_DATABASE_DROPPED),
>                           errmsg("terminating connection due to
> conflict with recovery"),
>                                          errdetail_recovery_conflict()));
>                 }
> 
> The simplest thing to do seems to be to make the second one read
> "terminating connection because the database has been dropped".

The error text is already differentiated by
errdetail_recovery_conflict().

-- Simon Riggs           http://www.2ndQuadrant.com/books/PostgreSQL Development, 24x7 Support, Training and Services



pgsql-hackers by date:

Previous
From: Dave Page
Date:
Subject: Re: Sync Rep for 2011CF1
Next
From: Tom Lane
Date:
Subject: Re: More extension issues: ownership and search_path