sql >> Base de Datos >  >> RDS >> PostgreSQL

Consulta de zona horaria:el servidor de base de datos y la máquina cliente tienen diferentes zonas horarias

siempre obtenga los same data in browser client as the db original value . Hay muchas formas diferentes de mostrar el mismo punto en el tiempo (en diferentes zonas horarias). Dos ejemplos (representaciones de texto de un timestamptz valor):

'2012-03-05 20:00:00+03'
'2012-03-05 18:00:00+01'

Mismo valor .

En lo que respecta a Postgres, la configuración de la zona horaria del servidor es completamente irrelevante para esto. Lo único relevante es la ambientación de la sesión. Y lo único que cambia es la pantalla del valor Siempre es el mismo punto en el tiempo.

Así que simplemente configure la zona horaria en su sesión para obtener la representación de texto correspondiente:

Otra opción sería AT TIME ZONE construir. Para obtener una timestamp como local timestamp without time zone :

SELECT my_timestamptz_column AT TIME ZONE '-8';

Cuando se trata de una tabla table that contains a column of timezone type , este podría ser el mejor enfoque, ya que la zona horaria puede cambiar para cada fila.

Nuevamente, todo esto está en la respuesta de referencia: