Be careful if you use Haskell's
ZonedTime with
SqlTimestamptz. A Postgres
timestamptz does not
actually contain any time zone. It is just a UTC time that is
automatically converted to or from local time on certain occasions,
according to the
timezone setting of the server. Therefore,
although when you roundtrip an input
ZonedTime to obtain an
output
ZonedTime they each refer to the same instant in time,
the time zone attached to the output will not necessarily the same as
the time zone attached to the input.