Manchmal gibt es Messungen in einer InfluxDB, die zerstören das schöne Bild – verursacht durch Messfehler, Programmierfehler oder Schnittstellenproblemen. Bei mir sind das manchmal fehlerhafte 0-Werte.
Leider gestaltet sich das Löschen von einzelnen Messungen aus einer InfluxDB nicht so einfach, wie der ein oder andere es vielleicht von anderen Datenbanken gewohnt ist, da die Zeit das einzig zugelassene Identifikationsmerkmal einer DELETE Operation ist.
Update 02.10.2022: Inzwischen unterstützt der ioBroker InfluxDB Adapter das Löschen von Messwerten. Dazu einfach den Datensatz auswählen und das Löschicon betätigen.
Hier meine Vorgehensweise (unter Windows):
- Über die Software InfluxDB Studio (nur für Windows) mit der Datenbank verbinden.
- Über folgenden Befehl und das Anpassen der Zeit (und der Datenbank) die zu löschenden Werte identifizieren.
SELECT * FROM „coronavirus-statistics.0.Germany.cases“ WHERE time > now() – 5d – 19h AND time < now() – 5d – 17h
Dabei steht „5d“ für fünf Tage, „19h“ für 19 Stunden, und so weiter. - Werden bei dem SELECT nur noch die Messungen angezeigt, welche gelöscht werden sollen, das “ SELECT * “ durch “ DELETE “ ersetzen und den Befehl ausführen.
- Fertig.
Ich übernehme keine Garantie für ungewollte Datenverluste.
delete measurment influxdb