Función CLOCK_TIMESTAMP en PostgreSQL

La función CLOCK_TIMESTAMP en PostgreSQL englobada en las denominadas funciones de fecha se utiliza para obtener la fecha y hora actual con una precisión exacta. A diferencia de otras funciones como NOW, que devuelven un valor fijo para toda la duración de una consulta, CLOCK_TIMESTAMP actualiza su valor continuamente durante la ejecución de la misma. Esto la hace especialmente útil en escenarios donde necesitas registrar o analizar marcas de tiempo precisas dentro de operaciones largas.

Un aspecto importante de CLOCK_TIMESTAMP es que permite capturar el momento exacto en que se ejecutan diferentes partes de una consulta, proporcionando un control granular sobre el tiempo en tus análisis de datos. Esto la convierte en una función valiosa para monitorear el rendimiento o realizar auditorías temporales.

En este artículo, te mostraré cómo utilizar la función CLOCK_TIMESTAMP con ejemplos prácticos que ilustran su comportamiento y aplicaciones. Para más detalles técnicos, te invito a consultar la documentación oficial de PostgreSQL.

Sintaxis

La sintaxis para utilizar la función CLOCK_TIMESTAMP en PostgreSQL es la siguiente:

CLOCK_TIMESTAMP();

Ejemplos

En el siguiente ejemplo comprobamos como se muestra la fecha y hora al ejecutarse la consulta.

SELECT CLOCK_TIMESTAMP();
Función CLOCK_TIMESTAMP en PostgreSQL

CLOCK_TIMESTAMP en transacciones

Se debe tener cuidado al utilizar la función CLOCK_TIMESTAMP en transacciones, ya que nos devolverá la hora local en el momento de su ejecución. En el siguiente ejemplo se muestra la fecha y hora al momento de lanzarlo, se espera tres segundos y vuelve a mostrar la fecha actualizada.

BEGIN;
SELECT CLOCK_TIMESTAMP ();
SELECT pg_sleep(3);
SELECT CLOCK_TIMESTAMP ();
COMMIT;

En caso de que necesites mostrar únicamente la fecha cuando se lanzó la transacción, se debería utilizar la función NOW.

Escribir un comentario