Storing UTC in timestamp columns breaks timezone-aware functions
warningconfigurationUpdated Mar 4, 2026
Technologies:
How to detect:
Storing UTC values in timestamp (without timezone) columns causes PostgreSQL to treat values according to session timezone setting, producing incorrect results in timezone-aware functions like AT TIME ZONE. There is no database enforcement that all stored values are actually UTC.
Recommended action:
Use timestamptz instead of timestamp columns with manual UTC conversion. timestamptz stores UTC internally and handles conversions automatically, ensuring consistent behavior.