Thread: Problem with now() in function pgsql

Problem with now() in function pgsql

From
"luke\.78\@libero\.it"
Date:
Hi,
I have a problem in a function pgsql with Reading TIMESTAMP calling the function now()
the problem is this:
At the begin of function I read timestamp...
select now() into TS_BEGIN;

the function execute some statement...

Many seconds after I reread the timestamp
select now() into TS_END;

and TS_BEGIN is identical TS_END!!!

Can anyone help me?

Thanks in advance.

Luke.



Re: Problem with now() in function pgsql

From
Adrian Klaver
Date:
On Saturday 05 April 2008 10:46 am, luke.78@libero.it wrote:
> Hi,
> I have a problem in a function pgsql with Reading TIMESTAMP calling the
> function now() the problem is this:
> At the begin of function I read timestamp...
> select now() into TS_BEGIN;
>
> the function execute some statement...
>
> Many seconds after I reread the timestamp
> select now() into TS_END;
>
> and TS_BEGIN is identical TS_END!!!
>
> Can anyone help me?
>
> Thanks in advance.
>
> Luke.
You want to use clock_timestamp() or equivalent not now(). As you found out 
now() fixes the time at the start of the transaction and does not change, 
clock_timestamp() does. See  URL below for a more complete explanation:

http://www.postgresql.org/docs/8.2/interactive/functions-datetime.html
-- 
Adrian Klaver
aklaver@comcast.net