J'ai plusieurs installations PostgreSQL 9.2 où le fuseau horaire utilisé par PostgreSQL est GMT, bien que l'ensemble du système soit "Europe / Vienne". J'ai revérifié qui postgresql.conf
ne contient pas de timezone
paramètre, donc selon la documentation, il devrait revenir au fuseau horaire du système.
cependant,
# su -s /bin/bash postgres -c "psql mydb"
mydb=# show timezone;
TimeZone
----------
GMT
(1 row)
mydb=# select now();
now
-------------------------------
2013-11-12 08:14:21.697622+00
(1 row)
Des indices, d'où le fuseau horaire GMT pourrait provenir? L'utilisateur système n'a pas TZ
défini et le /etc/timezone
et /etc/timeinfo
semblent être configurés correctement.
# cat /etc/timezone
Europe/Vienna
# date
Tue Nov 12 09:15:42 CET 2013
Tous les indices sont appréciés, merci d'avance!
la source
postgresql.conf
version 9.2+ que le fuseau horaire de l'environnement système doit toujours être détecté automatiquement?J'ai trouvé une solution pour cela.
créez simplement un lien symbolique dans / usr / share / zoneinfo / nommé localtime (ou quel que soit le nom que vous souhaitez) pour pointer vers / etc / localtime
de cette façon, vous créez une chaîne de liens qui pointe finalement vers le fuseau horaire de votre système.
Prenez maintenant le nom du lien que vous avez créé ( heure locale dans mon cas) et utilisez-le comme valeur de l'élément de configuration dans postgresql.conf
redémarrez postgresql et vérifiez l'heure avec "SELECT now ();" et "afficher le fuseau horaire";
la source