Re: [SQL] [GENERAL] CURRENT_TIMESTAMP

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
Cc: Andrew Sullivan <andrew(at)libertyrms(dot)info>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: [SQL] [GENERAL] CURRENT_TIMESTAMP
Date: 2002-10-03 23:09:33
Message-ID: 15244.1033686573@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general pgsql-hackers pgsql-sql

Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us> writes:
> So, in summary, reasons for the change:
> more intuitive
> more standard-compliant
> more closely matches other db's

I'd give you the first and third of those. As Andrew noted, the
argument that "it's more standard-compliant" is not very solid.

> Reasons not to change:
> PostgreSQL traditional behavior

You've phrased that in a way that makes it sound like the decision
is a no-brainer. How about

Breaks existing Postgres applications in non-obvious ways

which I think is a more realistic description of the downside.

Also, it seems a lot of people who have thought about this carefully
think that the start-of-transaction behavior is just plain more useful.
The fact that it surprises novices is not a reason why people who know
the behavior shouldn't want it to work like it does. (The behavior of
nextval/currval for sequences surprises novices, too, but I haven't
heard anyone claim we should change it because of that.)

So I think a fairer summary is

Pro:

more intuitive (but still not what an unversed person would
expect, namely true current time)
arguably more standard-compliant
more closely matches other db's (but still not very closely)

Con:

breaks existing Postgres applications in non-obvious ways
arguably less useful than our traditional behavior

I've got no problem with the idea of adding a way to get at
statement-arrival time. (I like the idea of a parameterized version of
now() to provide a consistent interface to all three functionalities.)
But I'm less than enthused about changing the existing functions to give
pride of place to statement-arrival time. In the end, I think that
transaction-start time is the most commonly useful and safest variant,
and so I feel it ought to have pride of place as the easiest one to get
at.

regards, tom lane

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Mike Benoit 2002-10-03 23:09:56 Re: [GENERAL] Performance while loading data and indexing
Previous Message Bruce Momjian 2002-10-03 22:15:59 Re: [SQL] [GENERAL] CURRENT_TIMESTAMP

Browse pgsql-hackers by date

  From Date Subject
Next Message Mike Benoit 2002-10-03 23:09:56 Re: [GENERAL] Performance while loading data and indexing
Previous Message Tom Lane 2002-10-03 22:47:17 Re: Advice: Where could I be of help?

Browse pgsql-sql by date

  From Date Subject
Next Message Andrew Sullivan 2002-10-03 23:58:39 Re: [SQL] [GENERAL] CURRENT_TIMESTAMP
Previous Message Bruce Momjian 2002-10-03 22:15:59 Re: [SQL] [GENERAL] CURRENT_TIMESTAMP