Ver Mensaje Individual
  #7 (permalink)  
Antiguo 15/09/2010, 12:25
Avatar de xdrtas
xdrtas
 
Fecha de Ingreso: junio-2008
Ubicación: Venezuela
Mensajes: 97
Antigüedad: 16 años, 6 meses
Puntos: 13
Respuesta: Diferencia de horario entre postgresql y sistema operativo

Hola yoMax,
Cita:
Iniciado por yoMax Ver Mensaje
Tengo un problema, vivo en Guayaquil Ecuador, ya cambie en el Postgresql.conf timezone='America/Guayaquil'. pero cuando me conecto con algun cliente y pongo select now() me obtiene la fecha adelantada por algunas horas, cuando pongo show timezone me aparece gtm, si en el cliente (pgadmin, sql manager for postgres) hago set time zone 'America/Guayaquil' y luego pongo select now(), me aparece bien, pero eso lo hace solo en el cliente, y como tengo campos en los cuales la fecha es timestamp y cuyo valor es now(), me sale la fecha cambiada al crear registros, no entiendo porque si esta hecho el cambio en el archivo de postgresql.conf porque no sale?, dependerá tambien de la base? porque tengo en el mismo servidor algunas bases de datos, será que se puede cambiar el timezone por base?

El servidor es opensuse con postgres 8.3
La base esta en /usr/local/pgsql/data


Gracias por la ayuda
Si dices que al ejecutar el comando "SHOW timezone;" te aparece gtm me parece que entonces no está bien configurado, fíjate el resultado que me devuelve a mi el servidor cuando ejecuto el mismo comando:
Código SQL:
Ver original
  1. SHOW timezone;
  2.     TimeZone
  3. -----------------
  4.  America/Caracas
  5. (1 fila)

Como puedes comprobar me devuelve el valor correcto para mi zona horaria, así que vamos a revisar la configuración, te adjunto dos imágenes para que veas:
  1. La primera imagen es para indicar cómo abrir el "Backend configuration edition" con el archivo postgresql.conf.
  2. Buscas el archivo postgresql.conf y lo abres.
  3. Ahora fíjate en la siguiente imagen, (lo tengo resaltado en azul), mira como tengo configurado el timezone y fíjate que lo tengo activo.
  4. Si lo tienes mal, corrígelo según tu zona --> 'America/Guayaquil' y activa la casilla.
  5. Ahora reinicia el servicio postgreSQL.
  6. Ejecuta el comando de nuevo como sigue:
    Código SQL:
    Ver original
    1. SHOW timezone;
    2.     TimeZone
    3. -----------------
    4.  America/Caracas
    5. (1 fila)
  7. Si te devuelve 'America/Guayaquil' en vez de GTM entonces ya debería estar bien.

Si sigues con el problema pues tendré que seguir pensando porque de momento no se me ocurre que otra cosa puede pasar.
Por lo que he leido en el archivo America.txt, desde Ecuador en todo caso que no te devuelva 'America/Guayaquil' te deberia devolver ECT no GTM, te copio tal cual como está en el documento:
Código:
ECT    -18000    # Ecuador Time
                 # Eastern Caribbean Time
                 #     (America/Guayaquil)
El archivo postgresql.conf es un archivo de configuración para todo el servidor y que yo sepa todas las bases de datos que estén dentro del servidor dependerán del archivo, ahora tal vez haya una forma de configurar de forma independiente la zona horaria para cada base de datos, pero si la hay yo de momento no lo sé.

Espero que te sirva de ayuda.

Un cordial saludo.
__________________
¿Cuál es el mejor lenguaje para programar?
Aquel lenguaje por el cual te paguen más.
[--::xdrtas.coolpage.biz::--]
[---:::xdrtas:::---]