Error in DBLOG nach ungeplantem Shutdown

Begonnen von eldrik, 11 Januar 2019, 14:22:37

Vorheriges Thema - Nächstes Thema

eldrik

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

DS_Starter

#1
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.
Proxmox+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

eldrik

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

DS_Starter

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
Proxmox+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

eldrik

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

connormcl

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...