Re: values from now() in the same transaction

From: Chris Browne <cbbrowne(at)acm(dot)org>
To: pgsql-general(at)postgresql(dot)org
Subject: Re: values from now() in the same transaction
Date: 2007-02-16 23:25:32
Message-ID: 60mz3d7kib.fsf@dba2.int.libertyrms.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

zelvlad(at)yahoo(dot)com (Vladimir Zelinski) writes:
> I tried function now(),current_timestamp() but all of
> them behave similar.
>
> I don't believe that it's bug, probably it's a feature
> of the postgreSql database.

Indeed, that is intentional. CURRENT_TIMESTAMP and NOW() return the
time at which the transaction began.

> Is any way to insert a timestamp within the same transaction that
> would have current system time (not time of the beginning of the
> transaction)?

> With other words, I would like to see different timestamps on first
> and last timestamp.

timeofday() is what you are looking for.

Consider the following series of queries; they demonstrate how the
behaviours of now() and timeofday() differ fairly successfully...

oxrsorg=# begin;
BEGIN
oxrsorg=# select now();
now
-------------------------------
2007-02-16 23:23:23.094817+00
(1 row)

oxrsorg=# select timeofday();
timeofday
-------------------------------------
Fri Feb 16 23:23:31.481780 2007 UTC
(1 row)

oxrsorg=# select timeofday();
timeofday
-------------------------------------
Fri Feb 16 23:23:32.981137 2007 UTC
(1 row)

oxrsorg=# select timeofday();
timeofday
-------------------------------------
Fri Feb 16 23:23:33.988252 2007 UTC
(1 row)

oxrsorg=# select now();
now
-------------------------------
2007-02-16 23:23:23.094817+00
(1 row)

oxrsorg=# select timeofday();
timeofday
-------------------------------------
Fri Feb 16 23:23:38.643998 2007 UTC
(1 row)

oxrsorg=# select now();
now
-------------------------------
2007-02-16 23:23:23.094817+00
(1 row)

--
(reverse (concatenate 'string "ofni.secnanifxunil" "@" "enworbbc"))
http://linuxfinances.info/info/finances.html
Rules of the Evil Overlord #189. "I will never tell the hero "Yes I
was the one who did it, but you'll never be able to prove it to that
incompetent old fool." Chances are, that incompetent old fool is
standing behind the curtain." <http://www.eviloverlord.com/>

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message John D. Burger 2007-02-16 23:36:08 Anticipatory privileges
Previous Message Jerry LeVan 2007-02-16 23:23:14 Synchronize tables question....