Jde pouze o nedorozumění pramenící z poněkud zavádějícího názvu typu. Samotné časové pásmo není vůbec uloženo . Funguje pouze jako offset pro výpočet časového razítka UTC (vstupu), který je skutečně uložen. Nebo jako dekorátor v zobrazení časového razítka podle aktuálního nebo daného časového pásma (výstupu). To je vše podle standardu SQL.
Ukládá se pouze bod v čase, žádné informace o zóně. Proto stačí 64bitová informace. Časové razítko se klientovi zobrazí podle aktuálního nastavení časového pásma relace.
Podrobnosti:
- Úplné ignorování časových pásem v Rails a PostgreSQL
Také, když to Jon zmínil, time with time zone
je definován ve standardu SQL a je tedy implementován v Postgresu, ale jeho použití se nedoporučuje:
time with time zone
je definován standardem SQL, ale definice vykazuje vlastnosti, které vedou k pochybné užitečnosti.
Je to přirozeně nejednoznačný typ, který se nedokáže správně vypořádat s DST.