Datenbank History

Hallo Forum,

in einer Datenbank werden bei uns Einträge gespeichert und auch fortgeschrieben, um Änderungen nachvollziehen zu können, wird die Datenbank interne “History” verwendet. Nun, möchte ich gerne Einträge, die noch nicht vorhanden sind, so eintragen, als wären sie bereits vor 3 Jahren eingetragen worden. Das heißt, wenn ich nach Daten von 2016 suche tauchen diese Einträge nicht auf, wenn ich aber nach Daten von 2013 suche finde ich diese Daten. Ist sowas prinzipiell möglich?

mfg
Balli

wenn Du Daten suchst solltest Du Dich mit WHERE beschäftigen. Das wurde extra dafür geschaffen, die Ergebnissmenge sinnvoll einzugrenzen.

Darum geht es “leider” nicht. Wir haben eine Software über die man mittels Timestamp Zustände von Einträgen erhält. Diese “Versionierung” basiert auf der History der Datenbank. Nun, sollen Einträge vorgenommen werden, die jedoch aktuell nicht mehr gültig sind, aber 2013 gültig waren. Wenn ich diese Einträge jetzt aber auf “normalem” Weg via Software einspiele sind diese Daten mit dem jetzigen Zeitstempel gültig und waren 2013 noch nicht existent.
Die Umsetzung und alles werde ich nicht durchführen, sondern durchführen lassen, ich möchte lediglich wissen ob sowas überhaupt möglich ist, oder wir ein viel größeres Fass aufmachen sollten und die gesamten Geschäftsprozesse umschreiben müssen.
mfg
Balli

Du kannst ja einfach den Zeitstempel via UPDATE ändern:

update the_table
   set zeitstempel = zeitstempel - interval '3' year;

dreht die Zeit um drei Jahre zurück