sql >> Databasteknik >  >> RDS >> PostgreSQL

PostgreSQL dumpar och återställer i olika tidszoner

Postgres datatypen timstamptz ( =timestamp with time zone ) lagrar värden som UTC-tidsstämpel internt (heltalsvärde som räknar mikrosekunder sedan 2000), vilket är oberoende av tidszonen dessa värden visas för. Det gör det inte lagra all tidszonsinformation som vissa kanske tror, ​​missbedöma namnet. Du kan dumpa och återställa så mycket du vill.

Vad du ser i din klient beror på tidszonsinställningen av sessionen.

Kör (i samma session för att undvika artefakter):

SHOW timezone;

Om du ser localtime sedan använder Postgres standardinställningen för ditt serveroperativsystem.

Ställ in en annan tidszon (i din session med SET timezone = ...; , för din användare eller globalt i konfigurationsfilerna) för att se dina tidsstämplar formaterade på ett annat sätt. Tänk på att tidszonsinställningen i din dumpfil inte gör det har någon effekt i det här fallet, bara inställningen för din nuvarande session har.

Detaljerad förklaring i detta relaterade svar:

Om de olika sätten att ställa in miljövariabler:




  1. sql välj topp 5 varje månad

  2. bevilja till flera db med ett kommando

  3. Var är den säkraste platsen att placera MySQL-anslutningsdetaljer för PHP

  4. SQL-fel:0, SQLState:08S01 Kommunikationslänkfel