diff --git a/doc/src/sgml/errcodes.sgml b/doc/src/sgml/errcodes.sgml
index d19de947b4..c05b4caf26 100644
--- a/doc/src/sgml/errcodes.sgml
+++ b/doc/src/sgml/errcodes.sgml
@@ -985,11 +985,6 @@
deadlock_detected
-
-40P02
-DATABASE DROPPED
-database_dropped
-
Class 42 — Syntax Error or Access Rule Violation>
@@ -1374,6 +1369,12 @@
cannot_connect_now
+
+57P04
+DATABASE DROPPED
+database_dropped
+
+
Class 58 — System Error (errors external to PostgreSQL> itself)>
diff --git a/src/backend/tcop/postgres.c b/src/backend/tcop/postgres.c
index f6ccbb9524..98b56d6582 100644
--- a/src/backend/tcop/postgres.c
+++ b/src/backend/tcop/postgres.c
@@ -2916,7 +2916,7 @@ ProcessInterrupts(void)
Assert(RecoveryConflictReason == PROCSIG_RECOVERY_CONFLICT_DATABASE);
pgstat_report_recovery_conflict(RecoveryConflictReason);
ereport(FATAL,
- (errcode(ERRCODE_T_R_DATABASE_DROPPED),
+ (errcode(ERRCODE_DATABASE_DROPPED),
errmsg("terminating connection due to conflict with recovery"),
errdetail_recovery_conflict()));
}
diff --git a/src/include/utils/errcodes.h b/src/include/utils/errcodes.h
index 8a9a8d460a..2bcaf037f7 100644
--- a/src/include/utils/errcodes.h
+++ b/src/include/utils/errcodes.h
@@ -243,7 +243,6 @@
#define ERRCODE_T_R_SERIALIZATION_FAILURE MAKE_SQLSTATE('4','0', '0','0','1')
#define ERRCODE_T_R_STATEMENT_COMPLETION_UNKNOWN MAKE_SQLSTATE('4','0', '0','0','3')
#define ERRCODE_T_R_DEADLOCK_DETECTED MAKE_SQLSTATE('4','0', 'P','0','1')
-#define ERRCODE_T_R_DATABASE_DROPPED MAKE_SQLSTATE('4','0', 'P','0','2')
/* Class 42 - Syntax Error or Access Rule Violation */
#define ERRCODE_SYNTAX_ERROR_OR_ACCESS_RULE_VIOLATION MAKE_SQLSTATE('4','2', '0','0','0')
@@ -333,6 +332,7 @@
#define ERRCODE_ADMIN_SHUTDOWN MAKE_SQLSTATE('5','7', 'P','0','1')
#define ERRCODE_CRASH_SHUTDOWN MAKE_SQLSTATE('5','7', 'P','0','2')
#define ERRCODE_CANNOT_CONNECT_NOW MAKE_SQLSTATE('5','7', 'P','0','3')
+#define ERRCODE_DATABASE_DROPPED MAKE_SQLSTATE('5','7', 'P','0','4')
/* Class 58 - System Error (class borrowed from DB2) */
/* (we define this as errors external to PostgreSQL itself) */
diff --git a/src/pl/plpgsql/src/plerrcodes.h b/src/pl/plpgsql/src/plerrcodes.h
index 50f5741379..e18f3b05a3 100644
--- a/src/pl/plpgsql/src/plerrcodes.h
+++ b/src/pl/plpgsql/src/plerrcodes.h
@@ -483,10 +483,6 @@
"deadlock_detected", ERRCODE_T_R_DEADLOCK_DETECTED
},
-{
- "database_dropped", ERRCODE_T_R_DATABASE_DROPPED
-},
-
{
"syntax_error_or_access_rule_violation", ERRCODE_SYNTAX_ERROR_OR_ACCESS_RULE_VIOLATION
},
@@ -739,6 +735,10 @@
"cannot_connect_now", ERRCODE_CANNOT_CONNECT_NOW
},
+{
+ "database_dropped", ERRCODE_DATABASE_DROPPED
+},
+
{
"io_error", ERRCODE_IO_ERROR
},