Detta är bara ett missförstånd som härrör från det något missvisande typnamnet. Själva tidszonen lagras inte alls . Det fungerar bara som offset för att beräkna en UTC-tidsstämpel (ingång), som faktiskt lagras. Eller som dekoratör i visningen av en tidsstämpel enligt aktuell eller given tidszon (utgång). Det är allt enligt SQL-standarden.
Bara tidpunkten lagras, ingen zoninformation. Det är därför det räcker med 64 bitars information. Tidsstämpeln visas för klienten enligt den aktuella tidszonsinställningen för sessionen.
Detaljer:
- Ignorerar tidszoner helt och hållet i Rails och PostgreSQL
Sedan Jon nämnde det, time with time zone
är definierad i SQL-standarden och implementeras därför i Postgres, men dess användning avråds:
time with time zone
definieras av SQL-standarden, men definitionen uppvisar egenskaper som leder till tvivelaktig användbarhet.
Det är en naturligt tvetydig typ som inte kan hantera sommartid ordentligt.