Re: [PERFORM] now() gives same time within the session

2010-07-18 Thread Heikki Linnakangas

On 12/07/10 14:15, A. Kretschmer wrote:

Use timeofday() instead, now() returns the transaction starting time.


timeofday() is a legacy function kept only for backwards-compatibility. 
It returns a string, which is quite awkward. Use clock_timestamp() instead.


--
  Heikki Linnakangas
  EnterpriseDB   http://www.enterprisedb.com

--
Sent via pgsql-performance mailing list (pgsql-performance@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-performance


[PERFORM] now() gives same time within the session

2010-07-12 Thread Atul.Goel
Hi,

I need to log the start and end time of the procedures in a table. But the 
start and end time are same. This is how I recreated the issue.

create table test_time (time timestamp);
delete from  test_time;
insert into test_time select now();
SELECT pg_sleep(10);
insert into test_time select now();
SELECT pg_sleep(10);
insert into test_time select now();
SELECT pg_sleep(10);
insert into test_time select now();
SELECT pg_sleep(10);
select * from test_time;

2010-07-12 12:43:40.509746
2010-07-12 12:43:40.509746
2010-07-12 12:43:40.509746
2010-07-12 12:43:40.509746

Atul Goel
SENIOR DEVELOPER

Global DataPoint
Middlesex House, 34-42 Cleveland Street
London W1T 4LB, UK
T: +44 (0)20 7079 4827
M: +44 (0)7846765098
www.globaldatapoint.comhttp://www.globaldatapoint.com/

This e-mail is confidential and should not be used by anyone who is not the 
original intended recipient. Global DataPoint Limited does not accept liability 
for any statements made which are clearly the sender's own and not expressly 
made on behalf of Global DataPoint Limited. No contracts may be concluded on 
behalf of Global DataPoint Limited by means of e-mail communication. Global 
DataPoint Limited Registered in England and Wales with registered number 
3739752 Registered Office Middlesex House, 34-42 Cleveland Street, London W1T 
4LB


Re: [PERFORM] now() gives same time within the session

2010-07-12 Thread A. Kretschmer
In response to atul.g...@globaldatapoint.com :
 Hi,
 
  
 
 I need to log the start and end time of the procedures in a table. But the
 start and end time are same. This is how I recreated the issue.
 
  
 
 create table test_time (time timestamp);
 
 delete from  test_time;
 
 insert into test_time select now();


Use timeofday() instead, now() returns the transaction starting time.

BEGIN
test=*# select now();
  now
---
 2010-07-12 13:13:28.907043+02
(1 row)

test=*# select timeofday();
  timeofday
--
 Mon Jul 12 13:13:36.187703 2010 CEST
(1 row)

test=*# select now();
  now
---
 2010-07-12 13:13:28.907043+02
(1 row)

test=*#


Regards, Andreas
-- 
Andreas Kretschmer
Kontakt:  Heynitz: 035242/47150,   D1: 0160/7141639 (mehr: - Header)
GnuPG: 0x31720C99, 1006 CCB4 A326 1D42 6431  2EB0 389D 1DC2 3172 0C99

-- 
Sent via pgsql-performance mailing list (pgsql-performance@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-performance


Re: [PERFORM] now() gives same time within the session

2010-07-12 Thread Atul.Goel
Sure thanks a lot.

Regards,
Atul Goel

-Original Message-
From: pgsql-performance-ow...@postgresql.org 
[mailto:pgsql-performance-ow...@postgresql.org] On Behalf Of A. Kretschmer
Sent: 12 July 2010 12:15
To: pgsql-performance@postgresql.org
Subject: Re: [PERFORM] now() gives same time within the session

In response to atul.g...@globaldatapoint.com :
 Hi,



 I need to log the start and end time of the procedures in a table. But the
 start and end time are same. This is how I recreated the issue.



 create table test_time (time timestamp);

 delete from  test_time;

 insert into test_time select now();


Use timeofday() instead, now() returns the transaction starting time.

BEGIN
test=*# select now();
  now
---
 2010-07-12 13:13:28.907043+02
(1 row)

test=*# select timeofday();
  timeofday
--
 Mon Jul 12 13:13:36.187703 2010 CEST
(1 row)

test=*# select now();
  now
---
 2010-07-12 13:13:28.907043+02
(1 row)

test=*#


Regards, Andreas
--
Andreas Kretschmer
Kontakt:  Heynitz: 035242/47150,   D1: 0160/7141639 (mehr: - Header)
GnuPG: 0x31720C99, 1006 CCB4 A326 1D42 6431  2EB0 389D 1DC2 3172 0C99

--
Sent via pgsql-performance mailing list (pgsql-performance@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-performance
This e-mail is confidential and should not be used by anyone who is not the 
original intended recipient. Global DataPoint Limited does not accept liability 
for any statements made which are clearly the sender's own and not expressly 
made on behalf of Global DataPoint Limited. No contracts may be concluded on 
behalf of Global DataPoint Limited by means of e-mail communication. Global 
DataPoint Limited Registered in England and Wales with registered number 
3739752 Registered Office Middlesex House, 34-42 Cleveland Street, London W1T 
4LB

-- 
Sent via pgsql-performance mailing list (pgsql-performance@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-performance


Re: [PERFORM] now() gives same time within the session

2010-07-12 Thread Rob Wultsch
On Mon, Jul 12, 2010 at 4:15 AM, A. Kretschmer
andreas.kretsch...@schollglas.com wrote:
 In response to atul.g...@globaldatapoint.com :
 Hi,



 I need to log the start and end time of the procedures in a table. But the
 start and end time are same. This is how I recreated the issue.



 create table test_time (time timestamp);

 delete from  test_time;

 insert into test_time select now();


 Use timeofday() instead, now() returns the transaction starting time.


Is this part of the SQL standard?

-- 
Rob Wultsch
wult...@gmail.com

-- 
Sent via pgsql-performance mailing list (pgsql-performance@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-performance


Re: [PERFORM] now() gives same time within the session

2010-07-12 Thread Thom Brown
On 12 July 2010 14:11, Rob Wultsch wult...@gmail.com wrote:
 On Mon, Jul 12, 2010 at 4:15 AM, A. Kretschmer
 andreas.kretsch...@schollglas.com wrote:
 In response to atul.g...@globaldatapoint.com :
 Hi,



 I need to log the start and end time of the procedures in a table. But the
 start and end time are same. This is how I recreated the issue.



 create table test_time (time timestamp);

 delete from  test_time;

 insert into test_time select now();


 Use timeofday() instead, now() returns the transaction starting time.


 Is this part of the SQL standard?


I don't believe it is.  See
http://www.postgresql.org/docs/current/static/functions-datetime.html#FUNCTIONS-DATETIME-CURRENT
for more info.

Thom

-- 
Sent via pgsql-performance mailing list (pgsql-performance@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-performance


Re: [PERFORM] now() gives same time within the session

2010-07-12 Thread A. Kretschmer
In response to Rob Wultsch :
 On Mon, Jul 12, 2010 at 4:15 AM, A. Kretschmer
 andreas.kretsch...@schollglas.com wrote:
  Use timeofday() instead, now() returns the transaction starting time.
 
 
 Is this part of the SQL standard?

Don't know, sorry.


Andreas
-- 
Andreas Kretschmer
Kontakt:  Heynitz: 035242/47150,   D1: 0160/7141639 (mehr: - Header)
GnuPG: 0x31720C99, 1006 CCB4 A326 1D42 6431  2EB0 389D 1DC2 3172 0C99

-- 
Sent via pgsql-performance mailing list (pgsql-performance@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-performance


Re: [PERFORM] now() gives same time within the session

2010-07-12 Thread Kenneth Marshall
On Mon, Jul 12, 2010 at 06:11:31AM -0700, Rob Wultsch wrote:
 On Mon, Jul 12, 2010 at 4:15 AM, A. Kretschmer
 andreas.kretsch...@schollglas.com wrote:
  In response to atul.g...@globaldatapoint.com :
  Hi,
 
 
 
  I need to log the start and end time of the procedures in a table. But the
  start and end time are same. This is how I recreated the issue.
 
 
 
  create table test_time (time timestamp);
 
  delete from ?test_time;
 
  insert into test_time select now();
 
 
  Use timeofday() instead, now() returns the transaction starting time.
 
 
 Is this part of the SQL standard?
 
No, see section 9.9.4 of the manual.

Cheers,
Ken

-- 
Sent via pgsql-performance mailing list (pgsql-performance@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-performance