sql >> Database >  >> RDS >> PostgreSQL

PostgreSQL dumpen en herstellen in verschillende tijdzones

De Postgres het gegevenstype timstamptz ( =timestamp with time zone ) slaat waarden intern op als UTC-tijdstempel (gehele waarde die microseconden telt sinds 2000), wat onafhankelijk is van de tijdzone die waarden worden weergegeven voor. Het doet niet sla alle tijdzone-informatie op zoals sommigen misschien denken, waarbij de naam verkeerd wordt beoordeeld. Je kunt zoveel dumpen en herstellen als je wilt.

Wat je ziet in uw client hangt af van de tijdzone-instelling van de sessie.

Uitvoeren (in dezelfde sessie om artefacten te voorkomen):

SHOW timezone;

Als je localtime . ziet dan gebruikt Postgres de standaardinstelling van uw server-besturingssysteem.

Stel een andere tijdzone in (in uw sessie met SET timezone = ...; , voor uw gebruiker of globaal in de configuratiebestanden) om uw tijdstempels anders opgemaakt te zien. Houd er rekening mee dat de tijdzone-instelling in uw dumpbestand niet hebben in dit geval enig effect, alleen de instelling van uw huidige sessie heeft.

Gedetailleerde uitleg in dit gerelateerde antwoord:

Over de verschillende manieren om omgevingsvariabelen in te stellen:




  1. Converteer sql-rij naar kolommen

  2. Kan tekenreekswaarde 1,2 niet doorgeven als invoer voor een orakel-query

  3. Hoe de dbms_output-buffer te vergroten?

  4. Mysql:database naast gegevens dumpen