PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Vidage et restauration de PostgreSQL dans un fuseau horaire différent

Le type de données Postgres timstamptz ( =timestamp with time zone ) stocke les valeurs sous forme d'horodatage UTC en interne (valeur entière comptant les microsecondes depuis 2000), qui est indépendant du fuseau horaire où ces valeurs sont affichées pour. Ce n'est pas stocker toutes les informations de fuseau horaire comme certains pourraient le penser, en jugeant mal le nom. Vous pouvez vider et restaurer autant que vous le souhaitez.

Ce que vous voyez dans votre client dépend du paramètre de fuseau horaire de la séance.

Exécuter (dans la même session pour éviter les artefacts) :

SHOW timezone;

Si vous voyez localtime alors Postgres utilise le paramètre par défaut de votre système d'exploitation de serveur.

Définissez un fuseau horaire différent (dans votre session avec SET timezone = ...; , pour votre utilisateur ou globalement dans les fichiers de configuration) pour voir vos horodatages formatés différemment. Sachez que le paramètre de fuseau horaire dans votre fichier de vidage ne le fait pas n'ont aucun effet dans ce cas, seul le réglage de votre session en cours a.

Explication détaillée dans cette réponse connexe :

À propos des différentes manières de définir des variables d'environnement :