Zum Hauptinhalt springen

Datenbank-Überwachung

Eine Automation starten, wenn eine SQL-Abfrage neue, geänderte oder entfernte Zeilen liefert.

Funktionsweise​

Der Trigger führt in einem festen Intervall eine SELECT-Anweisung aus und vergleicht das Ergebnis mit dem zuletzt bekannten Stand. Neue Zeilen starten einen Lauf; mit einer Schlüsselspalte erkennt er auch geänderte Zeilen (einschließlich der geänderten Spalten) und auf Wunsch entfernte Zeilen.

Der erste Start merkt sich nur den aktuellen Stand – vorhandene Zeilen starten keine Läufe (außer Sie wünschen es). Der Stand bleibt über Neustarts erhalten: Änderungen, die passieren, während das AI Kit nicht läuft, werden beim nächsten Start gemeldet.

Die Überwachung liest nur. Alles andere als eine einzelne SELECT-Anweisung wird abgelehnt.

Einstellungen​

FeldWas es steuertErforderlichHinweise
Datenbanktyp„PostgreSQL“ (postgres), „MySQL / MariaDB“ (mysql), „Microsoft SQL Server“ (mssql) oder „SQLite (Datei auf dem Server oder libSQL-Adresse)“ (sqlite).erforderlich
Server / PortWo die Datenbank läuft.erforderlich außer bei SQLiteStandard-Ports 5432 / 3306 / 1433.
Benutzer / PasswortAnmeldung an der Datenbank.je nach DatenbankDas Passwort wird verschlüsselt gespeichert.
DatenbankName der Datenbank.erforderlichSQLite: absoluter Dateipfad auf dem Server oder eine libSQL-Adresse.
Verschlüsselte Verbindung (TLS)Verbindung per TLS.optionalStandardmäßig aus, bei SQL Server an.
AbfrageDie SELECT-Anweisung, deren Ergebnis beobachtet wird.erforderlich
SchlüsselspalteSpalte, die eine Zeile kennzeichnet, z. B. id.optionalNötig, um geänderte und entfernte Zeilen zu erkennen. Ohne sie werden nur neue Zeilen erkannt.
Neue Zeilen / Geänderte Zeilen / Entfernte ZeilenWelche Änderungen Läufe starten.optionalNeue und geänderte standardmäßig an, entfernte aus.
Läufeper-run: „Ein Lauf mit allen Änderungen“ · per-row: „Ein Lauf je geänderter Zeile“.optionalStandard per-run.
Vorhandene Zeilen beim ersten Start als neu meldenBeim ersten Start einmal das ganze Ergebnis melden.optionalStandardmäßig aus.
Abfrageintervall (ms)Wie oft die Abfrage läuft.optionalStandard: 60.000 (einmal pro Minute), mindestens 5.000.
Max. Zeilen der AbfrageObergrenze für das Ergebnis.optionalStandard: 10.000. Ein größeres Ergebnis wird nicht verglichen – die Überwachung meldet einen Fehler, statt den Rest als entfernt zu behandeln.
Max. Änderungen je PrüfungObergrenze je Lauf.optionalStandard: 500; der Rest folgt bei der nächsten Prüfung.
Ergebnis (Zeilen)Ausgabe in den Speicher mit den neuen und geänderten Zeilen.erforderlichEine Liste (per-row: die eine Zeile).
Änderungen (Details)Ausgabe in den Speicher mit den Details.optional{ count, added, changed, removed, changes: [{ changeType, key, row, previous, changedFields }] }

📷 SCREENSHOT: Die Einstellungen der Datenbank-Überwachung mit Verbindung, Abfrage und Schlüsselspalte.

Beispielszenario​

Auf bezahlte Bestellungen reagieren. Überwachen Sie SELECT id, customer, status, total FROM orders WHERE created_at > CURRENT_DATE - 30 mit der Schlüsselspalte id. Wechselt der Status einer Bestellung auf paid, erhält der Lauf die Bestellung unter Ergebnis (Zeilen) und die geänderte Spalte unter Änderungen (Details); eine Bedingung am nächsten Schritt prüft auf paid, eine KI-Aktion entwirft die Rechnungs-E-Mail und „E-Mail senden“ verschickt sie.

Empfehlungen​

  • ✅ Verwenden Sie eine Schlüsselspalte, wann immer die Tabelle eine hat – sonst bleiben Änderungen unsichtbar.
  • ✅ Halten Sie das Ergebnis mit einem Zeitfilter klein (z. B. die letzten 30 Tage). Bei jeder Prüfung wird das ganze Ergebnis verglichen.
  • ✅ Verwenden Sie für diese Verbindung einen eigenen Benutzer mit reinen Leserechten.
  • ✅ Beginnen Sie mit einem längeren Abfrageintervall (z. B. 5 Minuten) und verkürzen Sie es nur, wenn Sie schneller reagieren müssen.
  • ❌ Wählen Sie keine Spalten aus, die sich bei jedem Lesen ändern (z. B. NOW()) – sonst gilt jede Zeile als geändert.

Nächste Schritte​