diff options
Diffstat (limited to 'src/backend/tcop/postgres.c')
-rw-r--r-- | src/backend/tcop/postgres.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/backend/tcop/postgres.c b/src/backend/tcop/postgres.c index a10ecbaf50b..01b6cc1f7d3 100644 --- a/src/backend/tcop/postgres.c +++ b/src/backend/tcop/postgres.c @@ -2526,6 +2526,9 @@ errdetail_recovery_conflict(void) case PROCSIG_RECOVERY_CONFLICT_SNAPSHOT: errdetail("User query might have needed to see row versions that must be removed."); break; + case PROCSIG_RECOVERY_CONFLICT_LOGICALSLOT: + errdetail("User was using a logical slot that must be invalidated."); + break; case PROCSIG_RECOVERY_CONFLICT_STARTUP_DEADLOCK: errdetail("User transaction caused buffer deadlock with recovery."); break; @@ -3143,6 +3146,12 @@ RecoveryConflictInterrupt(ProcSignalReason reason) InterruptPending = true; break; + case PROCSIG_RECOVERY_CONFLICT_LOGICALSLOT: + RecoveryConflictPending = true; + QueryCancelPending = true; + InterruptPending = true; + break; + default: elog(FATAL, "unrecognized conflict mode: %d", (int) reason); |