sql >> Database teknologi >  >> RDS >> PostgreSQL

PostgreSQL dump og gendan i anden tidszone

Postgres datatypen timstamptz ( =timestamp with time zone ) gemmer værdier som UTC-tidsstempel internt (heltalsværdi, der tæller mikrosekunder siden 2000), hvilket er uafhængigt af den tidszone, disse værdier er vist til. Det gør ikke gemme enhver tidszoneinformation, som nogle måske tror, ​​og misvurdere navnet. Du kan dumpe og gendanne så meget du vil.

Hvad du ser i din klient afhænger af tidszoneindstillingen af sessionen.

Kør (i samme session for at undgå artefakter):

SHOW timezone;

Hvis du ser localtime så bruger Postgres standardindstillingen for dit server-OS.

Indstil en anden tidszone (i din session med SET timezone = ...; , for din bruger eller globalt i konfigurationsfilerne) for at se dine tidsstempler formateret anderledes. Vær opmærksom på, at tidszoneindstillingen i din dumpfil ikke gør det har nogen effekt i dette tilfælde, kun indstillingen af ​​din nuværende session har.

Detaljeret forklaring i dette relaterede svar:

Om de forskellige måder at indstille miljøvariabler på:




  1. Antag en menneskelig tilgang til dataforvaltning

  2. ORA-01017 Ugyldigt brugernavn/adgangskode ved tilslutning til 11g database fra 9i klient

  3. Summen af ​​flere MySQL-kolonner gemt i en anden kolonne?

  4. FEJL:sletning på tabel overtræder fremmednøglebegrænsning. Nøgle-id er stadig refereret fra tabel (mange)