Vous toujours obtenir les same data in browser client as the db original value
. Il existe de nombreuses façons différentes d'afficher le même point dans le temps (à différents fuseaux horaires). Deux exemples (représentations textuelles d'un timestamptz
valeur):
'2012-03-05 20:00:00+03'
'2012-03-05 18:00:00+01'
Même valeur .
En ce qui concerne Postgres, le paramètre de fuseau horaire du serveur n'a aucune importance pour cela. La seule chose pertinente est le cadre de la session. Et la seule chose qui change est l'affichage de la valeur. C'est toujours le même moment.
Il vous suffit donc de définir le fuseau horaire dans votre session pour obtenir la représentation textuelle correspondante :
- Définir le fuseau horaire de l'instance PostgreSQL
- Dump et restauration PostgreSQL dans un fuseau horaire différent
- Définir le fuseau horaire de la colonne d'horodatage dans PostgreSQL
Une autre option serait le AT TIME ZONE
construction. Pour obtenir un timestamp
en tant que local timestamp without time zone
:
SELECT my_timestamptz_column AT TIME ZONE '-8';
Lorsqu'il s'agit d'une table table that contains a column of timezone type
, cela pourrait être la meilleure approche, car le fuseau horaire peut changer pour chaque ligne.
Encore une fois, tout cela est dans la réponse de référence :