La función CLOCK_TIMESTAMP en PostgreSQL te permite mostrar la fecha y hora actual. Esta función se va actualizando durante la ejecución de la sentencia al contrario que la función NOW. Esta función está englobada en las denominadas funciones de fecha.
Sintaxis
Escribe la siguiente sintaxis para utilizarlo:
CLOCK_TIMESTAMP();
Ejemplos
En el siguiente ejemplo comprobamos como se muestra la fecha y hora al ejecutarse la consulta.
SELECT CLOCK_TIMESTAMP();
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.