PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

PostgreSQL-Dump und -Wiederherstellung in einer anderen Zeitzone

Das Postgres hat den Datentyp timstamptz ( =timestamp with time zone ) speichert Werte intern als UTC-Zeitstempel (ganzzahliger Wert, der Mikrosekunden seit 2000 zählt), was unabhängig von der Zeitzone ist, in der diese Werte angezeigt werden zum. Das tut es nicht Speichern Sie alle Zeitzoneninformationen, wie manche denken könnten, wenn Sie den Namen falsch einschätzen. Sie können so viel sichern und wiederherstellen, wie Sie möchten.

Was Sie sehen in Ihrem Client hängt von der Zeitzoneneinstellung ab der Sitzung.

Ausführen (in derselben Sitzung, um Artefakte zu vermeiden):

SHOW timezone;

Wenn Sie localtime sehen dann verwendet Postgres die Standardeinstellung Ihres Serverbetriebssystems.

Stellen Sie eine andere Zeitzone ein (in Ihrer Sitzung mit SET timezone = ...; , für Ihren Benutzer oder global in den Konfigurationsdateien), um Ihre Zeitstempel anders formatiert zu sehen. Beachten Sie, dass die Zeitzoneneinstellung in Ihrer Dump-Datei nicht Einfluss hat in diesem Fall nur die Einstellung Ihrer aktuellen Sitzung.

Detaillierte Erklärung in dieser verwandten Antwort:

Über die verschiedenen Möglichkeiten, Umgebungsvariablen zu setzen: