sql >> Databasteknik >  >> RDS >> PostgreSQL

Tidszonlagring i datatyp tidsstämpel med tidszon

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.



  1. Hur man får månadens namn från ett datum i Oracle

  2. Överför data från en databas till en annan databas

  3. Unicode-normalisering i PostgreSQL 13

  4. Hur man återställer en databas med Backup Manager