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".
--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company