Danke für den Hinweis. Ich habe daraufhin die beiden Ubuntu-Server gecheckt: beide haben die gleichen settings:
name | setting | source
------------------------+---------------+--------------------
log_timezone | Europe/Berlin | configuration file
TimeZone | Europe/Berlin | configuration file
timezone_abbreviations | Default | default
aber nur der virtuelle Server zeigt das auffällige Verhalten. Ich glaube im Augenblick nicht mehr, dass das Problem im Bereich der Datenbank liegt, weil Änderungen an Artikeln oder Aufträgen korrekt geloggt werden. (Tabellen parts, oe etc.) Da ist für itime now() als Standardwert gesetzt, für mtime dagegen nicht.
Spalte Datentyp Nicht Null Standardwert
itime timestamp without time zone now()
mtime timestamp without time zone
Beide Einträge werden korrekt geschrieben.
Für background_job_histories (run_at), und background_jobs (last_run_at) gibt es keine Standardwerte - die werden auch überschrieben / ignoriert, wenn ich etwas eintrage. Ich vermute daher, dass es irgendeinen Code gibt, der dafür sorgt, dass die Jobs 2 Stunden zu spät gestartet und anschließend "falsch" protokolliert werden.
Ich bin leider nicht so fit, dass ich den Perl-Code nach Auffälligkeiten durchforsten könnte.