Re: values from now() in the same transaction

From: Bruce Momjian <bruce(at)momjian(dot)us>
To: Chris Browne <cbbrowne(at)acm(dot)org>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: values from now() in the same transaction
Date: 2007-02-16 23:46:03
Message-ID: 200702162346.l1GNk3J00850@momjian.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general


The problem with gettimeofday() is that it returns a string, rather than
a timestamp. This was all clarified in 8.2:

Add clock_timestamp(), statement_timestamp(), and
transaction_timestamp() (Bruce)
clock_timestamp() is the current wall-clock time,
statement_timestamp() is the time the current statement arrived at
the server, and transaction_timestamp() is an alias for now().

---------------------------------------------------------------------------

Chris Browne wrote:
> 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/>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 4: Have you searched our list archives?
>
> http://archives.postgresql.org/

--
Bruce Momjian <bruce(at)momjian(dot)us> http://momjian.us
EnterpriseDB http://www.enterprisedb.com

+ If your life is a hard drive, Christ can be your backup. +

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Alvaro Herrera 2007-02-17 00:30:28 Re: Anticipatory privileges
Previous Message John D. Burger 2007-02-16 23:36:08 Anticipatory privileges