Ich benötige exklusiven Zugriff auf eine Datenbank. Ist es möglich, mit einem SQL-Befehl alle anderen Benutzer von einer Postgres-Datenbank zu trennen? Oder schließen Sie alle anderen Verbindungen und erhalten Sie exklusiven Zugriff.
Dies dient zum Testen von Einheiten und die Tests werden nur manuell ausgeführt, sodass keine Gefahr besteht. Es sind nur alte tote Verbindungen betroffen.
Es gibt keine anderen Benutzer, die eine Verbindung zu diesen unittesten Datenbanken herstellen.
Die alten toten Verbindungen entstehen durch die Entwicklung. Dies passiert die ganze Zeit, wenn ein Test, der gerade geschrieben wird oder fehlschlägt, nicht sauber beendet wird.
Wenn jemand andere Benutzer nach dem Trennen der Verbindung in einem Produktionsszenario für eine Weile aussperren muss, lesen Sie die nachstehende Antwort von Scott Marlowe: /dba//a/6184/2024
Siehe auch diese ähnliche Frage zu dba: Wie löse ich alle Verbindungen zu einer bestimmten Datenbank, ohne den Server zu stoppen?