In your database, you should always use types with time zones.
Which also requires you to store the TZ location (ie city) and not just the name or offset of the timezone itself.
For planned events, it becomes really hard to determine what to do when changing locale.
> For timestamp with time zone, the internally stored value is always in UTC (Universal Coordinated Time, traditionally known as Greenwich Mean Time, GMT). An input value that has an explicit time zone specified is converted to UTC using the appropriate offset for that time zone.
[0] https://www.postgresql.org/docs/current/datatype-datetime.ht...