You're correct, I overlooked triggers. Though that may be a bridge too far for some folks, triggers are only really comfortable for folks who are deep on RDBMSes. For lots of app developers the ORM is the limit of the world.
I'm not sure if any ORMs actually support this though.
And without the ORM layer there's this extension for Postgres: https://github.com/hettie-d/pg_bitemporal
https://github.com/codr7/hostr/blob/532295b40dcad6c54082e1d3...