For (unit) testing, I have often had the need to override the current
timestamp in the database system. For example, a column default,
function, or views would make use of the current timestamp in some way,
and to test the behavior, it's sometimes useful to tweak the current
timestamp.
What might be a good way to do that?
Just overwrite xactStartTimestamp? Is that safe? If it weren't static,
a user-loaded function could do it.
Overwrite pg_catalog.now() in the test database?
Other ideas?
Some semi-official support for this sort of thing would be good.