Re: now() does not change within a transaction

From: Karel Zak <zakkr(at)zf(dot)jcu(dot)cz>
To: Christoph Haller <ch(at)rodos(dot)fzk(dot)de>
Cc: pgsql-sql(at)postgresql(dot)org
Subject: Re: now() does not change within a transaction
Date: 2002-04-18 12:41:34
Message-ID: 20020418144134.A16277@zf.jcu.cz
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

On Thu, Apr 18, 2002 at 02:04:35PM +0000, Christoph Haller wrote:
> Hi pgsql-sql list,
> I did some testing around tables using a column
> timestamp with time zone not null default now().
> I have noticed a valuable feature:
> As long as being inside a transaction initiated by
> begin;
> the return value of the now() function does not change.
> Is this intended - as written in the documentation?

Sure. See (for example):

http://docs.linux.cz/PostgreSQL/functions-datetime.html#FUNCTIONS-DATETIME-CURRENT

It is quite important to realize that CURRENT_TIMESTAMP and related
functions all return the time as of the start of the current transaction;
their values do not increment while a transaction is running. But
timeofday() returns the actual current time.

test=# select timeofday()::timestamp;
timeofday
-------------------------------
2002-04-18 14:39:36.459162+02

Karel

--
Karel Zak <zakkr(at)zf(dot)jcu(dot)cz>
http://home.zf.jcu.cz/~zakkr/

C, PostgreSQL, PHP, WWW, http://docs.linux.cz, http://mape.jcu.cz

In response to

Browse pgsql-sql by date

  From Date Subject
Next Message Leif Jensen 2002-04-18 13:21:46 Re: [GENERAL] Migrating Oracle to PostgreSQL
Previous Message fredrik.samuelsson 2002-04-18 07:12:32