Hallo Zusammen,
ich bin neu im Thema Postgres.
Unser Produktive System läuft in Kubernetes und viele Pods nutzen verschiedene Tabellen in einer Postgressdatenbank Version 11. Gelegentlich kommt es dazu, dass Postgres nicht mehr läuft bis wir den Transactionlog manuell gelöscht haben.
Meine Frage:
Wie kriegt man den Transactionlog am besten kaput?
Habt ihr Tipps? Was sollte man normalerweise vermeiden?
Gibt mir gerne schlechte Beispiele.
Mein aktueller Status.
Ich habe einen Test gebaut der folgendes tut.
a) Datenbank öffnen
b) Transaktion starten
c) Datenbankoperation ausführen
d) - ReadLine - damit der Prozess anhält.
Das wird 100 mal wiederholt.
e) 100 Client Prozesse killen, Postgress Docker killen (dann wird a bis d wiederholt und anders herum gekillt)
f) Resultat ? Datenbank noch mit den üblichen Tools erreichbar -> Ja
Ich habe auf meinen Rechner Docker Desktop und darin Postgress 11 am start.
Ich bin davon ausgegangen das ich den Fehler nachstellen kann, wenn ich die Clienten oder Postgress während einer Transaction vor dem Commit abschieße / kille.
Aber erstaunlicherweise bekomme ich die Datenbank / Transactionlog nicht kaputt und alles was ich bisher ausprobiert habe funktioniert in meiner Testumgebung richtig gut.
Ich würde mich sehr über Tipps zum schrotten des Postgres feuen.
VG Ben3D
Mehr Details und Files zum nachstellen in meinen Git