Hi,
keine Linux Frage, aber bla bla jarre jarre sry
Ich will die Datensaetze dreier PostgreDBs abgleichen.
Konkret geht es um Grafana DB Instanzen und deren Datasources und Dashboards
Die DS und Dashboards in der Liveinstanz sollen allen auch in QA und DEV verfuegbar sein.
Hierfuer gibt es zwei Tabellen
- datasource
- dashboards
Ich will nun in python die Daten in Live auslesen und Line per Line pruefen sind diese schon vorhanden, wenn nein mache ein insert und wenn ja mache ein update auf die Felder die sich unterscheiden. Alternativ koennte ich auch ein "on conflict do update" oder spaeter mit Postgre 9.5 "upsert" machen.
Ich haette bei der "on conflict" Variante jedoch immer ein update auf allen Tabellen.Code:INSERT INTO users (id, level) VALUES (1, 0) ON CONFLICT (id) DO UPDATE SET level = users.level + 1;
Mein Frage also, faellt euch etwas in SQL einwas weniger update Operationen hat wenn der Datensatz schon vorhanden ist.
Ich streube mich etwas, das ganze in Pruefiterationen in python zu machen, da das etwas haesslich ist und bei Schemaaenderungen nur Aerger bringt
Hintergrund des ganzen. Ich habe in den einzelnen Umgebungen je zwei Toolmaschinen u.A. mit Grafana drauf.
in DEV und QA soll mit den Technologien rumgespielt werden und in dann in allen Stages identisch zur Verfuegung stehen, Test und Spiel Dashboards und Datasources sollen erhalten bleiben, deswegen kommt ein "dump restore" nicht in Frage.
Gruss Stefan
Lesezeichen