FEHLER: 40001: storniere Anfrage wegen Konflikt mit der Wiederherstellung

Hallo,

wenn ich einen SELECT auf der Slave-DB absetze bekomme ich

Query failed: FEHLER: 40001: storniere Anfrage wegen Konflikt mit der Wiederherstellung
DETAIL: Benutzeranfrage hat möglicherweise Zeilenversionen sehen müssen, die entfernt werden müssen.
ORT: ProcessInterrupts, postgres.c:2984

Was mache ich falsch? Ich kann mit dem, Fehler irgendwie nichts anfangen. Was will mir die DB sagen?

Gruß, Georg

Du machst nix falsch :wink:

Deine Abfrage auf dem Standby läuft. Während dieser Zeit wird auf dem Master etwas gelöscht und Autovacuum markiert diesen Datensatz (oder mehrere) als gelöscht/wiederverendbar. Dies wird repliziert, der Standby muß das also auch machen. Daher kracht das.

Was kannst Du machen, das zu umgehen?

  • lang laufende Abfragen auf dem Standby vermeiden
  • hot_standby_feedback einschalten
  • max_standby_archive_delay / max_standby_streaming_delay passend setzen
  • eine Admin-Schulung bei uns buchen