1892-04-15 02:17:30+00:17:30
is not wrong. All of these timestamptz
literals represent the exact same point in time:
1892-05-03 03:00:00+01:00
1892-05-03 02:17:30+00:17:30
1892-05-03 02:00:00+00
See:
The root of the confusion is that time was not well standardized until the end of the 19th century. Regions or even cities had their own time zones. Before that, local mean time was "state of the art". And mostly just sun dials before that. Around the end of the 19th century one European country / region after the other started standardizing time. Example: Wikipedia about the history of CET in central Europe.
The Postgres manual about time zones:
Time zones, and time-zone conventions, are influenced by political
decisions, not just earth geometry. Time zones around the world became
somewhat standardized during the 1900s, but continue to be prone to
arbitrary changes, particularly with respect to daylight-savings
rules. PostgreSQL uses the widely-used IANA (Olson) time zone database
for information about historical time zone rules. [...]
Apparently, there was a change for your undisclosed time zone around 1892-05-01 11:42.
To get to the bottom of this, you need to take into account:
The time zone setting of your current session.
- If it's
localtime
look at the local time setting of your client OS. Find out with date +%Z
in a Unix shell (on your client!).
The client you are using (different clients have different ideas how to represent timestamps)
Your version of Postgres. The IANA tz database is continuously updated to fix historic errors and add new changes. Currently (Postgres 11.1) uses, according to the readme in the source code:
The code in this directory is currently synced with tzcode release
2018g. There are many cosmetic (and not so cosmetic) differences from
the original tzcode library, but diffs in the upstream version should
usually be propagated to our version. Here are some notes about that.
You may depend on the point-release of Postgres (9.5.?), since updates are shipped with point releases, too.
Maybe reconsider your actual requirements. Is there even a problem?