Mi aplicación web almacena todas las marcas de tiempo en UTC sin zonas horarias. Tengo un script shell/psql que devuelve una lista de inicios de sesión recientes, y quiero que ese script muestre los tiempos de inicio de sesión en la zona horaria local del servidor (que puede variar dependiendo de dónde se encuentre el servidor y con el horario de verano).Desfase de zona horaria local en PostgreSQL
Para obtener un intervalo que representa la diferencia entre la zona horaria de mi servidor de base de datos y GMT, actualmente estoy usando este truco:
SELECT age(now() at time zone 'UTC', now());
que funciona, pero hay una manera más sencilla?
Hay un parámetro de configuración del servidor llamado "zona horaria" que devuelve una cadena de zona horaria válida, pero no creo que sea posible acceder a esos parámetros en una consulta. (Supongo que es una cuestión aparte, sino una respuesta a ella sería resolver el problema de zona horaria.)
Gracias por la pregunta. Agregué un párrafo que explica por qué quiero obtener la diferencia. – TimH