mirror of
https://github.com/postgres/postgres.git
synced 2025-11-25 12:03:53 +03:00
Extend near-wraparound hints to include replication slots
Author: Feike Steenbergen Reviewed-by: Michael Paquier
This commit is contained in:
@@ -124,14 +124,14 @@ GetNewTransactionId(bool isSubXact)
|
||||
errmsg("database is not accepting commands to avoid wraparound data loss in database \"%s\"",
|
||||
oldest_datname),
|
||||
errhint("Stop the postmaster and vacuum that database in single-user mode.\n"
|
||||
"You might also need to commit or roll back old prepared transactions.")));
|
||||
"You might also need to commit or roll back old prepared transactions, or drop stale replication slots.")));
|
||||
else
|
||||
ereport(ERROR,
|
||||
(errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
|
||||
errmsg("database is not accepting commands to avoid wraparound data loss in database with OID %u",
|
||||
oldest_datoid),
|
||||
errhint("Stop the postmaster and vacuum that database in single-user mode.\n"
|
||||
"You might also need to commit or roll back old prepared transactions.")));
|
||||
"You might also need to commit or roll back old prepared transactions, or drop stale replication slots.")));
|
||||
}
|
||||
else if (TransactionIdFollowsOrEquals(xid, xidWarnLimit))
|
||||
{
|
||||
@@ -144,14 +144,14 @@ GetNewTransactionId(bool isSubXact)
|
||||
oldest_datname,
|
||||
xidWrapLimit - xid),
|
||||
errhint("To avoid a database shutdown, execute a database-wide VACUUM in that database.\n"
|
||||
"You might also need to commit or roll back old prepared transactions.")));
|
||||
"You might also need to commit or roll back old prepared transactions, or drop stale replication slots.")));
|
||||
else
|
||||
ereport(WARNING,
|
||||
(errmsg("database with OID %u must be vacuumed within %u transactions",
|
||||
oldest_datoid,
|
||||
xidWrapLimit - xid),
|
||||
errhint("To avoid a database shutdown, execute a database-wide VACUUM in that database.\n"
|
||||
"You might also need to commit or roll back old prepared transactions.")));
|
||||
"You might also need to commit or roll back old prepared transactions, or drop stale replication slots.")));
|
||||
}
|
||||
|
||||
/* Re-acquire lock and start over */
|
||||
@@ -403,14 +403,14 @@ SetTransactionIdLimit(TransactionId oldest_datfrozenxid, Oid oldest_datoid)
|
||||
oldest_datname,
|
||||
xidWrapLimit - curXid),
|
||||
errhint("To avoid a database shutdown, execute a database-wide VACUUM in that database.\n"
|
||||
"You might also need to commit or roll back old prepared transactions.")));
|
||||
"You might also need to commit or roll back old prepared transactions, or drop stale replication slots.")));
|
||||
else
|
||||
ereport(WARNING,
|
||||
(errmsg("database with OID %u must be vacuumed within %u transactions",
|
||||
oldest_datoid,
|
||||
xidWrapLimit - curXid),
|
||||
errhint("To avoid a database shutdown, execute a database-wide VACUUM in that database.\n"
|
||||
"You might also need to commit or roll back old prepared transactions.")));
|
||||
"You might also need to commit or roll back old prepared transactions, or drop stale replication slots.")));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user