Hi,
durch einen ungeplanten Power Outage hat es heute kurzfristig meinen FHEM Server und die separate VM mit meiner Postgresql Datenbank heruntergerissen.
Die Dienste sind soweit alle wieder hochgekommen, bei Postgresql konnte ich beim Start auch keine Fehlermeldungen erkennen, doch meldet mir DBLOG nun beim übermitteln der Cache Einträge in die Datenbank.
DBD::Pg::st execute_array failed: ERROR: current transaction is aborted, commands ignored until end of transaction block [err was 7 now 2000000000]
executing 36745 generated 36745 errors at ./FHEM/93_DbLog.pm line 2094.
Im Postgres Log steht dann folgendes gehäuft
ERROR: current transaction is aborted, commands ignored until end of transaction block
STATEMENT: INSERT INTO current (TIMESTAMP, DEVICE, TYPE, EVENT, READING, VALUE, UNIT) VALUES ($1,$2,$3,$4,$5,$6,$7) ON CONFLICT (device,reading)
DO UPDATE SET TIMESTAMP=EXCLUDED.TIMESTAMP, DEVICE=EXCLUDED.DEVICE, TYPE=EXCLUDED.TYPE, EVENT=EXCLUDED.EVENT, READING=EXCLUDED.READING,
VALUE=EXCLUDED.VALUE, UNIT=EXCLUDED.UNIT
Jemand eine Idee?
Greetz
Eldrik
Hi eldrik,
sind in dem cache noch alte Enträge vor dem, oder während des crashes ?
Als erste Hilfe würde ich dir raten das Attribut:
commitMode = basic_ta:off
oder
commitMode = ac:on_ta:off
im DbLog-Device zu setzen.
Hi,
ob noch Einträge in dem Cache beim Start waren kann ich nicht mit Gewissheit sagen, die Anzahl wächst zumindest.
Ich habe jetzt einmal
commitMode = basic_ta:off
gesetzt, Fehlermeldungen kommen bisher nicht mehr, dafür zähl der Cache Wert nun über das von mir definierte max. ist das so ok oder läuft mir der Cache irgendwann über?
Greetz
Eldrik
Naja, ich würde sagen die DB hat natürlich noch irgendwein Problem wegen des Stromausfalls. Werden denn Daten in die DB geschrieben ?
Du könntest auch ein
set <DbLog> exportCache purgecache
durchführen um erstmal alle im Cache befindlichen Daten in ein File wegzuschreiben. Der Cache würde damit geleert. Die Daten kann man später aus dem File wieder importieren. Ggf. das Verfahren mehrfach wiederholen. Auf jeden Fall vorher Commandref dazu lesen !
Hast du die aktuellste DbLog-Version ? Ggf. updaten.
Habe heute leider keine Zeit mehr ...
LG,
Heiko
Hi Heiko,
ich beschäftige mich nachher noch ein wenig damit, ansonsten wird das Backup eingespielt, auf den halben Tag an Daten kann ich im Zweifel verzichten wenn es die DB darüber hinaus doch noch irgendwo zwicken sollte :).
Daten werden aber scheinbar geschrieben, da in meinen Plots bereits wieder jüngere Werte auftauchen.
Besten Dank.
Greetz
Eldrik
Das ist halt der Nachteil des Benutzens der Datenbank: ein DB-Admin wird benötigt...
Oder eine USV, um die Probleme von vornherein zu vermeiden...