Tengo varias instalaciones de PostgreSQL 9.2 donde la zona horaria utilizada por PostgreSQL es GMT, a pesar de que todo el sistema es "Europa / Viena". Verifiqué dos postgresql.conf
veces que no contenga timezone
configuración, por lo que, según la documentación, debería recurrir a la zona horaria del sistema.
Sin embargo,
# 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)
¿Alguna pista de dónde podría venir la zona horaria GMT? El usuario del sistema no han TZ
establecido y el /etc/timezone
y /etc/timeinfo
parecen estar configurado correctamente.
# cat /etc/timezone
Europe/Vienna
# date
Tue Nov 12 09:15:42 CET 2013
Cualquier sugerencia es apreciada, gracias de antemano!
fuente
postgresql.conf
versión 9.2+ que la zona horaria del entorno del sistema todavía se debe detectar automáticamente?Encontré una solución para esto.
simplemente cree un enlace simbólico dentro de / usr / share / zoneinfo / named localtime (o el nombre que desee) que apunte a / etc / localtime
de esta manera, está creando una cadena de enlaces que finalmente apunta a la zona horaria de su sistema.
Ahora tome el nombre del enlace que creó ( localtime en mi caso) y úselo como el valor del elemento de configuración en postgresql.conf
reinicie postgresql y verifique la hora con "SELECT now ();" y "mostrar zona horaria";
fuente