iX 2/2016
S. 46
Review
Datenbanken
Aufmacherbild

PostgreSQL 9.5 führt UPSERTS ein

Konfliktbehandlung

Ein bedingtes INSERT mit UPDATE – auch UPSERT genannt – ist eines der Highlights der neuen PostgreSQL-Version 9.5. Ein schneller Index für große Tabellen ergänzt die Big-Data-Funktionen. Auch beim Tempo, beim Reporting und bei der Sicherheit gibt es Verbesserungen.

Zum Jahresanfang 2016 ist es wieder so weit: Eine neue PostgreSQL-Version steht ins Haus und enthält zahlreiche Neuerungen, auf die Entwickler und Administratorinnen schon lange gewartet haben. Die Neuauflage hat diesmal einen deutlichen Datenbankentwickler-Geschmack mit weniger administrativen Features als manche andere Release.

Ein Highlight dürften für viele PostgreSQL-Entwickler die sogenannten UPSERTS sein (zusammengesetzt aus UPDATE und INSERT): Dieses Befehlskonstrukt verbindet ein INSERT mit der Bedingung ON CONFLICT DO NOTHING/UPDATE. Wenn etwa ein Datum nicht existiert, wird es eingefügt, andernfalls aktualisiert. Der Befehl beherrscht außerdem ein ignorantes (unwissendes) INSERT. In diesem Fall wird nur das nicht vorhandene Datum eingefügt, das existierende bleibt unverändert: