Re: [SQL] [GENERAL] CURRENT_TIMESTAMP - Mailing list pgsql-hackers

From Tom Lane
Subject Re: [SQL] [GENERAL] CURRENT_TIMESTAMP
Date
Msg-id 15244.1033686573@sss.pgh.pa.us
Whole thread Raw
In response to Re: [SQL] [GENERAL] CURRENT_TIMESTAMP  (Bruce Momjian <pgman@candle.pha.pa.us>)
Responses Re: [SQL] [GENERAL] CURRENT_TIMESTAMP  (Andrew Sullivan <andrew@libertyrms.info>)
Re: [SQL] [GENERAL] CURRENT_TIMESTAMP  (Bruce Momjian <pgman@candle.pha.pa.us>)
List pgsql-hackers
Bruce Momjian <pgman@candle.pha.pa.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-compliantmoreclosely matches other db's (but still not very closely)
 

Con:
breaks existing Postgres applications in non-obvious waysarguably 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


pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: Advice: Where could I be of help?
Next
From: Mike Benoit
Date:
Subject: Re: [GENERAL] Performance while loading data and indexing